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 | 924 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 765 insertions(+), 159 deletions(-)
diff --git a/subPackage/workbench/views/editExamine.vue b/subPackage/workbench/views/editExamine.vue
index d7edc75..ba74d70 100644
--- a/subPackage/workbench/views/editExamine.vue
+++ b/subPackage/workbench/views/editExamine.vue
@@ -1,233 +1,839 @@
<template>
- <div class="container">
- <view class="">
- <box-title title="基本信息"></box-title>
- <u-form labelWidth="70" :model="form" :rules="rules" ref="form" class="form">
- <u-form-item label="场所位置" required class="form-item" prop="localtion">
- <u--input border="none" v-model="form.localtion"></u--input>
- </u-form-item>
- <u-form-item label="场所名称" required class="form-item" prop="placeName">
- <u--input border="none" v-model="form.placeName"></u--input>
- </u-form-item>
- <u-form-item label="法人信息" required class="form-item" prop="legalPerson">
- <u--input border="none" v-model="form.legalPerson"></u--input>
- </u-form-item>
- <u-form-item label="法人电话" class="form-item">
- <u--input border="none" v-model="form.legalTel"></u--input>
- </u-form-item>
+ <view class="container">
+ <view class="main-content">
+
+ <u-form labelWidth="80" :model="form" :rules="rules" ref="form" class="form">
+
+ <view class="base">
+ <box-title :title="'基本信息'"></box-title>
+
+ <u-form-item label="场所位置" required class="form-item" prop="location" @click="getLocation">
+ <u--textarea border="none" v-model="form.location" placeholder="请选择场所位置"></u--textarea>
+ <u-icon slot="right" name="arrow-right"></u-icon>
+ </u-form-item>
+
+ <u-form-item label="经纬度" required class="form-item">
+ <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"
+ @click="isShowPopup = true">
+ <u--input v-if="!addressNames.length" border="none" disabled disabledColor="#ffffff"
+ placeholder="请选择标准地址">
+ </u--input>
+
+ <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 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--input border="none" v-model="form.legalIdCard" placeholder="请填写法人身份证"></u--input>
+ </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="微信号:"
+ prop="legalWxAccount">
+ <u--input border="none" type="idcard" v-model="form.legalWxAccount" placeholder="请输入">
+ </u--input>
+ </u-form-item>
+
+ <u-form-item @click="showGenderPicker = true" class="form-item" label="性别" prop="legalGender">
+ <u--input border="none" v-model="genderValue" disabled disabledColor="#ffffff"
+ placeholder="请选择性别">
+ </u--input>
+ <u-icon slot="right" name="arrow-right"></u-icon>
+ </u-form-item>
+ <u-form-item class="form-item" :required="isRequired" :disabled="isDisabled" label="年龄:"
+ prop="legalAge">
+ <u--input border="none" type="number" v-model="form.legalAge" placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ <u-form-item @click="showNationPicker = true" class="form-item" label="民族" prop="ethnicity">
+ <u--input border="none" v-model="nationValue" disabled disabledColor="#ffffff"
+ placeholder="请选择民族">
+ </u--input>
+ <u-icon slot="right" name="arrow-right"></u-icon>
+ </u-form-item>
+ <u-form-item class="form-item" :required="isRequired" :disabled="isDisabled" label="工作单位:"
+ prop="employer">
+ <u--input border="none" type="idcard" v-model="form.employer" placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ <u-form-item class="form-item" :required="isRequired" :disabled="isDisabled" label="岗位性质:"
+ prop="legalJobNature">
+ <u--input border="none" type="idcard" v-model="form.legalJobNature" placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ <u-form-item class="form-item" :required="isRequired" :disabled="isDisabled" label="户籍地址:"
+ prop="legalRegisteredAddress">
+ <u--textarea border="none" type="idcard" v-model="form.legalRegisteredAddress"
+ placeholder="请输入">
+ </u--textarea>
+ </u-form-item>
+ <u-form-item class="form-item" :required="isRequired" :disabled="isDisabled" label="居住地址:"
+ prop="legalTempAddress">
+ <u--textarea border="none" type="idcard" v-model="form.legalTempAddress" placeholder="请输入">
+ </u--textarea>
+ </u-form-item> -->
+
+ </view>
+
+
+ <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">
+ <u--input border="none" v-model="form.landlordName" placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+ label="身份证号:" prop="landlordIdCard">
+ <u--input border="none" type="idcard" v-model="form.landlordIdCard" placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+ label="手机号:" prop="landlordPhone">
+ <u--input border="none" type="number" v-model="form.landlordPhone" placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+ label="微信号:" prop="landlordWxAccount">
+ <u--input border="none" v-model="form.landlordWxAccount" placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ </view>
</u-form>
- </view>
- <view class="">
- <box-title title="营业执照"></box-title>
- <view class="upload-img">
- <u-upload :fileList="form.imageUrls" :previewFullImage="uploadConfig.previewFullImage"
- :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
- :capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic">
- </u-upload>
+
+ <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">
+ <u-upload :fileList="form.imageUrls" :previewFullImage="uploadConfig.previewFullImage"
+ :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+ uploadIcon="/static/icon/upload.png" :maxCount="uploadConfig.maxCount"
+ :capture="uploadConfig.capture" @afterRead="afterReadImg($event,'imageUrls')"
+ @delete="deletePic($event,'imageUrls')">
+ </u-upload>
+ </view>
+ </view>
+ <view class="upload">
+ <box-title title="场所平面图"></box-title>
+ <view class="upload-img">
+ <u-upload :fileList="form.planImageUrls" :previewFullImage="uploadConfig.previewFullImage"
+ :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+ uploadIcon="/static/icon/upload.png" :maxCount="uploadConfig.maxCount"
+ :capture="uploadConfig.capture" @afterRead="afterReadImg($event,'planImageUrls')"
+ @delete="deletePic($event,'planImageUrls')">
+ </u-upload>
+ </view>
+ </view>
+ <view class="practitioner">
+ <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" style="padding:20rpx 30rpx;" v-if="!currentId">
+ <u-button type="success" plain @click="addPerson">再加一人</u-button>
+ </view>
</view>
</view>
- <view class="">
- <box-title title="场所平面图"></box-title>
- <view class="upload-img">
- <u-upload :fileList="form.planImageUrls" :previewFullImage="uploadConfig.previewFullImage"
- :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
- :capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic">
- </u-upload>
+
+
+ <u-popup :show="isShowPopup" mode="bottom" :round="12" closeable="true" @close="isShowPopup = false">
+ <view class="popup-content">
+ <view class="popup-title f-30">选择标准地址</view>
+ <scroll-view class="popup-list" :scroll-y="true">
+ <u-checkbox-group v-model="checkedPlace" iconPlacement="right" placement="column"
+ @change="checkboxChange" shape="circle">
+ <view class="popup-list-item flex j-c-s-b" v-for="(i,k) in placeList" :key="k">
+ <text class="f-28" style="width:85%">{{i.addressName}}</text>
+ <u-checkbox :name="k"></u-checkbox>
+ </view>
+
+ </u-checkbox-group>
+ </scroll-view>
+
</view>
- </view>
- <view class="practitioner">
- <box-title title="从业人员信息"></box-title>
- <view class="info" v-for="i in personNum" :key="i">
- <view class="title">人员信息-#{{ i }}</view>
- <formItem ref="formItemRef"></formItem>
+
+ </u-popup>
+
+ <u-picker :defaultIndex="nationTypeListIndex" :closeOnClickOverlay="true" :show="showNationPicker"
+ :columns="[nationTypeList]" @close="showNationPicker = false" @cancel="showNationPicker = false"
+ keyName="name" @confirm="confirmNation"></u-picker>
+
+ <u-picker :defaultIndex="genderIndex" :closeOnClickOverlay="true" :show="showGenderPicker" :columns="[gender]"
+ @close="showGenderPicker = false" @cancel="showGenderPicker = false" keyName="name"
+ @confirm="confirmGender"></u-picker>
+
+
+ <footer-btn @click="submit"></footer-btn>
+
+ <!-- <view class="btn-group">
+ <view>
+ <u-button type="primary" @click="submit">提交</u-button>
</view>
- </view>
- <u-button type="success" plain class="add-person" @click="addPerson">在加一人</u-button>
- <view class="btn-group">
- <u-button class="btn-item" type="primary" @click="submit">提交</u-button>
- <u-button class="btn-item" @click="pushPage">我上报的事件</u-button>
- </view>
- </div>
+ <view class="mt-20">
+ <u-button @click="pushPage">我上报的事件</u-button>
+ </view>
+ </view> -->
+ </view>
</template>
<script>
import {
- updatePlaceExtData,
+ updatePlaceExtData,
getPlaceDetail
} from '@/api/placeExp/placeExp.js'
- import uploadMixin from "@/mixin/uploadMixin";
- import boxTtitle from '@/components/boxTitle/index.vue'
+ import uploadMixin from "@/mixin/uploadMixinPlace";
+ import boxTitle from "@/subPackage/workbench/components/boxTitle/index.vue"
import formItem from '../components/formItem.vue'
+ import {
+ minioBaseUrl
+ } from '@/common/setting'
+ import {
+ getPlaceList
+ } from '@/api/place/place.js'
+ import {
+ bizDictionary
+ } from '@/api/system/dict.js'
export default {
mixins: [uploadMixin],
components: {
- formItem
+ formItem,
+ boxTitle
},
data() {
return {
- form: {
- id: '',
+ form: {
+ id: '',
placeId: '',
- localtion: '',
+ location: '',
placeName: '',
legalPerson: '',
legalTel: '',
imageUrls: [],
- planImageUrls: []
+ planImageUrls: [],
+ houseCodeBinds: "",
+ legalWxAccount: "",
+ employer: "",
+ legalAge: "",
+ legalJobNature: "",
+ legalRegisteredAddress: "",
+ legalTempAddress: "",
+ images: [],
+ landlordName: "",
+ landlordPhone: "",
+ landlordIdCard: "",
+ landlordWxAccount: "",
+
+ studentNumber: "",
+ workersNumber: "",
+ securityNumber: "",
+ guardNumber: "",
+ temporarySecurityNumber: "",
+ dayStudentsNumber: "",
+ residentialStudentsNumber: "",
+ housemasterNumber: ""
},
rules: {
- localtion: {
+ "location": {
required: true,
message: '请选择地址',
trigger: ['blur', 'change']
},
- placeName: {
+ "placeName": {
required: true,
message: '请填写场所名称',
trigger: ['blur', 'change']
},
- legalPerson: {
+ "legalPerson": {
required: true,
message: '请填写法人信息',
trigger: ['blur', 'change']
- }
+ },
+ "legalTel": [{
+ required: true,
+ message: '请填写法人电话',
+ trigger: ['blur', 'change']
+ },
+ {
+ validator: (rule, value, callback) => {
+ return uni.$u.test.mobile(value);
+ },
+ message: '手机号码不正确',
+ trigger: ['change', 'blur']
+ }
+ ]
},
- personNum: 1,
+ personNum: 0,
curSelectSite: {},
+ jwd: "",
+ placeList: [],
+ isShowPopup: false,
+ checkedPlace: [],
+ addressNames: [],
+ nationTypeList: [], //民族
+ nationTypeIndex: [0],
+ nationValue: "",
+ gender: [{ //性别
+ value: 1,
+ name: '男',
+ },
+ {
+ value: 0,
+ name: '女',
+ }
+ ],
+ genderIndex: [0],
+ genderValue: "",
+ showNationPicker: false,
+ showGenderPicker: false,
+ personNumArr: [],
+ cateId: "",
+ roleAlias: uni.getStorageSync("activeRole").roleAlias,
}
},
onShow() {
- this.curSelectSite = uni.getStorageSync('siteInfo')
- this.getCsDetails()
+ this.curSelectSite = uni.getStorageSync('siteInfo')
+
},
- methods: {
- getCsDetails() {
- getPlaceDetail({
- placeId: this.curSelectSite.id
- }).then(detailRes => {
- const { code, data } = detailRes
- if (code !== 200) {
- uni.showToast({
- title: '数据请求失败',
- icon: 'error'
- })
- return
- }
- const placePractitioner = data?.placePractitioner || []
- Object.keys(this.form).forEach(key => {
- this.form[key] = data[key]
- if(key === 'imageUrls' || key === 'planImageUrls') {
- this.form[key] = []
- !!data[key] && this.form[key].push()
- }
- })
- this.personNum = placePractitioner.length
- this.$nextTick(() => {
- console.log(placePractitioner);
- this.$refs.formItemRef.forEach((item, index) => {
- item.form = placePractitioner[index]
- })
- })
- })
+ onReady() {
+ //onReady 为uni-app支持的生命周期之一
+ this.$refs.form.setRules(this.rules)
+
+ },
+ async onLoad() {
+ await this.getBizDict();
+ },
+
+ mounted() {
+ this.getCsDetails();
+ },
+
+ methods: {
+
+
+ // 获取民族
+ getBizDict() {
+ 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)
+ })
+ })
+ }
+ })
+ });
},
- updatePlaceExt(data) {
- data['imageUrls'] = JSON.stringify(data['imageUrls'])
- data['planImageUrls'] = JSON.stringify(data['planImageUrls'])
- updatePlaceExtData({...data}).then(res => {
- const { code } = res
- if (code !== 200) {
- uni.showToast({
- title: '提交失败',
- icon: 'error'
- })
- return
- }
- uni.showToast({
- title: '提交成功',
- icon: 'success',
- complete() {
- setTimeout(() => {
- uni.navigateBack()
- }, 1500)
- }
- })
+
+ 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) {
+ getPlaceList({
+ addressName: location
+ }).then(res => {
+ console.log(res)
+ this.placeList = res.data;
})
},
+
+ getLocation() {
+ uni.chooseLocation({
+ success: (res) => {
+ const {
+ address,
+ latitude,
+ longitude
+ } = res
+ this.form.location = address
+ this.form.lat = latitude;
+ this.form.lng = longitude;
+ this.jwd = `${Number(longitude).toFixed(6)},${Number(latitude).toFixed(6)}`
+ }
+ })
+ },
+
+ getCsDetails() {
+ getPlaceDetail({
+ placeId: this.curSelectSite.id
+ }).then(detailRes => {
+ const {
+ code,
+ data
+ } = detailRes
+ if (code !== 200) {
+ uni.showToast({
+ title: '数据请求失败',
+ icon: 'error'
+ })
+ return
+ }
+ this.getPlace(data.location);
+ 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]
+ // if (key === 'imageUrls' || key === 'planImageUrls') {
+ // data[key] = data[key] || ''
+ // this.form[key] = []
+ // if (!!data[key]) {
+ // data[key] = JSON.parse(data[key])
+ // if (Array.isArray(data[key])) {
+ // this.form[key] = data[key]
+ // } else {
+ // this.form[key].push(data[key])
+ // }
+ // }
+ // }
+ // })
+
+ for (let i in this.form) {
+ if (i === 'imageUrls' || i === 'planImageUrls') {
+ if (this.form[i]) {
+ if (data[i]) {
+ this.form[i] = this.setImageUrl(i, data[i].split('、'))
+ } else {
+ this.form[i] = []
+ }
+
+ }
+ } else {
+ this.form[i] = data[i]
+ }
+ }
+
+ 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
+ })
+ })
+ })
+ },
+
+
+
+ //选择民族
+ confirmNation(e) {
+ this.nationIndex = e.indexs;
+ this.nationValue = e.value[0].name;
+ this.form.ethnicity = e.value[0].value;
+ this.showNationPicker = false;
+ },
+
+ //选择性别
+ confirmGender(e) {
+ this.genderIndex = e.indexs;
+ this.genderValue = e.value[0].name;
+ this.form.legalGender = e.value[0].value;
+ this.showGenderPicker = false;
+ },
+
+
+ setImageUrl(key, arr) {
+ let urls = [];
+ for (let i of arr) {
+ urls.push({
+ name: i,
+ url: `${minioBaseUrl}${i}`
+ })
+ }
+ return urls
+ },
+
+ getImageUrl(key) {
+ if (this.form[key].length) {
+ let urls = [];
+ for (let i of this.form[key]) {
+ urls.push(i.name)
+ }
+ return urls.join('、');
+ } else {
+ return "";
+ }
+ },
+
+ updatePlaceExt(data) {
+ data['imageUrls'] = this.getImageUrl('imageUrls')
+ data['planImageUrls'] = this.getImageUrl('planImageUrls')
+ data.confirmFlag = 1;
+ // data['imageUrls'] = data['imageUrls'].join('、')
+ // data['planImageUrls'] = data['planImageUrls'].join('、')
+ updatePlaceExtData({
+ ...data
+ }).then(res => {
+ const {
+ code
+ } = res
+ if (code !== 200) {
+ uni.showToast({
+ title: '提交失败',
+ icon: 'error'
+ })
+ return
+ }
+ uni.showToast({
+ title: '提交成功',
+ complete() {
+ setTimeout(() => {
+ uni.navigateBack()
+ }, 1000)
+ }
+ })
+ })
+ },
+
+ 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
+ }
+
+ this.$refs.form.validate().then(res => {
+ this.updatePlaceExt(this.form)
+ }).catch(errors => {
+ uni.$u.toast('请完善基本信息')
+ })
+ },
+
+ pushPage() {
+ this.$u.func.globalNavigator(`/subPackage/workbench/views/cshw?placeId=${this.form.placeId}`)
+ },
+
addPerson() {
this.personNum++
+ this.personNumArr.push(1)
},
- submit() {
- const placePractitioner = []
- this.$refs.formItemRef.forEach(item => {
- item.form.placeId = this.form.placeId
- placePractitioner.push(item.form)
- })
- this.form.placePractitioner = placePractitioner
- this.updatePlaceExt(this.form)
- },
- pushPage() {
- this.$u.func.globalNavigator('/subPackage/workbench/views/cshw')
+
+ 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>
-<style lang="scss" scoped>
+<style>
page {
- background-color: #f6f6f6;
+ background: #F5F5F5;
}
-
+</style>
+<style lang="scss" scoped>
.container {
- padding-bottom: 300rpx;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
- .form {
- margin-top: 20rpx;
+ .main-content {
+ // height: 0;
+ // flex: 1;
+ // overflow-y: auto;
+ padding: 0 30rpx 250rpx 30rpx;
- .form-item {
+ .base,
+ .license,
+ .upload,
+ .practitioner {
background-color: #fff;
- padding: 0 20rpx;
- border-bottom: 1rpx solid #f6f6f6;
+ border-radius: 8rpx;
+ margin-top: 20rpx;
+ padding: 30rpx;
}
- }
+ .license,
+ .upload {
+ padding-bottom: 20rpx !important;
- .upload-img {
- background-color: #fff;
- padding: 20rpx;
- padding-bottom: 10rpx;
- margin-top: 20rpx;
- }
+ .upload-img {
+ margin-top: 20rpx;
+ }
+ }
- .add-person {
- width: 30%;
- margin: 20rpx auto;
- }
+ .practitioner {
+ .info {
+ margin-top: 20rpx;
- .practitioner {
- .info {
- margin-top: 20rpx;
+ .title {
+ margin-bottom: 10rpx;
+ text-align: center;
+ }
+ }
- .title {
- text-align: center;
- font-size: 30rpx;
- margin-bottom: 10rpx;
+ .add-person {
+ margin-top: 20rpx;
}
}
}
- .btn-group {
- background-color: #fff;
- position: fixed;
- bottom: 0;
- left: 0;
- width: calc(100% - 40rpx);
- padding: 20rpx;
- border-top: 1rpx solid #f6f6f6;
- z-index: 999;
- .btn-item {
- margin-top: 20rpx;
- }
+
+ .btn-group {
+ padding: 20rpx;
+ z-index: 999;
+ background-color: #fff;
+ width: calc(100% - 40rpx);
+ position: fixed;
+ left: 0;
+ bottom: 0;
+ padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
+ z-index: 999;
}
}
+
+ /deep/ .u-form-item {
+ border-bottom: 1rpx solid #f5f5f5;
+ }
+
+ /deep/ .u-upload__button {
+ border: 1rpx solid #EEEEEE;
+ background-color: #fff;
+ }
+
+
+ .popup-content {
+ width: 100%;
+ padding: 0 30rpx 30rpx;
+ box-sizing: border-box;
+ background-color: #fff;
+ // height: 800rpx;
+
+ .popup-title {
+ padding: 30rpx 0;
+ text-align: center;
+ font-weight: bold;
+ }
+
+ .popup-list {
+ height: 600rpx;
+ margin-top: 20rpx;
+ }
+
+ .popup-list-item {
+ padding: 20rpx 0;
+ border-bottom: 1px solid #f1f1f1;
+ position: relative;
+ }
+
+ .address-name {
+ width: 90%;
+ }
+
+ .check-icon {
+ position: absolute;
+ right: 20rpx;
+ top: 20rpx;
+ }
+ }
+
+ .item {
+ 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