From c51a11039f7e82695877e7d4face1006be63d6cc Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Tue, 27 Feb 2024 17:33:59 +0800
Subject: [PATCH] 场所检查页面调整

---
 subPackage/workbench/views/editCscj.vue      |    3 
 pages/home/index.vue                         |    8 +
 subPackage/workbench/views/cscj.vue          |   57 +++++++---
 common/setting.js                            |    4 
 subPackage/house/houseNumber/siteInspect.vue |  212 +++++++++++++++++++++++++++++++++++++++++
 5 files changed, 259 insertions(+), 25 deletions(-)

diff --git a/common/setting.js b/common/setting.js
index 1fe3904..97a0c9e 100644
--- a/common/setting.js
+++ b/common/setting.js
@@ -10,8 +10,8 @@
 	version: '2.0.0',
 	// 开发环境接口Url
 	// devUrl: 'http://z4042833u6.wicp.vip',
-	// devUrl: 'http://192.168.2.109:9528',
-	devUrl: 'https://srgdjczzxtpt.com:2080/api',
+	devUrl: 'http://192.168.2.140:9528',
+	// devUrl: 'https://srgdjczzxtpt.com:2080/api',
 	// devUrl: 'https://kt39592615.goho.co',
 	minioBaseUrl: "https://srgdjczzxtpt.com:2080/gminio/jczz/",
 	// minioBaseUrl: "http://192.168.0.101:9528/",
diff --git a/pages/home/index.vue b/pages/home/index.vue
index 499b8f8..0843bea 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -114,6 +114,14 @@
 							<text class="grid-text f-24 fw mt-10">{{item.name}}</text>
 						</view>
 					</u-grid-item>
+					<!-- <u-grid-item @click="navigatorPage('/subPackage/house/houseNumber/siteInspect')"
+						:customStyle="{paddingTop:20+'rpx'}">
+						<view class="grid-item flex f-d-c a-i-c"
+							style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
+							<u-icon name="/static/icon/menu-02.png" width="60rpx" height="60rpx"></u-icon>
+							<text class="grid-text f-24 fw mt-10">场所检查</text>
+						</view>
+					</u-grid-item> -->
 				</u-grid>
 			</view>
 
diff --git a/subPackage/house/houseNumber/siteInspect.vue b/subPackage/house/houseNumber/siteInspect.vue
index 56f2fa2..9d326be 100644
--- a/subPackage/house/houseNumber/siteInspect.vue
+++ b/subPackage/house/houseNumber/siteInspect.vue
@@ -1,5 +1,50 @@
 <template>
 	<view class="wrap">
+
+
+		<view class="info mt-20 bgc-ff" v-if="from == 'home'">
+			<view class="info-row flex j-c-s-b a-i-c" @click="isShowPopup = true">
+				<text class="f-28">场所名称</text>
+				<view class="flex">
+					<text class="mr-10">{{selectedPlace.placeName}}</text>
+					<u-icon name="arrow-right"></u-icon>
+				</view>
+			</view>
+
+			<block v-if="selectedPlace.houseCode">
+				<view class="info-row flex j-c-s-b a-i-c">
+					<text class="f-28">场所标签</text>
+					<text>{{categoryValue}}</text>
+				</view>
+				<view class="info-row flex j-c-s-b a-i-c">
+					<text class="f-28">九小场所</text>
+					<text>{{selectedPlace.isNine == 1?"是":"否"}}</text>
+				</view>
+				<view class="info-row flex j-c-s-b a-i-c" v-if="selectedPlace.isNine == 1">
+					<text class="f-28">九小场所类型</text>
+					<text>{{nineTypeValue}}</text>
+				</view>
+				<view class="info-row flex j-c-s-b a-i-c">
+					<text class="f-28">场所负责人</text>
+					<text>{{selectedPlace.principal}}</text>
+				</view>
+				<view class="info-row flex j-c-s-b a-i-c">
+					<text class="f-28">手机号</text>
+					<text>{{selectedPlace.principalPhone}}</text>
+				</view>
+				<view class="info-row flex j-c-s-b a-i-c">
+					<text class="f-28">身份证号</text>
+					<text>{{selectedPlace.principalIdCard}}</text>
+				</view>
+				<view class="info-row flex j-c-s-b a-i-c">
+					<text class="f-28">标准地址</text>
+					<text class="info-row-right">{{selectedPlace.location}}</text>
+				</view>
+			</block>
+
+		</view>
+
+
 		<view class="section mb-20">
 			<u-collapse :value="itemIndex" ref="collapse">
 				<u-collapse-item :title="item.title" :name="index" v-for="(item,index)  in questionList">
