From 3c738f4fe2762bba8087e5a22fc0dc06560eab0e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Thu, 08 Aug 2024 10:01:17 +0800
Subject: [PATCH] 三色任务与自查任务

---
 subPackage/workbench/views/cscj.vue | 1156 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 903 insertions(+), 253 deletions(-)

diff --git a/subPackage/workbench/views/cscj.vue b/subPackage/workbench/views/cscj.vue
index b5f2ce8..11e67bd 100644
--- a/subPackage/workbench/views/cscj.vue
+++ b/subPackage/workbench/views/cscj.vue
@@ -2,6 +2,14 @@
 	<view class="container">
 		<view class="wrap">
 			<u-form labelWidth="70" :model="form" :rules="rules" ref="form">
+				<view class="top item flex j-c-s-b a-i-c" @click="onScan()" v-if="!currentId">
+					<view class="flex a-i-c">
+						<u-icon name="/static/icon/nav-05.png" width="90rpx" height="90rpx"></u-icon>
+						<text class="f-28 ml-10">扫码获取信息</text>
+					</view>
+					<u-icon name="arrow-right" size="20"></u-icon>
+				</view>
+
 				<view class="item">
 					<!-- u-form-item v-if="!currentId" @click="showPicker = true" class="form-item" labelWidth="100" label="楼栋:"
 					:required="isRequired" :disabled="isDisabled" prop="buildingCode">
@@ -21,25 +29,90 @@
 						</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" 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>
-					<!-- <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>
+					<u-form-item label="九小场所:" labelWidth="100" prop="isNine" :required="isRequired">
+						<u-radio-group v-model="form.isNine" 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.isNine == 1?"是":"否"}}
 						</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>
+					</u-form-item>
+					<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> -->
+						<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">
+							<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.isFront == 1?"是":"否"}}
+						</view>
+					</u-form-item>
+					<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 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="无诈类别:" :required="isRequired"
+						:disabled="isDisabled" prop="noExplosionCategory">
+						<view class="flex j-c-s-b a-i-c" v-if="!currentId" @click="showNotSwindleTypePicker= true">
+							<u-input border="none" v-model="notSwindleValue" disabled disabledColor="#ffffff"
+								placeholder="请选择">
+							</u-input>
+							<u-icon slot="right" name="arrow-right"></u-icon>
+						</view>
+						<view class="f-30" v-if="currentId">
+							{{notSwindleValue}}
+						</view>
+					</u-form-item>
+
 					<u-form-item class="form-item" labelWidth="100" label="备注:" prop="remark">
 						<u--input v-if="!currentId" border="none" v-model="form.remark" placeholder="请输入">
 						</u--input>
@@ -57,7 +130,8 @@
 							<view class="address-content f-28" v-if="!form.jwd" style="color: #c0c4cc;">
 								请选择地址
 							</view>
-							<view class="location-btn c-main f-24" @click="getLocation()" v-if="!currentId">
+							<view class="location-btn c-main f-24" @click="getLocation()"
+								v-if="source == 3  || ((!currentId && !isView)   || (isView && !form.jwd))">
 								获取地址
 							</view>
 						</view>
@@ -69,11 +143,32 @@
 						</view>
 					</u-form-item>
 
+					<u-form-item v-if="!currentId" label="负责人信息和法人信息是否一致" labelWidth="100" :required="isRequired">
+						<u-radio-group v-model="isLegalSame">
+							<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>
 				</view>
 
 				<view class="item">
-					<view class="box-title">
-						<box-title title="负责人信息"></box-title>
+					<view class="flex j-c-s-b a-i-c">
+						<view class="box-title" style="width:50%;">
+							<box-title title="负责人信息"></box-title>
+						</view>
+						<!-- #ifdef MP-WEIXIN -->
+						<ocr-navigator v-if="!currentId" @onSuccess="recognizeSuccess($event,'principal')"
+							certificateType="idCard" :opposite="false">
+							<view class="recognize-btn flex a-i-c">
+								<u-icon name="scan" color="#fff" size="24"></u-icon>
+								<text class="f-26 c-ff" style="margin-left: 10rpx;">身份证信息识别</text>
+							</view>
+						</ocr-navigator>
+						<!-- #endif-->
 					</view>
 					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
 						label="场所负责人:" prop="principal">
