From b172667f354f7f00fe14809e66cbf12362fbc646 Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期五, 06 九月 2024 17:19:36 +0800 Subject: [PATCH] 人脸打卡 --- src/pages/checkin/index.vue | 95 ++++++++++++++++++++++++++++++++--------------- 1 files changed, 64 insertions(+), 31 deletions(-) diff --git a/src/pages/checkin/index.vue b/src/pages/checkin/index.vue index ed24411..4f4f342 100644 --- a/src/pages/checkin/index.vue +++ b/src/pages/checkin/index.vue @@ -2,18 +2,18 @@ <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> + <up-search placeholder="璇风偣鍑婚�夋嫨鎵撳崱鏃ユ湡" @click='clickIcon' disabled v-model="wordDate" search-icon="calendar" + @custom='PostMyDakaListPage'></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="listrecord c-p-18" v-for="item in viewList" :key='item.id'> <view class="coreshop-ff chuany-bradius20"> - <view + <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,true)}} + 鎵撳崱鏃ユ湡锛歿{$util.formatDate(item.workDate)}} </text> </view> <view class="c-p-26"> @@ -35,7 +35,7 @@ </view> <view class="chuany-flex chuany-justify-between chuany-flex-wrap c-p-t-14"> <text class="chuany-width50"> - 宸ヤ綔鏃堕暱锛歿{item.workTime}} + 鏃堕暱锛歿{item.workTime}} </text> <view class="chuany-width50"> <text> @@ -49,17 +49,22 @@ <text> 鏁伴噺锛� </text> - <up-input style="padding: 0;" size='mini' border="surround" - v-model="workCount"></up-input> + <up-input v-if="item.isShenPiName!=='宸茬粨绠�'" 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-width50 c-p-t-14"> <text> - 褰撴棩宸ヨ祫锛歿{item.todaySalary}}鍏� + 宸ヨ祫锛歿{item.todaySalary}}鍏� </text> </view> <view class="chuany-width50 c-p-t-14"> <view class="chuany-width10"> - <up-button class="button-layout__item" text="宸ヨ祫鐢虫姤" size="mini" + <!-- v-if="item.isShenPiName!=='宸茬粨绠�'" --> + <up-button class="button-layout__item" text="宸ヨ祫鐢虫姤" size="mini" :loading='item.isLoading' + loadingText="鐢虫姤涓�" v-if="item.isShenPiName!=='宸茬粨绠�'" @click.stop='saveDakaDetail(item)' type="warning"></up-button> </view> </view> @@ -67,7 +72,7 @@ </view> </view> </view> - <view class="listrecord c-p-18"> + <!-- <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=''> @@ -80,9 +85,9 @@ 涓存椂宸� </text> <view class="chuany-flex chuany-justify-between"> - <!-- <text class="c-p-r-20"> + <text class="c-p-r-20"> - </text> --> + </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> @@ -91,9 +96,9 @@ <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 class="chuany-flex chuany-justify-between c-p-t-20"> - </view> --> + </view> <view class="chuany-flex chuany-justify-between chuany-flex-wrap c-p-t-20"> <text class="chuany-width50"> 宸ヤ綔鏃堕暱锛�8灏忔椂 @@ -126,14 +131,15 @@ </view> </view> </view> - </view> + </view> --> <up-loadmore :status="loadStatus" /> </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> + <fui-date-picker :show="datePickerShow" :value="$util.formatDate(new Date())" type="3" @change="changePicker" + @cancel="cancel"></fui-date-picker> </view> </template> @@ -149,15 +155,15 @@ datePickerShow: false, viewList: [], loadStatus: 'loadmore', - workCount: '', //璁′欢鏁伴噺 + isLoading: false } }, onLoad() { - this.PostMyComDakaListPage(); + this.PostMyDakaListPage(); }, onReachBottom() { if (this.loadStatus != 'nomore') { - this.PostMyComDakaListPage(); + this.PostMyDakaListPage(); } }, onPullDownRefresh() { @@ -165,27 +171,47 @@ this.pageSize = 20 this.wordDate = '' this.isJieSuan = '' - this.PostMyComDakaListPage(); + this.loadStatus = 'loadmore' + this.PostMyDakaListPage(); + uni.stopPullDownRefresh(); }, methods: { sectionChange(val) { this.isJieSuan = val - this.PostMyComDakaListPage() + this.PostMyDakaListPage() }, 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: '鐢虫姤鎴愬姛锛�', + icon: 'success' + }) + } else { + this.$util.showToast({ + title: res.error ? res.error : '澶辫触锛�' + }) + } + item.isLoading = false }) }, - PostMyComDakaListPage() { + PostMyDakaListPage() { let data = { pageIndex: this.pageIndex, pageSize: this.pageSize, @@ -199,15 +225,15 @@ this.isJieSuan = '' break; case 1: - this.isJieSuan = true + this.isJieSuan = false break; case 2: - this.isJieSuan = false + this.isJieSuan = true break; } data.isJieSuan = this.isJieSuan } - this.$api.PostMyComDakaListPage(data).then(res => { + this.$api.PostMyDakaListPage(data).then(res => { if (res.code == 1) { if (this.pageIndex == 1) { this.viewList = res.data.items @@ -215,6 +241,9 @@ 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) { @@ -229,13 +258,17 @@ }, changePicker(val) { this.wordDate = val.result + this.datePickerShow = false + }, + 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