@@ -123,6 +168,33 @@
 			</view>
 		</u-popup>
 
+
+
+		<u-popup :show="isShowPopup" mode="bottom" :round="10" closeable="true" @close="isShowPopup = false">
+			<view class="popup-content">
+				<view class="popup-title f-30">选择场所</view>
+				<u-search placeholder="请输入场所名称" :showAction="true" actionText="搜索" :animation="true" v-model="placeName"
+					@search="searchPlace" @custom="searchPlace" @clear="clearKeyword"></u-search>
+				<scroll-view class="popup-list" :scroll-y="true">
+					<view class="popup-list-item" v-for="(i,k) in placeList" :key="k" @click="selectPlace(i)">
+						<view class="flex a-i-c mb-10">
+							<text class="f-28 fw mr-20">{{i.placeName}}</text>
+							<text class="f-26" v-if="i.phoneNumber">{{i.phoneNumber}}</text>
+						</view>
+						<!-- 
+						<view class="f-28">
+							{{i.townStreetName}}{{i.neiName}}{{i.aoiName}}{{i.address || ""}}
+						</view> -->
+						<view class="check-icon" v-if="i.houseCode == info.houseCode">
+							<u-icon name="checkbox-mark" color="#017BFC" size="30"></u-icon>
+						</view>
+
+
+					</view>
+				</scroll-view>
+			</view>
+		</u-popup>
+
 		<view class="blank"></view>
 	</view>
 </template>
@@ -131,8 +203,14 @@
 	import uploadMixin from "@/mixin/uploadMixin";
 	import {
 		addPlaceCheckTwo,
-		getPlaceCheckItem
+		getPlaceCheckItem,
+		getLocationRecord,
+		getPlaceDetail
 	} from "@/api/place/place.js"
+	import {
+		bizDictionary,
+		bizDictionaryTree
+	} from '@/api/system/dict.js'
 	export default {
 		mixins: [uploadMixin],
 		data() {
@@ -185,17 +263,68 @@
 				],
 				time: Number(new Date()),
 				showSelectDate: false,
-				dangerCount: 0 //隐患项数量
+				dangerCount: 0, //隐患项数量
+				isShowPopup: false,
+				placeList: [],
+				placeName: "",
+				selectedPlace: {},
+				nineTypeValue: "",
+				from: "",
+				categoryValue: ""
 
 			}
 		},
 		onLoad(option) {
-			this.info.houseCode = option.code;
-			this.info.placeName = option.name;
+			if (option.code) {
+				this.info.houseCode = option.code;
+				this.info.placeName = option.name;
+			} else {
+				this.from = "home"
+				this.getPlaceList();
+			}
+
 			this.getItem();
+
 		},
 
 		methods: {
+
+			getNineTypeList(callback) {
+				bizDictionaryTree({
+					code: "nineType"
+				}).then(res => {
+					console.log(res.data);
+					callback(res.data)
+				})
+			},
+
+			getPlaceList() {
+				getLocationRecord({
+					roleName: uni.getStorageSync('activeRole').roleName,
+					current: 1,
+					size: 10,
+					isPerfect: 2,
+					placeName: this.placeName
+				}).then(res => {
+					this.placeList = res.data.records;
+				})
+			},
+
+
+			getPlaceInfo(id) {
+				getPlaceDetail({
+					id
+				}).then(res => {
+					let labelList = res.data.placePoiLabelVOList;
+					let tempLabelList = [];
+					for (let i of labelList) { //过滤一级数据
+						if (i.type != 1) {
+							tempLabelList.push(i)
+						}
+					}
+					this.categoryValue = tempLabelList[1].labelName;
+				})
+			},
 
 
 			getItem() {
@@ -220,6 +349,33 @@
 					this.count = count;
 					this.itemIndex = arr;
 				})