@@ -83,6 +178,143 @@
 					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
 						label="手机号:" prop="principalPhone">
 						<u--input border="none" type="number" v-model="form.principalPhone" placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="身份证号:" prop="principalIdCard">
+						<u--input border="none" type="idcard" v-model="form.principalIdCard" placeholder="请输入">
+						</u--input>
+					</u-form-item>
+				</view>
+
+				<view class="item" v-if="isLegalSame != 1 && !currentId">
+
+					<view class="flex j-c-s-b a-i-c">
+						<view class="box-title" style="width:50%;">
+							<box-title title="法人信息"></box-title>
+						</view>
+						<!-- #ifdef MP-WEIXIN -->
+						<ocr-navigator @onSuccess="recognizeSuccess($event,'legal')" certificateType="idCard"
+							:opposite="false">
+							<view class="recognize-btn flex a-i-c">
+								<u-icon name="scan" color="#fff" size="24"></u-icon>
+								<text class="f-26 c-ff" style="margin-left: 10rpx;">身份证信息识别</text>
+							</view>
+						</ocr-navigator>
+						<!-- #endif-->
+					</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">
+					<view class="flex j-c-s-b a-i-c">
+						<view class="box-title" style="width:50%;">
+							<box-title title="房东信息"></box-title>
+						</view>
+						<!-- #ifdef MP-WEIXIN -->
+						<ocr-navigator v-if="!currentId" @onSuccess="recognizeSuccess($event)" certificateType="idCard"
+							:opposite="false">
+							<view class="recognize-btn flex a-i-c">
+								<u-icon name="scan" color="#fff" size="24"></u-icon>
+								<text class="f-26 c-ff" style="margin-left: 10rpx;">身份证信息识别</text>
+							</view>
+						</ocr-navigator>
+						<!--#endif-->
+					</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" v-if="form.label == 160102  ||  form.label == 160103">
+					<view class="flex j-c-s-b a-i-c">
+						<view class="box-title" style="width:50%;">
+							<box-title title="学校信息"></box-title>
+						</view>
+					</view>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="学生人数:" prop="studentNumber">
+						<u--input border="none" type="number" v-model="form.placeExtEntity.studentNumber"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="教职工人数:" prop="workersNumber">
+						<u--input border="none" type="number" v-model="form.placeExtEntity.workersNumber"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="专职保安:" prop="securityNumber">
+						<u--input border="none" type="number" v-model="form.placeExtEntity.securityNumber"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="专职门卫:" prop="guardNumber">
+						<u--input border="none" type="number" v-model="form.placeExtEntity.guardNumber"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="专兼职保卫人员:" prop="temporarySecurityNumber">
+						<u--input border="none" type="number" v-model="form.placeExtEntity.temporarySecurityNumber"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="走读/寄宿:" prop="dayStudentsNumber">
+						<u--input border="none" type="number" v-model="form.placeExtEntity.dayStudentsNumber"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="住校生人数:" prop="residentialStudentsNumber">
+						<u--input border="none" type="number" v-model="form.placeExtEntity.residentialStudentsNumber"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="宿舍管理人员:" prop="housemasterNumber">
+						<u--input border="none" type="number" v-model="form.placeExtEntity.housemasterNumber"
+							placeholder="请输入">
 						</u--input>
 					</u-form-item>
 				</view>
@@ -100,6 +332,40 @@
 				</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="flex j-c-s-b a-i-c">
+							<view class="title fw" style="text-align:center; mr-20">人员信息-#{{ index*1 + 1 }}</view>
+							<!-- #ifdef MP-WEIXIN -->
+							<ocr-navigator v-if="!currentId" @onSuccess="recognizePersonSuccess($event,index)"
+								certificateType="idCard" :opposite="false">
+								<view class="recognize-btn flex a-i-c">
+									<u-icon name="scan" color="#fff" size="24"></u-icon>
+									<text class="f-26 c-ff" style="margin-left: 10rpx;">身份证信息识别</text>
+								</view>
+							</ocr-navigator>
+							<!-- #endif -->
+						</view>
+
+
+						<view>
+							<u-icon name="trash-fill" color="#ff0000" size="20" @click="deletePerson(index)" />
+						</view>
+					</view>
+					<formItem ref="formItemRef"></formItem>
+				</view>
+				<view class="" style="padding:20rpx 0;" v-if="personNum == 0  && currentId">
+					未完善
+				</view>
+				<view class="add-person" style="padding:20rpx 30rpx;" v-if="!currentId">
+					<u-button type="success" plain @click="addPerson">再加一人</u-button>
+				</view>
+			</view>
 
 
 
