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/editExamine.vue | 300 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 237 insertions(+), 63 deletions(-)
diff --git a/subPackage/workbench/views/editExamine.vue b/subPackage/workbench/views/editExamine.vue
index e31de9c..ba74d70 100644
--- a/subPackage/workbench/views/editExamine.vue
+++ b/subPackage/workbench/views/editExamine.vue
@@ -16,34 +16,32 @@
<u--input border="none" v-model="jwd" placeholder="请选择场所位置" disabled
disabledColor="#ffffff"></u--input>
</u-form-item>
- <u-form-item class="form-item" label="标准地址" required prop="houseCodeBinds"
+ <!-- <u-form-item class="form-item" label="标准地址" required prop="houseCodeBinds"
@click="isShowPopup = true">
<u--input v-if="!addressNames.length" border="none" disabled disabledColor="#ffffff"
placeholder="请选择标准地址">
</u--input>
- <!-- <u-textarea v-if="addressNames" border="none" :disabled="true" disabledColor="#ffffff"
- v-model="addressNames" placeholder="请选择标准地址">
- </u-textarea> -->
+
<view v-if="addressNames.length">
<view class="f-28" v-for="i in addressNames">
{{i}}
</view>
</view>
<u-icon slot="right" name="arrow-right"></u-icon>
- </u-form-item>
+ </u-form-item> -->
<u-form-item label="场所名称" required class="form-item" prop="placeName">
<u--input border="none" v-model="form.placeName" placeholder="请填写场所名称"></u--input>
</u-form-item>
<u-form-item label="法人信息" required class="form-item" prop="legalPerson">
<u--input border="none" v-model="form.legalPerson" placeholder="请填写法人信息"></u--input>
</u-form-item>
- <u-form-item label="法人身份证" :required="isRequired" class="form-item" prop="legalIdCard">
+ <!-- <u-form-item label="法人身份证" :required="isRequired" class="form-item" prop="legalIdCard">
<u--input border="none" v-model="form.legalIdCard" placeholder="请填写法人身份证"></u--input>
- </u-form-item>
- <u-form-item label="法人电话" class="form-item" prop="legalTel" :required="isRequired">
+ </u-form-item> -->
+ <u-form-item label="法人电话" class="form-item" prop="legalTel" required>
<u--input border="none" type="number" v-model="form.legalTel" placeholder="请填写法人电话"></u--input>
</u-form-item>
- <u-form-item class="form-item" :required="isRequired" :disabled="isDisabled" label="微信号:"
+ <!-- <u-form-item class="form-item" :required="isRequired" :disabled="isDisabled" label="微信号:"
prop="legalWxAccount">
<u--input border="none" type="idcard" v-model="form.legalWxAccount" placeholder="请输入">
</u--input>
@@ -86,15 +84,24 @@
prop="legalTempAddress">
<u--textarea border="none" type="idcard" v-model="form.legalTempAddress" placeholder="请输入">
</u--textarea>
- </u-form-item>
+ </u-form-item> -->
</view>
- <view class="item bgc-ff mt-20">
-
- <view class="box-title">
- <box-title title="房东信息"></box-title>
+ <view class="item bgc-ff mt-20" v-if="roleAlias !='xyzt'">
+ <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>
+ <!-- #ifdef MP-WEIXIN -->
+ <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>
+ <!-- #endif -->
</view>
<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
label="姓名:" prop="landlordName">
@@ -103,7 +110,7 @@
</u-form-item>
<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
label="身份证号:" prop="landlordIdCard">
- <u--input border="none" v-model="form.landlordIdCard" placeholder="请输入">
+ <u--input border="none" type="idcard" v-model="form.landlordIdCard" placeholder="请输入">
</u--input>
</u-form-item>
<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
@@ -113,12 +120,61 @@
</u-form-item>
<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
label="微信号:" prop="landlordWxAccount">
- <u--input border="none" type="idcard" v-model="form.landlordWxAccount" placeholder="请输入">
+ <u--input border="none" v-model="form.landlordWxAccount" placeholder="请输入">
</u--input>
</u-form-item>
-
</view>
</u-form>
+
+ <view class="item bgc-ff mt-20" v-if="cateId == 160102 || cateId == 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.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.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.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.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.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.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.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.housemasterNumber" placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ </view>
+
+
<view class="license">
<box-title title="营业执照"></box-title>
<view class="upload-img">
@@ -142,13 +198,36 @@
</view>
</view>
<view class="practitioner">
- <box-title title="从业人员信息"></box-title>
- <view class="info" v-for="(item, index) in personNum" :key="index">
- <view class="title">人员信息-#{{ index*1 + 1 }}</view>
+ <view v-if="roleAlias ==='xyzt'">
+ <box-title title="教职工信息"></box-title>
+ </view>
+ <view v-else>
+ <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 @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="add-person">
+ <view class="add-person" style="padding:20rpx 30rpx;" v-if="!currentId">
<u-button type="success" plain @click="addPerson">再加一人</u-button>
</view>
</view>
@@ -206,9 +285,6 @@
import {
minioBaseUrl
} from '@/common/setting'
-
-
-
import {
getPlaceList
} from '@/api/place/place.js'
@@ -238,7 +314,21 @@
legalAge: "",
legalJobNature: "",
legalRegisteredAddress: "",
- legalTempAddress: ""
+ legalTempAddress: "",
+ images: [],
+ landlordName: "",
+ landlordPhone: "",
+ landlordIdCard: "",
+ landlordWxAccount: "",
+
+ studentNumber: "",
+ workersNumber: "",
+ securityNumber: "",
+ guardNumber: "",
+ temporarySecurityNumber: "",
+ dayStudentsNumber: "",
+ residentialStudentsNumber: "",
+ housemasterNumber: ""
},
rules: {
"location": {
@@ -270,7 +360,7 @@
}
]
},
- personNum: 1,
+ personNum: 0,
curSelectSite: {},
jwd: "",
placeList: [],
@@ -292,7 +382,10 @@
genderIndex: [0],
genderValue: "",
showNationPicker: false,
- showGenderPicker: false
+ showGenderPicker: false,
+ personNumArr: [],
+ cateId: "",
+ roleAlias: uni.getStorageSync("activeRole").roleAlias,
}
},
onShow() {
@@ -304,9 +397,11 @@
this.$refs.form.setRules(this.rules)
},
-
- async mounted() {
+ async onLoad() {
await this.getBizDict();
+ },
+
+ mounted() {
this.getCsDetails();
},
@@ -315,44 +410,35 @@
// 获取民族
getBizDict() {
- const param = {
- code: "nationType"
- }
- bizDictionary(param).then(res => {
- if (res.code == 200) {
- res.data.forEach(e => {
- this.nationTypeList.push({
- name: e.dictValue,
- value: Number(e.dictKey)
- })
- })
+ return new Promise(resolve => {
+ const param = {
+ code: "nationType"
}
- })
-
-
-
+ bizDictionary(param).then(res => {
+ if (res.code == 200) {
+ res.data.forEach(e => {
+ this.nationTypeList.push({
+ name: e.dictValue,
+ value: Number(e.dictKey)
+ })
+ })
+ }
+ })
+ });
},
-
checkboxChange(n) {
console.log('change', n);
let list = n;
let ids = [];
let names = []
-
for (let i = 0, ii = list.length; i < ii; i++) {
-
ids.push(this.placeList[list[i]].addressCode)
names.push(this.placeList[list[i]].addressName)
}
-
-
this.$set(this.form, "houseCodeBinds", ids.join(","))
this.addressNames = names;
-
-
-
},
getPlace(location) {
@@ -363,7 +449,6 @@
this.placeList = res.data;
})
},
-
getLocation() {
uni.chooseLocation({
@@ -380,11 +465,11 @@
}
})
},
+
getCsDetails() {
getPlaceDetail({
placeId: this.curSelectSite.id
}).then(detailRes => {
-
const {
code,
data
@@ -400,8 +485,7 @@
if (data.lat) {
this.jwd = `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`
}
-
-
+ this.cateId = data.poiCode;
const placePractitioner = data?.placePractitioner || []
// Object.keys(this.form).forEach(key => {
// this.form[key] = data[key]
@@ -435,16 +519,34 @@
}
this.personNum = placePractitioner.length
+ this.personNumArr = placePractitioner;
// const componetns = this.$refs.formItemRef || []
placePractitioner.forEach((item, index) => {
this.$nextTick(() => {
+ if (item.ethnicity) {
+ let obj = this.$getIndex(this.nationTypeList, item.ethnicity,
+ "value", "name")
+ console.log("ethnicity==>", obj)
+ if (obj) {
+ 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
})
})
-
- // this.$refs.formItemRef.forEach((item, index) => {
- // item.form = placePractitioner[index]
- // })
})
},
@@ -519,14 +621,19 @@
})
})
},
- addPerson() {
- this.personNum++
- },
+
submit() {
if (this.personNum > 0) {
const placePractitioner = []
this.$refs.formItemRef.forEach(item => {
+ console.log("item====>", item);
item.form.placeId = this.form.placeId
+ if (item.form.employerImg == null) {
+ item.form.employerImg = "";
+ } else {
+ item.form.employerImg = this.$formattingUrls(item.form.employerImg);
+ }
+ // item.form.employerImg = "";
placePractitioner.push(item.form)
})
this.form.placePractitioner = placePractitioner
@@ -541,7 +648,67 @@
pushPage() {
this.$u.func.globalNavigator(`/subPackage/workbench/views/cshw?placeId=${this.form.placeId}`)
+ },
+
+ addPerson() {
+ this.personNum++
+ this.personNumArr.push(1)
+ },
+
+ 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>
@@ -662,4 +829,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