From c478bc1b36e38774cf01c02fd5e23858bd70a4a3 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 29 十一月 2023 13:42:46 +0800
Subject: [PATCH] #

---
 pages/business/plan/plan.vue |  229 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 199 insertions(+), 30 deletions(-)

diff --git a/pages/business/plan/plan.vue b/pages/business/plan/plan.vue
index a268727..573653a 100644
--- a/pages/business/plan/plan.vue
+++ b/pages/business/plan/plan.vue
@@ -1,45 +1,123 @@
 <template>
 	<view>
 		<!-- 鎼滅储妗� -->
+		<view class="status_bar">
+			<!-- 杩欓噷鏄姸鎬佹爮 -->
+		</view>
+		<uni-nav-bar left-icon="left" title="瑙勫垝鐢宠鍗�" @clickLeft="back" @clickRight="scan"  :fixed="true"
+			:border="false" rightWidth="160rpx" leftWidth="160rpx"
+			>
+			<block slot="right">
+				<view class="city">
+					<view>
+						<text class="uni-nav-bar-text">{{user.username}}</text>
+					</view>
+					<uni-icons type="arrowdown" color="#333333" size="20" />
+				</view>
+			</block>
+		 </uni-nav-bar>
+		<!-- 鎼滅储妗� -->
 		<view class="search-bg">
-			<uni-search-bar placeholder="瀹㈡埛浠e彿/鍚嶇О" bgColor="#f4f4f4"  @confirm="search" />
+			<u-search placeholder="杈撳叆" v-model="keyword" :clearabled="true" @custom="search()" @search="search()"></u-search>
 		</view>
 		<view>
 			<!-- 瀹㈡埛鍒楄〃 -->
-			<view class="c-list" @click="getDetails(item.id)" v-for="(item,index) in csmtrList" :key="index">
-				<view class="titles">
-					<y-title :title="item.name"></y-title>
+			<view class="c-list" v-for="(item,index) in csmtrList" :key="index">
+				<view class="titles" @click="getDetails(item.id)">
+					<view style="flex: 1;">
+						<y-title :title="item.name"></y-title>
+					</view>
+					<uni-icons class="opt-icon" type="right" size="20" color="#b9b9b9"></uni-icons>
 				</view>
 				<view style="display: grid;grid-template-columns: 1fr 3fr;">
-					<view class="list-item1">瀹㈡埛浠e彿</view><view class="list-item2">{{item.uuid}}</view>
-					<view class="list-item1">璇︾粏鍦板潃</view><view class="list-item2">{{item.addr}}</view>
-					<view class="list-item1">鐢佃瘽</view><view class="list-item2">{{item.tel}}</view>
-					<view class="list-item1">澶囨敞</view><view class="list-item2">{{item.remarks  ? item.remarks : '--'}}</view>
-					<view class="list-item1">瀹㈡埛绫诲埆</view><view class="list-item2">{{item.cstmrType$}}</view>
-					<view class="list-item1">鍒涘缓浜�</view><view class="list-item2">{{item.createBy$}}</view>
-					<view class="list-item1">鍒涘缓鏃堕棿</view><view class="list-item2">{{item.createTime$}}</view>
+					<view class="list-item1">ID</view><view class="list-item2">{{item.id}}</view>
+					<view class="list-item1">涓氬姟鍛�</view><view class="list-item2">{{item.userId$}}</view>
+					<view class="list-item1">涓氬姟绫诲瀷</view><view class="list-item2">{{item.planType$}}</view>
+					<view class="list-item1">瑙勫垝鍗曞彿</view><view class="list-item2">{{item.uuid}}</view>
+					<view class="list-item1">鎵�闇�</view><view class="list-item2">{{item.planNeed$}}</view>
+					<view class="list-item1">瑙勫垝鍛�</view><view class="list-item2">{{item.planner$}}</view>
+					<view class="list-item1">璺熻釜椤圭洰</view><view class="list-item2 color-main" 
+						@click="goDetls(item.orderId)">{{item.orderId$}}</view>
+					<view class="list-item1">鐢宠鏃ユ湡</view><view class="list-item2">{{item.appleTime$}}</view>
+					<view class="list-item1">杩涘害</view><view class="list-item2">{{item.settle$}}</view>
+					<view class="list-item1">鐘舵��</view><view class="list-item2">{{item.status$}}</view>
+					<view class="list-item1">淇敼浜�</view><view class="list-item2">{{item.updateBy$}}</view>
+					<view class="list-item1">鍏宠仈娴佺▼</view><view class="list-item2 color-main"
+						@click="lookAssistantPlan(item.id)">鏌ョ湅鍏宠仈娴佺▼</view>
+					<view class="list-item1">涓诲壇鏍囪</view><view class="list-item2">{{item.assistantHostSign$}}</view>
 				</view>
 			</view>
 		</view>
