From 9d901b4215323c97a00a068cd962f5c9c04dadfa Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 04 九月 2025 10:15:09 +0800
Subject: [PATCH] 前端

---
 admin/src/components/business/OperaOrderDetailWindow.vue  |   99 +++++++++++++++++++++++-
 small-program/pages/packaging-worker/packaging-worker.vue |    6 +
 small-program/pages/demand-hall/demand-hall.vue           |    8 +-
 small-program/pages/order-details/order-details.vue       |   89 +++++++++++++++++++---
 small-program/pages/freight/freight.vue                   |   31 ++++++-
 5 files changed, 205 insertions(+), 28 deletions(-)

diff --git a/admin/src/components/business/OperaOrderDetailWindow.vue b/admin/src/components/business/OperaOrderDetailWindow.vue
index 5a4af7e..8658b5a 100644
--- a/admin/src/components/business/OperaOrderDetailWindow.vue
+++ b/admin/src/components/business/OperaOrderDetailWindow.vue
@@ -59,8 +59,8 @@
             <div  class="cont"><span class="label">鍝佺锛�</span> <span class="txt">{{info.categoryName || ''}}</span></div>
           </div>
           <div class="line">
-            <div class="cont"><span class="label" v-if="info.workType==1">浜烘暟锛�</span> <span class="txt">{{info.priceNum1 || '' }}浜�</span></div>
-            <div class="cont"><span class="label"  v-if="info.workType==0">閲嶉噺锛�</span> <span class="txt">{{info.priceNum1 || '' }}鏂�</span></div>
+            <div class="cont"  v-if="info.workType==1"><span class="label">浜烘暟锛�</span> <span class="txt">{{info.priceNum1 || '' }}浜�</span></div>
+            <div class="cont"  v-if="info.workType==0"><span class="label">閲嶉噺锛�</span> <span class="txt">{{info.priceNum1 || '' }}鏂�</span></div>
             <div class="cont"><span class="label">鐢ㄥ伐鏃堕棿锛�</span><span class="txt">{{info.startDate|| '' }}-{{info.endDate|| '' }}</span></div>
             <div class="cont"><span class="label">鐢ㄥ伐澶╂暟锛�</span><span class="txt">{{info.totalDays || 0 }}澶�</span></div>
           </div>
@@ -185,6 +185,22 @@
           </div>
         </div>
       </div>
+      <div class="renzheng" v-if="(info.type ===0 || info.type===1)&&(info.status===5|| info.status===4)" >
+        <div class="info" >
+          <span class="m10">璐圭敤纭</span>
+        </div>
+        <div class="detail" style=" ">
+          <div class="line">
+            <div class="cont"><span class="label">瀹為檯{{feeFrom.priceParam1.name }}锛�</span><span class="txt">{{info.priceNum1 || 0 }}{{feeFrom.priceParam1.unit }}</span></div>
+            <div class="cont" v-if="feeFrom.priceParam2.name!=null"><span class="label">瀹為檯{{feeFrom.priceParam2.name }}锛�</span><span class="txt">{{info.priceNum2 || 0 }}{{feeFrom.priceParam2.unit }}</span></div>
+            <div class="cont"  :style="feeFrom.priceParam2.name!=null?'':'flex: 2'"><span class="label">鍏朵粬璐圭敤锛�</span> <span class="txt">{{((info.confirmOtherFee||0)/100).toFixed(2) }}鍏�</span></div>
+          </div>
+          <div class="line">
+            <div class="cont"><span class="label">瀹為檯鎬昏垂鐢細</span><span class="txt yellowbtn">{{((info.estimatedAccount||0)/100).toFixed(2) }}鍏�</span></div>
+            <div class="cont"  style="flex: 2"><span class="label">澶囨敞锛�</span><span class="txt">{{info.confirmFeeRemark || '' }}</span></div>
+          </div>
+        </div>
+      </div>
       <div class="renzheng" >
         <div class="info" >
           <span class="m10">鍙戝崟鏂逛俊鎭�</span>
