Mr.Shi
2023-09-12 d24b6fe16b7fa9aa608be207f6c9ab158d4e1196
minipro_standard/pages/index/index.vue
@@ -2,46 +2,23 @@
   <view class="index">
      <!-- <web-view v-if="show" @onPostMessage="onMessage" :src="'https://dmtest.ahapp.net/doumeeplant_h5/#/appletLogin?code=' + code"></web-view> -->
      <!-- {{$store.state.statusbarHeight}} -->
      <div class="content_search">
         <v-Search @searchInput="searchForm.mixParam" @submit="search" @reset="reset" :isShow="true"
            placeholder="搜索关键字">
            <template v-slot:content>
               <div class="Search_item">
                  <div class="Search_item_label">计划日期</div>
                  <div class="Search_item_content" @click="isOpenDate = true">
                     <div class="Search_item_content_a" :style="searchForm.startDate ? 'color: #000;' : ''">
                        {{ searchForm.startDate ? searchForm.startDate : '开始日期'}}
                     </div>
                     <span>-</span>
                     <div class="Search_item_content_a" :style="searchForm.endDate ? 'color: #000;' : ''">
                        {{ searchForm.endDate ? searchForm.endDate : '结束日期'}}
                     </div>
                  </div>
               </div>
            </template>
         </v-Search>
         <div class="content_search_x"></div>
         <v-LableSelection :TagList="tagList" :isShow="true" @change="clickTag"></v-LableSelection>
      </div>
      <u-sticky>
         <view class="plr30 pb30 nav-style">
         <view class="plr30 pb30 nav-style bg_w">
            <view
               :style="{background: '#fff', zIndex: '999', paddingTop: `${statusbarHeight}px`, height: `${navHeight}px`, lineHeight:`${navHeight}px`, textAlign: 'center'}">
               待办</view>
            <view class="cY">
               <u-search placeholder="搜索关键字" bgColor="#f7f7f7" :showAction="false" @search="search"
                  shape="square" v-model="searchForm.mixParam"></u-search>
               <image src="../../static/filter@2x.png" class="img48 ml20" @click="filterAction" mode=""></image>
            </view>
            <view class="cY mt30 bg_w">
               <view v-for="item in tagList" :key="item.id" class="tag_item mr10"
                  :class="searchForm.status==item.id?'sbtn_green':'sbtn_black_rim'" @click="selectType(item.id)">
                  {{`${item.name}(${item.num})`}}
               </view>
            </view>
            <div class="content_search">
               <v-Search @searchInput="searchInput" @submit="search" @reset="reset" :isShow="true"
                  placeholder="搜索关键字">
               </v-Search>
               <div class="content_search_x"></div>
               <LabelSelection :TagList="tagList" :isShow="true" @change="clickTag"></LabelSelection>
            </div>
         </view>
      </u-sticky>
      <scroll-view v-if="projectList.length" scroll-y refresher-enabled="true" :refresher-triggered="triggered" @scrolltolower="loadMore"
      <scroll-view :style="{height: height}" v-if="projectList.length" scroll-y refresher-enabled="true" :refresher-triggered="triggered" @scrolltolower="loadMore"
         @refresherrefresh="refresh"
      >
         <view v-for="(item, index) in projectList" :key="index">
@@ -87,6 +64,8 @@
<script>
   import myTabbar from "@/components/myTabber.vue"
   import vSearch from '@/components/Search.vue'
   import LabelSelection from '@/components/LabelSelection.vue'
   import {
      getList,
      pageCount
@@ -96,10 +75,14 @@
   } from 'vuex'
   export default {
      components: {
         myTabbar
         myTabbar,
         vSearch,
         LabelSelection
      },
      data() {
         return {
            height: '',
            top: '',
            code: '',
            windowHeight: '',
            show: false,
@@ -175,6 +158,20 @@
         this.tagList[0].num = this.$store.state.upcomingNum.d
         this.tagList[1].num = this.$store.state.upcomingNum.y
      },
      onReady() {
         var that = this
         this.$nextTick(() => {
            uni.createSelectorQuery()
               .in(this)
               .select('.content_search')
               .boundingClientRect((rect) => {
                  console.log('-----',rect);
                  that.height = `calc(100vh - ${rect.height + 80}px)`
                  that.top = `${rect.height}px`
               })
               .exec()
         })
      },
      onLoad() {
         uni.getSystemInfo({
            success: res => {
@@ -184,6 +181,20 @@
         this.loadData()
      },
      methods: {
         // 搜索
         searchInput(val) {
            this.searchForm.mixParam = val;
            this.search();
            this.getPageCount()
         },
         getPageCount() {
            pageCount({mixParam: this.searchForm.mixParam})
               .then(res => {
                  this.tagList[0].num = res.data.startNum
                  this.tagList[1].num = res.data.endNum
               })
               .catch(err => {})
         },
         loadData() {
            getList({
                  model: this.searchForm,
@@ -215,7 +226,7 @@
            this.page.page += 1
            this.loadData()
         },
         selectType(status) {
         clickTag(status) {
            if (this.searchForm.status == status) return
            this.searchForm.status = status
            this.search()
@@ -519,4 +530,7 @@
      height: 52rpx;
      line-height: 52rpx;
   }
   .content_search_x {
      height: 24rpx;
   }
</style>