From 202d13acd6f02b6573213e49326bc1f092d57b99 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 12 九月 2025 18:22:13 +0800
Subject: [PATCH] 优化

---
 small-program/pages/demand-hall/demand-hall.vue |  152 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 104 insertions(+), 48 deletions(-)

diff --git a/small-program/pages/demand-hall/demand-hall.vue b/small-program/pages/demand-hall/demand-hall.vue
index 635bcbd..638a127 100644
--- a/small-program/pages/demand-hall/demand-hall.vue
+++ b/small-program/pages/demand-hall/demand-hall.vue
@@ -6,7 +6,6 @@
 				<text>鎴戠殑璁㈠崟</text>
 			</view>
 		</view>
-		
 		<!-- 鏈櫥褰� -->
 		<view class="index-wu" v-if="!isLogin">
 			<image src="/static/icon/default_login@2x.png" mode="widthFix"></image>
@@ -18,8 +17,8 @@
 		<template v-else>
 			<!-- 鍙戝崟鏂� -->
 			<view class="index-labs" v-if="typeViewId === 0" :style="{ top: statusbarHeight + navHeight + 'px' }">
-				<scroll-view scroll-x class="scroll-view_H">
-					<view :class="item.id === status ? 'index-labs-row active' : 'index-labs-row'" v-for="(item, index) in list1" :key="index" @click="clickOrderType(item.id)">
+				<scroll-view scroll-x class="scroll-view_H" :scroll-into-view="'view'+status">
+					<view :class="item.id === status ? 'index-labs-row active' : 'index-labs-row'" v-for="(item, index) in list1" :id="'view'+item.id" :key="item.id" @click="clickOrderType(item.id)">
 						{{item.name}}
 						<view class="index-labs-row-x" v-if="item.id === status"></view>
 					</view>
@@ -27,8 +26,8 @@
 			</view>
 			<!-- 鎺ュ崟鏂� -->
 			<view class="index-labs" v-if="typeViewId === 1" :style="{ top: statusbarHeight + navHeight + 'px' }">
-				<scroll-view scroll-x class="scroll-view_H">
-					<view :class="item.id === status ? 'index-labs-row active' : 'index-labs-row'" v-for="(item, index) in list" :key="index" @click="clickOrderType(item.id)">
+				<scroll-view scroll-x class="scroll-view_H" :scroll-into-view="'view'+status">
+					<view :class="item.id === status ? 'index-labs-row active' : 'index-labs-row'" v-for="(item, index) in list" :id="'view'+item.id" :key="item.id" @click="clickOrderType(item.id)">
 						{{item.name}}
 						<view class="index-labs-row-x" v-if="item.id === status"></view>
 					</view>
@@ -36,20 +35,23 @@
 			</view>
 			<!-- 鍙戝崟鏂� -->
 			<view class="index-list" v-if="typeViewId === 0">
-				<view class="index-list-item" v-for="(item, index) in orderList" :key="index" @click="jumpDesc(item)">
+				<view class="index-list-wu" v-if="orderList.length === 0">
+					<text>宸插姞杞藉叏閮ㄦ暟鎹�</text>
+				</view>
+				<view class="index-list-item" v-for="(item, index) in orderList" :key="index" @click="jumpDesc(item)" v-else>
 					<view class="index-list-item-head">
 						<view class="index-list-item-head-l">
 							<view class="xoam"></view>
 							<text v-if="item.type === 0 && item.workType === 0">鐢ㄥ伐鍗� - 閲囨憳宸�</text>
 							<text v-else-if="item.type === 0 && item.workType === 1">鐢ㄥ伐鍗� - 鍒嗘嫞宸�</text>
 							<text v-else-if="item.type === 0 && item.workType === 2">鐢ㄥ伐鍗� - 鍖呰宸�</text>
-							<text v-else-if="item.type === 1">杩愯揣鍗�-{{item.categoryName}}-{{item.carUnit}}</text>
+							<text v-else-if="item.type === 1">杩愯揣鍗� - {{item.categoryName}}</text>
 							<text v-else-if="item.type === 2">璁㈤鍗�</text>
 						</view>
-						<view class="index-list-item-head-r" v-if="item.status === 1">寰呮帴鍗曟柟鎺ュ崟</view>
+						<view class="index-list-item-head-r" v-if="item.status === 0 || item.status === 5">寰呮敮浠�</view>
+						<view class="index-list-item-head-r" v-if="item.status === 1">寰呮帴鍗�</view>
 						<view class="index-list-item-head-r" v-if="item.status === 2">宸叉帴鍗�</view>
 						<view class="index-list-item-head-r" v-if="item.status === 3">杩涜涓�</view>
