From d714523145c5e3d93ac7054870368674f525444f Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期四, 25 七月 2024 13:41:58 +0800 Subject: [PATCH] update 订单信息 --- plugins/message.js | 2 pages/order/order-detail.vue | 237 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 229 insertions(+), 10 deletions(-) diff --git a/pages/order/order-detail.vue b/pages/order/order-detail.vue index 7cdb309..3d5295b 100644 --- a/pages/order/order-detail.vue +++ b/pages/order/order-detail.vue @@ -3,7 +3,14 @@ data() { return { id: '', - dto: {} + dto: {}, + type: '', + // #ifdef PUB_CUSTOMER + type: 'customer', + // #endif + // #ifdef PUB_PARTNER + type: 'partner', + // #endif }; }, onLoad(options) { @@ -27,7 +34,7 @@ }, async getDetail() { this.$message.showLoading() - const {code, data} = this.$http.request('get', '/api/customer/order/list/view', { + const {code, data} = this.$http.request('get', `/api/${type}/order/list/view```, { params: { id: this.id } @@ -42,7 +49,7 @@ }, async getItemList() { this.$message.showLoading() - const {code, data} = this.$http.request('get', '/api/customer/order/item/list', { + const {code, data} = this.$http.request('get', `/api/${type}/order/item/list`, { params: { id: this.id } @@ -52,8 +59,95 @@ this.list = data || [] } }, - buttonClick(buttontype) { + async buttonClick(buttontype) { + switch (buttontype) { + case 'refund': { + await this.$message.confirm('是否确定申请退款') + // 发送请求 + this.$message.showLoading() + const {code} = await this.$http.request('post', '/api/customer/order/refund', { + data: { + id: this.id, + evaluate: res.content + } + }) + this.$message.hideLoading() + if (code === 0) { + this.getDetail() + } + } + break + case 'confirm': { + await this.$message.confirm('是否确定收货') + // 发送请求 + this.$message.showLoading() + const {code} = await this.$http.request('get', '/api/customer/order/receive/confirm', { + params: { + id: this.id, + } + }) + this.$message.hideLoading() + if (code === 0) { + this.getDetail() + } + } + break + case 'payAgain': { + await this.$message.confirm('是否确定重新') + // 发送请求 + this.$message.showLoading() + const {code, data} = await this.$http.request('get', '/api/customer/order/payAgain', { + params: { + id: this.id, + } + }) + this.$message.hideLoading() + if (code === 0) { + //微信接口 + let that = this + wx.requestPayment({ + ...data, + async success(res) { + console.log('pay success', res) + that.$message.showToast('支付成功') + setTimeout(() => { + that.getDetail() + }, 200) + }, + fail(err) { + console.error('pay fail', err) + that.$message.showToast('支付失败') + } + }) + + } + + } + break + case 'evaluate': { + const res = await this.$message.confirm('请输入评价信息', { + editable: true + }) + if (res.content && res.confirm) { + // 发送请求 + this.$message.showLoading() + const {code} = await this.$http.request('post', '/api/customer/order/evaluate', { + data: { + id: this.id, + evaluate: res.content + } + }) + this.$message.hideLoading() + if (code === 0) { + this.getDetail() + } + } + } + break + default: + break + } } }, } @@ -88,20 +182,66 @@ </view> </view> </view> - <view class="flower-info m-b-20" v-for="(item,index) of list" :key="index"> + <view class="flower-info m-b-20" v-for="(item,index) of list" + :key="index"> + <view class="supplier-name"> + <image class="icon-dp" src="/static/common/icon-dp.png"></image> + + {{ item.supplierName }} + </view> + <view class="flex"> + <image class="flower-img img100 m-r-6" + :src="item.flowerCover" @click="previewImg(item.flowerCover)"> + </image> + <view class="flex1"> + <view class=" flex"> + <view class="title">{{ item.flowerName }}<span class="level">{{ item.flowerLevelStr }}</span></view> + <!-- <view class="m-l-a m-r-0">--> + <!-- {{item.flowerCategory || '-'}}--> + <!-- </view>--> + </view> + <view class="each-list"> + <view class="each-item"> + <view class="label">颜色</view> + <view class="value">{{ item.flowerColor || '-' }}</view> + + </view> + <view class="each-item"> + <view class="label">规格</view> + <view class="value">{{ item.flowerUnit || '-' }}</view> + </view> + + <view class="each-item"> + <view class="label">数量</view> + <view class="value">{{ item.num || 0 }}</view> + + </view> + <view class="each-item"> + <view class="label">售价</view> + <view class="value">¥{{ item.price || '-' }}</view> + </view> + <view class="each-item"> + <view class="label">总金额</view> + <view class="value t-red">¥{{ item.total || '-' }}</view> + </view> + </view> + </view> + </view> </view> <view class="info-container"> <view class="form-item"> <view class="label">订单编号:</view> <view class="value">{{ dto.orderNo || '-' }}</view> - <view class="button m-l-a m-r-0" @click="copyTxt(dto.orderNo)">复制</view> + <view class="button m-l-a m-r-0" + @click="copyTxt(dto.orderNo)">复制 + </view> </view> <view class="form-item"> <view class="label">下单日期:</view> <view class="value">{{ dto.paymentTime || '-' }}</view> </view> - <view class="form-item" v-if="dto.cancelTime&&(dto.status==='CANCEL')"> + <view class="form-item" v-if="dto.cancelTime&&(dto.status==='CANCEL'||dto.status==='REFUND')"> <view class="label">取消时间:</view> <view class="value">{{ dto.cancelTime || '-' }}</view> </view> @@ -182,9 +322,24 @@ </view> </view> <view class="button-space"></view> - <view class="buttons-bottom"> - <view class="button button-1" @click="buttonClick('refund')">申请退款</view> + <view class="buttons-bottom flex"> + <view class="button button-1" + @click="buttonClick('refund')" v-if="dto.status ==='CANCEL'">申请退款 + </view> + <view class="button button-1" @click="buttonClick('confirm')" + v-if="dto.status ==='RECEIVE'"> 确认收货 + </view> + <view class="button button-1" @click="buttonClick('payAgain')" + v-if=" dto.status === 'PENDING'"> 重新支付 + </view> + <view class="button button-1" @click="buttonClick('evaluate')" + v-if=" dto.status === 'EVALUATE'"> 评价 + </view> + </view> + <!-- + <view class="button button-1" @click = "buttonClick('payAgain')" > 查询退款 < /view>--> + </view> </template> @@ -307,6 +462,70 @@ background: #FFFFFF; border-radius: 8rpx; + + .supplier-name { + border-bottom: 2rpx solid #EEEEEE; + font-weight: 600; + font-size: 28rpx; + color: #000000; + line-height: 40rpx; + } + + .title { + font-weight: 600; + font-size: 28rpx; + color: #000000; + line-height: 40rpx; + + .level { + font-weight: 400; + font-size: 28rpx; + color: #20613D; + line-height: 40rpx; + margin-left: 20rpx; + } + } + + .flower-img { + width: 128rpx; + height: 118rpx; + min-width: 128rpx; + min-height: 118rpx; + } + + .each-list { + display: flex; + flex-wrap: wrap; + margin-top: 6rpx; + + .each-item { + min-width: 30%; + max-width: 40%; + text-align: center; + margin-left: 0rpx; + margin-right: auto; + display: flex; + + .label { + font-weight: 400; + font-size: 24rpx; + color: #666666; + text-align: left; + padding-right: 10rpx; + } + + .label::after { + content: ": " + } + + .value { + font-weight: 400; + font-size: 24rpx; + color: #666666; + } + } + } + } } diff --git a/plugins/message.js b/plugins/message.js index b827614..d67af39 100644 --- a/plugins/message.js +++ b/plugins/message.js @@ -74,7 +74,7 @@ ...options, success: (res) => { if (res.confirm) { - resolve() + resolve(res) } if (res.cancel) { reject() -- Gitblit v1.9.3