queenwuli
2021-01-13 6e54af776db885ad1a22ec582bdc97d7e1273c6c
hive-app/pages/workbench/followRecords/index.vue
@@ -1,6 +1,6 @@
<template>
   <!-- 跟进记录 -->
   <view class="container" @click="isShowComments = false">
   <view class="container">
      <view>
         <h-tabs
            class="tab"
@@ -41,11 +41,11 @@
            <text>订单:{{item.orderAbstract}}</text>
         </view>
         <view class="right mt-5">
            <text class="iconfont" :class="item.zans && item.zans.indexOf(userInfo.id)>-1?'red iconxin1':'iconxin2'" @click="thumbsUp(item)"></text>
            <text class="iconfont" :class="item.zans && item.zans.indexOf(userInfo.id)>-1?'blue iconlove-b':'iconlove-b1'" @click="thumbsUp(item)"></text>
            <text class="iconfont iconliuyan1 ml-15"  @click.stop="showComment(item.id)"></text>
         </view>
         <view class="content-row-notes flex align-center blue" v-if="item.zanUsers && item.zanUsers.length">
            <text class="iconfont iconxin2 mr-10"></text>
            <text class="iconfont iconlove-b1 mr-10"></text>
            <text v-for="(op, i) in item.zanUsers">{{op.suName}}<text v-if="i!=item.zanUsers.length-1">,</text></text>
         </view>
         <view class="content-row-notes blue" v-if="item.followupComments && item.followupComments.length">
@@ -56,10 +56,12 @@
         <uni-load-more :status="loadStatus" color="#a5abaf"></uni-load-more>
      </view>
      <no-record :isShow="!list.length" txt="暂无跟进记录"></no-record>
      <view v-if="isShowComments" class="message-row" @click.stop="">
         <input type="text" v-model="comment" cursor-spacing="10" :focus="isShowComments" class="message-input" placeholder="评论" placeholder-class="placeholder"/>
         <button class="green-btn message-btn" :disabled="!comment" @click="addFollowupComment">发送</button>
      </view>
      <uni-popup ref="commentEl" type="bottom" :isShowMask="false">
         <view class="message-row">
            <input type="text" v-model="comment" :focus="true" class="message-input" placeholder="评论" placeholder-class="placeholder"/>
            <button class="green-btn message-btn" :disabled="!comment" @click="addFollowupComment">发送</button>
         </view>
      </uni-popup>
      <fillter :isShow="isShowFilter" :staffList="staffList" :vipList="vipList" @reset="resetFilter" @change="changeFilter"></fillter>
   </view>
</template>
@@ -68,8 +70,10 @@
   import HTabs from "@/components/liuyuno-tabs/liuyuno-tabs.vue";
   import fillter from './filter'
   import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
   import uniPopup from '../../../components/uni-popup/uni-popup'
   export default {
      components: {
         uniPopup,
          HTabs,
         fillter,
         uniLoadMore
@@ -93,7 +97,6 @@
         type: 1,
         list: [],
         imgIndex: 0,
         isShowComments:false,
         isShowFilter: false,
         pageNum: 0,
         loadStatus: 'more',
@@ -107,7 +110,7 @@
        }  
      },
      onNavigationBarButtonTap(e){
         if(e.index==0){
         if(e.width && e.index==0){
            uni.navigateTo({
               url:"./addRecord"
            })
@@ -122,7 +125,6 @@
            this.vipList.push(JSON.parse(options.selectInfo))
         }
         this.getUserInfo()
         this.reloadList()
         
         // 判断权限
         // #ifdef APP-PLUS
@@ -135,10 +137,10 @@
         // #endif
      },
      onShow() {
         this.reloadList()
         this.reloadList(true)
      },
      onPullDownRefresh(){
         this.reloadData();
         this.reload();
         let timer = setTimeout(function () {
            uni.startPullDownRefresh();
            clearTimeout(timer);
@@ -155,10 +157,38 @@
               this.userInfo = roleInfo;
            }
         },
         reloadList(){
         // 重新加载数据, 重置分页参数
         reload(){
            this.pageNum = 0;
            this.loadStatus = 'more';
            this.loadList(true)
         },
         // 重新加载数据, 不重置分页参数
         reloadList(isNeedAdd){
            if(!this.list.length){
               this.loadList();
               return;
            }
            let staffIds = this.staffList.map((item) => {
               return item.id;
            });
            let vipIds = this.vipList.map((item) => {
               return item.id;
            });
            this.$httpUtils.request('/api/followup/findFollowup', {
               startTime: this.startTime,
               endTime: this.endTime,
               limit: isNeedAdd?this.list.length+1:this.list.length,
               offset: 0,
               queryType: this.type,
               staffIds: staffIds,
               vipIds: vipIds
            }, 'POST').then((res) => {
               if(res.status == 200){
                  this.list = res.rows
               }
            })
            console.log(Math.floor(this.list.length/10))
         },
         loadList(isRest){
            if(this.loadStatus!=='more'){
@@ -184,7 +214,7 @@
                  if(result.length < 10){
                     this.loadStatus = 'noMore';
                  } else {
                     this.pageNum ++ ;
                     this.pageNum = this.pageNum + 10;
                     this.loadStatus = 'more';
                  }
                  if(isRest){
@@ -197,7 +227,7 @@
         },
         changeType(index){
            this.type = index+1;
            this.reloadList()
            this.reload()
         },
         // 预览图片
         previewImg(imgList, index) {
@@ -224,22 +254,29 @@
         },
         // 评论
         addFollowupComment(){
            if(this.isRequesting){
               return;
            }
            this.isRequesting = true;
            this.$httpUtils.request('/api/followup/addFollowupComment', {
               follId: this.follId,
               content: this.comment
            }, 'POST').then((res) => {
               if(res.status == 200){
                  this.reloadList();
                  this.isShowComments = false;
                  this.$refs.commentEl.close();
                  this.comment = '';
               }else{
                  this.$toast.info(res.info)
               }
               this.isRequesting = false;
            }).catch((err) => {
               this.isRequesting = false;
            })
         },
         showComment(id){
            this.follId = id;
            this.isShowComments=true;
            this.$refs.commentEl.open();
         },
         setData(selectItem){
            let pages = getCurrentPages();
@@ -256,12 +293,12 @@
            this.endTime = '';
            this.staffList = [];
            this.vipList = [];
            this.reloadList();
            this.reload();
         },
         changeFilter(data){
            this.startTime = data.startTime;
            this.endTime = data.endTime;
            this.reloadList();
            this.reload();
         }
      }
   }