+			},
+
+
+
+			searchPlace() {
+				this.getPlaceList()
+			},
+
+			clearKeyword() {
+				this.placeName = ""
+				this.getPlaceList()
+			},
+
+			selectPlace(item) {
+				this.selectedPlace = item;
+				this.info.houseCode = item.houseCode;
+				this.isShowPopup = false;
+				this.getPlaceInfo(item.id);
+				if (item.isNine == 1) {
+					this.getNineTypeList(res => {
+						let {
+							name
+						} = this.$getIndex(res, item.nineType, "key", "title");
+						this.nineTypeValue = name;
+					})
+				}
+
 			},
 
 			changeStatus(value, item, fIndex, cIndex) {
@@ -408,6 +564,26 @@
 			margin: 20rpx 20rpx 0;
 			background-color: #fff;
 		}
+
+		.info {
+			margin: 20rpx 20rpx 0;
+			padding: 0 40rpx;
+
+			.info-row {
+				padding: 20rpx 0;
+				border-bottom: 1px solid #f5f5f5;
+
+			}
+
+			.info-row:last-child {
+				border: none;
+			}
+
+			.info-row-right {
+				width: 70%;
+				text-align: right;
+			}
+		}
 	}
 
 	.top {
@@ -545,4 +721,32 @@
 		width: 100%;
 		height: 140rpx;
 	}
+
+	.popup-content {
+		width: 100%;
+		padding: 0 30rpx 30rpx;
+		box-sizing: border-box;
+
+		.popup-title {
+			padding: 30rpx 0;
+			text-align: center;
+			font-weight: bold;
+		}
+
+		.popup-list {
+			height: 650rpx;
+		}
+
+		.popup-list-item {
+			padding: 20rpx 0;
+			border-bottom: 1px solid #f1f1f1;
+			position: relative;
+		}
+
+		.check-icon {
+			position: absolute;
+			right: 20rpx;
+			top: 20rpx;
+		}
+	}
 </style>
\ No newline at end of file
diff --git a/subPackage/workbench/views/cscj.vue b/subPackage/workbench/views/cscj.vue
index 8b7d3aa..a4ee605 100644
--- a/subPackage/workbench/views/cscj.vue
+++ b/subPackage/workbench/views/cscj.vue
@@ -21,12 +21,18 @@
 						</view>
 					</u-form-item>
 
-					<u-form-item @click="popup" class="form-item" labelWidth="100" label="标签:" :required="true"
-						:disabled="isDisabled" prop="label">
-						<u-input border="none" v-model="categoryValue" disabled disabledColor="#ffffff"
-							placeholder="请选择">
-						</u-input>
-						<u-icon slot="right" name="arrow-right"></u-icon>
+					<u-form-item class="form-item" labelWidth="100" label="标签:" :required="true" :disabled="isDisabled"
+						prop="label">
+						<view class="flex j-c-s-b a-i-c" @click="popup" v-if="!currentId">
+							<u-input border="none" v-model="categoryValue" disabled disabledColor="#ffffff"
+								placeholder="请选择">
+							</u-input>
+							<u-icon slot="right" name="arrow-right"></u-icon>
+						</view>
+						<view class="f-30" v-if="currentId">
+							{{categoryValue}}
+						</view>
+
 					</u-form-item>
 					<u-form-item label="九小场所:" labelWidth="100" prop="isNine" :required="isRequired">
 						<u-radio-group v-model="form.isNine" v-if="!currentId">
