From 77bb088d2a1bd0092b0fba5ccd24ceccbfe95606 Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Sat, 23 Dec 2023 19:22:13 +0800
Subject: [PATCH] 修复优化部分问题

---
 subPackage/workbench/views/cscj.vue |  193 +++++++++++++++++++++++++++---------------------
 1 files changed, 109 insertions(+), 84 deletions(-)

diff --git a/subPackage/workbench/views/cscj.vue b/subPackage/workbench/views/cscj.vue
index ad90a23..361994d 100644
--- a/subPackage/workbench/views/cscj.vue
+++ b/subPackage/workbench/views/cscj.vue
@@ -16,26 +16,40 @@
 					</view>
 					<u-form-item class="form-item" labelWidth="100" label="场所名称:" :required="isRequiredPlace"
 						:disabled="isDisabled" prop="placeName">
-						<u--input border="none" v-model="form.placeName" placeholder="请输入">
+						<u--input  v-if="!currentId" border="none" v-model="form.placeName" placeholder="请输入">
 						</u--input>
+						<view class="f-30"  v-if="currentId">
+							{{form.placeName || "暂无数据"}}
+						</view>
 					</u-form-item>
 
 					<u-form-item @click="popup" class="form-item" labelWidth="100" label="标签:" :required="isRequired"
 						:disabled="isDisabled" prop="label">
-						<u--input border="none" disabled disabledColor="#ffffff" placeholder="请选择">
+						<u--input border="none"  v-model="categoryValue"  disabled disabledColor="#ffffff" placeholder="请选择">
 						</u--input>
-						<u-icon slot="right" name="arrow-right"></u-icon>
+						<u-icon slot="right" name="arrow-right"  v-if="!currentId"></u-icon>
 					</u-form-item>
-					<view v-if="showLabelList.length" class="label" style="border-bottom:1px solid eff1f3;">
+					<!-- <view v-if="showLabelList.length" class="label" style="border-bottom:1px solid eff1f3;">
 						<view v-for="(item,index) in showLabelList" :key="index" class="activeLabel">
 							<u-tag :closable="currentId?false:true" :show="!item.isClose" size="mini"
 								@close="delTag(item)" :text="item.text"></u-tag>
 						</view>
-					</view>
-
+					</view> -->
+					
+					<!-- <view v-if="categoryValue.length" class="label" style="border-bottom:1px solid eff1f3;">
+						<view v-for="(item,index) in categoryValue" :key="index" class="activeLabel">
+							<u-tag :closable="currentId?false:true"  size="mini"
+								@close="delTag()" :text="item.categoryName"></u-tag>
+						</view>
+					</view> -->
+					
 					<u-form-item class="form-item" labelWidth="100" label="备注:" prop="remark">
-						<u--input border="none" v-model="form.remark" placeholder="请输入">
+						<u--input  v-if="!currentId" border="none" v-model="form.remark" placeholder="请输入">
 						</u--input>
+						<view class="f-30"  v-if="currentId">
+							{{form.remark || "暂无数据"}}
+						</view>
+						
 					</u-form-item>
 
 					<!-- <u-form-item class="form-item" labelWidth="100" label="经纬度:" prop="location">
@@ -45,14 +59,14 @@
 
 
 					<u-form-item label="经纬度:" prop="location" labelWidth="100">
-						<view class="address-row flex">
+						<view class="address-row flex j-c-s-b a-i-c">
 							<view class="address-content f-28" v-if="form.jwd">
 								{{form.jwd}}
 							</view>
 							<view class="address-content f-28" v-if="!form.jwd" style="color: #c0c4cc;">
 								请选择地址
 							</view>
-							<view class="location-btn c-main f-24" @click="getLocation()">
+							<view class="location-btn c-main f-24" @click="getLocation()"  v-if="!currentId">
 								获取地址
 							</view>
 						</view>
@@ -97,7 +111,7 @@
 						<template slot="titleMore">
 							<view class="title-more">
 								<view class="red item"></view>
-								<view class="orange item">85.9</view>
+								<view class="orange item"></view>
 								<view class="green item"></view>
 							</view>
 						</template>
@@ -127,7 +141,7 @@
 						<template slot="titleMore">
 							<view class="title-more">
 								<view class="red item"></view>
-								<view class="orange item">85.9</view>
+								<view class="orange item"></view>
 								<view class="green item"></view>
 							</view>
 						</template>
@@ -152,11 +166,11 @@
 		</view>
 		<footer-btn @click="submit" v-if="!currentId" />
 