-						<view class="index-list-item-head-r" v-if="item.status === 2 && item.isUpdate === 1">宸蹭慨鏀癸紝寰呮帴鍗曟柟纭</view>
 						<view class="index-list-item-head-r hui" v-if="item.status === 4 && item.commentStatus !== 0">宸插畬鎴�</view>
 						<view class="index-list-item-head-r hui" v-if="item.status === 99">宸插彇娑�</view>
 						<view class="index-list-item-head-r" v-if="item.status === 4 && item.commentStatus === 0">寰呰瘎浠�</view>
@@ -58,13 +60,19 @@
 						{{item.categoryName}}锝渰{item.priceNum1}}鏂�
 					</view>
 					<view class="index-list-item-info" v-if="item.type === 0 && item.workType === 1">
-						{{item.categoryName}}锝渰{item.priceNum1}}浜�
+						{{item.categoryName}}锝渰{item.priceNum2}}浜�
 					</view>
-					<view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2">
-						{{item.categoryName}}锝渰{item.priceNum1}}浜�
+					<view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2&& item.carType === 0">
+						{{item.categoryName}}锝渰{item.priceNum1}}澶� | {{item.priceNum2}}浜�
+					</view>
+					<view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2&& item.carType === 1">
+						{{item.categoryName}}锝渰{item.priceNum1}}灏忔椂 | {{item.priceNum2}}浜�
+					</view>
+					<view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2&& item.carType === 2">
+						{{item.categoryName}}锝渰{item.priceNum1}}鏂� | {{item.priceNum2}}浜�
 					</view>
 					<view class="index-list-item-info" v-if="item.type === 1">
-						{{item.transportTypeName}} | {{item.transportNum}}{{item.transportUnit}}锝滅敤杞{item.priceNum1}}澶�
+						{{item.carUnit}} | {{item.transportTypeName}} | {{item.transportNum}}{{item.transportUnit}}锝滅敤杞{item.priceNum1}}{{item.carType === 0?"澶�":"娆�"}}
 					</view>
 					<view class="index-list-item-info" v-if="item.type === 2">
 						{{item.wayInfoCopy}}
@@ -88,38 +96,50 @@
 							<text>{{item.startDate}} 鑷� {{item.endDate}}锛坽{item.totalDays}}澶╋級</text>
 						</view>
 					</template>
-					<view class="index-list-item-price">
-						<text>棰勪及锛�</text>
-						<text>楼{{item.estimatedAccount / 100}}</text>
+					<view class="index-list-item-price"> 
+						<text v-if="item.status==4 || item.type==2">宸叉敮浠橈細</text>
+						<text v-if="item.status!=4&& item.type!=2">棰勪及锛�</text>
+						<text>楼{{item.payAccount / 100}}</text>
 					</view>
 					<view class="eidt">
-						<view></view>
+						<view>
+							<view class="eidt-tips" v-if="item.status === 2 && item.isUpdate == 1"><text>宸蹭慨鏀癸紝寰呮帴鍗曟柟纭</text></view>
+							<view class="eidt-tips" v-if="item.status === 5">
+								<image src="/static/icon/ic_tip@2x.png" mode="widthFix"></image>
+								<text>鎺ュ崟鏂瑰凡纭璐圭敤锛岃鏀粯</text>
+							</view>
+					 	</view>
 						<view class="eidt-right">
 							<view class="eidt-close" v-if="[0,1,2].includes(item.status)" @click.stop="orderId = item.id, show = true">鍙栨秷璁㈠崟</view>
 							<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" @click.stop="jumpEdit(item)">淇敼璁㈠崟</view>
-							<view class="eidt-btn" v-if="(item.type === 2 && item.status === 0) ||  (item.type === 2 && item.status === 3)" @click.stop="jumpEdit(item)">缁х画鏀粯</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="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.status === 3" @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>
 				</view>
 			</view>
 			<!-- 鎺ュ崟鏂� -->
 			<view class="index-list" v-if="typeViewId === 1">