@@ -166,21 +432,39 @@
 		<footer-btn @click="submit" v-if="!currentId" />
 
 
-		<u-picker :show="showPicker" :defaultIndex="defaultIndex" ref="uPicker" keyName="name" :loading="pickerLoading"
-			:columns="pickColumns" @change="changeHandler" @confirm="confirmPicker"
-			@cancel="showPicker = false"></u-picker>
+		<u-picker :show="showNineTypePicker" :defaultIndex="nineTypeIndex" ref="uPicker" keyName="name"
+			:loading="pickerLoading" :columns="[nineTypeList]" @confirm="confirmNineTypePicker"
+			@cancel="showNineTypePicker = false"></u-picker>
 
+		<u-picker :show="showFrontTypePicker" :defaultIndex="frontTypeIndex" ref="uPicker" keyName="name"
+			:loading="pickerLoading" :columns="[frontTypeList]" @confirm="confirmFrontTypePicker"
+			@cancel="showFrontTypePicker = false"></u-picker>
 
 		<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>
+
+
+		<u-picker :defaultIndex="notSwindleTypeIndex" :closeOnClickOverlay="true" :show="showNotSwindleTypePicker"
+			:columns="[notSwindleTypeList]" @close="showNotSwindleTypePicker = false"
+			@cancel="showNotSwindleTypePicker = false" keyName="name" @confirm="confirmNotSwindleType"></u-picker>
+
+
+		<cate-selector ref="selector" @comfirm="comfirmNineType" />
 	</view>
 </template>
 
 <script>
