From 2000221edb7ad8dfab493fa0b5f08a5a92cd1e53 Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Wed, 03 Apr 2024 17:34:44 +0800
Subject: [PATCH] 更新

---
 subPackage/counterfraud/add.vue             |  328 +++++++++++------
 pages.json                                  |   26 +
 api/counterfraud/counterfraud.js            |    2 
 subPackage/police/policeSituationDetail.vue |   73 +++-
 pages/home/selectSite.vue                   |    2 
 subPackage/workbench/views/editCscj.vue     |  163 +++++++-
 subPackage/workbench/views/editExamine.vue  |   84 ++++
 pages/home/index.vue                        |    2 
 subPackage/counterfraud/dispose.vue         |   67 +-
 subPackage/contradiction/edit.vue           |  146 ++++++-
 subPackage/workbench/views/cscj.vue         |  130 ++++++
 common/setting.js                           |    4 
 subPackage/house/family/index.vue           |    2 
 subPackage/counterfraud/propagateDetail.vue |    2 
 pages/home/index.scss                       |    2 
 15 files changed, 775 insertions(+), 258 deletions(-)

diff --git a/api/counterfraud/counterfraud.js b/api/counterfraud/counterfraud.js
index b3ff438..b669ac8 100644
--- a/api/counterfraud/counterfraud.js
+++ b/api/counterfraud/counterfraud.js
@@ -23,7 +23,7 @@
 //反诈宣传详情
 export const getCounterfraudDetail = (params) => {
 	return http.request({
-		url: '/blade-backblastPubRecord/backblastPubRecord/detail',
+		url: '/blade-backblastPubRecord/backblastPubRecord/getDetail',
 		method: 'get',
 		params: {
 			...params
diff --git a/common/setting.js b/common/setting.js
index 1d2fd98..d954d12 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.111:9528',
-	devUrl: 'https://srgdjczzxtpt.com:2080/api',
+	devUrl: 'http://192.168.2.111: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.json b/pages.json
index 597fef5..746f990 100644
--- a/pages.json
+++ b/pages.json
@@ -439,7 +439,10 @@
 						"navigationBarTitleText": "场所采集",
 						"enablePullDownRefresh": false,
 						"navigationBarBackgroundColor": "#fff",
-						"navigationBarTextStyle": "black"
+						"navigationBarTextStyle": "black",
+						"usingComponents": {
+							"ocr-navigator": "plugin://ocr-plugin/ocr-navigator"
+						}
 					}
 				},
 				{
@@ -448,7 +451,10 @@
 						"navigationBarTitleText": "编辑场所",
 						"enablePullDownRefresh": false,
 						"navigationBarBackgroundColor": "#fff",
-						"navigationBarTextStyle": "black"
+						"navigationBarTextStyle": "black",
+						"usingComponents": {
+							"ocr-navigator": "plugin://ocr-plugin/ocr-navigator"
+						}
 					}
 				},
 				{
@@ -525,7 +531,10 @@
 						"navigationBarTitleText": "场所维护",
 						"enablePullDownRefresh": false,
 						"navigationBarBackgroundColor": "#fff",
-						"navigationBarTextStyle": "black"
+						"navigationBarTextStyle": "black",
+						"usingComponents": {
+							"ocr-navigator": "plugin://ocr-plugin/ocr-navigator"
+						}
 					}
 				},
 				{
@@ -1039,7 +1048,11 @@
 						"navigationBarTitleText": "反诈宣传",
 						"navigationBarBackgroundColor": "#fff",
 						"navigationBarTextStyle": "black",
-						"enablePullDownRefresh": false
+						"enablePullDownRefresh": false,
+						"usingComponents": {
+							"ocr-navigator": "plugin://ocr-plugin/ocr-navigator"
+						}
+
 					}
 				},
 				{
@@ -1106,7 +1119,10 @@
 						"navigationBarTitleText": "矛调矛排 ",
 						"navigationBarBackgroundColor": "#fff",
 						"navigationBarTextStyle": "black",
-						"enablePullDownRefresh": false
+						"enablePullDownRefresh": false,
+						"usingComponents": {
+							"ocr-navigator": "plugin://ocr-plugin/ocr-navigator"
+						}
 					}
 				}
 			]
diff --git a/pages/home/index.scss b/pages/home/index.scss
index 917daf3..b4efbaf 100644
--- a/pages/home/index.scss
+++ b/pages/home/index.scss
@@ -156,6 +156,8 @@
 		border-radius: 8rpx;
 		margin-right: 20rpx;
 		margin-top: 30rpx;
