zhangwei
2024-09-05 0c9b00f333f9baaffa9140fd1808a26e0af8416b
src/pages/index/index.vue
@@ -2,20 +2,23 @@
   <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' @clickIcon='clickTime' @custom='search'
               v-model="workTime" search-icon="calendar" @search='search'></up-search> -->
            <up-search placeholder="请输入工作名称" @clear='clear' @clickIcon='clickTime' @custom='search'
               v-model="state.orderName" @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-l-18 c-p-r-18 c-p-t-10 c-p-b-10 chuany-flex chuany-justify-between chuany-font30">
            <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-t-10 c-p-b-10 chuany-flex chuany-justify-between chuany-font30">
                  <view class="chuany-flex chuany-flex-direction">
                     <text class=''>
                        {{$util.formatDate(item.wordStartTime,true)}}
                        {{$util.formatDate(item.startTime)}}
                     </text>
                     <text>{{$util.formatDate(item.wordEndTime,true)}}</text>
                  </view>
                  <text>
                     招{{item.worderCounted}}/{{item.worderCount}}人
@@ -29,10 +32,10 @@
                  </up-tag>
               </view> -->
               <view class="chuany-flex chuany-flex-direction">
                  <text class='c-p-l-18 c-p-b-14 c-p-r-18'>
                  <text class='c-p-l-18 c-p-b-14 c-p-r-18 text-69'>
                     要求:{{item.demand}}
                  </text>
                  <text class='c-p-l-18 c-p-b-14 c-p-r-18'>
                  <text class='c-p-l-18 c-p-b-14 c-p-r-18 text-69'>
                     地址:{{item.worderAddress}}
                  </text>
               </view>
@@ -45,7 +48,8 @@
                        {{item.workerType==0?'元/小时':'元/件'}}
                     </text>
                  </view>
                  <up-tag text="去抢活" type="warning" shape="circle" @click.stop='deliver(item.id)'></up-tag>
                  <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>
@@ -66,7 +70,8 @@
      onLoad,
      onShow,
      onReachBottom,
      onPullDownRefresh
      onPullDownRefresh,
      onHide
   } from "@dcloudio/uni-app";
   import {
      reactive,
@@ -79,26 +84,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 +114,6 @@
      datePickerShow.value = !datePickerShow.value
   }
   let loadStatus = ref('loadmore')
   // 创建响应式数据
   const list1 = reactive([{
         name: '新任务'
      },
      {
         name: '我的订单'
      },
   ]);
   onReachBottom(() => {
      if (loadStatus.value != 'nomore') {
         PostListPage();
@@ -123,12 +123,20 @@
   onPullDownRefresh(() => {
      state.pageIndex = 1
      state.pageSize = 20
      loadStatus.value = 'loadmore'
      PostListPage();
      uni.stopPullDownRefresh();
   })
   onLoad(() => {
   onShow(() => {
      identity.value = $db.get('identity')
      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,29 +144,58 @@
      if (orderStatus) {
         data.orderStatus = orderStatus
      }
      if (state.orderName) {
         data.orderName = state.orderName
      }
      loadStatus.value = 'loading';
      $api.PostListPage(data).then(res => {
         if (res.code == 1) {
            console.log(res, res.code, '-----------123’');
            if (state.pageIndex == 1) {
               listO.orderList = res.data.items
      if (identity.value == 'enterprise') {
         $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)
               }
               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.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 = () => {
@@ -167,9 +204,15 @@
      state.currentIdex = e.index
   }
   const toDetail = (val) => {
      uni.navigateTo({
         url: `/pages/detail/detail?orderid=${val}`
      })
      if (identity.value !== 'enterprise') {
         uni.navigateTo({
            url: `/pages/detail/detail?orderid=${val}`
         })
      } else {
         uni.navigateTo({
            url: `/pages/order/detail?orderid=${val}`
         });
      }
   }
   const deliver = (val) => {
      uni.navigateTo({