Commit 4a513b7a7901870d1ca56c1044e17f59caa34c63
1 parent
0770fed5
fix: swtich component send command not send negation value
Showing
2 changed files
with
24 additions
and
35 deletions
... | ... | @@ -260,9 +260,15 @@ |
260 | 260 | SWITCH_VALUE: 'switchValue', |
261 | 261 | |
262 | 262 | /** |
263 | + * @description 开关组件 下发值 | |
264 | + */ | |
265 | + SWITCH_SEND_VALUE: 'switchSendValue', | |
266 | + | |
267 | + /** | |
263 | 268 | * @description 开关组件状态 {true | false | null} |
264 | 269 | */ |
265 | - SWITCH_STATE: 'switchState' | |
270 | + SWITCH_STATE: 'switchState', | |
271 | + | |
266 | 272 | } |
267 | 273 | |
268 | 274 | Sidebar.prototype.enumComponentTypeValue = { | ... | ... |
... | ... | @@ -13431,17 +13431,23 @@ class HandleDataSource { |
13431 | 13431 | const { condition = [] } = switchConfig || {} |
13432 | 13432 | let reg = /image=[^;]+/g |
13433 | 13433 | let flag = false |
13434 | - const { SWITCH_STATE, SWITCH_VALUE } = Sidebar.prototype.enumComponentType | |
13434 | + const { SWITCH_STATE, SWITCH_VALUE, SWITCH_SEND_VALUE } = Sidebar.prototype.enumComponentType | |
13435 | 13435 | const { SWITCH_STATE_NONE } = Sidebar.prototype.enumComponentTypeValue |
13436 | + | |
13437 | + const getSendValue = (type) => { | |
13438 | + return (condition.find(item => item.type !== type) || {}).value | |
13439 | + } | |
13436 | 13440 | for (const item of condition) { |
13437 | 13441 | const { value, imagePath, type } = item || {} |
13438 | 13442 | if (Number(receiveValue) === Number(value)) { |
13439 | 13443 | flag = true |
13440 | 13444 | this.updatePage(() => { |
13441 | 13445 | const style = node.getStyle() |
13446 | + const sendValue = getSendValue(type) | |
13442 | 13447 | node.setStyle(style.replace(reg, `image=${imagePath}`)) |
13443 | 13448 | node.setAttribute('label', '') |
13444 | 13449 | node.setAttribute(SWITCH_VALUE, receiveValue) |
13450 | + node.setAttribute(SWITCH_SEND_VALUE, sendValue) | |
13445 | 13451 | node.setAttribute(SWITCH_STATE, type) |
13446 | 13452 | }, node) |
13447 | 13453 | break |
... | ... | @@ -13456,6 +13462,7 @@ class HandleDataSource { |
13456 | 13462 | node.setAttribute(SWITCH_STATE, SWITCH_STATE_NONE) |
13457 | 13463 | }, node) |
13458 | 13464 | } |
13465 | + | |
13459 | 13466 | } |
13460 | 13467 | |
13461 | 13468 | handleParamSettingButton(message) { |
... | ... | @@ -14159,8 +14166,8 @@ class HandleDataInteraction { |
14159 | 14166 | */ |
14160 | 14167 | paramsSetting(nodeId, content) { |
14161 | 14168 | const { layer, jquery: $, form } = layui |
14162 | - const { SWITCH_STATE, SWITCH_VALUE, SWITCH, PARAMS_SETTING_BUTTON } = Sidebar.prototype.enumComponentType | |
14163 | - const { SWITCH_STATE_ENABLED, SWITCH_STATE_NONE, SWITCH_STATE_CLOSE } = Sidebar.prototype.enumComponentTypeValue | |
14169 | + const { SWITCH_STATE, SWITCH_VALUE, SWITCH_SEND_VALUE, SWITCH, PARAMS_SETTING_BUTTON } = Sidebar.prototype.enumComponentType | |
14170 | + const { SWITCH_STATE_NONE } = Sidebar.prototype.enumComponentTypeValue | |
14164 | 14171 | const { COMPONENT_TYPE } = Sidebar.prototype.enumCellBasicAttribute |
14165 | 14172 | const contentData = this.contentData |
14166 | 14173 | const currentNode = this.contentAllCell.find(item => item.id === nodeId) |
... | ... | @@ -14204,39 +14211,12 @@ class HandleDataInteraction { |
14204 | 14211 | |
14205 | 14212 | function handleSwitchComponent() { |
14206 | 14213 | const state = currentNode.getAttribute(SWITCH_STATE) |
14207 | - const value = currentNode.getAttribute(SWITCH_VALUE) | |
14214 | + const value = currentNode.getAttribute(SWITCH_SEND_VALUE) | |
14208 | 14215 | if (state === SWITCH_STATE_NONE) { |
14209 | 14216 | return |
14210 | 14217 | } |
14211 | 14218 | layer.confirm('是否确认下发命令?', async function (index) { |
14212 | - let { deviceId, attr } = contentData.dataSources.find(item => item.nodeId === nodeId) || {} | |
14213 | - let { command, way } = content | |
14214 | - const validate = new Validate([ | |
14215 | - { value, required: true, message: '下发值是必填项' }, | |
14216 | - { value: deviceId, required: true, message: '未绑定设备' }, | |
14217 | - { value: way, required: true, message: '未绑定指令下发方式(单向/双向)' }, | |
14218 | - { value: command, required: true, message: '未设置下发命令' }, | |
14219 | - { value: attr, required: true, message: '未绑定设备属性' }, | |
14220 | - ]) | |
14221 | - if (!validate.begin()) return | |
14222 | - if (typeof command === 'string') command = jsonParse(command) | |
14223 | - const data = replaceAttrPlaceholder(command, attr, value) | |
14224 | - const instructionData = { | |
14225 | - method: "methodThingskit", | |
14226 | - params: data, | |
14227 | - } | |
14228 | - | |
14229 | - const [err, res = []] = await to(ConfigurationNodeApi.deviceIsOnLine(deviceId)) | |
14230 | - const { value: onlineFlag } = res[0] || {} | |
14231 | - if (onlineFlag) { | |
14232 | - const [err, res] = await to(ConfigurationNodeApi.sendInstruction(way, deviceId, instructionData)) | |
14233 | - if (!err) { | |
14234 | - UseLayUi.topSuccessMsg('操作成功') | |
14235 | - layer.close(index); | |
14236 | - } | |
14237 | - } else { | |
14238 | - UseLayUi.topErrorMsg('设备不在线!') | |
14239 | - } | |
14219 | + defaultHandler(value, () => layer.close(index)) | |
14240 | 14220 | }); |
14241 | 14221 | |
14242 | 14222 | |
... | ... | @@ -14263,6 +14243,10 @@ class HandleDataInteraction { |
14263 | 14243 | const submitThrottle = this.throttle(submit) |
14264 | 14244 | async function submit(callback) { |
14265 | 14245 | const { value } = form.val(enumActionEl.ISSUED_WAY_FILTER) |
14246 | + defaultHandler(value, callback) | |
14247 | + } | |
14248 | + | |
14249 | + async function defaultHandler(value, callback) { | |
14266 | 14250 | let { deviceId, attr } = contentData.dataSources.find(item => item.nodeId === nodeId) || {} |
14267 | 14251 | let { command, way } = content |
14268 | 14252 | const validate = new Validate([ |
... | ... | @@ -14286,7 +14270,7 @@ class HandleDataInteraction { |
14286 | 14270 | const [err, res] = await to(ConfigurationNodeApi.sendInstruction(way, deviceId, instructionData)) |
14287 | 14271 | if (!err) { |
14288 | 14272 | UseLayUi.topSuccessMsg('操作成功') |
14289 | - callback() | |
14273 | + callback && typeof callback === 'function' && callback() | |
14290 | 14274 | } |
14291 | 14275 | } else { |
14292 | 14276 | UseLayUi.topErrorMsg('设备不在线!') |
... | ... | @@ -14329,7 +14313,6 @@ class HandleDataInteraction { |
14329 | 14313 | |
14330 | 14314 | } |
14331 | 14315 | } |
14332 | - console.log('enter') | |
14333 | 14316 | startProcess() |
14334 | 14317 | } |
14335 | 14318 | } | ... | ... |