Browse Source

网格架构微网格显示name

V1.0
SongZhen 2 years ago
parent
commit
f8be5b3270
  1. 7
      src/components/GridTree/nodeWrap.vue
  2. 2
      src/views/dataBoard/satisfactionEval/index.vue
  3. 97
      src/views/dataBoard/satisfactionEval/modules/PersonnelPortrait/index.vue

7
src/components/GridTree/nodeWrap.vue

@ -27,8 +27,9 @@
</div>
</div>
<div v-if="item.level === 'unit_chief'">
<div @click="gotoPersonnel(item)" class="dyzxh" :title="item.name">
{{ spliceNameFun(item.name, 3) }}
<div @click="gotoPersonnel(item)" class="dyzxh" :title="item.organizationName">
<!-- {{ spliceNameFun(item.organizationName, 3) }} -->
{{ item.organizationName }}
</div>
</div>
</div>
@ -97,7 +98,7 @@ export default {
},
gotoPersonnel(item) {
const grandPid = this.findParentParentId(this.nodeConfig, item.pid);
const name = item.name ? item.name : "四号楼二单元302";
const name = item.organizationName ? item.organizationName : "四号楼二单元302";
this.$router.push(`/organizational/microgrid/${item.id}/${grandPid}/${name}`);
},
},

2
src/views/dataBoard/satisfactionEval/index.vue

@ -23,7 +23,7 @@
<SelfTrend/>
</div>
<div class="bg2">
<Title text="下级网格不满意事项统计"/>
<Title text="下级组织不满意事项统计"/>
<EventStatistics/>
</div>
</el-col>

97
src/views/dataBoard/satisfactionEval/modules/PersonnelPortrait/index.vue