-	import uploadMixin from "@/mixin/uploadMixin";
+	import uploadMixin from "@/mixin/uploadMixinPlace";
 	import lineItem from "@/subPackage/workbench/components/lineItem.vue"
 	import {
 		getLabelCate
@@ -190,10 +474,8 @@
 		getDoorplateAddressList
 	} from "@/api/doorplateAddress/doorplateAddress";
 	import {
+		add,
 		getPlaceDetail
-	} from '@/api/place/place.js'
-	import {
-		add
 	} from "@/api/place/place";
 	import {
 		format
@@ -202,11 +484,25 @@
 	import {
 		minioBaseUrl
 	} from "../../../common/setting";
+	import {
+		bizDictionary,
+		bizDictionaryTree
+	} from '@/api/system/dict.js'
+
+	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
+			boxTitle,
+			cateSelector,
+			formItem
 		},
 		data() {
 			return {
@@ -217,9 +513,7 @@
 				pickerLoading: false,
 				pickColumns: [],
 				defaultIndex: [0, 0, 0, 0, 0],
-
 				selectValue: [],
-
 				form: {
 					// buildingCode: "",
 					images: [],
@@ -229,9 +523,35 @@
 					placeName: "",
 					principal: '',
 					principalPhone: '',
+					principalIdCard: '',
 					lat: '',
 					lng: '',
-					location: ''
+					location: '',
+					isNine: "",
+					isFront: "",
+					frontType: "",
+					nineType: "",
+					threeFireProtection: "",
+					noExplosionCategory: "",
+					placeExtEntity: {
+						landlordName: "",
+						landlordIdCard: "",
+						landlordPhone: "",
+						landlordWxAccount: "",
+						legalPerson: "",
+						legalTel: "",
+						legalIdCard: "",
+						placeId: "",
+
+						studentNumber: "",
+						workersNumber: "",
+						securityNumber: "",
+						guardNumber: "",
+						temporarySecurityNumber: "",
+						dayStudentsNumber: "",
+						residentialStudentsNumber: "",
+						housemasterNumber: ""
+					}
 				},
 				rules: {
 					// 'buildingCode': {
@@ -240,26 +560,32 @@
 					// 	message: '请选择楼栋',
 					// 	trigger: ['blur', 'change']
 					// },
-					'placeName': {
+					'form.isNine': {
+						type: 'string',
+						required: true,
+						message: '是否九小场所',
+						trigger: ['blur', 'change']
+					},
+					placeName: [{
 						type: 'string',
 						required: true,
 						message: '请输入场所名称',
 						trigger: ['blur', 'change']
-					},
-					'label': {
+					}],
+					label: [{
 						type: 'string',
 						required: true,
 						message: '请选择标签',
 						trigger: ['blur', 'change'],
-					},
-					'username': {
+					}],
+					'form.username': {
 						type: 'string',
 						required: true,
 						message: '请输入场所负责人',
 						trigger: ['blur', 'change'],
 					},
-					'principalPhone': [{
-							required: false,
+					'form.principalPhone': [{
+							required: true,
 							message: '请输入手机号',
 							trigger: ['blur', 'change'],
 						},
@@ -271,7 +597,22 @@
 							trigger: ['change', 'blur']
 
 						}
-
+					],
+					'form.principalIdCard': [{
+							type: 'string',
+							required: false,
+							message: '请输入身份证号码',
+							trigger: ['change', 'blur']
+						},
+						{
+							validator: (rule, value, callback) => {
+								const idCardRegex =
+									/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
+								return idCardRegex.test(value)
+							},
+							message: '身份证号码有误',
+							trigger: ['change', 'blur']
+						}
 					],
 				},
 
@@ -315,16 +656,16 @@
 						// 	name: 'username',
 						// 	value: "未完善",
 						// },
-						{
-							label: "采集人",
-							name: 'createUserName',
-							value: "未完善"
-						},
-						{
-							label: "采集时间",
-							name: 'createTime',
-							value: "未完善"
-						},
+						// {
+						// 	label: "采集人",
+						// 	name: 'createUserName',
+						// 	value: "未完善"
+						// },
+						// {
+						// 	label: "采集时间",
+						// 	name: 'createTime',
+						// 	value: "未完善"
+						// },
 						// {
 						// 	label: "历史事件",
 						// 	value: "未完善",
@@ -400,16 +741,61 @@
 				firstId: "",
 				secondId: "",
 				categoryValue: "",
-				houseCode: ""
+				houseCode: "",
+				statusList: [{
+						name: "是",
+						id: 1
+					},
+					{
+						name: "否",
+						id: 2
+					}
+				],
+				nineTypeList: [], //九小类型
+				frontTypeList: [], //阵地
+				nineTypeIndex: [0],
+				frontTypeIndex: [0],
+				showNineTypePicker: false,
+				showFrontTypePicker: false,
+				nineTypeValue: "",
+				frontTypeValue: "",
+				isView: false,
+				source: "",
+				nationTypeList: [], //民族
+				nationTypeIndex: [0],
+				nationValue: "",
+				gender: [{ //性别
+						value: 1,
+						name: '男',
+					},
+					{
+						value: 0,
+						name: '女',
+					}
+				],
+				genderIndex: [0],
+				genderValue: "",
+				showNationPicker: false,
+				showGenderPicker: false,
+				personNum: 0,
+				personNumArr: [],
+				isLegalSame: 1, //法人信息是否与负责人一致  1是  2否
+				notSwindleTypeList: [],
+				notSwindleIndex: [0],
+				notSwindleValue: "",
+				showNotSwindleTypePicker: false
 			}
 		},
-		created() {
-			this.buildColumn()
-		},
+
 		options: {
 			styleIsolation: 'shared', // 解除样式隔离
 		},
-		onLoad(option) {
+		async onLoad(option) {
+			console.log("option===>", option);
+			await this.getCategory();
+			await this.getAllBizDict();
+			// this.getNineTypeList();
+
 			const {
 				type
 			} = option
@@ -420,10 +806,12 @@
 				this.currentId = option.id;
 			}
 			if (option.houseCode) {
+				console.log(111)
 				this.houseCode = option.houseCode
 				this.form.houseCode = option.houseCode
 			}
 			if (option.id || option.houseCode) {
+				this.isView = true;
 				this.getBuildingDetail()
 			}
 			if (!!type || type != void 0) {
@@ -431,7 +819,7 @@
 					title: '详情'
 				})
 			}
-			this.getCategory();
+			this.getCurrentLocation();
 		},
 
 		watch: {
@@ -444,62 +832,49 @@
 				},
 				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 != ''