-				<view class="index-list-item" v-for="(item, index) in orderList" :key="index" @click="jumpDesc(item)">
+				<view class="index-list-wu" v-if="orderList.length === 0">
+					<text>宸插姞杞藉叏閮ㄦ暟鎹�</text>
+				</view>
+				<view class="index-list-item" v-for="(item, index) in orderList" :key="index" @click="jumpDesc(item)" v-else>
 					<view class="index-list-item-head">
 						<view class="index-list-item-head-l">
 							<view class="xoam"></view>
 							<text v-if="item.type === 0 && item.workType === 0">鐢ㄥ伐鍗� - 閲囨憳宸�</text>
 							<text v-else-if="item.type === 0 && item.workType === 1">鐢ㄥ伐鍗� - 鍒嗘嫞宸�</text>
 							<text v-else-if="item.type === 0 && item.workType === 2">鐢ㄥ伐鍗� - 鍖呰宸�</text>
-							<text v-else-if="item.type === 1">杩愯揣鍗�-{{item.categoryName}}-{{item.carUnit}}</text>
+							<text v-else-if="item.type === 1">杩愯揣鍗� - {{item.categoryName}}</text>
 							<text v-else-if="item.type === 2">璁㈤鍗�</text>
-							<view class="tips" v-if="item.acceptType === 1">绯荤粺娲惧崟</view>
-							<view class="tips1" v-if="item.acceptType === 0">鑷富鎶㈠崟</view>
+							<view class="tips" v-if="item.acceptType === 1">娲惧崟</view>
+							<view class="tips1" v-if="item.acceptType === 0">鎶㈠崟</view>
 						</view>
+						<view class="index-list-item-head-r" v-if="item.status === 0 || item.status === 5">寰呮敮浠�</view>
 						<view class="index-list-item-head-r" v-if="item.status === 2">宸叉帴鍗�</view>
 						<view class="index-list-item-head-r" v-if="item.status === 3">杩涜涓�</view>
 						<view class="index-list-item-head-r hui" v-if="item.status === 4">宸插畬鎴�</view>
@@ -129,13 +149,19 @@
 						{{item.categoryName}}锝渰{item.priceNum1}}鏂�
 					</view>
 					<view class="index-list-item-info" v-if="item.type === 0 && item.workType === 1">
-						{{item.categoryName}}锝渰{item.priceNum1}}浜�
+						{{item.categoryName}}锝渰{item.priceNum2}}浜�
 					</view>
-					<view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2">
-						{{item.categoryName}}锝渰{item.priceNum1}}浜�
+					<view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2&& item.carType === 0">
+						{{item.categoryName}}锝渰{item.priceNum1}}澶� 锝渰{item.priceNum2}}浜�
 					</view>
+					<view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2&& item.carType === 1">
+						{{item.categoryName}}锝渰{item.priceNum1}}灏忔椂 锝渰{item.priceNum2}}浜�
+					</view>
+					<view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2&& item.carType === 2">
+						{{item.categoryName}}锝渰{item.priceNum1}}鏂� 
+					</view> 
 					<view class="index-list-item-info" v-if="item.type === 1">
-						{{item.transportTypeName}} | {{item.transportNum}}{{item.transportUnit}}锝滅敤杞{item.priceNum1}}澶�
+						{{item.carUnit}} | {{item.transportTypeName}} | {{item.transportNum}}{{item.transportUnit}}锝滅敤杞{item.priceNum1}}{{item.carType === 0?"澶�":"娆�"}}
 					</view>
 					<view class="index-list-item-info" v-if="item.type === 2">
 						{{item.wayInfoCopy}}
@@ -160,8 +186,9 @@
 						</view>
 					</template>
 					<view class="index-list-item-price">
-						<text>棰勪及锛�</text>
-						<text>楼{{item.estimatedAccount / 100}}</text>
+						<text v-if="item.status==4">宸叉敮浠橈細</text>
+						<text v-if="item.status!=4">棰勪及锛�</text>
+						<text>楼{{item.payAccount / 100}}</text>
 					</view>
 					<view class="eidt">
 						<view class="eidt-tips" v-if="item.isUpdate === 1">
@@ -203,11 +230,33 @@
 		computed: {
 			...mapState(['navHeight', 'statusbarHeight','userInfo','token','openid', 'latitude', 'longitude'])
 		},
