From f5052fa7d4e73c0df5a02a6ad8987f35df42b8f8 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 07 十一月 2024 17:23:50 +0800
Subject: [PATCH] 1. 完成场景报告模块 2. 日报管理模块添加时间范围选择以及word报告生成

---
 src/components/search-option/FYOptionTime.vue |   65 +++++++++++++++-----------------
 1 files changed, 30 insertions(+), 35 deletions(-)

diff --git a/src/components/search-option/FYOptionTime.vue b/src/components/search-option/FYOptionTime.vue
index 9a6ba6f..b745a32 100644
--- a/src/components/search-option/FYOptionTime.vue
+++ b/src/components/search-option/FYOptionTime.vue
@@ -1,18 +1,24 @@
 <template>
-  <el-form-item label="鏃堕棿">
+  <el-form-item :label="label" :prop="prop">
     <el-date-picker
-      v-model="selectedOptions"
-      type="month"
+      v-model="date"
+      @change="handleChange"
+      :type="type"
       placeholder="閫夋嫨鏃堕棿"
+      start-placeholder="閫夋嫨寮�濮嬫椂闂�"
+      end-placeholder="閫夋嫨缁撴潫鏃堕棿"
       style="width: 150px"
+      v-bind="$attrs"
     />
   </el-form-item>
 </template>
 
 <script>
-import dayjs from 'dayjs'
+import dayjs from 'dayjs';
 
-const MONTH = 'month'
+const MONTH = 'month';
+const DATE = 'date';
+const RANGE = 'datetimerange';
 
 export default {
   props: {
@@ -21,50 +27,39 @@
       default: MONTH
     },
     // 杩斿洖缁撴灉
-    value: Date,
+    value: Date || Array,
     // 鏄惁榛樿杩斿洖鍒濆閫夐」
     initValue: {
       type: Boolean,
       default: true
+    },
+    label: {
+      type: String,
+      default: '鏃堕棿'
+    },
+    prop: {
+      type: String,
+      default: 'time'
     }
   },
-  emits: ['update:value'],
+  emits: ['update:value', 'change'],
   data() {
     return {
-      selectedOptions: ''
-    }
+      date: this.value
+    };
   },
-  watch: {
-    selectedOptions: {
-      handler(nVal, oVal) {
-        if (nVal != oVal) {
-          this.$emit('update:value', nVal)
-        }
-      }
-    },
-    value: {
-      handler(nVal, oVal) {
-        if (nVal != oVal) {
-          this.selectedOptions = nVal
-        }
-      },
-      immediate: true
-    }
-  },
+  computed: {},
   methods: {
-    timeFormat() {
-      switch (this.type) {
-        case MONTH:
-          return 'YYYY-MM'
-        default:
-          return 'YYYY-MM'
-      }
+    handleChange(value) {
+      this.$emit('update:value', value);
+      this.$emit('change', value);
     }
   },
   mounted() {
     if (this.initValue) {
-      this.selectedOptions = new Date()
+      this.date = new Date();
+      this.handleChange(this.date);
     }
   }
-}
+};
 </script>

--
Gitblit v1.9.3