From 3dc4d64215ee4e5b8b95fc40518df7e8713eb23b Mon Sep 17 00:00:00 2001 From: chen-xin-zhi <3588068430@qq.com> Date: Sat, 16 Aug 2025 22:14:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=92=E6=A9=991.1.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/course/courseDetail/courseDetail.js | 6 +- pages/course/courseDetail/courseDetail.json | 3 +- pages/course/courseDetail/courseDetail.wxss | 2 +- pages/course/courseDetail/image/cal.png | Bin 753 -> 4286 bytes pages/course/courseDetail/image/cal1.png | Bin 0 -> 753 bytes .../course/courseOrderList/courseOrderList.js | 256 +++++++------ .../courseOrderList/courseOrderList.json | 3 +- .../courseOrderList/courseOrderList.wxml | 2 +- pages/course/homepage/homepage.js | 5 +- pages/course/homepage/homepage.json | 3 +- pages/course/homepage/homepage.wxss | 7 +- pages/course/orderDetail/orderDetail.js | 339 ++++++++++-------- pages/course/orderDetail/orderDetail.json | 3 +- pages/course/searchCourses/searchCourses.wxss | 6 + .../overviewPerformance.js | 5 + .../overviewPerformance.json | 3 +- .../performanceRanking/performanceRanking.js | 30 +- .../performanceRanking.json | 3 +- .../performanceRanking.wxml | 2 +- .../performanceRanking.wxss | 7 +- .../staffPerformance/staffPerformance.js | 5 + .../staffPerformance/staffPerformance.json | 3 +- .../staffPerformance/staffPerformance.wxss | 2 +- .../supervisorPerformance.js | 5 + .../supervisorPerformance.json | 3 +- .../supervisorPerformance.wxss | 2 - .../userOrderPerformance.js | 5 + .../userOrderPerformance.json | 3 +- .../userOrderPerformance.wxss | 2 +- pages/personCenter/mine/images/order.png | Bin 6210 -> 5549 bytes pages/personCenter/mine/images/order1.png | Bin 0 -> 6210 bytes project.private.config.json | 2 +- request.js | 2 +- 33 files changed, 430 insertions(+), 289 deletions(-) create mode 100644 pages/course/courseDetail/image/cal1.png create mode 100644 pages/personCenter/mine/images/order1.png diff --git a/pages/course/courseDetail/courseDetail.js b/pages/course/courseDetail/courseDetail.js index 0d2f892..16c590f 100644 --- a/pages/course/courseDetail/courseDetail.js +++ b/pages/course/courseDetail/courseDetail.js @@ -91,7 +91,11 @@ Page({ onUnload() {}, - onPullDownRefresh() {}, + onPullDownRefresh() { + this.getCourseDetail() + // 停止下拉刷新动画 + wx.stopPullDownRefresh(); + }, onReachBottom() {}, diff --git a/pages/course/courseDetail/courseDetail.json b/pages/course/courseDetail/courseDetail.json index 8835af0..7360326 100644 --- a/pages/course/courseDetail/courseDetail.json +++ b/pages/course/courseDetail/courseDetail.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "enablePullDownRefresh": true } \ No newline at end of file diff --git a/pages/course/courseDetail/courseDetail.wxss b/pages/course/courseDetail/courseDetail.wxss index 4f41ec4..b7aaf15 100644 --- a/pages/course/courseDetail/courseDetail.wxss +++ b/pages/course/courseDetail/courseDetail.wxss @@ -74,7 +74,7 @@ display: flex; align-items: center; gap: 12rpx; - margin-bottom: 12rpx; + margin-bottom: 22rpx; } .head-icon { width: 34rpx; height: 34rpx; } .head-text { font-size: 28rpx; color: #111; font-weight: 600; } diff --git a/pages/course/courseDetail/image/cal.png b/pages/course/courseDetail/image/cal.png index 8d3c572896385550d740c6f510bd5b6b94208cb7..ca29b07a84ab7f69ee62e346e918da4f557d45de 100644 GIT binary patch literal 4286 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 literal 753 zcmVPx#1am@3R0s$N2z&@+hyVZrn@L1LR9J=Wm(ObxK@`WoGu?!x*_tSrCN@MIDNb@2)H+PVkrs|>#hh!Lq2NM&&0f1atSU3P< z>pp<XgYw?%9qQ@0K5(i3%> zo~YA!MpP071CoTZM@A4+l&;FG)M|K^|A}h7&gF!nlZRELhYodItd-GyK~O^Q==)bL zCv1Hz(A|~X&QO0q828LG>KRetGun#&DTj@xx45`3ej0(P88B@fYqu|eY3tlQ!RePE zvI6bxEVOsCT)zL@H2jH-rGu>%HUE@^@unElszS+T4gk#Z>W*r+;+fX>M4iSnqPBLu zKbe6vlHlTfkx>8u4Mm}3?{Ik{E1;n$06+3Wh5o?w;_Vy}t>2Z>B`1?KdNl6)4%eZEK8;$1pY?vn3@$ z*m?%G>w>Z3!zFz$i@i-fa;p2*C$xQg#E3xwm_)slqg`69Bk2KOe3e`V<2>>bBK( j2*IyLgFSwjPM7`y^4hgZQ&i!200000NkvXXu0mjf6^Bp# diff --git a/pages/course/courseDetail/image/cal1.png b/pages/course/courseDetail/image/cal1.png new file mode 100644 index 0000000000000000000000000000000000000000..8d3c572896385550d740c6f510bd5b6b94208cb7 GIT binary patch literal 753 zcmVPx#1am@3R0s$N2z&@+hyVZrn@L1LR9J=Wm(ObxK@`WoGu?!x*_tSrCN@MIDNb@2)H+PVkrs|>#hh!Lq2NM&&0f1atSU3P< z>pp<XgYw?%9qQ@0K5(i3%> zo~YA!MpP071CoTZM@A4+l&;FG)M|K^|A}h7&gF!nlZRELhYodItd-GyK~O^Q==)bL zCv1Hz(A|~X&QO0q828LG>KRetGun#&DTj@xx45`3ej0(P88B@fYqu|eY3tlQ!RePE zvI6bxEVOsCT)zL@H2jH-rGu>%HUE@^@unElszS+T4gk#Z>W*r+;+fX>M4iSnqPBLu zKbe6vlHlTfkx>8u4Mm}3?{Ik{E1;n$06+3Wh5o?w;_Vy}t>2Z>B`1?KdNl6)4%eZEK8;$1pY?vn3@$ z*m?%G>w>Z3!zFz$i@i-fa;p2*C$xQg#E3xwm_)slqg`69Bk2KOe3e`V<2>>bBK( j2*IyLgFSwjPM7`y^4hgZQ&i!200000NkvXXu0mjf6^Bp# literal 0 HcmV?d00001 diff --git a/pages/course/courseOrderList/courseOrderList.js b/pages/course/courseOrderList/courseOrderList.js index a8b1355..69863e2 100644 --- a/pages/course/courseOrderList/courseOrderList.js +++ b/pages/course/courseOrderList/courseOrderList.js @@ -4,104 +4,135 @@ const { notLogin } = require('../../../utils/util') // pages/course/courseOrderList/courseOrderList.js Page({ data: { - orderList: [], // 后端返回的订单列表 - hasModalShown: false, // 弹框只显示一次 + orderList: [], // 后端返回的订单列表 + hasModalShown: false, // 本次停留页面只弹一次 isMaskVisible: false }, - onLoad(options) { + // —— 内部状态(不放 data,避免多余 setData) + _timer: null, + _isActive: false, // 页面是否处于“可见/激活”状态 + _justEnteredAt: 0, // 进入页面时刻(可按需使用) + + onLoad() { + this._isActive = true; + this._justEnteredAt = Date.now(); this.fetchOrders(); }, + onShow() { + this._isActive = true; + this.fetchOrders(); // 如不想重复拉取可注释 + }, onHide() { - clearInterval(this._timer); + this._isActive = false; + this._clearTimer(); }, onUnload() { - clearInterval(this._timer); - }, - onShow() { - this.fetchOrders() + this._isActive = false; + this._clearTimer(); }, - // 拉取后端接口 + onPullDownRefresh() { + this.fetchOrders(); // stopPullDownRefresh 在 complete 里 + }, + + // ========= 工具函数 ========= + _clearTimer() { + if (this._timer) { + clearInterval(this._timer); + this._timer = null; + } + }, + _pad2(n) { + return String(n).padStart(2, '0'); + }, + _fmtCountDownStr(totalSec) { + const sec = Math.max(0, totalSec | 0); + const m = Math.floor(sec / 60); + const s = sec % 60; + return `${this._pad2(m)}分${this._pad2(s)}秒`; + }, + + // ========= 拉单 ========= fetchOrders() { wx.request({ - url: baseUrl + '/courseOrder/query/list', // 替换为真实接口 + url: baseUrl + '/courseOrder/query/list', method: 'POST', - header: { - Authorization: wx.getStorageSync('token') - }, + header: { Authorization: wx.getStorageSync('token') }, success: res => { - console.log('课程订单列表---->',res.data.data); if (res.data.code === 1) { const now = Date.now(); - let list = res.data.data.map(item => { - // 计算从 createTime 到 now 剩余秒数 - const createMs = new Date(item.createTime.replace(/-/g,'/')).getTime(); - let diff = Math.floor((createMs + 15*60*1000 - now) / 1000); + const list = (res.data.data || []).map(it => { + // 解析时间(iOS 兼容 + NaN 兜底) + const ts = new Date(String(it.createTime).replace(/-/g, '/')).getTime(); + const createMs = Number.isFinite(ts) ? ts : now; - // 只有“待支付”才需要倒计时、过期置“交易取消” - if (item.orderStatus === '待支付') { - if (diff <= 0) { - item.orderStatus = '交易取消'; - diff = 0; - // 首次检测到过期就弹框 - if (!this.data.hasModalShown) { - wx.showModal({ - title: '提示', - content: '订单超时未支付,已取消', - showCancel: false - }); - this.setData({ hasModalShown: true }); - } + // 统一按 15 分钟有效期(若后端返回 expireTime,建议直接用) + const ttlMs = 15 * 60 * 1000; + let diff = Math.floor((createMs + ttlMs - now) / 1000); + diff = Math.max(0, diff); + + if (it.orderStatus === '待支付') { + it.countDown = diff; + it.countDownStr = this._fmtCountDownStr(diff); + it._expiredNotified = false; // 每单的本地防重复标记 + + // 初始化阶段:如果已经超时(diff=0),静默转关闭,不弹窗 + if (diff === 0) { + it.orderStatus = '交易关闭'; + it.countDownStr = ''; } - item.countDown = diff; - const m = Math.floor(diff / 60); - const s = diff % 60; - item.countDownStr = `${m}分${s < 10 ? '0'+s : s}秒`; } else { - item.countDown = 0; - item.countDownStr = ''; + it.countDown = 0; + it.countDownStr = ''; } - return item; - }); - - this.setData({ orderList: list }, () => { - // 初始处理完后启动全局定时器 - this.startTimer(); + return it; }); + // 渲染 + 启动定时器 + this.setData({ orderList: list }, () => this._startTimer()); } else { - notLogin(res.data.message) + notLogin(res.data.message); } }, fail: () => { wx.showToast({ title: '网络错误', icon: 'none' }); + }, + complete: () => { + wx.stopPullDownRefresh(); } }); }, - // 每秒更新所有待支付订单的倒计时 - startTimer() { - // ← 新增:如果已有定时器,先清掉它 - if (this._timer) { - clearInterval(this._timer); - } + // ========= 定时器刷新 ========= + _startTimer() { + this._clearTimer(); + // 如果已经没有“待支付”的订单,就不启动定时器 + const hasPending = this.data.orderList.some(o => o.orderStatus === '待支付' && o.countDown > 0); + if (!hasPending) return; + this._timer = setInterval(() => { + // 不在激活页时不做任何 UI 相关动作(同时兜底不弹窗) + if (!this._isActive) return; + + let needRerender = false; const updated = this.data.orderList.map(item => { if (item.orderStatus === '待支付' && item.countDown > 0) { - const cd = item.countDown - 1; - item.countDown = cd; - const m = Math.floor(cd / 60); - const s = cd % 60; - item.countDownStr = `${m}分${s < 10 ? '0'+s : s}秒`; + const next = item.countDown - 1; + item.countDown = next; + item.countDownStr = this._fmtCountDownStr(next); + needRerender = true; - if (cd <= 0) { - item.orderStatus = '交易取消'; + if (next <= 0) { + item.orderStatus = '交易关闭'; item.countDownStr = ''; - if (!this.data.hasModalShown) { + + // —— 仅在“当前页面可见”时弹一次,并且每单只弹一次;本页全局也只弹一次 + if (this._isActive && !item._expiredNotified && !this.data.hasModalShown) { + item._expiredNotified = true; wx.showModal({ title: '提示', - content: '订单超时未支付,已取消', + content: '订单超时未支付,已关闭', showCancel: false }); this.setData({ hasModalShown: true }); @@ -110,17 +141,28 @@ Page({ } return item; }); - this.setData({ orderList: updated }); + + if (needRerender) { + this.setData({ orderList: updated }, () => { + // 如果已经没有可继续倒计时的订单,关掉定时器 + const stillPending = this.data.orderList.some(o => o.orderStatus === '待支付' && o.countDown > 0); + if (!stillPending) this._clearTimer(); + }); + } else { + // 没有需要更新的也关掉 + this._clearTimer(); + } }, 1000); }, + // ========= 支付相关 ========= showIsPayModal(e) { const orderId = e.currentTarget.dataset.orderId; wx.showModal({ - title: '下单成功', - content: '您确定要支付吗?', + title: '确认支付', + content: '是否立即支付该订单?', cancelText: '取消', - confirmText: '确定', + confirmText: '去支付', success: (res) => { if (res.confirm) { this.payOrder(orderId); @@ -130,73 +172,71 @@ Page({ }, fail: () => { wx.hideLoading(); - wx.showToast({ - title: '网络错误,下单失败', - icon: 'none' - }); + wx.showToast({ title: '网络错误', icon: 'none' }); } }); }, - payOrder(orderId) { - // 同样先显示遮罩 - this.setData({ isMaskVisible: true }); - wx.showLoading({ title: '支付中...'}); - wx.request({ - url: baseUrl + '/courseOrder/payment', - method: 'POST', - header: { Authorization: wx.getStorageSync('token') }, - data: { id: orderId}, - success: res => { - wx.hideLoading(); - if (res.data.code === 1) { - // 支付成功,跳转详情页 - wx.redirectTo({ - url: `/pages/course/orderDetail/orderDetail?id=${orderId}`, - success: res => { - // 先把遮罩关掉 - this.setData({ isMaskVisible: false }); - } - }); - } else { - this.setData({ isMaskVisible: false }); - wx.showToast({ title: res.data.message || '支付失败', icon: 'none' }); - } - }, - fail: () => { - wx.hideLoading(); - this.setData({ isMaskVisible: false }); - wx.showToast({ title: '网络错误,支付失败', icon: 'none' }); - } - }); - }, - // 跳转订单详情 + payOrder(orderId) { + this.setData({ isMaskVisible: true }); + wx.showLoading({ title: '支付中...' }); + wx.request({ + url: baseUrl + '/courseOrder/payment', + method: 'POST', + header: { Authorization: wx.getStorageSync('token') }, + data: { id: orderId }, // 与后端约定:支付接口传 id;若传 orderId 则改键名 + success: res => { + wx.hideLoading(); + if (res.data.code === 1) { + wx.redirectTo({ + url: `/pages/course/orderDetail/orderDetail?id=${orderId}`, + complete: () => { + this.setData({ isMaskVisible: false }); + } + }); + } else { + this.setData({ isMaskVisible: false }); + wx.showToast({ title: res.data.message || '支付失败', icon: 'none' }); + } + }, + fail: () => { + wx.hideLoading(); + this.setData({ isMaskVisible: false }); + wx.showToast({ title: '网络错误,支付失败', icon: 'none' }); + } + }); + }, + + // ========= 跳转 & 取消 ========= gotoOrderDetail(e) { const orderId = e.currentTarget.dataset.id; wx.navigateTo({ url: `/pages/course/orderDetail/orderDetail?id=${orderId}`, - }) + }); }, - // 取消订单 cancelOrder(e) { - // console.log(e); const id = e.currentTarget.dataset.id; wx.showModal({ title: '取消订单', - content: '是否要取消订单?', + content: '是否要取消该订单?', success: res => { if (res.confirm) { wx.request({ url: baseUrl + "/courseOrder/cancel", method: 'POST', - data: { courseId: id }, header: { Authorization: wx.getStorageSync('token') }, - success: () => this.fetchOrders() + data: { id }, // 如果后端需要 { orderId: id },改这里的键名即可 + success: r => { + if (r.data && r.data.code !== 1) { + wx.showToast({ title: r.data.message || '取消失败', icon: 'none' }); + } + this.fetchOrders(); + }, + fail: () => wx.showToast({ title: '网络错误', icon: 'none' }) }); } } }); } - }); diff --git a/pages/course/courseOrderList/courseOrderList.json b/pages/course/courseOrderList/courseOrderList.json index 8835af0..7360326 100644 --- a/pages/course/courseOrderList/courseOrderList.json +++ b/pages/course/courseOrderList/courseOrderList.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "enablePullDownRefresh": true } \ No newline at end of file diff --git a/pages/course/courseOrderList/courseOrderList.wxml b/pages/course/courseOrderList/courseOrderList.wxml index 1f402db..c3b0e4b 100644 --- a/pages/course/courseOrderList/courseOrderList.wxml +++ b/pages/course/courseOrderList/courseOrderList.wxml @@ -14,7 +14,7 @@ diff --git a/pages/course/homepage/homepage.js b/pages/course/homepage/homepage.js index e2b6e25..9d10a26 100644 --- a/pages/course/homepage/homepage.js +++ b/pages/course/homepage/homepage.js @@ -130,7 +130,10 @@ Page({ * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { - + this.getBannerList() + this.getCourseList() + // 停止下拉刷新动画 + wx.stopPullDownRefresh(); }, /** diff --git a/pages/course/homepage/homepage.json b/pages/course/homepage/homepage.json index 8835af0..7360326 100644 --- a/pages/course/homepage/homepage.json +++ b/pages/course/homepage/homepage.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "enablePullDownRefresh": true } \ No newline at end of file diff --git a/pages/course/homepage/homepage.wxss b/pages/course/homepage/homepage.wxss index a3a60be..8716b81 100644 --- a/pages/course/homepage/homepage.wxss +++ b/pages/course/homepage/homepage.wxss @@ -51,7 +51,7 @@ /* 列表(滚动) */ .list { flex: 1; - padding: 0 20rpx 20rpx; + padding: 0 30rpx; -webkit-overflow-scrolling: touch; overflow: auto; } @@ -61,11 +61,13 @@ /* 宫格布局 */ .grid { display: flex; + justify-content: space-between; flex-wrap: wrap; gap: 20rpx; + padding-bottom: 30rpx; } .grid-item { - width: 345rpx; + width: 335rpx; background: #fff; border-radius: 16rpx; overflow: hidden; @@ -87,6 +89,7 @@ font-size: 26rpx; color: #111; line-height: 36rpx; + min-height: 72rpx; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; diff --git a/pages/course/orderDetail/orderDetail.js b/pages/course/orderDetail/orderDetail.js index 909423a..7964cdb 100644 --- a/pages/course/orderDetail/orderDetail.js +++ b/pages/course/orderDetail/orderDetail.js @@ -2,27 +2,165 @@ import { baseUrl, globalImgUrl } from "../../../request"; Page({ data: { - countdown: '', + countdown: "", orderId: 0, - orderObj: {}, // 订单详情对象 - _secondsRemaining: 0, // 内部倒计时秒数 - _hasShownTimeout: false, // 是否已弹过“超时未支付”弹窗 + orderObj: {}, // 订单详情对象 + _secondsRemaining: 0, // 内部倒计时秒数 + _hasShownTimeout: false, // 是否已弹过“超时未支付”弹窗(本次页面停留期内) globalImgUrl, - isMaskVisible: false + isMaskVisible: false, + _isActive: false // 页面是否处于可见状态 }, + // —— 非 data 状态,避免无谓 setData + _timer: null, + onLoad(options) { - console.log('options---->',options); - this.setData({ orderId: options.id }); + this.setData({ orderId: options.id || 0 }); this.getOrderDetail(); }, + + onShow() { + this.setData({ _isActive: true }); + }, + + onHide() { + this.setData({ _isActive: false }); + this._clearTimer(); + }, + + onUnload() { + this.setData({ _isActive: false }); + this._clearTimer(); + }, + + onPullDownRefresh() { + this.getOrderDetail(); // stopPullDownRefresh 放到 complete 里,更稳 + }, + + // ====== 工具函数 ====== + _clearTimer() { + if (this._timer) { + clearInterval(this._timer); + this._timer = null; + } + }, + _pad2(n) { + return String(n).padStart(2, "0"); + }, + _format(sec) { + const m = Math.floor(sec / 60); + const s = sec % 60; + return `${this._pad2(m)}分${this._pad2(s)}秒`; + }, + + // ====== 拉取订单详情并初始化倒计时 ====== + getOrderDetail() { + wx.request({ + url: baseUrl + "/courseOrder/query/detail", + method: "POST", + data: { id: this.data.orderId }, + header: { Authorization: wx.getStorageSync("token") }, + success: (res) => { + if (res.data.code !== 1) { + wx.showToast({ title: res.data.message || "获取失败", icon: "none" }); + return; + } + + const order = res.data.data || {}; + this.setData({ orderObj: order }); + + // 只有“待支付”才需要倒计时;其它状态关掉计时器并清空文案 + if (order.orderStatus === "待支付") { + this._initFromCreateTime(order.createTime); + } else { + this._clearTimer(); + this.setData({ countdown: "" }); + } + }, + fail: () => wx.showToast({ title: "网络错误", icon: "none" }), + complete: () => wx.stopPullDownRefresh(), + }); + }, + + // 计算剩余秒数并启动定时器 + _initFromCreateTime(createTime) { + const ts = new Date(String(createTime).replace(/-/g, "/")).getTime(); + const createMs = Number.isFinite(ts) ? ts : Date.now(); + const ttlMs = 15 * 60 * 1000; // 15分钟有效 + const now = Date.now(); + let diff = Math.floor((createMs + ttlMs - now) / 1000); + diff = Math.max(0, diff); + + // 初始化阶段:如果已过期,静默转“交易关闭”(不弹窗,避免干扰) + if (diff === 0) { + const o = { ...this.data.orderObj, orderStatus: "交易关闭" }; + this._clearTimer(); + this.setData({ orderObj: o, countdown: "" }); + return; + } + + // 未过期:初始化倒计时并启动 + this._clearTimer(); + this.setData({ + _secondsRemaining: diff, + countdown: this._format(diff), + _hasShownTimeout: false, // 重置本页弹窗标记 + }); + this._startTimer(); + }, + + // 每秒递减 + _startTimer() { + this._clearTimer(); + this._timer = setInterval(() => { + const sec = this.data._secondsRemaining - 1; + + if (sec <= 0) { + this._clearTimer(); + this._handleTimeout(); // 到点且在当前页,才弹窗 + return; + } + + this.setData({ + _secondsRemaining: sec, + countdown: this._format(sec), + }); + }, 1000); + }, + + // 超时处理:仅在当前页可见时弹一次,并把状态改为“交易关闭” + _handleTimeout() { + const { _isActive, _hasShownTimeout } = this.data; + + // 更新状态并隐藏倒计时 + const o = { ...this.data.orderObj, orderStatus: "交易关闭" }; + this.setData({ orderObj: o, countdown: "" }); + + // 只在当前页面 & 未弹过 时弹一次 + if (_isActive && !_hasShownTimeout) { + wx.showModal({ + title: "提示", + content: "订单超时未支付,已关闭", + showCancel: false, + complete: () => { + // 标记已弹 + this.setData({ _hasShownTimeout: true }); + }, + }); + } else { + this.setData({ _hasShownTimeout: true }); + } + }, + + // ====== 支付相关 ====== showIsPayModal() { - const {orderId} = this.data + const { orderId } = this.data; wx.showModal({ - title: '下单成功', - content: '您确定要支付吗?', - cancelText: '取消', - confirmText: '确定', + title: "确认支付", + content: "是否立即支付该订单?", + cancelText: "取消", + confirmText: "去支付", success: (res) => { if (res.confirm) { this.payOrder(orderId); @@ -32,163 +170,70 @@ Page({ }, fail: () => { wx.hideLoading(); - wx.showToast({ - title: '网络错误,下单失败', - icon: 'none' - }); - } + wx.showToast({ title: "网络错误", icon: "none" }); + }, }); }, + payOrder(orderId) { - // 同样先显示遮罩 - this.setData({ isMaskVisible: true }); - wx.showLoading({ title: '支付中...'}); - wx.request({ - url: baseUrl + '/courseOrder/payment', - method: 'POST', - header: { Authorization: wx.getStorageSync('token') }, - data: { id: orderId}, - success: res => { - wx.hideLoading(); - if (res.data.code === 1) { - // 支付成功,跳转详情页 - wx.redirectTo({ - url: `/pages/course/orderDetail/orderDetail?id=${orderId}`, - success: res => { - // 先把遮罩关掉 - this.setData({ isMaskVisible: false }); - } - }); - } else { - this.setData({ isMaskVisible: false }); - wx.showToast({ title: res.data.message || '支付失败', icon: 'none' }); - } - }, - fail: () => { - wx.hideLoading(); - this.setData({ isMaskVisible: false }); - wx.showToast({ title: '网络错误,支付失败', icon: 'none' }); - } - }); - }, - onUnload() { - clearInterval(this._timer); - }, + this.setData({ isMaskVisible: true }); + wx.showLoading({ title: "支付中..." }); - // 拉取订单详情并初始化倒计时 - getOrderDetail() { wx.request({ - url: baseUrl + '/courseOrder/query/detail', - method: 'POST', - data: { id: this.data.orderId }, - header: { Authorization: wx.getStorageSync('token') }, - success: res => { - console.log('订单详情--->',res.data.data); - if (res.data.code !== 1) return wx.showToast({ title: res.data.message, icon: 'none' }); - - const order = res.data.data; - this.setData({ orderObj: order }); - - // 仅“待支付”需要倒计时 - if (order.orderStatus === '待支付') { - this._initFromCreateTime(order.createTime); + url: baseUrl + "/courseOrder/payment", + method: "POST", + header: { Authorization: wx.getStorageSync("token") }, + data: { id: orderId }, // 若后端用 orderId,则把键名改为 orderId + success: (res) => { + wx.hideLoading(); + if (res.data.code === 1) { + wx.redirectTo({ + url: `/pages/course/orderDetail/orderDetail?id=${orderId}`, + complete: () => this.setData({ isMaskVisible: false }), + }); + } else { + this.setData({ isMaskVisible: false }); + wx.showToast({ title: res.data.message || "支付失败", icon: "none" }); } }, - fail: () => wx.showToast({ title: '网络错误', icon: 'none' }) + fail: () => { + wx.hideLoading(); + this.setData({ isMaskVisible: false }); + wx.showToast({ title: "网络错误,支付失败", icon: "none" }); + }, }); }, - // 计算剩余秒数并启动定时器 - _initFromCreateTime(createTime) { - // 将 "2025-07-13 12:38:17" → 时间戳 - const createMs = new Date(createTime.replace(/-/g, '/')).getTime(); - const now = Date.now(); - let diff = Math.floor((createMs + 15 * 60 * 1000 - now) / 1000); - - if (diff <= 0) { - // 已超时 - this._handleTimeout(); - } else { - // 未超时,初始化秒数并启动倒计时 - this.setData({ - _secondsRemaining: diff, - countdown: this._format(diff) - }); - this._startTimer(); - } - }, - - // 每秒递减 - _startTimer() { - this._timer = setInterval(() => { - let sec = this.data._secondsRemaining - 1; - if (sec <= 0) { - clearInterval(this._timer); - this._handleTimeout(); - } else { - this.setData({ - _secondsRemaining: sec, - countdown: this._format(sec) - }); - } - }, 1000); - }, - - // 超时处理:弹窗 + 改状态 - _handleTimeout() { - if (!this.data._hasShownTimeout) { - wx.showModal({ - title: '提示', - content: '订单超时未支付,已取消', - showCancel: false - }); - this.setData({ _hasShownTimeout: true }); - } - // 更新状态并隐藏倒计时 - const o = this.data.orderObj; - o.orderStatus = '交易取消'; - this.setData({ - orderObj: o, - countdown: '00分00秒' - }); - }, - - // 秒数 → "MM分SS秒" - _format(sec) { - const m = Math.floor(sec / 60); - const s = sec % 60; - const mm = m < 10 ? '0' + m : m; - const ss = s < 10 ? '0' + s : s; - return `${mm}分${ss}秒`; - }, - - // 取消订单 + // ====== 取消、退款(示例) ====== cancelOrder() { wx.showModal({ - title: '取消订单', - content: '是否要取消订单?', - success: res => { + title: "取消订单", + content: "是否要取消订单?", + success: (res) => { if (res.confirm) { wx.request({ url: baseUrl + "/courseOrder/cancel", - method: 'POST', - data: { courseId: this.data.orderId }, - header: { Authorization: wx.getStorageSync('token') }, - success: () => this.getOrderDetail() + method: "POST", + header: { Authorization: wx.getStorageSync("token") }, + data: { id: this.data.orderId }, // 后端如果需要 { orderId },改键名 + success: (r) => { + if (!r.data || r.data.code !== 1) { + wx.showToast({ title: (r.data && r.data.message) || "取消失败", icon: "none" }); + } + this.getOrderDetail(); + }, + fail: () => wx.showToast({ title: "网络错误", icon: "none" }), }); } - } + }, }); }, - // 去支付(示例跳转) goPay() { - // wx.navigateTo({ url: `/pages/pay/pay?orderId=${this.data.orderId}` }); - wx.showToast({ title: '支付功能稍后开放', icon: 'none' }); + wx.showToast({ title: "支付功能稍后开放", icon: "none" }); }, - // 退款(示例弹窗) refundOrder() { - wx.showToast({ title: '退款功能稍后开放', icon: 'none' }); - } + wx.showToast({ title: "退款功能稍后开放", icon: "none" }); + }, }); diff --git a/pages/course/orderDetail/orderDetail.json b/pages/course/orderDetail/orderDetail.json index 8835af0..7360326 100644 --- a/pages/course/orderDetail/orderDetail.json +++ b/pages/course/orderDetail/orderDetail.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "enablePullDownRefresh": true } \ No newline at end of file diff --git a/pages/course/searchCourses/searchCourses.wxss b/pages/course/searchCourses/searchCourses.wxss index a70c7ee..40b920e 100644 --- a/pages/course/searchCourses/searchCourses.wxss +++ b/pages/course/searchCourses/searchCourses.wxss @@ -130,3 +130,9 @@ /* ===== 如你项目里已有的工具类,可保留或删除 ===== */ .ml-3 { margin-left: 6rpx; } .mt-17 { margin-top: 12rpx; } + +::-webkit-scrollbar { + width: 0; + height: 0; + background: transparent; +} \ No newline at end of file diff --git a/pages/dashboardModule/overviewPerformance/overviewPerformance.js b/pages/dashboardModule/overviewPerformance/overviewPerformance.js index 78bdc4b..f2c2bb4 100644 --- a/pages/dashboardModule/overviewPerformance/overviewPerformance.js +++ b/pages/dashboardModule/overviewPerformance/overviewPerformance.js @@ -57,6 +57,11 @@ Page({ else if (trueCount === 1) this.setData({widthRate: '100%'}) }, + onPullDownRefresh() { + this.fetchPerformance() + wx.stopPullDownRefresh(); + }, + fetchPerformance() { wx.request({ url: baseUrl + '/perform/mini/query/dashboard', diff --git a/pages/dashboardModule/overviewPerformance/overviewPerformance.json b/pages/dashboardModule/overviewPerformance/overviewPerformance.json index 8835af0..7360326 100644 --- a/pages/dashboardModule/overviewPerformance/overviewPerformance.json +++ b/pages/dashboardModule/overviewPerformance/overviewPerformance.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "enablePullDownRefresh": true } \ No newline at end of file diff --git a/pages/dashboardModule/performanceRanking/performanceRanking.js b/pages/dashboardModule/performanceRanking/performanceRanking.js index c701e23..383357e 100644 --- a/pages/dashboardModule/performanceRanking/performanceRanking.js +++ b/pages/dashboardModule/performanceRanking/performanceRanking.js @@ -6,14 +6,17 @@ Page({ // 用于存储输入框数据 nickName: '', phoneNumber: '', - selectedSortField: '员工数量', // 默认选择"待选择" - selectedSortOrder: '升序', // 默认选择升序 + selectedSortField: '员工数量', // 默认选择"员工数量" + selectedSortOrder: '降序', // 默认选择升序 sortFieldsByManager: ['员工数量', '推广人数', '下单数量', '总订单金额', '净成交金额'], sortFieldsBySupervisor: ['推广人数', '下单数量', '总订单金额', '净成交金额'], + sortField: 'empCount', + sortOrder: 'descend', sortOrders: ['升序', '降序'], items: [], // 用于存储查询结果 role: '', // 假设初始为主管角色,可以根据实际情况动态设置 - k: 1 + k: 1, + showRole: '' }, // 主管名称输入 @@ -32,7 +35,6 @@ Page({ // 选择排序字段 onSortFieldChange(e) { - const { role } = this.data; const sortFieldsMap = { '员工数量': 'empCount', '推广人数': 'promoCount', @@ -40,8 +42,8 @@ Page({ '总订单金额': 'totalAmount', '净成交金额': 'netAmount' }; - - const selectedField = this.data.sortFieldsByManager[e.detail.value] || this.data.sortFieldsBySupervisor[e.detail.value]; + const { showRole, sortFieldsByManager, sortFieldsBySupervisor } = this.data + let selectedField = showRole === '主管' ? sortFieldsByManager[e.detail.value] : sortFieldsBySupervisor[e.detail.value]; this.setData({ selectedSortField: selectedField, sortField: sortFieldsMap[selectedField], // 默认是 id @@ -61,7 +63,7 @@ Page({ // 搜索按钮点击 onSearch() { - const { role } = this.data; + const { showRole, role } = this.data; // // —— 新增:校验主管名称 —— // const nameRegex = /^[\u4e00-\u9fa5]+$/; // if (!this.data.nickName) { @@ -98,12 +100,17 @@ Page({ mask: true // 显示遮罩层 }); + if (showRole === '员工') { + this.setData({ sortField: 'promoCount' }) + } + const requestData = { nickName: this.data.nickName, phoneNumber: this.data.phoneNumber, sortField: this.data.sortField || '', sortOrder: this.data.sortOrder || 'ascend' }; + console.log('requestData====>', requestData) if(role === 'manager') { wx.request({ @@ -129,7 +136,6 @@ Page({ fail: () => { // 请求失败后,隐藏loading wx.hideLoading(); - console.log('111'); wx.showToast({ title: '请求失败', icon: 'none' @@ -193,5 +199,11 @@ Page({ } this.setData({ showRole }); this.onSearch() - } + }, + + onPullDownRefresh() { + this.onSearch() + wx.stopPullDownRefresh(); + }, + }); \ No newline at end of file diff --git a/pages/dashboardModule/performanceRanking/performanceRanking.json b/pages/dashboardModule/performanceRanking/performanceRanking.json index 8835af0..7360326 100644 --- a/pages/dashboardModule/performanceRanking/performanceRanking.json +++ b/pages/dashboardModule/performanceRanking/performanceRanking.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "enablePullDownRefresh": true } \ No newline at end of file diff --git a/pages/dashboardModule/performanceRanking/performanceRanking.wxml b/pages/dashboardModule/performanceRanking/performanceRanking.wxml index df1c074..076f3ea 100644 --- a/pages/dashboardModule/performanceRanking/performanceRanking.wxml +++ b/pages/dashboardModule/performanceRanking/performanceRanking.wxml @@ -46,7 +46,7 @@ bindchange="onSortFieldChange"> {{ selectedSortField }} - + diff --git a/pages/dashboardModule/performanceRanking/performanceRanking.wxss b/pages/dashboardModule/performanceRanking/performanceRanking.wxss index 8907b22..a6c3c9b 100644 --- a/pages/dashboardModule/performanceRanking/performanceRanking.wxss +++ b/pages/dashboardModule/performanceRanking/performanceRanking.wxss @@ -77,17 +77,18 @@ background: #ffffff; display: flex; align-items: center; + position: relative; } .picker-inner { padding: 0 20rpx; - width: 100%; + width: 270rpx; height: 84rpx; display: flex; align-items: center; justify-content: space-between; } -.picker-text { font-size: 28rpx; color: #1f1f1f; } -.arrow { width: 28rpx; height: 28rpx; } +.picker-text { font-size: 28rpx; color: #1f1f1f;} +.arrow { width: 28rpx; height: 28rpx; position: absolute; right: 20rpx;} /* 搜索按钮 */ .btn { diff --git a/pages/dashboardModule/staffPerformance/staffPerformance.js b/pages/dashboardModule/staffPerformance/staffPerformance.js index cf02a88..8ed3f20 100644 --- a/pages/dashboardModule/staffPerformance/staffPerformance.js +++ b/pages/dashboardModule/staffPerformance/staffPerformance.js @@ -106,6 +106,11 @@ Page({ this.onSearchSupId(); }, + onPullDownRefresh() { + this.onSearchSupId() + wx.stopPullDownRefresh(); + }, + // 跳转用户订单 gotoUser(e) { const { id } = e.currentTarget.dataset; diff --git a/pages/dashboardModule/staffPerformance/staffPerformance.json b/pages/dashboardModule/staffPerformance/staffPerformance.json index 8835af0..7360326 100644 --- a/pages/dashboardModule/staffPerformance/staffPerformance.json +++ b/pages/dashboardModule/staffPerformance/staffPerformance.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "enablePullDownRefresh": true } \ No newline at end of file diff --git a/pages/dashboardModule/staffPerformance/staffPerformance.wxss b/pages/dashboardModule/staffPerformance/staffPerformance.wxss index c8c8868..f2cc69b 100644 --- a/pages/dashboardModule/staffPerformance/staffPerformance.wxss +++ b/pages/dashboardModule/staffPerformance/staffPerformance.wxss @@ -126,7 +126,7 @@ } .row-key { font-size: 26rpx; color: #666666; } .row-val { display: flex; align-items: center; gap: 16rpx; } -.mono { font-size: 28rpx; color: #1f1f1f; font-family: monospace; letter-spacing: 1rpx; } +.mono { font-size: 28rpx; color: #1f1f1f; } .copy { font-size: 24rpx; color: #ff8a00; diff --git a/pages/dashboardModule/supervisorPerformance/supervisorPerformance.js b/pages/dashboardModule/supervisorPerformance/supervisorPerformance.js index bc6456c..33749a1 100644 --- a/pages/dashboardModule/supervisorPerformance/supervisorPerformance.js +++ b/pages/dashboardModule/supervisorPerformance/supervisorPerformance.js @@ -83,6 +83,11 @@ Page({ this.onSearch() }, + onPullDownRefresh() { + this.onSearch() + wx.stopPullDownRefresh(); + }, + changeStaff(e) { const { id } = e.currentTarget.dataset; diff --git a/pages/dashboardModule/supervisorPerformance/supervisorPerformance.json b/pages/dashboardModule/supervisorPerformance/supervisorPerformance.json index 8835af0..7360326 100644 --- a/pages/dashboardModule/supervisorPerformance/supervisorPerformance.json +++ b/pages/dashboardModule/supervisorPerformance/supervisorPerformance.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "enablePullDownRefresh": true } \ No newline at end of file diff --git a/pages/dashboardModule/supervisorPerformance/supervisorPerformance.wxss b/pages/dashboardModule/supervisorPerformance/supervisorPerformance.wxss index 8b0ba60..dfa52e4 100644 --- a/pages/dashboardModule/supervisorPerformance/supervisorPerformance.wxss +++ b/pages/dashboardModule/supervisorPerformance/supervisorPerformance.wxss @@ -163,8 +163,6 @@ .mono { font-size: 28rpx; color: #1f1f1f; - font-family: monospace; - letter-spacing: 1rpx; } .copy { diff --git a/pages/dashboardModule/userOrderPerformance/userOrderPerformance.js b/pages/dashboardModule/userOrderPerformance/userOrderPerformance.js index 8d00ac4..1bb890d 100644 --- a/pages/dashboardModule/userOrderPerformance/userOrderPerformance.js +++ b/pages/dashboardModule/userOrderPerformance/userOrderPerformance.js @@ -17,6 +17,11 @@ Page({ this.searchOrderByStaffId() }, + onPullDownRefresh() { + this.searchOrderByStaffId() + wx.stopPullDownRefresh(); + }, + // 输入框内容变化 onOrderNumberInput(e) { this.setData({ diff --git a/pages/dashboardModule/userOrderPerformance/userOrderPerformance.json b/pages/dashboardModule/userOrderPerformance/userOrderPerformance.json index 8835af0..7360326 100644 --- a/pages/dashboardModule/userOrderPerformance/userOrderPerformance.json +++ b/pages/dashboardModule/userOrderPerformance/userOrderPerformance.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "enablePullDownRefresh": true } \ No newline at end of file diff --git a/pages/dashboardModule/userOrderPerformance/userOrderPerformance.wxss b/pages/dashboardModule/userOrderPerformance/userOrderPerformance.wxss index 34ba5a6..bc959ed 100644 --- a/pages/dashboardModule/userOrderPerformance/userOrderPerformance.wxss +++ b/pages/dashboardModule/userOrderPerformance/userOrderPerformance.wxss @@ -87,7 +87,7 @@ flex-wrap: wrap; } .label { font-size: 26rpx; color: #666666; } -.mono { font-size: 28rpx; color: #1f1f1f; font-family: monospace; letter-spacing: 1rpx; } +.mono { font-size: 28rpx; color: #1f1f1f; } .badge { height: 40rpx; diff --git a/pages/personCenter/mine/images/order.png b/pages/personCenter/mine/images/order.png index e486e65ada94a3925229302eb1ded8b31f0850a7..2c5182486bb8269a31d1f14a1edc83bd98fd37e9 100644 GIT binary patch literal 5549 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 literal 6210 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 Ky5ym$|Nj9GR(#_C diff --git a/pages/personCenter/mine/images/order1.png b/pages/personCenter/mine/images/order1.png new file mode 100644 index 0000000000000000000000000000000000000000..e486e65ada94a3925229302eb1ded8b31f0850a7 GIT binary patch literal 6210 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 Ky5ym$|Nj9GR(#_C literal 0 HcmV?d00001 diff --git a/project.private.config.json b/project.private.config.json index 8255393..a38d28b 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -3,7 +3,7 @@ "projectname": "qingcheng-xiaochengxu", "setting": { "compileHotReLoad": true, - "urlCheck": false, + "urlCheck": true, "bigPackageSizeSupport": false }, "condition": {}, diff --git a/request.js b/request.js index fafe15e..8ddc958 100644 --- a/request.js +++ b/request.js @@ -4,6 +4,6 @@ export const dev = 'http://160.202.242.36:9091'; export const test = 'http://160.202.242.36:9092'; export const localTest = 'http://localhost:9092'; export const ssl = 'https://www.chenxinzhi.top' -export const baseUrl = test; +export const baseUrl = ssl; export const globalImgUrl = baseUrl + '/file/download/' \ No newline at end of file