doum
2025-09-04 9d901b4215323c97a00a068cd962f5c9c04dadfa
small-program/pages/order-details/order-details.vue
@@ -9,7 +9,7 @@
            订单信息已修改,请及时确认,{{timeInfo}}后将自动同意
         </view> 
         <view class="order-head-info" v-if="isPushlishor  && info.type ==2 && info.status ==0" style="color: red;">
            剩余支付支付时间,{{timeInfo1}}后将自动取消
            剩余支付时间,{{timeInfo1}}后将自动取消
         </view> 
         <view class="order-head-info" v-else >{{getStatusInfo()}}</view> 
      </view>
@@ -94,11 +94,11 @@
         <view class="order-info-price">
            <view class="price-row" v-if="feeFrom.priceParam1.name">
               <view class="price-row-label">{{feeFrom.priceParam1.name}}</view>
               <view class="price-row-val" >  {{(info.priceNum1||0) }}{{feeFrom.priceParam1.unit}} </view>
               <view class="price-row-val" >  {{(info.originPriceNum1||0) }}{{feeFrom.priceParam1.unit}} </view>
            </view>
            <view class="price-row" v-if="feeFrom.priceParam2.name">
               <view class="price-row-label">{{feeFrom.priceParam2.name}}</view>
               <view class="price-row-val" >  {{(info.priceNum2||0) }}{{feeFrom.priceParam2.unit}} </view>
               <view class="price-row-val" >  {{(info.originPriceNum2||0) }}{{feeFrom.priceParam2.unit}} </view>
            </view>
            <view class="price-row">
               <view class="price-row-label">费用标准</view>
@@ -112,17 +112,65 @@
            <view class="price-row">
               <view class="price-row-label">预估总费用(元)</view>
               <view class="price-row-val" :style="{color: userInfo.id !== info.acceptMemberId ? '#FF0000' : ''}">
                  ¥{{((info.estimatedAccount||0)/100).toFixed(2) }}
                  ¥{{((info.originEstimatedAccount||0)/100).toFixed(2) }}
               </view>
            </view>
            <view class="price-row" v-if="isAcceptor">
            <view class="price-row"   v-if="isAcceptor&&(info.type==2 || (info.status!=5&& info.status!=4))">
               <view class="price-row-label">实际到账(元)</view>
               <view class="price-row-val" style="color: #FF0000;">
                  ¥{{((info.estimatedAccount * (1 - (info.platformRata || 0))) / 100).toFixed(2) }}
                  ¥{{((info.receiveAccount || 0) / 100).toFixed(2) }}
               </view>
            </view>
         </view>
         <template v-if="info.type!=2&&(info.status==5|| info.status==4)">
            <view class="order-info-x"></view>
            <view class="order-info-supplement" >
               <view class="order-info-supplement-title">已确认费用</view>
            </view>
            <view class="order-info-price">
               <view class="price-row" v-if="feeFrom.priceParam1.name">
                  <view class="price-row-label">实际{{feeFrom.priceParam1.name}}</view>
                  <view class="price-row-val" > {{(info.priceNum1||0) }}{{feeFrom.priceParam1.unit}} </view>
               </view>
               <view class="price-row" v-if="feeFrom.priceParam2.name">
                  <view class="price-row-label">实际{{feeFrom.priceParam2.name}}</view>
                  <view class="price-row-val" > {{(info.priceNum2||0) }}{{feeFrom.priceParam2.unit}} </view>
               </view>
               <view class="price-row" >
                  <view class="price-row-label">其他费用</view>
                  <view class="price-row-val" >¥{{((info.confirmOtherFee||0)/100).toFixed(2) }} </view>
               </view>
               <view class="price-row">
                  <view class="price-row-label">实际总费用(元)</view>
                  <view class="price-row-val" style="color:  #FF0000">
                     ¥{{((info.estimatedAccount||0)/100).toFixed(2) }}
                  </view>
               </view>
               <view class="price-row" >
                  <view class="price-row-label">备注</view>
                  <view class="price-row-val" >
                     {{ info.confirmFeeRemark ||'' }}
                  </view>
               </view>
            </view>
         </template>
         <template v-if="info.type==2 || info.status==4">
            <view class="order-info-x"></view>
            <view class="order-info-supplement" >
               <view class="order-info-supplement-title">实际费用</view>
            </view>
            <view class="order-info-price">
               <view class="price-row">
                  <view class="price-row-label" v-if="isPushlishor">实际支付</view>
                  <view class="price-row-val" style="color: #FF0000;">¥{{((info.payAccount||0)/100).toFixed(2) }} </view>
               </view>
               <view class="price-row" v-if="isAcceptor && info.status==4" >
                  <view class="price-row-label">实际到账</view>
                  <view class="price-row-val" style="color: #FF0000;">¥{{((info.receiveAccount||0)/100).toFixed(2) }} </view>
               </view>
            </view>
         </template>
      </view>
      <view class="order-info" v-if="info.commentStatus ===1">
         <view class="order-info-title">
@@ -169,6 +217,10 @@
               <text>开始时间:</text>
               <text>{{info.workStartTime||'-'}}</text>
            </view>
            <view class="order-info-list-item" v-if="info.confirmFeeTime">
               <text>费用确认时间:</text>
               <text>{{info.confirmFeeTime||'-'}}</text>
            </view>
            <view class="order-info-list-item" v-if="info.finishTime">
               <text>完成时间:</text>
               <text>{{info.finishTime||'-'}}</text>
