Commit 553f3388bcedbb9cbccc3d93ee6bc7ab2a4b2721
1 parent
26150ef1
fix: 修复下发modbus命令功能码为06时下发命令需大于等于0
Showing
1 changed file
with
11 additions
and
10 deletions
... | ... | @@ -7140,7 +7140,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
7140 | 7140 | */ |
7141 | 7141 | async function getAllGatewayDeviceAndConnectionDevice() { |
7142 | 7142 | if (!recordData.orgId) return |
7143 | - const [err, res] = await to(ConfigurationNodeApi.getAllGatewayDeviceAndConnectionDevice(recordData.orgId)) | |
7143 | + const [err, res] = await to(ConfigurationNodeApi.getMeetConditionsDevice({ organizationId: recordData.orgId })) | |
7144 | 7144 | allDeviceOptions = res |
7145 | 7145 | mountAllDeviceToSelect() |
7146 | 7146 | } |
... | ... | @@ -7149,7 +7149,8 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
7149 | 7149 | * @description 将设备选项挂载到节点中 |
7150 | 7150 | */ |
7151 | 7151 | function mountAllDeviceToSelect() { |
7152 | - const generateOption = UseLayUi.generateOptionTemplate({ dataSource: allDeviceOptions, alias: 'alias' }) | |
7152 | + const generateOption = UseLayUi.generateOptionTemplate({ dataSource: allDeviceOptions, labelField: 'name', valueField: 'tbDeviceId', alias: 'alias' }) | |
7153 | + | |
7153 | 7154 | $(`#${enumActionEl.DEVICE_DATA_BODY_EL}`).find(`select[name="${enumConst.DEVICE}"]`).html(generateOption) |
7154 | 7155 | UseLayUi.nextTick(() => form.render('select')) |
7155 | 7156 | } |
... | ... | @@ -7257,7 +7258,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
7257 | 7258 | function createAddRowListenEvent() { |
7258 | 7259 | $(`#${enumActionEl.ADD_ROW_EL}`).on('click', () => { |
7259 | 7260 | addRecord() |
7260 | - const generateOption = UseLayUi.generateOptionTemplate({ dataSource: allDeviceOptions, alias: 'alias' }) | |
7261 | + const generateOption = UseLayUi.generateOptionTemplate({ dataSource: allDeviceOptions, labelField: 'name', valueField: 'tbDeviceId', alias: 'alias' }) | |
7261 | 7262 | $(`#${enumActionEl.DEVICE_DATA_BODY_EL} tr`).last().find(`select[name="${enumConst.DEVICE}"]`).html(generateOption) |
7262 | 7263 | form.render('select') |
7263 | 7264 | }) |
... | ... | @@ -7267,7 +7268,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
7267 | 7268 | * @description 设置设备选项 |
7268 | 7269 | */ |
7269 | 7270 | function setDeviceOptions(row) { |
7270 | - const generateOption = UseLayUi.generateOptionTemplate({ dataSource: allDeviceOptions, alias: 'alias' }) | |
7271 | + const generateOption = UseLayUi.generateOptionTemplate({ dataSource: allDeviceOptions, labelField: 'name', valueField: 'tbDeviceId', alias: 'alias' }) | |
7271 | 7272 | $(`#${enumActionEl.DEVICE_DATA_BODY_EL} tr[lay-filter="${getRowFilter(row)}"]`).find(`select[name="${enumConst.DEVICE}"]`).html(generateOption) |
7272 | 7273 | } |
7273 | 7274 | |
... | ... | @@ -7348,7 +7349,6 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
7348 | 7349 | |
7349 | 7350 | const formModel = form.val(enumActionEl.FORM_FILTER) |
7350 | 7351 | if (!formModel[enumConst.ORG_ID]) return false |
7351 | - | |
7352 | 7352 | for (let i = 0; i < tableData.length; i++) { |
7353 | 7353 | const { value } = tableData[i] |
7354 | 7354 | if (!isJson(value)) { |
... | ... | @@ -7824,7 +7824,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
7824 | 7824 | |
7825 | 7825 | return fields.reduce((prev, next) => ({ ...prev, [next]: formVal[next] }), {}) |
7826 | 7826 | } |
7827 | - | |
7827 | + | |
7828 | 7828 | const data = { |
7829 | 7829 | type: event.data.type, |
7830 | 7830 | configurationId, |
... | ... | @@ -15961,8 +15961,9 @@ class HandleDataInteraction { |
15961 | 15961 | const [err, res = []] = way === 'twoway' ? await to(ConfigurationNodeApi.deviceIsOnLine(deviceId)) : [null, [{ value: true }]] |
15962 | 15962 | const { value } = res[0] || {} |
15963 | 15963 | if (value) { |
15964 | - await to(ConfigurationNodeApi.sendInstruction(way, deviceId, data)) | |
15965 | - UseLayUi.topSuccessMsg('下发成功~') | |
15964 | + const [err, response] = await to(ConfigurationNodeApi.sendInstruction(way, deviceId, data)) | |
15965 | + if (response?.rpcId) UseLayUi.topSuccessMsg('下发成功~') | |
15966 | + else UseLayUi.topErrorMsg('下发失败~') | |
15966 | 15967 | } else { |
15967 | 15968 | UseLayUi.errorMsg('设备不在线!') |
15968 | 15969 | } |
... | ... | @@ -16305,7 +16306,7 @@ class HandleDataInteraction { |
16305 | 16306 | { value: method, required: true, message: '未找到Modbus命令操作类型' }, |
16306 | 16307 | { value, message: '下发值不是一个数字', validator(value) { return value.toString().trim() && !isNaN(value) } }, |
16307 | 16308 | ...(method == '05' ? [{ value, message: '下发类型必须为0或1', validator(value) { return value == 0 || value == 1 } }] : []), |
16308 | - ...(method == '06' ? [{ value, message: `下发类型必须为整型,缩放因子为${zoomFactor}`, validator(value) { return !isNaN(value) && getNumberFloatPart(Number(value)) * zoomFactor % 1 === 0 } }, { value: Number(value) * zoomFactor, message: `最大值不能超过65535,缩放因子为${zoomFactor}`, validator(value) { return Number(value) <= parseInt('ffff', 16) } }] : []), | |
16309 | + ...(method == '06' ? [{ value, message: `下发类型必须为正整型,缩放因子为${zoomFactor}`, validator(value) { return !isNaN(value) && value >= 0 && getNumberFloatPart(Number(value)) * zoomFactor % 1 === 0 } }, { value: Number(value) * zoomFactor, message: `最大值不能超过65535,缩放因子为${zoomFactor}`, validator(value) { return Number(value) <= parseInt('ffff', 16) } }] : []), | |
16309 | 16310 | ...(method == '16' ? [{ value, message: '下发类型精确到两位小数', validator(value) { return /^-?\d+(\.\d{0,2})?$/.test(Math.floor(Number(value)) * zoomFactor + getNumberFloatPart(Number(value)) * zoomFactor) } }] : []) |
16310 | 16311 | ]) |
16311 | 16312 | |
... | ... | @@ -16453,7 +16454,7 @@ class HandleDataInteraction { |
16453 | 16454 | name = `${deviceName || ''} - ${attrName || ''}` |
16454 | 16455 | } else { |
16455 | 16456 | name = `${deviceName || ''} - ${content?.serviceName}` |
16456 | - } | |
16457 | + } | |
16457 | 16458 | layer.open({ |
16458 | 16459 | title: `参数设置 - ${name}`, |
16459 | 16460 | content: createContent(), | ... | ... |