@@ -38,12 +44,18 @@
 							{{form.isNine == 1?"是":"否"}}
 						</view>
 					</u-form-item>
-					<u-form-item v-if="form.isNine == 1" @click="showNineTypeSelector" class="form-item"
-						labelWidth="100" label="九小场所类型:" :required="isRequired" :disabled="isDisabled" prop="nineType">
-						<u-input border="none" v-model="nineTypeValue" disabled disabledColor="#ffffff"
-							placeholder="请选择">
-						</u-input>
-						<u-icon slot="right" name="arrow-right"></u-icon>
+					<u-form-item v-if="form.isNine == 1" class="form-item" labelWidth="100" label="九小场所类型:"
+						:required="isRequired" :disabled="isDisabled" prop="nineType">
+						<view class="flex j-c-s-b a-i-c" v-if="!currentId" @click="showNineTypeSelector">
+							<u-input border="none" v-model="nineTypeValue" disabled disabledColor="#ffffff"
+								placeholder="请选择">
+							</u-input>
+							<u-icon slot="right" name="arrow-right"></u-icon>
+						</view>
+						<view class="f-30" v-if="currentId">
+							{{nineTypeValue}}
+						</view>
+
 					</u-form-item>
 					<u-form-item label="阵地:" labelWidth="100" prop="isFront" :required="isRequired">
 						<u-radio-group v-model="form.isFront" v-if="!currentId">
@@ -55,12 +67,18 @@
 							{{form.isFront == 1?"是":"否"}}
 						</view>
 					</u-form-item>
-					<u-form-item v-if="form.isFront == 1" @click="showFrontTypePicker = true" class="form-item"
-						labelWidth="100" label="阵地类型:" :required="isRequired" :disabled="isDisabled" prop="frontType">
-						<u-input border="none" v-model="frontTypeValue" disabled disabledColor="#ffffff"
-							placeholder="请选择">
-						</u-input>
-						<u-icon slot="right" name="arrow-right"></u-icon>
+					<u-form-item v-if="form.isFront == 1" class="form-item" labelWidth="100" label="阵地类型:"
+						:required="isRequired" :disabled="isDisabled" prop="frontType">
+						<view class="flex j-c-s-b a-i-c" @click="showFrontTypePicker = true" v-if="!currentId">
+							<u-input border="none" v-model="frontTypeValue" disabled disabledColor="#ffffff"
+								placeholder="请选择">
+							</u-input>
+							<u-icon slot="right" name="arrow-right"></u-icon>
+						</view>
+						<view class="f-30" v-if="currentId">
+							{{frontTypeValue}}
+						</view>
+
 					</u-form-item>
 
 					<u-form-item class="form-item" labelWidth="100" label="备注:" prop="remark">
@@ -916,6 +934,9 @@
 					this.$showTips("请选择阵地类型")
 					return
 				}
+
+				this.form.lng = Number(this.form.lng).toFixed(8)
+				this.form.lat = Number(this.form.lat).toFixed(8)
 				delete this.form.images;
 				add(this.form).then(res => {
 					uni.showToast({
diff --git a/subPackage/workbench/views/editCscj.vue b/subPackage/workbench/views/editCscj.vue
index 9b71b5d..4896d91 100644
--- a/subPackage/workbench/views/editCscj.vue
+++ b/subPackage/workbench/views/editCscj.vue
@@ -841,9 +841,10 @@
 					this.$showTips("请选择阵地类型")
 					return
 				}
+				this.form.lng = Number(this.form.lng).toFixed(8)
+				this.form.lat = Number(this.form.lat).toFixed(8)
 
 				delete this.form.images;
-
 				add(this.form).then(res => {
 					this.$showTips("提交成功", "success");
 					setTimeout(() => {

--
Gitblit v1.9.3