-		<uni-popup class="citys_win popup_win" ref="uniPopup" type="bottom">
+		<!-- <uni-popup class="citys_win popup_win" ref="uniPopup" type="bottom">
 			<wyh-tree-select :items="labelList" title="标签选择" :showNav="true" defaultActiveColor="#4586fe"
 				:activeIds="activeIds" @clickItem="labelClick" :showCancel="false" :showConfirm="false">
 			</wyh-tree-select>
-		</uni-popup>
+		</uni-popup> -->
 
 
 		<u-picker :show="showPicker" :defaultIndex="defaultIndex" ref="uPicker" keyName="name" :loading="pickerLoading"
@@ -164,8 +178,8 @@
 			@cancel="showPicker = false"></u-picker>
 
 
-		<u-picker :show="isShowCatePicker" ref="catePicker"  keyName="categoryName"  :columns="categoryList" @confirm="confirmCategory"
-			@change="changeCategory"    @cancel="isShowCatePicker = false"></u-picker>
+		<u-picker :show="isShowCatePicker"  :defaultIndex="categoryIndex"  ref="catePicker" keyName="categoryName" :columns="categoryList"
+			@confirm="confirmCategory" @change="changeCategory" @cancel="isShowCatePicker = false"></u-picker>
 
 
 	</view>
@@ -379,20 +393,20 @@
 				categoryIndex: [],
 				firstId: "",
 				secondId: "",
-				categoryValue:[]
+				categoryValue: []
 			}
 		},
-		watch: {
-			activeIds: {
-				handler(newVal) {
-					this.form.label = newVal.join(",")
-				}
-			},
-			"form.buildingCode": {
-				handler(newVal) {}
-			},
-			showLabelList(newVal) {}
-		},
+		// watch: {
+		// 	activeIds: {
+		// 		handler(newVal) {
+		// 			this.form.label = newVal.join(",")
+		// 		}
+		// 	},
+		// 	"form.buildingCode": {
+		// 		handler(newVal) {}
+		// 	},
+		// 	showLabelList(newVal) {}
+		// },
 
 		created() {
 			this.buildColumn()
@@ -410,7 +424,7 @@
 			if (option.addressType) {
 				this.addressType = option.addressType
 			}
-			if (option.id) {
+			if (option.id) {    
 				this.currentId = option.id
 			}
 			if (option.houseCode) {
@@ -425,36 +439,36 @@
 					title: '详情'
 				})
 			}
-			// this.getCategory();
-			
+			this.getCategory();
+
 		},
-	
+
 		onShow() {
 			this.getLabel()
 			// this.getLocation()
 		},
