Browse Source

1.1详情版本

feature
mk 2 years ago
parent
commit
535e02db9a
  1. BIN
      src/assets/images/index/father.png
  2. BIN
      src/assets/images/index/girl.png
  3. BIN
      src/assets/images/index/grandma.png
  4. BIN
      src/assets/images/index/grandpa.png
  5. BIN
      src/assets/images/index/home.png
  6. BIN
      src/assets/images/index/mother.png
  7. BIN
      src/assets/images/index/son.png
  8. BIN
      src/assets/images/index/头像/叔叔.png
  9. BIN
      src/assets/images/index/头像/阿姨.png
  10. 21
      src/assets/scss/pages/resiInfo.scss
  11. 1
      src/views/components/addResi.vue
  12. 11
      src/views/modules/portrayal/jumin/cpts/businessRecord.vue
  13. 212
      src/views/modules/portrayal/jumin/cpts/graph.vue
  14. 75
      src/views/modules/portrayal/jumin/cpts/staffTag.vue
  15. 4
      src/views/modules/portrayal/jumin/cpts/table/changeRecord.vue
  16. 236
      src/views/modules/portrayal/jumin/index.vue

BIN
src/assets/images/index/father.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
src/assets/images/index/girl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
src/assets/images/index/grandma.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

BIN
src/assets/images/index/grandpa.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
src/assets/images/index/home.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
src/assets/images/index/mother.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

BIN
src/assets/images/index/son.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
src/assets/images/index/头像/叔叔.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

BIN
src/assets/images/index/头像/阿姨.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

21
src/assets/scss/pages/resiInfo.scss