+		background-color:#2652A8;
+		// opacity: .8;
 
 		.cell-text {
 			margin-left: 16rpx;
diff --git a/pages/home/index.vue b/pages/home/index.vue
index e83e886..e772ccc 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -210,7 +210,7 @@
 				<u-collapse accordion :border="false" ref="myCollapse">
 					<u-collapse-item name="1" title="楼盘表"></uni-title>
 						<view class="flex flex-wrap">
-							<view class="cell bgc-main flex a-i-c" v-for="(item, index) in houseDataList.slice(0, 6)"
+							<view class="cell  flex a-i-c" v-for="(item, index) in houseDataList.slice(0, 6)"
 								@click.native="pushPage(item)" :key="index">
 								<u-icon name="/static/icon/floor.png" width="32rpx" height="32rpx"></u-icon>
 								<text class="cell-text f-26 fw c-ff">{{item.title}}</text>
diff --git a/pages/home/selectSite.vue b/pages/home/selectSite.vue
index 37905f7..fbc0dfc 100644
--- a/pages/home/selectSite.vue
+++ b/pages/home/selectSite.vue
@@ -19,7 +19,7 @@
 			<view class="">
 
 				<view class="nomore f-30" v-if="!list[selectIndex].children.length">
-					暂无{{selectIndex == 0?"房屋":"场所"}}信息
+					暂无{{selectIndex == 0?"房屋":"经营场所"}}信息
 				</view>
 
 				<view class="site-list f-30 flex j-c-s-b a-i-c" v-for="(i,k) in list[selectIndex].children"
diff --git a/subPackage/contradiction/edit.vue b/subPackage/contradiction/edit.vue
index fab50c8..a5ad82b 100644
--- a/subPackage/contradiction/edit.vue
+++ b/subPackage/contradiction/edit.vue
@@ -3,40 +3,68 @@
 		<u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="100"
 			:labelStyle="{fontSize:'30rpx'}">
 			<view class="content bgc-ff mb-20">
-				<u-form-item label="当事人1姓名" prop="nameOne" borderBottom required>
-					<u-input v-model="info.nameOne" border="none" placeholder="请输入当事人1姓名" placeholderClass="f-28 c-99"
-						inputAlign="right"></u-input>
-				</u-form-item>
-				<u-form-item label="当事人1手机号" prop="phoneOne" borderBottom required>
-					<u-input v-model="info.phoneOne" type="number" border="none" placeholder="请输入当事人1手机号"
-						placeholderClass="f-28 c-99" inputAlign="right"></u-input>
-				</u-form-item>
-				<u-form-item label="当事人1性别" prop="genderOne" borderBottom @click="showGenderPicker = true">
-					<u-input v-model="genderValue" border="none" placeholder="请选择当事人1性别" placeholderClass="f-28 c-99"
-						inputAlign="right" disabled disabledColor="#ffffff"></u-input>
-					<u-icon slot="right" name="arrow-right"></u-icon>
-				</u-form-item>
-				<u-form-item label="当事人1身份证号码" prop="idCardOne" borderBottom required>
-					<u-input v-model="info.idCardOne" type="idcard" border="none" placeholder="请输入当事人1身份证号码"
-						placeholderClass="f-28 c-99" inputAlign="right"></u-input>
-				</u-form-item>
-				<u-form-item label="当事人2姓名" prop="nameTwo" borderBottom required>
-					<u-input v-model="info.nameTwo" border="none" placeholder="请输入当事人2姓名" placeholderClass="f-28 c-99"
-						inputAlign="right"></u-input>
-				</u-form-item>
-				<u-form-item label="当事人2性别" prop="genderTwo" borderBottom @click="showGender2Picker = true">
-					<u-input v-model="genderValue2" border="none" placeholder="请选择当事人2性别" placeholderClass="f-28 c-99"
-						inputAlign="right" disabled disabledColor="#ffffff"></u-input>
-					<u-icon slot="right" name="arrow-right"></u-icon>
-				</u-form-item>
-				<u-form-item label="当事人2手机号" prop="phoneTwo" borderBottom ref="phoneTwo" required>
-					<u-input v-model="info.phoneTwo" type="number" border="none" placeholder="请输入当事人2手机号"
-						placeholderClass="f-28 c-99" inputAlign="right"></u-input>
-				</u-form-item>
-				<u-form-item label="当事人2身份证号码" prop="idCardTwo" required>
-					<u-input v-model="info.idCardTwo" type="idcard" border="none" placeholder="请输入当事人2身份证号码"
-						placeholderClass="f-28 c-99" inputAlign="right"></u-input>
-				</u-form-item>
+				<view class="">
+
+					<view class="form-caption flex j-c-s-b a-i-c">
+						<text class="f-32 fw">当事人1信息</text>
+						<ocr-navigator @onSuccess="recognizeSuccess($event,'one')" 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>
+					</view>
+					<u-form-item label="姓名" prop="nameOne" borderBottom required>
+						<u-input v-model="info.nameOne" border="none" placeholder="请输入当事人1姓名"
+							placeholderClass="f-28 c-99" inputAlign="right"></u-input>
+					</u-form-item>
+					<u-form-item label="手机号" prop="phoneOne" borderBottom required>
+						<u-input v-model="info.phoneOne" type="number" border="none" placeholder="请输入当事人1手机号"
+							placeholderClass="f-28 c-99" inputAlign="right"></u-input>
+					</u-form-item>
+					<u-form-item label="性别" prop="genderOne" borderBottom @click="showGenderPicker = true">
+						<u-input v-model="genderValue" border="none" placeholder="请选择当事人1性别"
+							placeholderClass="f-28 c-99" inputAlign="right" disabled disabledColor="#ffffff"></u-input>
+						<u-icon slot="right" name="arrow-right"></u-icon>
+					</u-form-item>
+					<u-form-item label="身份证号码" prop="idCardOne" borderBottom required>
+						<u-input v-model="info.idCardOne" type="idcard" border="none" placeholder="请输入当事人1身份证号码"
+							placeholderClass="f-28 c-99" inputAlign="right"></u-input>
+					</u-form-item>
+
+				</view>
+
+				<view class="">
+					<view class="form-caption flex j-c-s-b a-i-c">
+						<text class="f-32 fw">当事人2信息</text>
+						<ocr-navigator @onSuccess="recognizeSuccess($event,'two')" 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>
+					</view>
+
+					<u-form-item label="姓名" prop="nameTwo" borderBottom required>
+						<u-input v-model="info.nameTwo" border="none" placeholder="请输入当事人2姓名"
+							placeholderClass="f-28 c-99" inputAlign="right"></u-input>
+					</u-form-item>
+					<u-form-item label="性别" prop="genderTwo" borderBottom @click="showGender2Picker = true">
+						<u-input v-model="genderValue2" border="none" placeholder="请选择当事人2性别"
+							placeholderClass="f-28 c-99" inputAlign="right" disabled disabledColor="#ffffff"></u-input>
+						<u-icon slot="right" name="arrow-right"></u-icon>
+					</u-form-item>
+					<u-form-item label="手机号" prop="phoneTwo" borderBottom ref="phoneTwo" required>
+						<u-input v-model="info.phoneTwo" type="number" border="none" placeholder="请输入当事人2手机号"
+							placeholderClass="f-28 c-99" inputAlign="right"></u-input>
+					</u-form-item>
+					<u-form-item label="身份证号码" prop="idCardTwo" required>
+						<u-input v-model="info.idCardTwo" type="idcard" border="none" placeholder="请输入当事人2身份证号码"
+							placeholderClass="f-28 c-99" inputAlign="right"></u-input>
+					</u-form-item>
+				</view>
 			</view>
 
 			<view class="content bgc-ff">
@@ -469,6 +497,45 @@
 				this.info.eventTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
 			},
 
