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