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