diff --git a/api/interfaces/order.js b/api/interfaces/order.js index 521f957..e52bcfc 100644 --- a/api/interfaces/order.js +++ b/api/interfaces/order.js @@ -1,50 +1,90 @@ - /* - * 手太欠 - * 愿这世界都如故事里一样 美好而动人~ -*/ - -import { req } from "../request" - -// 订单首页 -const list = data => req({ - url : "mall/orders", - data: data -}) - -// 订单详情 -const goodsDet = (order_no) => req({ - url : "mall/orders/" + order_no -}) - -// 订单取消 -const goodsCancel = (order_no) => req({ - url : "mall/orders/" + order_no + "/cancel", - method: "PUT" -}) - -// 订单删除 -const goodsDel = (order_no) => req({ - url : "mall/orders/" + order_no, - method: "DELETE" -}) - -// 订单签收 -const goodsSign = (order_no) => req({ - url : "mall/orders/" + order_no + "/sign", - method: "PUT" -}) - -// 快递100-免费 -const kuaiDi = (data) => req({ - url : "mall/orders/express", - data: data -}) - -export default ({ - list, - goodsDet, - goodsCancel, - goodsDel, - goodsSign, - kuaiDi + /* + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ +*/ + +import { req } from "../request" + +// 订单首页 +const list = data => req({ + url : "mall/orders", + data: data +}) + +// 订单详情 +const goodsDet = (order_no) => req({ + url : "mall/orders/" + order_no +}) + +// 订单取消 +const goodsCancel = (order_no) => req({ + url : "mall/orders/" + order_no + "/cancel", + method: "PUT" +}) + +// 订单删除 +const goodsDel = (order_no) => req({ + url : "mall/orders/" + order_no, + method: "DELETE" +}) + +// 订单签收 +const goodsSign = (order_no) => req({ + url : "mall/orders/" + order_no + "/sign", + method: "PUT" +}) + +// 快递100-免费 +// const kuaiDi = (data) => req({ +// url : "mall/orders/express", +// data: data +// }) + +// 快递100-花钱 +const kuaiDi = (order_no) => req({ + url : "mall/orders/" + order_no + "/logistic" +}) + +// 退款售后列表 +const refundList = data => req({ + url : "mall/refunds", + data: data +}) + +// 退款售后详情 +const refundSee = (refund) => req({ + url : "mall/refunds/" + refund +}) + +// 退货 +const refundPost = (order_no, data) => req({ + url : "mall/orders/" + order_no + "/refund", + data: data, + method: "POST" +}) + +// 获取退货信息 +const reason = (order_no) => req({ + url : "mall/orders/" + order_no + "/refund" +}) + +// 用户退货 +const refundDeliver = (refund_no, data) => req({ + url : "mall/refunds/" + refund_no + "/deliver", + data: data, + method: "POST" +}) + +export default ({ + list, + goodsDet, + goodsCancel, + goodsDel, + goodsSign, + kuaiDi, + refundList, + refundSee, + refundPost, + reason, + refundDeliver }) \ No newline at end of file diff --git a/app.json b/app.json index 90052cd..7e9858b 100644 --- a/app.json +++ b/app.json @@ -43,7 +43,11 @@ "pages/water/waterOrder/waterOrder", "pages/water/details/details", "pages/water/logistic/logistic", - "pages/recruit/poster/poster" + "pages/recruit/poster/poster", + "pages/order/refund/refund", + "pages/order/refundForm/refundForm", + "pages/order/refundInfo/refundInfo", + "pages/order/refundWrite/refundWrite" ], "window": { "backgroundTextStyle": "light", @@ -56,36 +60,36 @@ { "pagePath": "pages/index/index", "text": "首页", - "iconPath": "/static/festival/tabBar_00.png", - "selectedIconPath": "/static/festival/tabBar_selected_00.png" + "iconPath": "/static/tabBarIcon/tabBar_00.png", + "selectedIconPath": "/static/tabBarIcon/tabBar_selected_00.png" }, { "pagePath": "pages/mall/index", "text": "产品", - "iconPath": "/static/festival/tabBar_01.png", - "selectedIconPath": "/static/festival/tabBar_selected_01.png" + "iconPath": "/static/tabBarIcon/tabBar_01.png", + "selectedIconPath": "/static/tabBarIcon/tabBar_selected_01.png" }, { "pagePath": "pages/recruit/index", "text": "体验官", - "iconPath": "/static/festival/tabBar_02.png", - "selectedIconPath": "/static/festival/tabBar_selected_02.png" + "iconPath": "/static/tabBarIcon/tabBar_04.png", + "selectedIconPath": "/static/tabBarIcon/tabBar_selected_04.png" }, { "pagePath": "pages/report/index", "text": "报告", - "iconPath": "/static/festival/tabBar_03.png", - "selectedIconPath": "/static/festival/tabBar_selected_03.png" + "iconPath": "/static/tabBarIcon/tabBar_02.png", + "selectedIconPath": "/static/tabBarIcon/tabBar_selected_02.png" }, { "pagePath": "pages/user/index", "text": "我的", - "iconPath": "/static/festival/tabBar_04.png", - "selectedIconPath": "/static/festival/tabBar_selected_04.png" + "iconPath": "/static/tabBarIcon/tabBar_03.png", + "selectedIconPath": "/static/tabBarIcon/tabBar_selected_03.png" } ], "color": "#999999", - "selectedColor": "#000000", + "selectedColor": "#3b7cff", "borderStyle": "white" }, "style": "v2", diff --git a/pages/order/details/details.js b/pages/order/details/details.js index f5ce171..4b6af99 100644 --- a/pages/order/details/details.js +++ b/pages/order/details/details.js @@ -68,15 +68,42 @@ Page({ content : '是否签收', success : res=> { if (res.confirm) { - wx.$api.order.goodsSign(this.data.goodsData.order_no).then(res => { + //拉起确认收货组件 + if (wx.openBusinessView) { + wx.openBusinessView({ + businessType: 'weappOrderConfirm', + extraData: { + merchant_id: this.data.goodsData.payment.mch_id, + merchant_trade_no: this.data.goodsData.payment.trade_id + }, + success: ()=> { + wx.$api.order.goodsSign(this.data.goodsData.order_no).then(res => { + wx.showToast({ + title:'签收成功', + icon:'none' + }) + + // 获取订单详情 + this.goodsInfo(); + }).catch(err => {}) + }, + fail: ()=> { + wx.showToast({ + title:'取消收货', + icon:'none' + }) + }, + complete: ()=> { + console.log('complete') + }, + }); + } else { + //引导用户升级微信版本 wx.showToast({ - title:'签收成功', - icon:'none' + title:'请升级微信版本', + icon:'none' }) - - // 获取订单详情 - this.goodsInfo(); - }).catch(err => {}) + } } } }) @@ -125,7 +152,14 @@ Page({ // wx.navigateTo({ // url: '/pages/mall/webView/webView?url=' + this.data.goodsData.express.url, // }) - var data = JSON.stringify(this.data.goodsData.express) + // 免费的 + // var data = JSON.stringify(this.data.goodsData.express) + // wx.navigateTo({ + // url: `../logistic/logistic?newData=` + encodeURIComponent(data) + // }) + + // 花钱的 + var data = JSON.stringify(this.data.goodsData.order_no) wx.navigateTo({ url: `../logistic/logistic?newData=` + encodeURIComponent(data) }) diff --git a/pages/order/index.js b/pages/order/index.js index 8e1e0f7..2a2d0a6 100644 --- a/pages/order/index.js +++ b/pages/order/index.js @@ -97,25 +97,64 @@ Page({ * 订单签收 */ signClick(e) { + console.log(e.currentTarget.dataset) + let payment = e.currentTarget.dataset.payment, + orderNo = e.currentTarget.dataset.order_no wx.showModal({ title : '提示', content : '是否签收', success : res=> { if (res.confirm) { - wx.$api.order.goodsSign(e.currentTarget.dataset.order_no).then(res => { + //拉起确认收货组件 + if (wx.openBusinessView) { + wx.openBusinessView({ + businessType: 'weappOrderConfirm', + extraData: { + merchant_id: payment.mch_id, + merchant_trade_no: payment.trade_id + }, + success: ()=> { + wx.$api.order.goodsSign(e.currentTarget.dataset.order_no).then(res => { + wx.showToast({ + title:'签收成功', + icon:'none' + }) + + // 获取订单列表 + this.listInfo() + }).catch(err => {}) + }, + fail: ()=> { + wx.showToast({ + title:'取消收货', + icon:'none' + }) + }, + complete: ()=> { + console.log('complete') + }, + }); + } else { + //引导用户升级微信版本 wx.showToast({ - title:'签收成功', - icon:'none' + title:'请升级微信版本', + icon:'none' }) - - // 获取订单列表 - this.listInfo() - }).catch(err => {}) + } } } }) }, + /** + * 退货售后 + */ + refundClick(no){ + wx.navigateTo({ + url: '/pages/order/refundForm/refundForm?order_no=' + no.currentTarget.dataset.order_no + }) + }, + /** * 页面相关事件处理函数--监听用户下拉动作 */ diff --git a/pages/order/index.wxml b/pages/order/index.wxml index c1dc192..9e4b9b4 100644 --- a/pages/order/index.wxml +++ b/pages/order/index.wxml @@ -45,7 +45,8 @@ 立即付款 - 签收订单 + 签收订单 + 退款售后 查看详情 diff --git a/pages/order/logistic/logistic.js b/pages/order/logistic/logistic.js index 1c6ea81..ec0c08d 100644 --- a/pages/order/logistic/logistic.js +++ b/pages/order/logistic/logistic.js @@ -7,6 +7,7 @@ Page({ data: { logisticArr : [], expressData : '', + orderExpress: '' }, onLoad(options) { @@ -14,6 +15,7 @@ Page({ newData = {} } = options; const data = JSON.parse(decodeURIComponent(newData)); + this.setData({ expressData: data }) @@ -26,9 +28,10 @@ Page({ // 查看物流 h5url() { - wx.$api.order.kuaiDi({express_no: this.data.expressData.express_no}).then(res => { + wx.$api.order.kuaiDi(this.data.expressData).then(res => { this.setData({ - logisticArr: res.data.data + logisticArr : res.data.logistics, + orderExpress: res.data.orderExpress }) }).catch(err => {}) // wx.request({ diff --git a/pages/order/logistic/logistic.wxml b/pages/order/logistic/logistic.wxml index 5bf0bc3..0cb445a 100644 --- a/pages/order/logistic/logistic.wxml +++ b/pages/order/logistic/logistic.wxml @@ -1,17 +1,18 @@ - {{expressData.express_name}} + {{orderExpress.logistic_name}} - {{expressData.express_no}} + {{orderExpress.express_no}} - {{expressData.name}}{{expressData.mobile}} + {{orderExpress.order_state}} + @@ -21,7 +22,7 @@ 收 - {{expressData.full_address}} + {{orderExpress.address}} diff --git a/pages/order/refund/refund.js b/pages/order/refund/refund.js new file mode 100644 index 0000000..bda1af5 --- /dev/null +++ b/pages/order/refund/refund.js @@ -0,0 +1,88 @@ + /* + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ + */ + +Page({ + + /** + * 页面的初始数据 + */ + data: { + listType : 'refunding', //refunding 处理中 refunded 已完成 + listsArr : [], // 订单列表 + page : {}, // 分页信息 + lodingStats : false,// 加载状态 + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + // 获取订单列表 + this.listInfo() + }, + + /** + * 订单列表 + */ + listInfo(page) { + wx.$api.order.refundList({ + state: this.data.listType, + page : page || 1 + }).then(res => { + let listArr = this.data.listsArr, + newData = [] + if(page == 1 || page == undefined) listArr = [] + newData = listArr.concat(res.data.data) + this.setData({ + listsArr : newData, + page : res.data.page, + lodingStats : false + }) + + wx.stopPullDownRefresh() + }).catch(err => {}) + }, + + /** + * 状态筛选 + */ + onTabs(val){ + if(this.data.listType === val) return + this.setData({ + listType: val.currentTarget.dataset.type + }) + + // 获取订单列表 + this.listInfo() + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + // 获取订单列表 + this.listInfo(); + }, + + /** + * 上拉加载 + */ + onReachBottom(){ + this.setData({ + lodingStats: true + }) + let pageNumber = this.data.page.current + if(this.data.page.has_more){ + pageNumber++ + // 获取订单列表 + this.listInfo(pageNumber); + } + } +}) \ No newline at end of file diff --git a/pages/order/refund/refund.json b/pages/order/refund/refund.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/pages/order/refund/refund.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/order/refund/refund.wxml b/pages/order/refund/refund.wxml new file mode 100644 index 0000000..d638bb9 --- /dev/null +++ b/pages/order/refund/refund.wxml @@ -0,0 +1,48 @@ + + + 处理中 + 已完成 + + + + + + + + + {{item.shop.name}} + + + + {{item.state.text}} + + + + + + {{items.goods_name}} + 数量:{{items.qty}} + + 产品价格:¥{{items.price}} + + + + + 退款总额 + 退款 ¥{{item.refund_total}} 元 + + + 查看详情 + + 我要退货 + + + + + + + + + 暂无数据 + \ No newline at end of file diff --git a/pages/order/refund/refund.wxss b/pages/order/refund/refund.wxss new file mode 100644 index 0000000..10b6c5f --- /dev/null +++ b/pages/order/refund/refund.wxss @@ -0,0 +1,154 @@ +page { + background-color: #f7faff; +} + +/* tabs */ +.header { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 99; + height: 100rpx; + background-color: #f7faff; +} + +.tabs { + display: flex; + justify-content: space-around; + padding: 30rpx 10rpx; + font-size: 30rpx; + color: #3c3d3e; +} + +.tabs-item.show { + color: #3b7cff; +} + +/* 订单列表 */ +.order-content { + padding: 0 30rpx; + box-sizing: border-box; + margin-top: 100rpx; +} + +.order-content-li{ + background: white; + padding: 30rpx; +} + +.order-store{ + padding-bottom: 30rpx; + margin-bottom: 10rpx; + border-bottom: solid 1rpx #f5f6fa; + display: flex; +} + +.order-store-stateText{ + color: #e92344; + font-size: 26rpx; + display: flex; +} + +.order-store-stateText image, .order-store-title image { + width: 32rpx; + height: 32rpx; + margin: 2rpx 10rpx 0 0; +} + +.order-store-title{ + flex: 1; + display: flex; +} + +.order-store-title image { + margin-top: 7rpx; +} + + +.order-store-orderid{ + color: #747788; + font-size: 25rpx; +} + +.order-store-title text{ + color: white; + font-size: 24rpx; + background: #e92344; + margin-right: 10rpx; + padding: 0 10rpx; +} + +.order-goods{ + padding-top: 20rpx; + position: relative; +} + +.order-goods-cover{ + width: 160rpx; + height: 160rpx; + vertical-align: top; + border-radius: 10rpx; +} + +.order-goods-content{ + position: absolute; + left: 190rpx; + top: 20rpx; + right: 20rpx; + width: calc(100% - 190rpx); +} + +.order-goods-content-size{ + color: #9a9a9a; + font-size: 26rpx; + margin: 15rpx 0 25rpx; +} + +.order-goods-content-price{ + font-size: 24rpx; + color: #313131; +} + +.order-total{ + padding: 10rpx 20rpx 10rpx 30rpx; + font-size: 26rpx; + line-height: 50rpx; + border-radius: 10rpx; + color: #313131; + display: flex; + background: #f7f7f7; + margin: 20rpx 0; + font-weight: 600; +} + +.order-total text{ + padding-left: 30rpx; + font-weight: normal; + color: #e92344; +} + +.order-btns{ + font-size: 28rpx; + display: flex; + border-top: solid 1rpx #f5f6fa; + padding-top: 30rpx; + margin-top: 30rpx; + flex-wrap: wrap; + flex-direction:row-reverse; +} + +.order-btn{ + height: 64rpx; + line-height: 60rpx; + box-sizing: border-box; + border:solid 1rpx #747788; + padding: 0 20rpx; + border-radius: 30rpx; + margin-left: 30rpx; +} + +.order-btn-back { + border-color: #e92344; + color: #e92344; +} \ No newline at end of file diff --git a/pages/order/refundForm/refundForm.js b/pages/order/refundForm/refundForm.js new file mode 100644 index 0000000..752e742 --- /dev/null +++ b/pages/order/refundForm/refundForm.js @@ -0,0 +1,152 @@ + /* + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ + */ + +Page({ + + /** + * 页面的初始数据 + */ + data: { + reasonArr : [], + reasonIndex: 0, + orderNo : '', + albumArr : [], //我的相册 + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options) + this.setData({ + orderNo: options.order_no + }) + + // 获取退款原因 + this.reasonInfo(options.order_no) + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 退款原因 + */ + reasonInfo(order_no) { + wx.$api.order.reason(order_no).then(res => { + this.setData({ + reasonArr: res.data.title + }) + }).catch(err => {}) + }, + + + /** + * 选择退款原因 + */ + reasonChange(e) { + this.setData({ + reasonIndex: e.detail.value + }) + }, + + /** + * 上传图片 + */ + addAlbum() { + wx.chooseImage({ + count : 9, + success : path => { + // 上传图片 + if (path.tempFilePaths){ + let pathArr = path.tempFilePaths + for (let i = 0; i < pathArr.length; i++){ + wx.$api.file.uploadImg(pathArr[i], {}).then(res=>{ + wx.showLoading({ + title: '上传中', + }) + let albumArr = this.data.albumArr + albumArr.push({ + path: res.path, + showpath: res.url + }) + this.setData({ + albumArr + }) + + wx.hideLoading() + }) + if (i == pathArr.length - 1) { + wx.hideLoading() + } + } + }else{ + wx.showToast({ + title: '上传图片失败', + icon : 'none' + }) + } + } + }) + }, + + /** + * 删除图片 + */ + removeAlbum(e){ + wx.showLoading({ + title: '加载中' + }) + let index = e.currentTarget.dataset.index, + atalbum = this.data.albumArr + wx.showToast({ + title: '删除成功', + icon : 'none' + }) + atalbum.splice(index,1) + this.setData({ + albumArr : atalbum + }) + }, + + /** + * 提交表单 + */ + siteform(e) { + let paths = [] + for (let paht of this.data.albumArr){ + paths.push(paht.path) + } + let value = e.detail.value + let data = { + remark : value.remark, + title : this.data.reasonIndex, + pictures : paths + } + this.setData({ + disabled: true + }) + wx.$api.order.refundPost(this.data.orderNo, data).then(() => { + wx.showToast({ + title: '提交成功', + icon : 'none' + }) + setTimeout(()=>{ + wx.redirectTo({ + url: '/pages/order/refund/refund', + }) + },3000) + + }).catch(() =>{ + this.setData({ + disabled: false + }) + }) + } +}) \ No newline at end of file diff --git a/pages/order/refundForm/refundForm.json b/pages/order/refundForm/refundForm.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/pages/order/refundForm/refundForm.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/order/refundForm/refundForm.wxml b/pages/order/refundForm/refundForm.wxml new file mode 100644 index 0000000..7445879 --- /dev/null +++ b/pages/order/refundForm/refundForm.wxml @@ -0,0 +1,34 @@ +
+ + + + + {{ reasonArr[reasonIndex] }} + + + + + + + + + + + + + + 删除 + + + + + + 添加 + + + + + + + +
\ No newline at end of file diff --git a/pages/order/refundForm/refundForm.wxss b/pages/order/refundForm/refundForm.wxss new file mode 100644 index 0000000..cde8444 --- /dev/null +++ b/pages/order/refundForm/refundForm.wxss @@ -0,0 +1,106 @@ +page { + background-color: #f4f4f6; +} + +.site-input { + padding: 30rpx; + box-sizing: border-box; +} + +.site-input label { + font-weight: 600; +} + +.site-input-back { + background-color: #fff; + padding: 30rpx; + box-sizing: border-box; + border-radius: 10rpx; + margin-top: 30rpx; + position: relative; + width: 100%; +} + +.site-input-back image { + width: 44rpx; + height: 44rpx; + position: absolute; + right: 20rpx; + top: 25rpx; +} + +.album-list { + display: flex; + padding: 20rpx 20rpx 20rpx 15rpx; + flex-wrap: wrap; + background-color: #fff; + margin-top: 30rpx; + border-radius: 10rpx; + +} + +.album-list-li { + position: relative; + width: 25%; + padding-top: calc(25% - 20rpx); + box-sizing: border-box; + border: solid 10rpx transparent; +} + +.album-list-img, +.album-list-li-add { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #f5f5f5; + border-radius: 6rpx; +} + +.album-list-li-add { + text-align: center; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-pack: center; + color: #666; + font-size: 26rpx; +} + +.album-list-add-icon { + width: 34rpx; + height: 34rpx; +} + +.album-remove { + position: absolute; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, .5); + color: white; + font-size: 28rpx; + text-align: center; + line-height: 50rpx; + width: 100%; + z-index: 9; +} + +.site-btn { + padding: 20rpx 30rpx; + margin-top: 6rpx; +} + +.site-btn button[size="mini"] { + width: 100%; + background: #3b7cff; + height: 88rpx; + line-height: 88rpx; + font-size: 30rpx; + color: white; + padding: 0; +} + +.site-btn button[disabled] { + background: #7789ff !important; + color: #fff !important; +} \ No newline at end of file diff --git a/pages/order/refundInfo/refundInfo.js b/pages/order/refundInfo/refundInfo.js new file mode 100644 index 0000000..1034ec1 --- /dev/null +++ b/pages/order/refundInfo/refundInfo.js @@ -0,0 +1,53 @@ + /* + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ + */ + +Page({ + data: { + goodsData : '', //详情 + canState : '', //操作按钮 + express : '', //物流 + refundNo : '' //订单号 + }, + + onLoad(options) { + this.setData({ + refundNo: options.refund_no + }) + }, + + onShow() { + // 获取订单详情 + this.goodsInfo(); + }, + + /** + * 订单详情 + */ + goodsInfo() { + wx.$api.order.refundSee(this.data.refundNo).then(res => { + console.log(res) + this.setData({ + goodsData : res.data, + canState : res.data.can, + express : res.data.express + }) + }).catch(err => {}) + }, + + /** + * 复制订单号 + */ + copyUrl(val) { + wx.setClipboardData({ + data: val.currentTarget.dataset.no, + success: () => { + wx.showToast({ + title: "订单编号复制成功", + icon : "none" + }) + } + }) + } +}) diff --git a/pages/order/refundInfo/refundInfo.json b/pages/order/refundInfo/refundInfo.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/pages/order/refundInfo/refundInfo.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/order/refundInfo/refundInfo.wxml b/pages/order/refundInfo/refundInfo.wxml new file mode 100644 index 0000000..ce5e168 --- /dev/null +++ b/pages/order/refundInfo/refundInfo.wxml @@ -0,0 +1,64 @@ + + + + + + 订单编号 + + {{goodsData.order_no}} + 复制 + + + + + + + {{ goodsData.log.state_text }} + + 退款原因:{{ goodsData.log.remark }} + + + + + + + + + + {{item.goods_name}} + + 规格 99mlx{{item.qty}} + + + ¥{{item.price}} + + + + + + + 退款信息 + + 操作时间 + {{goodsData.created_at}} + + + 退款状态 + {{goodsData.state.text}} + + + 退款状态 + {{goodsData.state.remark}} + + + 退款金额 + ¥{{goodsData.refund_total}} + + + + + + 我要发货 + 返回订单 + + \ No newline at end of file diff --git a/pages/order/refundInfo/refundInfo.wxss b/pages/order/refundInfo/refundInfo.wxss new file mode 100644 index 0000000..b99015d --- /dev/null +++ b/pages/order/refundInfo/refundInfo.wxss @@ -0,0 +1,234 @@ +page { + background: #f3f4f6; + padding: 30rpx; + box-sizing: border-box; +} + +.While { + border-radius: 10rpx; + margin-bottom: 30rpx; + background-color: #FFFFFF; + box-shadow: 0 0 10rpx rgba(0, 0, 0, .05); +} + +.orderData { + border-bottom: 100rpx transparent solid; +} + +/* 订单 */ +.orderData-cont-label { + padding: 40rpx 30rpx; + display: flex; + box-sizing: border-box; + border-bottom: #f2f2f2 2rpx solid; +} + +.orderData-cont-img { + width: 38rpx; + height: 38rpx; + margin-top: 4rpx; +} + +.orderData-cont-text { + width: calc(100% - 68rpx); + margin-left: 20rpx; + box-sizing: border-box; + font-size: 30rpx; +} + +.orderData-cont-site { + width: calc(100% - 108rpx); +} + +.orderData-cont-name { + margin-bottom: 10rpx; +} + +.orderData-cont-name text { + color: #999; + padding-left: 20rpx; +} + +.orderData-cont-copy { + display: flex; + font-size: 28rpx; + color: #999; +} + +.orderData-cont-copy text { + flex: 1; + display: inline-block; + margin-right: 20rpx; +} + +.orderData-cont-copy view { + color: #3b7cff; +} + +.address-btn { + width: 42rpx; + height: 42rpx; + margin-top: 46rpx; +} + +/* 产品 */ +.list-goods { + display: flex; + padding: 30rpx; + box-sizing: border-box; +} + +.list-goods-img { + width: 184rpx; + height: 184rpx; + margin-right: 30rpx; + border-radius: 10rpx; +} + +.list-goods-cont { + width: calc(100% - 214rpx); +} + +.list-goods-name { + font-size: 32rpx; +} + +.list-goods-text { + line-height: 90rpx; + display: flex; + font-size: 28rpx; + color: #999999; +} + +.list-goods-text text { + flex: 1; +} + +.list-goods-parice { + text-align: right; + font-size: 28rpx; +} + +.list-goods-parice text { + font-size: 34rpx; +} + +/* 规格 */ +.reserveCont-title { + padding: 30rpx; + font-size: 30rpx; +} + +.reserve-label { + display: flex; + padding: 0 30rpx 30rpx; + box-sizing: border-box; + font-size: 28rpx; + line-height: 48rpx; +} + +.reserve-name { + flex: 1; + width: 200rpx; + margin-right: 20rpx; + color: #7e7e7e; +} + +.reserve-text { + width: calc(100% - 240rpx); + text-align: right; + line-height: 50rpx; +} + +.reserve-text-btn { + width: 120rpx; + text-align: center; + color: #ffffff; + background-color: #3b7cff; + font-size: 26rpx; + border-radius: 10rpx; + line-height: 54rpx; +} + +.reserve-text-copy { + display: contents; +} + +.reserve-text-tap { + color: #ff9951; + padding-left: 30rpx; +} + +.reserve-text text { + font-size: 24rpx; + display: inline-block; + background-image: linear-gradient(to right, #f16e06, #f34206); + color: #FFFFFF; + border-radius: 6rpx; + padding: 0 10rpx; + height: 44rpx; + line-height: 44rpx; + margin-top: 6rpx; +} + +.reserve-text text.active { + background-image: linear-gradient(to right, #027be6, #2855f0); +} + +.reserve-text.reserve-price { + font-weight: 600; + font-size: 34rpx; +} + +.reserve-copy { + color: #3b7cff; + border: #3b7cff 2rpx solid; + display: inline-block; + height: 34rpx; + line-height: 34rpx; + font-size: 26rpx; + padding: 0 10rpx; + border-radius: 4rpx; + margin-left: 10rpx; +} + +.reserve-status { + color: #ff8100 +} + +/* 底部菜单 */ +.order-data-footer { + position: fixed; + bottom: 0; + left: 0; + right: 0; + border-top: solid 1rpx #f2f2f2; + padding-top: 20rpx; + padding-right: 30rpx; + padding-left: 30rpx; + height: 110rpx; + background: white; + flex-wrap: wrap; + flex-direction: row-reverse; + z-index: 9; +} + +.list-btn { + text-align: right; +} + +.order-btn { + border: 2rpx solid #ff8100; + color: #ff8100; + border-radius: 80rpx; + height: 56rpx; + line-height: 56rpx; + padding: 0 20rpx; + display: inline-block; + font-size: 26rpx; + margin-left: 30rpx; +} +.order-btn.grey { + color: grey; + border-color: grey; +} \ No newline at end of file diff --git a/pages/order/refundWrite/refundWrite.js b/pages/order/refundWrite/refundWrite.js new file mode 100644 index 0000000..b135d8b --- /dev/null +++ b/pages/order/refundWrite/refundWrite.js @@ -0,0 +1,64 @@ +// pages/order/refundWrite/refundWrite.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + disabled: false, + refundNo: '' + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + this.setData({ + refundNo: options.refund_no + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 提交表单 + */ + siteform(e) { + let value = e.detail.value + let data = { + company : value.company, + number : value.number + } + this.setData({ + disabled: true + }) + wx.$api.order.refundDeliver(this.data.refundNo, data).then(() => { + wx.showToast({ + title: '提交成功', + icon : 'none' + }) + setTimeout(()=>{ + wx.navigateTo({ + url: '/pages/order/refund/refund', + }) + },3000) + + }).catch(() =>{ + this.setData({ + disabled: false + }) + }) + } +}) \ No newline at end of file diff --git a/pages/order/refundWrite/refundWrite.json b/pages/order/refundWrite/refundWrite.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/pages/order/refundWrite/refundWrite.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/order/refundWrite/refundWrite.wxml b/pages/order/refundWrite/refundWrite.wxml new file mode 100644 index 0000000..21a339e --- /dev/null +++ b/pages/order/refundWrite/refundWrite.wxml @@ -0,0 +1,13 @@ +
+ + + + + + + + + + + +
\ No newline at end of file diff --git a/pages/order/refundWrite/refundWrite.wxss b/pages/order/refundWrite/refundWrite.wxss new file mode 100644 index 0000000..a9a0d68 --- /dev/null +++ b/pages/order/refundWrite/refundWrite.wxss @@ -0,0 +1,53 @@ +page { + background-color: #f4f4f6; +} + +.site-input { + padding: 30rpx; + box-sizing: border-box; +} + +.site-input label { + font-weight: 600; +} + +.site-input-back { + background-color: #fff; + padding: 0 30rpx; + box-sizing: border-box; + border-radius: 10rpx; + margin-top: 30rpx; + position: relative; + width: 100%; + height: 90rpx; + line-height: 90rpx; +} + +.site-input-back image { + width: 44rpx; + height: 44rpx; + position: absolute; + right: 20rpx; + top: 25rpx; +} + + +.site-btn { + padding: 20rpx 30rpx; + margin-top: 6rpx; +} + +.site-btn button[size="mini"] { + width: 100%; + background: #3b7cff; + height: 88rpx; + line-height: 88rpx; + font-size: 30rpx; + color: white; + padding: 0; +} + +.site-btn button[disabled] { + background: #7789ff !important; + color: #fff !important; +} \ No newline at end of file diff --git a/pages/report/index.wxss b/pages/report/index.wxss index 51d52f0..b80e080 100644 --- a/pages/report/index.wxss +++ b/pages/report/index.wxss @@ -1,104 +1,104 @@ -page { - background-color: #f7faff; -} - - -/* 列表 */ -.report { - width: 100%; - padding: 30rpx 30rpx 0; - box-sizing: border-box; -} - -.report-title { - font-size: 36rpx; -} - -.report-list { - margin-top: 30rpx; -} - -.report-item { - background-color: #fff; - border-radius: 20rpx; - padding: 30rpx; - box-sizing: border-box; - box-shadow: 0 4rpx 30rpx 2rpx rgba(0, 0, 0, .05); - color: #0d0d0d; - position: relative; - margin-bottom: 30rpx; -} - -.report-item:last-child { - margin: 0; -} - -.report-time { - font-size: 34rpx; -} - -.report-tips { - font-size: 28rpx; - margin-top: 20rpx; - line-height: 60rpx; - color: #414141; -} - -.report-btn { - position: absolute; - right: 30rpx; - bottom: 30rpx; - color: #3b7cff; - border: #3b7cff 2rpx solid; - font-size: 26rpx; - line-height: 56rpx; - padding: 0 30rpx; - border-radius: 90rpx; -} - -/* 友情提示 */ -.report-point { - padding: 140rpx 50rpx 0; - box-sizing: border-box; - text-align: center; -} - -.report-point-text { - color: #999999; - line-height: 60rpx; -} - -.report-point-text text { - display: block; -} - -.report-point-btn { - margin-top: 50rpx; - background-color: #3b7cff; - display: inline-block; - color: #fff; - border-radius: 80rpx; - line-height: 90rpx; - width: 60%; -} - -/* 暂无数据 */ -.reportTips-title { - color: #000; - font-size: 34rpx; - line-height: 80rpx; -} - -.reportTips-text { - font-size: 26rpx; -} - -.reportTips-btn { - background-color: #3b7cff; - display: inline-block; - color: #fff; - line-height: 78rpx; - padding: 0 60rpx; - border-radius: 10rpx; - margin-top: 50rpx; -} +page { + background-color: #f7faff; +} + + +/* 列表 */ +.report { + width: 100%; + padding: 30rpx 30rpx 0; + box-sizing: border-box; +} + +.report-title { + font-size: 36rpx; +} + +.report-list { + margin-top: 30rpx; +} + +.report-item { + background-color: #fff; + border-radius: 20rpx; + padding: 30rpx; + box-sizing: border-box; + box-shadow: 0 4rpx 30rpx 2rpx rgba(0, 0, 0, .05); + color: #0d0d0d; + position: relative; + margin-bottom: 30rpx; +} + +.report-item:last-child { + margin: 0; +} + +.report-time { + font-size: 34rpx; +} + +.report-tips { + font-size: 28rpx; + margin-top: 20rpx; + line-height: 60rpx; + color: #414141; +} + +.report-btn { + position: absolute; + right: 30rpx; + bottom: 30rpx; + color: #3b7cff; + border: #3b7cff 2rpx solid; + font-size: 26rpx; + line-height: 56rpx; + padding: 0 30rpx; + border-radius: 90rpx; +} + +/* 友情提示 */ +.report-point { + padding: 40rpx 50rpx; + box-sizing: border-box; + text-align: center; +} + +.report-point-text { + color: #999999; + line-height: 60rpx; +} + +.report-point-text text { + display: block; +} + +.report-point-btn { + margin-top: 50rpx; + background-color: #3b7cff; + display: inline-block; + color: #fff; + border-radius: 80rpx; + line-height: 90rpx; + width: 60%; +} + +/* 暂无数据 */ +.reportTips-title { + color: #000; + font-size: 34rpx; + line-height: 80rpx; +} + +.reportTips-text { + font-size: 26rpx; +} + +.reportTips-btn { + background-color: #3b7cff; + display: inline-block; + color: #fff; + line-height: 78rpx; + padding: 0 60rpx; + border-radius: 10rpx; + margin-top: 50rpx; +} diff --git a/pages/user/index.wxml b/pages/user/index.wxml index 50ff932..f74996c 100644 --- a/pages/user/index.wxml +++ b/pages/user/index.wxml @@ -79,6 +79,10 @@ 已签收
+ + + 退货售后 + diff --git a/pages/user/index.wxss b/pages/user/index.wxss index 924bfe8..9febf62 100644 --- a/pages/user/index.wxss +++ b/pages/user/index.wxss @@ -252,7 +252,7 @@ page { background-color: #ff9951; position: absolute; top: -15rpx; - right: 40rpx; + right: 20rpx; font-size: 24rpx; width: 30rpx; height: 30rpx; diff --git a/project.private.config.json b/project.private.config.json index 6a422f4..6f35c59 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -116,5 +116,5 @@ ] } }, - "libVersion": "2.33.0" + "libVersion": "3.0.0" } \ No newline at end of file diff --git a/static/icons/editIcon.png b/static/icons/editIcon.png new file mode 100644 index 0000000..6a888e1 Binary files /dev/null and b/static/icons/editIcon.png differ diff --git a/static/imgs/add_img.png b/static/imgs/add_img.png new file mode 100644 index 0000000..1ca9149 Binary files /dev/null and b/static/imgs/add_img.png differ