|
|
@ -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> |
|
|
|