From 16213c0f85aa3ac8317797bf4a05fd12940e16d3 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期三, 05 三月 2025 17:29:42 +0800
Subject: [PATCH] -

---
 src/pages/checkin/index.vue |  350 +++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 213 insertions(+), 137 deletions(-)

diff --git a/src/pages/checkin/index.vue b/src/pages/checkin/index.vue
index c911751..2bc1673 100644
--- a/src/pages/checkin/index.vue
+++ b/src/pages/checkin/index.vue
@@ -1,139 +1,171 @@
 <template>
-	<view class="full-page">
-		<up-sticky>
-			<view class="coreshop-ff content c-p-10">
-				<up-search placeholder="璇风偣鍑婚�夋嫨鏃ユ湡" @clickIcon='clickIcon' v-model="wordDate" search-icon="calendar"
-					@custom='PostMyComDakaListPage'></up-search>
-			</view>
-			<up-subsection :list="list" activeColor="#f9ae3d" @change="sectionChange"></up-subsection>
-		</up-sticky>
-		<view class="" v-if="viewList&&viewList.length>0">
-			<view class="listrecord c-p-18" v-for="item in viewList" :key='item.id' @click='jumpWorkDetail'>
-				<view class="coreshop-ff chuany-bradius20">
-					<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">
-						<text class=''>
-							鏃ユ湡锛歿{$util.formatDate(item.workDate,true)}}
-						</text>
-					</view>
-					<view class="c-p-26">
-						<view class="chuany-flex chuany-justify-between">
-							<text class="chuany-font34 ">
-								{{item.orderName}}
+	<view class="full-page" scroll-y using-sticky>
+		<view class="">
+			<up-sticky>
+				<view class="coreshop-ff content c-p-l-10 c-p-t-10 c-p-r-10">
+					<up-search placeholder="璇风偣鍑婚�夋嫨鎵撳崱鏃ユ湡" @click='clickIcon' :show-action="false"
+						@clear='init' disabled v-model="wordDate" search-icon="calendar"
+						@search='init'></up-search>
+					<!-- <up-input shape="round" class="u-search__content__input"></up-input> -->
+					<!-- <up-search placeholder="璇疯緭鍏ュ叕鍙稿悕绉�" :show-action="false" v-model="Suppliername" @clear='PostMyDakaListPage'
+						@search='PostMyDakaListPage'></up-search> -->
+				</view>
+				<view class="coreshop-ff content c-p-10">
+					<up-search placeholder="璇疯緭鍏ュ叕鍙稿悕绉�" v-model="Suppliername" @clear='init'
+						@custom='init' @search='init'></up-search>
+					<!-- <up-search placeholder="璇风偣鍑婚�夋嫨鎵撳崱鏃ユ湡" @click='clickIcon' @clear='PostMyDakaListPage' disabled
+						v-model="wordDate" search-icon="calendar" @search='PostMyDakaListPage'
+						@custom='PostMyDakaListPage'></up-search> -->
+				</view>
+				<up-subsection :list="list" current='1' activeColor="#f9ae3d" @change="sectionChange"></up-subsection>
+			</up-sticky>
+			<view class="full-page-content c-p-b-100" v-if="viewList&&viewList.length>0">
+				<view class="listrecord c-p-t-28 c-p-l-28 c-p-r-28" v-for="item in viewList" :key='item.id'>
+					<view class="coreshop-ff chuany-bradius20">
+						<view @click='jumpWorkDetail(item)'
+							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">
+							<text class=''>
+								鎵撳崱鏃ユ湡锛歿{$util.formatDate(item.workDate)}}
 							</text>
+						</view>
+						<view class="c-p-20">
 							<view class="chuany-flex chuany-justify-between">
