From 88d41de408c121c225fd9a56eeeb3d18e2e83032 Mon Sep 17 00:00:00 2001 From: chenhao Date: Mon, 18 May 2026 11:39:48 +0800 Subject: [PATCH] feat:save --- .env.development | 4 +- .env.production | 4 +- index.html | 1 + public/img/b_logo.png | Bin 0 -> 13145 bytes public/img/buybill.png | Bin 0 -> 2751 bytes public/img/checked.png | Bin 0 -> 1819 bytes public/img/copy_b.png | Bin 0 -> 388 bytes public/img/down.png | Bin 233 -> 350 bytes public/img/gift_bg.png | Bin 3221951 -> 487987 bytes public/img/gift_bg1.png | Bin 0 -> 1048396 bytes public/img/gift_bg2.png | Bin 0 -> 116416 bytes public/img/gift_bg3.png | Bin 0 -> 331862 bytes public/img/gift_box_bg.png | Bin 53461 -> 0 bytes public/img/gift_qy.png | Bin 0 -> 17999 bytes public/img/gift_title.png | Bin 0 -> 38236 bytes public/img/income-bg.png | Bin 22402 -> 144045 bytes public/img/op-i1.png | Bin 0 -> 3198 bytes public/img/op-i2.png | Bin 0 -> 3052 bytes public/img/op-i3.png | Bin 0 -> 12364 bytes public/img/op-i4.png | Bin 0 -> 11900 bytes public/img/op-i5.png | Bin 0 -> 11748 bytes public/img/opera_bg.jpg | Bin 0 -> 31212 bytes public/img/phone.png | Bin 0 -> 521 bytes public/img/refresh.png | Bin 548 -> 627 bytes public/js/echarts.min.js | 1 + src/App.vue | 34 +- src/components/BaseList.vue | 16 +- src/components/BasePage.vue | 6 +- src/components/ManagerPopup.vue | 21 +- src/main.js | 7 +- src/router.js | 58 +- src/styles/ch.less | 1234 ++++++++++++----- src/styles/public.less | 378 +++-- src/utils/api.js | 96 -- src/utils/echarts.min.js | 1 + src/views/Account/Login.vue | 5 +- src/views/Account/ResetPwd.vue | 29 +- src/views/{User => Cashout}/Cashout.vue | 17 +- .../{User => Cashout}/CashoutAccount.vue | 43 +- src/views/{User => Cashout}/CashoutRecord.vue | 0 src/views/Merchant/Merchant.vue | 189 ++- src/views/Merchant/MerchantCashout.vue | 44 + src/views/Merchant/MerchantIncome.vue | 25 +- src/views/Merchant/MerchantIntroduction.vue | 339 +++++ src/views/Merchant/MerchantProduct.vue | 123 -- src/views/Merchant/MerchantTrade.vue | 281 ++-- src/views/Merchant/MerchantTradeDetail.vue | 146 +- src/views/Merchant/Statistics.vue | 169 ++- src/views/Operations/Operations.vue | 117 ++ src/views/Platform/ColumnDetail.vue | 2 +- src/views/Tabbars/Gift.vue | 236 ++-- src/views/Trade/NTradeList.vue | 165 --- src/views/Trade/Pay.vue | 15 +- src/views/Trade/TradeConfirm.vue | 4 +- src/views/Trade/TradeDetail.vue | 2 +- src/views/Trade/Tradelist.vue | 358 +++-- src/views/User/AliPayAccount.vue | 249 ---- src/views/User/Checkout/Checkout.vue | 72 + src/views/User/Checkout/CheckoutTrade.vue | 72 + src/views/User/My.vue | 168 ++- src/views/User/Team.vue | 38 +- src/views/User/{ => Wallet}/Allow.vue | 16 +- src/views/User/{ => Wallet}/Balance.vue | 5 +- src/views/User/{ => Wallet}/CV.vue | 10 +- src/views/User/{ => Wallet}/Certificate.vue | 10 + src/views/User/Wallet/CertificateRecord.vue | 88 ++ src/views/User/{ => Wallet}/Point.vue | 2 +- src/views/User/{ => Wallet}/Transfer.vue | 32 +- 68 files changed, 2977 insertions(+), 1955 deletions(-) create mode 100644 public/img/b_logo.png create mode 100644 public/img/buybill.png create mode 100644 public/img/checked.png create mode 100644 public/img/copy_b.png create mode 100644 public/img/gift_bg1.png create mode 100644 public/img/gift_bg2.png create mode 100644 public/img/gift_bg3.png delete mode 100644 public/img/gift_box_bg.png create mode 100644 public/img/gift_qy.png create mode 100644 public/img/gift_title.png create mode 100644 public/img/op-i1.png create mode 100644 public/img/op-i2.png create mode 100644 public/img/op-i3.png create mode 100644 public/img/op-i4.png create mode 100644 public/img/op-i5.png create mode 100644 public/img/opera_bg.jpg create mode 100644 public/img/phone.png create mode 100644 public/js/echarts.min.js delete mode 100644 src/utils/api.js create mode 100644 src/utils/echarts.min.js rename src/views/{User => Cashout}/Cashout.vue (89%) rename src/views/{User => Cashout}/CashoutAccount.vue (89%) rename src/views/{User => Cashout}/CashoutRecord.vue (100%) create mode 100644 src/views/Merchant/MerchantCashout.vue create mode 100644 src/views/Merchant/MerchantIntroduction.vue delete mode 100644 src/views/Merchant/MerchantProduct.vue create mode 100644 src/views/Operations/Operations.vue delete mode 100644 src/views/Trade/NTradeList.vue delete mode 100644 src/views/User/AliPayAccount.vue create mode 100644 src/views/User/Checkout/Checkout.vue create mode 100644 src/views/User/Checkout/CheckoutTrade.vue rename src/views/User/{ => Wallet}/Allow.vue (76%) rename src/views/User/{ => Wallet}/Balance.vue (98%) rename src/views/User/{ => Wallet}/CV.vue (92%) rename src/views/User/{ => Wallet}/Certificate.vue (87%) create mode 100644 src/views/User/Wallet/CertificateRecord.vue rename src/views/User/{ => Wallet}/Point.vue (98%) rename src/views/User/{ => Wallet}/Transfer.vue (88%) diff --git a/.env.development b/.env.development index c527b65..b1704f7 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,2 @@ -VITE_API_URL = "http://m.taigurun.cn" -VITE_OSS_URL = "http://m.taigurun.cn" \ No newline at end of file +VITE_API_URL = "https://m.taigurun.cn" +VITE_OSS_URL = "https://m.taigurun.cn" \ No newline at end of file diff --git a/.env.production b/.env.production index c527b65..b1704f7 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1,2 @@ -VITE_API_URL = "http://m.taigurun.cn" -VITE_OSS_URL = "http://m.taigurun.cn" \ No newline at end of file +VITE_API_URL = "https://m.taigurun.cn" +VITE_OSS_URL = "https://m.taigurun.cn" \ No newline at end of file diff --git a/index.html b/index.html index 66ab5bf..8aedca8 100644 --- a/index.html +++ b/index.html @@ -11,6 +11,7 @@
+ \ No newline at end of file diff --git a/src/views/Merchant/MerchantProduct.vue b/src/views/Merchant/MerchantProduct.vue deleted file mode 100644 index 8344bbd..0000000 --- a/src/views/Merchant/MerchantProduct.vue +++ /dev/null @@ -1,123 +0,0 @@ - - - diff --git a/src/views/Merchant/MerchantTrade.vue b/src/views/Merchant/MerchantTrade.vue index 711db81..78334b1 100644 --- a/src/views/Merchant/MerchantTrade.vue +++ b/src/views/Merchant/MerchantTrade.vue @@ -2,54 +2,143 @@
-
- - -
- - -
-
- - - - - - -
- -
-
-
- 订单号:{{ item.TradeCode }} - - {{ GiftName[item.TradeStates] }} -
-
- -
- {{ item.NickName }} -

