Browse Source

居民编辑问题修改

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

148
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>
@ -121,30 +122,29 @@
<el-col :span="8">
<el-form-item label="所属组织" class="font-color-orange" style="margin:0px "
:prop="`resideInfoDtos[${index}].gridId`" :rules="[
{ required: true, message: '请选择所属组织', trigger: 'blur' },
]">
{ required: true, message: '请选择所属组织', trigger: 'blur' },
]">
<el-cascader class="u-item-width-agency" ref="myCascader" clearable size="small"
v-model="form.resideInfoDtos[index].gridId" :options="orgOptions"
:props="orgOptionProps" @change="handleChangeAgency(index)"></el-cascader>
</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="[
{ required: true, message: '请选择小区', trigger: 'blur' },
]">
<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="[
{ required: true, message: '请选择楼栋', trigger: 'blur' },
]">
<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">
@ -153,10 +153,10 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item :prop="`resideInfoDtos[${index}].unitId`" label-width="0" style="margin:0px"
:rules="[
{ required: true, message: '请选择单元', trigger: 'blur' },
]">
<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)">
@ -165,10 +165,10 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item :prop="`resideInfoDtos[${index}].homeId`" label-width="0" style="margin:0px "
:rules="[
{ required: true, message: '请选择房屋', trigger: 'blur' },
]">
<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)">
@ -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,16 +342,18 @@
<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>
<el-radio :label="item.value" v-for="item in hasOptions" :key="item.value">{{
item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<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>
<el-radio :label="item.value" v-for="item in hasOptions" :key="item.value">{{
item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
@ -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 = {
}
} else {
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) {
@ -1293,13 +1305,13 @@ export default {
} else if (index == 3) {
if (event) {
this.form.baseInfoDto.categoryInfo.specialCrowdFlag = 1;
if(value == 'unitedFrontFlag' || value == 'petitionOfficerFlag'){
if (value == 'unitedFrontFlag' || value == 'petitionOfficerFlag') {
this.form.baseInfoDto.categoryInfo[value] = 1
}
this.form.specialDto.specialCategoryCodes.push(value);
} else {
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
}
}

232
src/views/components/editResi.vue

@ -1,7 +1,7 @@
<template>
<div class="div_form" v-loading="loading">
<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>
@ -121,66 +122,67 @@
<el-col :span="8">
<el-form-item label="所属组织" class="font-color-orange" style="margin:0px "
:prop="`resideInfoDtos[${index}].gridId`" :rules="[
{ required: true, message: '请选择所属组织', trigger: 'blur' },
]">
{ required: true, message: '请选择所属组织', trigger: 'blur' },
]">
<el-cascader class="u-item-width-agency" ref="myCascader" clearable size="small"
v-model="form.resideInfoDtos[index].gridId" :options="orgOptions"
:props="orgOptionProps" @change="handleChangeAgency(index)"></el-cascader>
</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="[
{ required: true, message: '请选择小区', trigger: 'blur' },
]">
<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="[
{ required: true, message: '请选择楼栋', trigger: 'blur' },
]">
<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="[
{ required: true, message: '请选择单元', trigger: 'blur' },
]">
<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="[
{ required: true, message: '请选择房屋', trigger: 'blur' },
]">
<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,16 +343,18 @@
<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>
<el-radio :label="item.value" v-for="item in hasOptions" :key="item.value">{{
item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<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>
<el-radio :label="item.value" v-for="item in hasOptions" :key="item.value">{{
item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
@ -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'
@ -419,7 +427,7 @@ import resiExpand from './resiExpand/editExpand.vue';
export default {
data() {
return {
loading:true,
loading: true,
formList: [],
orgOptions: [],
orgOptionProps: {
@ -481,8 +489,8 @@ export default {
marriage: null,//
spouseSituation: null,//
elderlyFlag: null,//
elderlyRelation: '',//
dependantMobile: '',//
elderlyRelation: null,//
dependantMobile: null,//
},
resideInfoDtos: [
{
@ -1056,43 +1064,45 @@ export default {
this.$http
.get(`/actual/base/residentIntegratedInfo/detail/masked/${this.resiId}`)
.then((res) => {
if(res.data.code == 0){
this.form = {};
this.form.resideInfoDtos = res.data.data.resideInfoDtos;
const promises = [];
this.$refs['resiExpand'].formList = []
for (let i in this.form.resideInfoDtos) {
promises.push(this.getValiheList(i));
promises.push(this.getBuildList(i));
promises.push(this.getHouseList(i));
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) {
if (this.form.baseInfoDto.categoryInfo[key] === 1 && this.incidence[key] || (this.form.baseInfoDto.categoryInfo.partyFlag == 1 && key === 'partyFlag')) {
const formId = key === 'partyFlag' ? 'parymemberInfoDto' : key;
this.showDialog({ index: key, value: formId }, true);
for (let i in this.footerInputList) {
const incidenceFormId = this.incidence[formId].formId;
if (this.footerInputList[i].id === incidenceFormId) {
for (let index in this.footerInputList[i].children) {
const formName = this.footerInputList[i].children[index].formName;
const formData = this.form[incidenceFormId];
if (formData && Object.keys(formData).includes(formName)) {
this.footerInputList[i].children[index].value = formData[formName] || null;
if (res.data.code == 0) {
this.form = {};
this.form.resideInfoDtos = res.data.data.resideInfoDtos;
const promises = [];
this.$refs['resiExpand'].formList = []
for (let i in this.form.resideInfoDtos) {
promises.push(this.getValiheList(i));
promises.push(this.getBuildList(i));
promises.push(this.getHouseList(i));
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) {
if (this.form.baseInfoDto.categoryInfo[key] === 1 && this.incidence[key] || (this.form.baseInfoDto.categoryInfo.partyFlag == 1 && key === 'partyFlag')) {
const formId = key === 'partyFlag' ? 'parymemberInfoDto' : key;
this.showDialog({ index: key, value: formId }, true);
for (let i in this.footerInputList) {
const incidenceFormId = this.incidence[formId].formId;
if (this.footerInputList[i].id === incidenceFormId) {
for (let index in this.footerInputList[i].children) {
const formName = this.footerInputList[i].children[index].formName;
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
}
}
}
}
}
}
return Promise.all(promises);
} else if (res.data.code >= 8000) {
this.$message.error(res.data.msg);
}
return Promise.all(promises);
}else if (res.data.code >= 8000){
this.$message.error(res.data.msg);
}
})
.then(() => {
})
@ -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) {
this.$message.success('保存成功');
if (!house) {
if (house!= 'house') {
this.$message.success('保存成功');
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,

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

@ -1,10 +1,10 @@
<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="">
<span v-if="resiDetailObj.baseInfoDto"> {{ resiDetailObj.baseInfoDto.name
}}{{ age }}</span>
}}{{ age }}</span>
<span v-else> -- </span>
</div>
<div class="menu">
@ -18,14 +18,16 @@
@click="handelCLickMenu(item.id, index)" v-show="item.filledQty != 0">
<span>{{ item.name }}</span><span
:class="{ 'incomplete': item.filledQty != item.totalQty && index != active, 'full': item.filledQty == item.totalQty }">{{
item.filledQty }}/{{
item.filledQty }}/{{
item.totalQty }}</span>
</div>
</div>
</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">
@ -44,33 +46,35 @@
<div class="f-label"><b>证件号</b></div>
<div class="f-left8 f-font-color">
{{
resiDetailObj.baseInfoDto && resiDetailObj.baseInfoDto.idNum
? resiDetailObj.baseInfoDto.idNum
: "--"
}}
resiDetailObj.baseInfoDto && resiDetailObj.baseInfoDto.idNum
? resiDetailObj.baseInfoDto.idNum
: "--"
}}
</div>
<img v-show="showFlagIdCardBtn" src="@/assets/img/yanjing1.png" alt="" width="14px"
style="margin-left: 10px" />
<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>
<div class="f-left8 f-font-color">
{{
resiDetailObj.baseInfoDto && resiDetailObj.baseInfoDto.mobile
? resiDetailObj.baseInfoDto.mobile
: "--"
}}
resiDetailObj.baseInfoDto && resiDetailObj.baseInfoDto.mobile
? resiDetailObj.baseInfoDto.mobile
: "--"
}}
</div>
<img v-show="showFlagMobileBtn" src="@/assets/img/yanjing1.png" alt="" width="14px"
style="margin-left: 10px" />
<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>
@ -79,9 +83,9 @@
<div class="f-label">性别</div>
<div class="f-left8 f-font-color">
{{
resiDetailObj.baseInfoDto && resiDetailObj.baseInfoDto.genderName
? resiDetailObj.baseInfoDto.genderName : "--"
}}
resiDetailObj.baseInfoDto && resiDetailObj.baseInfoDto.genderName
? resiDetailObj.baseInfoDto.genderName : "--"
}}
</div>
</el-col>
<el-col :span="6" class="f-flex">
@ -92,14 +96,14 @@
<div class="f-label">民族</div>
<div class="f-left8 f-font-color">
{{ resiDetailObj.baseInfoDto && resiDetailObj.baseInfoDto.nationName ?
resiDetailObj.baseInfoDto.nationName : "--" }}
resiDetailObj.baseInfoDto.nationName : "--" }}
</div>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-label">文化程度</div>
<span class="f-left8 f-font-color"> {{ resiDetailObj.eduInfoDto &&
resiDetailObj.eduInfoDto.cultureLevelName ?
resiDetailObj.eduInfoDto.cultureLevelName : "--" }}</span>
resiDetailObj.eduInfoDto.cultureLevelName ?
resiDetailObj.eduInfoDto.cultureLevelName : "--" }}</span>
</el-col>
</el-row>
@ -120,14 +124,14 @@
<div class="f-label">备注</div>
<div class="f-left8 f-font-color">
{{ resiDetailObj.baseInfoDto.remark ? resiDetailObj.baseInfoDto.remark :
"--" }}
"--" }}
</div>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-label">创建日期</div>
<span class="f-left8 f-font-color">
{{ resiDetailObj.baseInfoDto.createdTime ?
resiDetailObj.baseInfoDto.createdTime : "--" }}</span>
resiDetailObj.baseInfoDto.createdTime : "--" }}</span>
</el-col>
</el-row>
<el-row type="flex" justify="" class="f-m-top23">
@ -136,7 +140,7 @@
<div class="f-label">更新时间</div>
<span class="f-left8 f-font-color">
{{ resiDetailObj.baseInfoDto.updatedTime ?
resiDetailObj.baseInfoDto.updatedTime : "--" }}</span>
resiDetailObj.baseInfoDto.updatedTime : "--" }}</span>
</div>
</el-col>
</el-row>
@ -166,7 +170,7 @@
<div class="f-label"><b>人房关系</b></div>
<span class="f-left8 f-font-color">
{{ item.resiHouseRel != null ? item.resiHouseRel === 0 ? '自住' : item.resiHouseRel ===
1 ? '租住' : '--' : '--' }}
1 ? '租住' : '--' : '--' }}
</span>
</div>
</el-col>
@ -195,21 +199,21 @@
<div class="f-flex ">
<div class="f-label">宗教信仰</div>
<span class="f-left8 f-font-color">{{
resiDetailObj.religionDto && resiDetailObj.religionDto.religion ?
resiDetailObj.religionDto.religion : "--"
}}</span>
resiDetailObj.religionDto && resiDetailObj.religionDto.religion ?
resiDetailObj.religionDto.religion : "--"
}}</span>
</div>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-flex ">
<div class="f-label">籍贯</div>
<span class="f-left8 f-font-color">{{
resiDetailObj.baseInfoDto
? resiDetailObj.baseInfoDto.nativePlace
? resiDetailObj.baseInfoDto.nativePlace
: "--"
: "--"
}}</span>
resiDetailObj.baseInfoDto
? resiDetailObj.baseInfoDto.nativePlace
? resiDetailObj.baseInfoDto.nativePlace
: "--"
: "--"
}}</span>
</div>
</el-col>
<el-col :span="6" class="f-flex">
@ -221,12 +225,12 @@
<el-col :span="6" class="f-flex">
<div class="f-label">工作单位:</div>
<span class="f-left8 f-font-color">{{
resiDetailObj.workInfoDto
? resiDetailObj.workInfoDto.workUnit
? resiDetailObj.workInfoDto.workUnit
: "--"
: "--"
}}</span>
resiDetailObj.workInfoDto
? resiDetailObj.workInfoDto.workUnit
? resiDetailObj.workInfoDto.workUnit
: "--"
: "--"
}}</span>
</el-col>
</el-row>
<el-row type="flex" justify="" class="f-m-top23">
@ -234,35 +238,35 @@
<div class="f-flex ">
<div class="f-label">职业</div>
<span class="f-left8 f-font-color">{{
resiDetailObj.workInfoDto
? resiDetailObj.workInfoDto.occupation
? resiDetailObj.workInfoDto.occupation
: "--"
: "--"
}}</span>
resiDetailObj.workInfoDto
? resiDetailObj.workInfoDto.occupation
? resiDetailObj.workInfoDto.occupation
: "--"
: "--"
}}</span>
</div>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-flex ">
<div class="f-label">月收入</div>
<span class="f-left8 f-font-color">{{
resiDetailObj.economyDto
? resiDetailObj.economyDto.monthIncome
? resiDetailObj.economyDto.monthIncome
: "--"
: "--"
}}</span>
resiDetailObj.economyDto
? resiDetailObj.economyDto.monthIncome
? resiDetailObj.economyDto.monthIncome
: "--"
: "--"
}}</span>
</div>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-label">有无赡养人</div>
<div class="f-left8 f-font-color">
{{
resiDetailObj.familyInfoDto && resiDetailObj.familyInfoDto.elderlyFlag == 1
? "有"
: resiDetailObj.familyInfoDto && resiDetailObj.familyInfoDto.elderlyFlag == 0
? "无"
: "--"
resiDetailObj.familyInfoDto && resiDetailObj.familyInfoDto.elderlyFlag == 1
? "有"
: resiDetailObj.familyInfoDto && resiDetailObj.familyInfoDto.elderlyFlag == 0
? "无"
: "--"
}}
</div>
</el-col>
@ -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'
@ -314,10 +321,10 @@ import { idTypeList } from "@/js/columns/constants";
export default {
data() {
return {
loading:true,
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: {
//
@ -808,72 +817,76 @@ export default {
this.$http
.get(`/actual/base/residentIntegratedInfo/detail/masked/${this.resiId}`)
.then(async (res) => {
if(res.data.code === 0){
if (res.data.code === 0) {
this.showFlag = true;
this.resiDetailObj = res.data.data || {};
const nameMap = {
ext: '拓展信息',
united_front: '统战人员信息',
party_member: '党员信息',
death: '死亡信息',
disability: '残疾信息',
subsistence_allowance: '低保信息',
serious_illness: '大病信息',
veteran: '退役军人信息',
special_support: '特扶人员信息',
old_people: '老年人信息',
ensure_house: '保障房信息',
chronic_disease: '慢病信息',
base: '基本信息'
};
this.menuList = Object.entries(res.data.data.integrityData.integrityQtyMap).map(([key, value]) => ({
name: nameMap[key],
id: key,
filledQty: value.filledQty,
totalQty: value.totalQty
})).reverse();
const nameMap = {
ext: '拓展信息',
united_front: '统战人员信息',
party_member: '党员信息',
death: '死亡信息',
disability: '残疾信息',
subsistence_allowance: '低保信息',
serious_illness: '大病信息',
veteran: '退役军人信息',
special_support: '特扶人员信息',
old_people: '老年人信息',
ensure_house: '保障房信息',
chronic_disease: '慢病信息',
base: '基本信息'
};
this.menuList = Object.entries(res.data.data.integrityData.integrityQtyMap).map(([key, value]) => ({
name: nameMap[key],
id: key,
filledQty: value.filledQty,
totalQty: value.totalQty
})).reverse();
let arr = this.menuList.filter(item => item.filledQty > 0 && item.name !== '基本信息' && item.name !== '拓展信息');
this.expandList = this.originalExpandList.filter(itemA => {
return arr.some(itemB => itemB.name === itemA.title);
});
await Promise.all(this.expandList.map(async item => {
await Promise.all(item.children.map(async child => {
const key = child.formName;
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);
}
let arr = this.menuList.filter(item => item.filledQty > 0 && item.name !== '基本信息' && item.name !== '拓展信息');
this.expandList = this.originalExpandList.filter(itemA => {
return arr.some(itemB => itemB.name === itemA.title);
});
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 == 'partyOrgId' ? 'branchId' : key], child.itemType, child.opction);
}
}));
}));
}));
this.expandList.forEach(item => {
const rows = [];
const chunkSize = 3;
for (let i = 0; i < item.children.length; i += chunkSize) {
rows.push(item.children.slice(i, i + chunkSize));
}
item.rows = rows;
});
this.menuList.push(
{
name: '业务记录',
filledQty: 1,
totalQty: 1
},
{
name: '更新纪录',
filledQty: 1,
totalQty: 1
}
);
this.expandList.forEach(item => {
const rows = [];
const chunkSize = 3;
for (let i = 0; i < item.children.length; i += chunkSize) {
rows.push(item.children.slice(i, i + chunkSize));
}
item.rows = rows;
});
this.menuList.push(
{
name: '业务记录',
filledQty: 1,
totalQty: 1
},
{
name: '更新纪录',
filledQty: 1,
totalQty: 1
}
);
this.score = res.data.data.integrityData.score;
const birthdayTimestamp = Date.parse(res.data.data.baseInfoDto.birthday);
this.age = this.calculateAge(birthdayTimestamp);
this.nationalityList.forEach(element => {
if (element.value === res.data.data.nationality) {
this.resiDetailObj.baseInfoDto.nationalityName = element.label;
}
});
}else if(res.data.code >= 8000){
this.score = res.data.data.integrityData.score;
const birthdayTimestamp = Date.parse(res.data.data.baseInfoDto.birthday);
this.age = this.calculateAge(birthdayTimestamp);
this.nationalityList.forEach(element => {
if (element.value === res.data.data.nationality) {
this.resiDetailObj.baseInfoDto.nationalityName = element.label;
}
});
} 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,15 +976,21 @@ export default {
}
const { data, code, msg } = await requestPost(url, parm);
if (code === 0) {
if (this.tuominType === "mobile") {
this.$set(this.resiDetailObj.baseInfoDto, "mobile", data.mobile);
this.showFlagMobileBtn = !this.showFlagMobileBtn;
}
if (this.tuominType === "idCard") {
this.$set(this.resiDetailObj.baseInfoDto, "idNum", data.idNum);
this.showFlagIdCardBtn = !this.showFlagIdCardBtn;
if (this.checkType == 'view') {
if (this.tuominType === "mobile") {
this.$set(this.resiDetailObj.baseInfoDto, "mobile", data.mobile);
this.showFlagMobileBtn = !this.showFlagMobileBtn;
}
if (this.tuominType === "idCard") {
this.$set(this.resiDetailObj.baseInfoDto, "idNum", data.idNum);
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 } });
}
this.showCheckPassword = false
} 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