-			// 		})
+			async getAllBizDict() {
+				// 获取九小场所类型
+				// await this.getBizDict('nineType', this.nineTypeList)
+				// 获取阵地
+				await this.getBizDict('frontType', this.frontTypeList)
+				// 获取民族
+				await this.getBizDict('nationType', this.nationTypeList);
+				//反诈类别
+				await this.getBizDict('noExplosionCategory', this.notSwindleTypeList);
+			},
 
-			// 		// 赋值
-			// 		// 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]
-			// 			}
-			// 		})
+			// 获取业务字典
+			async getBizDict(code, list) {
+				const param = {
+					code: code
+				}
+				const res = await bizDictionary(param)
+				res.data.forEach(e => {
+					list.push({
+						name: e.dictValue,
+						value: Number(e.dictKey)
+					})
+				})
+			},
 
-			// 		this.form.building = arr.join("")
+			getNineTypeList() {
+				bizDictionaryTree({
+					code: "nineType"
+				}).then(res => {
+					console.log(res.data);
+				})
+			},
 
-			// 		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] || '未完善'
-			// 				}
-			// 			})
-			// 		})
-			// 	})
-			// },
+			showNineTypeSelector() {
+				this.$refs.selector.open();
+			},
 
 			navTo(type) {
 				if (type == 1) {
@@ -564,14 +939,8 @@
 					// 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 = {}) {
@@ -590,6 +959,9 @@
 						id: this.currentId
 					}
 				}
+				uni.showLoading({
+					title: "加载中..."
+				})
 				getPlaceDetail({
 					...params,
 					...idorCodeParams
@@ -597,6 +969,7 @@
 					code,
 					data
 				}) => {
+					uni.hideLoading();
 					if (code !== 200) {
 						uni.showToast({
 							title: "数据加载失败",
@@ -604,7 +977,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 || ''
@@ -620,9 +997,33 @@
 					})
 					this.form.placeName = data['placeName'] || ''
 					Object.keys(this.form).forEach(key => {
-						if (!data[key]) {
+						if (!data[key] && key != "placeExtEntity") {
 							// this.form[key] = dpaEntity[key] || '未完善'
 							this.form[key] = dpaEntity[key]
+						} else if (key == "placeExtEntity") {
+							if (data.placeExtEntity) {
+								this.form.placeExtEntity = data.placeExtEntity;
+							} else {
+								this.form.placeExtEntity = {
+									landlordName: "",
+									landlordIdCard: "",
+									landlordPhone: "",
+									landlordWxAccount: "",
+									legalPerson: "",
+									legalTel: "",
+									legalIdCard: "",
+									placeId: "",
+
+									studentNumber: "",
+									workersNumber: "",
+									securityNumber: "",
+									guardNumber: "",
+									temporarySecurityNumber: "",
+									dayStudentsNumber: "",
+									residentialStudentsNumber: "",
+									housemasterNumber: ""
+								}
+							}
 						} else {
 							// this.form[key] = data[key] || '未完善'
 							this.form[key] = data[key]
@@ -636,9 +1037,79 @@
 								this.form.images = []
 							}
 						}
-					})
 
-					this.form.jwd = `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`
+						if (key == "isNine") {
+							// let {
+							// 	index,
+							// 	name
+							// } = this.$getIndex(this.nineTypeList, data.nineType, "value", "name");
+							// this.nineTypeIndex = index;
+							// this.nineTypeValue = name;
+							if (!data.isNine) {
+								this.form.isNine = 2;
+							} else {
+								if (data.isNine == 1) {
+									this.$refs.selector.showDefault(data.nineType)
+									setTimeout(() => {
+										if (this.$refs.selector.selectedItem.childrenId) {
+											this.nineTypeValue = this.$refs.selector.selectedItem
+												.childrenName
+										} else {
+											this.nineTypeValue = this.$refs.selector.selectedItem
+												.parentName;
+										}
+									}, 200)
+								}
+							}
+						}
+
+						if (key == "isFront") {
+							if (!data.isFront) {
+								this.form.isFront = 2;
+							} else {
+								if (data.isFront == 1) {
+									let {
+										index,
+										name
+									} = this.$getIndex(this.frontTypeList, data.frontType, "value",
+										"name");
+									this.frontTypeIndex = index;
+									this.frontTypeValue = name;
+								}
+							}
+						}
+
+						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;
+						}
+
+						if (key == "noExplosionCategory" && data.noExplosionCategory) {
+							let {
+								index,
+								name
+							} = this.$getIndex(this.notSwindleTypeList, data.noExplosionCategory, "value",
+								"name")
+							this.notSwindleIndex = [index];
+							this.notSwindleValue = name;
+						}
+					})
+					this.$set(this.form, "jwd", `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`)
 					this.form.building = arr.join("")
 					let labelList = data.placePoiLabelVOList;
 					let tempLabelList = [];
