From fdef23064b801a06bbf369785dbbc14db14b707f Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 22 Mar 2024 17:15:53 +0800
Subject: [PATCH] 回滚代码至2月28日
---
subPackage/workbench/views/editCscj.vue | 441 +++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 298 insertions(+), 143 deletions(-)
diff --git a/subPackage/workbench/views/editCscj.vue b/subPackage/workbench/views/editCscj.vue
index 4896d91..d5749ef 100644
--- a/subPackage/workbench/views/editCscj.vue
+++ b/subPackage/workbench/views/editCscj.vue
@@ -71,10 +71,22 @@
@close="delTag()" :text="item.categoryName"></u-tag>
</view>
</view> -->
+
+ <u-form-item label="三级消防单位" labelWidth="100" prop="threeFireProtection" :required="isRequired">
+ <u-radio-group v-model="form.threeFireProtection" v-if="!currentId">
+ <u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList"
+ :key="index" :label="item.name" :name="item.id">
+ </u-radio>
+ </u-radio-group>
+ <view class="f-30" v-if="currentId">
+ {{form.threeFireProtection == 1?"否":"是"}}
+ </view>
+ </u-form-item>
<u-form-item class="form-item" labelWidth="100" label="备注:" prop="remark">
<u--input border="none" v-model="form.remark" placeholder="请输入">
</u--input>
</u-form-item>
+
<u-form-item label="经纬度:" prop="location" labelWidth="100">
<view class="address-row flex j-c-s-b a-i-c">
@@ -96,6 +108,28 @@
</view>
</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">
@@ -119,6 +153,38 @@
</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="landlordName">
+ <u--input border="none" v-model="form.placeExtEntity.landlordName" placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+ label="身份证号:" prop="landlordIdCard">
+ <u--input border="none" type="idcard" v-model="form.placeExtEntity.landlordIdCard"
+ placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+ label="手机号:" prop="landlordPhone">
+ <u--input border="none" type="number" v-model="form.placeExtEntity.landlordPhone"
+ placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+ label="微信号:" prop="landlordWxAccount">
+ <u--input border="none" v-model="form.placeExtEntity.landlordWxAccount" placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ </view>
+
+
+
+
<view class="item pic">
<view class="box-title">
<box-title title="场所照片"></box-title>
@@ -130,6 +196,87 @@
</u-upload>
</view>
</u-form>
+
+ <view class="practitioner">
+ <view style="padding:20rpx 30rpx;">
+ <box-title title="从业人员信息"></box-title>
+ </view>
+ <view class="info" v-for="(item, index) in personNumArr" :key="index">
+ <view class="flex a-i-c j-c-s-b" style="padding:20rpx;">
+ <view class="title fw" style="text-align:center;">人员信息-#{{ index*1 + 1 }}</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;">
+ <u-button type="success" plain @click="addPerson">再加一人</u-button>
+ </view>
+ </view>
+
+
+
+ <view class="item" v-if="currentId">
+ <view class="box-title">
+ <box-title title="综治网格">
+ <template slot="titleMore">
+ <view class="title-more">
+ <view class="red item"></view>
+ <view class="orange item"></view>
+ <view class="green item"></view>
+ </view>
+ </template>
+ </box-title>
+ </view>
+ <lineItem :dataInfo="comprehensiveData.basic">
+ </lineItem>
+ <!-- <view class="bgc-ff flex j-c-s-b a-i-c" @click="navTo(1)" style="padding:20rpx;">
+ <text>历史事件</text>
+ <u-icon name="arrow-right"></u-icon>
+ </view> -->
+
+ <lineItem :dataInfo="comprehensiveData.scene">
+ <template v-slot:pic="{scope}">
+ <view class="image" v-if="scope.value !== ''">
+ <u--image @click="imgPreview(scope.value)" width="200rpx" height="200rpx"
+ :src="scope.value"></u--image>
+ </view>
+ <view class="" v-else>
+ {{scope.value}}
+ </view>
+ </template>
+ </lineItem>
+ </view>
+
+
+
+ <view class="item" v-if="currentId">
+ <view class="box-title">
+ <box-title title="公安网格">
+ <template slot="titleMore">
+ <view class="title-more">
+ <view class="red item"></view>
+ <view class="orange item"></view>
+ <view class="green item"></view>
+ </view>
+ </template>
+ </box-title>
+ </view>
+ <lineItem :dataInfo="publicData.basic">
+ </lineItem>
+ <!-- <view class="bgc-ff flex j-c-s-b a-i-c" @click="navTo(2)" style="padding:20rpx;">
+ <text>历史事件</text>
+ <u-icon name="arrow-right"></u-icon>
+ </view> -->
+
+ <lineItem :dataInfo="publicData.scene">
+ <template v-slot:pic="{scope}">
+ {{scope.value}}
+ </template>
+ </lineItem>
+ </view>
</view>
<footer-btn @click="submit" text="保存" />
@@ -148,6 +295,16 @@
<u-picker :show="isShowCatePicker" :defaultIndex="categoryIndex" ref="catePicker" keyName="categoryName"
:columns="categoryList" @confirm="confirmCategory" @change="changeCategory"
@cancel="isShowCatePicker = false"></u-picker>
+
+
+ <u-picker :defaultIndex="nationTypeListIndex" :closeOnClickOverlay="true" :show="showNationPicker"
+ :columns="[nationTypeList]" @close="showNationPicker = false" @cancel="showNationPicker = false"
+ keyName="name" @confirm="confirmNation"></u-picker>
+
+ <u-picker :defaultIndex="genderIndex" :closeOnClickOverlay="true" :show="showGenderPicker" :columns="[gender]"
+ @close="showGenderPicker = false" @cancel="showGenderPicker = false" keyName="name"
+ @confirm="confirmGender"></u-picker>
+
<cate-selector ref="selector" @comfirm="comfirmNineType" />
</view>
</template>
@@ -163,10 +320,8 @@
getDoorplateAddressList
} from "@/api/doorplateAddress/doorplateAddress";
import {
+ add,
getPlaceDetail
- } from '@/api/place/place.js'
- import {
- add
} from "@/api/place/place";
import {
format
@@ -182,12 +337,18 @@
import cateSelector from "../components/cateSelector.vue"
+ import {
+ getQrCodeDetail
+ } from "@/api/system/index"
+
+ import formItem from '../components/formItem.vue'
export default {
mixins: [uploadMixin],
components: {
lineItem,
boxTitle,
- cateSelector
+ cateSelector,
+ formItem
},
data() {
return {
@@ -217,7 +378,19 @@
isNine: "",
isFront: "",
frontType: "",
- nineType: ""
+ nineType: "",
+ threeFireProtection: "",
+ placeExtEntity: {
+ landlordName: "",
+ landlordIdCard: "",
+ landlordPhone: "",
+ landlordWxAccount: "",
+ legalPerson: "",
+ legalTel: "",
+ legalIdCard: "",
+ placeId: "",
+
+ }
},
rules: {
// 'buildingCode': {
@@ -425,13 +598,27 @@
showFrontTypePicker: false,
nineTypeValue: "",
frontTypeValue: "",
- isView: false
+ isView: false,
-
+ nationTypeList: [], //民族
+ nationTypeIndex: [0],
+ nationValue: "",
+ gender: [{ //性别
+ value: 1,
+ name: '男',
+ },
+ {
+ value: 0,
+ name: '女',
+ }
+ ],
+ genderIndex: [0],
+ genderValue: "",
+ showNationPicker: false,
+ showGenderPicker: false,
+ personNum: 0,
+ personNumArr: [],
}
- },
- created() {
- this.buildColumn()
},
options: {
styleIsolation: 'shared', // 解除样式隔离
@@ -472,71 +659,20 @@
},
immediate: true
}
-
- // secondId:{
- // handler(newVal,oldVal){
- // this.getCategory(3,this.secondId);
- // },
- // immediate:true
- // }
-
},
onReady() {
this.$refs.form.setRules(this.rules)
},
methods: {
- // getBuildingDetail(params = {}) {
- // getDoorplateAddressDetail(Object.assign(params, {
- // stdId: this.stdId
- // })).then(res => {
- // let data = res.data
- // this.form.buildingCode = data.buildingCode
-
- // let buildingNameArr = [data.townStreetName, data.neiName, data.streetRuName, data.aoiName,
- // data.buildingName
- // ]
- // let arr = buildingNameArr.filter(e => {
- // return e != null || e != ''
- // })
-
- // // 赋值
- // // this.form.placeName = data['placeName']
- // Object.keys(this.form).forEach(key => {
- // if (!data[key]) {
- // this.form[key] = data.place[key]
- // } else {
- // this.form[key] = data[key]
- // }
- // })
-
- // this.form.building = arr.join("")
-
- // Object.keys(this.comprehensiveData).forEach(key => {
- // this.comprehensiveData[key].forEach(item => {
- // if (!data[item.name]) {
- // item.value = data.place[item.name] || '未完善'
- // } else {
- // item.value = data[item.name] || '未完善'
- // }
- // })
- // this.publicData[key].forEach(item => {
- // if (!data[item.name]) {
- // item.value = data.place[item.name] || '未完善'
- // } else {
- // item.value = data[item.name] || '未完善'
- // }
- // })
- // })
- // })
- // },
-
async getAllBizDict() {
// 获取九小场所类型
// await this.getBizDict('nineType', this.nineTypeList)
// 获取阵地
await this.getBizDict('frontType', this.frontTypeList)
+ // 获取民族
+ await this.getBizDict('nationType', this.nationTypeList);
},
// 获取业务字典
@@ -625,17 +761,10 @@
// 当第一列值发生变化时,变化第二列(后一列)对应的选项
if (columnIndex === 0) {
- // picker为选择器this实例,变化第二列对应的选项
- // picker.setColumnValues(1, this.categoryList[index])
+
this.firstId = e.value[columnIndex].categoryNo;
- // this.secondId = this.categoryList[1][0].categoryNo;
- // this.getCategory(2,this.firstId);
}
- // else if ( columnIndex === 1){
- // picker.setColumnValues(2, this.categoryList[index])
- // this.secondId = e.value[columnIndex].categoryNo;
- // this.getCategory(3,this.secondId)
- // }
+
},
getBuildingDetail(params = {}) {
@@ -672,7 +801,11 @@
})
return
}
- this.houseCode = data.houseCode;
+ const placePractitioner = data?.placePractitioner || []
+ this.personNum = placePractitioner.length
+ this.personNumArr = placePractitioner;
+ this.source = data.source;
+ // this.houseCode = data.houseCode;
const dpaEntity = data?.doorplateAddressEntity || {}
const gridEntity = data?.grid || {}
// this.form.buildingCode = dpaEntity?.buildingCode || ''
@@ -745,6 +878,28 @@
}
}
}
+
+ if (key == "legalGender" && data.legalGender) {
+ let {
+ index,
+ name
+ } = this.$getIndex(this.gender, data.legalGender, "value",
+ "name");
+ this.genderIndex = index;
+ this.genderValue = name;
+ }
+
+ if (key == "ethnicity" && data.ethnicity) {
+ let {
+ index,
+ name
+ } = this.$getIndex(this.nationTypeList, data.ethnicity, "value",
+ "name");
+ this.nationTypeIndex = index;
+ this.nationValue = name;
+ }
+
+
})
this.$set(this.form, "jwd", `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`)
this.form.building = arr.join("")
@@ -789,6 +944,30 @@
})
})
+ placePractitioner.forEach((item, index) => {
+ this.$nextTick(() => {
+ if (item.ethnicity) {
+ let obj = this.$getIndex(this.nationTypeList, item.ethnicity,
+ "value", "name")
+ this.$refs.formItemRef[index].nationValue = obj.name;
+ this.$refs.formItemRef[index].nationTypeIndex = obj.index;
+ }
+
+ if (typeof(item.gender) == 'number') {
+ let obj = this.$getIndex(this.$refs.formItemRef[index]
+ .gender, item.gender, "value", "name")
+ this.$refs.formItemRef[index].genderValue = obj.name;
+ this.$refs.formItemRef[index].genderIndex = obj.index;
+ }
+ if (item.employerImg == "" || item.employerImg == null) {
+ item.employerImg = [];
+ } else {
+ item.employerImg = this.$setImageUrl(item.employerImg, 2)
+ }
+
+ this.$refs.formItemRef[index].form = item
+ })
+ })
})
},
@@ -816,12 +995,14 @@
}
// this.$refs.form.validate().then(valid => {
// if (valid) {
- if (this.form?.images?.length > 0) {
+ if (this.form.images.length) {
let urls = []
this.form.images.forEach(e => {
urls.push(e.name)
})
this.form.imageUrls = urls.join(",")
+ } else {
+ this.form.imageUrls = ""
}
this.form.roleName = uni.getStorageSync("activeRole").roleName;
@@ -845,6 +1026,19 @@
this.form.lat = Number(this.form.lat).toFixed(8)
delete this.form.images;
+ if (this.personNum > 0) {
+ const placePractitioner = []
+ this.$refs.formItemRef.forEach(item => {
+ item.form.placeId = this.form.placeId
+ item.form.employerImg = this.$formattingUrls(item.form.employerImg);
+ placePractitioner.push(item.form)
+ })
+ this.form.placePractitioner = placePractitioner
+ }
+
+
+
+
add(this.form).then(res => {
this.$showTips("提交成功", "success");
setTimeout(() => {
@@ -855,27 +1049,6 @@
},
- async buildColumn() {
- //设置街道
- const townStreet = await this.getDoorplateAddressList(null, "townStreet")
- this.setColumn(townStreet, 0)
- //设置社区
- const nei = await this.getDoorplateAddressList(townStreet[0]?.code, "nei")
- this.setColumn(nei, 1)
- //设置路
- const streetRu = await this.getDoorplateAddressList(nei[0]?.code, "streetRu")
- this.setColumn(streetRu, 2)
- //设置地区
- const district = await this.getDoorplateAddressList(streetRu[0]?.code, "district")
- this.setColumn(district, 3)
- //设置楼栋
- const building = await this.getDoorplateAddressList(district[0]?.code, "building")
- this.setColumn(building, 4)
- },
-
- setColumn(data, index) {
- this.$set(this.pickColumns, index, data)
- },
//获取当前位置信息
getCurrentLocation() {
@@ -950,55 +1123,20 @@
this.showFrontTypePicker = false;
},
- async changeHandler(e) {
- const {
- columnIndex,
- index,
- // 微信小程序无法将picker实例传出来,只能通过ref操作
- picker = this.$refs.uPicker
- } = e
- let item = e.values[columnIndex][index]
- //街道
- if (columnIndex === 0) {
- //获取社区列表
- const nei = await this.getDoorplateAddressList(item.code, "nei")
- picker.setColumnValues(1, nei)
+ //选择民族
+ confirmNation(e) {
+ this.nationIndex = e.indexs;
+ this.nationValue = e.value[0].name;
+ this.form.placeExtEntity.ethnicity = e.value[0].value;
+ this.showNationPicker = false;
+ },
- const streetRu = await this.getDoorplateAddressList(nei[0].code, "streetRu")
- picker.setColumnValues(2, streetRu)
-
- const district = await this.getDoorplateAddressList(streetRu[0].code, "district")
- picker.setColumnValues(3, district)
-
- const building = await this.getDoorplateAddressList(district[0].code, "building")
- picker.setColumnValues(4, building)
- }
-
- if (columnIndex === 1) {
- const streetRu = await this.getDoorplateAddressList(item.code, "streetRu")
- picker.setColumnValues(2, streetRu)
-
- const district = await this.getDoorplateAddressList(streetRu[0].code, "district")
- picker.setColumnValues(3, district)
-
- const building = await this.getDoorplateAddressList(district[0].code, "building")
- picker.setColumnValues(4, building)
- }
-
- if (columnIndex === 2) {
-
- const district = await this.getDoorplateAddressList(item.code, "district")
- picker.setColumnValues(3, district)
-
- const building = await this.getDoorplateAddressList(district[0].code, "building")
- picker.setColumnValues(4, building)
- }
-
- if (columnIndex === 3) {
- const building = await this.getDoorplateAddressList(item.code, "building")
- picker.setColumnValues(4, building)
- }
-
+ //选择性别
+ confirmGender(e) {
+ this.genderIndex = e.indexs;
+ this.genderValue = e.value[0].name;
+ this.form.placeExtEntity.legalGender = e.value[0].value;
+ this.showGenderPicker = false;
},
//弹出层打开
@@ -1013,6 +1151,16 @@
urls: minioBaseUrl + [value],
})
},
+
+ addPerson() {
+ this.personNum++
+ this.personNumArr.push(1)
+ },
+
+ deletePerson(index) {
+ this.personNum--;
+ this.personNumArr.splice(index, 1)
+ }
}
}
</script>
@@ -1149,4 +1297,11 @@
background-color: #fff;
text-align: center;
}
+
+
+ .practitioner {
+ background-color: #fff;
+ border-radius: 8rpx;
+ margin-top: 20rpx;
+ }
</style>
\ No newline at end of file
--
Gitblit v1.9.3