فهرست منبع

feat: change time format from HH:mm to HH:mm:ss

Casper Dai 2 سال پیش
والد
کامیت
fffeb13eda

+ 7 - 5
src/utils/index.js

@@ -97,20 +97,22 @@ export function parseDuration (duration) {
   return `${minutes.padStart(2, '0')}:${seconds.padStart(2, '0')}`
 }
 
+function parseTimeToHHmmss (time, seconds = '00') {
+  return time && time.length === 8 ? time : `${time}:${seconds}`
+}
+
 export function parseTaskTime (task) {
   if (!task) {
-    const hour = parseTime(new Date(), '{h}:{s}')
-    const time = parseTime(new Date(), '{h}:{i}:{s}')
     return {
       type: TimeType.SCREEN,
-      range: [hour, hour],
-      point: time
+      range: ['00:00:00', '23:59:59'],
+      point: parseTime(new Date(), '{h}:{i}:{s}')
     }
   }
   const { startTime = SCREEN_TIME_KEY, endTime = SCREEN_TIME_KEY } = task
   return {
     type: startTime === SCREEN_TIME_KEY && endTime === SCREEN_TIME_KEY ? TimeType.SCREEN : endTime ? TimeType.RANGE : TimeType.POINT,
-    range: [startTime === SCREEN_TIME_KEY ? '00:00' : startTime, !endTime || endTime === SCREEN_TIME_KEY ? '23:59' : endTime],
+    range: [startTime === SCREEN_TIME_KEY ? '00:00:00' : parseTimeToHHmmss(startTime), !endTime || endTime === SCREEN_TIME_KEY ? '23:59:59' : parseTimeToHHmmss(endTime, '59')],
     point: startTime === SCREEN_TIME_KEY || endTime ? '00:00:00' : startTime
   }
 }

+ 8 - 2
src/views/ad/automation/contract/index.vue

@@ -63,8 +63,7 @@
                   v-model="contract.time.range"
                   class="u-width"
                   is-range
-                  format="HH:mm"
-                  value-format="HH:mm"
+                  value-format="HH:mm:ss"
                   :clearable="false"
                 />
               </template>
@@ -331,6 +330,13 @@ export default {
         })
         return
       }
+      if (endTime && endTime !== SCREEN_TIME_KEY && startTime >= endTime) {
+        this.$message({
+          type: 'warning',
+          message: '开始时间必须小于结束时间'
+        })
+        return
+      }
       const attrs = {
         startDate: date[0],
         day: calculateDay(date[0], date[1]) + 1,

+ 5 - 6
src/views/ad/automation/task/AssetTask.vue

@@ -50,8 +50,7 @@
             v-model="taskTime.range"
             class="u-width"
             is-range
-            format="HH:mm"
-            value-format="HH:mm"
+            value-format="HH:mm:ss"
             :clearable="false"
           />
         </template>
@@ -194,7 +193,7 @@ export default {
                 click: () => this.onEditTime(data)
               }
             }, data.range)
-            : data.range, 'min-width': 100, align: 'center' },
+            : data.range, width: 160, align: 'center' },
           { label: '上播时长(s)', render: (data, h) => canEdit && this.canEditDuration(data)
             ? h('edit-input', {
               staticClass: 'border',
@@ -206,7 +205,7 @@ export default {
                 edit: val => this.onSimpleEdit(data, 'duration', val)
               }
             })
-            : data.duration, 'min-width': 100, align: 'center' },
+            : data.duration, 'min-width': 96, align: 'center' },
           { label: '上播次数', render: (data, h) => canEdit && data.allowed && data.from === TaskFromType.ASSET
             ? h('edit-input', {
               staticClass: 'border',
@@ -218,7 +217,7 @@ export default {
                 edit: val => this.onSimpleEdit(data, 'count', val)
               }
             })
-            : data.count, 'min-width': 100, align: 'center' },
+            : data.count, align: 'center' },
           { label: '审核次数', render: (data, h) => canAudit && data.allowed
             ? h('edit-input', {
               staticClass: 'border',
@@ -230,7 +229,7 @@ export default {
                 edit: val => this.onAuditEdit(data, val)
               }
             })
-            : '-', 'min-width': 100, align: 'center' },
+            : '-', align: 'center' },
           { prop: 'tag', type: 'tag', on: canAudit && this.onAudit },
           { type: 'invoke', render: [
             { label: '查看', allow: ({ allowed }) => allowed, on: this.onViewTask },

+ 5 - 6
src/views/ad/automation/task/ScreenTask.vue

@@ -61,8 +61,7 @@
             v-model="taskTime.range"
             class="u-width"
             is-range
-            format="HH:mm"
-            value-format="HH:mm"
+            value-format="HH:mm:ss"
             :clearable="false"
           />
         </template>
@@ -171,7 +170,7 @@ export default {
                 click: () => this.onEditTime(data)
               }
             }, data.range)
