From 6e54af776db885ad1a22ec582bdc97d7e1273c6c Mon Sep 17 00:00:00 2001 From: queenwuli <942534046@qq.com> Date: Wed, 13 Jan 2021 17:31:30 +0800 Subject: [PATCH] 系统优化 --- hive-app/pages/workbench/followRecords/index.vue | 75 ++++++++++++++++++++++++++++--------- 1 files changed, 56 insertions(+), 19 deletions(-) diff --git a/hive-app/pages/workbench/followRecords/index.vue b/hive-app/pages/workbench/followRecords/index.vue index bafbeeb..119ec2e 100644 --- a/hive-app/pages/workbench/followRecords/index.vue +++ b/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(); } } } -- Gitblit v1.9.1