Commit a67e6b94c9dc7e7664ef077ae3a25820fb03b44f

Authored by xp.Huang
2 parents b1aa738a 82c8e16c

Merge branch 'fix/device-code-range' into 'main_dev'

fix: 修复下发命令为负数时无法下发及非TCP设备命令下发方式隐藏modbus选项

See merge request yunteng/thingskit-scada!99
... ... @@ -7900,6 +7900,11 @@ DataFormatPanel.prototype.addDataFont = function (container) {
7900 7900 })
7901 7901 const formValue = form.val(enumActionEl.FORM_FILTER)
7902 7902
  7903 + if (transportType != 'TCP') {
  7904 + $(`#${enumActionEl.COMMAND_TYPE_EL} dl dd[lay-value="2"]`).remove()
  7905 + $(`#${enumActionEl.COMMAND_TYPE_EL} select option[value="2"]`).remove()
  7906 + }
  7907 +
7903 7908 controlFormDisplay(value, formValue)
7904 7909 })
7905 7910
... ... @@ -7956,6 +7961,7 @@ DataFormatPanel.prototype.addDataFont = function (container) {
7956 7961 }
7957 7962
7958 7963 form.render('select', enumActionEl.FORM_FILTER)
  7964 +
7959 7965 } catch (error) {
7960 7966 throw error
7961 7967 }
... ... @@ -9459,7 +9465,8 @@ DataFormatPanel.prototype.addDataFont = function (container) {
9459 9465
9460 9466 function proxyFn(fn) {
9461 9467 return (...args) => {
9462   - const currentDataSource = getDataSourceBindValue() || {}
  9468 + let currentDataSource = getValueOnSubmit(form.val(CONTAINER_FILTER)) || {}
  9469 + currentDataSource = currentDataSource.dataSources || {}
9463 9470 if (currentDataSource.deviceProfileId && currentDataSource.deviceType && currentDataSource.orgId) {
9464 9471 to(ConfigurationNodeApi.updateNodeInfo({
9465 9472 configurationId,
... ... @@ -16231,19 +16238,18 @@ class HandleDataInteraction {
16231 16238 if (commandType == enumCommandType.MODBUS) {
16232 16239 value = data[enumActionEl.CUSTOM_TCP_COMMAND]
16233 16240 const { method, deviceCode } = additional || {}
16234   -
16235 16241 const validate = new Validate([
16236 16242 { value: deviceCode, required: true, message: '未找到设备地址码' },
16237 16243 { value: method, required: true, message: '未找到Modbus命令操作类型' },
16238 16244 { value, required: true, message: '下发值是必填项' },
16239 16245 ...(method == '05' ? [{ value, message: '下发类型必须为0或1', validator(value) { return value == 0 || value == 1 } }] : []),
16240 16246 ...(method == '06' ? [{ value, message: '下发类型必须为整型', validator(value) { return !isNaN(value) && Number(value) % 1 === 0 } }, { value, message: '最大值不能超过65535', validator(value) { return Number(value) <= parseInt('ffff', 16) } }] : []),
16241   - ...(method == '16' ? [{ value, message: '下发类型精确到两位小数', validator(value) { return /^\d+(\.\d{0,2})?$/.test(value) } }] : [])
  16247 + ...(method == '16' ? [{ value, message: '下发类型精确到两位小数', validator(value) { return /^-?\d+(\.\d{0,2})?$/.test(value) } }] : [])
16242 16248 ])
16243 16249
16244 16250 if (method == '16') {
16245   - const hexValue = UseLayUi.numberToHex(value).split(' ').slice(0, 2).join('')
16246   - value = [parseInt(hexValue, 16), 0]
  16251 + const hexValue = UseLayUi.numberToHex(value).split(' ')
  16252 + value = [parseInt(hexValue.slice(0, 2), 16), parseInt(hexValue.slice(2, 4), 16)]
16247 16253 }
16248 16254
16249 16255 if (validate.begin()) flag = true
... ...