-            : data.range, 'min-width': 100, align: 'center' },
+            : data.range, width: 160, align: 'center' },
           { label: '上播时长(s)', render: (data, h) => canEdit && this.canEditDuration(data)
             ? h('edit-input', {
               staticClass: 'border',
@@ -183,7 +182,7 @@ export default {
                 edit: val => this.onSimpleEdit(data, 'duration', val)
               }
             })
-            : data.duration, 'min-width': 100, align: 'center' },
+            : data.duration, 'min-width': 96, align: 'center' },
           { label: '上播次数', render: (data, h) => canEdit && data.allowed && data.from === TaskFromType.ASSET
             ? h('edit-input', {
               staticClass: 'border',
@@ -195,7 +194,7 @@ export default {
                 edit: val => this.onSimpleEdit(data, 'count', val)
               }
             })
-            : data.count, 'min-width': 100, align: 'center' },
+            : data.count, align: 'center' },
           { label: '审核次数', render: (data, h) => canAudit && data.allowed
             ? h('edit-input', {
               staticClass: 'border',
@@ -207,7 +206,7 @@ export default {
                 edit: val => this.onAuditEdit(data, val)
               }
             })
-            : '-', 'min-width': 100, align: 'center' },
+            : '-', align: 'center' },
           { prop: 'tag', type: 'tag', on: canAudit && this.onAudit },
           { type: 'invoke', render: [
             { label: '查看', allow: ({ canView }) => canView, on: this.onViewTask },

+ 9 - 2
src/views/ad/automation/task/components/AssetTaskDialog.vue

@@ -32,8 +32,7 @@
                 v-model="taskTime.range"
                 class="u-width"
                 is-range
-                format="HH:mm"
-                value-format="HH:mm"
+                value-format="HH:mm:ss"
                 :clearable="false"
               />
             </template>
@@ -89,6 +88,7 @@
 import {
   AssetType,
   TaskFromType,
+  SCREEN_TIME_KEY,
   TimeType
 } from '@/constant'
 import {
@@ -171,6 +171,13 @@ export default {
         })
         return
       }
+      if (endTime && endTime !== SCREEN_TIME_KEY && startTime >= endTime) {
+        this.$message({
+          type: 'warning',
+          message: '开始时间必须小于结束时间'
+        })
+        return
+      }
       const [startDate, endDate] = this.taskDate
       this.$emit('confirm', {
         value: {

+ 2 - 3
src/views/external/box/components/Device.vue

@@ -45,8 +45,7 @@
           v-model="currObj.range"
           class="u-width u-pointer"
           is-range
-          format="HH:mm"
-          value-format="HH:mm"
+          value-format="HH:mm:ss"
           :clearable="false"
         />
         <span class="c-grid-form__label u-required">地址</span>
@@ -232,7 +231,7 @@ export default {
           productId: '',
           serialNumber: '',
           mac: '',
-          range: ['07:00', '22:00'],
+          range: ['00:00:00', '23:59:59'],
           address: '',
           longitude: '',
           latitude: '',

+ 7 - 2
src/views/external/camera/snap/index.vue

@@ -15,6 +15,11 @@
       @confirm="onConfirm"
     >
       <div class="c-grid-form auto u-align-self--center">
+        <div class="c-grid-form__row u-bold">
+          需绑定网点关联终端设备才能触发黑屏告警推送,若未绑定请联系管理员
+          <br>
+          黑屏告警推送会结合终端设备的运行时间
+        </div>
         <span class="c-grid-form__label">启用</span>
         <div class="l-flex--row c-grid-form__option">
           <el-switch
@@ -193,8 +198,8 @@ export default {
     onConfig (camera) {
       getSnapPicConfig(camera.identifier).then(({ data }) => {
         const { startTime, endTime, offset, preserveSecond, confirmDuration, enabled } = {
-          startTime: '07:00:00',
-          endTime: '22:00:00',
+          startTime: '00:00:00',
+          endTime: '23:59:59',
           offset: 10,
           preserveSecond: 0,
           confirmDuration: 1,

+ 2 - 3
src/views/realm/device/index.vue

@@ -35,8 +35,7 @@
           v-model="info.range"
           class="u-width u-pointer"
           is-range
-          format="HH:mm"
-          value-format="HH:mm"
+          value-format="HH:mm:ss"
           :clearable="false"
         />
         <span class="c-grid-form__label u-required">地址</span>
@@ -239,7 +238,7 @@ export default {
     onEditDevice (device) {
       const { id, name, openTime, closeTime, address, longitude, latitude } = device
       this.$device = device
-      this.info = { id, name, range: [openTime ?? '07:00', closeTime ?? '22:00'], address, longitude, latitude }
+      this.info = { id, name, range: [openTime || '', closeTime || ''], address, longitude, latitude }
       this.$refs.editDialog.show()
     },
     onEditCoordinate () {