From 89f92831637aff9713e430c8e8ff17af3dc516d6 Mon Sep 17 00:00:00 2001 From: gyq <875626088@qq.com> Date: Tue, 25 Nov 2025 16:45:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=B0=E7=89=88=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=BB=9F=E8=AE=A1=E9=A1=B5=E9=9D=A2=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E9=94=80=E9=87=8F=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/data_home_item5.png | Bin 0 -> 3372 bytes src/assets/images/data_home_item6.png | Bin 0 -> 3317 bytes src/views/data/index.vue | 197 +++++++++++++++--- src/views/data/sales.vue | 43 +++- .../components/getDetailDialog.vue | 14 +- src/views/shop/config/components/shopInfo.vue | 32 +-- 6 files changed, 241 insertions(+), 45 deletions(-) create mode 100644 src/assets/images/data_home_item5.png create mode 100644 src/assets/images/data_home_item6.png diff --git a/src/assets/images/data_home_item5.png b/src/assets/images/data_home_item5.png new file mode 100644 index 0000000000000000000000000000000000000000..dc35367642ede4871853d3d87fd78ec862145278 GIT binary patch literal 3372 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
- - 今天 - 昨天 - 最近7天 - 最近30天 - 本周 - 本月 - 自定义 - +
+
+ + {{ item.label }} + + | +
+
- 会员支付 + 余额支付
{{ trade.memberPayAmount || 0 }}
@@ -241,16 +241,26 @@
-
客单价
+
+ 客单价 + + + + + +
-
{{ formatDecimal(trade.avgPayAmount || 0) }}
+
{{ formatDecimal(trade.avgPayAmount || 0) }}
翻台率 - + @@ -258,51 +268,110 @@
-
{{ trade.turnoverRate || 0 }}%
+
{{ trade.turnoverRate || 0 }}%
-
优惠金额
+
+ 优惠金额 + + + + + + +
-
{{ formatDecimal(trade.discountAmount || 0) }}
+
{{ formatDecimal(trade.discountAmount || 0) }}
优惠笔数
-
{{ trade.discountCount || 0 }}
+
{{ trade.discountCount || 0 }}
-
+
毛利润
-
{{ trade.profitAmount || 0 }}
+
{{ trade.profitAmount || 0 }}
毛利率
-
{{ trade.profitRate || 0 }}%
+
{{ trade.profitRate || 0 }}%
-
+
净利润
-
{{ trade.netProfitAmount || 0 }}
+
{{ trade.netProfitAmount || 0 }}
净利率
-
{{ trade.netProfitRate || 0 }}%
+
{{ trade.netProfitRate || 0 }}%
@@ -397,10 +466,43 @@ import dayjs from "dayjs"; import * as echarts from "echarts"; import { debounce, formatDecimal } from "@/utils/tools"; import { formatDateRange } from './utils/index.js' +import { multiplyAndFormat } from '@/utils/index.js' export default { name: "home", data() { return { + multiplyAndFormat, + dataListActive: 0, + dateList: [ + { + label: "今天", + value: "today", + }, + { + label: "昨天", + value: "yesterday", + }, + { + label: "最近7天", + value: "last_7_days", + }, + { + label: "最近30天", + value: "last_30_days", + }, + { + label: "本周", + value: "this_week", + }, + { + label: "本月", + value: "this_month", + }, + { + label: "自定义", + value: "custom", + }, + ], payCount: [ { icon: "https://cashier-oss.oss-cn-beijing.aliyuncs.com/static/wx.png", @@ -557,7 +659,9 @@ export default { this.dateProduct() }, // 切换时间 - timeChange(e) { + timeChange(e, index = 0) { + this.dataListActive = index; + this.timeValue = e; this.query.createdAt = formatDateRange(e) if (e != "custom") { this.summarytrade(); @@ -1376,6 +1480,14 @@ export default { background-image: url("../../assets/images/data_home_item4.png"); } + &.item5 { + background-image: url("../../assets/images/data_home_item5.png"); + } + + &.item6 { + background-image: url("../../assets/images/data_home_item6.png"); + } + .row_wrap { display: flex; width: 100%; @@ -1398,6 +1510,7 @@ export default { align-items: center; color: #333; font-size: 14px; + gap: 8px; .icon { font-size: 12px; @@ -1419,6 +1532,7 @@ export default { .t { font-size: 24px; margin-left: 10px; + font-weight: bold; } } } @@ -1586,7 +1700,8 @@ export default { .num { font-size: 32px; - color: #3F9EFF; + color: var(--el-color-primary); + font-weight: bold; } .tips { @@ -1595,4 +1710,36 @@ export default { } } } + +.date_list { + display: flex; + margin-right: 10px; + + .item { + font-size: 14px; + color: #999999; + display: flex; + align-items: center; + + &.active { + .date-tab-item { + color: var(--el-color-primary); + } + } + + .date-tab-item { + cursor: pointer; + + &:hover { + color: var(--el-color-primary-light-3); + } + } + + .separator { + margin: 0 6px; + position: relative; + top: -1px; + } + } +} diff --git a/src/views/data/sales.vue b/src/views/data/sales.vue index b36c63d..d88f082 100644 --- a/src/views/data/sales.vue +++ b/src/views/data/sales.vue @@ -94,6 +94,28 @@
退单量
+
+
+ + + +
+
+
{{ payCount.totalAmount - payCount.refundAmount || 0 }}
+
实际销售额总和
+
+
+
+
+ + + +
+
+
{{ payCount.saleCount - payCount.refundCount || 0 }}
+
实际销量总和
+
+
@@ -122,7 +144,6 @@ -