-								<!-- <text class="c-p-r-20">
-									
-								</text> -->
-								<up-tag class='c-m-r-10' :text="item.isShenPiName" shape="circle" type="success" plain
-									plainFill size='mini'></up-tag>
-								<!-- <up-tag text="宸茬‘璁�" shape="circle" type="success" plain plainFill size='mini'></up-tag> -->
-							</view>
-						</view>
-						<view class="c-p-t-14">
-							鎵撳崱璁板綍锛歿{item.dakaMingxi}}
-						</view>
-						<view class="chuany-flex chuany-justify-between chuany-flex-wrap c-p-t-14">
-							<text class="chuany-width50">
-								宸ヤ綔鏃堕暱锛歿{item.workTime}}
-							</text>
-							<view class="chuany-width50">
-								<text>
-									鏂瑰紡锛歿{item.workerTypeName}}
+								<text class="chuany-font32">
+									{{item.suppliername}}
 								</text>
+								<view class="chuany-flex chuany-justify-between">
+									<!-- <text class="c-p-r-20">
+										
+									</text> -->
+									<!-- <up-tag class='c-m-r-10' :text="item.isShenPiName" shape="circle" type="success" plain
+										plainFill size='mini'></up-tag> -->
+									<view class="chuany-width10" v-if="item.isShenPi==0">
+										<!-- v-if="item.isShenPiName!=='宸茬粨绠�'" -->
+										<up-button class="button-layout__item"
+											:text="item.workerType==0?'缁撴潫浠婃棩宸ヤ綔':'璁′欢鐢虫姤'" size="mini"
+											:loading='item.isLoading' :loadingText="item.workerType==0?'缁撴潫涓�':'鐢虫姤涓�'"
+											@click.stop='saveDakaDetail(item)' type="warning"></up-button>
+									</view>
+									<up-text v-else type="success" :text="item.isShenPiName" size='14'></up-text>
+									<!-- <up-tag text="宸茬‘璁�" shape="circle" type="success" plain plainFill size='mini'></up-tag> -->
+								</view>
 							</view>
-							<text class="chuany-width50 c-p-t-14">
-								宸ヤ环锛歿{item.workPrice}}{{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}}
-							</text>
-							<view class="chuany-width50 chuany-flex c-p-t-14" v-if="item.workerType==1">
-								<text>
-									鏁伴噺锛�
+							<view class="text-69 chuany-font28 c-p-t-8">
+								鎵撳崱璁板綍锛歿{item.dakaMingxi}}
+							</view>
+							<view
+								class="chuany-flex chuany-justify-between chuany-flex-wrap c-p-t-8 text-69 chuany-font28">
+								<text class="chuany-width48">
+									鏃堕暱锛歿{item.workTime}}
 								</text>
-								<up-input style="padding: 0;" size='mini' border="surround"
-									v-model="workCount"></up-input>
-							</view>
-							<view class="chuany-width50 c-p-t-14">
-								<text>
-									褰撴棩宸ヨ祫锛歿{item.todaySalary}}鍏�
+								<!-- <view class="chuany-width48">
+									<text>
+										鏂瑰紡锛歿{item.workerTypeName}}
+									</text>
+								</view> -->
+								<text class="chuany-width48 ">
+									宸ヤ环锛歿{item.workPrice}}{{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}}
 								</text>
-							</view>
-							<view class="chuany-width50 c-p-t-14">
-								<view class="chuany-width10">
-									<up-button class="button-layout__item" text="宸ヨ祫鐢虫姤" size="mini"
-										@click.stop='saveDakaDetail(item)' type="warning"></up-button>
+								<view class="chuany-width48 chuany-flex c-p-t-8" v-if="item.workerType==1">
+									<text>
+										鏁伴噺锛�
+									</text>
+									<up-input v-if="item.isShenPi==0" type="digit" style="padding: 0;" size='mini'
+										border="surround"
+										@blur='(val) => {item.todaySalary=$util.roundToTwo(item.workCount*item.workPrice)}'
+										v-model="item.workCount"></up-input>
+									<text v-else>{{item.workCount}}</text>
+								</view>
+								<view class="chuany-width48 c-p-t-8">
+									<text>
+										宸ヨ祫锛歿{item.todaySalary}}鍏�
+									</text>
+								</view>
+								<view class="chuany-width48 c-p-t-8">
+									<!-- <view class="chuany-width10" v-if="item.isShenPi==0"> -->
+									<!-- v-if="item.isShenPiName!=='宸茬粨绠�'" -->
+									<!-- <up-button class="button-layout__item"
+											:text="item.workerType==0?'缁撴潫浠婃棩宸ヤ綔':'璁′欢鐢虫姤'" size="mini"
+											:loading='item.isLoading' :loadingText="item.workerType==0?'缁撴潫涓�':'鐢虫姤涓�'"
+											@click.stop='saveDakaDetail(item)' type="warning"></up-button> -->
+									<!-- </view> -->
 								</view>
 							</view>
 						</view>
 					</view>
 				</view>
