20 changed files with 1619 additions and 72 deletions
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
@ -0,0 +1,66 @@ |
|||||
|
.table { |
||||
|
|
||||
|
/deep/ .el-table { |
||||
|
border: 1px solid #225087 !important; |
||||
|
} |
||||
|
/deep/ .el-table td, |
||||
|
/deep/ .el-table tr { |
||||
|
padding: 10px 0px !important; |
||||
|
border: 1px solid #225087 !important; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
/deep/ .el-table th>.cell { |
||||
|
padding: 0!important; |
||||
|
} |
||||
|
/deep/ .el-table th { |
||||
|
padding: 6px 14px !important; |
||||
|
border: 1px solid #225087 !important; |
||||
|
background: #0E3873; |
||||
|
} |
||||
|
|
||||
|
/deep/ .el-table td, |
||||
|
/deep/ .el-table th { |
||||
|
background: none !important; |
||||
|
} |
||||
|
|
||||
|
/deep/ .el-table td { |
||||
|
font-size: 14px; |
||||
|
font-weight: 400; |
||||
|
color: #FFFFFF; |
||||
|
text-shadow: 1px 2px 4px rgba(10, 32, 60, 0.51); |
||||
|
} |
||||
|
|
||||
|
/deep/ .el-table tr { |
||||
|
background: none !important; |
||||
|
background-size: 100% !important; |
||||
|
|
||||
|
|
||||
|
&:hover { |
||||
|
background-color: rgba(26, 149, 255, 0.3) !important; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/deep/ .el-table { |
||||
|
background: none !important; |
||||
|
|
||||
|
&:before { |
||||
|
background: none !important; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/deep/ .el-table__header-wrapper tr { |
||||
|
color: #A3B9DA !important; |
||||
|
font-size: 14px; |
||||
|
font-weight: 400; |
||||
|
opacity: 0.76; |
||||
|
|
||||
|
&:hover { |
||||
|
background: none !important; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/deep/ .el-table__header-wrapper { |
||||
|
background: none; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,100 @@ |
|||||
|
<template> |
||||
|
<div class="map-right"> |
||||
|
<img :class="isShow?'':'close'" alt="" class="map-right-icon" src="@/assets/images/renfang/map-right-open.png" |
||||
|
@click="isShow = !isShow"> |
||||
|
<div :class="isShow?'':'hidden'" class="map-right-content"> |
||||
|
<div class="title"> |
||||
|
海伦路街道 |
||||
|
</div> |
||||
|
<div class="map-list"> |
||||
|
<div class="map-item">南昌路社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
<div class="map-item">北岭山社区</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
name: "map-right", |
||||
|
data() { |
||||
|
return { |
||||
|
isShow: true |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.map-right { |
||||
|
position: absolute; |
||||
|
top: calc(50% - 184px); |
||||
|
right: 20px; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
|
||||
|
.map-right-icon { |
||||
|
transform: rotate(180deg); |
||||
|
&.close { |
||||
|
transform: rotate(0deg); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.map-right-content { |
||||
|
overflow: hidden; |
||||
|
width: 134px; |
||||
|
transition: all .3s; |
||||
|
color: #fff; |
||||
|
border: 1px solid #488CC5; |
||||
|
border-radius: 2px; |
||||
|
background: rgba(10, 35, 81, 0.66); |
||||
|
|
||||
|
&.hidden { |
||||
|
width: 0; |
||||
|
border-width: 0px; |
||||
|
} |
||||
|
|
||||
|
.title { |
||||
|
line-height: 32px; |
||||
|
height: 32px; |
||||
|
padding-left: 24px; |
||||
|
background: url("@/assets/images/renfang/map-right-title.png"); |
||||
|
} |
||||
|
|
||||
|
.map-list { |
||||
|
overflow-y: auto; |
||||
|
height: 336px; |
||||
|
|
||||
|
.map-item { |
||||
|
line-height: 42px; |
||||
|
overflow: hidden; |
||||
|
height: 42px; |
||||
|
padding-left: 24px; |
||||
|
text-overflow: ellipsis; |
||||
|
border-bottom: 1px solid; |
||||
|
border-image: linear-gradient(to right, #000 0%, #4eafd5 50%, #000 100%); |
||||
|
border-image-slice: 1; |
||||
|
|
||||
|
&:hover { |
||||
|
color: #72F7FF; |
||||
|
background: url("@/assets/images/renfang/map-right-cur.png"); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,331 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<div class="visualizing laonianren"> |
||||
|
<div class="visualizing-left"> |
||||
|
<div> |
||||
|
<data-title title="特殊人群类别统计" /> |
||||
|
</div> |
||||
|
<div id="tsrqLeftChart" style="height: 400px"></div> |
||||
|
</div> |
||||
|
<div class="visualizing-right"> |
||||
|
<div> |
||||
|
<data-title title="特殊人群享受服务情况统计" /> |
||||
|
</div> |
||||
|
<div id="tsrqServiceChart" style="height: 400px"></div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import dataTitle from "@/views/dataBoard/renfang/visualizing/components/dataTitle.vue"; |
||||
|
import * as echarts from "echarts"; |
||||
|
|
||||
|
function dataFormatter(arr) { |
||||
|
return arr.map((item) => { |
||||
|
return { |
||||
|
name: item.classification, |
||||
|
value: Number(item.classificationNum), |
||||
|
}; |
||||
|
}); |
||||
|
} |
||||
|
export default { |
||||
|
name: "teshurenqun", |
||||
|
props: { |
||||
|
title: { |
||||
|
type: String, |
||||
|
default: "", |
||||
|
}, |
||||
|
org_id: { |
||||
|
type: String, |
||||
|
default: "", |
||||
|
}, |
||||
|
}, |
||||
|
components: { |
||||
|
dataTitle, |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
tsrqLeft: [], |
||||
|
tsrqRight: [], |
||||
|
tsrqService: [], |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
const query = this.$route.query; |
||||
|
this.getData(); |
||||
|
}, |
||||
|
activated() {}, |
||||
|
methods: { |
||||
|
getData() { |
||||
|
this.$http |
||||
|
.get("?type=0") |
||||
|
.then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg); |
||||
|
} |
||||
|
this.tsrqLeft = dataFormatter(res.data); |
||||
|
this.initLeftCharts(); |
||||
|
}) |
||||
|
.catch(() => {}); |
||||
|
this.$http |
||||
|
.get("?type=1") |
||||
|
.then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg); |
||||
|
} |
||||
|
this.tsrqRight = dataFormatter(res.data); |
||||
|
this.initRightCharts(); |
||||
|
}) |
||||
|
.catch(() => {}); |
||||
|
}, |
||||
|
initLeftCharts() { |
||||
|
let div = document.getElementById("tsrqLeftChart"); |
||||
|
this.myChart1 = echarts.init(div); |
||||
|
const option = { |
||||
|
color: [ |
||||
|
"#15a7ed", |
||||
|
"#22b998", |
||||
|
"#5f6ff4", |
||||
|
"#a66eeb", |
||||
|
"#faa834", |
||||
|
"#fd6200", |
||||
|
"#fb3905", |
||||
|
], |
||||
|
legend: { |
||||
|
orient: "vertical", |
||||
|
top: 20, |
||||
|
left: 10, |
||||
|
icon: "rect", |
||||
|
itemHeight: 14, |
||||
|
itemWidth: 14, |
||||
|
textStyle: { |
||||
|
color: "#ffffff", |
||||
|
rich: { |
||||
|
name: { |
||||
|
width: 90, |
||||
|
fontSize: 12, |
||||
|
color: "#dddee7", |
||||
|
}, |
||||
|
value: { |
||||
|
width: 30, |
||||
|
align: "right", |
||||
|
fontSize: 18, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
data: this.tsrqLeft, |
||||
|
formatter: (name) => { |
||||
|
if (this.tsrqLeft.length) { |
||||
|
const item = this.tsrqLeft.filter((item) => item.name === name)[0]; |
||||
|
return `{name|${name}}{value| ${item.value}}`; |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
toolbox: { |
||||
|
show: false, |
||||
|
feature: { |
||||
|
mark: { show: true }, |
||||
|
dataView: { show: true, readOnly: false }, |
||||
|
restore: { show: true }, |
||||
|
saveAsImage: { show: true }, |
||||
|
}, |
||||
|
}, |
||||
|
title: { |
||||
|
show: !this.tsrqLeft || this.tsrqLeft.length == 0, // 是否要展示“暂无数据”矢量图 |
||||
|
text: " {a|}", // 写入占位符a,以便后续填充内容 |
||||
|
x: "center", |
||||
|
y: "center", |
||||
|
subtext: "暂无数据", // 子标题 |
||||
|
itemGap: -10, // 设置主副标题间隔 |
||||
|
textStyle: { |
||||
|
rich: { |
||||
|
a: { |
||||
|
height: 128, // 设置图片高度 |
||||
|
width: 268, // 设置图片宽度 |
||||
|
backgroundColor: { |
||||
|
// 引入图片,作为背景图,填写相对路径 |
||||
|
image: require("@/assets/images/overview/zanwu.png"), |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
subtextStyle: { |
||||
|
// 配置副标题的文字样式 |
||||
|
fontSize: 12, |
||||
|
color: "#ffffff", |
||||
|
}, |
||||
|
}, |
||||
|
series: [ |
||||
|
{ |
||||
|
type: "pie", |
||||
|
radius: |
||||
|
this.tsrqLeft && this.tsrqLeft.length > 0 ? [30, 130] : [0, 0], |
||||
|
center: ["50%", "50%"], |
||||
|
roseType: "area", |
||||
|
itemStyle: { |
||||
|
borderRadius: 0, |
||||
|
}, |
||||
|
top: 20, |
||||
|
left: -40, |
||||
|
label: { |
||||
|
position: "inside", |
||||
|
formatter: "{d}%", |
||||
|
textStyle: { |
||||
|
color: "#ffffff", |
||||
|
fontSize: 12, |
||||
|
}, |
||||
|
}, |
||||
|
data: this.tsrqLeft, |
||||
|
}, |
||||
|
], |
||||
|
}; |
||||
|
this.myChart1.setOption(option); |
||||
|
this.myChart1.on("click", (e) => { |
||||
|
this.$router.push({ |
||||
|
path: "/dataBoard/renfang/resi-class-new", |
||||
|
query: { |
||||
|
org_id: this.org_id, |
||||
|
type_id: "aged", |
||||
|
type_name: "特殊人群", |
||||
|
pageType: "normal", |
||||
|
type: "teshurenqun", |
||||
|
olds: e.data.name, |
||||
|
}, |
||||
|
}); |
||||
|
}); |
||||
|
window.addEventListener("resize", () => this.myChart1.resize()); |
||||
|
}, |
||||
|
initRightCharts() { |
||||
|
let div = document.getElementById("tsrqRightChart"); |
||||
|
this.myChart2 = echarts.init(div); |
||||
|
const option = { |
||||
|
color: [ |
||||
|
"#15a7ed", |
||||
|
"#22b998", |
||||
|
"#5f6ff4", |
||||
|
"#a66eeb", |
||||
|
"#faa834", |
||||
|
"#fd6200", |
||||
|
"#fb3905", |
||||
|
], |
||||
|
legend: { |
||||
|
orient: "vertical", |
||||
|
top: 20, |
||||
|
left: 10, |
||||
|
icon: "rect", |
||||
|
itemHeight: 14, |
||||
|
itemWidth: 14, |
||||
|
textStyle: { |
||||
|
color: "#ffffff", |
||||
|
rich: { |
||||
|
name: { |
||||
|
width: 80, |
||||
|
fontSize: 12, |
||||
|
color: "#dddee7", |
||||
|
}, |
||||
|
value: { |
||||
|
width: 30, |
||||
|
align: "right", |
||||
|
fontSize: 18, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
data: this.tsrqRight, |
||||
|
formatter: (name) => { |
||||
|
if (this.tsrqRight.length) { |
||||
|
const item = this.tsrqRight.filter( |
||||
|
(item) => item.name === name |
||||
|
)[0]; |
||||
|
return `{name|${name}}{value| ${item.value}}`; |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
toolbox: { |
||||
|
show: false, |
||||
|
feature: { |
||||
|
mark: { show: true }, |
||||
|
dataView: { show: true, readOnly: false }, |
||||
|
restore: { show: true }, |
||||
|
saveAsImage: { show: true }, |
||||
|
}, |
||||
|
}, |
||||
|
title: { |
||||
|
show: !this.tsrqRight || this.tsrqRight.length == 0, // 是否要展示“暂无数据”矢量图 |
||||
|
text: " {a|}", // 写入占位符a,以便后续填充内容 |
||||
|
x: "center", |
||||
|
y: "center", |
||||
|
subtext: "暂无数据", // 子标题 |
||||
|
itemGap: -10, // 设置主副标题间隔 |
||||
|
textStyle: { |
||||
|
rich: { |
||||
|
a: { |
||||
|
height: 128, // 设置图片高度 |
||||
|
width: 268, // 设置图片宽度 |
||||
|
backgroundColor: { |
||||
|
// 引入图片,作为背景图,填写相对路径 |
||||
|
image: require("@/assets/images/overview/zanwu.png"), |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
subtextStyle: { |
||||
|
// 配置副标题的文字样式 |
||||
|
fontSize: 12, |
||||
|
color: "#ffffff", |
||||
|
}, |
||||
|
}, |
||||
|
series: [ |
||||
|
{ |
||||
|
type: "pie", |
||||
|
radius: |
||||
|
this.tsrqRight && this.tsrqRight.length > 0 ? [30, 130] : [0, 0], |
||||
|
center: ["50%", "50%"], |
||||
|
roseType: "area", |
||||
|
itemStyle: { |
||||
|
borderRadius: 0, |
||||
|
}, |
||||
|
top: 20, |
||||
|
left: -40, |
||||
|
label: { |
||||
|
position: "inside", |
||||
|
formatter: "{d}%", |
||||
|
textStyle: { |
||||
|
color: "#ffffff", |
||||
|
fontSize: 12, |
||||
|
}, |
||||
|
}, |
||||
|
data: this.tsrqRight, |
||||
|
}, |
||||
|
], |
||||
|
}; |
||||
|
this.myChart2.on("click", (e) => { |
||||
|
this.$router.push({ |
||||
|
path: "/dataBoard/renfang/resi-class-new", |
||||
|
query: { |
||||
|
org_id: this.org_id, |
||||
|
type_id: "aged", |
||||
|
type_name: "特殊人群", |
||||
|
pageType: "normal", |
||||
|
type: "teshurenqun", |
||||
|
gategoryCode: e.data.name, |
||||
|
}, |
||||
|
}); |
||||
|
}); |
||||
|
this.myChart2.setOption(option); |
||||
|
window.addEventListener("resize", () => this.myChart2.resize()); |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style |
||||
|
lang="scss" |
||||
|
src="@/assets/scss/dataBoard/renfang/index.scss" |
||||
|
scoped |
||||
|
></style> |
||||
|
<style lang="scss" scoped> |
||||
|
.laonianren { |
||||
|
padding: 140px 240px; |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,26 @@ |
|||||
|
<template> |
||||
|
<div class="table"> |
||||
|
<el-table :data="data" height="400px"> |
||||
|
<el-table-column align="center" label="序号" prop="number" width="80"></el-table-column> |
||||
|
<el-table-column label="12345热线投诉\n人数" prop="column1"></el-table-column> |
||||
|
<el-table-column label="上级满意度调查\n不满意人数" prop="column2"></el-table-column> |
||||
|
<el-table-column label="社区自查不满意\n人数" prop="column3" width="120"></el-table-column> |
||||
|
<el-table-column label="社区自查得分" prop="column3" width="120"></el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
name: "index", |
||||
|
data() { |
||||
|
return { |
||||
|
data: [] |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped lang="scss"> |
||||
|
@import "@/assets/scss/dataBoard/table-border.scss"; |
||||
|
</style> |
||||
Loading…
Reference in new issue