{{ item.Phone }}

-
- ¥{{ item.OriginAmount }} -
-
+
+
- 下单人:13345678912 + {{ date[0] }}- - 昵称:张保保 + + {{ (parseInt(date[1]) < 10) ? `0${parseInt(date[1])}` : parseInt(date[1]) }}
+ +
+ +
+ 筛选 +
+ + + + + + + + + + +
+
+ 取消 + 筛选 + 重置 +
+ +
+
+
用户手机号
+ +
+ +
+
订单号
+ +
+ +
+
买单时间
+
+ {{ filterForm.starttime }} + 开始日期 + + {{ filterForm.endtime }} + 结束日期 +
+
+ + +
+ + + + + +
+
+ + + + + +
@@ -59,62 +148,85 @@ export default { name: 'MerchantTrade', data() { return { + date: [`${new Date().getFullYear()}`, `${new Date().getMonth() + 1}`], + currentDate: [`${new Date().getFullYear()}`, `${new Date().getMonth() + 1}`], + showDate: false, + showRight: false, + showDateRange: false, + filterForm: { + cellphone: '', + ordernum: '', + starttime: '', + endtime: '', + status: '-1' + }, GiftName: { 0: '待付款', 1: '待处理', 2: '待处理', 3: '已完成', 4: '已完成' }, - option: [ - { text: '全部' }, - { text: '单人优享' }, - { text: '家庭尊享' }, - { text: '购机' }, - ], searchParams: { - GiftArea: 'ALL', - TradeStates: 99, - GiftType: 'ALL' + year: new Date().getFullYear(), + month: new Date().getMonth() + 1, + cellphone: '', + ordernum: '', + starttime: '', + endtime: '' + }, + data: { + img: '' }, searchKey: '', - value: '全部', - allList: [ - { TradeCode: 'T20240418001', SkuSpecName: '年卡', TradeStates: 4, Avatar: '/img/co-1.png', NickName: '张三', Phone: '13800138001', OriginAmount: 2999.00, GiftArea: 'Store' }, - { TradeCode: 'T20240418002', SkuSpecName: '月卡', TradeStates: 2, Avatar: '/img/co-2.png', NickName: '李四', Phone: '13800138002', OriginAmount: 299.00, GiftArea: 'Rent' }, - { TradeCode: 'T20240418003', SkuSpecName: '季卡', TradeStates: 0, Avatar: '/img/co-3.png', NickName: '王五', Phone: '13800138003', OriginAmount: 899.00, GiftArea: 'Store' }, - { TradeCode: 'T20240417001', SkuSpecName: '半年卡', TradeStates: 4, Avatar: '/img/co.png', NickName: '赵六', Phone: '13800138004', OriginAmount: 1699.00, GiftArea: 'Buy' }, - { TradeCode: 'T20240417002', SkuSpecName: '体验卡', TradeStates: 4, Avatar: '/img/co-1.png', NickName: '钱七', Phone: '13800138005', OriginAmount: 99.00, GiftArea: 'Rent' }, - ] - } - }, - computed: { - filteredList() { - let result = [...this.allList]; - if (this.searchParams.GiftArea !== 'ALL') { - result = result.filter(x => x.GiftArea === this.searchParams.GiftArea); - } - if (this.searchParams.TradeStates !== 99) { - result = result.filter(x => x.TradeStates === this.searchParams.TradeStates); - } - if (this.searchParams.GiftType !== 'ALL') { - // simplified filter - } - if (this.searchKey) { - result = result.filter(x => x.TradeCode.includes(this.searchKey)); - } - return result; + selectedDateRange: [new Date(), new Date()] } }, methods: { - filterList() { - // trigger computed + parseData(res) { + return res.data || [] }, - onSelect(option) { - this.value = option.text; + onLoad(list) { + console.log('list loaded:', list); + }, + onconfirm(value) { + this.date = this.currentDate; + this.searchParams.year = parseInt(this.currentDate[0]) + this.searchParams.month = parseInt(this.currentDate[1]) + this.showDate = false; + this.$refs.listRef?.refresh(); + }, + onDateRangeConfirm(date) { + if (Array.isArray(date) && date.length >= 2) { + this.filterForm.starttime = this.formatDate(date[0]); + this.filterForm.endtime = this.formatDate(date[date.length - 1]); + } + this.showDateRange = false; + }, + formatDate(date) { + const d = new Date(date); + const year = d.getFullYear(); + const month = String(d.getMonth() + 1).padStart(2, '0'); + const day = String(d.getDate()).padStart(2, '0'); + return `${year}-${month}-${day}`; + }, + resetFilter() { + this.filterForm = { + cellphone: '', + ordernum: '', + starttime: '', + endtime: '', + status: '-1' + }; + }, + confirmFilter() { + this.searchParams.cellphone = this.filterForm.cellphone; + this.searchParams.ordernum = this.filterForm.ordernum; + this.searchParams.starttime = this.filterForm.starttime; + this.searchParams.endtime = this.filterForm.endtime; + this.showRight = false; + this.$refs.listRef?.refresh(); }, getStateClass(state) { switch (state) { case 4: - return 'green'; case 3: return 'green'; case 2: - return 'yellow'; case 1: return 'yellow'; case 0: @@ -124,6 +236,5 @@ export default { } } }, - } diff --git a/src/views/Merchant/MerchantTradeDetail.vue b/src/views/Merchant/MerchantTradeDetail.vue index a4fd6d6..4827a8c 100644 --- a/src/views/Merchant/MerchantTradeDetail.vue +++ b/src/views/Merchant/MerchantTradeDetail.vue @@ -1,63 +1,63 @@ diff --git a/src/views/Operations/Operations.vue b/src/views/Operations/Operations.vue new file mode 100644 index 0000000..4f83d00 --- /dev/null +++ b/src/views/Operations/Operations.vue @@ -0,0 +1,117 @@ + + + \ No newline at end of file diff --git a/src/views/Platform/ColumnDetail.vue b/src/views/Platform/ColumnDetail.vue index ef845f3..1e820a3 100644 --- a/src/views/Platform/ColumnDetail.vue +++ b/src/views/Platform/ColumnDetail.vue @@ -41,7 +41,7 @@ export default { this.$get(`/v1/client/CNewsClient/${id}`).then(data => { this.article = data.data; }).catch(err => { - this.$showFailToast(err.errmsg); + this.$showFailToast(err.message); }); }, setupImagePreview() { diff --git a/src/views/Tabbars/Gift.vue b/src/views/Tabbars/Gift.vue index 9ad1579..465956d 100644 --- a/src/views/Tabbars/Gift.vue +++ b/src/views/Tabbars/Gift.vue @@ -1,127 +1,134 @@ - + @@ -83,6 +83,7 @@ export default { needpay: 0, state: 0, }, + hide: true, wallet: { totalsum: 0, }, @@ -113,7 +114,7 @@ export default { const walletRes = await this.$get('/v1/client/DUsermoneysClient/statistics'); this.wallet = walletRes.data; } catch (err) { - this.$showFailToast(err.errmsg || '加载失败'); + this.$showFailToast(err.message || '加载失败'); } }, async doPay() { @@ -130,7 +131,7 @@ export default { async balancePay() { try { // 余额支付调用支付宝接口(实际由后端判断余额支付) - const res = await this.$get(`/v1/client/FOrdersClient/${this.ordernum}/payali`); + const res = await this.$get(`/v1/client/FOrdersClient/${this.ordernum}/payyue`); if (res.data) { location.href = res.data; } @@ -142,7 +143,7 @@ export default { }, 1000); } } catch (err) { - this.$showFailToast(err.errmsg || '支付失败'); + this.$showFailToast(err.message || '支付失败'); } }, // 支付宝支付 @@ -157,7 +158,7 @@ export default { } this.showPayResult = true; } catch (err) { - this.$showFailToast(err.errmsg || '支付失败'); + this.$showFailToast(err.message || '支付失败'); } }, // 微信支付 @@ -169,7 +170,7 @@ export default { } this.showPayResult = true; } catch (err) { - this.$showFailToast(err.errmsg || '支付失败'); + this.$showFailToast(err.message || '支付失败'); } }, onPayCompleted() { diff --git a/src/views/Trade/TradeConfirm.vue b/src/views/Trade/TradeConfirm.vue index 8af6cb2..2368174 100644 --- a/src/views/Trade/TradeConfirm.vue +++ b/src/views/Trade/TradeConfirm.vue @@ -41,7 +41,7 @@
商品金额 {{ ((product.saleprice || 0) * (product.buynums || 1))?.toFixed(2) - }} + }}
@@ -197,7 +197,7 @@ export default { this.$showSuccessToast('提交成功'); this.$navigate('/Pay?ordernum=' + data.data); }).catch(err => { - this.$showFailToast(err.errmsg); + this.$showFailToast(err.message); }).finally(() => { this.isloading = false; }); diff --git a/src/views/Trade/TradeDetail.vue b/src/views/Trade/TradeDetail.vue index 236afae..79e65e2 100644 --- a/src/views/Trade/TradeDetail.vue +++ b/src/views/Trade/TradeDetail.vue @@ -118,7 +118,7 @@ export default { const res = await this.$get(`/v1/client/FOrdersClient/${this.ordernum}`); this.data = res.data; } catch (err) { - this.$showFailToast(err.errmsg || '加载失败'); + this.$showFailToast(err.message || '加载失败'); } }, } diff --git a/src/views/Trade/Tradelist.vue b/src/views/Trade/Tradelist.vue index 2d3ce85..b7b885f 100644 --- a/src/views/Trade/Tradelist.vue +++ b/src/views/Trade/Tradelist.vue @@ -1,165 +1,215 @@ diff --git a/src/views/User/AliPayAccount.vue b/src/views/User/AliPayAccount.vue deleted file mode 100644 index fd08a4f..0000000 --- a/src/views/User/AliPayAccount.vue +++ /dev/null @@ -1,249 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/User/Checkout/Checkout.vue b/src/views/User/Checkout/Checkout.vue new file mode 100644 index 0000000..6748800 --- /dev/null +++ b/src/views/User/Checkout/Checkout.vue @@ -0,0 +1,72 @@ + + + \ No newline at end of file diff --git a/src/views/User/Checkout/CheckoutTrade.vue b/src/views/User/Checkout/CheckoutTrade.vue new file mode 100644 index 0000000..6748800 --- /dev/null +++ b/src/views/User/Checkout/CheckoutTrade.vue @@ -0,0 +1,72 @@ + + + \ No newline at end of file diff --git a/src/views/User/My.vue b/src/views/User/My.vue index 72ae551..8cd3382 100644 --- a/src/views/User/My.vue +++ b/src/views/User/My.vue @@ -1,4 +1,5 @@ \ No newline at end of file diff --git a/src/views/User/Balance.vue b/src/views/User/Wallet/Balance.vue similarity index 98% rename from src/views/User/Balance.vue rename to src/views/User/Wallet/Balance.vue index 2480a4b..68b2af3 100644 --- a/src/views/User/Balance.vue +++ b/src/views/User/Wallet/Balance.vue @@ -168,7 +168,7 @@ 当前余额 -
+
提现记录 @@ -237,8 +237,7 @@ item.balance?.toFixed(2) }}
- + {{ item.nums > 0 ? "增加:+" : "减少:" }}{{ (item.nums).toFixed(2) }} diff --git a/src/views/User/CV.vue b/src/views/User/Wallet/CV.vue similarity index 92% rename from src/views/User/CV.vue rename to src/views/User/Wallet/CV.vue index 065487c..6b4a78c 100644 --- a/src/views/User/CV.vue +++ b/src/views/User/Wallet/CV.vue @@ -6,10 +6,10 @@
会员卡 - 123456789 + {{ huiyuankaid }}
-
+
赠卡记录
@@ -21,7 +21,7 @@ {{ data.totalsum?.toFixed(2) }}
-
@@ -56,7 +56,7 @@ 增加:+ 减少: - {{ item.nums }} + {{ item.nums?.toFixed(2) }}
@@ -96,6 +96,7 @@ export default { showDate: false, showTerm: false, data: {}, + huiyuankaid: '', date: [`${new Date().getFullYear()}`, `${new Date().getMonth() + 1}`], currentDate: [`${new Date().getFullYear()}`, `${new Date().getMonth() + 1}`], searchParams: { @@ -117,6 +118,7 @@ export default { init() { this.$get('/v1/client/DUserxiaofeiquansClient/statistics', this.searchParams).then(res => { this.data = res.data; + this.huiyuankaid = this.$ls.get('huiyuankaid'); }) } } diff --git a/src/views/User/Certificate.vue b/src/views/User/Wallet/Certificate.vue similarity index 87% rename from src/views/User/Certificate.vue rename to src/views/User/Wallet/Certificate.vue index 33e8937..778a5f4 100644 --- a/src/views/User/Certificate.vue +++ b/src/views/User/Wallet/Certificate.vue @@ -42,11 +42,21 @@ \ No newline at end of file diff --git a/src/views/User/Wallet/CertificateRecord.vue b/src/views/User/Wallet/CertificateRecord.vue new file mode 100644 index 0000000..ff21b14 --- /dev/null +++ b/src/views/User/Wallet/CertificateRecord.vue @@ -0,0 +1,88 @@ + + + \ No newline at end of file diff --git a/src/views/User/Point.vue b/src/views/User/Wallet/Point.vue similarity index 98% rename from src/views/User/Point.vue rename to src/views/User/Wallet/Point.vue index 6013511..748a492 100644 --- a/src/views/User/Point.vue +++ b/src/views/User/Wallet/Point.vue @@ -68,7 +68,7 @@ item.balance?.toFixed(2) }}
- + {{ item.nums > 0 ? "增加:+" : "减少:" }}{{ (item.nums).toFixed(2) }} diff --git a/src/views/User/Transfer.vue b/src/views/User/Wallet/Transfer.vue similarity index 88% rename from src/views/User/Transfer.vue rename to src/views/User/Wallet/Transfer.vue index 60d0b0f..85214e2 100644 --- a/src/views/User/Transfer.vue +++ b/src/views/User/Wallet/Transfer.vue @@ -2,12 +2,15 @@
- +
+ 被赠送人账号 +
+
{{ errorInfo }}
-
+ + -
+
-->
- 转账数额 + 赠送额度 + + + 赠送说明 +
- + + 500.00 +
- 确认转账 + 确认赠送
@@ -57,7 +66,7 @@ export default { // this.wallet = data[0]; // }).catch(err => { - // this.$showFailToast("获取钱包信息失败:" + err.errmsg); + // this.$showFailToast("获取钱包信息失败:" + err.message); // }); }, // watch: { @@ -91,6 +100,7 @@ export default { // }, data() { return { + amount: 500.00, checked: 'balance', checkedCH: "余额", left: 0, @@ -180,7 +190,7 @@ export default { if (err.errcode == 10702) { this.$showFailToast(this.checkedCH + "转出失败:可转出的" + this.checkedCH + "不足"); } else - this.$showFailToast(this.checkedCH + "转出失败:" + err.errmsg); + this.$showFailToast(this.checkedCH + "转出失败:" + err.message); }); }) }, 500);