-			</view>
-			<view class="listrecord c-p-18">
-				<view class="coreshop-ff chuany-bradius20">
-					<view class="bgblue c-p-18 chuany-flex chuany-justify-between chuany-font30">
-						<text class=''>
-							鏃ユ湡锛�2024-08-12
-						</text>
-					</view>
-					<view class="c-p-26">
-						<view class="chuany-flex chuany-justify-between">
-							<text class="chuany-font34 ">
-								涓存椂宸�
+				<!-- <view class="listrecord c-p-18">
+					<view class="coreshop-ff chuany-bradius20">
+						<view class="bgblue c-p-18 chuany-flex chuany-justify-between chuany-font30">
+							<text class=''>
+								鏃ユ湡锛�2024-08-12
 							</text>
+						</view>
+						<view class="c-p-26">
 							<view class="chuany-flex chuany-justify-between">
-								<!-- <text class="c-p-r-20">
-									
-								</text> -->
-								<up-tag class='c-m-r-10' text="鏈粨绠�" shape="circle" type="warning" plain plainFill
-									size='mini'></up-tag>
-								<up-tag text="鏈‘璁�" shape="circle" type="warning" plain plainFill size='mini'></up-tag>
-							</view>
-						</view>
-						<view class="c-p-t-20">
-							鎵撳崱璁板綍锛�08:00-12:00 13:00-17:00
-						</view>
-						<!-- <view class="chuany-flex chuany-justify-between c-p-t-20">
-							
-						</view> -->
-						<view class="chuany-flex chuany-justify-between chuany-flex-wrap c-p-t-20">
-							<text class="chuany-width50">
-								宸ヤ綔鏃堕暱锛�8灏忔椂
-							</text>
-							<view class="chuany-width50">
-								<text>
-									鏂瑰紡锛氳浠�
+								<text class="chuany-font32 ">
+									涓存椂宸�
 								</text>
+								<view class="chuany-flex chuany-justify-between">
+									<text class="c-p-r-20">
+										
+									</text>
+									<up-tag class='c-m-r-10' text="鏈粨绠�" shape="circle" type="warning" plain plainFill
+										size='mini'></up-tag>
+									<up-tag text="鏈‘璁�" shape="circle" type="warning" plain plainFill size='mini'></up-tag>
+								</view>
 							</view>
-							<text class="chuany-width50 c-p-t-20">
-								宸ヤ环锛�0.5鍏�/浠�
-							</text>
-							<view class="chuany-width50 chuany-flex c-p-t-20">
-								<text>
-									鏁伴噺锛�
+							<view class="c-p-t-20">
+								鎵撳崱璁板綍锛�08:00-12:00 13:00-17:00
+							</view>
+							<view class="chuany-flex chuany-justify-between c-p-t-20">
+								
+							</view>
+							<view class="chuany-flex chuany-justify-between chuany-flex-wrap c-p-t-20">
+								<text class="chuany-width48">
+									宸ヤ綔鏃堕暱锛�8灏忔椂
 								</text>
-								<up-input style="padding: 0;" size='mini' border="surround"></up-input>
-							</view>
-							<view class="chuany-width50 c-p-t-20">
-								<text>
-									褰撴棩宸ヨ祫锛�136鍏�
+								<view class="chuany-width48">
+									<text>
+										鏂瑰紡锛氳浠�
+									</text>
+								</view>
+								<text class="chuany-width48 c-p-t-20">
+									宸ヤ环锛�0.5鍏�/浠�
 								</text>