+
+			//识别成功
+			recognizeSuccess(e, key) {
+				let {
+					detail: {
+						name,
+						id,
+						address,
+						gender,
+						nationality
+					}
+				} = e;
+
+				if (key == "one") {
+					this.info.nameOne = name.text;
+					this.info.idCardOne = id.text;
+					this.genderValue = gender.text;
+					this.genderIndex = [this.getValue(this.genderList, gender.text).index];
+					this.info.genderOne = this.getValue(this.genderList, gender.text).value;
+				} else {
+					this.info.nameTwo = name.text;
+					this.info.idCardTwo = id.text;
+					this.genderValue2 = gender.text;
+					this.genderIndex2 = [this.getValue(this.genderList, gender.text).index];
+					this.info.genderTwo = this.getValue(this.genderList, gender.text).value;
+				}
+			},
+
+			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>
@@ -568,4 +635,15 @@
 	/deep/ .u-textarea__field {
 		text-align: right;
 	}
+
+	.form-caption {
+		padding: 20rpx 0;
+	}
+
+	.recognize-btn {
+		padding: 12rpx;
+		border-radius: 6rpx;
+		background-color: #3c9cff;
+		margin-left: 30rpx;
+	}
 </style>
\ No newline at end of file
diff --git a/subPackage/counterfraud/add.vue b/subPackage/counterfraud/add.vue
index 04216a4..07990ad 100644
--- a/subPackage/counterfraud/add.vue
+++ b/subPackage/counterfraud/add.vue
@@ -9,30 +9,21 @@
 			<u-icon name="arrow-right" size="20"></u-icon>
 		</view>
 
+		<u-form labelPosition="left" :model="info" ref="form" labelWidth="90" :labelStyle="{fontSize:'28rpx'}">
+			<view class="content bgc-ff">
 
-		<view class="content bgc-ff">
-			<u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90"
-				:labelStyle="{fontSize:'28rpx'}">
-
-
-				<u-form-item label="地址" prop="address" :borderBottom="false" v-if="!isScan">
+				<u-form-item label="地址" prop="address" required :borderBottom="false" v-if="!isScan">
 					<view class="address-row flex">
 						<view class="address-content f-28" v-if="info.address">
 							{{info.address}}
 						</view>
-						<view class="address-content f-28 c-99" v-if="!info.address">
+						<view class="address-content f-28 " style="color:#c0c4cc;" v-if="!info.address">
 							请选择地址
 						</view>
 						<view class="location-btn c-main f-24" @click="getLocation()">
 							获取地址
 						</view>
 					</view>
