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