From fdef23064b801a06bbf369785dbbc14db14b707f Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 22 Mar 2024 17:15:53 +0800
Subject: [PATCH] 回滚代码至2月28日

---
 subPackage/workbench/views/editCscj.vue |  441 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 298 insertions(+), 143 deletions(-)

diff --git a/subPackage/workbench/views/editCscj.vue b/subPackage/workbench/views/editCscj.vue
index 4896d91..d5749ef 100644
--- a/subPackage/workbench/views/editCscj.vue
+++ b/subPackage/workbench/views/editCscj.vue
@@ -71,10 +71,22 @@
 								@close="delTag()" :text="item.categoryName"></u-tag>
 						</view>
 					</view> -->
+
+					<u-form-item label="三级消防单位" labelWidth="100" prop="threeFireProtection" :required="isRequired">
+						<u-radio-group v-model="form.threeFireProtection" v-if="!currentId">
+							<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList"
+								:key="index" :label="item.name" :name="item.id">
+							</u-radio>
+						</u-radio-group>
+						<view class="f-30" v-if="currentId">
+							{{form.threeFireProtection == 1?"否":"是"}}
+						</view>
+					</u-form-item>
 					<u-form-item class="form-item" labelWidth="100" label="备注:" prop="remark">
 						<u--input border="none" v-model="form.remark" placeholder="请输入">
 						</u--input>
 					</u-form-item>
+
 
 					<u-form-item label="经纬度:" prop="location" labelWidth="100">
 						<view class="address-row flex j-c-s-b a-i-c">
@@ -96,6 +108,28 @@
 						</view>
 					</u-form-item>
 
+				</view>
+				<view class="item">
+					<view class="box-title">
+						<box-title title="法人信息"></box-title>
+					</view>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="姓名:" prop="legalPerson">
+						<u--input border="none" v-model="form.placeExtEntity.legalPerson" placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="身份证号:" prop="legalIdCard">
+						<u--input border="none" type="idcard" v-model="form.placeExtEntity.legalIdCard"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="手机号:" prop="legalTel">
+						<u--input border="none" type="number" v-model="form.placeExtEntity.legalTel" placeholder="请输入">
+						</u--input>
+					</u-form-item>
 				</view>
 
 				<view class="item">
@@ -119,6 +153,38 @@
 					</u-form-item>
 				</view>
 
+
+				<view class="item">
+					<view class="box-title">
+						<box-title title="房东信息"></box-title>
+					</view>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="姓名:" prop="landlordName">
+						<u--input border="none" v-model="form.placeExtEntity.landlordName" placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="身份证号:" prop="landlordIdCard">
+						<u--input border="none" type="idcard" v-model="form.placeExtEntity.landlordIdCard"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="手机号:" prop="landlordPhone">
+						<u--input border="none" type="number" v-model="form.placeExtEntity.landlordPhone"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="微信号:" prop="landlordWxAccount">
+						<u--input border="none" v-model="form.placeExtEntity.landlordWxAccount" placeholder="请输入">
+						</u--input>
+					</u-form-item>
+				</view>
+
+
+
+
 				<view class="item pic">
 					<view class="box-title">
 						<box-title title="场所照片"></box-title>
@@ -130,6 +196,87 @@
 					</u-upload>
 				</view>
 			</u-form>
