Selaa lähdekoodia

fix(power): frequency error

Casper Dai 3 vuotta sitten
vanhempi
sitoutus
f141e8706d

+ 20 - 7
src/views/device/detail/components/DeviceInvoke/MultifunctionCardPowerSwitch.vue

@@ -7,7 +7,7 @@
     <div class="has-padding u-color--black u-bold">开关电源</div>
     <el-dialog
       :visible.sync="show"
-      custom-class="c-dialog medium"
+      custom-class="c-dialog lg"
       title="开关电源"
       :before-close="onCloseDialog"
     >
@@ -671,17 +671,28 @@ export default {
     },
     transfromDataToTask ({ type, flag, powerIndex, enable, startTime, endTime, cron }) {
       const strArr = cron[0].split(' ')
-      const freq = strArr[3] === '*' ? strArr[5] === '?' ? Freq.DAILY : Freq.WEEKLY : Freq.ONCE
+      const freq = strArr[3] === '*' && strArr[5] === '?'
+        ? Freq.DAILY
+        : strArr[5] === '?'
+          ? Freq.ONCE
+          : Freq.WEEKLY
       return {
         type, flag, powerIndex, enable, startTime, endTime,
         freq,
-        freqInfo: freq === Freq.ONCE ? '单次' : this.getFreqInfo(strArr[5]),
+        freqInfo: this.getFreqInfo(freq, strArr[5]),
         dayOfWeek: freq === Freq.WEEKLY ? strArr[5] : '',
         executeTime: `${strArr[2].padStart(2, '0')}:${strArr[1].padStart(2, '0')}:${strArr[0].padStart(2, '0')}`
       }
     },
-    getFreqInfo (val) {
-      return !val || val === '?' ? '每天' : `每周${val.split(',').map(val => ['日', '一', '二', '三', '四', '五', '六'][Number(val) - 1])}`
+    getFreqInfo (freq, val = '') {
+      switch (freq) {
+        case Freq.ONCE:
+          return '单次'
+        case Freq.DAILY:
+          return '每天'
+        default:
+          return `每周${val.split(',').map(val => ['', '一', '二', '三', '四', '五', '六', '日'][val])}`
+      }
     },
     getTasks ({ type, action, enable }) {
       return Promise.resolve({
@@ -822,6 +833,8 @@ export default {
         }
       })
     },
+    // dayOfWeek,周一至周日对应1~7
+    // 最终cron数据对应的为秒、分、时、日、月、星期、年,例如'30 0 12 14 11 ? 2022'
     getCron (executeTime, freq, startTime, dayOfWeek) {
       let suffix = null
       switch (freq) {
@@ -845,7 +858,7 @@ export default {
     },
     onToggle (task) {
       this.hasChanged = true
-      task.flag = `${Date.now}`
+      task.flag = `${Date.now()}`
       task.enable = !task.enable
     },
     onAdd () {
@@ -912,7 +925,7 @@ export default {
         powerIndex: 0,
         action: this.taskAction,
         freq,
-        freqInfo: freq === Freq.ONCE ? '单次' : this.getFreqInfo(freq === Freq.WEEKLY && dayOfWeek),
+        freqInfo: this.getFreqInfo(freq, dayOfWeek),
         executeTime,
         dayOfWeek,
         startTime: freq === Freq.ONCE ? this.taskTime : this.taskDate[0],

+ 0 - 1
src/views/device/detail/components/DeviceInvoke/mixins/TaskDialog.vue

@@ -1,7 +1,6 @@
 <template>
   <confirm-dialog
     ref="dialog"
-    size="lg"
     append-to-body
     v-bind="$attrs"
     @confirm="onSave"