-		
-		watch:{
-			
-			firstId:{
-				handler(newVal,oldVal){
-					if(newVal){
-						this.getCategory(2,this.firstId);
+
+		watch: {
+
+			firstId: {
+				handler(newVal, oldVal) {
+					if (newVal) {
+						this.getCategory(3, this.firstId);
 					}
 				},
-				immediate:true
+				immediate: true
 			}
-		
+
 			// secondId:{
-   //              handler(newVal,oldVal){
+			//              handler(newVal,oldVal){
 			// 		this.getCategory(3,this.secondId);
 			// 	},				
 			// 	immediate:true
 			// }  
-			
+
 		},
-		
-		
+
+
 		methods: {
 			// getBuildingDetail(params = {}) {
 			// 	getDoorplateAddressDetail(Object.assign(params, {
@@ -502,36 +516,39 @@
 			// },
 
 			//获取分类
-			 getCategory(level = 1, id) {
+			getCategory(level = 2, id) {
 				let params = {
 					level
 				}
-				if (level != 1) {
+				if (level == 3) {
 					params.parentNo = id
 				}
 				getLabelCate(params).then(res => {
 					console.log(res)
 					if (res.code == 200) {
-						let index = level- 1;
-						this.$set(this.categoryList,index,res.data);
-						if(level == 1){
+						let index = level - 2;
+						this.$set(this.categoryList, index, res.data);
+						if (level == 2) {
 							this.firstId = res.data[0].categoryNo
 						}
 					}
 				})
 			},
 
-            //选择分类
+			//选择分类
 			confirmCategory(e) {
-               console.log("confirm=>",e)
-			   let {indexs,value} = e;
-			   this.categoryIndex = indexs; 
-			   this.categoryValue = value;
-			   this.form.label = value[value.length -1].id;
-			   this.isShowCatePicker = false;
+				console.log("confirm=>", e)
+				let {
+					indexs,
+					value
+				} = e;
+				this.categoryIndex = indexs;
+				this.categoryValue = value[value.length - 1].categoryName;
+				this.form.label = value[value.length - 1].categoryNo;
+				this.isShowCatePicker = false;
 			},
 
-            //切换分类
+			//切换分类
 			changeCategory(e) {
 				const {
 					columnIndex,
@@ -541,9 +558,9 @@
 					// 微信小程序无法将picker实例传出来,只能通过ref操作
 					picker = this.$refs.catePicker
 				} = e
-				
-				console.log("change=>",e)
-				
+
+				console.log("change=>", e)
+
 				// 当第一列值发生变化时,变化第二列(后一列)对应的选项
 				if (columnIndex === 0) {
 					// picker为选择器this实例,变化第二列对应的选项
@@ -553,9 +570,9 @@
 					// this.getCategory(2,this.firstId);
 				}
 				// else if ( columnIndex === 1){
-					// picker.setColumnValues(2, this.categoryList[index])
-					// this.secondId = e.value[columnIndex].categoryNo;
-					// this.getCategory(3,this.secondId)
+				// picker.setColumnValues(2, this.categoryList[index])
+				// this.secondId = e.value[columnIndex].categoryNo;
+				// this.getCategory(3,this.secondId)
 				// }
 			},
 
@@ -625,18 +642,26 @@
 						}
 					})
 
-
 					this.form.jwd = `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`
-
 					this.form.building = arr.join("")
-					setTimeout(() => {
-						data.placePoiLabelVOList.forEach(item => {
-							let label = this.labelList[0].children.find(sl => sl.text === item
-								.labelName) || {}
-							label['isClose'] = false
-							label?.text && this.showLabelList.push(label)
-						})
-					}, 500)
+					this.firstId = data.placePoiLabelVOList[0].poiCode;
+					// setTimeout(() => {
+					// 	data.placePoiLabelVOList.forEach(item => {
+					// 		let label = this.labelList[0].children.find(sl => sl.text === item
+					// 			.labelName) || {}
+					// 		label['isClose'] = false
+					// 		label?.text && this.showLabelList.push(label)
+					// 	})
+					// }, 500)
+					this.categoryValue = data.placePoiLabelVOList[data.placePoiLabelVOList.length-1].labelName;
+					uni.$u.sleep(500).then(() => {
+					   data.placePoiLabelVOList.forEach(item=>{
+					     let firstIndex = this.categoryList[0].findIndex(i => i.categoryNo==item.poiCode)
+					     let childIndex = this.categoryList[1].findIndex(i => i.categoryNo == item.poiCode)
+					     this.categoryIndex = [firstIndex,childIndex]
+					   })                      
+					})
+					
 					Object.keys(this.comprehensiveData).forEach(key => {
 						this.comprehensiveData[key].forEach(item => {
 							if (!data[item.name]) {
@@ -738,7 +763,7 @@
 						this.form.lat = res.latitude;
 						this.form.lng = res.longitude;
 						this.form.jwd =
-							`${Number(res.latitude).toFixed(6)},${Number(res.longitude).toFixed(6)}`
+							`${Number(res.longitude).toFixed(6)},${Number(res.latitude).toFixed(6)}`
 					}
 				})
 			},
@@ -813,10 +838,10 @@
 			},
 
 			//弹出层打开
-			 popup() {
-				this.$refs.uniPopup.open()
-				// this.isShowCatePicker = true;
-			
+			popup() {
+				// this.$refs.uniPopup.open()
+				this.isShowCatePicker = true;
+
 			},
 
 			getLabel() {
@@ -853,10 +878,12 @@
 				this.showLabelList.sort((a, b) => a.sort - b.sort)
 
 			},
-			delTag(label) {
-				label.isClose = true
-				this.showLabelList = this.showLabelList.filter(e => e.id != label.id)
-				this.activeIds = this.activeIds.filter(e => e != label.id)
+			delTag() {
+				// label.isClose = true
+				// this.showLabelList = this.showLabelList.filter(e => e.id != label.id)
+				// this.activeIds = this.activeIds.filter(e => e != label.id)
+				this.categoryIndex = [];
+				this.categoryValue = "";
 
 			},
 			imgPreview(value) {
@@ -983,8 +1010,6 @@
 
 	.address-row {
 		flex: 1;
-		justify-content: flex-end;
-		align-items: center;
 	}
 
 	.address-content {

--
Gitblit v1.9.3