@@ -248,9 +264,19 @@
   data () {
     return {
       id: '',
-      wayList:[],
+      wayList: [],
       info: {},
-      loading: false
+      loading: false,
+      feeFrom: {
+        priceParam1: {
+          name: null,
+          unit: null
+        },
+        priceParam2: {
+          name: null,
+          unit: null
+        }
+      }
     }
   },
   methods: {
@@ -259,7 +285,17 @@
       this.visible = true
       this.tableData2 = []
       this.id = row.id
-      this.wayList=[]
+      this.wayList = []
+      this.feeFrom = {
+        priceParam1: {
+          name: null,
+          unit: null
+        },
+        priceParam2: {
+          name: null,
+          unit: null
+        }
+      }
       this.getData()
     },
     getData () {
@@ -267,9 +303,10 @@
         .then(res => {
           this.info = res
           this.visible = true
-          if(this.info.wayInfo){
+          if (this.info.wayInfo) {
             this.wayList = JSON.parse(this.info.wayInfo)
           }
+          this.initPriceNumParam()
           console.log(this.wayList)
         })
     },
@@ -277,7 +314,7 @@
 
     },
     showLogList () {
-      this.$refs.orderProgress.open('璁㈠崟娴佽浆鏃ュ織', this.info.orderLogList||[])
+      this.$refs.orderProgress.open('璁㈠崟娴佽浆鏃ュ織', this.info.orderLogList || [])
     },
     getScoreLevel (num) {
       if (this.info.commentLevel && this.info.commentLevel >= num) {
@@ -312,6 +349,54 @@
               })
           })
       })
+    },
+    initPriceNumParam () {
+      this.feeFrom.priceParam1.name = null
+      this.feeFrom.priceParam1.unit = null
+      this.feeFrom.priceParam2.name = null
+      this.feeFrom.priceParam2.unit = null
+      if (this.info.type === 0 && this.info.workType === 1) {
+        // 鍒嗘嫞宸�
+        this.feeFrom.priceParam1.name = '鐢ㄥ伐澶╂暟锛�'
+        this.feeFrom.priceParam1.unit = '澶�'
+        this.feeFrom.priceParam2.name = '鐢ㄥ伐浜烘暟锛�'
+        this.feeFrom.priceParam2.unit = '浜�'
+      } else if (this.info.type === 0 && this.info.workType === 0) {
+        // 閲囨憳宸�
+        this.feeFrom.priceParam1.name = '閲囨憳閲嶉噺锛�'
+        this.feeFrom.priceParam1.unit = '鏂�'
+        this.feeFrom.priceParam2.name = null
+        this.feeFrom.priceParam2.unit = null
+      } else if (this.info.type === 0 && this.info.workType === 2) {
+        // 鍖呰宸�
+        if (this.info.carType === 0) {
+          // 鎸夊ぉ
+          this.feeFrom.priceParam1.name = '鐢ㄥ伐澶╂暟'
+          this.feeFrom.priceParam1.unit = '澶�'
+          this.feeFrom.priceParam2.name = '鐢ㄥ伐浜烘暟'
+          this.feeFrom.priceParam2.unit = '浜�'
+        } else if (this.info.carType === 1) {
+          // 鎸夊皬鏃�
+          this.feeFrom.priceParam1.name = '宸ヤ綔鏃堕暱'
+          this.feeFrom.priceParam1.unit = '鏃�'
+          this.feeFrom.priceParam2.name = '鐢ㄥ伐浜烘暟'
+          this.feeFrom.priceParam2.unit = '浜�'
+        } else if (this.info.carType === 1) {
+          // 鎸夊皬鏃�
+          this.feeFrom.priceParam1.name = '鍖呰閲嶉噺'
+          this.feeFrom.priceParam1.unit = '鏂�'
+          this.feeFrom.priceParam2.name = null
+          this.feeFrom.priceParam2.unit = null
+        }
+      } else if (this.info.type === 1 && this.info.carType === 0) {
+        // 杩愯揣鍗� 鎸夊ぉ鏁�
+        this.feeFrom.priceParam1.name = '鐢ㄨ溅澶╂暟'
+        this.feeFrom.priceParam1.unit = '澶�'
+      } else if (this.info.type === 1 && this.info.carType === 1) {
+        // 杩愯揣鍗� 鎸夋鏁�
+        this.feeFrom.priceParam1.name = '鐢ㄨ溅娆℃暟'
+        this.feeFrom.priceParam1.unit = '娆�'
+      }
     }
   }
 }
