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