diff --git a/src/views/rule-engine/Scene/Save/Device/AddModal.vue b/src/views/rule-engine/Scene/Save/Device/AddModal.vue index 2fbd6cf7..c9fd3dd6 100644 --- a/src/views/rule-engine/Scene/Save/Device/AddModal.vue +++ b/src/views/rule-engine/Scene/Save/Device/AddModal.vue @@ -59,7 +59,7 @@ import { detail as deviceDetail } from '@/api/device/instance' import Product from './Product.vue' import DeviceSelect from './DeviceSelect.vue' import Type from './Type.vue' -import { continuousValue, timeUnitEnum } from '@/views/rule-engine/Scene/Save/components/Timer/util' +import {continuousValue, handleTimerOptions, timeUnitEnum} from '@/views/rule-engine/Scene/Save/components/Timer/util' type Emit = { (e: 'cancel'): void @@ -161,46 +161,50 @@ const handleOptions = (data: TriggerDeviceOptions) => { if (data.timer) { const _timer = data.timer; - if (_timer.trigger === 'cron') { - _options.time = _timer.cron; - } else { - // console.log('continuousValue', continuousValue(_timer.when! || [], _timer!.trigger)) - let whenStr = '每天'; - if (_timer.when!.length) { - whenStr = _timer!.trigger === 'week' ? '每周' : '每月'; - const whenStrArr = continuousValue(_timer.when! || [], _timer!.trigger); - const whenStrArr3 = whenStrArr.splice(0, 3); - whenStr += whenStrArr3.join('、'); - whenStr += `等${_timer.when!.length}天`; - } - _options.when = whenStr; - if (_timer.once) { - _options.time = _timer.once.time + ' 执行1次'; - } else if (_timer.period) { - _options.time = _timer.period.from + '-' + _timer.period.to; - _options.extraTime = `每${_timer.period.every}${timeUnitEnum[_timer.period.unit]}执行1次`; - } - } - - if (data.operator === 'online') { - _options.type = '上线'; - _options.action = ''; - _options.typeIcon = 'icon-a-Group4713'; - } - - if (data.operator === 'offline') { - _options.type = '离线'; - _options.action = ''; - _options.typeIcon = 'icon-a-Group4892'; - } - - if (data.operator === 'reportProperty') { - _options.type = '属性上报'; - _options.action = ''; - _options.typeIcon = 'icon-file-upload-outline'; - } - return _options; + const { time, extraTime, when } = handleTimerOptions(_timer) + _options.when = when; + _options.time = time; + _options.extraTime = extraTime; + // if (_timer.trigger === 'cron') { + // _options.time = _timer.cron; + // } else { + // // console.log('continuousValue', continuousValue(_timer.when! || [], _timer!.trigger)) + // let whenStr = '每天'; + // if (_timer.when!.length) { + // whenStr = _timer!.trigger === 'week' ? '每周' : '每月'; + // const whenStrArr = continuousValue(_timer.when! || [], _timer!.trigger); + // const whenStrArr3 = whenStrArr.splice(0, 3); + // whenStr += whenStrArr3.join('、'); + // whenStr += `等${_timer.when!.length}天`; + // } + // _options.when = whenStr; + // if (_timer.once) { + // _options.time = _timer.once.time + ' 执行1次'; + // } else if (_timer.period) { + // _options.time = _timer.period.from + '-' + _timer.period.to; + // _options.extraTime = `每${_timer.period.every}${timeUnitEnum[_timer.period.unit]}执行1次`; + // } + // } } + + if (data.operator === 'online') { + _options.type = '上线'; + _options.action = ''; + _options.typeIcon = 'icon-a-Group4713'; + } + + if (data.operator === 'offline') { + _options.type = '离线'; + _options.action = ''; + _options.typeIcon = 'icon-a-Group4892'; + } + + if (data.operator === 'reportProperty') { + _options.type = '属性上报'; + _options.action = ''; + _options.typeIcon = 'icon-file-upload-outline'; + } + return _options; } const prev = () => { diff --git a/src/views/rule-engine/Scene/Save/Timer/AddModel.vue b/src/views/rule-engine/Scene/Save/Timer/AddModel.vue new file mode 100644 index 00000000..db8b21a9 --- /dev/null +++ b/src/views/rule-engine/Scene/Save/Timer/AddModel.vue @@ -0,0 +1,65 @@ + + + + + \ No newline at end of file diff --git a/src/views/rule-engine/Scene/Save/Timer/index.vue b/src/views/rule-engine/Scene/Save/Timer/index.vue index ee5c1f24..36e893f8 100644 --- a/src/views/rule-engine/Scene/Save/Timer/index.vue +++ b/src/views/rule-engine/Scene/Save/Timer/index.vue @@ -1,30 +1,67 @@