diff --git a/small-program/pages/demand-hall/demand-hall.vue b/small-program/pages/demand-hall/demand-hall.vue
index 6bbf0a1..b92e48e 100644
--- a/small-program/pages/demand-hall/demand-hall.vue
+++ b/small-program/pages/demand-hall/demand-hall.vue
@@ -107,9 +107,9 @@
 							<view class="eidt-phone" v-if="[2].includes(item.status)">鑱旂郴甯堝倕</view>
 							<view class="eidt-phone" v-if="item.status === 4 && item.commentStatus === 0">璇勪环璁㈠崟</view>
 							<view class="eidt-btn" v-if="[0,1,2].includes(item.status) && item.type !== 2 &&  item.isUpdate!=1" @click.stop="jumpEdit(item)">淇敼璁㈠崟</view>
-							<view class="eidt-btn" v-if="(item.type  == 2 && item.status === 0)" @click.stop="jumpEdit(item)">缁х画鏀粯</view>
+							<view class="eidt-btn" v-if="(item.type  == 2 && item.status === 0)" @click.stop="jumpDesc(item,1)">缁х画鏀粯</view>
 							<!-- <view class="eidt-btn" v-if="item.status === 2" @click.stop="startJobs(item.id)">寮�濮嬩綔涓�</view> -->
-							<view class="eidt-btn" v-if="item.type != 2 && item.status === 5" @click.stop="jumpDesc(item)">绔嬪嵆鏀粯</view>
+							<view class="eidt-btn" v-if="item.type != 2 && item.status === 5" @click.stop="jumpDesc(item,2)">绔嬪嵆鏀粯</view>
 							<view class="eidt-btn" v-if="item.type == 2 && item.status === 3" @click.stop="jumpDesc(item)">瀹屾垚浣滀笟</view>
 						</view>
 					</view>
@@ -332,9 +332,9 @@
 						
 					})
 			},
