From e6a02c8b09a796e436a501e9b87d19e25c34c9d1 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期日, 07 四月 2024 15:53:37 +0800
Subject: [PATCH] #

---
 pages/business/plan/plan.vue |  282 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 253 insertions(+), 29 deletions(-)

diff --git a/pages/business/plan/plan.vue b/pages/business/plan/plan.vue
index eec1a73..2b69ffb 100644
--- a/pages/business/plan/plan.vue
+++ b/pages/business/plan/plan.vue
@@ -1,46 +1,124 @@
 <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">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">{{item.cstmrId$}}</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.createTime$}}</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>
+		<uni-load-more :status="status" :icon-size="16" :content-text="contentText" />
 	</view>
 </template>
 
 <script>
+	import user from '@/pages/api/user/user.js'
 	export default { 
 		data() {
 			return {
+				keyword: '',
+				user: {
+					username: '',
+					id: 0,
+					type: ''
+				},
+				falg: true,
 				csmtrList: [],
+				assCsmtr: [],
 				last_id: '',
 				reload: false,
 				status: 'more',
@@ -76,53 +154,84 @@
 						name:'骞冲簱',
 						value: 6
 					},
-				]
+					{
+						name:'鍏朵粬',
+						value: 7
+					},
+				],
+				param: {curr:1,limit:4}
 			}
-		},
-		// 鏂板缓鎸夐挳浜嬩欢
-		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)
+				this.getList()
+			},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
 				// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴��
 				this.$refs.popup.open(type)
 			},
-			getCsmtr1(e) {
+			getList() {
 				let that = this
 				that.csmtrList = []
+				uni.showLoading()
+				if (this.user.type == 'user_id') {
+					that.param = {curr:1,limit:4,user_id: that.user.id}
+				} else if(this.user.type == 'dept_id') {
+					that.param = {curr:1,limit:4,dept_id: that.user.id}
+				} 
 				uni.request({
 					url: that.baseUrl + '/plan/page/auth',
 					header: {'token' : uni.getStorageSync('token'),},
-					data: {curr:1,limit:4,deptId:19},
+					data: that.param,
 					method:'GET',
 					success(result) {
+						console.log(result);
 						if (result.statusCode ===  404) {
 							uni.showToast({title: '璇烽噸鏂扮櫥褰�', icon: "none", position: 'top'})
 							return
@@ -153,16 +262,84 @@
 							});
 						}, 1000);
 					},
+					complete() {
+						uni.hideLoading()
+					}
+				})
+			},
+			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}
+				}
+				param = {curr:1,limit:4}
+				uni.request({
+					url: that.baseUrl + '/plan/page/auth',
+					header: {'token' : uni.getStorageSync('token'),},
+					data: param,
+					method:'GET',
+					success(result) {
+						console.log(result);
+						if (result.statusCode ===  404) {
+							uni.showToast({title: '璇烽噸鏂扮櫥褰�', icon: "none", position: 'top'})
+							return
+						}
+						var res = result.data
+						if (res.code === 200) {
+							let list = res.data.records
+							that.csmtrList = that.reload ? list : that.csmtrList.concat(list);
+							if (res.data.records.length == 0) {
+								that.status = 'noMore'
+							}
+						} else if (res.code === 403) {
+							uni.showToast({title: res.msg, icon: "none", position: 'top'})
+							setTimeout(() => {
+								uni.reLaunch({
+									url: '../../login/login'
+								});
+							}, 1000);
+						} else {
+							uni.showToast({title: res.msg, icon: "none",position: 'top'})
+						}
+					},
+					fail(result) {
+						uni.showToast({title: '璇锋眰澶辫触'})
+						setTimeout(() => {
+							uni.reLaunch({
+								url: '../../login/login'
+							});
+						}, 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) {
+						console.log(result);
 						if (result.statusCode ===  404) {
 							uni.showToast({title: '璇烽噸鏂扮櫥褰�', icon: "none", position: 'top'})
 							return
@@ -171,7 +348,10 @@
 						if (res.code === 200) {
 							let list = res.data.records
 							that.csmtrList = that.reload ? list : that.csmtrList.concat(list);
-							that.curr = that.curr + 1
+							console.log(list);
+							if (list.length > 0) {
+								that.curr = that.curr + 1
+							}
 							if (res.data.records.length == 0) {
 								that.status = 'noMore'
 							}
@@ -194,6 +374,9 @@
 							});
 						}, 1000);
 					},
+					complete() {
+						uni.hideLoading()
+					}
 				})
 			},
 			getDetails(id) {
@@ -201,10 +384,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>
@@ -217,10 +434,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;
@@ -241,14 +465,13 @@
 		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;
 	}
@@ -259,6 +482,7 @@
 		padding-left: 10rpx;
 		text-indent: 5rpx;
 		margin-top: 10rpx;
+		display: flex;
 	}
 	/* .title {
 		height: 60rpx;

--
Gitblit v1.9.1