Commit 8a0e6a23893c31af57d81da15bfb6a9526ff3c29
Merge branch 'fix/DEFECT-1475' into 'main_dev'
属性下发时int和double相乘缩放因子 See merge request yunteng/thingskit-front!789
Showing
1 changed file
with
17 additions
and
6 deletions
@@ -30,7 +30,9 @@ | @@ -30,7 +30,9 @@ | ||
30 | const modBUSForm = ref<any>({}); | 30 | const modBUSForm = ref<any>({}); |
31 | const isShowModBUS = ref<Boolean>(false); //用于判断标识符类型是否时自定义还是modBUS | 31 | const isShowModBUS = ref<Boolean>(false); //用于判断标识符类型是否时自定义还是modBUS |
32 | const isShowActionType = ref<Boolean>(true); //判断设备属性标识符为modBus时没有填写扩展描述 | 32 | const isShowActionType = ref<Boolean>(true); //判断设备属性标识符为modBus时没有填写扩展描述 |
33 | - const formField = ref(''); | 33 | + const formField = ref(''); //存一个表单取值的field |
34 | + const zoomFactorValue = ref<number>(1); //缩放因子 | ||
35 | + const isShowMultiply = ref<Boolean>(false); // 只有tcp --> int和double类型才相乘缩放因子 | ||
34 | 36 | ||
35 | const [register] = useModalInner(async (params: ModalParamsType<DeviceModelOfMatterAttrs>) => { | 37 | const [register] = useModalInner(async (params: ModalParamsType<DeviceModelOfMatterAttrs>) => { |
36 | const { record } = params; | 38 | const { record } = params; |
@@ -39,8 +41,11 @@ | @@ -39,8 +41,11 @@ | ||
39 | const { type } = dataType || {}; | 41 | const { type } = dataType || {}; |
40 | const { codeType, deviceProfile } = deviceDetail || {}; | 42 | const { codeType, deviceProfile } = deviceDetail || {}; |
41 | const { transportType } = deviceProfile || {}; | 43 | const { transportType } = deviceProfile || {}; |
42 | - const { registerAddress, actionType } = extensionDesc || {}; | 44 | + const { registerAddress, actionType, zoomFactor } = extensionDesc || {}; //获取扩展描述内容 |
45 | + | ||
43 | formField.value = identifier; | 46 | formField.value = identifier; |
47 | + zoomFactorValue.value = zoomFactor ? Number(zoomFactor) : 1; | ||
48 | + isShowMultiply.value = type == 'INT' || type == 'DOUBLE' ? true : false; | ||
44 | 49 | ||
45 | let schemas = [{ dataType: dataType, identifier, functionName: name } as StructJSON]; | 50 | let schemas = [{ dataType: dataType, identifier, functionName: name } as StructJSON]; |
46 | 51 | ||
@@ -60,7 +65,7 @@ | @@ -60,7 +65,7 @@ | ||
60 | modBUSForm.value = { | 65 | modBUSForm.value = { |
61 | crc: 'CRC_16_LOWER', | 66 | crc: 'CRC_16_LOWER', |
62 | deviceCode: '01', | 67 | deviceCode: '01', |
63 | - method: actionType, | 68 | + method: actionType == '16' ? '10' : actionType, |
64 | registerAddress, | 69 | registerAddress, |
65 | registerNumber: 1, | 70 | registerNumber: 1, |
66 | registerValues: [], | 71 | registerValues: [], |
@@ -104,11 +109,17 @@ | @@ -104,11 +109,17 @@ | ||
104 | if (!flag) return; | 109 | if (!flag) return; |
105 | 110 | ||
106 | const oldValue = getFieldsValue()[unref(formField)]; | 111 | const oldValue = getFieldsValue()[unref(formField)]; |
107 | - modBUSForm.value.registerValues = [oldValue]; | ||
108 | modBUSForm.value.registerNumber = 1; | 112 | modBUSForm.value.registerNumber = 1; |
113 | + modBUSForm.value.registerValues = [oldValue]; | ||
114 | + if (unref(isShowMultiply) && unref(modBUSForm).method == '06') { | ||
115 | + //bool类型的就不用去乘缩放因子了 | ||
116 | + modBUSForm.value.registerValues = [oldValue * unref(zoomFactorValue)]; | ||
117 | + } | ||
109 | 118 | ||
110 | - if (unref(modBUSForm).method == '16') { | ||
111 | - const newValue = getArray(SingleToHex(oldValue)); | 119 | + if (unref(modBUSForm).method == '16' || unref(modBUSForm).method == '10') { |
120 | + const newValue = getArray( | ||
121 | + SingleToHex(unref(isShowMultiply) ? oldValue * unref(zoomFactorValue) : oldValue) | ||
122 | + ); | ||
112 | modBUSForm.value.registerValues = newValue; | 123 | modBUSForm.value.registerValues = newValue; |
113 | modBUSForm.value.registerNumber = 2; | 124 | modBUSForm.value.registerNumber = 2; |
114 | modBUSForm.value.method = '10'; | 125 | modBUSForm.value.method = '10'; |