From f7aa204aa8d20b090d7943969ddeb9871a1fad76 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期四, 12 九月 2024 17:28:06 +0800
Subject: [PATCH] -

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

diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue
index 6f3f347..647b188 100644
--- a/src/pages/index/index.vue
+++ b/src/pages/index/index.vue
@@ -1,115 +1,240 @@
 <template>
 	<view class="full-page">
-		<scroll-view  enable-flex="true">
-			<view class="list chuany-flex chuany-flex-direction chuany-align-center c-p-b-30"
-				v-if="state.currentIdex==0">
-				<view class="content c-p-b-18" v-for="(item,index) in list2" @click='toDetail' :key='item.id'>
-					<view class="bgblue c-p-18 chuany-flex chuany-justify-between chuany-font34 chuany-text-bold">
-						<text class=''>
-							{{item.time}}
-						</text>
+		<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" v-if="listO.orderList">
+			<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.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.zhaodao}}/{{item.peoplenum}}浜�
+							鎷泏{item.worderCounted}}/{{item.worderCount}}浜�
 						</text>
 					</view>
-					<view class="c-p-18 chuany-font44 chuany-text-bold">
-						{{item.name}}
+					<view class="c-p-l-18 c-p-b-10 c-p-t-10 c-p-r-18 chuany-font34">
+						{{item.orderComName}}
 					</view>
-					<view class="chuany-flex c-p-l-18">
+					<view class="c-p-l-18 c-p-b-10 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-10 c-p-r-18 text-69'>
+							鏃ユ湡锛歿{item.wordStartTimeName}} 鑷� {{item.wordEndTimeName}}
+						</text>
+						<text class='c-p-l-18 c-p-b-10 c-p-r-18 text-69'>
+							鏃堕棿锛歿{item.startTimeName}} 鑷� {{item.endTimeName}}
+						</text>
 					</view>
 					<view class="chuany-flex chuany-flex-direction">
-						<text class='c-p-18'>
-							瑕佹眰锛歿{item.yaoqiu}}
+						<text class='c-p-l-18 c-p-b-10 c-p-r-18 text-69'>
+							瑕佹眰锛歿{item.demand}}
 						</text>
-						<text class='c-p-l-18 c-p-b-16'>
-							鍦板潃锛歿{item.adress}}
+						<text class='c-p-l-18 c-p-b-10 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.price}}
+							<text class="chuany-font40">
+								{{item.workPrice}}
 							</text>
 							<text class='chuany-font20'>
-								鍏�/灏忔椂
+								{{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}}
 							</text>
 						</view>
-						<up-tag text="鍘绘姠娲�" type="warning" shape="circle"></up-tag>
+						<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>
+				<up-loadmore :status="loadStatus" />
 			</view>
-			<view v-else>
-				<up-empty mode="order" icon="http://cdn.uviewui.com/uview/empty/order.png">
-				</up-empty>
-			</view>
-		</scroll-view>
 
+		</scroll-view>
+		<view v-else>
+			<up-empty text='鏆傛棤' icon="/static/order.png">
+			</up-empty>
+		</view>
+		<fui-date-picker range :show="datePickerShow" type="5" @change="changePicker"
+			@cancel="cancel"></fui-date-picker>
 	</view>
 </template>
 
 <script setup>
 	import {
+		onLoad,
+		onShow,
+		onReachBottom,
+		onPullDownRefresh,
+		onHide
+	} from "@dcloudio/uni-app";
+	import {
 		reactive,
-		ref
+		ref,
+		getCurrentInstance
 	} from 'vue';
