From e3f6581c48b1dfb65c55e8a1a6ce1761a7dc26b4 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期四, 16 一月 2025 15:29:43 +0800
Subject: [PATCH] 费用报销

---
 src/pages/index/index.vue |  191 +++++++++++++++++++++++++++++------------------
 1 files changed, 118 insertions(+), 73 deletions(-)

diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue
index 6dcfc54..10971ed 100644
--- a/src/pages/index/index.vue
+++ b/src/pages/index/index.vue
@@ -1,75 +1,107 @@
 <template>
-	<view class="full-page">
-		<up-sticky bgColor="#fff">
-			<view class="coreshop-ff c-p-10">
-				<!-- <up-search placeholder="璇风偣鍑婚�夋嫨鏃ユ湡" @clear='clear' @clickIcon='clickTime' @custom='search'
-					v-model="workTime" search-icon="calendar" @search='search'></up-search> -->
-				<up-search placeholder="璇疯緭鍏ュ伐浣滃悕绉�" @clear='clear' @custom='search' v-model="state.orderName"
-					@search='search'></up-search>
-			</view>
-		</up-sticky>
-		<scroll-view enable-flex="true">
-			<view class="list chuany-flex chuany-flex-direction chuany-align-center c-p-b-30 "
-				v-if="listO.orderList&&listO.orderList.length>0">
-				<view class="content c-p-b-18" v-for="(item,index) in listO.orderList" @click='toDetail(item.id)'
-					:key='item.id'>
-					<view
-						class="bgblue c-p-l-18 c-p-r-18 c-p-t-10 c-p-b-10 chuany-flex chuany-justify-between chuany-font30">
-						<view class="chuany-flex chuany-flex-direction">
-							<text class=''>
-								{{$util.formatDate(item.startTime)}}
-							</text>
-						</view>
-						<text>
-							鎷泏{item.worderCounted}}/{{item.worderCount}}浜�
-						</text>
-					</view>
-					<view class="c-p-l-18 c-p-b-14 c-p-t-14 c-p-r-18 chuany-font34">
-						{{item.orderName}}
-					</view>
-					<!-- <view class="chuany-flex c-p-l-18">
-						<up-tag class='c-p-r-14' :text="item" plain v-for="(item,index) in item.tags" :key="index">
-						</up-tag>
-					</view> -->
-					<view class="chuany-flex chuany-flex-direction">
-						<text class='c-p-l-18 c-p-b-14 c-p-r-18 text-69'>
-							鏃ユ湡锛歿{item.wordStartTimeName}} 鑷� {{item.wordEndTimeName}}
-						</text>
-						<text class='c-p-l-18 c-p-b-14 c-p-r-18 text-69'>
-							鏃堕棿锛歿{item.startTimeName}} 鑷� {{item.endTimeName}}
-						</text>
-					</view>
-					<view class="chuany-flex chuany-flex-direction">
-						<text class='c-p-l-18 c-p-b-14 c-p-r-18 text-69'>
-							瑕佹眰锛歿{item.demand}}
-						</text>
-						<text class='c-p-l-18 c-p-b-14 c-p-r-18 text-69'>
-							鍦板潃锛歿{item.worderAddress}}
-						</text>
-					</view>
-					<view class='chuany-flex chuany-justify-between c-p-l-18 c-p-r-18'>
-						<view class="redcla">
-							<text class="chuany-font40 chuany-text-bold">
-								{{item.workPrice}}
-							</text>
-							<text class='chuany-font20'>
-								{{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}}
-							</text>
-						</view>
-						<up-tag text="鍘绘姠娲�" v-if="identity !== 'enterprise'" type="warning" shape="circle"
-							@click.stop='deliver(item.id)'></up-tag>
-						<!-- <up-tag text="鍘绘姠娲�" type="warning" shape="circle"></up-tag> -->
-					</view>
+	<view class="full-page" scroll-y using-sticky>
+		<view class="">
+			<up-sticky bgColor="#fff">
+				<view class="coreshop-ff c-p-10">
+					<!-- <up-search placeholder="璇风偣鍑婚�夋嫨鏃ユ湡" @clear='clear' @clickIcon='clickTime' @custom='search'
+						v-model="workTime" search-icon="calendar" @search='search'></up-search> -->
+					<up-search placeholder="璇疯緭鍏ュ伐浣滃悕绉�" @clear='clear' @custom='search' v-model="state.orderName"
+						@search='search'></up-search>
 				</view>