@@ -206,7 +258,6 @@
         </view>
         <view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
      </view>
      <u-modal
         title="温馨提示"
         :show="show"
@@ -302,28 +353,28 @@
            <view class="querenfee-c" >                
               <view class="querenfee-c-info1"><text style="color: red;">*</text>实际{{feeFrom.priceParam1.name}}</view>
               <view class="querenfee-c-input"> 
                  <input type="number" placeholder-style="color: #999999; font-size: 56rpx; font-weight: 500;" v-model="feeForm.priceNum1"   placeholder="请输入" />
                  <input type="number" placeholder-style="color: #999999; font-size: 56rpx; font-weight: 500;" @input="getTotal" v-model="feeFrom.priceNum1"   placeholder="请输入" />
               </view>
               <text class="querenfee-c-danw">{{feeFrom.priceParam1.unit}}</text>
            </view>
            <view class="querenfee-c" v-if="feeFrom.priceParam2.name !=null">
               <view class="querenfee-c-info1"><text style="color: red;">*</text>实际{{feeFrom.priceParam2.name}}:</view>
               <view class="querenfee-c-input"> 
                  <input type="number" v-model="feeForm.priceNum2" placeholder-style="color: #999999; font-size: 56rpx; font-weight: 500;" placeholder="请输入" />
                  <input type="number" v-model="feeFrom.priceNum2" placeholder-style="color: #999999; font-size: 56rpx; font-weight: 500;" @input="getTotal" placeholder="请输入" />
               </view>
               <text class="querenfee-c-info1" >{{feeFrom.priceParam2.unit}}</text>
            </view>
            <view class="querenfee-c">
               <view class="querenfee-c-info1">其他费用:</view>
               <view class="querenfee-c-input">
                  <input type="number" v-model="feeForm.confirmOtherFee" placeholder-style="color: #999999; font-size: 56rpx; font-weight: 500;" placeholder="请输入" />
                  <input type="digit" v-model="feeFrom.confirmOtherFee" placeholder-style="color: #999999; font-size: 56rpx; font-weight: 500;" placeholder="请输入" />
               </view>
               <text class="querenfee-c-danw">元</text>
            </view>
            <view class="querenfee-c" style="flex-direction: column;">
               <view class="querenfee-c-info1" style="margin-bottom: 30rpx;">备注信息:</view>
               <view class="querenfee-c-input" style="width: 100%; height: 200rpx; padding: 30rpx; box-sizing: border-box;">
                  <u--textarea placeholder="如需备注,请输入" border="none" v-model="feeForm.confirmFeeRemark"  ></u--textarea>
                  <u--textarea placeholder="如需备注,请输入" border="none" v-model="feeFrom.confirmFeeRemark"  ></u--textarea>
               </view>
            </view>
            <view class="querenfee-c">
@@ -388,6 +439,7 @@
            show5:false,
            show6:false,
            show7:false,
            actionFlag:null,
            timeInfo:'00:00:00',
            timeInfo1:'00:00:00',
            lessTime:null,
@@ -421,6 +473,7 @@
         console.log(options)
         var id = options.id
         this.id = id 
         this.actionFla=options.flag
      },
      onShow(options) { 
         this.getOrderData()
@@ -474,8 +527,57 @@
               }
            })
         },
         getTotal() {
            this.$u.api.getTotal({
               price: this.info.price,
               priceUnit: this.feeFrom.priceParam1.unit,
               priceNum1: this.feeFrom.priceNum1 || 0,
               priceNum2: this.feeFrom.priceNum2 || 0,
               type: this.info.type
            }).then(res => {
               if (res.code === 200) {
                  this.confirmPayFee = (res.data / 100) || '0'
               }
            })
         },
         confirmFee(){
            console.log("confirmFee")
            if (!this.feeFrom.priceNum1) {
               return uni.showToast({
                  title: '实际' + this.feeFrom.priceParam1.name + '不能为空',
                  icon: 'none'
               })
            }
            if (this.feeFrom.priceParam2.name && !this.feeFrom.priceNum2) {
               return uni.showToast({
                  title: '实际' + this.feeFrom.priceParam2.name + '不能为空',
                  icon: 'none'
               })
            }
            uni.requestSubscribeMessage({
               tmplIds: ['3rOz7DAnawrkKDM8b5_XW4FLivISWYov6d7QSC4ORsg'],
               success(res) {
                  that.doConfirmFeeBiz()
               },
               fail(err) {
                  that.doConfirmFeeBiz()
               }
            })
         },
         doConfirmFeeBiz(){
            var that = this
            this.$u.api.confirmFee({
               confirmFeeRemark: this.feeFrom.confirmFeeRemark,
               confirmOtherFee: (this.feeFrom.confirmOtherFee||0)*100,
               orderId: this.info.id,
               priceNum1: this.feeFrom.priceNum1,
               priceNum2: this.feeFrom.priceNum2
            }).then(res => {
               if (res.code === 200) {
                  that.show7 = false
                  uni.showToast({ title: '操作成功', icon: 'success', duration: 2000 });
                  that.getOrderData()
               }
            })
         },
         payment() {
            var that = this