-	let state = reactive({
-		currentIdex: 0
+	const {
+		$upload,
+		$api,
+		$util,
+		$db
+	} = getCurrentInstance().appContext.config.globalProperties
+	const userToken = $db.get("userToken");
+	let identity = ref('')
+	let workTime = ref('')
+	let datePickerShow = ref(false)
+	const state = reactive({
+		pageIndex: 1,
+		pageSize: 20,
+		orderName: ''
 	})
-	// 鍒涘缓鍝嶅簲寮忔暟鎹�  
-	const list1 = reactive([{
-			name: '鏂颁换鍔�'
-		},
-		{
-			name: '鎴戠殑璁㈠崟'
-		},
-	]);
-	const list2 = reactive([{
-			id: 1,
-			time: '鏄庡ぉ 19:00-23:00',
-			name: '涓存椂宸�',
-			tags: ['4灏忔椂', '鍙棤缁忛獙', '鎵嬭剼楹诲埄'],
-			adress: '姝︿警鍖烘婧閬�4.0km',
-			yaoqiu: '涓嶉檺',
-			price: 50,
-			peoplenum: 3,
-			zhaodao: 1
-		},
-		{
-			id: 2,
-			time: '鏄庡ぉ 19:00-23:00',
-			name: '涓存椂宸�',
-			tags: ['4灏忔椂', '鍙棤缁忛獙', '鎵嬭剼楹诲埄'],
-			adress: '姝︿警鍖烘婧閬�4.0km',
-			price: 50,
-			yaoqiu: '涓嶉檺',
-			peoplenum: 3,
-			zhaodao: 1
-		},
-		{
-			id: 3,
-			time: '浠婂ぉ 19:00-23:00',
-			name: '鍖呰宸�',
-			tags: ['4灏忔椂', '鍙棤缁忛獙', '鎵嬭剼楹诲埄'],
-			adress: '姝︿警鍖烘婧閬�4.0km',
-			price: 50,
-			yaoqiu: '鐢�/18-55宀�',
-			peoplenum: 3,
-			zhaodao: 1
-		},
-	]);
+	let listO = reactive({
+		orderList: []
+	})
+	const search = (index) => {
+		PostListPage()
+	}
+	const changePicker = (val) => {
+		console.log(val);
+		workTime.value = val.startDate.result + '鑷�' + val.endDate.result
+		state.wordStartTime = new Date(val.startDate.result) //宸ヤ綔寮�濮嬫椂闂�
+		state.wordEndTime = new Date(val.endDate.result)
+	}
+	const clear = () => {
+		state.orderName = ''
+		state.wordStartTime = ""
+		state.wordEndTime = ""
+	}
+	const clickTime = () => {
+		datePickerShow.value = !datePickerShow.value
+	}
+	let loadStatus = ref('loadmore')
+	onReachBottom(() => {
+		if (loadStatus.value != 'nomore') {
+			PostListPage();
+		}
+	})
+
+	onPullDownRefresh(() => {
+		state.pageIndex = 1
+		state.pageSize = 20
+		loadStatus.value = 'loadmore'
+		PostListPage();
+		uni.stopPullDownRefresh();
+	})
+	onShow(() => {
+		identity.value = $db.get('identity')
+		console.log(identity.value);
+		PostListPage()
+	})
+	onHide(() => {
+		listO.orderList = []
+	})
+	const PostListPage = (orderStatus) => {
+		console.log(identity.value, 'identity----------');
+		let data = {
+			pageIndex: state.pageIndex,
+			pageSize: state.pageSize,
+		}
+		if (orderStatus) {
+			data.orderStatus = orderStatus
+		}
+		if (state.orderName) {
+			data.orderName = state.orderName
+		}
+		loadStatus.value = 'loading';
+		if (identity.value == 'enterprise') {
+			$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)
+					}
+					console.log(listO.orderList, 'listO.orderList鈥�');
+					// totalPages.value = res.data.totalCount
+					// 鏍规嵁count鏁伴噺鍒ゆ柇鏄惁杩樻湁鏁版嵁
+					if (res.data.totalCount > listO.orderList.length) {
+						loadStatus.value = 'loadmore'
+						state.pageIndex++
+					} else {
+						// 鏁版嵁宸插姞杞藉畬姣�
+						loadStatus.value = 'nomore'
+					}
+				} else {
+					// _that.$refs.uToast.show({ message: res.msg, type: 'error' });
+				}
+			})
+		} else {
+			$api.PostListPage(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)
+					}
+					console.log(listO.orderList, 'listO.orderList鈥�');
+					// totalPages.value = res.data.totalCount
+					// 鏍规嵁count鏁伴噺鍒ゆ柇鏄惁杩樻湁鏁版嵁
+					if (res.data.totalCount > listO.orderList.length) {
+						loadStatus.value = 'loadmore'
+						state.pageIndex++
+					} else {
+						// 鏁版嵁宸插姞杞藉畬姣�
+						loadStatus.value = 'nomore'
+					}
+				} else {
+					// _that.$refs.uToast.show({ message: res.msg, type: 'error' });
+				}
+			})
+		}
+
+	}
 	const click = () => {
+
+	}
+	const cancel = () => {
 
 	}
 	const change = (e) => {
 		state.currentIdex = e.index
 	}
-	const toDetail = (e) => {
+	const toDetail = (val) => {
+		if (identity.value !== 'enterprise') {
+			uni.navigateTo({
+				url: `/pages/detail/detail?orderid=${val}`
+			})
+		} else {
+			uni.navigateTo({
+				url: `/pages/order/detail?orderid=${val}`
+			});
+		}
+	}
+	const deliver = (val) => {
 		uni.navigateTo({
-			url: '/pages/detail/detail'
+			url: `/pages/detail/detail?orderid=${val}`
 		})
+		// $api.saveBaoMing({orderId:e}).then(res => {
+		// })
 	}
 </script>
 
@@ -119,7 +244,7 @@
 	}
 
 	.content {
-		height: 430rpx;
+		min-height: 330rpx;
 		width: 90%;
 		background-color: #fff;
 		border-radius: 20rpx;

--
Gitblit v1.9.1