-							</view>
-							<view class="chuany-width50 c-p-t-20">
-								<view class="chuany-width10">
-									<up-button class="button-layout__item" text="宸ヨ祫鐢虫姤" size="mini"
-										type="warning"></up-button>
+								<view class="chuany-width48 chuany-flex c-p-t-20">
+									<text>
+										鏁伴噺锛�
+									</text>
+									<up-input style="padding: 0;" size='mini' border="surround"></up-input>
+								</view>
+								<view class="chuany-width48 c-p-t-20">
+									<text>
+										褰撴棩宸ヨ祫锛�136鍏�
+									</text>
+								</view>
+								<view class="chuany-width48 c-p-t-20">
+									<view class="chuany-width10">
+										<up-button class="button-layout__item" text="宸ヨ祫鐢虫姤" size="mini"
+											type="warning"></up-button>
+									</view>
 								</view>
 							</view>
 						</view>
 					</view>
-				</view>
+				</view> -->
+				<up-loadmore :status="loadStatus" />
 			</view>
-			<up-loadmore :status="loadStatus" />
+			<view v-else>
+				<up-empty text='鏆傛棤' icon="/static/order.png">
+				</up-empty>
+			</view>
+			<fui-date-picker :show="datePickerShow" range :value="$util.formatDate(new Date())" type="3"
+				@change="changePicker" @cancel="cancel"></fui-date-picker>
+			<view class="tabbtns">
+				鍚堣锛歿{heji}} 鍏�
+			</view>
 		</view>
-		<view v-else>
-			<up-empty text='鏆傛棤' icon="/static/order.png">
-			</up-empty>
-		</view>
-		<fui-date-picker :show="datePickerShow" type="3" @change="changePicker" @cancel="cancel"></fui-date-picker>
 	</view>
 </template>
 