@@ -650,13 +1121,13 @@
 					this.firstId = tempLabelList[0].poiCode;
 					this.categoryValue = tempLabelList[1].labelName;
 					this.form.label = tempLabelList[1].poiCode
-					setTimeout(() => {
-						let firstIndex = this.categoryList[0].findIndex(i => i.categoryNo ==
-							tempLabelList[0].poiCode)
-						let childIndex = this.categoryList[1].findIndex(i => i.categoryNo ==
-							tempLabelList[1].poiCode)
-						this.categoryIndex = [firstIndex, childIndex]
-					}, 500)
+					// setTimeout(() => {
+					let firstIndex = this.categoryList[0].findIndex(i => i.categoryNo ==
+						tempLabelList[0].poiCode)
+					let childIndex = this.categoryList[1].findIndex(i => i.categoryNo ==
+						tempLabelList[1].poiCode)
+					this.categoryIndex = [firstIndex, childIndex]
+					// }, 500)
 
 
 					Object.keys(this.comprehensiveData).forEach(key => {
@@ -681,77 +1152,155 @@
 						})
 					})
 
+					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
+						})
+					})
 				})
+			},
+
+			//选择九小场所类型
+			comfirmNineType(val) {
+				if (val.childrenId) {
+					this.form.nineType = val.childrenId;
+					this.nineTypeValue = val.childrenName;
+				} else {
+					this.form.nineType = val.parentId;
+					this.nineTypeValue = val.parentName;
+				}
 			},
 
 			//表单提交
 			submit() {
-				const that = this
-				this.$refs.form.validate().then(valid => {
-					if (valid) {
-						if (this.form?.images?.length > 0) {
-							let urls = []
-							this.form.images.forEach(e => {
-								urls.push(e.name)
-							})
-							this.form.imageUrls = urls.join(",")
+
+				if (this.houseCode && !this.form.houseCode) {
+					this.form.houseCode = this.houseCode;
+				}
+
+				if (!this.form.placeName) {
+					this.$showTips("请输入场所名称")
+					return
+				}
+
+				if (!this.form.label) {
+					this.$showTips("请选择标签")
+					return
+				}
+
+
+				// this.$refs.form.validate().then(valid => {
+				// if (valid) {
+				if (this.form?.images?.length > 0) {
+					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;
+				if (this.form.isNine == 2 && this.form.nineType) {
+					this.form.nineType = "";
+				}
+				if (this.form.isFront == 2 && this.form.frontType) {
+					this.form.frontType = "";
+				}
+
+				if (this.form.isNine == 1 && !this.form.nineType) {
+					this.$showTips("请选择九小场所类型")
+					return
+				}
+
+				if (this.form.isFront == 1 && !this.form.frontType) {
+					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;
+				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
+				}
+
+				if (this.isLegalSame == 1) {
+					this.form.placeExtEntity.legalPerson = this.form.principal;
+					this.form.placeExtEntity.legalTel = this.form.principalPhone;
+					this.form.placeExtEntity.legalIdCard = this.form.principalIdCard;
+				}
+
+
+
+				add(this.form).then(res => {
+					uni.showToast({
+						icon: 'success',
+						title: '提交成功',
+						success() {
+							setTimeout(() => {
+								uni.$emit("refresh")
+								uni.navigateBack()
+								// that.$u.func.globalNavigator(
+								// 	"/pages/home/index", "switchTab")
+							}, 300)
 						}
-
-						this.form.roleName = uni.getStorageSync("activeRole").roleName;
-						add(this.form).then(res => {
-							uni.showToast({
-								icon: 'success',
-								title: '提交成功',
-								success() {
-									setTimeout(() => {
-										that.$u.func.globalNavigator(
-											"/pages/home/index", "switchTab")
-									}, 1000)
-								}
-							})
-						})
-					}
+					})
 				})
+				// }
+				// })
 			},
 
-			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)
-			},
-
-			getLocation() {
-				const that = this
+			//获取当前位置信息
+			getCurrentLocation() {
 				uni.getLocation({
-					type: 'wgs84', // 坐标系类型
-					success: function(res) {
-						var latitude = res.latitude; // 维度
-						var longitude = res.longitude; // 经度
-
-						that.form.lng = longitude
-						that.form.lat = latitude
-
-						that.form.jwd = longitude + "," + latitude
+					type: 'gcj02', // 坐标系类型
+					success: (res) => {
+						// var latitude = res.latitude; // 维度
+						// var longitude = res.longitude; // 经度
+						// this.form.lng = longitude
+						// this.form.lat = latitude
+						// this.form.jwd =
+						// 	`${Number(res.longitude).toFixed(6)},${Number(res.latitude).toFixed(6)}`
 					},
-					fail: function(res) {
-						console.log('获取定位失败:' + res.errMsg);
+					complete: (res) => {
+						if (res.latitude) {
+							this.$set(this.form, "x", res.longitude)
+							this.$set(this.form, "y", res.latitude)
+						} else {
+							uni.showModal({
+								title: "提示!",
+								content: `获取定位信息失败 ${res.errMsg}`,
+								showCancel: false
+							})
+						}
 					}
 				});
 			},
@@ -786,55 +1335,42 @@
 				this.showPicker = 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)
+			confirmNineTypePicker(e) {
+				this.nineTypeIndex = e.indexs;
+				this.nineTypeValue = e.value[0].name;
+				this.form.nineType = e.value[0].value;
+				this.showNineTypePicker = false;
+			},
 
-					const streetRu = await this.getDoorplateAddressList(nei[0].code, "streetRu")
-					picker.setColumnValues(2, streetRu)
+			confirmFrontTypePicker(e) {
+				this.frontTypeIndex = e.indexs;
+				this.frontTypeValue = e.value[0].name;
+				this.form.frontType = e.value[0].value;
+				this.showFrontTypePicker = false;
+			},
 
-					const district = await this.getDoorplateAddressList(streetRu[0].code, "district")
-					picker.setColumnValues(3, district)
+			//选择民族
+			confirmNation(e) {
+				this.nationIndex = e.indexs;
+				this.nationValue = e.value[0].name;
+				this.form.ethnicity = e.value[0].value;
+				this.showNationPicker = false;
+			},
 
-					const building = await this.getDoorplateAddressList(district[0].code, "building")
-					picker.setColumnValues(4, building)
-				}
+			//选择性别
+			confirmGender(e) {
+				this.genderIndex = e.indexs;
+				this.genderValue = e.value[0].name;
+				this.form.legalGender = e.value[0].value;
+				this.showGenderPicker = false;
+			},
 
-				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)
-				}
-
+			//选择无诈类别
+			confirmNotSwindleType(e) {
+				this.notSwindleIndex = e.indexs;
+				this.notSwindleValue = e.value[0].name;
+				this.form.noExplosionCategory = e.value[0].value;
+				this.showNotSwindleTypePicker = false;
 			},
 
 			//弹出层打开
@@ -845,39 +1381,136 @@
 
 			},
 