+
+			<view class="practitioner">
+				<view style="padding:20rpx 30rpx;">
+					<box-title title="从业人员信息"></box-title>
+				</view>
+				<view class="info" v-for="(item, index) in personNumArr" :key="index">
+					<view class="flex a-i-c j-c-s-b" style="padding:20rpx;">
+						<view class="title fw" style="text-align:center;">人员信息-#{{ index*1 + 1 }}</view>
+						<view>
+							<u-icon name="trash-fill" color="#ff0000" size="20" @click="deletePerson(index)" />
+						</view>
+					</view>
+					<formItem ref="formItemRef"></formItem>
+				</view>
+
+				<view class="add-person" style="padding:20rpx 30rpx;">
+					<u-button type="success" plain @click="addPerson">再加一人</u-button>
+				</view>
+			</view>
+
+
+
+			<view class="item" v-if="currentId">
+				<view class="box-title">
+					<box-title title="综治网格">
+						<template slot="titleMore">
+							<view class="title-more">
+								<view class="red item"></view>
+								<view class="orange item"></view>
+								<view class="green item"></view>
+							</view>
+						</template>
+					</box-title>
+				</view>
+				<lineItem :dataInfo="comprehensiveData.basic">
+				</lineItem>
+				<!-- <view class="bgc-ff flex j-c-s-b a-i-c" @click="navTo(1)" style="padding:20rpx;">
+					<text>历史事件</text>
+					<u-icon name="arrow-right"></u-icon>
+				</view> -->
+
+				<lineItem :dataInfo="comprehensiveData.scene">
+					<template v-slot:pic="{scope}">
+						<view class="image" v-if="scope.value !== ''">
+							<u--image @click="imgPreview(scope.value)" width="200rpx" height="200rpx"
+								:src="scope.value"></u--image>
+						</view>
+						<view class="" v-else>
+							{{scope.value}}
+						</view>
+					</template>
+				</lineItem>
+			</view>
+
+
+
+			<view class="item" v-if="currentId">
+				<view class="box-title">
+					<box-title title="公安网格">
+						<template slot="titleMore">
+							<view class="title-more">
+								<view class="red item"></view>
+								<view class="orange item"></view>
+								<view class="green item"></view>
+							</view>
+						</template>
+					</box-title>
+				</view>
+				<lineItem :dataInfo="publicData.basic">
+				</lineItem>
+				<!-- <view class="bgc-ff flex j-c-s-b a-i-c" @click="navTo(2)" style="padding:20rpx;">
+					<text>历史事件</text>
+					<u-icon name="arrow-right"></u-icon>
+				</view> -->
+
+				<lineItem :dataInfo="publicData.scene">
+					<template v-slot:pic="{scope}">
+						{{scope.value}}
+					</template>
+				</lineItem>
+			</view>
 		</view>
 		<footer-btn @click="submit" text="保存" />
 
@@ -148,6 +295,16 @@
 		<u-picker :show="isShowCatePicker" :defaultIndex="categoryIndex" ref="catePicker" keyName="categoryName"
 			:columns="categoryList" @confirm="confirmCategory" @change="changeCategory"
 			@cancel="isShowCatePicker = false"></u-picker>
+
+
+		<u-picker :defaultIndex="nationTypeListIndex" :closeOnClickOverlay="true" :show="showNationPicker"
+			:columns="[nationTypeList]" @close="showNationPicker = false" @cancel="showNationPicker = false"
+			keyName="name" @confirm="confirmNation"></u-picker>
+
+		<u-picker :defaultIndex="genderIndex" :closeOnClickOverlay="true" :show="showGenderPicker" :columns="[gender]"
+			@close="showGenderPicker = false" @cancel="showGenderPicker = false" keyName="name"
+			@confirm="confirmGender"></u-picker>
+
 		<cate-selector ref="selector" @comfirm="comfirmNineType" />
 	</view>
 </template>