@ -1,6 +1,6 @@
<template>
<div class="personnel-portrait">
<Tabs v-model="resultType" :list="resultTypeList" @changeVal="resultTypeChange"/>
<Tabs v-model="resultType" :list="resultTypeList" @changeVal="resultTypeChange" />
<div class="screen">
<div class="txt">不满意人员画像</div>
<!-- <el-select v-model="typeCondition" @change="getData" placeholder="请选择" class="select" popper-class="selectPopClass">
@ -26,19 +26,24 @@
<div class="tag light" v-if="monthIncomeLevel">
<div class="text">{{ monthIncomeLevel }}</div>
</div>
<div class="tag green" v-if="cultureLevel">
<div class="text">{{ cultureLevel }}</div>
<div class="tag green" v-if="cultureName">
<div class="text">{{ cultureName }}</div>
</div>
<div class="tag orange" v-if="marriageName">
<div class="text">{{ marriageName }}</div>
</div>
<div class="tag purple" v-if="gender">
<div class="text">{{ gender === '1' ? '男' : gender === '2' ? '女' : gender === '0' ? '未知' : '' }}</div>
<div class="text">{{ gender === "1" ? "男" : gender === "2" ? "女" : gender === "0" ? "未知" : "" }}</div>
</div>
</div>
<div class="btn" @click="gotopage">
<div>按画像匹配到同类<span> <b>{{ matchPeopleNum ? matchPeopleNum : 0 }}</b></span></div>
<div>
按画像匹配到同类<span>
<b>{{ matchPeopleNum ? matchPeopleNum : 0 }}</b
></span
>
</div>
<i class="el-icon-arrow-right"></i>
</div>
</div>
@ -49,30 +54,32 @@ import Tabs from "@/views/dataBoard/satisfactionEval/components/Tabs/index.vue";
export default {
name: "PersonnelPortrait",
components: {Tabs},
components: { Tabs },
data() {
return {
resultType: 'provinceAndSelf',
resultTypeList: [{
label: '按省调查/社区自查结果',
value: 'provinceAndSelf'
}, {
label: '按12345热线投诉结果',
value: '12345'
}],
typeCondition: '',
resultType: "provinceAndSelf",
resultTypeList: [
{
label: "按省调查/社区自查结果",
value: "provinceAndSelf",
},
{
label: "按12345热线投诉结果",
value: "12345",
},
],
typeCondition: "",
typeConditionList: [],
gender: "",
marriageName: "",
ageClassification: "",
cultureLevel: "",
cultureName: "",
gridName: "",
monthIncomeLevel: "",
residentTagName: "",
matchPeopleNum: 0,
searchParams: ''
}
searchParams: "",
};
},
watch: {
"$store.state.chooseArea.chooseName"(val) {
@ -80,7 +87,7 @@ export default {
// this.getDisKey()
this.getData();
}
}
},
},
mounted() {
if (this.$store.state.chooseArea.chooseName.orgId) {
@ -90,17 +97,17 @@ export default {
},
methods: {
resultTypeChange(val) {
this.resultType = val
this.getData()
this.resultType = val;
this.getData();
},
gotopage() {
this.$router.push('/dataBoard/satisfactionEval/dissatisfiedPersonnel?searchParams=' + this.searchParams)
this.$router.push("/dataBoard/satisfactionEval/dissatisfiedPersonnel?searchParams=" + this.searchParams);
},
getDisKey() {
this.$http.post('/sys/dict/data/dictlist', {'dictType': 'satisfaction_category'}).then(({data: {data}}) => {
this.typeCondition = data[0].value
this.typeConditionList = data
})
this.$http.post("/sys/dict/data/dictlist", { dictType: "satisfaction_category" }).then(({ data: { data } }) => {
this.typeCondition = data[0].value;
this.typeConditionList = data;
});
},
getData() {
let params = {
@ -108,22 +115,22 @@ export default {
orgId: this.$store.state.chooseArea.chooseName.orgId,
queryType: this.resultType,
category: this.typeCondition,
}
this.$http.get('/governance/satisfactionOverview/satisfactionCrowdPortrait?' + this.$paramsFormat(params)).then(({data: {data}}) => {
};
this.$http.get("/governance/satisfactionOverview/satisfactionCrowdPortrait?" + this.$paramsFormat(params)).then(({ data: { data } }) => {
this.gender = data.gender;
this.marriageName = data.marriageName;
this.ageClassification = data.ageClassification;
this.cultureLevel = data.cultureLevel;
this.cultureName = data.cultureName;
this.gridName = data.gridName;
this.monthIncomeLevel = data.monthIncomeLevel;
this.residentTagName = data.residentTagName;
this.matchPeopleNum = data.matchPeopleNum;
this.searchParams = JSON.stringify({...data, ...params})
})
}
}
}
this.searchParams = JSON.stringify({ ...data, ...params });
});
},
},
};
</script>
<style scoped lang="scss">
@ -146,7 +153,7 @@ $purple: #6642fd;
.txt {
font-size: 16px;
font-weight: 500;
color: #FFFFFF;
color: #ffffff;
line-height: 22px;
margin-right: 25px;
}
@ -154,15 +161,15 @@ $purple: #6642fd;
/deep/ .el-input__inner {
width: 110px !important;
height: 24px !important;
background: #021C49 !important;
border: 1px solid #125AAA !important;
background: #021c49 !important;
border: 1px solid #125aaa !important;
border-radius: 12px !important;
color: #A0CDFF;
color: #a0cdff;
}
/deep/ .el-input__icon {
line-height: 24px !important;
color: #A0CDFF;
color: #a0cdff;
}
}
@ -196,13 +203,12 @@ $purple: #6642fd;
&:after {
content: "";
opacity: .3;
opacity: 0.3;
display: block;
width: 76px;
height: 76px;
position: absolute;
border-radius: 50%;
}
&:nth-of-type(1) {
@ -315,11 +321,11 @@ $purple: #6642fd;
.btn {
width: 240px;
height: 46px;
border: 1px solid #125AAA;
border: 1px solid #125aaa;
border-radius: 23px;
font-size: 14px;
font-weight: 400;
color: #FFFFFF;
color: #ffffff;
line-height: 46px;
display: flex;
align-items: center;
@ -332,5 +338,4 @@ $purple: #6642fd;
font-size: 18px;
}
}
</style>
</style>

Loading…
Cancel
Save