-				<up-loadmore :status="loadStatus" />
+			</up-sticky>
+			<view v-if="listO.orderList" class="full-page-content">
+				<view class="list chuany-flex chuany-flex-direction chuany-align-center c-p-b-30 "
+					v-if="listO.orderList.length>0">
+					<view class="content c-p-b-18" v-for="(item,index) in listO.orderList" @click='toDetail(item)'
+						:key='item.id'>
+						<view
+							class="bgblue c-p-l-18 c-p-r-18  c-p-b-10 c-p-t-10 chuany-flex chuany-justify-between chuany-font30">
+							<view class="chuany-flex chuany-flex-direction">
+								<text class=''>
+									{{$util.formatDate(item.startTime)}}
+								</text>
+							</view>
+							<text>
+								鎷泏{item.worderCounted}}/{{item.worderCount}}浜�
+							</text>
+						</view>
+						<view class="c-p-l-18 c-p-t-10 c-p-b-10 c-p-r-18 chuany-font32">
+							{{item.orderComName}}
+						</view>
+						<view class="c-p-l-18 c-p-r-18 c-p-b-10 chuany-font32">
+							{{item.orderName}}
+						</view>
+						<!-- <view class="chuany-flex c-p-l-18">
+							<up-tag class='c-p-r-14' :text="item" plain v-for="(item,index) in item.tags" :key="index">
+							</up-tag>
+						</view> -->
+						<view class="chuany-flex chuany-flex-direction chuany-font28">
+							<text class='c-p-l-18 c-p-r-18 text-69 c-p-b-10'>
+								鏃ユ湡锛歿{item.wordStartTimeName}} 鑷� {{item.wordEndTimeName}}
+							</text>
+							<!-- <text class='c-p-l-18 c-p-r-18 text-69 c-p-b-10'>
+								鏃堕棿锛歿{item.startTimeName}} 鑷� {{item.endTimeName}}
+							</text> -->
+							<view class="c-p-l-18 c-p-r-18 text-69 c-p-b-10" v-if="item.zixinganpai">
+								鏃堕棿锛歿{item.zixinganpaiName}}
+							</view>
+							<view class="c-p-l-18 c-p-r-18 text-69 c-p-b-10" v-else>
+								鏃堕棿锛歿{item.startTimeName}} 鑷� {{item.endTimeName}}
+							</view>
+						</view>
+						<view class="chuany-flex chuany-flex-direction chuany-font28">
+							<text class='c-p-l-18 c-p-r-18 text-69 c-p-b-10'>
+								瑕佹眰锛歿{item.demand}}
+							</text>
+							<text class='c-p-l-18 c-p-r-18 text-69 c-p-b-10' v-if="identity !== 'enterprise'">
+								鍦板潃锛歿{item.worderAddress}}
+							</text>
+						</view>
+						<view class='chuany-flex chuany-justify-between c-p-l-18 c-p-r-18'>
+							<view class="redcla">
+								<view class="">
+									<text class="chuany-font40">
+										{{item.workPrice}}<template
+											v-if="item.workPriceMax">~{{item.workPriceMax}}</template>
+									</text>
+									<text class='chuany-font20'>
+										{{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}}
+									</text>
+								</view>
+								<!-- <text class="chuany-font40">
+									{{item.workPrice}}
+								</text>
+								<text class='chuany-font20'>
+									{{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}}
+								</text> -->
+							</view>
+							<up-tag text="鍘绘姠娲�" v-if="identity !== 'enterprise'&&!item.isSelectedName" type="warning"
+								shape="circle" @click.stop='deliver(item.id)'></up-tag>
+							<view class="" v-else>
+								<up-text :type="item.isSelectedName=='瀹℃牳涓�'?'info':item.isSelectedName=='涓嶅綍鐢�'?'error':'success'" 
+									:text="item.isSelectedName" size='12'></up-text>
+							</view>
+							<view class="" v-if="identity == 'enterprise'">
+								<up-badge type="error" max="99" :value="item.workerDaiCount"></up-badge>
+							</view>
+							<!-- <up-tag text="鍘绘姠娲�" type="warning" shape="circle"></up-tag> -->
+						</view>
+					</view>
+					<up-loadmore :status="loadStatus" />
+					
+				</view>
+				<view v-else>
+					<up-empty text='鏆傛棤' icon="/static/order.png">
+					</up-empty>
+				</view>
 			</view>
 			<view v-else>
 				<up-empty text='鏆傛棤' icon="/static/order.png">
 				</up-empty>
 			</view>
