8 changed files with 254 additions and 56 deletions
@ -0,0 +1,56 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<div :title="getAllName(item[areaName])">{{ spliceNameFun(item[areaName], 8) }}</div> |
||||
|
<div v-if="item[peopleName] && !item[peopleName].includes(',')" @click="gotoPersonnel(item.resiId)" :title="getAllName(item[peopleName])">{{ spliceNameFun(item[peopleName], 12) }}</div> |
||||
|
<div class="name_more" v-if="item[peopleName] && item[peopleName].includes(',')"> |
||||
|
<span v-for="(i, k) in item[peopleName].split(',')" :key="i" @click="gotoPersonnel(item.resiId[k])" :title="getAllName(i)">{{ spliceNameFun(i, 12) }}{{ k === getItemNameArr(item[peopleName]).length - 1 ? "" : "," }}</span> |
||||
|
<popTips :item="item" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
name: "NameSplit", |
||||
|
props: { |
||||
|
item: { |
||||
|
type: Object, |
||||
|
default: () => {}, |
||||
|
}, |
||||
|
areaName: { |
||||
|
type: String, |
||||
|
default: "partyOrgName", |
||||
|
}, |
||||
|
peopleName: { |
||||
|
type: String, |
||||
|
default: "principalName", |
||||
|
}, |
||||
|
}, |
||||
|
data() { |
||||
|
return {}; |
||||
|
}, |
||||
|
methods: { |
||||
|
getAllName(item) { |
||||
|
return item; |
||||
|
}, |
||||
|
|
||||
|
getItemNameArr(str) { |
||||
|
return str.split(",").slice(0, 2); |
||||
|
}, |
||||
|
|
||||
|
spliceNameFun(row, num) { |
||||
|
if (row && row.length > num) { |
||||
|
return row.substring(0, num) + "..."; |
||||
|
} |
||||
|
return row; |
||||
|
}, |
||||
|
gotoPersonnel(id) { |
||||
|
if (id) { |
||||
|
this.$router.push({ path: "/organizational/orgPersonnel", query: { user_id: id } }); |
||||
|
} else { |
||||
|
this.$message.error("无法跳转!"); |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
@ -0,0 +1,57 @@ |
|||||
|
<template> |
||||
|
<el-popover popper-class="popperClass" placement="right" trigger="hover"> |
||||
|
<div class="popperList"> |
||||
|
<div style="margin-bottom: 13px">家庭类别</div> |
||||
|
<div class="listMsg" v-for="item in homeTypeArr" :key="item"> |
||||
|
<img :src="require(`@/assets/images/home/${getHomeTypesMap(item)[1]}.png`)" alt="" /> |
||||
|
<span style="margin-left: 3px">{{ getHomeTypesMap(item)[0] }}</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
<slot></slot> |
||||
|
</el-popover> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
name: "PopTips", |
||||
|
props: { |
||||
|
homeTypeArr: { |
||||
|
type: Array, |
||||
|
default: () => [], |
||||
|
}, |
||||
|
}, |
||||
|
data() { |
||||
|
return {}; |
||||
|
}, |
||||
|
methods: { |
||||
|
// 家庭类别Map |
||||
|
getHomeTypesMap(item) { |
||||
|
const homeTypeMap = new Map([ |
||||
|
["partyFlag", { name: "党员", icon: "dy" }], |
||||
|
["subsistenceAllowanceFlag", { name: "低保人员", icon: "dbry" }], |
||||
|
["ensureHouseFlag", { name: "保障房人员", icon: "bzfry" }], |
||||
|
["unemployedFlag", { name: "失业人员", icon: "syry" }], |
||||
|
["fertileWomanFlag", { name: "育龄妇女", icon: "ylfn" }], |
||||
|
["veteranFlag", { name: "退役军人", icon: "tyjr" }], |
||||
|
["unitedFrontFlag", { name: "统战人员", icon: "tzry" }], |
||||
|
["petitionOfficerFlag", { name: "信访人员", icon: "xfry" }], |
||||
|
["volunteerFlag", { name: "志愿者", icon: "zyz" }], |
||||
|
["oldPeopleFlag", { name: "老年人", icon: "lnr" }], |
||||
|
["emptyNesterFlag", { name: "空巢老人", icon: "kclr" }], |
||||
|
["specialSupportFlag", { name: "特扶人员", icon: "tfry" }], |
||||
|
["disabledFlag", { name: "失能人员", icon: "snry" }], |
||||
|
["dementedFlag", { name: "失智人员", icon: "szry" }], |
||||
|
["disabilityFlag", { name: "残疾人", icon: "cjr" }], |
||||
|
["seriousIllnessFlag", { name: "大病人员", icon: "dbry" }], |
||||
|
["chronicDiseaseFlag", { name: "慢性病人员", icon: "mxbry" }], |
||||
|
["specialCrowdFlag", { name: "特殊人群", icon: "tsry" }], |
||||
|
["tenantFlag", { name: "租户", icon: "zh" }], |
||||
|
["floatingFlag", { name: "流动人员", icon: "ldry" }], |
||||
|
["liveAloneFlag", { name: "独居老人", icon: "kclr" }], |
||||
|
["publicWelfareFlag", { name: "公益岗人员", icon: "gyg" }], |
||||
|
]); |
||||
|
return [homeTypeMap.get(item).name, homeTypeMap.get(item).icon]; |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
@ -0,0 +1,41 @@ |
|||||
|
<template> |
||||
|
<el-popover v-if="getItemNameArr(item.name).length > 2" popper-class="popperClass" placement="right" trigger="hover"> |
||||
|
<div class="popperList"> |
||||
|
<div style="margin-bottom: 13px">所有人员</div> |
||||
|
<div v-for="(itm, idx) in getItemNameArr(item.name)" :key="itm"> |
||||
|
<span style="cursor: pointer" @click="gotoPersonnel(item.resiId[idx])">{{ itm }}</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
<i slot="reference" style="margin-left: 2px" class="el-icon-more"></i> |
||||
|
</el-popover> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
name: "PopTips", |
||||
|
props: { |
||||
|
item: { |
||||
|
type: Object, |
||||
|
default: () => {}, |
||||
|
}, |
||||
|
}, |
||||
|
data() { |
||||
|
return {}; |
||||
|
}, |
||||
|
methods: { |
||||
|
gotoPersonnel(id) { |
||||
|
if (id) { |
||||
|
this.$router.push("/organizational/orgPersonnel"); |
||||
|
} else { |
||||
|
this.$message({ |
||||
|
message: "无法跳转", |
||||
|
type: "error", |
||||
|
}); |
||||
|
} |
||||
|
}, |
||||
|
getItemNameArr(str) { |
||||
|
return str.split(","); |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
Loading…
Reference in new issue