From 3bc055f2ee9e813db0f08c5aefc4799be943f77f Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 23 十二月 2024 19:38:57 +0800
Subject: [PATCH] 添加选择机构功能

---
 pages/home/home.vue |   89 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 81 insertions(+), 8 deletions(-)

diff --git a/pages/home/home.vue b/pages/home/home.vue
index ab9a213..a7b8ab3 100644
--- a/pages/home/home.vue
+++ b/pages/home/home.vue
@@ -1,6 +1,22 @@
 <template>
 	<view>
+		<view class="box-bg">
+			<uni-nav-bar shadow left-icon="bars" title="涓婚〉" @clickLeft="selectLoc()" />
+		</view>
 		<scroll-view scroll-y class="page">
+			<view>
+				<uni-drawer ref="showLeft" mode="left" :width="320">
+					<view>
+						<view>
+							<uni-section title="鏈烘瀯閫夋嫨" type="line"></uni-section>
+						</view>
+						<uni-list v-for="(item, index) in hosts" :key="item.id">
+							<uni-list-item :title="item.name" clickable @click="itemClick(item)"></uni-list-item>
+						</uni-list>
+					</view>
+
+				</uni-drawer>
+			</view>
 			<view class="nav-list">
 				<navigator hover-class='none' :url="'/pages' + item.url" class="nav-li" navigateTo
 					:class="'bg-'+item.color" :style="[{animation: 'show ' + ((index+1)*0.2+1) + 's 1'}]"
@@ -22,9 +38,9 @@
 				baseUrl: '',
 				token: '',
 				icon: '',
+				hosts: [],
 				elements: [],
-				elements2: [
-					{
+				elements2: [{
 						title: '缁勬墭鍏ュ簱',
 						name: 'pakin',
 						color: 'cyan',
@@ -124,21 +140,73 @@
 					},
 
 				],
-				colorList: ['cyan','blue','mauve','pink','brown','red','orange','yellow','olive','olive','green','grey' ]
+				colorList: ['cyan', 'blue', 'mauve', 'pink', 'brown', 'red', 'orange', 'yellow', 'olive', 'olive', 'green',
+					'grey'
+				]
 			};
 		},
+
 		onShow() {
 			this.baseUrl = uni.getStorageSync('baseUrl');
 			this.token = uni.getStorageSync('token');
+
+			this.getCurrentHosts()
 			this.getAuth()
+
 		},
-		methods: {
+
+
+		methods: {
+			
+			
+			selectLoc() {
+				this.$refs['showLeft'].open()
+			},
+
+			closeDrawer() {
+				this.$refs['showLeft'].close()
+
+			},
+
+			itemClick(event) {
+				if (event != null && event.id != null) {
+					this.$refs['showLeft'].close()
+					uni.setStorageSync('hostId', event.id)
+				}	
+			},
+
+			getCurrentHosts() {
+				let that = this
+				uni.request({
+					url: that.baseUrl + '/pda/current/host',
+					data: {},
+					header: {
+						'token': uni.getStorageSync('token')
+					},
+					method: "GET",
+					success(res) {
+						let result = res.data
+						if (result.code == 200) {
+							that.hosts = result.data;
+							if (uni.getStorageSync('hostId') == null || uni.getStorageSync('hostId') == '') {
+								that.$refs['showLeft'].open()
+							}
+						}
+					},
+					fail(res) {
+
+					}
+				})
+			},
+
 			getAuth() {
 				let that = this
 				uni.request({
 					url: that.baseUrl + '/menu/pda/auth',
 					data: {},
-					header: { 'token': uni.getStorageSync('token') },
+					header: {
+						'token': uni.getStorageSync('token')
+					},
 					method: 'POST',
 					success(res) {
 						res = res.data
@@ -179,7 +247,7 @@
 									url: '../login/login'
 								});
 							}, 1000);
-						} else if(res.status === 404) {
+						} else if (res.status === 404) {
 							that.elements = that.elements2
 							// uni.showToast({
 							// 	title: '榛樿涓婚〉',
@@ -199,8 +267,9 @@
 					}
 				})
 			},
+
 			getIcon(e) {
-				const ways = ['pakin','orderPakin','orderPutOn']
+				const ways = ['pakin', 'orderPakin', 'orderPutOn']
 				if (ways.includes(e)) {
 					this.icon = 'pullup'
 				}
@@ -209,7 +278,11 @@
 	}
 </script>
 
-<style>
+<style>
+	.uni-section{
+		margin-top: 0rpx;
+	}
+	
 	.page {
 		height: 100vh;
 	}

--
Gitblit v1.9.1