xuxueyang
2024-08-27 ed6513d69ed4acd982c3596e986dcfe9f5c66d00
pages/order/order-detail.vue
@@ -29,12 +29,17 @@
            await this.getItemList()
            this.submitForm = {
               orderId: this.id,
               imageList: [],
               // imageList: [],
               videoList: [],
               reason: '',
               orderItems: []
               // orderItems: [],
               orderItemId: options.flowerId || '',
               num: 0,
               pictureList: []
            }
            this.showSales = options.showsales && true || false
            if (this.dto.statusBackend === 'PENDING') {
               this.timer = setInterval(() => {
                  //倒计时
@@ -144,18 +149,63 @@
               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,
                  var tryCallWx = false
                  // #ifdef MP
                  let tmp = this
                  if (wx.openBusinessView&&false) {
                     tryCallWx = true
                     wx.openBusinessView({
                        businessType: 'weappOrderConfirm',
                        extraData: {
                           merchant_id: '1230000109',
                           merchant_trade_no: '1234323JKHDFE1243252',
                           transaction_id: '420123123123123123123'
                        },
                        success() {
                           //dosomething
                           // 发送请求
                           tmp.$message.showLoading()
                           const {
                              code
                           } = await tmp.$http.request('get', '/api/customer/order/receive/confirm', {
                              params: {
                                 id: tmp.id,
                              }
                           })
                           tmp.$message.hideLoading()
                           if (code === 0) {
                              tmp.getDetail()
                           }
                        },
                        fail(e) {
                           //dosomething
                           console.log('error fail', e)
                           tmp.$message.showToast('收货失败')
                        },
                        complete() {
                           //dosomething
                        }
                     });
                  }
                  // #endif
                  if (!tryCallWx) {
                     // 发送请求
                     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()
                     }
                  })
                  this.$message.hideLoading()
                  if (code === 0) {
                     this.getDetail()
                  }
               }
@@ -218,19 +268,19 @@
                  }
               }
               break
               case 'sales': {
                  //新增售后单
                  //去新的页面加上这些选择?
                  this.submitForm = {
                     orderId: this.id,
                     imageList: [],
                     videoList: [],
                     reason: '',
                     orderItems: [],
                  }
                  this.showSales = true
               // case 'sales': {
               //    //新增售后单
               //    //去新的页面加上这些选择?
               //    this.submitForm = {
               //       orderId: this.id,
               //       imageList: [],
               //       videoList: [],
               //       reason: '',
               //       orderItems: [],
               //    }
               //    this.showSales = true
               }
               // }
               default:
                  break
            }
@@ -298,7 +348,7 @@
                                 0]
                              .url || ''
                           that.$message.hideLoading()
                           that.submitForm.imageList.push(pic)
                           that.submitForm.pictureList.push(pic)
                           that.$forceUpdate()
                        }).catch(res => {
@@ -312,15 +362,23 @@
         },
         async submitSales() {
            if (this.submitForm.orderItems.length < 1) {
               this.$message.showToast('未选择需要售后的商品')
            // if (this.submitForm.orderItems.length < 1) {
            //    this.$message.showToast('未选择需要售后的商品')
            //    return
            // }
            // if (this.submitForm.orderItems.length < 1) {
            //    this.$message.showToast('未选择需要售后的商品')
            //    return
            // }
            if (isNaN(parseFloat(this.submitForm.num)) || this.submitForm.num <= 0) {
               this.$message.showToast('售后数量需要大于0')
               return
            }
            if (!this.submitForm.reason) {
               this.$message.showToast('未填写理由')
               return
            }
            if (!this.submitForm.imageList || this.submitForm.imageList.length < 1) {
            if (!this.submitForm.pictureList || this.submitForm.pictureList.length < 1) {
               this.$message.showToast('未上传图片')
               return
            }
@@ -382,8 +440,9 @@
            {{ item.supplierName || ''}}
         </view>
         <view class="flex m-t-12">
            <radio v-if="showSales" :checked="submitForm.orderItems.indexOf(item.id)>=0"
               @click="changeSalesOrderItem(item)"></radio>
            <radio v-if="showSales" disabled :checked="submitForm.orderItemId == item.id"></radio>
            <!-- @click="changeSalesOrderItem(item)" -->
            <!-- :checked="submitForm.orderItems.indexOf(item.id)>=0" -->
            <image class="flower-img img100 br-4 m-r-6" :src="item.flowerCover"
               @click="previewImg(item.flowerCover)">
@@ -534,7 +593,16 @@
      <view class="info-container form bg-white br-4 m-t-12" v-if="showSales">
         <!-- 表单更新 -->
         <view class="form-item">
            <view class="form-item-label">
            <view class="form-item-label require">
               售后数量
            </view>
            <view class="form-item-value">
               <input v-model="submitForm.num" clearable placeholder="请输入售后数量" type="number"
                  class="form-input"></input>
            </view>
         </view>
         <view class="form-item">
            <view class="form-item-label require">
               理由
            </view>
            <view class="form-item-value">
@@ -542,18 +610,18 @@
            </view>
         </view>
         <view class="form-item">
            <view class="form-item-label">
            <view class="form-item-label require">
               图片
            </view>
            <view class="form-item-value m-l-a m-r-0">
               <view class="t-red" @click="uploadIcon('image')">上传</view>
            </view>
         </view>
         <view class="flex p20" v-if="submitForm.imageList&&submitForm.imageList.length>0">
            <view class="m-t-12 m-r-10 " v-for="(timg,index) of submitForm.imageList" :key="index">
         <view class="flex p20" v-if="submitForm.pictureList&&submitForm.pictureList.length>0">
            <view class="m-t-12 m-r-10 " v-for="(timg,index) of submitForm.pictureList" :key="index">
               <image class="check-img" :src="timg" @click.stop="previewImg(timg)">
               </image>
               <view class="t-red text-center" @click.stop="deleteCheckImage('imageList',index)">删除</view>
               <view class="t-red text-center" @click.stop="deleteCheckImage('pictureList',index)">删除</view>
            </view>
         </view>
         <view class="form-item">
@@ -588,15 +656,17 @@
         <view class="button button-1" @click="buttonClick('evaluate')" v-if=" dto.status === 'EVALUATE'"> 评价
         </view>
         <!-- ||dto.status=='COMPLETED' -->
         <view class="button button-1" @click="buttonClick('sales')" v-if=" dto.status === 'RECEIVE'"> 申请售后
         </view>
         <!-- 在外面申请了,里面不允许了 -->
         <!--    <view class="button button-1" @click="buttonClick('sales')" v-if=" dto.status === 'RECEIVE'"> 申请售后
         </view> -->
      </view>
      <view v-if="showSales">
         <view style="min-height:200rpx">
         </view>
         <view class="bottom-price flex">
            <view class="button-green-1 m-l-a m-r-0" style="min-width: 240rpx" @click="submitSales">
               提交售后申请({{submitForm.orderItems&&submitForm.orderItems.length||0}})
               提交售后申请
               <!-- ({{submitForm.orderItems&&submitForm.orderItems.length||0}}) -->
            </view>
         </view>
      </view>