-					<!-- <u-input v-model="info.address" border="none"  placeholderClass="f-28 c-99"
-						inputAlign="right"    disabled  disabledColor="#fff">
-						<template slot="suffix">
-							<button class="location-btn c-main f-24"   @click="getLocation()">获取地址</button>
-						</template>
-					</u-input> -->
 				</u-form-item>
 
 				<u-form-item label="地址" borderBottom required v-if="isScan">
@@ -40,62 +31,110 @@
 						placeholderClass="f-28 c-99" inputAlign="right"></u-textarea>
 				</u-form-item>
 
-
-				<!-- 				<u-form-item label="业主姓名" borderBottom required v-if="isScan">
-					<u-input v-model="houseHoldInfo.name" border="none" disabled disabledColor="#fff"
-						placeholderClass="f-28 c-99" inputAlign="right"></u-input>
-				</u-form-item>
-				<u-form-item label="业主电话" borderBottom required v-if="isScan">
-					<u-input v-model="houseHoldInfo.phoneNumber" border="none" disabled disabledColor="#fff"
-						placeholderClass="f-28 c-99" inputAlign="right"></u-input>
-				</u-form-item> -->
-
-				<u-form-item label="问卷调查" borderBottom required prop="pubContent">
+				<u-form-item label="宣传内容" borderBottom prop="pubContent">
 					<u-textarea type="textarea" v-model="info.pubContent" border="none" placeholderClass="f-28 c-99"
-						inputAlign="right" placeholder="请输入问卷调查">
+						inputAlign="right" placeholder="请输入宣传内容">
 					</u-textarea>
 				</u-form-item>
-				<!-- <u-form-item label="走访时间" prop="workTime" :borderBottom="false" required @click="showSelectDate = true">
-					<u-input v-model="info.workTime" disabled disabledColor="#ffffff" border="none" placeholder="请选择"
-						placeholderClass="f-28 c-99" inputAlign="right"></u-input>
-					<u-icon slot="right" name="arrow-right"></u-icon>
-				</u-form-item> -->
-				<!-- <u-form-item label="房屋" prop="houseCode" :borderBottom="false"  required
-					@click="isShowScStatus = true">
-					<u-input v-model="info.scStatus" disabled disabledColor="#fff" border="none" placeholder="请选择"
-						placeholderClass="f-28 c-99" inputAlign="right"></u-input>
-					<u-icon slot="right" name="arrow-right"></u-icon>
-				</u-form-item> -->
-			</u-form>
-		</view>
-		<view class="upload bgc-ff">
-			<view class="f-28">宣传佐证照片</view>
-			<view class="mt-20">
-				<u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
-					:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
-					:capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic">
-					<view class="upload-item upload-icon flex_base">
-						<u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
-					</view>
-				</u-upload>
-			</view>
-		</view>
 
-		<view class="info mt-20 bgc-ff" v-if="isScan">
-			<caption-row title="房屋信息" />
-			<view class="info-row flex j-c-s-b a-i-c f-28">
-				<text>业主姓名</text>
-				<text>{{houseHoldInfo.name}}</text>
+				<!-- <u-form-item label="是否下载国家反诈app" labelWidth="120" prop="isFzApp">
+					<u-radio-group v-model="info.isFzApp">
+						<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList" :key="index"
+							:label="item.name" :name="item.id">
+						</u-radio>
+					</u-radio-group>
+
+				</u-form-item>
+				<u-form-item label="是否打开预警功能" labelWidth="120" prop="isOpenAlarm">
+					<u-radio-group v-model="info.isOpenAlarm">
+						<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList" :key="index"
+							:label="item.name" :name="item.id">
+						</u-radio>
+					</u-radio-group>
+				</u-form-item> -->
 			</view>
-			<view class="info-row flex j-c-s-b a-i-c f-28">
-				<text>业主手机号</text>
-				<text>{{houseHoldInfo.phoneNumber}}</text>
+			<view class="upload bgc-ff">
+				<view class="f-28">宣传佐证照片</view>
+				<view class="mt-20">
+					<u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
+						:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+						:maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImg"
+						@delete="deletePic">
+						<view class="upload-item upload-icon flex_base">
+							<u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
+						</view>
+					</u-upload>
+				</view>
 			</view>
-			<view class="info-row flex j-c-s-b a-i-c f-28" @click="navToHouse">
-				<text>查看更多</text>
-				<u-icon name="arrow-right"></u-icon>
+
+			<view class="info mt-20 bgc-ff" v-if="isScan">
+				<caption-row title="房屋信息" />
+				<view class="info-row flex j-c-s-b a-i-c f-28">
+					<text>业主姓名</text>
+					<text>{{houseHoldInfo.name}}</text>
+				</view>
+				<view class="info-row flex j-c-s-b a-i-c f-28">
+					<text>业主手机号</text>
+					<text>{{houseHoldInfo.phoneNumber}}</text>
+				</view>
+				<view class="info-row flex j-c-s-b a-i-c f-28" @click="navToHouse">
+					<text>查看更多</text>
+					<u-icon name="arrow-right"></u-icon>
+				</view>
 			</view>
