Commit 8a0ebdb83f9a96fd156807503c1989be8739de60
1 parent
49ad777a
perf: switch component add confirm modal
Showing
1 changed file
with
31 additions
and
33 deletions
@@ -14070,46 +14070,44 @@ class HandleDataInteraction { | @@ -14070,46 +14070,44 @@ class HandleDataInteraction { | ||
14070 | } | 14070 | } |
14071 | } | 14071 | } |
14072 | 14072 | ||
14073 | - // TODO switch component send command | ||
14074 | - function getSwitchComponentBindValue() { | ||
14075 | - return currentNode.getAttribute(SWITCH_VALUE) | ||
14076 | - } | ||
14077 | - | ||
14078 | - async function handleSwitchComponent() { | 14073 | + function handleSwitchComponent() { |
14079 | const state = currentNode.getAttribute(SWITCH_STATE) | 14074 | const state = currentNode.getAttribute(SWITCH_STATE) |
14080 | const value = currentNode.getAttribute(SWITCH_VALUE) | 14075 | const value = currentNode.getAttribute(SWITCH_VALUE) |
14081 | if (state === SWITCH_STATE_NONE) { | 14076 | if (state === SWITCH_STATE_NONE) { |
14082 | return | 14077 | return |
14083 | } | 14078 | } |
14079 | + layer.confirm('是否确认下发命令?', async function (index) { | ||
14080 | + let { deviceId, attr } = contentData.dataSources.find(item => item.nodeId === nodeId) || {} | ||
14081 | + let { command, way } = content | ||
14082 | + const validate = new Validate([ | ||
14083 | + { value, required: true, message: '下发值是必填项' }, | ||
14084 | + { value: deviceId, required: true, message: '未绑定设备' }, | ||
14085 | + { value: way, required: true, message: '未绑定指令下发方式(单向/双向)' }, | ||
14086 | + { value: command, required: true, message: '未设置下发命令' }, | ||
14087 | + { value: attr, required: true, message: '未绑定设备属性' }, | ||
14088 | + ]) | ||
14089 | + if (!validate.begin()) return | ||
14090 | + if (typeof command === 'string') command = jsonParse(command) | ||
14091 | + const data = replaceAttrPlaceholder(command, attr, value) | ||
14092 | + const instructionData = { | ||
14093 | + method: "methodThingskit", | ||
14094 | + params: data, | ||
14095 | + } | ||
14084 | 14096 | ||
14085 | - let { deviceId, attr } = contentData.dataSources.find(item => item.nodeId === nodeId) || {} | ||
14086 | - let { command, way } = content | ||
14087 | - const validate = new Validate([ | ||
14088 | - { value, required: true, message: '下发值是必填项' }, | ||
14089 | - { value: deviceId, required: true, message: '未绑定设备' }, | ||
14090 | - { value: way, required: true, message: '未绑定指令下发方式(单向/双向)' }, | ||
14091 | - { value: command, required: true, message: '未设置下发命令' }, | ||
14092 | - { value: attr, required: true, message: '未绑定设备属性' }, | ||
14093 | - ]) | ||
14094 | - if (!validate.begin()) return | ||
14095 | - if (typeof command === 'string') command = jsonParse(command) | ||
14096 | - const data = replaceAttrPlaceholder(command, attr, value) | ||
14097 | - const instructionData = { | ||
14098 | - method: "methodThingskit", | ||
14099 | - params: data, | ||
14100 | - } | ||
14101 | - | ||
14102 | - const [err, res = []] = await to(ConfigurationNodeApi.deviceIsOnLine(deviceId)) | ||
14103 | - const { value: onlineFlag } = res[0] || {} | ||
14104 | - if (onlineFlag) { | ||
14105 | - const [err, res] = await to(ConfigurationNodeApi.sendInstruction(way, deviceId, instructionData)) | ||
14106 | - if (!err) { | ||
14107 | - UseLayUi.topSuccessMsg('操作成功') | ||
14108 | - callback() | 14097 | + const [err, res = []] = await to(ConfigurationNodeApi.deviceIsOnLine(deviceId)) |
14098 | + const { value: onlineFlag } = res[0] || {} | ||
14099 | + if (onlineFlag) { | ||
14100 | + const [err, res] = await to(ConfigurationNodeApi.sendInstruction(way, deviceId, instructionData)) | ||
14101 | + if (!err) { | ||
14102 | + UseLayUi.topSuccessMsg('操作成功') | ||
14103 | + layer.close(index); | ||
14104 | + } | ||
14105 | + } else { | ||
14106 | + UseLayUi.topErrorMsg('设备不在线!') | ||
14109 | } | 14107 | } |
14110 | - } else { | ||
14111 | - UseLayUi.topErrorMsg('设备不在线!') | ||
14112 | - } | 14108 | + }); |
14109 | + | ||
14110 | + | ||
14113 | } | 14111 | } |
14114 | 14112 | ||
14115 | function replaceAttrPlaceholder(oldValue = {}, replaceAttr = '', replaceValue = '', newValue = {},) { | 14113 | function replaceAttrPlaceholder(oldValue = {}, replaceAttr = '', replaceValue = '', newValue = {},) { |