From e679915b6c1c73cb0c486cc3cdbf0aefa82c0e31 Mon Sep 17 00:00:00 2001 From: quantulr <35954003+quantulr@users.noreply.github.com> Date: Fri, 17 May 2024 17:14:40 +0800 Subject: [PATCH] update --- icon/package.svg | 1 + pages/logistics_details/logistics_details.js | 29 ++++++- .../logistics_details/logistics_details.wxml | 66 ++++++++++++---- .../logistics_details/logistics_details.wxss | 48 +++++++++++- pages/my/applyAfter_sales/applyAfter_sales.js | 7 +- .../my/applyAfter_sales/applyAfter_sales.wxml | 43 ++++++++++- pages/my/my_order/my_order.js | 4 +- pages/my/my_order/my_order.wxml | 29 ++++--- pages/order_details/order_details.js | 18 +++-- pages/order_details/order_details.wxml | 77 +++++++++++++++---- pages/order_details/order_details.wxss | 11 ++- 11 files changed, 272 insertions(+), 61 deletions(-) create mode 100644 icon/package.svg diff --git a/icon/package.svg b/icon/package.svg new file mode 100644 index 0000000..760e206 --- /dev/null +++ b/icon/package.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pages/logistics_details/logistics_details.js b/pages/logistics_details/logistics_details.js index ad3736b..bfb4dce 100644 --- a/pages/logistics_details/logistics_details.js +++ b/pages/logistics_details/logistics_details.js @@ -6,7 +6,10 @@ Page({ * 页面的初始数据 */ data: { + logistics: [], + activePackage: 0, records: [], + logisticsName: null, expressComName: [ "圆通速递", "申通快递", @@ -67,7 +70,15 @@ Page({ }) this.getExpressData() }, - + pickPackage(e) { + const { index } = e.currentTarget.dataset + const { logistics } = this.data + this.setData({ + activePackage: index, + num: logistics[index].logisticsNumber + }) + this.getExpressData() + }, // 获取物流信息 getExpressData() { getExpressDetail({ @@ -91,15 +102,25 @@ Page({ } }) }, - + copyLogisticsNumber(e) { + const { logisticsNumber } = e.currentTarget.dataset + wx.setClipboardData({ + data: logisticsNumber, + }) + }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { - const { logisticsNum, logisticsName } = options + const { logistics, logisticsName, orderNumber } = options + this.setData({ + logistics: logistics ? JSON.parse(logistics) : null, + orderNumber, + logisticsName + }) const index = this.data.expressComs.findIndex(el => el.name === logisticsName) this.setData({ - num: logisticsNum, + num: this.data.logistics[0].logisticsNumber, currentExpressComIndex: index < 0 ? 0 : index }) this.getExpressData() diff --git a/pages/logistics_details/logistics_details.wxml b/pages/logistics_details/logistics_details.wxml index 50d43cd..74c8ebd 100644 --- a/pages/logistics_details/logistics_details.wxml +++ b/pages/logistics_details/logistics_details.wxml @@ -1,20 +1,54 @@ - - - - - - {{expressComs[currentExpressComIndex].name}} + + 订单编号: {{orderNumber}}{{logistics.length}}个包裹 + + + + + + + 包裹{{index+1}} + + + + + + 快递走件,催派等物流信息,请联系物流公司,如需平台接入请联系客服 + + + + + {{expressComs[currentExpressComIndex].name}} + + + + + 运单号: {{logistics[activePackage].logisticsNumber}} + + + + + {{item.name}} + {{item.spec}} + {{item.num}} + - :{{num}} - - - - - - {{item.time}} - {{item.context}} - 暂无物流信息,请检查快递单号或者快递公司是否正确,可以点击左上方快递公司名称选择正确的快递公司。 - \ No newline at end of file + + + 物流详情 + + + + + + {{item.time}} + {{item.context}} + + + 暂无物流信息,请检查快递单号或者快递公司是否正确,可以点击左上方快递公司名称选择正确的快递公司。 + + + + \ No newline at end of file diff --git a/pages/logistics_details/logistics_details.wxss b/pages/logistics_details/logistics_details.wxss index d5ad864..504a83e 100644 --- a/pages/logistics_details/logistics_details.wxss +++ b/pages/logistics_details/logistics_details.wxss @@ -1,4 +1,45 @@ /* pages/logistics_details/logistics_details.wxss */ +page { + background-color: #f2f2f2; +} + +.packages-scroll { + display: flex; + flex-direction: row; + height: 128rpx; +} + +.packages-scroll .package { + position: relative; + display: flex; + justify-content: center; + align-items: center; + width: 200rpx; + height: 96rpx; + background-color: #fff; + border-radius: 16rpx; + overflow: hidden; +} + +.packages-scroll .package .icon { + width: 48rpx; + height: 48rpx; + margin-right: 4rpx; +} + +.packages-scroll .package .active-indicator { + position: absolute; + height: 12rpx; + width: 100%; + bottom: 0; + left: 0; + background-color: #f85900; +} + +.packages-scroll .package:not(:first-of-type) { + margin-left: 20rpx; +} + .record-item { /* padding-bottom: 48rpx; */ display: flex; @@ -6,6 +47,11 @@ position: relative; padding-left: 48rpx; } +.goods-name { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} .record-item:not(:last-child) { padding-bottom: 48rpx; @@ -43,4 +89,4 @@ width: 2rpx; background-color: gray; opacity: 50%; -} \ No newline at end of file +} diff --git a/pages/my/applyAfter_sales/applyAfter_sales.js b/pages/my/applyAfter_sales/applyAfter_sales.js index 087d8f6..a57b59c 100644 --- a/pages/my/applyAfter_sales/applyAfter_sales.js +++ b/pages/my/applyAfter_sales/applyAfter_sales.js @@ -11,6 +11,8 @@ Page({ ipUrl: app.globalData.ipUrl, textarea: '', total: 0, + package: null, + packageId: null }, /** @@ -18,6 +20,7 @@ Page({ */ onLoad: function (options) { this.setData({ + packageId: options.packageId, orderId: options.id, num: options.num, sq: options.sq, @@ -51,6 +54,7 @@ Page({ let goods = res.data.value; this.setData({ goods: goods, + package: goods.logistics ? JSON.parse(goods.logistics).find(el => el.id == this.data.packageId) : null }) } else { wx.showModal({ @@ -144,7 +148,8 @@ Page({ orderRefund: this.data.textarea, orderId: parseInt(this.data.orderId), orderRefundImg: photos, - status: this.data.sq == 1 ? 62 : 61 + status: this.data.sq == 1 ? 62 : 61, + packageId: this.data.packageId }, success: res => { console.log(res) diff --git a/pages/my/applyAfter_sales/applyAfter_sales.wxml b/pages/my/applyAfter_sales/applyAfter_sales.wxml index eb8c296..a791a8d 100644 --- a/pages/my/applyAfter_sales/applyAfter_sales.wxml +++ b/pages/my/applyAfter_sales/applyAfter_sales.wxml @@ -1,4 +1,45 @@ - + + function findGoods(goodsList, id) { + // 初始化一个变量来存储找到的商品 + var found = null; + + // 遍历商品列表以查找具有指定ID的商品 + for (var i = 0; i < goodsList.length; i++) { + if (goodsList[i].id === id) { + found = goodsList[i]; + break; + } + } + + // 如果找到了商品,返回商品的照片 + if (found !== null) { + return found; + } + + // 如果没有找到,返回undefined + return undefined; + } + module.exports = { + findGoods: findGoods, + } + + + + + + + + {{item.name}} + 规格:{{item.spec}} + + {{findGoods.findGoods(goods.goodsList, item.id).orderPayWay!=2?'¥':''}}{{findGoods.findGoods(goods.goodsList, item.id).wisdGoodsSpec.specBulyPrice==null?findGoods.findGoods(goods.goodsList, item.id).wisdGoodsSpec.specPrice:findGoods.findGoods(goods.goodsList, item.id).wisdGoodsSpec.specBulyPrice}}{{findGoods.findGoods(goods.goodsList, item.id).orderPayWay!=2?'':'积分'}} + + ¥0 + + x{{item.num}} + + + diff --git a/pages/my/my_order/my_order.js b/pages/my/my_order/my_order.js index 4012a7e..0f0b9c3 100644 --- a/pages/my/my_order/my_order.js +++ b/pages/my/my_order/my_order.js @@ -163,9 +163,9 @@ Page({ }) }, viewLogisticsDetails(e) { - const { logisticsNum, logisticsName } = e.currentTarget.dataset + const { logistics, logisticsName, orderNumber } = e.currentTarget.dataset wx.navigateTo({ - url: `/pages/logistics_details/logistics_details?logisticsNum=${logisticsNum}&logisticsName=${logisticsName}`, + url: `/pages/logistics_details/logistics_details?orderNumber=${orderNumber}&logistics=${logistics}&logisticsName=${logisticsName}`, }) }, diff --git a/pages/my/my_order/my_order.wxml b/pages/my/my_order/my_order.wxml index 2a6d740..479649b 100644 --- a/pages/my/my_order/my_order.wxml +++ b/pages/my/my_order/my_order.wxml @@ -29,22 +29,22 @@ - + {{item.status==5?'已取消':item.status==1?'待支付':item.status==2?'待发货':item.status==3?'待收货':item.status==4?'已完成':''}} - + {{ - item.status==61?'换货审核中' - :item.status==62?'退货审核中' - :item.status==63&&item.orderRefundType==1?'换货申请成功' - :item.status==63&&item.orderRefundType==2?'退货申请成功' - :item.status==64&&item.orderRefundType==1?'换货待商家收货' - :item.status==64&&item.orderRefundType==2?'退货待商家收货' - :item.status==65&&item.orderRefundType==1?'换货完成' - :item.status==65&&item.orderRefundType==2?'退货完成' - :item.status==65&&item.orderRefundType==3?'退款完成' - :item.status==66&&item.orderRefundType==1?'换货失败' - :item.status==66&&item.orderRefundType==2?'退货失败' + item.afterSalesStatus==61?'换货审核中' + :item.afterSalesStatus==62?'退货审核中' + :item.afterSalesStatus==63&&item.orderRefundType==1?'换货申请成功' + :item.afterSalesStatus==63&&item.orderRefundType==2?'退货申请成功' + :item.afterSalesStatus==64&&item.orderRefundType==1?'换货待商家收货' + :item.afterSalesStatus==64&&item.orderRefundType==2?'退货待商家收货' + :item.afterSalesStatus==65&&item.orderRefundType==1?'换货完成' + :item.afterSalesStatus==65&&item.orderRefundType==2?'退货完成' + :item.afterSalesStatus==65&&item.orderRefundType==3?'退款完成' + :item.afterSalesStatus==66&&item.orderRefundType==1?'换货失败' + :item.afterSalesStatus==66&&item.orderRefundType==2?'退货失败' :'' }} @@ -75,7 +75,7 @@ 您需要在{{item.timeStr}}内处理 - 物流查询 + 物流查询 确认收货 立即支付 删除订单 @@ -93,7 +93,6 @@ 退换货记录 - diff --git a/pages/order_details/order_details.js b/pages/order_details/order_details.js index b7031cd..8579308 100644 --- a/pages/order_details/order_details.js +++ b/pages/order_details/order_details.js @@ -74,7 +74,8 @@ Page({ this.setData({ goods: goods, total: total, - numAll: numAll + numAll: numAll, + logistics: goods.logistics ? JSON.parse(goods.logistics) : null }) if (goods.status == 1) { this.setData({ @@ -150,7 +151,14 @@ Page({ } }) }, - + //申请售后 + apply: function (e) { + const { id, num, sq, packageId } = e.currentTarget.dataset + console.log(packageId); + wx.navigateTo({ + url: '/pages/my/applyAfter_sales/applyAfter_sales?id=' + id + '&num=' + num + '&sq=' + sq + "&packageId=" + packageId, + }) + }, countDown() { let leftoverDayI = this.data.leftoverDayI; let nowTime = new Date().getTime() @@ -278,7 +286,7 @@ Page({ }, // 评价订单 - rate(e){ + rate(e) { wx.navigateTo({ url: '/pages/rate/rate', }) @@ -342,9 +350,9 @@ Page({ }) }, viewLogisticsDetails(e) { - const { logisticsNum, logisticsName } = e.currentTarget.dataset + const { logistics, logisticsName, orderNumber } = e.currentTarget.dataset wx.navigateTo({ - url: `/pages/logistics_details/logistics_details?logisticsNum=${logisticsNum}&logisticsName=${logisticsName}`, + url: `/pages/logistics_details/logistics_details?orderNumber=${orderNumber}&logistics=${logistics}&logisticsName=${logisticsName}`, }) }, /** diff --git a/pages/order_details/order_details.wxml b/pages/order_details/order_details.wxml index 3c3f67a..86d7354 100644 --- a/pages/order_details/order_details.wxml +++ b/pages/order_details/order_details.wxml @@ -1,3 +1,28 @@ + + function findGoods(goodsList, id) { + // 初始化一个变量来存储找到的商品 + var found = null; + + // 遍历商品列表以查找具有指定ID的商品 + for (var i = 0; i < goodsList.length; i++) { + if (goodsList[i].id === id) { + found = goodsList[i]; + break; + } + } + + // 如果找到了商品,返回商品的照片 + if (found !== null) { + return found; + } + + // 如果没有找到,返回undefined + return undefined; + } + module.exports = { + findGoods: findGoods, + } + 还剩余{{ticker}}订单将自动取消 @@ -29,20 +54,46 @@ {{goods.orderAddress}} - - - - - - - {{item.goodsName}} - 规格:{{item.wisdGoodsSpec.specName}} - - {{goods.orderPayWay!=2?'¥'+item.price:item.price+'积分'}} + + + + + + 包裹{{index+1}} + + 换货申请 + + + + + + + {{goodsItem.name}} + 规格:{{goodsItem.spec}} + + {{goods.orderPayWay!=2?'¥'+findGoods.findGoods(goods.goodsList,goodsItem.id).price:findGoods.findGoods(goods.goodsList,goodsItem.id).price+'积分'}} + + ¥0 + + x{{goodsItem.num}} - ¥0 - x{{item.goodsNum}} + + + + + + + + {{item.goodsName}} + 规格:{{item.wisdGoodsSpec.specName}} + + {{goods.orderPayWay!=2?'¥'+item.price:item.price+'积分'}} + + ¥0 + + x{{item.goodsNum}} + @@ -146,7 +197,7 @@ 删除订单 - 物流查询 + 物流查询 确认收货 评价 diff --git a/pages/order_details/order_details.wxss b/pages/order_details/order_details.wxss index 89a54f7..b813ba5 100644 --- a/pages/order_details/order_details.wxss +++ b/pages/order_details/order_details.wxss @@ -70,7 +70,13 @@ page { border-radius: 20rpx; margin: 30rpx 0; } - +.packages { + width: 690rpx; + padding: 16rpx 30rpx 0; + background-color: #ffffff; + border-radius: 20rpx; + margin: 30rpx 0; +} .cont { padding: 30rpx 0; border-bottom: 1rpx #dcdcdc solid; @@ -282,7 +288,6 @@ page { background-color: #ffffff; border-radius: 20rpx; margin: 30rpx 0; - } .order { @@ -427,4 +432,4 @@ page { .djs text { color: #ff372d; margin-left: 10rpx; -} \ No newline at end of file +}