-		</view>
+
+			<view class="info mt-20 bgc-ff" v-if="false">
+				<caption-row title="宣防对象" />
+				<view v-for="(item, index) in info.backblastPubPersonEntityList" :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>
+							<ocr-navigator @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>
+						</view>
+
+
+						<view>
+							<u-icon name="trash-fill" color="#ff0000" size="20" @click="delPerson(index)" />
+						</view>
+					</view>
+
+					<u-form-item label="姓名" borderBottom required>
+						<u-input v-model="info.backblastPubPersonEntityList[index].name" border="none"
+							placeholderClass="f-28 c-99" inputAlign="right" placeholder="请输入姓名"></u-input>
+					</u-form-item>
+					<u-form-item label="手机号" borderBottom required>
+						<u-input v-model="info.backblastPubPersonEntityList[index].telephone" border="none"
+							placeholderClass="f-28 c-99" inputAlign="right" placeholder="请输入手机号"></u-input>
+					</u-form-item>
+					<u-form-item label="身份证号" borderBottom required>
+						<u-input v-model="info.backblastPubPersonEntityList[index].idCard" type="idCard" border="none"
+							placeholderClass="f-28 c-99" inputAlign="right" placeholder="请输入身份证号"></u-input>
+					</u-form-item>
+					<u-form-item label="职业" borderBottom>
+						<u-input v-model="info.backblastPubPersonEntityList[index].occupation" border="none"
+							placeholderClass="f-28 c-99" inputAlign="right" placeholder="请输入职业"></u-input>
+					</u-form-item>
+					<u-form-item label="居住地" borderBottom>
+						<u-input v-model="info.backblastPubPersonEntityList[index].address" border="none"
+							placeholderClass="f-28 c-99" inputAlign="right" placeholder="请输入居住地"></u-input>
+					</u-form-item>
+
+
+
+				</view>
+				<view class="add-person" style="padding:20rpx 30rpx;">
+					<u-button type="success" plain @click="addPerson">再加一人</u-button>
+				</view>
+			</view>
+
+		</u-form>
+
 
 		<view class="blank"></view>
 
@@ -147,7 +186,8 @@
 	} from "@/api/doorplateAddress/doorplateAddress";
 
 	import {
-		addCounterfraud
+		addCounterfraud,
+		getCounterfraudDetail
 	} from "@/api/counterfraud/counterfraud.js"
 
 	import captionRow from "@/components/caption/caption.vue"
@@ -168,16 +208,19 @@
 					houseCode: "",
 					lng: "",
 					lat: "",
-					pubContent: ""
+					pubContent: "",
+					isFzApp: "",
+					isOpenAlarm: "",
+					backblastPubPersonEntityList: []
 				},
-				rules: {
-					address: [{
-						type: 'number',
-						required: true,
-						message: '请输入地址',
-						trigger: ['blur', 'change']
-					}]
-				},
+				// rules: {
+				// 	address: [{
+				// 		type: 'number',
+				// 		required: true,
+				// 		message: '请输入地址',
+				// 		trigger: ['blur', 'change']
+				// 	}]
+				// },
 				showSelectDate: false,
 				workTime: Number(new Date()),
 				isShowPicker: false,
@@ -198,7 +241,17 @@
 				isEdit: false,
 				id: "",
 				isScan: false, //是否扫码
-				houseHoldInfo: {}
+				houseHoldInfo: {},
+				statusList: [{
+						name: "是",
+						id: 1
+					},
+					{
+						name: "否",
+						id: 2
+					}
+				],
+				personList: []
 			}
 		},
 		// onLoad() {
@@ -222,7 +275,7 @@
 
 		onReady() {
 			//onReady 为uni-app支持的生命周期之一
-			this.$refs.form.setRules(this.rules)
+			// this.$refs.form.setRules(this.rules)
 		},
 
 		methods: {
@@ -326,47 +379,6 @@
 				this.isShowPicker = false;
 			},
 