-			jumpDesc(item) {
+			jumpDesc(item,flag) {
 				uni.navigateTo({
-					url: `/pages/order-details/order-details?id=${item.id}`
+					url: `/pages/order-details/order-details?id=${item.id}&flag=${flag}`
 				})
 			},
 			// 淇敼
diff --git a/small-program/pages/freight/freight.vue b/small-program/pages/freight/freight.vue
index 20d0bfc..9951efe 100644
--- a/small-program/pages/freight/freight.vue
+++ b/small-program/pages/freight/freight.vue
@@ -91,12 +91,15 @@
 					<view class="list-item-row">
 						<view class="list-item-row-label">杩愯緭閲嶉噺/鏁伴噺<b>*</b></view>
 						<view class="list-item-row-val">
-							<input type="text" style="flex: 1;" v-model="form.transportNum" placeholder="璇疯緭鍏�" />
-							<view @click="show4 = true" style="width: 100rpx; flex-shrink: 0; display: flex; align-items: center; justify-content: flex-end;">
+							<input type="text" style="flex: 3;" v-model="form.transportNum" placeholder="璇疯緭鍏�" />
+							<!-- <view @click="show4 = true" style="width: 100rpx; flex-shrink: 0; display: flex; align-items: center; justify-content: flex-end;">
 								<text>{{form.transportUnit}}</text>
 								<u-icon name="arrow-down" color="#111111" size="16"></u-icon>
-							</view>
+							</view> -->
+							<view  style="flex: 1;" :class="form.transportUnit ==='涓�' ? 'val-cate-item val-active' : 'val-cate-item'"   @click="form.transportUnit = '涓�'">涓�</view>
+							<view  style="flex: 1;" :class="form.transportUnit ==='鏂�' ? 'val-cate-item val-active' : 'val-cate-item'"   @click="form.transportUnit = '鏂�'">鏂�</view>
 						</view>
+						 
 					</view>
 					<view class="list-item-row" v-if="viewStatus">
 						<view class="list-item-row-label">闇�姹傝ˉ鍏�</view>
@@ -438,7 +441,7 @@
 							}).then(res => {
 								if (res.code == 200) {
 									uni.showToast({
-										title: '缂栬緫鎴愬姛',
+										title: '淇敼鎴愬姛',
 										icon: 'success',
 										mask: true,
 										duration: 2000
@@ -552,6 +555,7 @@
 						if ([2].includes(type)) {
 							this.form.latitude = res.latitude
 							this.form.longitude = res.longitude
+							this.form.location = res.name || res.address
 							this.form.address = res.name || res.address
 						} else if (type === 3) {
 							this.form.locationEnd = res.name || res.address
@@ -989,6 +993,25 @@
 							font-size: 30rpx;
 							color: #111111;
 						}
+						.val-active {
+							background: #00BC12 !important;
+							color: #ffffff !important;
+						}
+						.val-cate-item {
+							width: 208rpx;
+							height: 72rpx;
+							line-height: 72rpx;
+							text-align: center;
+							font-weight: 400;
+							font-size: 28rpx;
+							color: #333333;
+							background: #EEEEEE;
+							border-radius: 36rpx;
+							margin-right: 24rpx;
+							&:last-child {
+								margin: 0 !important;
+							}
+						}
 					}
 				}
 			}
diff --git a/small-program/pages/order-details/order-details.vue b/small-program/pages/order-details/order-details.vue
index 93e9dea..eadd734 100644
--- a/small-program/pages/order-details/order-details.vue
+++ b/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"
@@ -316,7 +367,7 @@
 				<view class="querenfee-c">
 					<view class="querenfee-c-info1">鍏朵粬璐圭敤锛�</view>
 					<view class="querenfee-c-input">
-						<input type="number" v-model="feeFrom.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>
@@ -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()
@@ -500,17 +553,29 @@
 						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,
+					confirmOtherFee: (this.feeFrom.confirmOtherFee||0)*100,
 					orderId: this.info.id,
 					priceNum1: this.feeFrom.priceNum1,
 					priceNum2: this.feeFrom.priceNum2
 				}).then(res => {
 					if (res.code === 200) {
-						this.show7 = false
+						that.show7 = false
 						uni.showToast({ title: '鎿嶄綔鎴愬姛', icon: 'success', duration: 2000 });
-						this.getOrderData()
+						that.getOrderData()
 					}
 				})
 			},
diff --git a/small-program/pages/packaging-worker/packaging-worker.vue b/small-program/pages/packaging-worker/packaging-worker.vue
index 9998066..85f3044 100644
--- a/small-program/pages/packaging-worker/packaging-worker.vue
+++ b/small-program/pages/packaging-worker/packaging-worker.vue
@@ -251,12 +251,16 @@
 				if (!this.form.categoryId) {
 					return uni.showToast({ title: '璇烽�夋嫨鍒嗘嫞鍝佺', icon: 'none' })
 				}
+				if (this.form.carType !=0 && !this.form.priceNum1) {
+					var t = this.form.carType ==1?"宸ヤ綔鏃堕暱":"鍖呰閲嶉噺"
+					return uni.showToast({ title: '璇疯緭鍏�'+t, icon: 'none' })
+				}
 				if (!this.form.priceNum2) {
 					return uni.showToast({ title: '璇疯緭鍏ョ敤宸ユ暟閲�', icon: 'none' })
 				}
 				if (!this.form.price) {
 					return uni.showToast({ title: '璇疯緭鍏ヨ垂鐢ㄦ爣鍑�', icon: 'none' })
-				}
+				} 
 				if (!this.form.linkPhone) {
 					return uni.showToast({ title: '璇疯緭鍏ヨ仈绯荤數璇�', icon: 'none' })
 				}

--
Gitblit v1.9.3