@@ -163,10 +320,8 @@
 		getDoorplateAddressList
 	} from "@/api/doorplateAddress/doorplateAddress";
 	import {
+		add,
 		getPlaceDetail
-	} from '@/api/place/place.js'
-	import {
-		add
 	} from "@/api/place/place";
 	import {
 		format
@@ -182,12 +337,18 @@
 
 	import cateSelector from "../components/cateSelector.vue"
 
+	import {
+		getQrCodeDetail
+	} from "@/api/system/index"
+
+	import formItem from '../components/formItem.vue'
 	export default {
 		mixins: [uploadMixin],
 		components: {
 			lineItem,
 			boxTitle,
-			cateSelector
+			cateSelector,
+			formItem
 		},
 		data() {
 			return {
@@ -217,7 +378,19 @@
 					isNine: "",
 					isFront: "",
 					frontType: "",
-					nineType: ""
+					nineType: "",
+					threeFireProtection: "",
+					placeExtEntity: {
+						landlordName: "",
+						landlordIdCard: "",
+						landlordPhone: "",
+						landlordWxAccount: "",
+						legalPerson: "",
+						legalTel: "",
+						legalIdCard: "",
+						placeId: "",
+
+					}
 				},
 				rules: {
 					// 'buildingCode': {
@@ -425,13 +598,27 @@
 				showFrontTypePicker: false,
 				nineTypeValue: "",
 				frontTypeValue: "",
-				isView: false
+				isView: false,
 
-
+				nationTypeList: [], //民族
+				nationTypeIndex: [0],
+				nationValue: "",
+				gender: [{ //性别
+						value: 1,
+						name: '男',
+					},
+					{
+						value: 0,
+						name: '女',
+					}
+				],
+				genderIndex: [0],
+				genderValue: "",
+				showNationPicker: false,
+				showGenderPicker: false,
+				personNum: 0,
+				personNumArr: [],
 			}
-		},
-		created() {
-			this.buildColumn()
 		},
 		options: {
 			styleIsolation: 'shared', // 解除样式隔离
@@ -472,71 +659,20 @@
 				},
 				immediate: true
 			}
-
-			// secondId:{
-			//              handler(newVal,oldVal){
-			// 		this.getCategory(3,this.secondId);
-			// 	},				
-			// 	immediate:true
-			// }  
-
 		},
 		onReady() {
 			this.$refs.form.setRules(this.rules)
 		},
 
 		methods: {
-			// getBuildingDetail(params = {}) {
-			// 	getDoorplateAddressDetail(Object.assign(params, {
-			// 		stdId: this.stdId
-			// 	})).then(res => {
-			// 		let data = res.data
-			// 		this.form.buildingCode = data.buildingCode
-
-			// 		let buildingNameArr = [data.townStreetName, data.neiName, data.streetRuName, data.aoiName,
-			// 			data.buildingName
-			// 		]
-			// 		let arr = buildingNameArr.filter(e => {
-			// 			return e != null || e != ''
-			// 		})
-
-			// 		// 赋值
-			// 		// this.form.placeName = data['placeName']
-			// 		Object.keys(this.form).forEach(key => {
-			// 			if (!data[key]) {
-			// 				this.form[key] = data.place[key]
-			// 			} else {
-			// 				this.form[key] = data[key]
-			// 			}
-			// 		})
-
-			// 		this.form.building = arr.join("")
-
-			// 		Object.keys(this.comprehensiveData).forEach(key => {
-			// 			this.comprehensiveData[key].forEach(item => {
-			// 				if (!data[item.name]) {
-			// 					item.value = data.place[item.name] || '未完善'
-			// 				} else {
-			// 					item.value = data[item.name] || '未完善'
-			// 				}
-			// 			})
-			// 			this.publicData[key].forEach(item => {
-			// 				if (!data[item.name]) {
-			// 					item.value = data.place[item.name] || '未完善'
-			// 				} else {
-			// 					item.value = data[item.name] || '未完善'
-			// 				}
-			// 			})
-			// 		})
-			// 	})
-			// },
-
 
 			async getAllBizDict() {
 				// 获取九小场所类型
 				// await this.getBizDict('nineType', this.nineTypeList)
 				// 获取阵地
 				await this.getBizDict('frontType', this.frontTypeList)
+				// 获取民族
+				await this.getBizDict('nationType', this.nationTypeList);
 			},
 
 			// 获取业务字典
@@ -625,17 +761,10 @@
 
 				// 当第一列值发生变化时,变化第二列(后一列)对应的选项
 				if (columnIndex === 0) {
-					// picker为选择器this实例,变化第二列对应的选项
-					// picker.setColumnValues(1, this.categoryList[index])
+
 					this.firstId = e.value[columnIndex].categoryNo;
-					// this.secondId = this.categoryList[1][0].categoryNo;
-					// 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)
-				// }
+
 			},
 
 			getBuildingDetail(params = {}) {
@@ -672,7 +801,11 @@
 						})
 						return
 					}