-			//选择走访类型			
-			confirmType(e) {
-				console.log("type==>", e);
-				this.typeIndex = e.indexs;
-				this.info.type = e.value[0].dictKey;
-				this.typeName = e.value[0].dictValue;
-
-				if (e.value[0].dictKey == 1) {
-					this.info.personType = "";
-					this.keyword = "";
-					this.getHouseholdList();
-				}
-				this.isShowTypePicker = false;
-			},
-
-			//选择重点人群类型
-			confirmLabelType(e) {
-				this.labelIndex = e.indexs;
-				this.info.personType = e.value[0].id;
-				this.labelName = e.value[0].name;
-				this.isShowLabelPicker = false;
-				this.getHouseholdList();
-			},
-
-			//搜索住户
-			searchHousehold() {
-				this.getHouseholdList()
-			},
-
-			clearKeyword() {
-				this.keyword = "";
-				this.getHouseholdList()
-			},
-
-			//选择住户
-			selectHousehold(item) {
-				this.selectedHousehold = item;
-				this.info.householdId = item.id;
-				this.address = `${item.townStreetName}${item.neiName}${item.aoiName}${item.address || ""}`
-				this.isShowPopup = false;
-			},
 
 			checkImages() {
 				if (this.form.images.length) {
@@ -384,14 +396,39 @@
 
 
 			submitInfo() {
-				this.$refs.form.validate().then(valid => {
-					this.checkImages();
-					if (this.isEdit) {
-						this.updateWorkLogRequest()
-					} else {
-						this.addWorkLogRequest()
-					}
-				})
+
+				this.checkImages();
+				if (!this.info.address) {
+					this.$showTips("请选择地址")
+					return
+				}
+
+				// if (!this.info.backblastPubPersonEntityList.length) {
+				// 	this.$showTips("请添加宣防对象")
+				// 	return;
+				// } else {
+				// 	for (let i of this.info.backblastPubPersonEntityList) {
+				// 		if (!i.name) {
+				// 			this.$showTips("请完善宣防对象信息")
+				// 			return;
+				// 		}
+				// 		if (!i.telephone) {
+				// 			this.$showTips("请完善宣防对象信息")
+				// 			return;
+				// 		}
+				// 		if (!i.idCard) {
+				// 			this.$showTips("请完善宣防对象信息")
+				// 			return;
+				// 		}
+				// 	}
+				// }
+
+				if (this.isEdit) {
+					this.updateWorkLogRequest()
+				} else {
+					this.addWorkLogRequest()
+				}
+
 			},
 
 			addWorkLogRequest() {
@@ -494,6 +531,35 @@
 				uni.navigateTo({
 					url: `propagateRecord`
 				})
+			},
+
+			addPerson() {
+				let data = {
+					name: "",
+					telephone: "",
+					idCard: "",
+					address: "",
+					occupation: ""
+				}
+
+				this.info.backblastPubPersonEntityList.push(data)
+			},
+
+			delPerson(index) {
+				this.info.backblastPubPersonEntityList.splice(index, 1);
+			},
+
+
+
+			recognizePersonSuccess(e, index) {
+				let {
+					detail: {
+						name,
+						id,
+					}
+				} = e;
+				this.info.backblastPubPersonEntityList[index].name = name.text;
+				this.info.backblastPubPersonEntityList[index].idCard = id.text;
 			}
 
 
@@ -591,6 +657,7 @@
 		// background-color: #F5F5F5;
 		font-size: 28rpx;
 		padding: 2rpx 10rpx;
+		text-align: right;
 	}
 
 	.top {
@@ -663,4 +730,19 @@
 		color: #fff;
 		margin-top: 50rpx;
 	}
+
+	/deep/ .u-radio-group {
+		justify-content: flex-end;
+	}
+
+	/deep/ .u-textarea__field {
+		text-align: right;
+	}
+
+	.recognize-btn {
+		padding: 12rpx;
+		border-radius: 6rpx;
+		background-color: #3c9cff;
+		margin-left: 30rpx;
+	}
 </style>
\ No newline at end of file
diff --git a/subPackage/counterfraud/dispose.vue b/subPackage/counterfraud/dispose.vue
index ea00db2..bde3933 100644
--- a/subPackage/counterfraud/dispose.vue
+++ b/subPackage/counterfraud/dispose.vue
@@ -11,9 +11,8 @@
 
 
 		<view class="content bgc-ff">
-			<u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90"
-				:labelStyle="{fontSize:'28rpx'}">
-				<u-form-item label="地址" prop="address" :borderBottom="false" v-if="!isScan">
+			<u-form labelPosition="left" :model="info" ref="form" labelWidth="90" :labelStyle="{fontSize:'28rpx'}">
+				<u-form-item label="地址" prop="address" required :borderBottom="false" v-if="!isScan">
 					<view class="address-row flex">
 						<view class="address-content f-28" v-if="info.address">
 							{{info.address}}
@@ -132,28 +131,28 @@
 					lat: "",
 					recContent: ""
 				},
-				rules: {
-					// 'name': {
-					// 	type: 'string',
-					// 	required: true,
-					// 	message: '请输入姓名',
-					// 	trigger: ['blur', 'change']
-					// },
-					// 'phone': {
-					// 	type: 'string',
-					// 	required: true,
-					// 	message: '请输入手机号',
-					// 	trigger: ['blur', 'change']
-					// },
+				// rules: {
+				// 	// 'name': {
+				// 	// 	type: 'string',
+				// 	// 	required: true,
+				// 	// 	message: '请输入姓名',
+				// 	// 	trigger: ['blur', 'change']
+				// 	// },
+				// 	// 'phone': {
+				// 	// 	type: 'string',
+				// 	// 	required: true,
+				// 	// 	message: '请输入手机号',
+				// 	// 	trigger: ['blur', 'change']
+				// 	// },
 
 
-					address: [{
-						type: 'number',
-						required: true,
-						message: '请输入地址',
-						trigger: ['blur', 'change']
-					}]
-				},
+				// 	address: [{
+				// 		type: 'number',
+				// 		required: true,
+				// 		message: '请输入地址',
+				// 		trigger: ['blur', 'change']
+				// 	}]
+				// },
 				showSelectDate: false,
 				workTime: Number(new Date()),
 				isShowPicker: false,