-		onShow(options) {
+		async onShow(options) {
+			var flag = getApp().globalData.orderStatus
+				console.log(getApp().globalData,"=====================================")
+			// this.status = ''
+			// this.commentStatus=''
+			// status: this.status === 5 ? 4 : this.status,
+			// commentStatus: this.status === 5 ? 0 : '',
+			if(flag =='1'){//鍙戝崟鏂瑰緟鎺ュ崟
+				this.status = 1				
+			}else if(flag =='2'){//鍙戝崟鏂硅繘琛屼腑
+				this.status = 3 
+			}else if(flag =='3'){//鍙戝崟鏂瑰緟璇勪环
+				this.status = 5 				
+			}else if(flag =='4'){//鎺ュ崟鏂瑰凡鎺ュ崟
+				this.status =2				
+			}else if(flag =='5'){//鎺ュ崟鏂硅繘琛屼腑
+				this.status =3	
+			}else if(flag =='6'){//鎺ュ崟鏂瑰凡瀹屾垚
+				this.status =4
+			}
 			this.typeViewId = 0
 			if(this.token && this.token != '' && this.userInfo && JSON.stringify(this.userInfo) != '{}'){
 				console.log('宸茬櫥闄�')
 				this.isLogin = true
+				if (this.userInfo && this.userInfo.useIdentity == 1) {
+					this.typeViewId = 1
+				}
 				if (!this.isOnce) {
 					this.commentStatus = ''
 					this.orderList = []
@@ -218,9 +267,6 @@
 			} else {
 				this.isLogin = false
 				console.log('鏈櫥闄�')
-			}
-			if (this.userInfo && this.userInfo.useIdentity == 1) {
-				this.typeViewId = 1
 			}
 		},
 		data() {
@@ -233,17 +279,17 @@
 					{ name: '宸叉帴鍗�', id: 2 },
 					{ name: '杩涜涓�', id: 3 },
 					{ name: '宸插畬鎴�', id: 4 },
-					{ name: '宸插彇娑�', id: 99 },
+					// { name: '宸插彇娑�', id: 99 },
 				],
 				list1: [
 					{ name: '鍏ㄩ儴', id: '' },
 					{ name: '寰呮敮浠�', id: 0 },
 					{ name: '寰呮帴鍗�', id: 1 },
 					{ name: '宸叉帴鍗�', id: 2 },
-					{ name: '杩涜涓�', id: 3 },
+					{ name: '杩涜涓�', id: 3 }, 
 					{ name: '宸插畬鎴�', id: 4 },
 					{ name: '宸插彇娑�', id: 99 },
-					{ name: '寰呰瘎浠�', id: [4, 0] }
+					{ name: '寰呰瘎浠�', id: 6 }
 				],
 				orderId: null,
 				status: '',
@@ -291,9 +337,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}`
 				})
 			},
 			// 淇敼
@@ -343,7 +389,8 @@
 					page: this.page,
 					model: {
 						queryMyOrderType: this.userInfo.useIdentity,
-						status: this.status,
+						status: this.status === 6 ? 4 : this.status,
+						commentStatus: this.status === 6 ? 0 : '',
 						queryLat: this.latitude,
 						queryLgt: this.longitude
 					}
@@ -371,13 +418,13 @@
 				})
 			},
 			clickOrderType(id) {
-				if (typeof id === 'object') {
-					this.status = id[0]
-					this.commentStatus = id[1]
-				} else {
+				// if (typeof id === 5) {
+				// 	this.status = 5
+				// 	// this.commentStatus = 0
+				// } else {
 					this.commentStatus = ''
 					this.status = id
-				}
+				// }
 				this.orderList = []
 				this.next = true
 				this.page = 1
@@ -450,6 +497,15 @@
 			width: 100%;
 			padding: 20rpx 30rpx;
 			box-sizing: border-box;
+			.index-list-wu {
+				width: 100%;
+				margin-top: 40rpx;
+				text-align: center;
+				text {
+					font-size: 24rpx;
+					color: #666666;
+				}
+			}
 			.index-list-item {
 				width: 100%;
 				padding: 30rpx;
@@ -690,7 +746,7 @@
 				.active {
 					font-weight: 500 !important;
 					font-size: 32rpx !important;
-					color: #222222 !important;
+					color: #00BC12 !important;
 				}
 				.index-labs-row {
 					display: inline-block;
@@ -700,7 +756,7 @@
 					font-size: 30rpx;
 					color: #666666;
 					position: relative;
-					margin-right: 62rpx;
+					margin-right: 50rpx;
 					&:last-child {
 						margin: 0 !important;
 					}
@@ -709,7 +765,7 @@
 						bottom: 0;
 						left: 50%;
 						width: 40rpx;
-						height: 2rpx;
+						height: 4rpx;
 						background-color: #00BC12;
 						transform: translate(-50%, 0);
 					}

--
Gitblit v1.9.3