@ -62,6 +62,15 @@
.active{
background: #F7FAFF;
color: #0056D6;
position: relative;
&::after{
content: '';
position: absolute;
right: 0;
width: 4px;
height: 37px;
background: #0056D6;
}
}
}
}
@ -89,6 +98,18 @@
.f-label {
width: 100px;
text-align: right;
>b{
font-weight: 400;
position: relative;
color:#ff5107;
&::after{
content: '*';
position: absolute;
top: 0px;
color: #ff5107;
left: -7px;
}
}
}
.f-flex{
align-items: center;

1
src/views/components/addResi.vue

@ -16,7 +16,6 @@
<div class="label">
</div>
</el-form>
</div>
</div>
</template>

11
src/views/modules/portrayal/jumin/cpts/businessRecord.vue

@ -1,5 +1,5 @@
<template>
<div style="padding-left: 16px;margin-top: 7px;">
<div style="padding:0 16px;margin-top: 7px;">
<el-tabs v-model="topTabs" @tab-click="tabClick">
<el-tab-pane :label="complainLabel" name="12345">
<complain :tableData="complainList" :key="resiId[0]" />
@ -72,11 +72,7 @@ export default {
},
//
created() {
if (this.type == "0") {
this.resiId = [this.userInfo.resiId];
} else if (this.type == "1") {
this.resiId = this.familyResiList;
}
},
async mounted() {
await this.getComplainList();
@ -95,10 +91,7 @@ export default {
type: Array,
default: () => [],
},
type: {
type: String,
default: "0",
},
},
//
methods: {

212
src/views/modules/portrayal/jumin/cpts/graph.vue

@ -9,6 +9,8 @@
</template>
<script>
import { requestPost } from '@/js/dai/request'
export default {
name: 'RelationGraphDemo3',
components: {},
@ -34,15 +36,158 @@ export default {
}
};
},
props: {
userInfo: {
type: Object,
default: () => { }
}
},
mounted() {
this.$nextTick(()=>{
this.showSeeksGraph();
this.$nextTick(() => {
// this.showSeeksGraph();
this.getFamilyRelationshipList()
})
},
watch: {
userInfo: {
handler(newVal, oldVal) {
console.log(newVal.resiId);
this.getFamilyRelationshipList()
},
deep: true
}
},
methods: {
async getFamilyRelationshipList() {
let url = `/actual/base/peopleRoomOverview/getFamilyRelationshipList?type=0&resid=` + this.userInfo.resiId;
let { code, data, msg } = await requestPost(url)
if (code == 0) {
//
let index = data.findIndex(item => item.name == this.userInfo.name);
if (index !== -1) {
//
const [item] = data.splice(index, 1);
data.unshift(item);
}
let familyList = data.map((item, index) => ({
'id': `N${index + 1}`,
'text': item.name,
'innerHTML': `<div class="c-my-node${index == 0 ? '1' : '2'} c-my-node-${index == 0 ? item.gender == 1 ? 'father' : 'mother' : item.houseHolderRel == '配偶' ? item.gender == '1' ? 'mother' : 'father' : item.houseHolderRel == '女儿' ? 'girl' : item.houseHolderRel == '儿子' ? 'gon' : item.houseHolderRel == '父亲' ? 'grandpa' : item.houseHolderRel == '母亲' ? 'grandma' : 'father'}"><div class="c-node-name${index == 0 ? '1' : '2'}" style="color:#000">${item.name}${item.age})岁</div></div>`
}))
let lineList = data.map((item, index) => ({
'from': 'N1',
'to': `N${index + 1}`,
'text': data[index].houseHolderRel || '其他',
'isHideArrow': true,
'color': item.houseHolderRel === '父亲' ? '#3876f2' : (item.houseHolderRel === '母亲' ? '#ff9696' : (item.houseHolderRel === '女儿' ? '#ffd5d5' : '#3876f2')),
'fontColor': item.houseHolderRel === '父亲' ? '#3876f2' : (item.houseHolderRel === '母亲' ? '#ff9696' : (item.houseHolderRel === '女儿' ? '#ffd5d5' : '#3876f2'))
}));
lineList = lineList.slice(1)
const __graph_json_data = { rootId: 'root', nodes: familyList, lines: lineList }
this.$refs.seeksRelationGraph.setJsonData(__graph_json_data, (graphInstance) => {
//
});
this.familyList = data
} else {
this.$message.error(msg)
}
},
showSeeksGraph() {
const __graph_json_data = { 'rootId': 'N13', 'nodes': [
{ 'id': 'N1', 'text': '','borderColor': '#6cc0ff', 'data': { 'isGoodMan': false, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node1 c-my-node-man"><div class="c-node-name1" style="color:#6cc0ff"></div></div>' }, { 'id': 'N2', 'text': '李*康', 'data': { 'isGoodMan': true, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node2 c-my-node-man" ><div class="c-node-name2" style="color:#ff875e">李*康</div></div>' }, { 'id': 'N3', 'text': '祁*伟', 'borderColor': '#6cc0ff', 'data': { 'isGoodMan': false, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node2 c-my-node-man" ><div class="c-node-name2" style="color:#6cc0ff">祁*伟</div></div>' }, { 'id': 'N4', 'text': '陈*石', 'data': { 'isGoodMan': true, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node2 c-my-node-man" ><div class="c-node-name2" style="color:#ff875e">陈*石</div></div>' }, { 'id': 'N5', 'text': '陆*可', 'data': { 'isGoodMan': true, 'sexType': '女' }, 'innerHTML': '<div class="c-my-node2 c-my-node-man" ><div class="c-node-name2" style="color:#ff875e">陆*可</div></div>' }, { 'id': 'N6', 'text': '高*良', 'data': { 'isGoodMan': false, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node2 c-my-node-man" ><div class="c-node-name2" style="color:#6cc0ff">高*良</div></div>' }, { 'id': 'N7', 'text': '沙*金', 'data': { 'isGoodMan': true, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node2 c-my-node-man" ><div class="c-node-name2" style="color:#ff875e">沙*金</div></div>' },{ 'id': 'N9', 'text': '沙*金2', 'data': { 'isGoodMan': true, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node2 c-my-node-man" ><div class="c-node-name2" style="color:#ff875e">沙*金2</div></div>' },], 'lines': [{ 'from': 'N1', 'to': 'N6', 'text': '', 'color': '#d2c0a5', 'fontColor': '#d2c0a5', 'data': { 'type': '父亲' } },{ 'from': 'N1', 'to': 'N7', 'text': '父亲', 'color': '#d2c0a5', 'fontColor': '#d2c0a5', 'data': { 'type': '母亲' } },{ 'from': 'N1', 'to': 'N8', 'text': '母亲', 'color': '#d2c0a5', 'fontColor': '#d2c0a5', 'data': { 'type': '儿子' } },{ 'from': 'N1', 'to': 'N2', 'text': '儿子', 'color': '#d2c0a5', 'fontColor': '#d2c0a5', 'data': { 'type': '女儿' } },{ 'from': 'N1', 'to': 'N3', 'text': '女儿', 'color': '#d2c0a5', 'fontColor': '#d2c0a5', 'data': { 'type': '配偶' } },{ 'from': 'N1', 'to': 'N4', 'text': '配偶', 'color': '#d2c0a5', 'fontColor': '#d2c0a5', 'data': { 'type': '岳父' } },{ 'from': 'N1', 'to': 'N5', 'text': '岳父', 'color': '#d2c0a5', 'fontColor': '#d2c0a5', 'data': { 'type': '岳母' } },{ 'from': 'N1', 'to': 'N9', 'text': '岳母', 'color': '#d2c0a5', 'fontColor': '#d2c0a5', 'data': { 'type': '岳母' } },] };;
const __graph_json_data = {
'rootId': 'N13', 'nodes': [
{ 'id': 'N1', 'text': '', 'borderColor': '#6cc0ff', 'data': { 'isGoodMan': false, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node1 c-my-node-father"><div class="c-node-name1" style="color:#6cc0ff"></div></div>' }, { 'id': 'N2', 'text': '李*康', 'data': { 'isGoodMan': true, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node2 c-my-node-girl" ><div class="c-node-name2" style="color:#ff875e">李*康</div></div>' }, { 'id': 'N3', 'text': '祁*伟', 'borderColor': '#6cc0ff', 'data': { 'isGoodMan': false, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node2 c-my-node-son" ><div class="c-node-name2" style="color:#6cc0ff">祁*伟</div></div>' }, { 'id': 'N4', 'text': '陈*石', 'data': { 'isGoodMan': true, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node2 c-my-node-mother" ><div class="c-node-name2" style="color:#ff875e">陈*石</div></div>' }, { 'id': 'N5', 'text': '陆*可', 'data': { 'isGoodMan': true, 'sexType': '女' }, 'innerHTML': '<div class="c-my-node2 c-my-node-grandpa" ><div class="c-node-name2" style="color:#ff875e">陆*可(25岁)</div></div>' }, { 'id': 'N6', 'text': '高*良', 'data': { 'isGoodMan': false, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node2 c-my-node-grandma" ><div class="c-node-name2" style="color:#6cc0ff">高*良</div></div>' }, { 'id': 'N7', 'text': '沙*金', 'data': { 'isGoodMan': true, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node2 c-my-node-home" ><div class="c-node-name2" style="color:#ff875e">沙*金</div></div>' }, { 'id': 'N9', 'text': '沙*金2', 'data': { 'isGoodMan': true, 'sexType': '男' }, 'innerHTML': '<div class="c-my-node2 c-my-node-home" ><div class="c-node-name2" style="color:#ff875e">沙*金2</div></div>' },], 'lines': [
{
'from': 'N1',
'to': 'N6',
'text': '',
'color': '#3b3b3b',
'fontColor': '#3b3b3b',
'isHideArrow': true,
'data': {
'type': '父亲'
},
},
{
'from': 'N1',
'to': 'N7',
'text': '父亲',
'color': '#3b3b3b',
'fontColor': '#3b3b3b',
'isHideArrow': true,
'data': {
'type': '母亲'
}
},
{
'from': 'N1',
'to': 'N8',
'text': '母亲',
'color': '#3b3b3b',
'fontColor': '#3b3b3b',
'isHideArrow': true,
'data': {
'type': '儿子'
}
},
{
'from': 'N1',
'to': 'N2',
'text': '儿子',
'color': '#3b3b3b',
'fontColor': '#3b3b3b',
'isHideArrow': true,
'data': {
'type': '女儿'
}
},
{
'from': 'N1',
'to': 'N3',
'text': '女儿',
'color': '#3b3b3b',
'fontColor': '#3b3b3b',
'isHideArrow': true,
'data': {
'type': '配偶'
}
},
{
'from': 'N1',
'to': 'N4',
'text': '配偶',
'color': '#d7e5ff',
'fontColor': '#3b3b3b',
'isHideArrow': true,
'data': {
'type': '岳父'
}
},
{
'from': 'N1',
'to': 'N5',
'text': '岳父',
'color': '#3b3b3b',
'fontColor': '#3b3b3b',
'isHideArrow': true,
'data': {
'type': '岳母'
}
},
{
'from': 'N1',
'to': 'N9',
'text': '岳母',
'isHideArrow': true,
'color': '#ffe4e4',
'fontColor': '#3b3b3b',
'data': {
'type': '岳母'
}
},
]
};
this.$refs.seeksRelationGraph.setJsonData(__graph_json_data, (graphInstance) => {
//
});
@ -69,50 +214,61 @@ export default {
}
.c-node-name2 {
width: 160px;
margin-left: -40px;
margin-left: -5px;
text-align: center;
margin-top: 85px;
margin-top: 63px;
line-height: 20px;
position: absolute;
width: 92px;
height: 20px;
background: #FFFFFF;
box-shadow: 0px 4px 6px 0px rgba(211, 213, 214, 0.4);
border-radius: 10px;
}
.c-my-node1 {
border: none;
background-size: 100%;
// height: 100px;
// width: 100px;
height: 100px;
width: 100px;
border-radius: 50px;
background-repeat: no-repeat;
background-position: center;
}
.c-my-node-man {
height: 100px;
width: 100px;
background-image: url(~@/assets/images/index/nan.png) !important;
}
.c-my-node-girl {
background-image: url(~@/assets/images/index/nv.png) !important;
}
.c-my-node-son {
background-image: url(~@/assets/images/index/nv.png) !important;
background-image: url(~@/assets/images/index/son.png) !important;
}
.c-my-node-daughter {
background-image: url(~@/assets/images/index/nv.png) !important;
.c-my-node-girl {
background-image: url(~@/assets/images/index/girl.png) !important;
}
.c-my-node-father {
background-image: url(~@/assets/images/index/nv.png) !important;
background-image: url(~@/assets/images/index/father.png) !important;
}
.c-my-node-mother {
background-image: url(~@/assets/images/index/nv.png) !important;
background-image: url(~@/assets/images/index/mother.png) !important;
}
.c-my-node-grandpa {
background-image: url(~@/assets/images/index/grandpa.png) !important;
}
.c-my-node-grandma {
background-image: url(~@/assets/images/index/grandma.png) !important;
}
.c-my-node-home {
background-image: url(~@/assets/images/index/home.png) !important;
}
.c-node-name1 {
width: 160px;
margin-left: -30px;
text-align: center;
margin-top: 90px;
position: absolute;
display: none;
}
.rel-node-checked{
.rel-node-checked {
box-shadow: none !important;
}
</style>

75
src/views/modules/portrayal/jumin/cpts/staffTag.vue

@ -9,8 +9,10 @@
<el-table-column prop="city" label="内容" min-width="70" align="left">
<template slot-scope="scope">
<el-form-item v-if="scope.row.type == 'radio'">
<el-radio-group v-model="scope.row.value" v-for="(item, index) in scope.row.option" :key="index">
<el-radio :label="item.value" disabled><span style="margin-right: 50px;">{{ item.label }}</span></el-radio>
<el-radio-group v-model="scope.row.value" v-for="(item, index) in scope.row.option"
:key="index">
<el-radio :label="item.value" disabled><span style="margin-right: 50px;">{{ item.label
}}</span></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :prop="'tableData.' + scope.$index + '.value'" v-if="scope.row.type == 'checkbox'">
@ -49,9 +51,7 @@ export default {
{
index: 1,
province: '健康状态',
value: [
'disabilityFlag'
],
value: [],
type: 'checkbox',
option: [
{
@ -172,12 +172,12 @@ export default {
option: [
{
label: '志愿者',
value: 'disabilityFlag'
value: 'volunteerFlag'
},
{
label: '楼长',
value: 'buildingChiefFlag'
},
},
{
label: '单元长',
value: 'unitChiefFlag'
@ -191,16 +191,65 @@ export default {
]
},
multipleSelection: [], //
verify: [] //
};
},
created() { },
methods: {},
props: {
userInfo: {
type: Object,
default: () => { }
}
},
created() {
},
methods: {
updatedForm() {
if (!this.userInfo.categoryInfo) return;
const updateValue = (flag, dataIndex) => {
const { tableData } = this.formData;
const valueArray = tableData[dataIndex].value;
if (this.userInfo.categoryInfo[flag] === 1) {
valueArray.push(flag);
} else {
this.formData.tableData[dataIndex].value = valueArray.filter(item => item !== flag);
}
};
// partyFlag
if (this.userInfo.categoryInfo.partyFlag === 1) {
this.formData.tableData[0].value = '2';
} else if (this.userInfo.categoryInfo.partyFlag === 0) {
this.formData.tableData[0].value = '1';
}
//keyindex(formData.tableData)
updateValue('disabilityFlag', 1);
updateValue('seriousIllnessFlag', 1);
updateValue('chronicDiseaseFlag', 1);
updateValue('emptyNesterFlag', 2);
updateValue('liveAloneFlag', 2);
updateValue('oldPeopleFlag', 2);
updateValue('subsistenceAllowanceFlag', 2);
updateValue('veteranFlag', 2);
updateValue('ensureHouseFlag', 2);
updateValue('fertileWomanFlag', 2);
updateValue('bereavedPersonFlag', 2);
updateValue('volunteerFlag', 4);
updateValue('buildingChiefFlag', 4);
updateValue('unitChiefFlag', 4);
updateValue('publicWelfareFlag', 4);
}
},
components: {},
computed: {},
watch: {},
watch: {
userInfo: {
handler(newVal, oldVal) {
this.updatedForm()
},
deep: true
}
},
}
</script>

4
src/views/modules/portrayal/jumin/cpts/table/changeRecord.vue

@ -1,5 +1,5 @@
<template>
<div class="table" style="padding-left: 16px;">
<div class="table" style="padding:0 16px;">
<el-table class="m-table-item" :data="tableData" border style="width: 100%; margin-top:23px">
<el-table-column label="序号" type="index" fixed="left" align="left" width="50">
@ -26,7 +26,7 @@ export default {
{ columnName: "afterChangeName", label: "变更后", width: 200 },
{ columnName: "operatorName", label: "操作人", width: 80 },
{ columnName: "changeTime", label: "调整时间", width: 150 },
{ columnName: "remark", label: "备注", width: 100 },
{ columnName: "remark", label: "备注", width: '' },
],
};
},

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

@ -7,8 +7,8 @@
</div>
<div class="menu">
<div class="progress">
<div class="text"><span>信息完整度</span> <span>50</span> </div>
<el-progress :percentage="50" :show-text="false"></el-progress>
<div class="text"><span>信息完整度</span> <span>70</span> </div>
<el-progress :percentage="70" :show-text="false"></el-progress>
</div>
<div class="list">
@ -24,21 +24,19 @@
<div class="title-small">基础信息</div>
<el-row type="flex" justify="" class="f-m-top23">
<el-col :span="6" class="f-flex">
<div class="f-label ">国籍</div>
<div class="f-label "><b>国籍</b></div>
<div class="f-left8 f-font-color">
{{ resiDetailObj.nationalityName ? resiDetailObj.nationalityName : "--" }}
</div>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-label">证件类型</div>
<div class="f-label"><b>证件类型</b></div>
<div class="f-left8 f-font-color">
{{ resiDetailObj.idTypeName ? resiDetailObj.idTypeName : "--" }}
</div>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-label">证件号</div>
<div class="f-label"><b>证件号</b></div>
<div class="f-left8 f-font-color">
{{
resiDetailObj.showIdNum
@ -55,10 +53,10 @@
<img v-show="!showFlagIdCardBtn" src="@/assets/img/yanjing2.png" alt="" width="14px"
style="margin-left: 10px" />
<el-button v-if="resiDetailObj.idNum" type="text" class="div-table-button--blue" size="small"
@click="handleTuomin('idCard')">{{ showFlagIdCardBtn ? "显示" : "隐藏" }}</el-button>
@click="handelCLickShowCheckPassword('idCard')">{{ showFlagIdCardBtn ? "显示" : "隐藏" }}</el-button>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-label">联系电话</div>
<div class="f-label"><b>联系电话</b></div>
<div class="f-left8 f-font-color">
{{
resiDetailObj.showMobile
@ -75,7 +73,7 @@
<img v-show="!showFlagMobileBtn" src="@/assets/img/yanjing2.png" alt="" width="14px"
style="margin-left: 10px" />
<el-button v-if="resiDetailObj.mobile" type="text" class="div-table-button--blue" size="small"
@click="handleTuomin('mobile')">{{ showFlagMobileBtn ? "显示" : "隐藏" }}</el-button>
@click="handelCLickShowCheckPassword('mobile')">{{ showFlagMobileBtn ? "显示" : "隐藏" }}</el-button>
</el-col>
</el-row>
@ -125,6 +123,7 @@
<div class="f-label">备注</div>
<div class="f-left8 f-font-color">
{{ resiDetailObj.remark ? resiDetailObj.remark : "--" }}
<!-- -->
</div>
</el-col>
<el-col :span="6" class="f-flex">
@ -140,6 +139,42 @@
</div>
</el-col>
</el-row>
<div class="title-small">居住信息</div>
<el-row type="flex" justify="" class="f-m-top23">
<el-col :span="24" class="f-flex">
<div class="f-flex ">
<div class="f-label"><b>所属房屋</b></div>
<span class="f-left8 f-font-color" v-if="resiDetailObj">
{{ resiDetailObj.houseInfo.gridName + '-' + resiDetailObj.houseInfo.homeName || '--' }}
</span>
</div>
</el-col>
</el-row>
<el-row type="flex" justify="" class="f-m-top23">
<el-col :span="6" class="f-flex">
<div class="f-flex ">
<div class="f-label"><b>人房关系</b></div>
<span class="f-left8 f-font-color">--</span>
</div>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-flex ">
<div class="f-label"><b>人户状况</b></div>
<span class="f-left8 f-font-color">--</span>
</div>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-label"><b>户籍所在地</b></div>
<div class="f-left8 f-font-color">
--
</div>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-label"><b>与户主关系</b></div>
<span class="f-left8 f-font-color">--</span>
</el-col>
</el-row>
<div class="title-small">拓展信息</div>
<el-row type="flex" justify="" class="f-m-top23">
<el-col :span="6" class="f-flex">
@ -163,7 +198,7 @@
</div>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-label">就业状态:</div>
<div class="f-label"><b>就业状态:</b></div>
<div class="f-left8 f-font-color">
--
</div>
@ -178,16 +213,6 @@
: "--"
}}</span>
</el-col>
<!-- <el-col :span="6" class="f-flex">
<div class="f-label">人房关系:</div>
<div class="f-left8 f-font-color">
{{ resiDetailObj.remark ? resiDetailObj.remark : "--" }}
</div>
</el-col>
<el-col :span="6" class="f-flex">
<div class="f-labels">人户状况:</div>
<span class="f-left8 f-font-color">{{ resiDetailObj.createdTime || '--' }}</span>
</el-col> -->
</el-row>
<el-row type="flex" justify="" class="f-m-top23">
<el-col :span="6" class="f-flex">
@ -227,26 +252,36 @@
</div>
</el-col>
</el-row>
<div class="title-small">关系图谱</div>
<graph />
<graph :userInfo="resiDetailObj" v-if="resiDetailObj.resiId"/>
<div class="title-small">人员标签</div>
<staff-tag></staff-tag>
<staff-tag :userInfo="resiDetailObj" v-if="Object.keys(resiDetailObj).length !== 0"></staff-tag>
<div class="title-small">业务记录</div>
<business-record :userInfo="resiDetailObj"></business-record>
<div class="title-small">更新记录</div>
<change-record :tableData="changeRecordList"></change-record>
</div>
<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" placeholder="请输入当前账号密码"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="showCheckPassword = false"> </el-button>
<el-button type="primary" @click="handelClickCheckPassword"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { requestPost, requestGet } from '@/js/dai/request'
import { requestPost } from '@/js/dai/request'
import { idTypeList } from "@/js/columns/constants";
import graph from './cpts/graph.vue'
import staffTag from './cpts/staffTag.vue'
import businessRecord from './cpts/businessRecord.vue'
import changeRecord from './cpts/table/changeRecord.vue'
import businessRecord from './cpts/businessRecord.vue'
import changeRecord from './cpts/table/changeRecord.vue'
export default {
data() {
@ -268,29 +303,32 @@ export default {
name: '基本信息(7/7)'
},
{
name: '拓展信息(3/4)'
},
{
name: '党员信息(7/7)'
},
{
name: '残疾信息(7/7)'
},
{
name: '大病信息(7/7)'
},
{
name: '慢病信息(7/7)'
},
{
name: '退役军人信息(7/7)'
},
{
name: '保障房信息(7/7)'
name: '居住信息(4/4)'
},
{
name: '特扶人员信息(7/7)'
name: '拓展信息(3/4)'
},
// {
// name: '0/3'
// },
// {
// name: '0/3'
// },
// {
// name: '0/3'
// },
// {
// name: '0/3'
// },
// {
// name: '退0/3'
// },
// {
// name: '0/3'
// },
// {
// name: '0/3'
// },
{
name: '业务记录(1)'
}, {
@ -305,11 +343,21 @@ export default {
marriageArr: [], //
spouseArr: [],//
careerStatusArr: [],//
showCheckPassword: false,
form: {
password: ''//
},
rules: {
password: [
{ required: true, message: '请输入密码', trigger: 'blur' },
]
}
};
},
components: { graph, staffTag, businessRecord,changeRecord },
components: { graph, staffTag, businessRecord, changeRecord },
async created() {
this.resiDetailObj = this.$store.state.huaXiang.userInfo
this.resiId = this.$store.state.huaXiang.userInfo.resiId;
await this.getNationalityList();
this.getResiDetail();
this.getEduInfoDtoObj();
@ -325,9 +373,10 @@ export default {
},
mounted() {
},
async activated() {
this.resiDetailObj = this.$store.state.huaXiang.userInfo
await this.getNationalityList();
activated() {
this.resiDetailObj = null
this.resiId = this.$store.state.huaXiang.userInfo.resiId;
this.getNationalityList();
this.getResiDetail();
this.getEduInfoDtoObj();
this.getEducation();
@ -345,7 +394,7 @@ export default {
async getChangeRecordDetailById() {
try {
const { data } = await this.$http.post(
`/actual/base/residentChangeRecord/getChangeRecordsById/${this.resiDetailObj.resiId}`
`/actual/base/residentChangeRecord/getChangeRecordsById/${this.resiId}`
);
if (data.data == null) {
this.changeRecordList = [];
@ -382,7 +431,7 @@ export default {
},
getResiDetail() {
this.$http
.post(`/actual/base/residentBaseInfo/detail/${this.resiDetailObj.resiId}`)
.post(`/actual/base/residentBaseInfo/detail/${this.resiId}`)
.then((res) => {
this.resiDetailObj = res.data.data;
this.resiDetailObj.nationalityName = ''
@ -408,32 +457,59 @@ export default {
handelCLickMenu(index) {
this.active = index
},
async handleTuomin(type) {
const url = `/actual/base/residentBaseInfo/getResiUserInfo/${this.resiDetailObj.resiId}`;
const { data, code, msg } = await requestPost(url);
handelCLickShowCheckPassword(type) {
this.form.password = '';
if (type === 'idCard') {
if (this.showFlagIdCardBtn) {
this.showCheckPassword = true;
} else {
this.showFlagIdCardBtn = true;
this.$set(
this.resiDetailObj,
"showIdNum",
this.resiDetailObj.idNum.substr(0, 11) + "****" + this.resiDetailObj.idNum.substr(16, 2)
);
}
} else if (type === 'mobile') {
if (this.showFlagMobileBtn) {
this.showCheckPassword = true;
} else {
this.showFlagMobileBtn = true;
this.$set(
this.resiDetailObj,
"showMobile",
this.resiDetailObj.mobile.substr(0, 3) + "****" + this.resiDetailObj.mobile.substr(7, 4)
);
}
}
this.tuominType = type;
},
handelClickCheckPassword() {
this.$refs.form.validate(vali => {
if (vali) {
this.handleSaveTuomin(this.form.password)
} else {
return false
}
})
},
async handleSaveTuomin(password) {
const url = `/actual/base/residentBaseInfo/getResiUserInfo/${this.resiId}`;
let parm = {
password
}
const { data, code, msg } = await requestPost(url, parm);
if (code === 0) {
if (type === "mobile") {
if (this.tuominType === "mobile") {
this.$set(this.resiDetailObj, "showMobile", data.mobile);
this.showFlagMobileBtn = !this.showFlagMobileBtn;
if (this.showFlagMobileBtn) {
this.$set(
this.resiDetailObj,
"showMobile",
data.mobile.substr(0, 3) + "****" + data.mobile.substr(7, 4)
);
}
}
if (type === "idCard") {
if (this.tuominType === "idCard") {
this.$set(this.resiDetailObj, "showIdNum", data.idNum);
this.showFlagIdCardBtn = !this.showFlagIdCardBtn;
if (this.showFlagIdCardBtn) {
this.$set(
this.resiDetailObj,
"showIdNum",
data.idNum.substr(0, 11) + "****" + data.idNum.substr(16, 2)
);
}
}
this.showCheckPassword = false
} else {
this.$message.error(msg);
}
@ -452,7 +528,7 @@ export default {
async getEduInfoDtoObj() {
try {
const { data } = await this.$http.get(
`/actual/base/residentEduInfo/detail/${this.resiDetailObj.resiId}`
`/actual/base/residentEduInfo/detail/${this.resiId}`
);
if (data.data == null) {
this.eduInfoDto = {};
@ -467,7 +543,7 @@ export default {
async getResidentReligionObj() {
try {
const { data } = await this.$http.get(
`/actual/base/residentReligion/detail/${this.resiDetailObj.resiId}`
`/actual/base/residentReligion/detail/${this.resiId}`
);
if (data.data == null) {
this.residentReligionObj = {};
@ -504,7 +580,7 @@ export default {
async getFamilyInfoDetail() {
try {
const { data } = await this.$http.post(
`/actual/base/residentFamilyInfo/getFamilyInfoDetailById/${this.resiDetailObj.resiId}`
`/actual/base/residentFamilyInfo/getFamilyInfoDetailById/${this.resiId}`
);
if (data.data == null) {
this.residentFamilyInfoObj = {};
@ -519,7 +595,7 @@ export default {
async getResidentWorkInfoObj() {
try {
const { data } = await this.$http.get(
`/actual/base/residentWorkInfo/detail/${this.resiDetailObj.resiId}`
`/actual/base/residentWorkInfo/detail/${this.resiId}`
);
if (data.data == null) {
this.residentWorkInfoObj = {};
@ -534,7 +610,7 @@ export default {
async getEconomyDetail() {
try {
const { data } = await this.$http.post(
`/actual/base/residentEconomy/getEconomyDetailById/${this.resiDetailObj.resiId}`
`/actual/base/residentEconomy/getEconomyDetailById/${this.resiId}`
);
if (data.data == null) {
this.resiEconomyObj = {};
@ -549,7 +625,7 @@ export default {
async getResideInfoDetail() {
try {
const { data } = await this.$http.post(
`/actual/base/residentResideInfo/getResideInfoDetailById/${this.resiDetailObj.resiId}`
`/actual/base/residentResideInfo/getResideInfoDetailById/${this.resiId}`
);
if (data.data == null) {
this.residentResideInfoObj = {};

Loading…
Cancel
Save