@@ -198,7 +197,7 @@
 
 		onReady() {
 			//onReady 为uni-app支持的生命周期之一
-			this.$refs.form.setRules(this.rules)
+			// this.$refs.form.setRules(this.rules)
 		},
 
 		methods: {
@@ -360,14 +359,18 @@
 
 
 			submitInfo() {
-				this.$refs.form.validate().then(valid => {
-					this.checkImages();
-					if (this.isEdit) {
-						this.updateWorkLogRequest()
-					} else {
-						this.addWorkLogRequest()
-					}
-				})
+
+				this.checkImages();
+				if (!this.info.address) {
+					this.$showTips("请选择地址")
+					return
+				}
+				if (this.isEdit) {
+					this.updateWorkLogRequest()
+				} else {
+					this.addWorkLogRequest()
+				}
+
 			},
 
 			addWorkLogRequest() {
diff --git a/subPackage/counterfraud/propagateDetail.vue b/subPackage/counterfraud/propagateDetail.vue
index 82acdbb..c2e8025 100644
--- a/subPackage/counterfraud/propagateDetail.vue
+++ b/subPackage/counterfraud/propagateDetail.vue
@@ -6,7 +6,7 @@
 				<text class="address">{{detail.address}}</text>
 			</view>
 			<view class="item-row flex j-c-s-b a-i-c" v-if="detail.pubContent">
-				<text>问卷调查</text>
+				<text>宣传内容</text>
 				<text class="address">{{detail.pubContent}}</text>
 			</view>
 
diff --git a/subPackage/house/family/index.vue b/subPackage/house/family/index.vue
index 0f6023f..0be1a29 100644
--- a/subPackage/house/family/index.vue
+++ b/subPackage/house/family/index.vue
@@ -120,7 +120,7 @@
 						</view>
 					</u-collapse-item>
 
-					<u-collapse-item class="sp-list" v-if="shopType == 1" style="border: none;" title="商铺"
+					<u-collapse-item class="sp-list" v-if="shopType == 1" style="border: none;" title="自建房/商铺"
 						:icon="'/static/icon/group.png'">
 						<view class="sp-list-box">
 							<view class="house-list-box flex" v-for="(item, index) in shopList" :name="index"
diff --git a/subPackage/police/policeSituationDetail.vue b/subPackage/police/policeSituationDetail.vue
index f6558b6..6d396e5 100644
--- a/subPackage/police/policeSituationDetail.vue
+++ b/subPackage/police/policeSituationDetail.vue
@@ -74,7 +74,14 @@
 			keyName="name" @confirm="typeSelect"></u-picker>
 		<u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="workTime" mode="datetime"
 			:formatter="formatter" @confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker>
-		<footer-btn @click="submitInfo" text="保存" />
+		<!-- <footer-btn @click="submitInfo" text="保存" /> -->
+
+		<view class="footer flex j-c-s-b a-i-c bgc-ff">
+			<button class="address-btn footer-btn c-main " @click="onLocation">导航</button>
+			<button class="save-btn footer-btn c-ff" @click="submitInfo">保存</button>
+		</view>
+
+
 
 	</view>
 
@@ -346,6 +353,16 @@
 				uni.navigateBack();
 			},
 
+			onLocation() {
+				uni.openLocation({
+					latitude: Number(this.info.latitude),
+					longitude: Number(this.info.longitude),
+					address: this.info.address,
+					complete: (res) => {
+						console.log("complate==>", res)
+					}
+				})
+			}
 		}
 	}
 </script>
@@ -386,25 +403,7 @@
 		}
 	}
 
-	.footer {
-		width: 100%;
-		padding: 30rpx;
-		position: fixed;
-		bottom: 0;
-		left: 0;
-		z-index: 10;
-		box-sizing: border-box;
 
-		.footer-btn {
-			width: 100%;
-			height: 78rpx;
-			line-height: 78rpx;
-			background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
-			border-radius: 8rpx;
-			color: #fff;
-			font-size: 32rpx;
-		}
-	}
 
 	.popup-content {
 		width: 100%;
@@ -440,4 +439,40 @@
 		font-size: 28rpx;
 		padding: 2rpx 10rpx;
 	}
