From e9060cf8f241536a896d69d0044769bd3b0e8d49 Mon Sep 17 00:00:00 2001
From: yangyin <1850366751@qq.com>
Date: 星期五, 25 十月 2024 09:25:49 +0800
Subject: [PATCH] Merge branch 'test' of http://47.103.154.90:83/r/WI/Web.Admin.V1.0 into test

---
 src/components/chat/chatComponents/summaryCom/components/recordSet/components/TimeRange.vue |   62 ++++++++++++++++---------------
 1 files changed, 32 insertions(+), 30 deletions(-)

diff --git a/src/components/chat/chatComponents/summaryCom/components/recordSet/components/TimeRange.vue b/src/components/chat/chatComponents/summaryCom/components/recordSet/components/TimeRange.vue
index 674e9bd..74da627 100644
--- a/src/components/chat/chatComponents/summaryCom/components/recordSet/components/TimeRange.vue
+++ b/src/components/chat/chatComponents/summaryCom/components/recordSet/components/TimeRange.vue
@@ -47,7 +47,7 @@
 <script setup lang="ts">
 import { ElDatePicker } from 'element-plus';
 import { definePropType } from 'element-plus/es/utils/vue/props/runtime';
-import { ref, type PropType, computed, watch } from 'vue';
+import { ref, type PropType, computed, watch, nextTick, onMounted } from 'vue';
 import type { TimeRangeParam } from '../types';
 import type { TimeRangeEnum } from './types';
 import { timeRangeEnumMapTitle, timeRangeEnumMapValue } from './types';
@@ -71,73 +71,75 @@
 		type: Boolean,
 		default: false,
 	},
+
+	quickActive: {
+		type: Number as PropType<TimeRangeEnum>,
+		required: false,
+	},
 });
 const dateValue = defineModel({
 	type: definePropType<[string, string]>(Array),
 });
 const emit = defineEmits(['change']);
 
-/**
- * 闇�瑕佸 dateValue 鏍煎紡鍖栵紝dataValue 缁撴潫鏃堕棿涓嶆槸23:59:59
- */
-const formatDateValue = computed({
-	get: () => {
-		if (!dateValue.value) return null;
-		return [moment(dateValue.value[0]).format('YYYY-MM-DD 00:00:00'), moment(dateValue.value[1]).format('YYYY-MM-DD 23:59:59')] as [
-			string,
-			string
-		];
-	},
-	set: (value) => {
-		dateValue.value = value;
-	},
-});
+const dateChange = () => {
+	nextTick(() => {
+		emit('change', dateValue.value);
+	});
+};
 
 const disabledDate = (date: Date) => {
 	return date > CURRENT_DAY;
 };
 
-const resetQuickPickValue = () =>{
+const resetQuickPickValue = () => {
 	quickPickValue.value = null;
-}
+};
 const quickPickValue = ref<TimeRangeEnum>(null);
+
+const pickQuickRange = (val: TimeRangeEnum) => {
+	if(val==undefined) return;
+	quickPickValue.value = val;
+	dateValue.value = timeRangeEnumMapValue[val]().map((item) => formatDate(item)) as [string, string];
+};
 const quickPickRangeClick = (val: TimeRangeEnum) => {
 	if (quickPickValue.value === val) return;
+	pickQuickRange(val);
 
-	quickPickValue.value = val;
-	formatDateValue.value = timeRangeEnumMapValue[val]().map((item) => formatDate(item)) as [string, string];
+	dateChange();
 };
 
 const offsetClickIsAllow = computed(() => !!dateValue.value && !props.disabled);
 const preDayClick = () => {
 	if (!dateValue.value) return;
 	dateValue.value[0] = moment(dateValue.value[0]).subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss');
-	dateValue.value = [...dateValue.value];
-	resetQuickPickValue();
+	dateChange();
 
+	resetQuickPickValue();
 };
 
 const nextDayClick = () => {
 	if (!dateValue.value) return;
 	dateValue.value[1] = moment(dateValue.value[1]).add(1, 'day').format('YYYY-MM-DD HH:mm:ss');
-	dateValue.value = [...dateValue.value];
+	dateChange();
+
 	resetQuickPickValue();
 };
 
 const datePickerChange = (va) => {
 	resetQuickPickValue();
+	dateChange();
 };
 
-watch(
-	() => formatDateValue.value,
-	(val) => {
-		emit('change', val);
+onMounted(() => {
+	if(props.quickActive !=null){
+		pickQuickRange(props.quickActive);
 	}
-);
+});
 
 defineExpose({
-	formatDateValue
-})
+	formatDateValue: dateValue,
+});
 </script>
 <style scoped lang="scss">
 :deep(.el-date-editor .el-range__close-icon--hidden) {

--
Gitblit v1.9.3