Commit de316bb7237392b5e30392c97154c68744d5ff44
Merge branch 'fix/DEFECT-1492' into 'main_dev'
fix: 修复组态数据绑定参数设置名称回显问题 See merge request yunteng/thingskit-scada!119
Showing
1 changed file
with
20 additions
and
12 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)) { | 
| ... | ... | @@ -7561,7 +7561,9 @@ DataFormatPanel.prototype.addDataFont = function (container) { | 
| 7561 | 7561 | /** | 
| 7562 | 7562 | * @description 服务调用方式 | 
| 7563 | 7563 | */ | 
| 7564 | - CALL_TYPE: 'callType' | |
| 7564 | + CALL_TYPE: 'callType', | |
| 7565 | + | |
| 7566 | + SERVICE_NAME: 'serviceName' | |
| 7565 | 7567 | } | 
| 7566 | 7568 | |
| 7567 | 7569 | /** | 
| ... | ... | @@ -7689,6 +7691,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | 
| 7689 | 7691 | [enumConst.TCP_COMMAND]: content[enumConst.TCP_COMMAND], | 
| 7690 | 7692 | [enumConst.TRANSPORTTYPE]: content[enumConst.TRANSPORTTYPE], | 
| 7691 | 7693 | [enumConst.SERVICE]: content[enumConst.SERVICE], | 
| 7694 | + [enumConst.SERVICE_NAME]: content[enumConst.SERVICE_NAME], | |
| 7692 | 7695 | [enumConst.SERVICE_COMMAND]: content[enumConst.SERVICE_COMMAND], | 
| 7693 | 7696 | [enumConst.SERVICE_ORIGINAL_CONFIGURATION]: content[enumConst.SERVICE_ORIGINAL_CONFIGURATION], | 
| 7694 | 7697 | } | 
| ... | ... | @@ -7816,7 +7819,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | 
| 7816 | 7819 | if (commandType === COMMAND_TYPE_ENUM.CUSTOM) { | 
| 7817 | 7820 | fields = [...fields, enumConst.JSON_COMMAND, enumConst.TCP_COMMAND] | 
| 7818 | 7821 | } else if (commandType === COMMAND_TYPE_ENUM.SERVICE) { | 
| 7819 | - fields = [...fields, enumConst.CALL_TYPE, enumConst.IDENTIFIER, enumConst.SERVICE, enumConst.SERVICE_COMMAND, enumConst.SERVICE_ORIGINAL_CONFIGURATION] | |
| 7822 | + fields = [...fields, enumConst.CALL_TYPE, enumConst.IDENTIFIER, enumConst.SERVICE, enumConst.SERVICE_COMMAND, enumConst.SERVICE_ORIGINAL_CONFIGURATION, enumConst.SERVICE_NAME] | |
| 7820 | 7823 | } | 
| 7821 | 7824 | |
| 7822 | 7825 | return fields.reduce((prev, next) => ({ ...prev, [next]: formVal[next] }), {}) | 
| ... | ... | @@ -7954,7 +7957,8 @@ DataFormatPanel.prototype.addDataFont = function (container) { | 
| 7954 | 7957 | } else { | 
| 7955 | 7958 | form.val(enumActionEl.FORM_FILTER, { [enumConst.SERVICE_COMMAND]: needRender.functionJson?.inputData?.[0]?.serviceCommand || '' }) | 
| 7956 | 7959 | } | 
| 7957 | - form.val(enumActionEl.FORM_FILTER, { [enumConst.SERVICE_ORIGINAL_CONFIGURATION]: JSON.stringify(needRender.functionJson?.inputData || []), [enumConst.IDENTIFIER]: needRender?.identifier, [enumConst.CALL_TYPE]: needRender?.callType }) | |
| 7960 | + | |
| 7961 | + form.val(enumActionEl.FORM_FILTER, { [enumConst.SERVICE_ORIGINAL_CONFIGURATION]: JSON.stringify(needRender.functionJson?.inputData || []), [enumConst.IDENTIFIER]: needRender?.identifier, [enumConst.CALL_TYPE]: needRender?.callType, [enumConst.SERVICE_NAME]: needRender?.functionName }) | |
| 7958 | 7962 | }) | 
| 7959 | 7963 | |
| 7960 | 7964 | try { | 
| ... | ... | @@ -8095,6 +8099,9 @@ DataFormatPanel.prototype.addDataFont = function (container) { | 
| 8095 | 8099 | </div> | 
| 8096 | 8100 | </div> | 
| 8097 | 8101 | <div style="display: none;"> | 
| 8102 | + <input type="text" name="${enumConst.SERVICE_NAME}" placeholder="服务名称" /> | |
| 8103 | + </div> | |
| 8104 | + <div style="display: none;"> | |
| 8098 | 8105 | <input type="text" name="${enumConst.IDENTIFIER}" placeholder="标识符" /> | 
| 8099 | 8106 | </div> | 
| 8100 | 8107 | <div style="display: none;"> | 
| ... | ... | @@ -15954,8 +15961,9 @@ class HandleDataInteraction { | 
| 15954 | 15961 | const [err, res = []] = way === 'twoway' ? await to(ConfigurationNodeApi.deviceIsOnLine(deviceId)) : [null, [{ value: true }]] | 
| 15955 | 15962 | const { value } = res[0] || {} | 
| 15956 | 15963 | if (value) { | 
| 15957 | - await to(ConfigurationNodeApi.sendInstruction(way, deviceId, data)) | |
| 15958 | - UseLayUi.topSuccessMsg('下发成功~') | |
| 15964 | + const [err, response] = await to(ConfigurationNodeApi.sendInstruction(way, deviceId, data)) | |
| 15965 | + if (response?.rpcId) UseLayUi.topSuccessMsg('下发成功~') | |
| 15966 | + else UseLayUi.topErrorMsg('下发失败~') | |
| 15959 | 15967 | } else { | 
| 15960 | 15968 | UseLayUi.errorMsg('设备不在线!') | 
| 15961 | 15969 | } | 
| ... | ... | @@ -16298,7 +16306,7 @@ class HandleDataInteraction { | 
| 16298 | 16306 | { value: method, required: true, message: '未找到Modbus命令操作类型' }, | 
| 16299 | 16307 | { value, message: '下发值不是一个数字', validator(value) { return value.toString().trim() && !isNaN(value) } }, | 
| 16300 | 16308 | ...(method == '05' ? [{ value, message: '下发类型必须为0或1', validator(value) { return value == 0 || value == 1 } }] : []), | 
| 16301 | - ...(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) } }] : []), | |
| 16302 | 16310 | ...(method == '16' ? [{ value, message: '下发类型精确到两位小数', validator(value) { return /^-?\d+(\.\d{0,2})?$/.test(Math.floor(Number(value)) * zoomFactor + getNumberFloatPart(Number(value)) * zoomFactor) } }] : []) | 
| 16303 | 16311 | ]) | 
| 16304 | 16312 | |
| ... | ... | @@ -16445,7 +16453,7 @@ class HandleDataInteraction { | 
| 16445 | 16453 | if (content.commandType == '0' || content.commandType == '2') { | 
| 16446 | 16454 | name = `${deviceName || ''} - ${attrName || ''}` | 
| 16447 | 16455 | } else { | 
| 16448 | - name = `${deviceName || ''} - ${content?.service}` | |
| 16456 | + name = `${deviceName || ''} - ${content?.serviceName}` | |
| 16449 | 16457 | } | 
| 16450 | 16458 | layer.open({ | 
| 16451 | 16459 | title: `参数设置 - ${name}`, | ... | ... |