-
-
-			labelClick(item) {
-
-				//判断label是否已在
-				const label = this.showLabelList.find(e => e.id == item.id)
-				if (label) {
-					//在,去掉
-					this.showLabelList = this.showLabelList.filter(e => e.id != label.id)
-					this.activeIds = this.activeIds.filter(e => e != label.id)
-				} else {
-					//不在,添加
-					item.isClose = false
-					this.showLabelList.push(item)
-					this.activeIds.push(item.id)
-				}
-
-				this.showLabelList.sort((a, b) => a.sort - b.sort)
-
-			},
-			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) {
 				uni.previewImage({
 					urls: minioBaseUrl + [value],
 				})
 			},
+
+			onScan() {
+				uni.scanCode({
+					success: (res) => {
+						let obj = this.getUrlParams(res.result);
+						this.getHouseType(obj.stdId);
+					}
+				})
+			},
+
+			getUrlParams(url) {
+				let urlStr = url.split('?')[1]
+				let obj = {};
+				let paramsArr = urlStr.split('&')
+				for (let i = 0, len = paramsArr.length; i < len; i++) {
+					let arr = paramsArr[i].split('=')
+					obj[arr[0]] = arr[1];
+				}
+				return obj
+			},
+
+			getHouseType(code) {
+				getQrCodeDetail({
+					roleName: uni.getStorageSync("activeRole").roleName,
+					addressCode: code
+				}).then(res => {
+					let {
+						isJur,
+						doorplateType,
+						addressLevel
+					} = res.data;
+					if (isJur == 1) {
+						if (doorplateType == "中门牌" || doorplateType == "小门牌") {
+							if (res.data.addressType) {
+								this.addressType = res.data.addressType
+							}
+							this.houseCode = code;
+							this.form.houseCode = code;
+							this.isView = true;
+							this.getBuildingDetail()
+						}
+					} else {
+						uni.showModal({
+							title: "提示!",
+							content: "该区域不是您管辖范围",
+							showCancel: false
+						})
+					}
+
+				})
+			},
+
+			addPerson() {
+				this.personNum++
+				this.personNumArr.push(1)
+			},
+
+			deletePerson(index) {
+				this.personNum--;
+				this.personNumArr.splice(index, 1)
+			},
+
+			//识别成功
+			recognizeSuccess(e, key) {
+				let {
+					detail: {
+						name,
+						id,
+						address,
+						gender,
+						nationality
+					}
+				} = e;
+
+				if (key == "principal") { //负责人
+					this.form.principal = name.text;
+					this.form.principalIdCard = id.text;
+				} else if (key == "legal") { //法人
+					this.form.placeExtEntity.legalPerson = name.text;
+					this.form.placeExtEntity.legalIdCard = id.text;
+				} else { //房东
+					this.form.placeExtEntity.landlordName = name.text;
+					this.form.placeExtEntity.landlordIdCard = id.text;
+				}
+			},
+
+			//识别从业人员身份证信息
+			recognizePersonSuccess(e, index) {
+				let {
+					detail: {
+						name,
+						id,
+						address,
+						gender,
+						nationality
+					}
+				} = e;
+
+				this.$refs.formItemRef[index].form.name = name.text; //姓名
+				this.$refs.formItemRef[index].form.idCard = id.text; //身份证号
+				this.$refs.formItemRef[index].genderValue = gender.text; //性别
+				this.$refs.formItemRef[index].nationValue = `${nationality.text}族`; //民族
+				this.$refs.formItemRef[index].form.gender = this.getValue(this.gender, gender.text).value;
+				this.$refs.formItemRef[index].form.ethnicity = this.getValue(this.nationTypeList, `${nationality.text}族`)
+					.value;
+				this.$refs.formItemRef[index].genderIndex = [this.getValue(this.gender, gender.text).index];
+				this.$refs.formItemRef[index].nationTypeIndex = [this.getValue(this.nationTypeList, `${nationality.text}族`)
+					.index
+				];
+
+
+			},
+
+
+			getValue(arr, name) {
+				for (let i = 0, ii = arr.length; i < ii; i++) {
+					if (arr[i].name == name) {
+						return {
+							index: i,
+							value: arr[i].value
+						}
+					}
+				}
+			}
+
 		}
 	}
 </script>
@@ -1014,4 +1647,21 @@
 		background-color: #fff;
 		text-align: center;
 	}
+
+	.top {
+		padding: 20rpx !important;
+	}
+
+	.practitioner {
+		background-color: #fff;
+		border-radius: 8rpx;
+		margin-top: 20rpx;
+	}
+
+	.recognize-btn {
+		padding: 12rpx;
+		border-radius: 6rpx;
+		background-color: #3c9cff;
+		margin-left: 30rpx;
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3