Browse Source

居民编辑问题修改

feature
mk 2 years ago
parent
commit
8b3a40efdb
  1. 118
      src/views/components/addResi.vue
  2. 138
      src/views/components/editResi.vue
  3. 3
      src/views/components/resiExpand/editExpand.vue
  4. 54
      src/views/modules/portrayal/jumin/index.vue

118
src/views/components/addResi.vue

@ -39,8 +39,8 @@
<el-row type="flex" justify="space-between">
<el-col :span="6">
<el-form-item label="联系电话" prop="baseInfoDto.mobile" class="font-color-orange">
<el-input class="list_item_width_1" v-model="form.baseInfoDto.mobile" placeholder="请输入内容"
size="small" clearable></el-input>
<el-input class="list_item_width_1" v-model="form.baseInfoDto.mobile"
placeholder="请输入内容" size="small" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
@ -64,8 +64,8 @@
<el-form-item label="民族">
<el-select v-model="form.baseInfoDto.nation" placeholder="请选择" size="small"
class="list_item_width_1" clearable>
<el-option v-for="(item, index) in dicts.nationList" :key="index" :label="item.label"
:value="item.value"></el-option>
<el-option v-for="(item, index) in dicts.nationList" :key="index"
:label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
@ -75,8 +75,8 @@
<el-form-item label="文化程度">
<el-select v-model="form.eduInfoDto.cultureLevel" placeholder="请选择" size="small"
class="list_item_width_1" clearable>
<el-option v-for="(item, index) in dicts.educationList" :key="index" :label="item.label"
:value="item.value"></el-option>
<el-option v-for="(item, index) in dicts.educationList" :key="index"
:label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
@ -84,8 +84,9 @@
<el-form-item label="婚姻状况">
<el-select v-model="form.familyInfoDto.marriage" placeholder="请选择" size="small"
class="list_item_width_1" clearable>
<el-option v-for="(item, index) in dicts.marriageList" :key="index" :label="item.label"
:value="item.value" @click.native="handelClickMarriage(item.value)"></el-option>
<el-option v-for="(item, index) in dicts.marriageList" :key="index"
:label="item.label" :value="item.value"
@click.native="handelClickMarriage(item.value)"></el-option>
</el-select>
</el-form-item>
</el-col>
@ -101,8 +102,8 @@
</el-col>
<el-col :span="6">
<el-form-item label="籍贯">
<el-input v-model="form.baseInfoDto.nativePlace" placeholder="请输入内容" clearable size="small"
class="list_item_width_1"></el-input>
<el-input v-model="form.baseInfoDto.nativePlace" placeholder="请输入内容" clearable
size="small" class="list_item_width_1"></el-input>
<el-radio v-model="form.baseInfoDto.localResidenceFlag" style="margin-left: 10px;"
@click.native="handleLocalRadio($event)" :label="1">本地</el-radio>
</el-form-item>
@ -129,20 +130,19 @@
</el-form-item>
</el-col>
<el-col :span="16" style="display: flex;">
<el-form-item :prop="`resideInfoDtos[${index}].villageId`" label="所属房屋" style="margin:0px "
label-width="100px" class="font-color-orange" :rules="[
<el-form-item :prop="`resideInfoDtos[${index}].villageId`" label="所属房屋"
style="margin:0px " label-width="100px" class="font-color-orange" :rules="[
{ required: true, message: '请选择小区', trigger: 'blur' },
]">
<el-select v-model.trim="form.resideInfoDtos[index].villageId" placeholder="请选择小区"
size="small" class="u-item-width-communitycascader f-bto0" clearable
@change="handleChangeV(index)">
size="small" class="u-item-width-communitycascader f-bto0" clearable>
<el-option v-for="item in item.optionsV" :key="item.value" :label="item.label"
:value="item.value">
:value="item.value" @click.native="handleChangeV(index)">
</el-option>
</el-select>
</el-form-item>
<el-form-item :prop="`resideInfoDtos[${index}].buildId`" label-width="0" style="margin:0px"
:rules="[
<el-form-item :prop="`resideInfoDtos[${index}].buildId`" label-width="0"
style="margin:0px" :rules="[
{ required: true, message: '请选择楼栋', trigger: 'blur' },
]">
<el-select v-model.trim="form.resideInfoDtos[index].buildId" placeholder="楼号"
@ -153,8 +153,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item :prop="`resideInfoDtos[${index}].unitId`" label-width="0" style="margin:0px"
:rules="[
<el-form-item :prop="`resideInfoDtos[${index}].unitId`" label-width="0"
style="margin:0px" :rules="[
{ required: true, message: '请选择单元', trigger: 'blur' },
]">
<el-select v-model.trim="form.resideInfoDtos[index].unitId" placeholder="单元"
@ -165,8 +165,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item :prop="`resideInfoDtos[${index}].homeId`" label-width="0" style="margin:0px "
:rules="[
<el-form-item :prop="`resideInfoDtos[${index}].homeId`" label-width="0"
style="margin:0px " :rules="[
{ required: true, message: '请选择房屋', trigger: 'blur' },
]">
<el-select v-model.trim="form.resideInfoDtos[index].homeId" placeholder="房号"
@ -180,7 +180,8 @@
<el-button type="primary" size="mini" icon="el-icon-plus" circle
@click="handelClickAddHouse" style="margin-left: 16px; height: 30px;"></el-button>
<el-button type="danger" v-if="form.resideInfoDtos.length > 1" size="small"
icon="el-icon-minus" @click="handelClickDelHouse(index)" style="height: 30px;" circle>
icon="el-icon-minus" @click="handelClickDelHouse(index)" style="height: 30px;"
circle>
</el-button>
</el-col>
@ -191,8 +192,8 @@
<el-select v-model="form.resideInfoDtos[index].resiHouseRel" placeholder="请选择"
size="small" class="list_item_width_1"
@change="handelChangeResiHouseRel($event, index)" clearable>
<el-option v-for="(item, i) in dicts.resiHouseRelList" :key="i" :label="item.label"
:value="item.value"></el-option>
<el-option v-for="(item, i) in dicts.resiHouseRelList" :key="i"
:label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
@ -216,8 +217,9 @@
</el-col>
<el-col :span="6" v-if="form.resideInfoDtos[index].householdSituation == 'rzhbz'">
<el-form-item label="户籍所在地">
<el-input class="list_item_width_1" v-model="form.resideInfoDtos[index].placeOfDomicile"
placeholder="请输入内容" size="small" clearable></el-input>
<el-input class="list_item_width_1"
v-model="form.resideInfoDtos[index].placeOfDomicile" placeholder="请输入内容"
size="small" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6" v-else-if="form.resideInfoDtos[index].householdSituation == 'hzrbz'">
@ -246,8 +248,8 @@
<el-row type="flex" justify="space-between">
<el-col :span="6">
<el-form-item label="宗教信仰">
<el-input class="list_item_width_1" v-model="form.religionDto.religion" placeholder="请输入内容"
size="small" clearable></el-input>
<el-input class="list_item_width_1" v-model="form.religionDto.religion"
placeholder="请输入内容" size="small" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
@ -260,13 +262,15 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-col :span="6"
v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-form-item label="工作单位">
<el-input class="list_item_width_1" v-model="form.workInfoDto.workUnit" placeholder="请输入内容"
size="small" clearable></el-input>
<el-input class="list_item_width_1" v-model="form.workInfoDto.workUnit"
placeholder="请输入内容" size="small" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-col :span="6"
v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-form-item label="职业">
<el-input class="list_item_width_1" v-model="form.workInfoDto.occupation"
placeholder="请输入内容" size="small" clearable></el-input>
@ -283,16 +287,17 @@
<el-col :span="6"
v-if="(form.workInfoDto.careerStatus == 0 || form.workInfoDto.careerStatus == 6) && form.workInfoDto.careerStatus">
<el-form-item label="失业时间">
<el-date-picker v-model.trim="form.unemployedDto.unemploymentTime" class="list_item_width_1"
type="date" size="small" clearable placeholder="选择日期" format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd">
<el-date-picker v-model.trim="form.unemployedDto.unemploymentTime"
class="list_item_width_1" type="date" size="small" clearable placeholder="选择日期"
format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" v-if='!form.workInfoDto.careerStatus'></el-col>
</el-row>
<el-row v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-col :span="6" v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-col :span="6"
v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-form-item label="月收入">
<el-input class="list_item_width_1" v-model="form.economyDto.monthIncome"
placeholder="请输入内容" size="small" clearable></el-input>
@ -312,8 +317,8 @@
</el-col>
<el-col :span="6">
<el-form-item label="失业原因">
<el-select v-model="form.unemployedDto.unemploymentReason" placeholder="请选择" size="small"
class="list_item_width_1" clearable>
<el-select v-model="form.unemployedDto.unemploymentReason" placeholder="请选择"
size="small" class="list_item_width_1" clearable>
<el-option v-for="(item, index) in dicts.unemploymentReasonList" :key="index"
:label="item.label" :value="item.value"></el-option>
</el-select>
@ -337,7 +342,8 @@
<el-col :span="6">
<el-form-item label="是否领取失业金" label-width="120px">
<el-radio-group v-model="form.unemployedDto.unempCompensationFlag">
<el-radio :label="item.value" v-for="item in hasOptions" :key="item.value">{{ item.label
<el-radio :label="item.value" v-for="item in hasOptions" :key="item.value">{{
item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
@ -345,7 +351,8 @@
<el-col :span="6">
<el-form-item label="是否就业困难对象" label-width="150px">
<el-radio-group v-model="form.unemployedDto.employmentHardFlag">
<el-radio :label="item.value" v-for="item in hasOptions" :key="item.value">{{ item.label
<el-radio :label="item.value" v-for="item in hasOptions" :key="item.value">{{
item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
@ -395,18 +402,20 @@
<el-row style="margin:24px">
<el-col :span="24" align="center">
<el-button size="small" class="diy-button--white" @click="handlerCancle" plain>取消</el-button>
<el-button type="primary" size="small" :loading="btnLoading" @click="handleClickSubmit">保存</el-button>
<el-button type="primary" size="small" :loading="btnLoading"
@click="handleClickSubmit">保存</el-button>
<el-button type="primary" size="small" :loading="btnLoading"
@click="handleClickSubmit('house')">提交并补充家庭人员信息</el-button>
</el-col>
</el-row>
</div>
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" destroy-on-close width="1028px">
<resi-expand ref="resiExpand" @submitExpand="submitExpand"
@hideExpand="hideExpand" :operationType="'add'"></resi-expand>
<resi-expand ref="resiExpand" @submitExpand="submitExpand" @hideExpand="hideExpand"
:operationType="'add'"></resi-expand>
</el-dialog>
</div>
</template>
<script>
import { requestGet, requestPost } from "@/js/dai/request";
import { isCard, isPassport, isMobile, isPhone, isHKPassport, isTwPassport, isSoldier } from '@/utils/validate'
@ -481,8 +490,8 @@ export default {
marriage: null,//
spouseSituation: null,//
elderlyFlag: null,//
elderlyRelation: '',//
dependantMobile: '',//
elderlyRelation: null,//
dependantMobile: null,//
},
resideInfoDtos: [
{
@ -1046,7 +1055,7 @@ export default {
this.form.resideInfoDtos[index].householdSituation = val == 0 ? 'rhyz' : 'rzhbz'
},
handleChangeV(index) {
console.log(this.form.resideInfoDtos[index].villageId);
this.form.resideInfoDtos[index].buildId = ''
this.form.resideInfoDtos[index].unitId = ''
this.form.resideInfoDtos[index].homeId = ''
@ -1066,7 +1075,7 @@ export default {
this.getHouseList(index)
},
handleChangeH(i) {
let item = this.optionsH.find((item, index) => index === i);
// let item = this.optionsH.find((item, index) => index === i);
if (item && item.type == '1') {
// this.form.IS_TENANT = '1'
console.log('item-----', item)
@ -1256,7 +1265,6 @@ export default {
})
},
async submitForm(house) {
try {
let url = '/actual/base/residentBaseInfo/save'
let parm = {
@ -1264,14 +1272,18 @@ export default {
}
let { code, data, msg } = await requestPost(url, parm)
if (code == 0) {
// this.$message.success('');
if(!house){
if (house!= 'house') {
this.$message.success('保存成功');
this.$refs['addForm'].resetFields();
this.handlerCancle();
} else {
this.form = {
}
this.$message.success('保存成功');
let homeArr = JSON.parse(JSON.stringify(this.form.resideInfoDtos));
this.$refs['addForm'].resetFields();
this.form.resideInfoDtos = homeArr
}
}else if(code >= 8000){
this.$message.error(msg);
}
}
catch (error) {

138
src/views/components/editResi.vue

@ -1,7 +1,7 @@
<template>
<div class="div_form" v-loading="loading">
<div class="form">
<el-form :model="form" :rules="rules" label-width="100px" ref="addForm">
<el-form :model="form" :rules="rules" label-width="100px" ref="editForm">
<h5 style="margin-top: 6px;">基础信息登记</h5>
<div class="basicInfo">
<el-row type="flex" justify="space-between">
@ -39,8 +39,8 @@
<el-row type="flex" justify="space-between">
<el-col :span="6">
<el-form-item label="联系电话" prop="baseInfoDto.mobile" class="font-color-orange">
<el-input class="list_item_width_1" v-model="form.baseInfoDto.mobile" placeholder="请输入内容"
size="small" clearable></el-input>
<el-input class="list_item_width_1" v-model="form.baseInfoDto.mobile"
placeholder="请输入内容" size="small" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
@ -64,8 +64,8 @@
<el-form-item label="民族">
<el-select v-model="form.baseInfoDto.nation" placeholder="请选择" size="small"
class="list_item_width_1" clearable>
<el-option v-for="(item, index) in dicts.nationList" :key="index" :label="item.label"
:value="item.value"></el-option>
<el-option v-for="(item, index) in dicts.nationList" :key="index"
:label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
@ -75,8 +75,8 @@
<el-form-item label="文化程度">
<el-select v-model="form.eduInfoDto.cultureLevel" placeholder="请选择" size="small"
class="list_item_width_1" clearable>
<el-option v-for="(item, index) in dicts.educationList" :key="index" :label="item.label"
:value="item.value"></el-option>
<el-option v-for="(item, index) in dicts.educationList" :key="index"
:label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
@ -84,8 +84,9 @@
<el-form-item label="婚姻状况">
<el-select v-model="form.familyInfoDto.marriage" placeholder="请选择" size="small"
class="list_item_width_1" clearable>
<el-option v-for="(item, index) in dicts.marriageList" :key="index" :label="item.label"
:value="item.value" @click.native="handelClickMarriage(item.value)"></el-option>
<el-option v-for="(item, index) in dicts.marriageList" :key="index"
:label="item.label" :value="item.value"
@click.native="handelClickMarriage(item.value)"></el-option>
</el-select>
</el-form-item>
</el-col>
@ -101,8 +102,8 @@
</el-col>
<el-col :span="6">
<el-form-item label="籍贯">
<el-input v-model="form.baseInfoDto.nativePlace" placeholder="请输入内容" clearable size="small"
class="list_item_width_1"></el-input>
<el-input v-model="form.baseInfoDto.nativePlace" placeholder="请输入内容" clearable
size="small" class="list_item_width_1"></el-input>
<el-radio v-model="form.baseInfoDto.localResidenceFlag" style="margin-left: 10px;"
@click.native="handleLocalRadio($event)" :label="1">本地</el-radio>
</el-form-item>
@ -129,58 +130,59 @@
</el-form-item>
</el-col>
<el-col :span="16" style="display: flex;">
<el-form-item :prop="`resideInfoDtos[${index}].villageId`" label="所属房屋" style="margin:0px "
label-width="100px" class="font-color-orange" :rules="[
<el-form-item :prop="`resideInfoDtos[${index}].villageId`" label="所属房屋"
style="margin:0px " label-width="100px" class="font-color-orange" :rules="[
{ required: true, message: '请选择小区', trigger: 'blur' },
]">
<el-select v-model.trim="form.resideInfoDtos[index].villageId" placeholder="请选择小区"
size="small" class="u-item-width-communitycascader f-bto0" clearable
@change="handleChangeV(index)">
<el-option v-for="item in rowItem.optionsV" :key="item.value" :label="item.label"
:value="item.value">
<el-option v-for="item in rowItem.optionsV" :key="item.value"
:label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item :prop="`resideInfoDtos[${index}].buildId`" label-width="0" style="margin:0px"
:rules="[
<el-form-item :prop="`resideInfoDtos[${index}].buildId`" label-width="0"
style="margin:0px" :rules="[
{ required: true, message: '请选择楼栋', trigger: 'blur' },
]">
<el-select v-model.trim="form.resideInfoDtos[index].buildId" placeholder="楼号"
size="small" clearable @change="handleChangeB(index)"
class="u-item-width-buildcascader f-bto0">
<el-option v-for="item in rowItem.optionsB" :key="item.value" :label="item.label"
:value="item.value">
<el-option v-for="item in rowItem.optionsB" :key="item.value"
:label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item :prop="`resideInfoDtos[${index}].unitId`" label-width="0" style="margin:0px"
:rules="[
<el-form-item :prop="`resideInfoDtos[${index}].unitId`" label-width="0"
style="margin:0px" :rules="[
{ required: true, message: '请选择单元', trigger: 'blur' },
]">
<el-select v-model.trim="form.resideInfoDtos[index].unitId" placeholder="单元"
size="small" clearable class="u-item-width-buildcascader f-bto0"
@change="handleChangeD(index)">
<el-option v-for="item in rowItem.optionsD" :key="item.value" :label="item.label"
:value="item.value">
<el-option v-for="item in rowItem.optionsD" :key="item.value"
:label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item :prop="`resideInfoDtos[${index}].homeId`" label-width="0" style="margin:0px "
:rules="[
<el-form-item :prop="`resideInfoDtos[${index}].homeId`" label-width="0"
style="margin:0px " :rules="[
{ required: true, message: '请选择房屋', trigger: 'blur' },
]">
<el-select v-model.trim="form.resideInfoDtos[index].homeId" placeholder="房号"
size="small" clearable class="u-item-width-buildcascader f-bto0"
@change="handleChangeH(index)">
<el-option v-for="item in rowItem.optionsH" :key="item.value" :label="item.label"
:value="item.value">
<el-option v-for="item in rowItem.optionsH" :key="item.value"
:label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-button type="primary" size="mini" icon="el-icon-plus" circle
@click="handelClickAddHouse" style="margin-left: 16px; height: 30px;"></el-button>
<el-button type="danger" v-if="form.resideInfoDtos.length > 1" size="small"
icon="el-icon-minus" @click="handelClickDelHouse(index)" style="height: 30px;" circle>
icon="el-icon-minus" @click="handelClickDelHouse(index)" style="height: 30px;"
circle>
</el-button>
</el-col>
@ -191,8 +193,8 @@
<el-select v-model="form.resideInfoDtos[index].resiHouseRel" placeholder="请选择"
size="small" class="list_item_width_1"
@change="handelChangeResiHouseRel($event, index)" clearable>
<el-option v-for="(item, i) in dicts.resiHouseRelList" :key="i" :label="item.label"
:value="item.value"></el-option>
<el-option v-for="(item, i) in dicts.resiHouseRelList" :key="i"
:label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
@ -216,8 +218,9 @@
</el-col>
<el-col :span="6" v-if="form.resideInfoDtos[index].householdSituation == 'rzhbz'">
<el-form-item label="户籍所在地">
<el-input class="list_item_width_1" v-model="form.resideInfoDtos[index].placeOfDomicile"
placeholder="请输入内容" size="small" clearable></el-input>
<el-input class="list_item_width_1"
v-model="form.resideInfoDtos[index].placeOfDomicile" placeholder="请输入内容"
size="small" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6" v-else-if="form.resideInfoDtos[index].householdSituation == 'hzrbz'">
@ -246,8 +249,8 @@
<el-row type="flex" justify="space-between">
<el-col :span="6">
<el-form-item label="宗教信仰">
<el-input class="list_item_width_1" v-model="form.religionDto.religion" placeholder="请输入内容"
size="small" clearable></el-input>
<el-input class="list_item_width_1" v-model="form.religionDto.religion"
placeholder="请输入内容" size="small" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
@ -260,13 +263,15 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-col :span="6"
v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-form-item label="工作单位">
<el-input class="list_item_width_1" v-model="form.workInfoDto.workUnit" placeholder="请输入内容"
size="small" clearable></el-input>
<el-input class="list_item_width_1" v-model="form.workInfoDto.workUnit"
placeholder="请输入内容" size="small" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-col :span="6"
v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-form-item label="职业">
<el-input class="list_item_width_1" v-model="form.workInfoDto.occupation"
placeholder="请输入内容" size="small" clearable></el-input>
@ -283,16 +288,17 @@
<el-col :span="6"
v-if="(form.workInfoDto.careerStatus == 0 || form.workInfoDto.careerStatus == 6) && form.workInfoDto.careerStatus">
<el-form-item label="失业时间">
<el-date-picker v-model.trim="form.unemployedDto.unemploymentTime" class="list_item_width_1"
type="date" size="small" clearable placeholder="选择日期" format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd">
<el-date-picker v-model.trim="form.unemployedDto.unemploymentTime"
class="list_item_width_1" type="date" size="small" clearable placeholder="选择日期"
format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" v-if='!form.workInfoDto.careerStatus'></el-col>
</el-row>
<el-row v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-col :span="6" v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-col :span="6"
v-if="form.workInfoDto.careerStatus >= 1 && form.workInfoDto.careerStatus <= 5">
<el-form-item label="月收入">
<el-input class="list_item_width_1" v-model="form.economyDto.monthIncome"
placeholder="请输入内容" size="small" clearable></el-input>
@ -312,8 +318,8 @@
</el-col>
<el-col :span="6">
<el-form-item label="失业原因">
<el-select v-model="form.unemployedDto.unemploymentReason" placeholder="请选择" size="small"
class="list_item_width_1" clearable>
<el-select v-model="form.unemployedDto.unemploymentReason" placeholder="请选择"
size="small" class="list_item_width_1" clearable>
<el-option v-for="(item, index) in dicts.unemploymentReasonList" :key="index"
:label="item.label" :value="item.value"></el-option>
</el-select>
@ -337,7 +343,8 @@
<el-col :span="6">
<el-form-item label="是否领取失业金" label-width="120px">
<el-radio-group v-model="form.unemployedDto.unempCompensationFlag">
<el-radio :label="item.value" v-for="item in hasOptions" :key="item.value">{{ item.label
<el-radio :label="item.value" v-for="item in hasOptions" :key="item.value">{{
item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
@ -345,7 +352,8 @@
<el-col :span="6">
<el-form-item label="是否就业困难对象" label-width="150px">
<el-radio-group v-model="form.unemployedDto.employmentHardFlag">
<el-radio :label="item.value" v-for="item in hasOptions" :key="item.value">{{ item.label
<el-radio :label="item.value" v-for="item in hasOptions" :key="item.value">{{
item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
@ -398,17 +406,17 @@
<el-button size="small" class="diy-button--white" @click="handlerCancle" plain>取消</el-button>
<el-button type="primary" size="small" :loading="btnLoading"
@click="handleClickSubmit">保存</el-button>
<el-button type="primary" size="small" :loading="btnLoading"
@click="handleClickSubmit('house')">提交并补充家庭人员信息</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" destroy-on-close width="1028px">
</el-dialog> -->
</div>
</template>
<script>
import { requestGet, requestPost } from "@/js/dai/request";
import { isCard, isPassport, isMobile, isPhone, isHKPassport, isTwPassport, isSoldier } from '@/utils/validate'
@ -481,8 +489,8 @@ export default {
marriage: null,//
spouseSituation: null,//
elderlyFlag: null,//
elderlyRelation: '',//
dependantMobile: '',//
elderlyRelation: null,//
dependantMobile: null,//
},
resideInfoDtos: [
{
@ -1068,6 +1076,7 @@ export default {
promises.push(this.getUniList(i));
}
this.form = { ...res.data.data };
this.form.baseInfoDto.idNum = this.$route.params.idNum;
this.form.baseInfoDto.mobile = this.$route.params.mobile;
for (const key in this.form.baseInfoDto.categoryInfo) {
@ -1082,6 +1091,7 @@ export default {
const formData = this.form[incidenceFormId];
if (formData && Object.keys(formData).includes(formName)) {
this.footerInputList[i].children[index].value = formData[formName] || null;
this.footerInputList[i].children[index].id = formData.id
}
}
@ -1195,7 +1205,6 @@ export default {
},
handleChangeV(index) {
this.form.resideInfoDtos[index].buildId = '';
this.form.resideInfoDtos[index].unitId = '';
this.form.resideInfoDtos[index].homeId = '';
@ -1372,7 +1381,7 @@ export default {
});
},
handleClickSubmit(house) {
this.$refs['addForm'].validate((valid) => {
this.$refs['editForm'].validate((valid) => {
if (valid) {
this.form.resideInfoDtos.forEach(item => {
delete item.optionsV;
@ -1393,27 +1402,43 @@ export default {
}
let { code, data, msg } = await requestPost(url, parm)
if (code == 0) {
if (house!= 'house') {
this.$message.success('保存成功');
if (!house) {
this.$refs['editForm'].resetFields();
this.handlerCancle();
} else {
this.form = {}
this.$message.success('保存成功');
let homeArr = JSON.parse(JSON.stringify(this.form.resideInfoDtos));
this.$refs['editForm'].resetFields();
this.form.resideInfoDtos = homeArr
}
}else if(code >= 8000){
this.$message.error(msg);
}
}
catch (error) {
this.$message.error(msg);
}
},
showDialog({ index, value }, event) {
console.log(value);
if (value == 1) {
value = 'parymemberInfoDto'
this.form.baseInfoDto.categoryInfo.partyFlag = 1;
} else if (value == 0) {
this.form.baseInfoDto.categoryInfo.partyFlag = 0;
this.form.parymemberInfoDto = null
this.$nextTick(() => {
this.$refs['resiExpand'].formList = this.$refs['resiExpand'].formList.filter(item => item.formId !== 'parymemberInfoDto');
})
} else if (value == 2) {
this.form.baseInfoDto.categoryInfo.partyFlag = 2;
this.form.parymemberInfoDto = null
this.$nextTick(() => {
this.$refs['resiExpand'].formList = this.$refs['resiExpand'].formList.filter(item => item.formId !== 'parymemberInfoDto');
})
}
if (index != 3 && index) {
this.form.baseInfoDto.categoryInfo[value] = event ? 1 : 0;
@ -1445,7 +1470,6 @@ export default {
},
//
submitExpand(_form) {
console.log(_form);
this.form = { ...this.form, ..._form };
// console.log(this.form, '');
},

3
src/views/components/resiExpand/editExpand.vue

@ -217,10 +217,12 @@ export default {
return group.children.reduce(async (accPromise, item) => {
const acc = await accPromise;
acc[item.formName] = null;
this.form[item.pformName].id = item.id
if (item.itemType == 'checkbox') {
this.form[item.pformName][item.formName] = item.value || []
} else if (item.itemType == 'cascader1') {
await this.getOrgTree()
this.form[item.pformName][item.formName] = item.value || null
} else {
this.form[item.pformName][item.formName] = item.value || null
}
@ -303,7 +305,6 @@ export default {
watch: {
'form': {
handler(newVal, oldVal) {
console.log(newVal);
this.$emit('submitExpand', this.form)
},
deep: true,

54
src/views/modules/portrayal/jumin/index.vue

@ -1,5 +1,5 @@
<template>
<div class='g-main' v-loading="loading">
<div class='g-main' v-loading="loading" v-if="showFlag">
<div class="left">
<div class="user">
<img src="@/assets/images/index/nan.png" alt="">
@ -25,7 +25,9 @@
</div>
</div>
<div class="right">
<div class="editBtn"><el-button type="primary" size="small">编辑</el-button></div>
<div class="editBtn">
<el-button type="primary" size="small" @click="handelClickJumpEdit">编辑</el-button>
</div>
<div class="title-small">基础信息</div>
<el-row type="flex" justify="" class="f-m-top23">
<el-col :span="6" class="f-flex">
@ -54,7 +56,8 @@
<img v-show="!showFlagIdCardBtn" src="@/assets/img/yanjing2.png" alt="" width="14px"
style="margin-left: 10px" />
<el-button type="text" class="div-table-button--blue" size="small"
@click="handelCLickShowCheckPassword('idCard')">{{ showFlagIdCardBtn ? "显示" : "隐藏" }}</el-button>
@click="handelCLickShowCheckPassword('idCard')">{{ showFlagIdCardBtn ? "显示" : "隐藏"
}}</el-button>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-label"><b>联系电话</b></div>
@ -70,7 +73,8 @@
<img v-show="!showFlagMobileBtn" src="@/assets/img/yanjing2.png" alt="" width="14px"
style="margin-left: 10px" />
<el-button type="text" class="div-table-button--blue" size="small"
@click="handelCLickShowCheckPassword('mobile')">{{ showFlagMobileBtn ? "显示" : "隐藏" }}</el-button>
@click="handelCLickShowCheckPassword('mobile')">{{ showFlagMobileBtn ? "显示" : "隐藏"
}}</el-button>
</el-col>
</el-row>
@ -271,7 +275,8 @@
<div class="title-small">关系图谱</div>
<graph :userInfo="resiDetailObj.baseInfoDto" v-if="resiDetailObj.baseInfoDto" />
<div class="title-small">人员标签</div>
<staff-tag :userInfo="resiDetailObj" ref="staffTag" v-if="Object.keys(resiDetailObj).length !== 0" :formType="'detail'" ></staff-tag>
<staff-tag :userInfo="resiDetailObj" ref="staffTag" v-if="Object.keys(resiDetailObj).length !== 0"
:formType="'detail'"></staff-tag>
<section v-for="(sectionItem, sectionIndex) in expandList" :key="sectionIndex">
<div class="title-small" :id="sectionItem.id">{{ sectionItem.title }}</div>
<el-row type="flex" justify="" class="f-m-top23" v-for="(row, rowIndex) in sectionItem.rows"
@ -293,7 +298,8 @@
<el-dialog title="密码验证" :visible.sync="showCheckPassword">
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="密码" prop="password">
<el-input v-model="form.password" autocomplete="off" type="password" placeholder="请输入当前账号密码"></el-input>
<el-input v-model="form.password" autocomplete="off" type="password"
placeholder="请输入当前账号密码"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -303,6 +309,7 @@
</el-dialog>
</div>
</template>
<script>
import { requestPost } from '@/js/dai/request'
import graph from './cpts/graph.vue'
@ -315,9 +322,9 @@ export default {
data() {
return {
loading: true,
checkType: 'edit',//editview
changeRecordList: [],//
showFlag: true,
resiDetailObj: {},//
showFlagIdCardBtn: true,
showFlagMobileBtn: true,
@ -759,10 +766,12 @@ export default {
};
},
components: { graph, staffTag, businessRecord, changeRecord },
async created() {},
created() { },
mounted() {
},
activated() {},
activated() {
},
methods: {
//
@ -809,6 +818,7 @@ export default {
.get(`/actual/base/residentIntegratedInfo/detail/masked/${this.resiId}`)
.then(async (res) => {
if (res.data.code === 0) {
this.showFlag = true;
this.resiDetailObj = res.data.data || {};
const nameMap = {
ext: '拓展信息',
@ -839,8 +849,9 @@ export default {
await Promise.all(this.expandList.map(async item => {
await Promise.all(item.children.map(async child => {
const key = child.formName;
console.log(this.resiDetailObj[item.id]);
if (this.resiDetailObj[item.id].hasOwnProperty(key)) {
child.value = await this.getDictName(child.opctionUrl, child.opctionParams, this.resiDetailObj[item.id][key], child.itemType, item.opction);
child.value = await this.getDictName(child.opctionUrl, child.opctionParams, this.resiDetailObj[item.id][key == 'partyOrgId' ? 'branchId' : key], child.itemType, child.opction);
}
}));
}));
@ -874,6 +885,8 @@ export default {
}
});
} else if (res.data.code >= 8000) {
this.resiDetailObj = {};
this.showFlag = false
this.$message.error(res.data.msg);
}
})
@ -882,7 +895,10 @@ export default {
console.log(err);
});
},
handelClickJumpEdit() {
this.checkType = 'edit';
this.showCheckPassword = true;
},
async getDictName(url, params, value, itemType, opction) {
try {
if (url) {
@ -896,10 +912,11 @@ export default {
return matchedItem ? matchedItem.label : '--';
}
} else {
if (itemType == 'radio') {
if (itemType == 'radio1') {
console.log(opction, value, '单元中心户');
const matchedItem = opction.find(item => item.value === value)
return matchedItem ? matchedItem.label : '--';
} else if (itemType == 'input1') {
} else if (itemType == 'input1' || itemType == "datepicker1" || itemType == 'cascader1') {
return value ? value : '--';
}
}
@ -916,6 +933,7 @@ export default {
},
handelCLickShowCheckPassword(type) {
this.form.password = '';
this.checkType = 'view';
if (type === 'idCard') {
if (this.showFlagIdCardBtn) {
this.showCheckPassword = true;
@ -958,6 +976,7 @@ export default {
}
const { data, code, msg } = await requestPost(url, parm);
if (code === 0) {
if (this.checkType == 'view') {
if (this.tuominType === "mobile") {
this.$set(this.resiDetailObj.baseInfoDto, "mobile", data.mobile);
this.showFlagMobileBtn = !this.showFlagMobileBtn;
@ -967,6 +986,11 @@ export default {
this.showFlagIdCardBtn = !this.showFlagIdCardBtn;
}
this.showCheckPassword = false
} else if (this.checkType == 'edit') {
this.showCheckPassword = false
this.$router.push({ name: 'edit-resi', query: { id: data.id }, params: { idNum: data.idNum, mobile: data.mobile } });
}
} else {
this.$message.error(msg);
}
@ -1097,8 +1121,8 @@ export default {
watch: {
'$store.state.huaXiang.userInfo.resiId': {
handler(newValue, oldValue) {
this.resiDetailObj = null
this.resiId = newValue;
this.resiDetailObj = {};
this.getNationalityList();
this.getResiDetail();
this.getMarriage()

Loading…
Cancel
Save