-		</scroll-view>
-		<fui-date-picker range :show="datePickerShow" type="5" @change="changePicker"
-			@cancel="cancel"></fui-date-picker>
+			<fui-date-picker range :show="datePickerShow" type="5" @change="changePicker"
+				@cancel="cancel"></fui-date-picker>
+		</view>
 	</view>
 </template>
 
@@ -122,6 +154,7 @@
 		datePickerShow.value = !datePickerShow.value
 	}
 	let loadStatus = ref('loadmore')
+	let tokenVal = $db.get('userToken') || ''
 	onReachBottom(() => {
 		if (loadStatus.value != 'nomore') {
 			PostListPage();
@@ -137,6 +170,10 @@
 	})
 	onShow(() => {
 		identity.value = $db.get('identity')
+		tokenVal = $db.get('userToken')
+		state.pageIndex = 1
+		state.pageSize = 20
+		loadStatus.value = 'loadmore'
 		console.log(identity.value);
 		PostListPage()
 	})
@@ -148,6 +185,7 @@
 		let data = {
 			pageIndex: state.pageIndex,
 			pageSize: state.pageSize,
+			isEn: true
 		}
 		if (orderStatus) {
 			data.orderStatus = orderStatus
@@ -156,14 +194,14 @@
 			data.orderName = state.orderName
 		}
 		loadStatus.value = 'loading';
-		if (identity.value == 'enterprise') {
+		if (identity.value == 'enterprise' && tokenVal) {
 			$api.PostMyListPageCompany(data).then(res => {
 				if (res.code == 1) {
 					console.log(res, res.code, '-----------123鈥�');
 					if (state.pageIndex == 1) {
 						listO.orderList = res.data.items
 					} else {
-						listO.orderList.concat(...res.data.items)
+						listO.orderList = listO.orderList.concat(...res.data.items)
 					}
 					console.log(listO.orderList, 'listO.orderList鈥�');
 					// totalPages.value = res.data.totalCount
@@ -186,7 +224,7 @@
 					if (state.pageIndex == 1) {
 						listO.orderList = res.data.items
 					} else {
-						listO.orderList.concat(...res.data.items)
+						listO.orderList = listO.orderList.concat(...res.data.items)
 					}
 					console.log(listO.orderList, 'listO.orderList鈥�');
 					// totalPages.value = res.data.totalCount
@@ -214,14 +252,20 @@
 	const change = (e) => {
 		state.currentIdex = e.index
 	}
-	const toDetail = (val) => {
+	const toDetail = (item) => {
+		if (!tokenVal) {
+			return false
+		}
+		// if (item.isSelectedName && identity.value !== 'enterprise') {
+		// 	return false
+		// }
 		if (identity.value !== 'enterprise') {
 			uni.navigateTo({
-				url: `/pages/detail/detail?orderid=${val}`
+				url: `/pages/detail/detail?orderid=${item.id}`
 			})
 		} else {
 			uni.navigateTo({
-				url: `/pages/order/detail?orderid=${val}`
+				url: `/pages/order/detail?orderid=${item.id}`
 			});
 		}
 	}
@@ -240,11 +284,12 @@
 	}
 
 	.content {
+		width: 93%;
 		min-height: 330rpx;
-		width: 90%;
+		/* width: 90%; */
 		background-color: #fff;
 		border-radius: 20rpx;
-		margin: 30rpx 30rpx 0 30rpx;
+		margin: 28rpx 28rpx 0 28rpx;
 	}
 
 	.bgblue {

--
Gitblit v1.9.1