From 447e19fa298ae11a1c3a3fa2d2ff3a1a8dba0501 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期四, 29 八月 2024 17:15:29 +0800
Subject: [PATCH] -

---
 src/pages/order/order.vue |  187 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 163 insertions(+), 24 deletions(-)

diff --git a/src/pages/order/order.vue b/src/pages/order/order.vue
index 337bc5a..a2e418b 100644
--- a/src/pages/order/order.vue
+++ b/src/pages/order/order.vue
@@ -1,44 +1,183 @@
 <template>
 	<view>
 		<up-sticky bgColor="#fff">
-			<up-tabs :list="list1" @change='change' :current='state.currentIdex'></up-tabs>
-			<up-subsection :list="list" v-if="state.currentIdex==0" :current="current4" activeColor="#f9ae3d"
-				@change="sectionChange"></up-subsection>
-				<up-subsection :list="list2" v-else :current="current4" activeColor="#f9ae3d"
-					@change="sectionChange"></up-subsection>
+			<view class="coreshop-ff content c-p-10">
+				<up-search placeholder="璇风偣鍑婚�夋嫨鏃ユ湡" @clear='clear' @clickIcon='clickTime' @custom='search'
+					v-model="workTime" search-icon="calendar" @search='search'></up-search>
+			</view>
+			<!-- <up-subsection :list="list" :current="current4" activeColor="#f9ae3d"
+				@change="sectionChange"></up-subsection> -->
 		</up-sticky>
-		<up-empty mode="order" icon="http://cdn.uviewui.com/uview/empty/order.png">
-		</up-empty>
+		<view class="full-page">
+			<view class="c-p-l-20 c-p-r-20" v-if="listO.orderList&&listO.orderList.length>0">
+				<view class="listrecord c-p-t-20" v-for="(item,index) in listO.orderList" :key="item.id"
+					@click="pageToDetail(item)">
+					<view class="coreshop-ff chuany-bradius20">
+						<view class="c-p-26">
+							<view class="chuany-flex chuany-justify-between">
+								<text class="chuany-font34 chuany-text-bold">
+									{{item.orderName}}
+								</text>
+								<view class="chuany-flex chuany-justify-between">
+									<!-- 鎷涘伐浜烘暟锛歿{item.worderCount}}浜� -->
+									<!-- <text class="c-p-r-20">
+									
+								</text> -->
+									<up-tag class='c-m-r-10' :text="item.orderStatusName" shape="circle" type="success"
+										plain plainFill size='mini'></up-tag>
+								</view>
+							</view>
+							<view class="c-p-t-14">
+								鏃ユ湡锛歿{$util.formatDate(item.wordStartTime)}} 鑷� {{$util.formatDate(item.wordEndTime)}}
+							</view>
+							<view class="c-p-t-14">
+								鏃堕棿锛歿{item.startTimeName}} 鑷� {{item.endTimeName}}
+							</view>
+							<view class="chuany-flex chuany-justify-between c-p-t-14">
+								<view class="chuany-width50">
+									<text>
+										鏂瑰紡锛歿{item.workerType==0?'璁℃椂':'璁′欢'}}
+									</text>
+								</view>
+								<view class="chuany-width50">
+									宸ヤ环锛歿{item.workPrice}}{{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}}
+									<text></text>
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+				<up-loadmore :status="loadStatus" />
+			</view>
+			<view v-else>
+				<up-empty text='鏆傛棤' icon="/static/order.png">
+				</up-empty>
+			</view>
+		</view>
+		<fui-date-picker range :show="datePickerShow" type="5" @change="changePicker"
+			@cancel="cancel"></fui-date-picker>
 	</view>
 </template>
 
 <script setup>
 	import {
+		onLoad,
+		onShow,
+		onReachBottom
+	} from "@dcloudio/uni-app";
+	import {
 		reactive,
-		ref
+		ref,
+		getCurrentInstance
 	} from 'vue';
-	const state = reactive({
-		currentIdex: 0
+	const {
+		$upload,
+		$api,
+		$util,
+		$db
+	} = getCurrentInstance().appContext.config.globalProperties
+	let state = reactive({
+		pageIndex: 1,
+		pageSize: 20,
+	})
+	let workTime = ref('')
+	let datePickerShow = ref(false)
+	let loadStatus = ref('loadmore')
+	let totalPages = ref(0)
+	let listO = reactive({
+		orderList: []
+	})
+	onReachBottom(() => {
+		if (loadStatus.value != 'nomore') {
+			PostMyListPageCompany();
+		}
+	})
+	onLoad(() => {
+		PostMyListPageCompany()
 	})
 	const current4 = ref(0);
-	const list = ref(['鍏ㄩ儴', '杩涜涓�', '宸插畬鎴�', '宸插彇娑�']);
-	const list2 = ref(['鍏ㄩ儴', '姝e湪鎷�', '瀹℃牳涓�', '鏈�氳繃','宸叉嫑婊�']);
-	// 鍒涘缓鍝嶅簲寮忔暟鎹�
-	const list1 = reactive([{
-			name: '鏃ョ粨宸ヨ鍗�'
-		},
-		{
-			name: '闀挎湡宸ヨ鍗�'
-		},
-	]);
-	const change = (e) => {
-		state.currentIdex = e.index
+	const list = ref(['鍏ㄩ儴', '鍙戝竷', '鎷涘伐瀹屾瘯', '缁撶畻瀹屾瘯']);
+	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 sectionChange=(index)=> {
-		current4.value = index;
+
+	const search = (index) => {
+		console.log(index, '------鈥�');
+		if (index == 0) {
+			PostMyListPageCompany()
+		} else {
+			PostMyListPageCompany(index - 1)
+		}
+
+	}
+	const clear = () => {
+		state.wordStartTime = ""
+		state.wordEndTime = ""
+	}
+	const clickTime = () => {
+		datePickerShow.value = !datePickerShow.value
+	}
+	const PostMyListPageCompany = (orderStatus) => {
+		let data = {
+			pageIndex: state.pageIndex,
+			pageSize: state.pageSize,
+			orderStatus
+		}
+		if (state.wordStartTime) {
+			data.wordStartTime = state.wordStartTime
+		}
+		if (state.wordEndTime) {
+			data.wordEndTime = state.wordEndTime
+		}
+		loadStatus.value = 'loading';
+		$api.PostMyListPageCompany(data).then(res => {
+			console.log(res, res.code, '-----------123鈥�');
+			if (res.code == 1) {
+				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 pageToDetail = (item) => {
+		uni.navigateTo({
+			url: `/pages/order/detail?orderid=${item.id}`
+		});
+		// $db.set('detailItem',JSON.stringify(item))
 	}
 </script>
 
 <style>
+	.content {
+		/* width: 100%; */
+		box-sizing: border-box;
+	}
 
+	.bgblue {
+		background-color: #4e96f5;
+		border-radius: 20rpx 20rpx 0 0;
+		color: #fff;
+	}
+
+	.listrecord {
+		width: 100%;
+		box-sizing: border-box;
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1