-					this.houseCode = data.houseCode;
+					const placePractitioner = data?.placePractitioner || []
+					this.personNum = placePractitioner.length
+					this.personNumArr = placePractitioner;
+					this.source = data.source;
+					// this.houseCode = data.houseCode;
 					const dpaEntity = data?.doorplateAddressEntity || {}
 					const gridEntity = data?.grid || {}
 					// this.form.buildingCode = dpaEntity?.buildingCode || ''
@@ -745,6 +878,28 @@
 								}
 							}
 						}
+
+						if (key == "legalGender" && data.legalGender) {
+							let {
+								index,
+								name
+							} = this.$getIndex(this.gender, data.legalGender, "value",
+								"name");
+							this.genderIndex = index;
+							this.genderValue = name;
+						}
+
+						if (key == "ethnicity" && data.ethnicity) {
+							let {
+								index,
+								name
+							} = this.$getIndex(this.nationTypeList, data.ethnicity, "value",
+								"name");
+							this.nationTypeIndex = index;
+							this.nationValue = name;
+						}
+
+
 					})
 					this.$set(this.form, "jwd", `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`)
 					this.form.building = arr.join("")
@@ -789,6 +944,30 @@
 						})
 					})
 
+					placePractitioner.forEach((item, index) => {
+						this.$nextTick(() => {
+							if (item.ethnicity) {
+								let obj = this.$getIndex(this.nationTypeList, item.ethnicity,
+									"value", "name")
+								this.$refs.formItemRef[index].nationValue = obj.name;
+								this.$refs.formItemRef[index].nationTypeIndex = obj.index;
+							}
+
+							if (typeof(item.gender) == 'number') {
+								let obj = this.$getIndex(this.$refs.formItemRef[index]
+									.gender, item.gender, "value", "name")
+								this.$refs.formItemRef[index].genderValue = obj.name;
+								this.$refs.formItemRef[index].genderIndex = obj.index;
+							}
+							if (item.employerImg == "" || item.employerImg == null) {
+								item.employerImg = [];
+							} else {
+								item.employerImg = this.$setImageUrl(item.employerImg, 2)
+							}
+
+							this.$refs.formItemRef[index].form = item
+						})
+					})
 				})
 			},
 
@@ -816,12 +995,14 @@
 				}
 				// this.$refs.form.validate().then(valid => {
 				// 	if (valid) {
