From 8c047f7da19d7e59136a322e1a851d4b6b0eab97 Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期四, 06 三月 2025 17:30:31 +0800 Subject: [PATCH] - --- src/pages/checkin/index.vue | 345 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 202 insertions(+), 143 deletions(-) diff --git a/src/pages/checkin/index.vue b/src/pages/checkin/index.vue index 69ab5c1..2bc1673 100644 --- a/src/pages/checkin/index.vue +++ b/src/pages/checkin/index.vue @@ -1,143 +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='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'> - <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-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 v-if="item.isShenPiName!=='宸茬粨绠�'" 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}}鍏� + <!-- <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" - v-if="item.isShenPiName!=='宸茬粨绠�'" @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 class="chuany-font32 "> + 涓存椂宸� </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 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> - <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> - 鏂瑰紡锛氳浠� + <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> - </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="chuany-width48"> + <text> + 鏂瑰紡锛氳浠� + </text> + </view> + <text class="chuany-width48 c-p-t-20"> + 宸ヤ环锛�0.5鍏�/浠� </text> - <up-input style="padding: 0;" size='mini' border="surround"></up-input> - </view> - <view class="chuany-width50 c-p-t-20"> - <text> - 褰撴棩宸ヨ祫锛�136鍏� - </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> + <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> @@ -147,12 +175,17 @@ return { pageIndex: 1, pageSize: 20, + Suppliername: '', wordDate: '', - isJieSuan: '', + isJieSuan: false, list: ['鍏ㄩ儴', '鏈粨绠�', '宸茬粨绠�'], datePickerShow: false, viewList: [], - loadStatus: 'loadmore' + loadStatus: 'loadmore', + isLoading: false, + heji: '', + WordDateStart: '', //宸ヤ綔鏃ユ湡寮�濮� + WordDateEnd: '' //宸ヤ綔鏃ユ湡缁撴潫 } }, onLoad() { @@ -164,17 +197,33 @@ } }, onPullDownRefresh() { - this.pageIndex = 1 - this.pageSize = 20 this.wordDate = '' - this.isJieSuan = '' - this.loadStatus = 'loadmore' - this.PostMyDakaListPage(); + 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) { - this.isJieSuan = val - this.PostMyDakaListPage() + switch (val) { + case 0: + this.isJieSuan = null + break; + case 1: + this.isJieSuan = false + break; + case 2: + this.isJieSuan = true + break; + } + this.init() }, saveDakaDetail(item) { if (item.workerType == 1 && !item.workCount) { @@ -192,45 +241,47 @@ if (item.workCount) { obj.workCount = item.workCount } + item.isLoading = true this.$api.saveDakaDetail(obj).then(res => { if (res.code == 1) { this.$util.showToast({ - title: '鐢虫姤鎴愬姛锛�', + title: item.workerType == 0 ? '缁撴潫浠婃棩宸ヤ綔鎴愬姛锛�' : '璁′欢鐢虫姤鎴愬姛锛�', icon: 'success' }) + this.init() + } else { + this.$util.showToast({ + title: res.error ? res.error : '澶辫触锛�' + }) } + item.isLoading = false }) }, 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) { - switch (this.isJieSuan) { - case 0: - this.isJieSuan = '' - break; - case 1: - this.isJieSuan = false - break; - case 2: - this.isJieSuan = true - break; - } - data.isJieSuan = this.isJieSuan + if (this.Suppliername) { + data.Suppliername = this.Suppliername } 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) { @@ -244,7 +295,15 @@ }) }, 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 -- Gitblit v1.9.1