From 94384dcf5066aa1a7b2e37874fe331e148bc9249 Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期日, 29 九月 2024 17:27:03 +0800 Subject: [PATCH] 工人工资查询 --- src/pages/order/order.vue | 104 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 84 insertions(+), 20 deletions(-) diff --git a/src/pages/order/order.vue b/src/pages/order/order.vue index 1c0fa38..1c28088 100644 --- a/src/pages/order/order.vue +++ b/src/pages/order/order.vue @@ -1,16 +1,15 @@ <template> - <view> + <scroll-view class="full-page" scroll-y using-sticky> <up-sticky bgColor="#fff"> <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> --> - <up-search placeholder="璇疯緭鍏ュ伐浣滃悕绉�" @clear='clear' @custom='search' v-model="state.orderName" - @search='search'></up-search> + <up-search placeholder="璇疯緭鍏ュ伐浣滃悕绉�" @clear='clear' @custom='PostMyListPageCompany' + v-model="state.orderName" @search='PostMyListPageCompany'></up-search> </view> - <!-- <up-subsection :list="list" :current="current4" activeColor="#f9ae3d" - @change="sectionChange"></up-subsection> --> + <up-subsection :list="list" current="1" activeColor="#f9ae3d" @change="sectionChange"></up-subsection> </up-sticky> - <view class="full-page"> + <view class="full-page-content"> <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)"> @@ -25,18 +24,25 @@ <!-- <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> + <!-- <up-tag class='c-m-r-10' :text="item.orderStatusName" shape="circle" type="success" + plain plainFill size='mini'></up-tag> --> + <up-text :type="item.orderStatus==0?'primary':'success'" :text="item.orderStatusName" size='12'></up-text> + <!-- <up-button class='c-m-r-10' :text="item.isEn?'涓嬫灦':'涓婃灦'" disabled shape="circle" + v-if="item.orderStatus==0" :type="item.isEn?'error':'primary'" size='mini' + @click.stop="manageOrder(item)"></up-button> --> </view> </view> <view class="text-69 chuany-font28"> <view class=""> 鏃ユ湡锛歿{$util.formatDate(item.wordStartTime)}} 鑷� {{$util.formatDate(item.wordEndTime)}} </view> - <view class=""> - 鏃堕棿锛歿{item.startTimeName}} 鑷� {{item.endTimeName}} - </view> - <view class="chuany-flex chuany-justify-between "> + <view class="chuany-flex chuany-justify-between chuany-flex-wrap"> + <view class="chuany-width50" v-if="item.zixinganpai"> + 鏃堕棿锛歿{item.zixinganpaiName}} + </view> + <view class="chuany-width50" v-else> + 鏃堕棿锛歿{item.startTimeName}} 鑷� {{item.endTimeName}} + </view> <view class="chuany-width50"> <text> 鏂瑰紡锛歿{item.workerType==0?'璁℃椂':'璁′欢'}} @@ -45,6 +51,11 @@ <view class="chuany-width50"> 宸ヤ环锛歿{item.workPrice}}{{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}} <text></text> + </view> + <view class=""> + <up-button hoverStopPropagation :text="item.isEn?'涓嬫灦':'涓婃灦'" shape="circle" :loading='item.isLoading' :loadingText="item.isEn?'涓嬫灦涓�':'涓婃灦涓�'" + v-if="item.orderStatus==0" :type="item.isEn?'error':'primary'" size='mini' + @tap.stop="manageOrder(item)"></up-button> </view> </view> </view> @@ -61,7 +72,7 @@ </view> <fui-date-picker range :show="datePickerShow" type="5" @change="changePicker" @cancel="cancel"></fui-date-picker> - </view> + </scroll-view> </template> <script setup> @@ -91,6 +102,7 @@ let datePickerShow = ref(false) let loadStatus = ref('loadmore') let totalPages = ref(0) + let isEn = ref(true) let listO = reactive({ orderList: [] }) @@ -99,7 +111,7 @@ PostMyListPageCompany(); } }) - onLoad(() => { + onShow(() => { PostMyListPageCompany() }) onPullDownRefresh(() => { @@ -110,21 +122,18 @@ uni.stopPullDownRefresh(); }) const current4 = ref(0); - const list = ref(['鍏ㄩ儴', '鍙戝竷', '鎷涘伐瀹屾瘯', '缁撶畻瀹屾瘯']); + 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 search = (index) => { - PostMyListPageCompany() - } const clear = () => { state.orderName = '' state.wordStartTime = "" state.wordEndTime = "" + PostMyListPageCompany() } const clickTime = () => { datePickerShow.value = !datePickerShow.value @@ -133,7 +142,8 @@ let data = { pageIndex: state.pageIndex, pageSize: state.pageSize, - orderStatus + orderStatus, + isEn: isEn.value } if (state.wordStartTime) { data.wordStartTime = state.wordStartTime @@ -153,6 +163,9 @@ } else { listO.orderList = listO.orderList.concat(...res.data.items) } + listO.orderList.forEach(item => { + item.isLoading = false + }) console.log(listO.orderList, 'listO.orderList鈥�'); // totalPages.value = res.data.totalCount // 鏍规嵁count鏁伴噺鍒ゆ柇鏄惁杩樻湁鏁版嵁 @@ -168,6 +181,57 @@ } }) } + const sectionChange = (val) => { + switch (val) { + case 0: + isEn.value = null + break; + case 1: + isEn.value = true + break; + case 2: + isEn.value = false + break; + } + PostMyListPageCompany() + } + const manageOrder = (item) => { + let obj = { + orderId: item.id + } + console.log(obj); + item.isLoading = true + if (item.isEn) { + $api.deleteOrder(obj).then(res => { + if (res.code == 1) { + $util.showToast({ + title: '涓嬫灦鎴愬姛锛�' + }) + PostMyListPageCompany() + } else { + $util.showToast({ + title: res.error + }) + } + item.isLoading = false + }) + } else { + $api.saveOrder(item).then(res => { + if (res.code == 1) { + $util.showToast({ + title: "涓婃灦鎴愬姛锛�", + icon: "success" + }) + PostMyListPageCompany() + } else { + $util.showToast({ + title: res.msg + }) + } + item.isLoading = false + }) + } + } const pageToDetail = (item) => { uni.navigateTo({ url: `/pages/order/detail?orderid=${item.id}` -- Gitblit v1.9.1