Просмотр исходного кода

Merge branch 'dev' of http://110.41.163.243:9980/kd-aiot/kd-aiot-frontend-eom into dev

yusheng 11 месяцев назад
Родитель
Сommit
b42aa4b37f
1 измененных файлов с 89 добавлено и 15 удалено
  1. 89 15
      src/views/marketManagem/components/addOrEditDialog.vue

+ 89 - 15
src/views/marketManagem/components/addOrEditDialog.vue

@@ -131,9 +131,10 @@
                 end-placeholder="结束日期"
                 :default-time="['9:00:00', '12:00:00']"
                 value-format="yyyy-MM-dd HH:mm:ss"
+                @change="changeTimer"
               >
               </el-date-picker>
-              <span v-if="TimeArr.length > 1"> {{ getTimeArr }} </span>
+              <span v-if="TimeArr.length > 1"> {{ timer }} </span>
             </el-form-item></el-descriptions-item
           >
         </el-descriptions>
@@ -347,6 +348,7 @@
   //住宿
   import putUpList from './putUpList.vue';
   import processSubmitDialog from '@/BIZComponents/processSubmitDialog/processSubmitDialog.vue';
+  import dayjs from 'dayjs';
 
   export default {
     components: {
@@ -365,19 +367,49 @@
     },
     mixins: [dictMixins],
     computed: {
-      ...mapGetters(['user']),
-      getTimeArr() {
-        let [start, end] = this.TimeArr;
-        return (
-          Math.ceil(
-            (new Date(end).getTime() - new Date(start).getTime()) /
-              1000 /
-              60 /
-              60 /
-              24
-          ) || ''
-        );
-      }
+      ...mapGetters(['user'])
+      // getTimeArr() {
+      //   console.log(this.TimeArr);
+      //   // dayjs()
+
+      //   let [start, end] = this.TimeArr;
+      //   return (
+      //     Math.ceil(
+      //       (new Date(end).getTime() - new Date(start).getTime()) /
+      //         1000 /
+      //         60 /
+      //         60 /
+      //         24
+      //     ) || ''
+      //   );
+      //   // const [start, end] = this.TimeArr;
+      //   // if (!start || !end) return '';
+
+      //   // const startDay = dayjs(start);
+      //   // const endDay = dayjs(end);
+      //   // const diffInMilliseconds = endDay.diff(startDay);
+
+      //   // // 计算天数
+      //   // const days = Math.floor(diffInMilliseconds / (1000 * 60 * 60 * 24));
+      //   // // 计算剩余小时数
+      //   // const hours = Math.floor(
+      //   //   (diffInMilliseconds % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)
+      //   // );
+      //   // // 计算剩余分钟数
+      //   // const minutes = Math.floor(
+      //   //   (diffInMilliseconds % (1000 * 60 * 60)) / (1000 * 60)
+      //   // );
+      //   // // 计算剩余秒数
+      //   // const seconds = Math.floor((diffInMilliseconds % (1000 * 60)) / 1000);
+
+      //   // let result = '';
+      //   // if (days > 0) result += `${days} 天 `;
+      //   // if (hours > 0) result += `${hours} 小时 `;
+      //   // if (minutes > 0) result += `${minutes} 分钟 `;
+      //   // if (seconds > 0) result += `${seconds} 秒`;
+
+      //   // return result.trim();
+      // }
     },
     data() {
       return {
@@ -429,13 +461,22 @@
           children: 'children',
           value: 'id',
           label: 'name'
-        }
+        },
+        rules: {},
+        timer: ''
       };
     },
     mounted() {},
     created() {
       this.getListOrganizations();
     },
+    watch: {
+      TimeArr(val) {
+        if(!val){
+          this.TimeArr=[]
+        }
+      }
+    },
     methods: {
       //初始化
       async open(row = {}, type) {
@@ -637,6 +678,39 @@
         this.form = {
           ...defForm
         };
+      },
+      changeTimer(date) {
+        if (date === null) return;
+        this.TimeArr = date;
+        const [start, end] = this.TimeArr;
+        const startDay = dayjs(start);
+        const endDay = dayjs(end);
+        const diffInMilliseconds = endDay.diff(startDay);
+
+        // 计算天数
+        const days = Math.floor(diffInMilliseconds / (1000 * 60 * 60 * 24));
+        // 计算剩余小时数
+        const hours = Math.floor(
+          (diffInMilliseconds % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)
+        );
+        // 计算剩余分钟数
+        const minutes = Math.floor(
+          (diffInMilliseconds % (1000 * 60 * 60)) / (1000 * 60)
+        );
+        // 计算剩余秒数
+        const seconds = Math.floor((diffInMilliseconds % (1000 * 60)) / 1000);
+
+        let result = '';
+        if (days > 0) result += `${days} 天 `;
+        if (hours > 0) result += `${hours} 小时 `;
+        if (minutes > 0) result += `${minutes} 分钟 `;
+        if (seconds > 0) result += `${seconds} 秒`;
+        this.timer = result.trim();
+      },
+      handleClear() {
+        console.log('clear');
+
+        // this.$emit('input', '');
       }
     }
   };