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 @@