BUG 30117

This commit is contained in:
aixianling
2022-06-08 18:02:08 +08:00
parent 07ca7dc8a7
commit 6dab0e1f72

View File

@@ -13,7 +13,8 @@
<el-form-item :label="item.fieldName" :prop="item.fieldDbName" style="width: 100%"> <el-form-item :label="item.fieldName" :prop="item.fieldDbName" style="width: 100%">
<!-- 字典下拉选择 --> <!-- 字典下拉选择 -->
<template v-if="item.type == 'dict'"> <template v-if="item.type == 'dict'">
<ai-select v-model="formData[item.fieldDbName]" :placeholder="item.fieldName" :selectList="dict.getDict(item.dict)" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" /> <ai-select v-model="formData[item.fieldDbName]" :placeholder="item.fieldName" :selectList="dict.getDict(item.dict)"
:disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"/>
</template> </template>
<!-- 单选radio --> <!-- 单选radio -->
<template v-else-if="item.type == 'radio'"> <template v-else-if="item.type == 'radio'">
@@ -23,7 +24,8 @@
</template> </template>
<!-- 开关onOff --> <!-- 开关onOff -->
<template v-else-if="item.type == 'onOff'"> <template v-else-if="item.type == 'onOff'">
<el-switch v-model="formData[item.fieldDbName]" active-color="#26f" inactive-color="#ddd" active-value="1" inactive-value="0" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"></el-switch> <el-switch v-model="formData[item.fieldDbName]" active-color="#26f" inactive-color="#ddd" active-value="1" inactive-value="0"
:disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"></el-switch>
</template> </template>
<!-- 多选checkbox --> <!-- 多选checkbox -->
<template v-else-if="item.type == 'checkbox'"> <template v-else-if="item.type == 'checkbox'">
@@ -37,20 +39,23 @@
<template v-else-if="item.type === 'gird'"> <template v-else-if="item.type === 'gird'">
<el-input disabled :value="girdName" size="small" placeholder="请选择网格"> <el-input disabled :value="girdName" size="small" placeholder="请选择网格">
<template slot="append"> <template slot="append">
<el-button size="small" @click="showGrid = true, treeObj.checkedKeys = formData[item.fieldDbName] ? [formData[item.fieldDbName]] : [], gridFieldName = item.fieldDbName">选择网格</el-button> <el-button size="small"
@click="showGrid = true, treeObj.checkedKeys = formData[item.fieldDbName] ? [formData[item.fieldDbName]] : [], gridFieldName = item.fieldDbName">
选择网格
</el-button>
</template> </template>
</el-input> </el-input>
</template> </template>
<template v-else-if="item.type === 'resident'"> <template v-else-if="item.type === 'resident'">
<el-input <el-input
v-model="formData.name" v-model="formData.name"
:placeholder="'请选择'+item.fieldName"> :placeholder="'请选择'+item.fieldName">
<template slot="append"> <template slot="append">
<ai-person-select <ai-person-select
:instance="instance" :instance="instance"
:disabled="!!params.id" :disabled="!!params.id"
:url="'/app/appresident/list?auditType=1&areaId=' + user.info.areaId" :url="'/app/appresident/list?auditType=1&areaId=' + user.info.areaId"
:isMultiple="false" dialogTitle="选择" @selectPerson="onChange"> :isMultiple="false" dialogTitle="选择" @selectPerson="onChange">
<template name="option" v-slot:option="{ item }"> <template name="option" v-slot:option="{ item }">
<span class="iconfont iconProlife">{{ item.name }}</span> <span class="iconfont iconProlife">{{ item.name }}</span>
<ai-id mode="show" :show-eyes="false" :value="item.idNumber"/> <ai-id mode="show" :show-eyes="false" :value="item.idNumber"/>
@@ -60,35 +65,42 @@
</el-input> </el-input>
</template> </template>
<template v-else-if="item.type == 'idNumber'"> <template v-else-if="item.type == 'idNumber'">
<ai-id v-model="formData[item.fieldDbName]" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" /> <ai-id v-model="formData[item.fieldDbName]" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"/>
</template> </template>
<!-- input输入框 --> <!-- input输入框 -->
<template v-else-if="item.type == 'input' || item.type == 'name' || item.type == 'phone'"> <template v-else-if="item.type == 'input' || item.type == 'name' || item.type == 'phone'">
<el-input v-model="formData[item.fieldDbName]" :placeholder="'请输入'+item.fieldName" clearable :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" <el-input v-model="formData[item.fieldDbName]" :placeholder="'请输入'+item.fieldName" clearable
:disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"
:maxlength="item.maxLength" show-word-limit></el-input> :maxlength="item.maxLength" show-word-limit></el-input>
</template> </template>
<!-- number 输入框 --> <!-- number 输入框 -->
<template v-else-if="item.type == 'number'"> <template v-else-if="item.type == 'number'">
<el-input-number v-model="formData[item.fieldDbName]" :label="'请输入'+item.fieldName" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" :precision="item.decimalPlaces" :max="item.maxValue" :min="item.minValue"></el-input-number> <el-input-number v-model="formData[item.fieldDbName]" :label="'请输入'+item.fieldName"
:disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" :precision="item.decimalPlaces" :max="item.maxValue"
:min="item.minValue"></el-input-number>
</template> </template>
<!-- textarea输入框 --> <!-- textarea输入框 -->
<template v-else-if="item.type == 'textarea' || item.type == 'text'"> <template v-else-if="item.type == 'textarea' || item.type == 'text'">
<el-input v-model="formData[item.fieldDbName]" :placeholder="'请输入'+item.fieldName" clearable :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" <el-input v-model="formData[item.fieldDbName]" :placeholder="'请输入'+item.fieldName" clearable
:disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"
:maxlength="item.maxLength" type="textarea" show-word-limit :rows="3"></el-input> :maxlength="item.maxLength" type="textarea" show-word-limit :rows="3"></el-input>
</template> </template>
<!-- 日期选择 --> <!-- 日期选择 -->
<template v-else-if="item.type == 'date'"> <template v-else-if="item.type == 'date'">
<el-date-picker style="width: 100%;" v-model="formData[item.fieldDbName]" type="date" placeholder="请选择" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" <el-date-picker style="width: 100%;" v-model="formData[item.fieldDbName]" type="date" placeholder="请选择"
:disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"
:value-format="item.timePattern"></el-date-picker> :value-format="item.timePattern"></el-date-picker>
</template> </template>
<!-- 日期带时分秒选择 --> <!-- 日期带时分秒选择 -->
<template v-else-if="item.type == 'datetime'"> <template v-else-if="item.type == 'datetime'">
<el-date-picker v-model="formData[item.fieldDbName]" type="datetime" placeholder="选择日期时间" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" <el-date-picker v-model="formData[item.fieldDbName]" type="datetime" placeholder="选择日期时间"
:disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"
:value-format="item.timePattern"></el-date-picker> :value-format="item.timePattern"></el-date-picker>
</template> </template>
<!-- 时间-时分秒选择 --> <!-- 时间-时分秒选择 -->
<template v-else-if="item.type == 'time'"> <template v-else-if="item.type == 'time'">
<el-time-picker v-model="formData[item.fieldDbName]" placeholder="请选择" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" <el-time-picker v-model="formData[item.fieldDbName]" placeholder="请选择"
:disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"
:value-format="item.timePattern"></el-time-picker> :value-format="item.timePattern"></el-time-picker>
</template> </template>
<!-- 附件 --> <!-- 附件 -->
@@ -99,11 +111,13 @@
</template> </template>
<!-- 富文本 --> <!-- 富文本 -->
<template v-else-if="item.type == 'rtf'"> <template v-else-if="item.type == 'rtf'">
<ai-editor v-model="formData[item.fieldDbName]" :instance="instance" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"/> <ai-editor v-model="formData[item.fieldDbName]" :instance="instance"
:disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"/>
</template> </template>
<!-- 地区选择 --> <!-- 地区选择 -->
<template v-else-if="item.type == 'area'"> <template v-else-if="item.type == 'area'">
<ai-area-get :instance="instance" v-model="formData[item.fieldDbName]" :name.sync="formData[item.fieldDbName +'_name']" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"/> <ai-area-get :instance="instance" v-model="formData[item.fieldDbName]" :name.sync="formData[item.fieldDbName +'_name']"
:disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"/>
</template> </template>
<!-- 人员选择 --> <!-- 人员选择 -->
<div class="especial" v-else-if="item.type == 'user'"> <div class="especial" v-else-if="item.type == 'user'">
@@ -118,23 +132,23 @@
</ai-card> </ai-card>
</el-form> </el-form>
<ai-dialog <ai-dialog
title="选择网格" title="选择网格"
:visible.sync="showGrid" :visible.sync="showGrid"
:destroyOnClose="true" :destroyOnClose="true"
@close="showGrid = false" @close="showGrid = false"
@onConfirm="getCheckedTree" @onConfirm="getCheckedTree"
width="720px"> width="720px">
<div class="grid"> <div class="grid">
<el-tree <el-tree
:data="treeObj.treeList" :data="treeObj.treeList"
:props="treeObj.defaultProps" :props="treeObj.defaultProps"
node-key="id" node-key="id"
ref="tree" ref="tree"
:check-strictly="true" :check-strictly="true"
show-checkbox show-checkbox
:default-checked-keys="treeObj.checkedKeys" :default-checked-keys="treeObj.checkedKeys"
default-expand-all default-expand-all
@check="onCheckChange"> @check="onCheckChange">
</el-tree> </el-tree>
</div> </div>
</ai-dialog> </ai-dialog>
@@ -205,7 +219,7 @@ export default {
this.getFormData() this.getFormData()
if (this.params.id) { if (this.params.id) {
this.getDetail() this.getDetail()
} }
}, },
methods: { methods: {
getGridList() { getGridList() {
@@ -219,10 +233,10 @@ export default {
}) })
}, },
onChange (e) { onChange(e) {
this.formData.resident_id = e.id this.formData.resident_id = e.id
Object.keys(this.formData).forEach(item => { Object.keys(this.formData).forEach(item => {
for (var p in e){ for (var p in e) {
if (item === p) { if (item === p) {
this.$set(this.formData, item, e[item]) this.$set(this.formData, item, e[item])
} }
@@ -249,7 +263,7 @@ export default {
this.showGrid = false this.showGrid = false
}, },
onCheckChange (e) { onCheckChange(e) {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.tree.getCheckedKeys().forEach(v => { this.$refs.tree.getCheckedKeys().forEach(v => {
this.$refs.tree.setChecked(v, false) this.$refs.tree.setChecked(v, false)
@@ -258,16 +272,11 @@ export default {
}) })
}, },
format (list) { format(list) {
return list.map(item => { return list.map(item => {
if (item.girdLevel !== '2') {
item.disabled = true
}
if (item.girdList && item.girdList.length) { if (item.girdList && item.girdList.length) {
item.girdList = this.format(item.girdList) item.girdList = this.format(item.girdList)
} }
return item return item
}) })
}, },
@@ -333,7 +342,7 @@ export default {
if (!this.params.id) { if (!this.params.id) {
colItem.fieldValue = Number(item.defaultValue) || 0 colItem.fieldValue = Number(item.defaultValue) || 0
} }
}else { } else {
if (item.type == 'date' && !item.timePattern) { if (item.type == 'date' && !item.timePattern) {
item.timePattern = 'yyyy-MM-dd' item.timePattern = 'yyyy-MM-dd'
} }
@@ -378,7 +387,7 @@ export default {
if (res?.data) { if (res?.data) {
this.configs.tableInfos.map((item) => { this.configs.tableInfos.map((item) => {
this.formData[item.fieldDbName] = res.data[item.fieldDbName] || '' this.formData[item.fieldDbName] = res.data[item.fieldDbName] || ''
if(item.type == 'checkbox') { if (item.type == 'checkbox') {
var checkList = this.formData[item.fieldDbName]?.split(',') var checkList = this.formData[item.fieldDbName]?.split(',')
this.formData[item.fieldDbName] = checkList this.formData[item.fieldDbName] = checkList
} }
@@ -421,13 +430,13 @@ export default {
this.formData[items.fieldDbName] = this.formData[items.fieldDbName].map(v => v.url).join(',') this.formData[items.fieldDbName] = this.formData[items.fieldDbName].map(v => v.url).join(',')
} }
if(items.type == 'gird' && this.formData[items.fieldDbName]) { if (items.type == 'gird' && this.formData[items.fieldDbName]) {
this.formData[items.fieldDbName] = this.formData[items.fieldDbName] + '_' + this.girdName this.formData[items.fieldDbName] = this.formData[items.fieldDbName] + '_' + this.girdName
} }
if(items.type == 'area' && this.formData[items.fieldDbName]) { if (items.type == 'area' && this.formData[items.fieldDbName]) {
var area = [] var area = []
area.push(this.formData[items.fieldDbName]) area.push(this.formData[items.fieldDbName])
area.push(this.formData[items.fieldDbName+'_name']) area.push(this.formData[items.fieldDbName + '_name'])
this.formData[items.fieldDbName] = area.join('_') this.formData[items.fieldDbName] = area.join('_')
} }
}) })
@@ -462,9 +471,10 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
::v-deep .ai-card{ ::v-deep .ai-card {
width: 100%; width: 100%;
} }
.form-div { .form-div {
display: inline-block; display: inline-block;
vertical-align: top; vertical-align: top;
@@ -474,11 +484,10 @@ export default {
::v-deep .AiPersonSelect { ::v-deep .AiPersonSelect {
.el-button { .el-button {
border-color: transparent; border-color: transparent;
background-color: transparent; background-color: transparent;
color: inherit; color: inherit;
border-top: 0; border-top: 0;
border-bottom: 0; border-bottom: 0;
background: transparent;
} }
} }
} }