@@ -143,77 +175,113 @@
 			return {
 				pageIndex: 1,
 				pageSize: 20,
+				Suppliername: '',
 				wordDate: '',
-				isJieSuan: '',
+				isJieSuan: false,
 				list: ['鍏ㄩ儴', '鏈粨绠�', '宸茬粨绠�'],
 				datePickerShow: false,
 				viewList: [],
 				loadStatus: 'loadmore',
-				workCount: '', //璁′欢鏁伴噺
+				isLoading: false,
+				heji: '',
+				WordDateStart: '', //宸ヤ綔鏃ユ湡寮�濮�
+				WordDateEnd: '' //宸ヤ綔鏃ユ湡缁撴潫
 			}
 		},
 		onLoad() {
-			this.PostMyComDakaListPage();
+			this.PostMyDakaListPage();
 		},
 		onReachBottom() {
 			if (this.loadStatus != 'nomore') {
-				this.PostMyComDakaListPage();
+				this.PostMyDakaListPage();
 			}
 		},
 		onPullDownRefresh() {
-			this.pageIndex = 1
-			this.pageSize = 20
 			this.wordDate = ''
-			this.isJieSuan = ''
-			this.PostMyComDakaListPage();
+			this.WordDateStart = '' //宸ヤ綔鏃ユ湡寮�濮�
+			this.WordDateEnd = '' //宸ヤ綔鏃ユ湡缁撴潫
+			this.Suppliername = ''
+			this.init()
+			uni.stopPullDownRefresh();
 		},
 		methods: {
+			init() {
+				this.pageIndex = 1
+				this.pageSize = 20
+				this.loadStatus = 'loadmore'
+				this.PostMyDakaListPage();
+			},
 			sectionChange(val) {
 				switch (val) {
 					case 0:
-						this.isJieSuan = ''
+						this.isJieSuan = null
 						break;
 					case 1:
-						this.isJieSuan = true
-						break;
-					case 2:
 						this.isJieSuan = false
 						break;
+					case 2:
+						this.isJieSuan = true
+						break;
 				}
-				this.PostMyComDakaListPage()
+				this.init()
 			},
 			saveDakaDetail(item) {
+				if (item.workerType == 1 && !item.workCount) {
+					this.$util.showToast({
+						title: '璇峰~鍐欐暟閲忥紒',
+						icon: 'error'
+					})
+					return
+				}
 				let obj = {
 					orderBiddingDetailId: item.orderBiddingDetailId, //鎷涘伐鎵撳崱Id
 					workTime: item.workTime, //宸ヤ綔鏃堕暱
 					todaySalary: item.todaySalary //褰撴棩宸ヨ祫
 				}
-				if (this.workCount) {
-					obj.workCount = this.workCount
+				if (item.workCount) {
+					obj.workCount = item.workCount
 				}
+				item.isLoading = true
 				this.$api.saveDakaDetail(obj).then(res => {
-					console.log(res,'----');
+					if (res.code == 1) {
+						this.$util.showToast({
+							title: item.workerType == 0 ? '缁撴潫浠婃棩宸ヤ綔鎴愬姛锛�' : '璁′欢鐢虫姤鎴愬姛锛�',
+							icon: 'success'
+						})
+						this.init()
+					} else {
+						this.$util.showToast({
+							title: res.error ? res.error : '澶辫触锛�'
+						})
+					}
+					item.isLoading = false
 				})
 			},
-			PostMyComDakaListPage() {
+			PostMyDakaListPage() {
 				let data = {
 					pageIndex: this.pageIndex,
 					pageSize: this.pageSize,
+					isJieSuan: this.isJieSuan
 				}
 				if (this.wordDate) {
-					data.wordDate = this.wordDate
+					data.WordDateStart = this.WordDateStart //宸ヤ綔鏃ユ湡寮�濮�
+					data.WordDateEnd = this.WordDateEnd //宸ヤ綔鏃ユ湡缁撴潫
 				}
-				if (this.isJieSuan) {
-					data.isJieSuan = this.isJieSuan
+				if (this.Suppliername) {
+					data.Suppliername = this.Suppliername
 				}
-				this.$api.PostMyComDakaListPage(data).then(res => {
+				this.$api.PostMyDakaListPage(data).then(res => {
 					if (res.code == 1) {
+						this.heji = res.data.heji
 						if (this.pageIndex == 1) {
 							this.viewList = res.data.items
 						} else {
-							this.viewList.concat(...res.data.items)
+							this.viewList = this.viewList.concat(...res.data.items)
 						}
 						console.log(this.viewList, this.viewList.length, 'this.viewList');
+						this.viewList.forEach(item => {
+							item.isLoading = false
+						})
 						// totalPages.value = res.data.totalCount
 						// 鏍规嵁count鏁伴噺鍒ゆ柇鏄惁杩樻湁鏁版嵁
 						if (res.data.totalCount > this.viewList.length) {
@@ -227,14 +295,22 @@
 				})
 			},
 			changePicker(val) {
-				this.wordDate = val.result
+				this.wordDate = val.startDate.result + '鑷�' + val.endDate.result
+				this.WordDateStart = new Date(val.startDate.result) //宸ヤ綔鏃ユ湡寮�濮�
+				this.WordDateEnd = new Date(val.endDate.result) //宸ヤ綔鏃ユ湡缁撴潫
+				this.datePickerShow = false
+				this.PostMyDakaListPage()
+				console.log(this.wordDate, this.WordDateStart, this.WordDateEnd, this.Suppliername);
+			},
+			cancel() {
+				this.datePickerShow = false
 			},
 			clickIcon() {
 				this.datePickerShow = true
 			},
-			jumpWorkDetail() {
+			jumpWorkDetail(item) {
 				uni.navigateTo({
-					url: '/pages/checkin/workdetail'
+					url: `/pages/checkin/workdetail?id=${item.orderBiddingDetailId}`
 				})
 			}
 		}

--
Gitblit v1.9.1