From a1a7c2aed860d1a1bb1ac377a69cdeacb7609cb9 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期五, 11 十月 2024 09:16:42 +0800
Subject: [PATCH] -
---
src/pages/index/index.vue | 290 ++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 194 insertions(+), 96 deletions(-)
diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue
index fdce52c..49769e4 100644
--- a/src/pages/index/index.vue
+++ b/src/pages/index/index.vue
@@ -1,63 +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>
- </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="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">
- <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.worderCounted}}/{{item.worderCount}}浜�
- </text>
- </view>
- <view class="c-p-18 chuany-font44 chuany-text-bold">
- {{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">
- <text class='c-p-18'>
- 瑕佹眰锛歿{item.demand}}
- </text>
- <text class='c-p-l-18 c-p-b-16'>
- 鍦板潃锛歿{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.workPrice}}
- </text>
- <text class='chuany-font20'>
- {{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}}
- </text>
- </view>
- <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 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>
<view v-else>
<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>
+ <fui-date-picker range :show="datePickerShow" type="5" @change="changePicker"
+ @cancel="cancel"></fui-date-picker>
+ </view>
</view>
</template>
@@ -66,7 +110,8 @@
onLoad,
onShow,
onReachBottom,
- onPullDownRefresh
+ onPullDownRefresh,
+ onHide
} from "@dcloudio/uni-app";
import {
reactive,
@@ -79,26 +124,29 @@
$util,
$db
} = getCurrentInstance().appContext.config.globalProperties
-
+ const userToken = $db.get("userToken");
+ let identity = ref('')
let workTime = ref('')
let datePickerShow = ref(false)
const state = reactive({
pageIndex: 1,
pageSize: 20,
+ orderName: ''
})
let listO = reactive({
orderList: []
})
const search = (index) => {
- console.log(index, '------鈥�');
- if (index == 0) {
- PostListPage()
- } else {
- PostListPage(index - 1)
- }
-
+ PostListPage()
+ }
+ 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 clear = () => {
+ state.orderName = ''
state.wordStartTime = ""
state.wordEndTime = ""
}
@@ -106,14 +154,7 @@
datePickerShow.value = !datePickerShow.value
}
let loadStatus = ref('loadmore')
- // 鍒涘缓鍝嶅簲寮忔暟鎹�
- const list1 = reactive([{
- name: '鏂颁换鍔�'
- },
- {
- name: '鎴戠殑璁㈠崟'
- },
- ]);
+ let tokenVal = $db.get('userToken') || ''
onReachBottom(() => {
if (loadStatus.value != 'nomore') {
PostListPage();
@@ -123,12 +164,24 @@
onPullDownRefresh(() => {
state.pageIndex = 1
state.pageSize = 20
+ loadStatus.value = 'loadmore'
PostListPage();
+ uni.stopPullDownRefresh();
})
- onLoad(() => {
+ onShow(() => {
+ identity.value = $db.get('identity')
+ tokenVal = $db.get('userToken')
+ state.pageIndex = 1
+ state.pageSize = 20
+ loadStatus.value = 'loadmore'
+ console.log(identity.value);
PostListPage()
})
+ onHide(() => {
+ listO.orderList = []
+ })
const PostListPage = (orderStatus) => {
+ console.log(identity.value, 'identity----------');
let data = {
pageIndex: state.pageIndex,
pageSize: state.pageSize,
@@ -136,40 +189,84 @@
if (orderStatus) {
data.orderStatus = orderStatus
}
+ if (state.orderName) {
+ data.orderName = state.orderName
+ }
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
+ 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 = 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 {
- listO.orderList.concat(...res.data.items)
+ // _that.$refs.uToast.show({ message: res.msg, type: 'error' });
}
- 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 {
+ $api.PostListPage(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 = 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 {
- // 鏁版嵁宸插姞杞藉畬姣�
- loadStatus.value = 'nomore'
+ // _that.$refs.uToast.show({ message: res.msg, type: 'error' });
}
- } else {
- // _that.$refs.uToast.show({ message: res.msg, type: 'error' });
- }
- })
+ })
+ }
+
}
const click = () => {
+
+ }
+ const cancel = () => {
}
const change = (e) => {
state.currentIdex = e.index
}
- const toDetail = (val) => {
- uni.navigateTo({
- url: `/pages/detail/detail?orderid=${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=${item.id}`
+ })
+ } else {
+ uni.navigateTo({
+ url: `/pages/order/detail?orderid=${item.id}`
+ });
+ }
}
const deliver = (val) => {
uni.navigateTo({
@@ -186,11 +283,12 @@
}
.content {
- min-height: 430rpx;
- width: 90%;
+ width: 93%;
+ min-height: 330rpx;
+ /* width: 90%; */
background-color: #fff;
border-radius: 20rpx;
- margin: 30rpx 30rpx 0 30rpx;
+ margin: 28rpx 28rpx 0 28rpx;
}
.bgblue {
--
Gitblit v1.9.1