-		<uni-load-more :status="status" :icon-size="16" :content-text="contentText" />
+		<!-- <uni-load-more :status="status" :icon-size="16" :content-text="contentText" /> -->
+		<u-empty v-if="true" icon="../../../static/image/emptyList.png" v-show="csmtrList.length <= 0" />
 		<view>
-			<!-- 鏅�氬脊绐� -->
+			<!-- 娣诲姞寮圭獥 -->
 			<uni-popup ref="popup" background-color="#fff">
-				<view class="popup-content" :class="{ 'popup-height': type === 'left' || type === 'right' }">
+				<view class="popup-content">
 					<view>
 						<button v-for="item in planType" class="button btnn" type="primary" @click="add(item.value)">{{item.name}}</button>
 					</view>
 				</view>
 			</uni-popup>
 		</view>
+		
+		<view>
+			<!-- 鍏宠仈娴佺▼寮圭獥 -->
+			<uni-popup ref="assistantPlan">
+				<view class="popup-bottom">
+					<view style="height: 10rpx;"></view>
+					<!-- 瀹㈡埛鍒楄〃 -->
+					<view class="c-list" v-for="(item,index) in assCsmtr" :key="index">
+						<view class="titles" @click="getDetails(item.id)">
+							<view style="flex: 1;">
+								<y-title :title="item.name"></y-title>
+							</view>
+							<uni-icons class="opt-icon" type="right" size="20" color="#b9b9b9"></uni-icons>
+						</view>
+						<view style="display: grid;grid-template-columns: 1fr 3fr;">
+							<view class="list-item1">ID</view><view class="list-item2">{{item.id}}</view>
+							<view class="list-item1">涓氬姟鍛�</view><view class="list-item2">{{item.userId$}}</view>
+							<view class="list-item1">涓氬姟绫诲瀷</view><view class="list-item2">{{item.planType$}}</view>
+							<view class="list-item1">瑙勫垝鍗曞彿</view><view class="list-item2">{{item.uuid}}</view>
+							<view class="list-item1">鎵�闇�</view><view class="list-item2">{{item.planNeed$}}</view>
+							<view class="list-item1">瑙勫垝鍛�</view><view class="list-item2">{{item.planner$}}</view>
+							<view class="list-item1">璺熻釜椤圭洰</view><view class="list-item2 color-main" 
+								@click="goDetls(item.orderId)">{{item.orderId$}}</view>
+							<view class="list-item1">鐢宠鏃ユ湡</view><view class="list-item2">{{item.appleTime$}}</view>
+							<view class="list-item1">杩涘害</view><view class="list-item2">{{item.settle$}}</view>
+							<view class="list-item1">鐘舵��</view><view class="list-item2">{{item.status$}}</view>
+							<view class="list-item1">淇敼浜�</view><view class="list-item2">{{item.updateBy$}}</view>
+							<!-- <view class="list-item1">鍏宠仈娴佺▼</view><view class="list-item2 color-main"
+								@click="lookAssistantPlan(item.id)">鏌ョ湅鍏宠仈娴佺▼</view> -->
+							<view class="list-item1">涓诲壇鏍囪</view><view class="list-item2">{{item.assistantHostSign$}}</view>
+						</view>
+					</view>
+					<view style="height: 5rpx;"></view>
+				</view>
+			</uni-popup>
+		</view>
+		
+		<view style="height: 5rpx;"></view>
+		<view class="fxbtn">
+			<uni-icons type="plusempty" color="#fff" @click="gotoggle()" ></uni-icons>
+		</view>
 	</view>
 </template>
 
 <script>
+	import user from '@/pages/api/user/user.js'
 	export default { 
 		data() {
 			return {
+				keyword: '',
+				user: {
+					username: '',
+					id: 0,
+					type: 'user_id'
+				},
+				falg: true,
 				csmtrList: [],
+				assCsmtr: [],
 				last_id: '',
 				reload: false,
 				status: 'more',
@@ -75,38 +153,61 @@
 						name:'骞冲簱',
 						value: 6
 					},
+					{
+						name:'鍏朵粬',
+						value: 7
+					},
 				]
 			}