+
+	.footer {
+		width: 100%;
+		padding: 20rpx 30rpx;
+		box-sizing: border-box;
+		z-index: 999;
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		background-color: #fff;
+		padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
+		box-shadow: 0rpx 0rpx 10rpx 1rpx rgba(0, 0, 0, 0.1);
+
+		.footer-btn {
+			width: 48%;
+			height: 78rpx;
+			line-height: 78rpx;
+			border-radius: 8rpx 8rpx 8rpx 8rpx;
+			font-size: 32rpx;
+		}
+
+		.add-btn {
+			width: 100%;
+			background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
+		}
+
+		.address-btn {
+			border: 1px solid currentColor;
+			background-color: #fff;
+
+		}
+
+		.save-btn {
+			background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
+		}
+	}
 </style>
\ No newline at end of file
diff --git a/subPackage/workbench/views/cscj.vue b/subPackage/workbench/views/cscj.vue
index 870d409..c236991 100644
--- a/subPackage/workbench/views/cscj.vue
+++ b/subPackage/workbench/views/cscj.vue
@@ -144,8 +144,17 @@
 				</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>
+						<ocr-navigator v-if="!currentId" @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>
 					</view>
 					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
 						label="场所负责人:" prop="principal">
@@ -165,9 +174,21 @@
 				</view>
 
 				<view class="item" v-if="isLegalSame != 1 && !currentId">
-					<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>
+						<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>
 					</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="请输入">
@@ -188,9 +209,22 @@
 
 
 				<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>
+						<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>
 					</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="请输入">
@@ -238,7 +272,18 @@
 				</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 class="flex j-c-s-b a-i-c">
+							<view class="title fw" style="text-align:center; mr-20">人员信息-#{{ index*1 + 1 }}</view>
+							<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>
+						</view>
+
+
 						<view>
 							<u-icon name="trash-fill" color="#ff0000" size="20" @click="deletePerson(index)" />
 						</view>
@@ -1290,7 +1335,71 @@
 			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>
@@ -1437,4 +1546,11 @@
 		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
diff --git a/subPackage/workbench/views/editCscj.vue b/subPackage/workbench/views/editCscj.vue
index 6e79a88..b51deee 100644
--- a/subPackage/workbench/views/editCscj.vue
+++ b/subPackage/workbench/views/editCscj.vue
@@ -109,32 +109,19 @@
 					</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">
-					<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>
+						<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>
 					</view>
 					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
 						label="场所负责人:" prop="principal">
@@ -155,8 +142,50 @@
 
 
 				<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>
+						<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>
+					</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>
+						<ocr-navigator @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>
 					</view>
 					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
 						label="姓名:" prop="landlordName">
@@ -203,7 +232,16 @@
 				</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 class="flex j-c-s-b a-i-c">
+							<view class="title fw" style="text-align:center; mr-20">人员信息-#{{ index*1 + 1 }}</view>
+							<ocr-navigator @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>
+						</view>
 						<view>
 							<u-icon name="trash-fill" color="#ff0000" size="20" @click="deletePerson(index)" />
 						</view>
@@ -1179,7 +1217,71 @@
 			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].gender = [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>
@@ -1323,4 +1425,11 @@
 		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
diff --git a/subPackage/workbench/views/editExamine.vue b/subPackage/workbench/views/editExamine.vue
index 793259a..2520791 100644
--- a/subPackage/workbench/views/editExamine.vue
+++ b/subPackage/workbench/views/editExamine.vue
@@ -91,8 +91,16 @@
 
 				<view class="item bgc-ff mt-20">
 
-					<view class="box-title">
-						<box-title title="房东信息"></box-title>
+					<view class="flex j-c-s-b a-i-c" style="padding-top:12rpx;">
+						<view class="box-title" style="width:50%;">
+							<box-title title="房东信息"></box-title>
+						</view>
+						<ocr-navigator @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>
 					</view>
 					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
 						label="姓名:" prop="landlordName">
@@ -140,12 +148,23 @@
 				</view>
 			</view>
 			<view class="practitioner">
-				<view style="padding:20rpx 30rpx;">
+				<view>
 					<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 class="flex j-c-s-b a-i-c">
+							<view class="title fw" style="text-align:center; mr-20">人员信息-#{{ index*1 + 1 }}</view>
+							<ocr-navigator @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>
+						</view>
+
 						<view>
 							<u-icon name="trash-fill" color="#ff0000" size="20" @click="deletePerson(index)" />
 						</view>
@@ -568,7 +587,57 @@
 			deletePerson(index) {
 				this.personNum--;
 				this.personNumArr.splice(index, 1)
+			},
+
+			//识别成功
+			recognizeSuccess(e, key) {
+				let {
+					detail: {
+						name,
+						id
+					}
+				} = e;
+
+				this.form.landlordName = name.text;
+				this.form.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>
@@ -689,4 +758,11 @@
 		padding: 0 30rpx;
 		border-radius: 8rpx;
 	}
+
+	.recognize-btn {
+		padding: 12rpx;
+		border-radius: 6rpx;
+		background-color: #3c9cff;
+		margin-left: 30rpx;
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3