From 9536ab543faed53768198116d956b2c6206a983c Mon Sep 17 00:00:00 2001 From: donqi Date: Mon, 26 Sep 2022 02:30:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E4=BB=B7=EF=BC=8C=E5=94=AE=E5=90=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/js/dateUtil.js | 5 + common/js/request.js | 34 +++- pages/order-manage/modal/agree-after-sale.vue | 118 +++++++++++ .../modal/new-serv-price-offline.vue | 10 +- .../modal/new-serv-price-online.vue | 10 +- .../order-manage/modal/reject-after-sale.vue | 171 ++++++++++++++++ pages/order-manage/order-manage.vue | 183 +++++++++++++----- 7 files changed, 469 insertions(+), 62 deletions(-) create mode 100644 pages/order-manage/modal/agree-after-sale.vue create mode 100644 pages/order-manage/modal/reject-after-sale.vue diff --git a/common/js/dateUtil.js b/common/js/dateUtil.js index cd7df7c..78ffaf2 100644 --- a/common/js/dateUtil.js +++ b/common/js/dateUtil.js @@ -26,5 +26,10 @@ export default { seconds: seconds } return this.countDownDiffCache; + }, + addHours(dateStr, hourAmount) { + let date = new Date(dateStr); + date.setHours(date.getHours() + hourAmount); + return date; } } \ No newline at end of file diff --git a/common/js/request.js b/common/js/request.js index 04c14dd..0351299 100644 --- a/common/js/request.js +++ b/common/js/request.js @@ -13,9 +13,9 @@ export default { }) let userInfo = _this.getCurUserInfo(); // request 触发前拼接 url - // args.url = 'https://www.opsoul.com' + args.url; - args.url = 'http://127.0.0.1:80' + args.url; - // args.url = 'http://192.168.2.42:80' + args.url; + args.url = 'https://www.opsoul.com' + args.url; + // args.url = 'http://127.0.0.1:80' + args.url; + // args.url = 'http://192.168.2.20:80' + args.url; if (!args.data) { args.data = {} @@ -567,6 +567,14 @@ export default { }) return res[1].data; }, + async priceAddedQrPay(params = {}) { + let res = await uni.request({ + url: '/pay/ali/addQr', + method: 'POST', + data: params.orderDetailId + }) + return res[1].data; + }, async updateMasterOrder(params = {}) { let res = await uni.request({ url: '/order/master/editOrderMaster', @@ -622,5 +630,25 @@ export default { data: params }) return res[1].data; + }, + async getAfterList() { + let res = await uni.request({ + url: '/order/detail/after/list', + method: 'POST', + data: {} + }) + return res[1].data; + }, + async editAfterServiceRecord(params = {}) { + let res = await uni.request({ + url: '/worker/record/edit', + method: 'POST', + data: params, + header: { + pageNum: params.pageNum, + pageSize: params.pageSize + } + }) + return res[1].data; } } diff --git a/pages/order-manage/modal/agree-after-sale.vue b/pages/order-manage/modal/agree-after-sale.vue new file mode 100644 index 0000000..e2969c2 --- /dev/null +++ b/pages/order-manage/modal/agree-after-sale.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/pages/order-manage/modal/new-serv-price-offline.vue b/pages/order-manage/modal/new-serv-price-offline.vue index ada06a4..7b6e5e6 100644 --- a/pages/order-manage/modal/new-serv-price-offline.vue +++ b/pages/order-manage/modal/new-serv-price-offline.vue @@ -90,13 +90,15 @@ newPriceForA2: null, newPriceForA1: null, newPrice: null, - showPayQrcodeModal: false + showPayQrcodeModal: false, + remark: "" } }, methods: { init(priceObj) { this.priceObj = priceObj; if (priceObj && priceObj.type) { + this.remark = priceObj.remark; this.payAction = priceObj.type; let money = priceObj.changeMoney; if (this.payAction === 1) { @@ -112,6 +114,7 @@ this.newPriceForA2 = null; this.newPriceForA1 = null; this.priceObj = null; + this.remark = ""; }, hideModal(e) { this.resetData(); @@ -131,7 +134,8 @@ let res = await this.$request.changeOrderPrice({ orderDetailId: this.data.orderDetailId, changeMoney: newPrice, - type: this.payAction + type: this.payAction, + remark: this.remark }); if (res && res.code === 0) { this.resetPriceChangedInfo(); @@ -143,7 +147,7 @@ } }, async makePayQrcode(e) { - let res = await this.$request.qrPay(this.data); + let res = await this.$request.priceAddedQrPay(this.data); if (res && res.code === 0) { this.showPayQrcodeModal = true; this.$refs.payQrcode.showQrcode(res.data.expend.qrcode_url); diff --git a/pages/order-manage/modal/new-serv-price-online.vue b/pages/order-manage/modal/new-serv-price-online.vue index 815c80d..cda464e 100644 --- a/pages/order-manage/modal/new-serv-price-online.vue +++ b/pages/order-manage/modal/new-serv-price-online.vue @@ -90,13 +90,15 @@ newPriceForA2: null, newPriceForA1: null, newPrice: null, - showPayQrcodeModal: false + showPayQrcodeModal: false, + remark: "" } }, methods: { init(priceObj) { this.priceObj = priceObj; if (priceObj && priceObj.type) { + this.remark = priceObj.remark; this.payAction = priceObj.type; let money = priceObj.changeMoney; if (this.payAction === 1) { @@ -112,6 +114,7 @@ this.newPriceForA2 = null; this.newPriceForA1 = null; this.priceObj = null; + this.remark = ""; }, hideModal(e) { this.resetData(); @@ -131,7 +134,8 @@ let res = await this.$request.changeOrderPrice({ orderDetailId: this.data.orderDetailId, changeMoney: newPrice, - type: this.payAction + type: this.payAction, + remark: this.remark }); if (res && res.code === 0) { this.resetPriceChangedInfo(); @@ -143,7 +147,7 @@ } }, async makePayQrcode(e) { - let res = await this.$request.qrPay(this.data); + let res = await this.$request.priceAddedQrPay(this.data); if (res && res.code === 0) { this.showPayQrcodeModal = true; this.$refs.payQrcode.showQrcode(res.data.expend.qrcode_url); diff --git a/pages/order-manage/modal/reject-after-sale.vue b/pages/order-manage/modal/reject-after-sale.vue new file mode 100644 index 0000000..d3dd70e --- /dev/null +++ b/pages/order-manage/modal/reject-after-sale.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/pages/order-manage/order-manage.vue b/pages/order-manage/order-manage.vue index 4f97af4..b01bcfb 100644 --- a/pages/order-manage/order-manage.vue +++ b/pages/order-manage/order-manage.vue @@ -189,51 +189,112 @@ --> - - - 退单申请: - - - - - 退款金额:{{order.refundAmount}} - 到帐金额:{{order.refundReachAmount}} - - - 退款原因:{{order.refundReason}} - - - - - - - - - - - - 待处理售后: - - - - - 售后原因:{{order.afterSaleReason}} - - 完成操作:点击“处理完成”提交由客服回访! - - - - - - + + + + 客户发起 + + + 退款申请: + + + + + 退款金额: + {{afterServiceRecord.refund}} + + + 退款原因: + {{afterServiceRecord.customerReason}} + + + + + + + + + + 待处理售后: + + + + + 售后原因: + {{afterServiceRecord.customerReason}} + + + 完成操作:点击“处理完成”提交由客服回访! + + + + + + + + + + 师傅反馈 + + + 退款申请: + + + + + 退款金额: + {{afterServiceRecord.agreedRefund ? afterServiceRecord.agreedRefund : afterServiceRecord.refund}} + + + 退款原因: + {{afterServiceRecord.workerFeedbackReason}} + + + + + + + + + + 待处理售后: + + + + + 售后原因: + {{afterServiceRecord.workerFeedbackReason}} + + + 完成操作:点击“处理完成”提交由客服回访! + + + + + + + + + + + + @@ -242,7 +303,7 @@ - + @@ -265,7 +326,9 @@ - + + + @@ -281,6 +344,8 @@ import urgentMsg from '@/pages/order-manage/modal/urgent-msg.vue'; import picModal from '@/components/modal/pic-modal.vue'; import loadStatusBar from '@/components/custom-bar/load-status-bar.vue'; + import agreeAfterSale from '@/pages/order-manage/modal/agree-after-sale.vue'; + import rejectAfterSale from '@/pages/order-manage/modal/reject-after-sale.vue'; export default { components: { @@ -294,7 +359,9 @@ payQrcode, urgentMsg, picModal, - loadStatusBar + loadStatusBar, + agreeAfterSale, + rejectAfterSale }, data() { return { @@ -340,7 +407,10 @@ // code: '-', // name: '售后中' // }, - { + { + // code: 5, + name: '售后中' + }, { code: 5, name: '已完成' }], @@ -362,6 +432,8 @@ showPayQrcodeModal: false, showEditTimeArrangeModal: false, sendUrgentMsgModal: false, + agreeAfterSale: false, + rejectAfterSale: false, ifShowPageMeta: false, picModalImgList: [], curDate: '', @@ -449,10 +521,14 @@ try { let res = null; // 不同状态的单需要请求不同接口 - if (this.tabCur === 4 || this.stateCur === 1 || this.stateCur === 2) { + if (this.tabCur === 4 || this.tabCur === 5 || this.stateCur === 1 || this.stateCur === 2) { // 已完成状态只查询子单,需要进行分页处理 this.$refs.loadStatusBar.showLoading(); - res = await this.$request.qryDetailOrderPage(params); + let funName = "qryDetailOrderPage"; + if (this.tabCur === 4) { + funName = "getAfterList"; + } + res = await this.$request[funName](params); if (res && res.rows) { let rowsLength = res.rows.length; if (rowsLength > 0) { @@ -655,8 +731,9 @@ } this[e.currentTarget.dataset.modal] = true; }, - showModalByRef(refName) { - this.$refs[refName].showModal(); + showModalByRef(refName, curOrder, params) { + this.$refs[refName].showModal(curOrder, params); + this.curOrder = curOrder; }, hideModal(e) { this.curOrder = null;