-		},
-		// 鏂板缓鎸夐挳浜嬩欢
-		onNavigationBarButtonTap(e) {
-			this.toggle('right')
-			// uni.navigateTo({
-			// 	url:'/pages/business/cstmr/addCsmtr',
-			// })
-			
 		},
 		onLoad() {
 			
 		},
 		onShow() {
+			let that = this
+			uni.$on('isRefresh',function(data){
+				that.user.username = data.title
+				that.user.id = data.id
+				that.user.type = data.key
+				that.falg = false
+			})
+			if (this.falg) {
+				this.getDetail()
+			}
 			setTimeout(()=> {
 				this.getCsmtr1()
-			},500)
+			},50)
 		},
 		onReachBottom() {
 			this.status = 'more';
 			this.getCsmtr()
 		},
 		methods: {
+			async getDetail() {
+				let res = await user.getDetail()
+				if (res.code === 200) {
+					this.user.username = res.data.username
+					this.user.id = res.data.id
+				} else if (res.code === 403) {
+					this.backLogin(res)
+				}
+			},
+			gotoggle() {
+				this.toggle('right')
+			},
 			add(val) {
-				let addPlan = 'addPlan'
+				let addPlan = 'addPlan',_this = this
 				if (val > 1) {
 					addPlan = 'addPlan' + val
 				}
 				uni.navigateTo({
 					url:'/pages/business/plan/' + addPlan,
+					success() {
+						_this.$refs.popup.close()
+					}
 				})
+				
+				
 			},
 			toggle(type) {
 				this.type = type
@@ -116,10 +217,19 @@
 			getCsmtr1(e) {
 				let that = this
 				that.csmtrList = []
+				uni.showLoading({})
+				let param = {curr:1,limit:4,dept_id: 0,user_id: 67}
+				if (this.user.type == 'user_id') {
+					param = {curr:1,limit:4,user_id: that.user.id}
+				} else if(this.user.type == 'dept_id') {
+					param = {curr:1,limit:4,dept_id: that.user.id}
+				} else {
+					param = {curr:1,limit:4}
+				}
 				uni.request({
 					url: that.baseUrl + '/plan/page/auth',
 					header: {'token' : uni.getStorageSync('token'),},
-					data: {curr:1,limit:4,deptId:19},
+					data: param,
 					method:'GET',
 					success(result) {
 						if (result.statusCode ===  404) {
@@ -152,14 +262,26 @@
 							});
 						}, 1000);
 					},
+					complete() {
+						uni.hideLoading()
+					}
 				})
 			},
 			getCsmtr() {
 				let that = this
+				uni.showLoading({})
+				let param = {curr:that.curr,limit:4,dept_id: 0,user_id: 67}
+				if (this.user.type == 'user_id') {
+					param = {curr:that.curr,limit:4,user_id: that.user.id}
+				} else if(this.user.type == 'dept_id') {
+					param = {curr:that.curr,limit:4,dept_id: that.user.id}
+				} else {
+					param = {curr:that.curr,limit:4}
+				}
 				uni.request({
 					url: that.baseUrl + '/plan/page/auth',
 					header: {'token' : uni.getStorageSync('token'),},
-					data: {curr:that.curr,limit:4},
+					data: param,
 					method:'GET',
 					success(result) {
 						if (result.statusCode ===  404) {
@@ -193,6 +315,9 @@
 							});
 						}, 1000);
 					},
+					complete() {
+						uni.hideLoading()
+					}
 				})
 			},
 			getDetails(id) {
@@ -200,10 +325,44 @@
 					url: '/pages/business/plan/planDetails?id=' + id
 				})
 			},
+			goDetls(id) {
+				uni.navigateTo({
+					url: '/pages/business/saleManage/saleManageDetails?id=' + id
+				})
+			},
+			lookAssistantPlan(id) {
+				let _this = this
+				uni.request({
+					url: `${_this.baseUrl}/plan/assistantPlan/view/auth`,
+					header: {'token' : uni.getStorageSync('token')},
+					data: {hostPlanId:id},
+					success(res) {
+						res = res.data 
+						if (res.code === 200) {
+							_this.assCsmtr = res.data.records
+							if (_this.assCsmtr.length > 0) {
+								_this.$refs.assistantPlan.open('bottom')
+							} else {
+								uni.showToast({title: '鏃犲叧鑱旀祦绋�', icon: "none", position: 'center'})
+							}
+							
+						}
+					}
+				})
+			},
 			// ---
 			search() {
 				
-			}
+			},
+			back() {
+				uni.navigateBack({
+				})
+			},
+			scan() {
+				uni.navigateTo({
+					url: '/pages/authority/authority'
+				})
+			},
 		}
 	}
 </script>
@@ -216,10 +375,17 @@
 		margin-top: 20px;
 	}
 	.popup-content {
+		width: 60vw;
+		margin-top: 260rpx;
 		display:  flex;
 		align-items: center;
 		justify-content: center;
 		background-color: #fff;
+	}
+	.popup-bottom {
+		height: 60vh;
+		background-color: #fff;
+		border-radius: 20rpx 20rpx 0 0;
 	}
 	.popup-height {
 		display: height;
@@ -240,21 +406,24 @@
 		margin-bottom: 20px;
 	}
 	.list-item1 {
-		
-		height: 45rpx;
+		min-height: 45rpx;
 		line-height: 45rpx;
 		color: #909399;
 		text-indent: 30rpx;
 	}
 	.list-item2 {
-		height: 45rpx;
+		min-height: 45rpx;
 		line-height: 45rpx;
 		color: black;
+	}
+	.color-main {
+		color: #55aaff
 	}
 	.titles {
 		padding-left: 10rpx;
 		text-indent: 5rpx;
 		margin-top: 10rpx;
+		display: flex;
 	}
 	/* .title {
 		height: 60rpx;

--
Gitblit v1.9.1