Browse Source

居民编辑问题修改

v1.1
mk 2 years ago
parent
commit
8b3a40efdb
  1. 124
      src/views/components/addResi.vue
  2. 144
      src/views/components/editResi.vue
  3. 3
      src/views/components/resiExpand/editExpand.vue
  4. 60
      src/views/modules/portrayal/jumin/index.vue

124
src/views/components/addResi.vue

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

144
src/views/components/editResi.vue

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

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

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

Loading…
Cancel
Save