From e3f6581c48b1dfb65c55e8a1a6ce1761a7dc26b4 Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期四, 16 一月 2025 15:29:43 +0800 Subject: [PATCH] 费用报销 --- src/pages/index/index.vue | 201 ++++++++++++++++++++++++++++++-------------------- 1 files changed, 121 insertions(+), 80 deletions(-) diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index aa81152..10971ed 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -1,79 +1,107 @@ <template> - <view class="full-page"> - <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> --> - <up-search placeholder="璇疯緭鍏ュ伐浣滃悕绉�" @clear='clear' @custom='search' v-model="state.orderName" - @search='search'></up-search> - </view> - </up-sticky> - <scroll-view enable-flex="true" v-if="listO.orderList"> - <view class="list chuany-flex chuany-flex-direction chuany-align-center c-p-b-30 " - v-if="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-l-18 c-p-r-18 c-p-b-10 c-p-t-10 chuany-flex chuany-justify-between chuany-font30"> - <view class="chuany-flex chuany-flex-direction"> - <text class=''> - {{$util.formatDate(item.startTime)}} - </text> - </view> - <text> - 鎷泏{item.worderCounted}}/{{item.worderCount}}浜� - </text> - </view> - <view class="c-p-l-18 c-p-t-10 c-p-b-10 c-p-r-18 chuany-font32"> - {{item.orderComName}} - </view> - <view class="c-p-l-18 c-p-r-18 c-p-b-10 chuany-font32"> - {{item.orderName}} - </view> - <!-- <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 class="chuany-flex chuany-flex-direction chuany-font28"> - <text class='c-p-l-18 c-p-r-18 text-69 c-p-b-10'> - 鏃ユ湡锛歿{item.wordStartTimeName}} 鑷� {{item.wordEndTimeName}} - </text> - <text class='c-p-l-18 c-p-r-18 text-69 c-p-b-10'> - 鏃堕棿锛歿{item.startTimeName}} 鑷� {{item.endTimeName}} - </text> - </view> - <view class="chuany-flex chuany-flex-direction chuany-font28"> - <text class='c-p-l-18 c-p-r-18 text-69 c-p-b-10'> - 瑕佹眰锛歿{item.demand}} - </text> - <text class='c-p-l-18 c-p-r-18 text-69 c-p-b-10'> - 鍦板潃锛歿{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"> - {{item.workPrice}} - </text> - <text class='chuany-font20'> - {{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}} - </text> - </view> - <up-tag text="鍘绘姠娲�" v-if="identity !== 'enterprise'" type="warning" shape="circle" - @click.stop='deliver(item.id)'></up-tag> - <!-- <up-tag text="鍘绘姠娲�" type="warning" shape="circle"></up-tag> --> - </view> + <view class="full-page" scroll-y using-sticky> + <view class=""> + <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> --> + <up-search placeholder="璇疯緭鍏ュ伐浣滃悕绉�" @clear='clear' @custom='search' v-model="state.orderName" + @search='search'></up-search> </view> - <up-loadmore :status="loadStatus" /> + </up-sticky> + <view v-if="listO.orderList" class="full-page-content"> + <view class="list chuany-flex chuany-flex-direction chuany-align-center c-p-b-30 " + v-if="listO.orderList.length>0"> + <view class="content c-p-b-18" v-for="(item,index) in listO.orderList" @click='toDetail(item)' + :key='item.id'> + <view + class="bgblue c-p-l-18 c-p-r-18 c-p-b-10 c-p-t-10 chuany-flex chuany-justify-between chuany-font30"> + <view class="chuany-flex chuany-flex-direction"> + <text class=''> + {{$util.formatDate(item.startTime)}} + </text> + </view> + <text> + 鎷泏{item.worderCounted}}/{{item.worderCount}}浜� + </text> + </view> + <view class="c-p-l-18 c-p-t-10 c-p-b-10 c-p-r-18 chuany-font32"> + {{item.orderComName}} + </view> + <view class="c-p-l-18 c-p-r-18 c-p-b-10 chuany-font32"> + {{item.orderName}} + </view> + <!-- <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 class="chuany-flex chuany-flex-direction chuany-font28"> + <text class='c-p-l-18 c-p-r-18 text-69 c-p-b-10'> + 鏃ユ湡锛歿{item.wordStartTimeName}} 鑷� {{item.wordEndTimeName}} + </text> + <!-- <text class='c-p-l-18 c-p-r-18 text-69 c-p-b-10'> + 鏃堕棿锛歿{item.startTimeName}} 鑷� {{item.endTimeName}} + </text> --> + <view class="c-p-l-18 c-p-r-18 text-69 c-p-b-10" v-if="item.zixinganpai"> + 鏃堕棿锛歿{item.zixinganpaiName}} + </view> + <view class="c-p-l-18 c-p-r-18 text-69 c-p-b-10" v-else> + 鏃堕棿锛歿{item.startTimeName}} 鑷� {{item.endTimeName}} + </view> + </view> + <view class="chuany-flex chuany-flex-direction chuany-font28"> + <text class='c-p-l-18 c-p-r-18 text-69 c-p-b-10'> + 瑕佹眰锛歿{item.demand}} + </text> + <text class='c-p-l-18 c-p-r-18 text-69 c-p-b-10' v-if="identity !== 'enterprise'"> + 鍦板潃锛歿{item.worderAddress}} + </text> + </view> + <view class='chuany-flex chuany-justify-between c-p-l-18 c-p-r-18'> + <view class="redcla"> + <view class=""> + <text class="chuany-font40"> + {{item.workPrice}}<template + v-if="item.workPriceMax">~{{item.workPriceMax}}</template> + </text> + <text class='chuany-font20'> + {{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}} + </text> + </view> + <!-- <text class="chuany-font40"> + {{item.workPrice}} + </text> + <text class='chuany-font20'> + {{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}} + </text> --> + </view> + <up-tag text="鍘绘姠娲�" v-if="identity !== 'enterprise'&&!item.isSelectedName" type="warning" + shape="circle" @click.stop='deliver(item.id)'></up-tag> + <view class="" v-else> + <up-text :type="item.isSelectedName=='瀹℃牳涓�'?'info':item.isSelectedName=='涓嶅綍鐢�'?'error':'success'" + :text="item.isSelectedName" size='12'></up-text> + </view> + <view class="" v-if="identity == 'enterprise'"> + <up-badge type="error" max="99" :value="item.workerDaiCount"></up-badge> + </view> + <!-- <up-tag text="鍘绘姠娲�" type="warning" shape="circle"></up-tag> --> + </view> + </view> + <up-loadmore :status="loadStatus" /> + + </view> + <view v-else> + <up-empty text='鏆傛棤' icon="/static/order.png"> + </up-empty> + </view> </view> - - </scroll-view> - <view v-else> - <up-empty text='鏆傛棤' icon="/static/order.png"> - </up-empty> + <view v-else> + <up-empty text='鏆傛棤' icon="/static/order.png"> + </up-empty> + </view> + <fui-date-picker range :show="datePickerShow" type="5" @change="changePicker" + @cancel="cancel"></fui-date-picker> </view> - <fui-date-picker range :show="datePickerShow" type="5" @change="changePicker" - @cancel="cancel"></fui-date-picker> </view> </template> @@ -126,6 +154,7 @@ datePickerShow.value = !datePickerShow.value } let loadStatus = ref('loadmore') + let tokenVal = $db.get('userToken') || '' onReachBottom(() => { if (loadStatus.value != 'nomore') { PostListPage(); @@ -141,6 +170,10 @@ }) onShow(() => { identity.value = $db.get('identity') + tokenVal = $db.get('userToken') + state.pageIndex = 1 + state.pageSize = 20 + loadStatus.value = 'loadmore' console.log(identity.value); PostListPage() }) @@ -152,6 +185,7 @@ let data = { pageIndex: state.pageIndex, pageSize: state.pageSize, + isEn: true } if (orderStatus) { data.orderStatus = orderStatus @@ -160,14 +194,14 @@ data.orderName = state.orderName } loadStatus.value = 'loading'; - if (identity.value == 'enterprise') { + if (identity.value == 'enterprise' && tokenVal) { $api.PostMyListPageCompany(data).then(res => { if (res.code == 1) { console.log(res, res.code, '-----------123鈥�'); if (state.pageIndex == 1) { listO.orderList = res.data.items } else { - listO.orderList.concat(...res.data.items) + listO.orderList = listO.orderList.concat(...res.data.items) } console.log(listO.orderList, 'listO.orderList鈥�'); // totalPages.value = res.data.totalCount @@ -190,7 +224,7 @@ if (state.pageIndex == 1) { listO.orderList = res.data.items } else { - listO.orderList.concat(...res.data.items) + listO.orderList = listO.orderList.concat(...res.data.items) } console.log(listO.orderList, 'listO.orderList鈥�'); // totalPages.value = res.data.totalCount @@ -218,14 +252,20 @@ const change = (e) => { state.currentIdex = e.index } - const toDetail = (val) => { + const toDetail = (item) => { + if (!tokenVal) { + return false + } + // if (item.isSelectedName && identity.value !== 'enterprise') { + // return false + // } if (identity.value !== 'enterprise') { uni.navigateTo({ - url: `/pages/detail/detail?orderid=${val}` + url: `/pages/detail/detail?orderid=${item.id}` }) } else { uni.navigateTo({ - url: `/pages/order/detail?orderid=${val}` + url: `/pages/order/detail?orderid=${item.id}` }); } } @@ -244,11 +284,12 @@ } .content { + width: 93%; min-height: 330rpx; - width: 90%; + /* width: 90%; */ background-color: #fff; border-radius: 20rpx; - margin: 30rpx 30rpx 0 30rpx; + margin: 28rpx 28rpx 0 28rpx; } .bgblue { -- Gitblit v1.9.1