From 2800fa4f32f3900509cb4d6eefaf2bfaf54efdd7 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Mon, 21 Apr 2025 18:29:09 +0800
Subject: [PATCH] fix: 天气显示

---
 src/components/CommonDateTime.vue |   39 ++++++++++++++++++++++++++++++++-------
 1 files changed, 32 insertions(+), 7 deletions(-)

diff --git a/src/components/CommonDateTime.vue b/src/components/CommonDateTime.vue
index e33162a..2c6b9b8 100644
--- a/src/components/CommonDateTime.vue
+++ b/src/components/CommonDateTime.vue
@@ -8,13 +8,15 @@
       start-placeholder="开始日期"
       end-placeholder="结束日期"
       @change="change"
+      disabled
+    :clearable="false"
     />
     <div class="time-card">
       <div
         class="card-item"
         :class="item === checked ? 'active' : ''"
-        v-for="(item, index) in timeList"
-        @click="timeClick(item)"
+        v-for="(item, index) in timeList" :key="index"
+        @click="timeClick(item,index)"
       >
         {{ timeListStr[index] }}
       </div>
@@ -24,14 +26,17 @@
 
 <script setup>
 import dayjs from 'dayjs';
+import { useStore } from 'vuex'
 import { ref, defineEmits } from 'vue';
 
+const store = useStore()
 const emit = defineEmits(['change']);
 
 const model = defineModel();
 
 let timeList = ['today', 'week', 'month', 'year'];
 let timeListStr = ['今日', '本周', '本月', '本年'];
+let timeListEnum = ['TODAY', 'CURRENT_WEEK', 'CURRENT_MONTH', 'CURRENT_YEAR'];
 let checked = ref('today');
 
 const getDateRange = unit => {
@@ -49,14 +54,27 @@
 };
 
 const change = value => {
-  emit('change', value);
+  // todo 待对接
+  // emit('change', value);
 };
 
-let timeClick = item => {
+let timeClick = (item,index) => {
   checked.value = item;
-  model.value = dateRanges[item];
-  emit('change', model.value);
+  const newDateRange = dateRanges[item];
+  model.value = newDateRange;
+  emit('change', newDateRange, timeListEnum[index],checked.value);
 };
+onMounted(() => {
+  // 如果父组件传入了值,就使用父组件的值 by cpz
+  if (model.value && model.value.length === 2) {
+    // 根据传入的日期判断是哪个时间范围
+    const startDate = model.value[0];
+    const endDate = model.value[1];
+    if (startDate !== endDate) {
+      checked.value = 'week';
+    }
+  }
+});
 </script>
 
 <style scoped lang="scss">
@@ -64,12 +82,19 @@
   position: relative;
   display: flex;
   justify-content: space-between;
+:deep(.el-date-editor .el-range__close-icon--hidden){
+    width: 0 !important;
 
+}
+:deep(.el-date-editor .el-range-input){
+width: 48% !important;
+font-size: 13px !important;
+}
   :deep(.el-date-editor) {
     box-shadow: none;
     width: 0;
     flex: 1;
-    margin-right: 4px;
+    // margin-right: 4px;
 
     background: rgba(0, 15, 34, 0.5);
     border-radius: 0px 0px 0px 0px;

--
Gitblit v1.9.3