From 79745a1b12fa6d69edd3a353cb11b8ae02b8d4aa Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期一, 26 八月 2024 17:16:53 +0800 Subject: [PATCH] 投递与确认 --- src/pages/index/index.vue | 181 +++++++++++++++++++++++++++++++-------------- 1 files changed, 124 insertions(+), 57 deletions(-) diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index 6f3f347..fdce52c 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -1,63 +1,111 @@ <template> <view class="full-page"> - <scroll-view enable-flex="true"> + <up-sticky bgColor="#fff"> + <view class="coreshop-ff c-p-10"> + <up-search placeholder="璇风偣鍑婚�夋嫨鏃ユ湡" @clear='clear' @clickIcon='clickTime' @custom='search' + v-model="workTime" search-icon="calendar" @search='search'></up-search> + </view> + </up-sticky> + <scroll-view enable-flex="true"> <view class="list chuany-flex chuany-flex-direction chuany-align-center c-p-b-30" - v-if="state.currentIdex==0"> - <view class="content c-p-b-18" v-for="(item,index) in list2" @click='toDetail' :key='item.id'> + v-if="listO.orderList&&listO.orderList.length>0"> + <view class="content c-p-b-18" v-for="(item,index) in listO.orderList" @click='toDetail(item.id)' :key='item.id'> <view class="bgblue c-p-18 chuany-flex chuany-justify-between chuany-font34 chuany-text-bold"> - <text class=''> - {{item.time}} - </text> + <view class="chuany-flex chuany-flex-direction"> + <text class=''> + {{$util.formatDate(detailItem.wordStartTime,true)}} + </text> + <text>{{$util.formatDate(detailItem.wordEndTime,true)}}</text> + </view> <text> - 鎷泏{item.zhaodao}}/{{item.peoplenum}}浜� + 鎷泏{item.worderCounted}}/{{item.worderCount}}浜� </text> </view> <view class="c-p-18 chuany-font44 chuany-text-bold"> - {{item.name}} + {{item.orderName}} </view> - <view class="chuany-flex c-p-l-18"> + <!-- <view class="chuany-flex c-p-l-18"> <up-tag class='c-p-r-14' :text="item" plain v-for="(item,index) in item.tags" :key="index"> </up-tag> - </view> + </view> --> <view class="chuany-flex chuany-flex-direction"> <text class='c-p-18'> - 瑕佹眰锛歿{item.yaoqiu}} + 瑕佹眰锛歿{item.demand}} </text> <text class='c-p-l-18 c-p-b-16'> - 鍦板潃锛歿{item.adress}} + 鍦板潃锛歿{item.worderAddress}} </text> </view> <view class='chuany-flex chuany-justify-between c-p-l-18 c-p-r-18'> <view class="redcla"> <text class="chuany-font40 chuany-text-bold"> - {{item.price}} + {{item.workPrice}} </text> <text class='chuany-font20'> - 鍏�/灏忔椂 + {{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}} </text> </view> - <up-tag text="鍘绘姠娲�" type="warning" shape="circle"></up-tag> + <up-tag text="鍘绘姠娲�" type="warning" shape="circle" @click.stop='deliver(item.id)'></up-tag> <!-- <up-tag text="鍘绘姠娲�" type="warning" shape="circle"></up-tag> --> </view> </view> + <up-loadmore :status="loadStatus" /> </view> <view v-else> - <up-empty mode="order" icon="http://cdn.uviewui.com/uview/empty/order.png"> + <up-empty text='鏆傛棤' icon="/static/order.png"> </up-empty> </view> </scroll-view> - + <fui-date-picker range :show="datePickerShow" type="5" @change="changePicker" + @cancel="cancel"></fui-date-picker> </view> </template> <script setup> import { + onLoad, + onShow, + onReachBottom, + onPullDownRefresh + } from "@dcloudio/uni-app"; + import { reactive, - ref + ref, + getCurrentInstance } from 'vue'; - let state = reactive({ - currentIdex: 0 + const { + $upload, + $api, + $util, + $db + } = getCurrentInstance().appContext.config.globalProperties + + let workTime = ref('') + let datePickerShow = ref(false) + const state = reactive({ + pageIndex: 1, + pageSize: 20, }) + let listO = reactive({ + orderList: [] + }) + const search = (index) => { + console.log(index, '------鈥�'); + if (index == 0) { + PostListPage() + } else { + PostListPage(index - 1) + } + + } + const clear = () => { + state.wordStartTime = "" + state.wordEndTime = "" + } + const clickTime = () => { + datePickerShow.value = !datePickerShow.value + } + let loadStatus = ref('loadmore') // 鍒涘缓鍝嶅簲寮忔暟鎹� const list1 = reactive([{ name: '鏂颁换鍔�' @@ -66,50 +114,69 @@ name: '鎴戠殑璁㈠崟' }, ]); - const list2 = reactive([{ - id: 1, - time: '鏄庡ぉ 19:00-23:00', - name: '涓存椂宸�', - tags: ['4灏忔椂', '鍙棤缁忛獙', '鎵嬭剼楹诲埄'], - adress: '姝︿警鍖烘婧閬�4.0km', - yaoqiu: '涓嶉檺', - price: 50, - peoplenum: 3, - zhaodao: 1 - }, - { - id: 2, - time: '鏄庡ぉ 19:00-23:00', - name: '涓存椂宸�', - tags: ['4灏忔椂', '鍙棤缁忛獙', '鎵嬭剼楹诲埄'], - adress: '姝︿警鍖烘婧閬�4.0km', - price: 50, - yaoqiu: '涓嶉檺', - peoplenum: 3, - zhaodao: 1 - }, - { - id: 3, - time: '浠婂ぉ 19:00-23:00', - name: '鍖呰宸�', - tags: ['4灏忔椂', '鍙棤缁忛獙', '鎵嬭剼楹诲埄'], - adress: '姝︿警鍖烘婧閬�4.0km', - price: 50, - yaoqiu: '鐢�/18-55宀�', - peoplenum: 3, - zhaodao: 1 - }, - ]); + onReachBottom(() => { + if (loadStatus.value != 'nomore') { + PostListPage(); + } + }) + + onPullDownRefresh(() => { + state.pageIndex = 1 + state.pageSize = 20 + PostListPage(); + }) + onLoad(() => { + PostListPage() + }) + const PostListPage = (orderStatus) => { + let data = { + pageIndex: state.pageIndex, + pageSize: state.pageSize, + } + if (orderStatus) { + data.orderStatus = orderStatus + } + loadStatus.value = 'loading'; + $api.PostListPage(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 click = () => { } const change = (e) => { state.currentIdex = e.index } - const toDetail = (e) => { + const toDetail = (val) => { uni.navigateTo({ - url: '/pages/detail/detail' + url: `/pages/detail/detail?orderid=${val}` }) + } + const deliver = (val) => { + uni.navigateTo({ + url: `/pages/detail/detail?orderid=${val}` + }) + // $api.saveBaoMing({orderId:e}).then(res => { + // }) } </script> @@ -119,7 +186,7 @@ } .content { - height: 430rpx; + min-height: 430rpx; width: 90%; background-color: #fff; border-radius: 20rpx; -- Gitblit v1.9.1