-				if (this.form?.images?.length > 0) {
+				if (this.form.images.length) {
 					let urls = []
 					this.form.images.forEach(e => {
 						urls.push(e.name)
 					})
 					this.form.imageUrls = urls.join(",")
+				} else {
+					this.form.imageUrls = ""
 				}
 
 				this.form.roleName = uni.getStorageSync("activeRole").roleName;
@@ -845,6 +1026,19 @@
 				this.form.lat = Number(this.form.lat).toFixed(8)
 
 				delete this.form.images;
+				if (this.personNum > 0) {
+					const placePractitioner = []
+					this.$refs.formItemRef.forEach(item => {
+						item.form.placeId = this.form.placeId
+						item.form.employerImg = this.$formattingUrls(item.form.employerImg);
+						placePractitioner.push(item.form)
+					})
+					this.form.placePractitioner = placePractitioner
+				}
+
+
+
+
 				add(this.form).then(res => {
 					this.$showTips("提交成功", "success");
 					setTimeout(() => {
@@ -855,27 +1049,6 @@
 			},
 
 
-			async buildColumn() {
-				//设置街道
-				const townStreet = await this.getDoorplateAddressList(null, "townStreet")
-				this.setColumn(townStreet, 0)
-				//设置社区
-				const nei = await this.getDoorplateAddressList(townStreet[0]?.code, "nei")
-				this.setColumn(nei, 1)
-				//设置路
-				const streetRu = await this.getDoorplateAddressList(nei[0]?.code, "streetRu")
-				this.setColumn(streetRu, 2)
-				//设置地区
-				const district = await this.getDoorplateAddressList(streetRu[0]?.code, "district")
-				this.setColumn(district, 3)
-				//设置楼栋
-				const building = await this.getDoorplateAddressList(district[0]?.code, "building")
-				this.setColumn(building, 4)
-			},
-
-			setColumn(data, index) {
-				this.$set(this.pickColumns, index, data)
-			},
 
 			//获取当前位置信息
 			getCurrentLocation() {
@@ -950,55 +1123,20 @@
 				this.showFrontTypePicker = false;
 			},
 
-			async changeHandler(e) {
-				const {
-					columnIndex,
-					index,
-					// 微信小程序无法将picker实例传出来,只能通过ref操作
-					picker = this.$refs.uPicker
-				} = e
-				let item = e.values[columnIndex][index]
-				//街道
-				if (columnIndex === 0) {
-					//获取社区列表
-					const nei = await this.getDoorplateAddressList(item.code, "nei")
-					picker.setColumnValues(1, nei)
+			//选择民族
+			confirmNation(e) {
+				this.nationIndex = e.indexs;
+				this.nationValue = e.value[0].name;
+				this.form.placeExtEntity.ethnicity = e.value[0].value;
+				this.showNationPicker = false;
+			},
 
-					const streetRu = await this.getDoorplateAddressList(nei[0].code, "streetRu")
-					picker.setColumnValues(2, streetRu)
-
-					const district = await this.getDoorplateAddressList(streetRu[0].code, "district")
-					picker.setColumnValues(3, district)
-
-					const building = await this.getDoorplateAddressList(district[0].code, "building")
-					picker.setColumnValues(4, building)
-				}
-
-				if (columnIndex === 1) {
-					const streetRu = await this.getDoorplateAddressList(item.code, "streetRu")
-					picker.setColumnValues(2, streetRu)
-
-					const district = await this.getDoorplateAddressList(streetRu[0].code, "district")
-					picker.setColumnValues(3, district)
-
-					const building = await this.getDoorplateAddressList(district[0].code, "building")
-					picker.setColumnValues(4, building)
-				}
-
-				if (columnIndex === 2) {
-
-					const district = await this.getDoorplateAddressList(item.code, "district")
-					picker.setColumnValues(3, district)
-
-					const building = await this.getDoorplateAddressList(district[0].code, "building")
-					picker.setColumnValues(4, building)
-				}
-
-				if (columnIndex === 3) {
-					const building = await this.getDoorplateAddressList(item.code, "building")
-					picker.setColumnValues(4, building)
-				}
-
+			//选择性别
+			confirmGender(e) {
+				this.genderIndex = e.indexs;
+				this.genderValue = e.value[0].name;
+				this.form.placeExtEntity.legalGender = e.value[0].value;
+				this.showGenderPicker = false;
 			},
 
 			//弹出层打开
@@ -1013,6 +1151,16 @@
 					urls: minioBaseUrl + [value],
 				})
 			},
+
+			addPerson() {
+				this.personNum++
+				this.personNumArr.push(1)
+			},
+
+			deletePerson(index) {
+				this.personNum--;
+				this.personNumArr.splice(index, 1)
+			}
 		}
 	}
 </script>
@@ -1149,4 +1297,11 @@
 		background-color: #fff;
 		text-align: center;
 	}
+
+
+	.practitioner {
+		background-color: #fff;
+		border-radius: 8rpx;
+		margin-top: 20rpx;
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3