From b806c4ad52a661a1e5f0695650ec1a7e42f01633 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 20 五月 2026 23:08:48 +0800
Subject: [PATCH] 提交

---
 small-program/shop/pages/revenue-analysis/revenue-analysis.vue |   53 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 44 insertions(+), 9 deletions(-)

diff --git a/small-program/shop/pages/revenue-analysis/revenue-analysis.vue b/small-program/shop/pages/revenue-analysis/revenue-analysis.vue
index ecaaccc..c644f0b 100644
--- a/small-program/shop/pages/revenue-analysis/revenue-analysis.vue
+++ b/small-program/shop/pages/revenue-analysis/revenue-analysis.vue
@@ -14,11 +14,11 @@
 			</view>
 
 			<view v-if="currentRange === 'custom'" class="date-bar">
-					<view class="date-item" @click="showStartDatePicker = true">
+					<view class="date-item" @click="openStartDatePicker">
 						<text :class="startDate ? 'date-text' : 'date-placeholder'">{{ formatPickerDate(startDate) || '寮�濮嬫椂闂�' }}</text>
 					</view>
 					<text class="date-separator">-</text>
-					<view class="date-item" @click="showEndDatePicker = true">
+					<view class="date-item" @click="openEndDatePicker">
 						<text :class="endDate ? 'date-text' : 'date-placeholder'">{{ formatPickerDate(endDate) || '缁撴潫鏃堕棿' }}</text>
 					</view>
 				</view>
@@ -27,20 +27,22 @@
 				<u-datetime-picker
 					:show="showStartDatePicker"
 					mode="date"
-					v-model="startDate"
+					v-model="startDateValue"
 					@confirm="onStartDateConfirm"
 					@cancel="showStartDatePicker = false"
 					placeholder="閫夋嫨寮�濮嬫棩鏈�"
+					value-format="YYYY-MM-DD"
 				></u-datetime-picker>
 				
 				<!-- 缁撴潫鏃ユ湡閫夋嫨鍣� -->
 				<u-datetime-picker
 					:show="showEndDatePicker"
 					mode="date"
-					v-model="endDate"
+					v-model="endDateValue"
 					@confirm="onEndDateConfirm"
 					@cancel="showEndDatePicker = false"
 					placeholder="閫夋嫨缁撴潫鏃ユ湡"
+					value-format="YYYY-MM-DD"
 				></u-datetime-picker>
 		</view>
 
@@ -89,6 +91,8 @@
 				currentRange: 'today',
 				startDate: '',
 				endDate: '',
+				startDateValue: '',
+				endDateValue: '',
 				showStartDatePicker: false,
 				showEndDatePicker: false,
 				minEndDate: '',
@@ -123,7 +127,10 @@
 					legend: {
 						show: true,
 						position: "right",
-						lineHeight: 25
+						lineHeight: 25,
+						format: (name, value) => {
+							return name + ' ' + value
+						}
 					},
 					title: {
 						show: false,
@@ -170,6 +177,14 @@
 				}
 			},
 			methods: {
+				openStartDatePicker() {
+					this.startDateValue = this.startDate || this.formatDate(new Date());
+					this.showStartDatePicker = true;
+				},
+				openEndDatePicker() {
+					this.endDateValue = this.endDate || this.formatDate(new Date());
+					this.showEndDatePicker = true;
+				},
 				formatDate(date) {
 					return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;
 				},
@@ -311,8 +326,24 @@
 					};
 
 					this.selectedLuggageText = '';
-					this.opts.title.name = '';
-					this.opts.subtitle.name = '';
+					this.opts = {
+						...this.opts,
+						legend: {
+							...this.opts.legend,
+							format: (name) => {
+								const currentItem = this.luggageDistribution.find(item => item.name === name);
+								return currentItem ? `${currentItem.name} ${currentItem.percent}%` : name;
+							}
+						},
+						title: {
+							...this.opts.title,
+							name: ''
+						},
+						subtitle: {
+							...this.opts.subtitle,
+							name: ''
+						}
+					};
 				},
 				onRingChartClick(e) {
 					const currentIndex = e && typeof e.currentIndex === 'number' ? e.currentIndex : -1;
@@ -344,16 +375,18 @@
 					});
 				},
 				onStartDateConfirm(e) {
-					const nextStartDate = this.formatPickerDate(e.value);
+					const nextStartDate = this.formatPickerDate((e && e.value) || this.startDateValue);
 
 					if (this.isStartDateAfterEndDate(nextStartDate, this.endDate)) {
 						this.startDate = '';
+						this.startDateValue = this.formatDate(new Date());
 						this.showStartDatePicker = false;
 						uni.showToast({ title: '寮�濮嬫棩鏈熶笉鑳藉ぇ浜庢埅姝㈡棩鏈�', icon: 'none' });
 						return;
 					}
 
 					this.startDate = nextStartDate;
+					this.startDateValue = nextStartDate;
 					this.showStartDatePicker = false;
 					this.minEndDate = nextStartDate ? new Date(nextStartDate).getTime() : '';
 
@@ -362,16 +395,18 @@
 					}
 				},
 				onEndDateConfirm(e) {
-					const nextEndDate = this.formatPickerDate(e.value);
+					const nextEndDate = this.formatPickerDate((e && e.value) || this.endDateValue);
 
 					if (this.isStartDateAfterEndDate(this.startDate, nextEndDate)) {
 						this.endDate = '';
+						this.endDateValue = this.formatDate(new Date());
 						this.showEndDatePicker = false;
 						uni.showToast({ title: '鎴鏃ユ湡涓嶈兘灏忎簬寮�濮嬫棩鏈�', icon: 'none' });
 						return;
 					}
 
 					this.endDate = nextEndDate;
+					this.endDateValue = nextEndDate;
 					this.showEndDatePicker = false;
 
 					if (this.startDate) {

--
Gitblit v1.9.3