From b83ba3cc4687f21d744e9866e10e30e91229e8a4 Mon Sep 17 00:00:00 2001
From: queenwuli <942534046@qq.com>
Date: Thu, 28 Jan 2021 16:23:30 +0800
Subject: [PATCH] gx

---
 hive-app/pages/workbench/followRecords/index.vue |  109 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 79 insertions(+), 30 deletions(-)

diff --git a/hive-app/pages/workbench/followRecords/index.vue b/hive-app/pages/workbench/followRecords/index.vue
index bafbeeb..7ccfec3 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"
@@ -31,21 +31,21 @@
 				<image v-for="(op,index) in item.albums" @click="previewImg(item.albums,index)" class="content-img mr-10" :src="op.img"></image>
 			</view>
 			<view class="flex align-center justify-between mt-5 gray font-13">
-				<text>客户: {{item.vipName}}</text>
+				<navigator :url="'../../member/detail?id='+item.vipId" hover-class="none" style="padding-right: 50px;">客户: {{item.vipName}}</navigator>
 				<view class="flex align-center" v-if="item.nextNotifyTime">
 					<text class="iconfont iconzhong mr-5"></text>
 					<text>{{item.nextNotifyTime}}</text>
 				</view>
 			</view>
-			<view class="mt-5 gray font-13">
-				<text>订单:{{item.orderAbstract}}</text>
+			<view class="flex align-center justify-between mt-5 gray font-13">
+				<text style="padding-right: 50px;" @click="toOrder(item)">订单: {{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="blue-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,12 +137,12 @@
 			// #endif
 		},
 		onShow() {
-			this.reloadList()
+			this.reloadList(true)
 		},
 		onPullDownRefresh(){
-			this.reloadData();
+			this.reload();
 			let timer = setTimeout(function () {
-				uni.startPullDownRefresh();
+				uni.stopPullDownRefresh();
 				clearTimeout(timer);
 				timer = null;
 			}, 800);
@@ -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) => {
+					console.log(res.rows)
+					if(res.status == 200){
+						this.list = res.rows
+					}
+				})
 			},
 			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,24 @@
 				this.endTime = '';
 				this.staffList = [];
 				this.vipList = [];
-				this.reloadList();
+				this.reload();
 			},
 			changeFilter(data){
 				this.startTime = data.startTime;
 				this.endTime = data.endTime;
-				this.reloadList();
+				this.reload();
+			},
+			toOrder(item){
+				if(item.orderId){
+					uni.navigateTo({
+						url: '../orderDetail?orderId='+item.orderId
+					})
+				}
+				if(item.serviceId){
+					uni.navigateTo({
+						url: '../serviceOrderDetail?id='+item.serviceId
+					})
+				}
 			}
 		}
 	}
@@ -300,10 +349,15 @@
 		font-size: 13px;
 	}
 	.message-row{
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		right: 0;
 		display: flex;
 		align-items: center;
-		background: #F6F6F8;
+		background: #eee;
 		padding: 10px;
+		margin-bottom: var(–safe-area-inset-bottom);
 	}
 	.message-input{
 		flex: 1;
@@ -317,12 +371,7 @@
 	.message-btn{
 		margin: 0;
 		line-height: 30px;
-		border-radius: 0;
+		border-radius: 2px;
 		font-size: 14px;
-	}
-	uni-button[disabled]:not([type]), uni-button[disabled][type=default]{
-		color: #FFFFFF;
-		background-color: rgb(31 183 19 / 0.4);
-		border: 0;
 	}
 </style>

--
Gitblit v1.9.1