Merge branch 'main' of git.zdool.com:xs/ggfwjsc

This commit is contained in:
lnn19986213 2024-05-13 13:30:13 +08:00
commit 9ad39f8396
17 changed files with 1101 additions and 863 deletions

View File

@ -32,7 +32,7 @@ const option = {
tooltip: { tooltip: {
show: true, //---,true show: true, //---,true
trigger: "axis", trigger: "axis",
formatter: "{b0}:{c0}" + "人", formatter: "{b0}:{c1}" + "人",
}, },
xAxis: [ xAxis: [
{ {

View File

@ -1,128 +1,123 @@
<template> <template>
<div <div ref="chart" style="width: 100%; height: 400px"></div>
ref="chart"
style="width: 100%;height: 400px"
></div>
</template> </template>
<script setup > <script setup >
import { onMounted, reactive, ref } from "vue"; import { onMounted, reactive, ref, onBeforeMount, defineProps } from "vue";
// echarts // echarts
import * as echarts from "echarts"; import * as echarts from "echarts";
const props = defineProps({
list: {
type: Array,
default: () => [],
},
year: {
type: Array,
default: () => [],
},
});
const chart = ref(); // DOM const chart = ref(); // DOM
const data1 = [ const data = reactive({
"龙游县人民医院", list: [],
"龙游县中医院", jgmc: [],
"龙游县横山镇中心卫生院", rs: [],
"龙游县溪水镇中心卫生院", option: {},
"龙游县龙游街道社区卫生服务中心", bg: [],
"龙游县塔石镇中心卫生院", });
"龙游县罗家县中心卫生院", const getOption = () => {
]; data.option = {
let option = { tooltip: {
tooltip: { trigger: "axis",
trigger: "axis", // formatter: "{b0}<br />{a0}:{c0} <br />{a1}:{c1} ",
// formatter: "{b0}<br />{a0}:{c0} <br />{a1}:{c1} ",
},
grid: {
top: "13%",
left: "1%",
right: "10%",
bottom: "0%",
containLabel: true,
},
calculable: true,
xAxis: [
{
type: "category",
axisLabel: {
formatter: function (params) {
var str = ""; //
var paramsLen = params.length; //
var len = 6; //
var rowNumber = Math.ceil(paramsLen / len); //
if (paramsLen > len) {
//len
for (var i = 0; i < rowNumber; i++) {
var temp = ""; //
var start = i * len; //
var end = start + len; //
if (i == rowNumber - 1) {
//
temp = params.substring(start, paramsLen);
} else {
//
temp = params.substring(start, end) + "\n";
}
str += temp; //
}
} else {
//
str = params;
}
return str; //
},
textStyle: {
color: "#ffffff",
},
rotate: 40,
},
data: data1,
},
],
yAxis: [
{
name:'在册数',
type: "value",
splitLine: {
show: true,
lineStyle: {
color: "rgba(226, 226, 226, 0.2)",
width: 1,
},
},
axisLabel: {
//
textStyle: {
color: "#ccc",
},
},
axisLine: {
//y线
show: false,
lineStyle: {
color: "#ffffff",
width: 1,
type: "solid",
},
},
}, },
], grid: {
series: [ top: "13%",
{ left: "15%",
name: "职工医疗保险发放人次", right: "10%",
type: "bar", bottom: "0%",
data: [2.0, 4.9, 7.0, 23.2, 25.6,100,50], containLabel: true,
barWidth: 20, },
itemStyle: { calculable: true,
normal: { xAxis: [
color: function (params) { {
let colorList = [ type: "category",
["rgba(23, 237, 255, 1)", "rgba(23, 237, 255, 0.20)"], axisLabel: {
["rgba(142, 187, 255, 1)", "rgba(142, 187, 255, 0.20)"], // formatter: function (params) {
["rgba(255, 243, 119, 1)", "rgba(255, 242, 142, 0.20)"], // var str = ""; //
]; // var paramsLen = params.length; //
if (params.dataIndex == 0) { // var len = 6; //
return new echarts.graphic.LinearGradient( // var rowNumber = Math.ceil(paramsLen / len); //
0, // if (paramsLen > len) {
0, // //len
0, // for (var i = 0; i < rowNumber; i++) {
1, //y->y2 // var temp = ""; //
[ // var start = i * len; //
// var end = start + len; //
// if (i == rowNumber - 1) {
// //
// temp = params.substring(start, paramsLen);
// } else {
// //
// temp = params.substring(start, end) + "\n";
// }
// str += temp; //
// }
// } else {
// //
// str = params;
// }
// return str; //
// },
textStyle: {
color: "#ffffff",
},
rotate: 40,
},
data: data.jgmc,
},
],
yAxis: [
{
name: "在册数",
type: "value",
splitLine: {
show: true,
lineStyle: {
color: "rgba(226, 226, 226, 0.2)",
width: 1,
},
},
axisLabel: {
//
textStyle: {
color: "#ffffff",
},
},
axisLine: {
//y线
show: false,
lineStyle: {
color: "#ffffff",
width: 1,
type: "solid",
},
},
},
],
series: [
{
name: "职工医疗保险发放人次",
type: "bar",
data: data.rs,
barWidth: 20,
itemStyle: {
normal: {
color: function (params) {
var colorList = [
new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ {
offset: 0, offset: 0,
color: "rgba(23, 237, 255, 1)", color: "rgba(23, 237, 255, 1)",
@ -132,33 +127,8 @@ let option = {
color: "rgba(23, 237, 255, 0.20)", color: "rgba(23, 237, 255, 0.20)",
}, },
], ],
false false),
); new echarts.graphic.LinearGradient(0, 0, 0, 1, [
} else if (params.dataIndex % 3 == 0) {
return new echarts.graphic.LinearGradient(
0,
0,
0,
1, //y->y2
[
{
offset: 0,
color: "rgba(23, 237, 255, 1)",
},
{
offset: 1,
color: "rgba(23, 237, 255, 0.20)",
},
],
false
);
} else if (params.dataIndex % 2 == 0) {
return new echarts.graphic.LinearGradient(
0,
0,
0,
1, //y->y2
[
{ {
offset: 0, offset: 0,
color: "rgba(255, 243, 119, 1)", color: "rgba(255, 243, 119, 1)",
@ -168,15 +138,8 @@ let option = {
color: "rgba(255, 242, 142, 0.20)", color: "rgba(255, 242, 142, 0.20)",
}, },
], ],
false false),
); new echarts.graphic.LinearGradient(0, 0, 0, 1, [
} else {
return new echarts.graphic.LinearGradient(
0,
0,
0,
1, //y->y2
[
{ {
offset: 0, offset: 0,
color: "rgba(142, 187, 255, 1)", color: "rgba(142, 187, 255, 1)",
@ -186,31 +149,35 @@ let option = {
color: "rgba(142, 187, 255, 0.20)", color: "rgba(142, 187, 255, 0.20)",
}, },
], ],
false false),
); ];
}
return colorList[params.dataIndex % colorList.length];
},
}, },
}, },
}, },
}, ],
], };
}; };
const setChart = () => {
// 使
onMounted(() => {
// domecharts
// var myChart = echarts.init(document.getElementById('main'));
// Vue3 // Vue3
var myChart = echarts.init(chart.value); var myChart = echarts.init(chart.value);
// init(); // vue3.2this
// 使 // 使
myChart.setOption(option); myChart.setOption(data.option);
};
// : onBeforeMount(() => {
// window.addEventListener("resize", () => { setTimeout(() => {
// myChart.resize(); data.list = props.list;
// }); data.list.forEach((item, index) => {
data.jgmc.push(item.jgmc);
data.rs.push(item.rs);
});
getOption();
setChart();
}, 600);
}); });
</script> </script>

View File

@ -3,13 +3,29 @@
</template> </template>
<script setup > <script setup >
import { onMounted, reactive, ref } from "vue"; import { onMounted, reactive, ref,onBeforeMount,defineProps } from "vue";
// echarts // echarts
import * as echarts from "echarts"; import * as echarts from "echarts";
const props = defineProps({
list: {
type: Array,
default: () => [],
},
year:{
type: Array,
default: () => [],
}
});
const data= reactive({
list:[],
year:[],
option:{},
bg:[],
})
const chart = ref(); // DOM const chart = ref(); // DOM
const data1 = ["2019", "2020", "2021", "2022", "2023"];
let option = { const getOption = () => {
data.option = {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
formatter: "{b0}<br />{a0}:{c0} ", formatter: "{b0}<br />{a0}:{c0} ",
@ -33,12 +49,12 @@ let option = {
}, },
}, },
data: data1, data: data.year,
}, },
{ {
axisTick: false, axisTick: false,
type: "category", type: "category",
data: data1, data: data.year,
axisLabel: { axisLabel: {
show: false, show: false,
}, },
@ -102,18 +118,13 @@ let option = {
{ {
name: "体检人数", name: "体检人数",
type: "bar", type: "bar",
data: [120, 49, 70, 232, 25.6], data: data.list,
barWidth: 20, barWidth: 20,
itemStyle: { itemStyle: {
normal: { normal: {
color: function (params) { color: function (params) {
if (params.dataIndex == 0) { var colorList = [
return new echarts.graphic.LinearGradient( new echarts.graphic.LinearGradient(0, 0, 0, 1, [
0,
0,
0,
1, //y->y2
[
{ {
offset: 0, offset: 0,
color: "rgba(23, 237, 255, 1)", color: "rgba(23, 237, 255, 1)",
@ -123,33 +134,8 @@ let option = {
color: "rgba(23, 237, 255, 0.20)", color: "rgba(23, 237, 255, 0.20)",
}, },
], ],
false false),
); new echarts.graphic.LinearGradient(0, 0, 0, 1, [
} else if (params.dataIndex % 3 == 0) {
return new echarts.graphic.LinearGradient(
0,
0,
0,
1, //y->y2
[
{
offset: 0,
color: "rgba(23, 237, 255, 1)",
},
{
offset: 1,
color: "rgba(23, 237, 255, 0.20)",
},
],
false
);
} else if (params.dataIndex % 2 == 0) {
return new echarts.graphic.LinearGradient(
0,
0,
0,
1, //y->y2
[
{ {
offset: 0, offset: 0,
color: "rgba(255, 243, 119, 1)", color: "rgba(255, 243, 119, 1)",
@ -159,15 +145,8 @@ let option = {
color: "rgba(255, 242, 142, 0.20)", color: "rgba(255, 242, 142, 0.20)",
}, },
], ],
false false),
); new echarts.graphic.LinearGradient(0, 0, 0, 1, [
} else {
return new echarts.graphic.LinearGradient(
0,
0,
0,
1, //y->y2
[
{ {
offset: 0, offset: 0,
color: "rgba(142, 187, 255, 1)", color: "rgba(142, 187, 255, 1)",
@ -177,9 +156,10 @@ let option = {
color: "rgba(142, 187, 255, 0.20)", color: "rgba(142, 187, 255, 0.20)",
}, },
], ],
false false),
); ];
}
return colorList[params.dataIndex % colorList.length];
}, },
}, },
}, },
@ -191,28 +171,32 @@ let option = {
itemStyle: { itemStyle: {
color: "rgba(221, 242, 255, 0.1)", color: "rgba(221, 242, 255, 0.1)",
}, },
data: ["2019", "2020", "2021", "2022", "2023"].map(() => 100), data: data.bg.map(() => 100),
barWidth: 50, barWidth: 50,
}, },
], ],
}; };
}
// 使 const setChart = () => {
onMounted(() => {
// domecharts
// var myChart = echarts.init(document.getElementById('main'));
// Vue3 // Vue3
var myChart = echarts.init(chart.value); var myChart = echarts.init(chart.value);
// init(); // vue3.2this
// 使 // 使
myChart.setOption(option); myChart.setOption(data.option);
}
// : onBeforeMount(() => {
// window.addEventListener("resize", () => { setTimeout(() => {
// myChart.resize(); data.list = props.list
// }); data.year = props.year
data.year.forEach(()=>{
data.bg.push(0)
})
getOption()
setChart()
}, 600)
}); });
</script> </script>
<style scoped> <style scoped>

View File

@ -1,131 +1,151 @@
<template> <template>
<div ref="chart" style="width: 100%;height:210px;"></div> <div ref="chart" style="width: 100%; height: 210px"></div>
</template> </template>
<script setup > <script setup >
import { onMounted, reactive, ref } from "vue"; import { onMounted, reactive, ref, onBeforeMount, defineProps } from "vue";
// echarts // echarts
import * as echarts from "echarts"; import * as echarts from "echarts";
const props = defineProps({
list: {
type: Array,
default: () => [],
},
year: {
type: Array,
default: () => [],
},
});
const chart = ref(); // DOM const chart = ref(); // DOM
const data = reactive({
list: [],
year: [],
option: {},
bg: [],
});
let option = { const getOption = () => {
tooltip: { data.option = {
trigger: "axis", tooltip: {
padding: [20, 10, 20, 10], trigger: "axis",
formatter: "{b0}<br />{a1}:{c1} ", padding: [20, 10, 20, 10],
}, formatter: "{b0}<br />{a1}:{c1} ",
grid: { },
top:'5%', grid: {
left: "1%", top: "5%",
right: "10%", left: "1%",
bottom: "3%", right: "10%",
containLabel: true, bottom: "3%",
}, containLabel: true,
},
xAxis: { xAxis: {
type: "category", type: "category",
// boundaryGap: false, // boundaryGap: false,
data: ["1月", "2月", "3月", "4月", "5月"], data: data.year,
// splitArea: { // splitArea: {
// show: true, // show: true,
// interval: '10', // interval: '10',
// areaStyle: { // areaStyle: {
// color: ["rgba(255, 255, 255, 0.10)"], // color: ["rgba(255, 255, 255, 0.10)"],
// width:10, // width:10,
// }, // },
// }, // },
axisLabel: { axisLabel: {
// //
textStyle: { textStyle: {
color: "#ffffff", color: "#ffffff",
},
},
},
yAxis: {
type: "value",
splitLine: {
show: true,
lineStyle: {
color: "rgba(226, 226, 226, 0.3)",
width: 1,
},
},
axisLabel: {
//
textStyle: {
color: "#ffffff",
},
},
},
series: [
{
name: "背景",
type: "bar",
data: [0, 0, 0, 0, 0],
showBackground: true,
backgroundStyle: {
color: "rgba(180, 180, 180, 0.2)",
},
},
{
name: "高血压人数",
type: "line",
stack: "Total",
symbol: "emptyCircle",
symbolSize: 10,
itemStyle: {
borderColor: "#00FCFF",
borderWidth: 1,
color: "#00FCFF",
}, areaStyle: {
color: "#F4F65B",
normal: {
//线4x0,y0,x2,y2(0~1);true
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
// color: 'RGBA(184, 204, 241, 1)'
color: 'rgba(0, 252, 255, 0.50)',
},
{
offset: 1,
color: "rgba(0, 252, 255, 0)",
},
],
false
),
shadowBlur: 0, //shadowBlurshadowColor,shadowOffsetX/Y,
}, },
}, },
data: [120, 182, 191, 234, 200],
}, },
yAxis: {
type: "value",
splitLine: {
show: true,
lineStyle: {
color: "rgba(226, 226, 226, 0.3)",
width: 1,
},
},
axisLabel: {
//
textStyle: {
color: "#ffffff",
},
},
},
series: [
{
name: "背景",
type: "bar",
data: data.bg,
showBackground: true,
backgroundStyle: {
color: "rgba(180, 180, 180, 0.2)",
},
},
{
name: "高血压人数",
type: "line",
stack: "Total",
symbol: "emptyCircle",
], symbolSize: 10,
itemStyle: {
borderColor: "#00FCFF",
borderWidth: 1,
color: "#00FCFF",
},
areaStyle: {
color: "#F4F65B",
normal: {
//线4x0,y0,x2,y2(0~1);true
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
// color: 'RGBA(184, 204, 241, 1)'
color: "rgba(0, 252, 255, 0.50)",
},
{
offset: 1,
color: "rgba(0, 252, 255, 0)",
},
],
false
),
shadowBlur: 0, //shadowBlurshadowColor,shadowOffsetX/Y,
},
},
data: data.list,
},
],
};
}; };
const setChart = () => {
// 使
onMounted(() => {
// domecharts
// var myChart = echarts.init(document.getElementById('main'));
// Vue3 // Vue3
var myChart = echarts.init(chart.value); var myChart = echarts.init(chart.value);
// init(); // vue3.2this
// 使 // 使
myChart.setOption(option); myChart.setOption(data.option);
};
// : onBeforeMount(() => {
// window.addEventListener("resize", () => { setTimeout(() => {
// myChart.resize(); data.list = props.list;
// }); data.year = props.year;
data.year.forEach(() => {
data.bg.push(0);
});
getOption();
setChart();
}, 600);
}); });
</script> </script>

View File

@ -1,164 +1,189 @@
<template> <template>
<div ref="chart" style="width: 100%; height:250px;"></div> <div ref="chart" style="width: 100%; height: 250px"></div>
</template> </template>
<script setup > <script setup >
import { onMounted, reactive, ref } from "vue"; import { onMounted, reactive, ref, onBeforeMount, defineProps } from "vue";
// echarts // echarts
import * as echarts from "echarts"; import * as echarts from "echarts";
const props = defineProps({
list: {
type: Array,
default: () => [],
},
year: {
type: Array,
default: () => [],
},
});
const data = reactive({
list: [],
zgffrc: [], //
cxffrc: [], //
year: [],
option: {},
bg:[],
});
const chart = ref(); // DOM const chart = ref(); // DOM
let option = { const getOption = () => {
tooltip: { data.option = {
trigger: "axis", tooltip: {
formatter: "{b0}<br />{a0}:{c0} <br />{a1}:{c1} ", trigger: "axis",
}, formatter: "{b0}<br />{a0}:{c0} <br />{a1}:{c1} ",
legend: {
top: "6%",
right: "11%",
textStyle: {
fontSize: 12,
color: "#ffffff",
}, },
}, legend: {
grid: { top: "6%",
top:'23%', right: "11%",
left: "1%", textStyle: {
right: "10%", fontSize: 12,
bottom: "0%", color: "#ffffff",
containLabel: true, },
}, },
calculable: true, grid: {
xAxis: [ top: "23%",
{ left: "1%",
type: "category", right: "10%",
axisLabel: { bottom: "0%",
// containLabel: true,
textStyle: { },
color: "#ffffff", calculable: true,
xAxis: [
{
type: "category",
axisLabel: {
//
textStyle: {
color: "#ffffff",
},
},
data: data.year,
},
{
axisTick: false,
type: "category",
data: data.year,
axisLabel: {
show: false,
}, },
}, },
data: ["2019", "2020", "2021", "2022", "2023"], ],
},
{
axisTick: false,
type: "category",
data: ["2019", "2020", "2021", "2022", "2023"],
axisLabel: {
show: false,
},
},
],
yAxis: [ yAxis: [
{ {
type: "value", type: "value",
splitLine: { splitLine: {
show: true, show: true,
lineStyle: { lineStyle: {
color: "rgba(226, 226, 226, 0.3)", color: "rgba(226, 226, 226, 0.3)",
width: 1, width: 1,
},
},
axisLabel: {
//
textStyle: {
color: "#ffffff",
},
}, },
}, },
axisLabel: { {
// type: "value",
textStyle: { min: 0,
color: "#ffffff", max: 100,
splitLine: {
show: false,
lineStyle: {
type: "solid",
color: "rgb(221, 242, 255,0.1)",
},
},
axisLine: {
show: false,
lineStyle: {
type: "dotted",
},
},
axisLabel: {
show: false,
fontSize: 14,
fontFamily: "MicrosoftYaHei",
color: "#DEF1FF",
lineHeight: 19,
}, },
}, },
}, ],
{ series: [
type: "value", {
min: 0, name: "职工医疗保险发放人次",
max: 100, type: "bar",
splitLine: { data: data.zgffrc,
show: false, barWidth: "18%",
lineStyle: { itemStyle: {
type: "solid", color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
color: "rgb(221, 242, 255,0.1)", {
offset: 0,
color: "rgba(142, 187, 255, 1)",
},
{
offset: 1,
color: "rgba(142, 187, 255, 0.20)",
},
]),
}, },
}, },
axisLine: { {
show: false, name: "城乡医疗保险发放人次",
lineStyle: { type: "bar",
type: "dotted", data: data.cxffrc,
barWidth: "18%",
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: "rgba(23, 237, 255, 1)",
},
{
offset: 1,
color: "rgba(23, 237, 255, 0.20)",
},
]),
}, },
}, },
axisLabel: { {
show: false, type: "bar",
fontSize: 14, xAxisIndex: 1,
fontFamily: "MicrosoftYaHei", yAxisIndex: 1,
color: "#DEF1FF", itemStyle: {
lineHeight: 19, color: "rgba(221, 242, 255, 0.1)",
},
data: data.bg.map(() => 100),
barWidth: 50,
}, },
}, ],
], };
series: [
{
name: "职工医疗保险发放人次",
type: "bar",
data: [2.0, 4.9, 7.0, 23.2, 25.6],
barWidth: "18%",
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: "rgba(142, 187, 255, 1)",
},
{
offset: 1,
color: "rgba(142, 187, 255, 0.20)",
},
]),
},
},
{
name: "城乡医疗保险发放人次",
type: "bar",
data: [2.6, 5.9, 9.0, 26.4, 28.7],
barWidth: "18%",
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: "rgba(23, 237, 255, 1)",
},
{
offset: 1,
color: "rgba(23, 237, 255, 0.20)",
},
]),
},
},
{
type: "bar",
xAxisIndex: 1,
yAxisIndex: 1,
itemStyle: {
color: "rgba(221, 242, 255, 0.1)",
},
data: ["2019", "2020", "2021", "2022", "2023"].map(() => 100),
barWidth: 50,
},
],
}; };
const setChart = () => {
// 使
onMounted(() => {
// domecharts
// var myChart = echarts.init(document.getElementById('main'));
// Vue3 // Vue3
var myChart = echarts.init(chart.value); var myChart = echarts.init(chart.value);
// init(); // vue3.2this
// 使 // 使
myChart.setOption(option); myChart.setOption(data.option);
};
// : onBeforeMount(() => {
// window.addEventListener("resize", () => { setTimeout(() => {
// myChart.resize(); data.list = props.list;
// }); data.year = props.year;
data.list.forEach((item) => {
data.zgffrc.push(item.zgffrc);
data.cxffrc.push(item.cxffrc);
data.bg.push("");
})
getOption();
setChart();
}, 600);
}); });
</script> </script>

View File

@ -1,121 +1,142 @@
<template> <template>
<div ref="chart" style="width: 100%; height:250px;"></div> <div ref="chart" style="width: 100%; height: 250px"></div>
</template> </template>
<script setup > <script setup >
import { onMounted, reactive, ref } from "vue"; import { onMounted, reactive, ref, onBeforeMount, defineProps } from "vue";
// echarts // echarts
import * as echarts from "echarts"; import * as echarts from "echarts";
const props = defineProps({
list: {
type: Array,
default: () => [],
},
year: {
type: Array,
default: () => [],
},
});
const data = reactive({
list: [],
zgffje: [], //
cxffje: [], //
year: [],
option: {},
bg: [],
});
const chart = ref(); // DOM const chart = ref(); // DOM
let option = { const getOption = () => {
tooltip: { data.option = {
trigger: "axis", tooltip: {
padding: [20, 10, 20, 10], trigger: "axis",
formatter: "{b0}<br />{a1}:{c1} <br />{a2}:{c2} ", padding: [20, 10, 20, 10],
}, formatter: "{b0}<br />{a1}:{c1} <br />{a2}:{c2} ",
legend: {
data: ["职工医疗保险金额", "城乡医疗保险金额"],
top: "6%",
right: "11%",
textStyle: {
fontSize: 12,
color: "#ffffff",
}, },
}, legend: {
grid: { data: ["职工医疗保险金额", "城乡医疗保险金额"],
top:'23%', top: "6%",
left: "1%", right: "11%",
right: "10%",
bottom: "3%",
containLabel: true,
},
xAxis: {
type: "category",
// boundaryGap: false,
data: ["1月", "2月", "3月", "4月", "5月"],
axisLabel: {
//
textStyle: { textStyle: {
fontSize: 12,
color: "#ffffff", color: "#ffffff",
}, },
}, },
}, grid: {
yAxis: { top: "23%",
type: "value", left: "1%",
splitLine: { right: "10%",
show: true, bottom: "3%",
lineStyle: { containLabel: true,
color: "rgba(226, 226, 226, 0.3)",
width: 1,
},
}, },
axisLabel: {
//
textStyle: {
color: "#ffffff",
},
},
},
series: [
{
name: "背景",
type: "bar",
data: [0, 0, 0, 0, 0],
showBackground: true,
backgroundStyle: {
color: "rgba(180, 180, 180, 0.2)",
},
},
{
name: "职工医疗保险金额",
type: "line",
stack: "Total",
symbol: "emptyCircle",
symbolSize: 10, xAxis: {
itemStyle: { type: "category",
borderColor: "#00FCFF", // boundaryGap: false,
borderWidth: 1, data: data.year,
color: "#00FCFF", axisLabel: {
//
textStyle: {
color: "#ffffff",
},
}, },
data: [120, 132, 101, 134, 90],
}, },
{ yAxis: {
name: "城乡医疗保险金额", type: "value",
type: "line", splitLine: {
stack: "Total", show: true,
symbol: "emptyCircle", lineStyle: {
color: "rgba(226, 226, 226, 0.3)",
symbolSize: 10, width: 1,
itemStyle: { },
borderColor: "#2468FF", },
borderWidth: 1, axisLabel: {
color: "#2468FF", //
textStyle: {
color: "#ffffff",
},
}, },
data: [150, 232, 201, 154, 190],
}, },
], series: [
{
name: "背景",
type: "bar",
data: data.bg,
showBackground: true,
backgroundStyle: {
color: "rgba(180, 180, 180, 0.2)",
},
},
{
name: "职工医疗保险金额",
type: "line",
symbol: "emptyCircle",
symbolSize: 10,
itemStyle: {
borderColor: "#00FCFF",
borderWidth: 1,
color: "#00FCFF",
},
data: data.zgffje,
},
{
name: "城乡医疗保险金额",
type: "line",
symbol: "emptyCircle",
symbolSize: 10,
itemStyle: {
borderColor: "#2468FF",
borderWidth: 1,
color: "#2468FF",
},
data: data.cxffje,
},
],
};
}; };
const setChart = () => {
// 使
onMounted(() => {
// domecharts
// var myChart = echarts.init(document.getElementById('main'));
// Vue3 // Vue3
var myChart = echarts.init(chart.value); var myChart = echarts.init(chart.value);
// init(); // vue3.2this
// 使 // 使
myChart.setOption(option); myChart.setOption(data.option);
};
// : onBeforeMount(() => {
// window.addEventListener("resize", () => { setTimeout(() => {
// myChart.resize(); data.list = props.list;
// }); data.year = props.year;
data.list.forEach((item) => {
data.zgffje.push(item.zgffje);
data.cxffje.push(item.cxffje);
data.bg.push("");
});
getOption();
setChart();
}, 600);
}); });
</script> </script>

View File

@ -3,13 +3,30 @@
</template> </template>
<script setup > <script setup >
import { onMounted, reactive, ref } from "vue"; import { onMounted, reactive, ref,onBeforeMount,defineProps } from "vue";
// echarts // echarts
import * as echarts from "echarts"; import * as echarts from "echarts";
const chart = ref(); // DOM const props = defineProps({
list: {
type: Array,
default: () => [],
},
year:{
type: Array,
default: () => [],
}
});
const data= reactive({
list:[],
year:[],
option:{},
bg:[],
})
let option = { const chart = ref(); // DOM
const getOption = () => {
data.option = {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
padding: [20, 10, 20, 10], padding: [20, 10, 20, 10],
@ -26,7 +43,7 @@ let option = {
xAxis: { xAxis: {
type: "category", type: "category",
// boundaryGap: false, // boundaryGap: false,
data: ["1月", "2月", "3月", "4月", "5月"], data: data.year,
// splitArea: { // splitArea: {
// show: true, // show: true,
// interval: '10', // interval: '10',
@ -62,7 +79,7 @@ let option = {
{ {
name: "背景", name: "背景",
type: "bar", type: "bar",
data: [0, 0, 0, 0, 0], data: data.bg,
showBackground: true, showBackground: true,
backgroundStyle: { backgroundStyle: {
color: "rgba(180, 180, 180, 0.2)", color: "rgba(180, 180, 180, 0.2)",
@ -106,27 +123,31 @@ let option = {
shadowBlur: 0, //shadowBlurshadowColor,shadowOffsetX/Y, shadowBlur: 0, //shadowBlurshadowColor,shadowOffsetX/Y,
}, },
}, },
data: [120, 182, 191, 234, 200], data: data.list,
}, },
], ],
}; };
}
// 使 const setChart = () => {
onMounted(() => {
// domecharts
// var myChart = echarts.init(document.getElementById('main'));
// Vue3 // Vue3
var myChart = echarts.init(chart.value); var myChart = echarts.init(chart.value);
// init(); // vue3.2this
// 使 // 使
myChart.setOption(option); myChart.setOption(data.option);
}
// : onBeforeMount(() => {
// window.addEventListener("resize", () => { setTimeout(() => {
// myChart.resize(); data.list = props.list
// }); data.year = props.year
data.year.forEach(()=>{
data.bg.push(0)
})
getOption()
setChart()
}, 600)
}); });
</script> </script>
<style scoped> <style scoped>

View File

@ -34,7 +34,8 @@ const data = reactive({
list1: [], list1: [],
list2: [], list2: [],
year: [], year: [],
option: {} option: {},
bg:[],
}) })
const getOption = () => { const getOption = () => {
@ -99,7 +100,7 @@ const getOption = () => {
{ {
name: "背景", name: "背景",
type: "bar", type: "bar",
data: [0, 0, 0, 0, 0], data: data.bg,
showBackground: true, showBackground: true,
backgroundStyle: { backgroundStyle: {
color: "rgba(180, 180, 180, 0.2)", color: "rgba(180, 180, 180, 0.2)",
@ -152,6 +153,9 @@ onBeforeMount(() => {
data.list1 = props.list1 data.list1 = props.list1
data.list2 = props.list2 data.list2 = props.list2
data.year = props.year data.year = props.year
data.year.forEach(()=>{
data.bg.push(0)
})
getOption() getOption()
setChart() setChart()
}, 600) }, 600)

View File

@ -34,7 +34,8 @@ const data = reactive({
list1: [], list1: [],
list2: [], list2: [],
year: [], year: [],
option: {} option: {},
bg:[],
}) })
const getOption = () => { const getOption = () => {
@ -99,7 +100,7 @@ const getOption = () => {
{ {
name: "背景", name: "背景",
type: "bar", type: "bar",
data: [0, 0, 0, 0, 0], data: data.bg,
showBackground: true, showBackground: true,
backgroundStyle: { backgroundStyle: {
color: "rgba(180, 180, 180, 0.2)", color: "rgba(180, 180, 180, 0.2)",
@ -153,6 +154,9 @@ onBeforeMount(() => {
data.list1 = props.list1 data.list1 = props.list1
data.list2 = props.list2 data.list2 = props.list2
data.year = props.year data.year = props.year
data.year.forEach(()=>{
data.bg.push(0)
})
getOption() getOption()
setChart() setChart()
}, 600) }, 600)

View File

@ -34,7 +34,8 @@ const data = reactive({
list1: [], list1: [],
list2: [], list2: [],
year: [], year: [],
option: {} option: {},
bg:[],
}) })
const getOption = () =>{ const getOption = () =>{
@ -91,7 +92,7 @@ const getOption = () =>{
{ {
name: "背景", name: "背景",
type: "bar", type: "bar",
data: [0, 0, 0, 0, 0], data: data.bg,
showBackground: true, showBackground: true,
backgroundStyle: { backgroundStyle: {
color: "rgba(180, 180, 180, 0.2)", color: "rgba(180, 180, 180, 0.2)",
@ -140,6 +141,9 @@ onBeforeMount(() => {
data.list1 = props.list1 data.list1 = props.list1
data.list2 = props.list2 data.list2 = props.list2
data.year = props.year data.year = props.year
data.year.forEach(()=>{
data.bg.push(0)
})
getOption() getOption()
setChart() setChart()
}, 600) }, 600)

View File

@ -168,7 +168,7 @@ const getOption = () =>{
itemStyle: { itemStyle: {
color: "rgba(221, 242, 255, 0.1)", color: "rgba(221, 242, 255, 0.1)",
}, },
data: ["2019", "2020", "2021", "2022", "2023"].map(() => 100), data: data.year.map(() => 100),
barWidth: 50, barWidth: 50,
}, },
], ],

View File

@ -163,7 +163,7 @@ const getOption = () => {
itemStyle: { itemStyle: {
color: "rgba(221, 242, 255, 0.1)", color: "rgba(221, 242, 255, 0.1)",
}, },
data: ["2019", "2020", "2021", "2022", "2023"].map(() => 100), data: data.year.map(() => 100),
barWidth: 50, barWidth: 50,
}, },
], ],

View File

@ -33,7 +33,8 @@ const data = reactive({
list1: [], list1: [],
list2: [], list2: [],
year: [], year: [],
option: {} option: {},
bg:[],
}) })
const getOption = () => { const getOption = () => {
data.option = { data.option = {
@ -89,7 +90,7 @@ const getOption = () => {
{ {
name: "背景", name: "背景",
type: "bar", type: "bar",
data: [0, 0, 0, 0, 0], data: data.bg,
showBackground: true, showBackground: true,
backgroundStyle: { backgroundStyle: {
color: "rgba(180, 180, 180, 0.2)", color: "rgba(180, 180, 180, 0.2)",
@ -139,6 +140,9 @@ onBeforeMount(() => {
data.list1 = props.list1 data.list1 = props.list1
data.list2 = props.list2 data.list2 = props.list2
data.year = props.year data.year = props.year
data.year.forEach(()=>{
data.bg.push(0)
})
getOption() getOption()
setChart() setChart()
}, 600) }, 600)

View File

@ -1,19 +1,50 @@
<template> <template>
<div ref="chart" style="width: 100%; height:430px;"></div> <div ref="chart" style="width: 100%; height: 430px"></div>
</template> </template>
<script setup> <script setup>
import { onMounted, reactive, ref } from "vue"; import {
onBeforeMount,
onMounted,
reactive,
ref,
defineProps,
nextTick,
} from "vue";
// echarts // echarts
import * as echarts from "echarts"; import * as echarts from "echarts";
const props = defineProps({
list1: {
type: Array,
default: () => {
return [];
},
},
list2: {
type: Array,
default: () => {
return [];
},
},
year: {
type: Array,
default: () => {
return [];
},
},
});
const chart = ref(); // DOM const chart = ref(); // DOM
const data = [120, 200, 50, 80, 70, ]; const data = reactive({
const lineData = [150, 230, 24, 218, 135,]; list1: [],
const max = data list2: [],
.concat(lineData) year: [],
.reduce((pre, cur) => (pre > cur ? pre : cur), 0); // option: {},
// max: null,
});
// //
const color = [ const color = [
{ {
@ -38,180 +69,214 @@ const color = [
], ],
}, },
]; ];
const option = {
tooltip: { const getOption = () => {
trigger: "axis", data.option = {
formatter: "{b0}<br/> {a0}:{c0}<br/>{a1}:{c1}", color,
axisPointer: { calculable: true,
type: "cross", tooltip: {
label: { trigger: "axis",
backgroundColor: "#3F82F7", // formatter: "{b0}<br/> {a0}:{c0}<br/>{a1}:{c1}",
}, axisPointer: {
}, type: "cross",
}, label: {
legend: { backgroundColor: "#3F82F7", //
data: ["计划生育人数", "计划生育补贴金额"],
top: "8%",
textStyle: {
fontSize: 12,
color: "#ffffff", //
},
},
grid: {
left: "6%",
right: "9%",
bottom: "2%",
containLabel: true,
color: "#ffffff",
},
calculable: true,
color,
xAxis: [
{
type: "category",
// name: "/",
axisLabel: {
//
textStyle: {
color: "#ffffff",
}, },
}, },
axisTick: {
show: false, //
}, },
data: ["2019", "2020", "2021", "2022", "2023"], legend: {
data: ["计划生育人数", "计划生育补贴金额"],
top: "8%",
textStyle: {
fontSize: 12,
color: "#ffffff", //
},
}, },
{ grid: {
type: "category", left: "6%",
show: false, right: "9%",
data: ["2019", "2020", "2021", "2022", "2023"], bottom: "2%",
containLabel: true,
color: "#ffffff",
}, },
], xAxis: [
yAxis: [ {
{ type: "category",
type: "value", // name: "/",
scale: true, axisLabel: {
name: "计划生育人数", //
max: max, textStyle: {
splitLine: { color: "#ffffff",
//线 },
},
axisTick: {
show: false, //
},
data: data.year,
},
{
type: "category",
show: false, show: false,
lineStyle: { data: data.year,
color: "#ffffff", },
width: 1, ],
yAxis: [
{
type: "value",
scale: true,
name: "计划生育人数",
splitLine: {
//线
show: false,
lineStyle: {
color: "#ffffff",
width: 1,
},
}, },
}, axisLabel: {
axisLabel: { //y
//y textStyle: {
textStyle: { color: "#ffffff",
color: "#ffffff", },
}, },
}, axisLine: {
axisLine: { //y线
//y线 show: false,
show: false, lineStyle: {
lineStyle: { color: "#ffffff",
color: "#ffffff", width: 1,
width: 1, type: "solid",
type: "solid",
},
},
},
{
type: "value",
scale: true,
min: 0,
max: max,
name: "计划生育补贴金额/元",
splitLine: {
show: false,
lineStyle: {
color: "rgba(226, 226, 226, 0.3)",
width: 1,
},
},
axisLabel: {
//y
textStyle: {
color: "#ffffff",
},
},
axisLine: {
//y线
show: false,
lineStyle: {
color: "#ffffff",
width: 1,
type: "solid",
},
},
},
],
series: [
{
name: "计划生育人数",
data: data,
barWidth: 20,
type: "bar",
},
{
name: "计划生育补贴金额",
data: lineData,
type: "line", //线
itemStyle: {
borderColor: "#00FCFF",
borderWidth: 1,
color: "#00FCFF",
},
},
{
xAxisIndex: 1,
itemStyle: {
color: "rgba(180, 180, 180, 0.2)", //
},
data: data.map(() => max),
barWidth: 40, //
emphasis: {
itemStyle: {
color: {
type: "linear",
x: 0,
x2: 0,
y: 0,
y2: 1,
colorStops: [
{
offset: 0,
color: "rgba(64, 247, 176, 0.25)",
},
{
offset: 1,
color: "rgba(17, 34, 64, 0.25)",
},
],
}, },
}, },
}, },
type: "bar", {
}, type: "value",
], scale: true,
min: 0,
name: "计划生育补贴金额/元",
splitLine: {
show: false,
lineStyle: {
color: "rgba(226, 226, 226, 0.3)",
width: 1,
},
},
axisLabel: {
//y
textStyle: {
color: "#ffffff",
},
},
axisLine: {
//y线
show: false,
lineStyle: {
color: "#ffffff",
width: 1,
type: "solid",
},
},
},
{
type: "value",
max:100,
splitLine: {
show: false,
lineStyle: {
type: "solid",
color: "rgb(221, 242, 255,0.1)",
},
},
axisLine: {
show: false,
lineStyle: {
type: "dotted",
},
},
axisLabel: {
show: false,
fontSize: 14,
fontFamily: "MicrosoftYaHei",
color: "#DEF1FF",
lineHeight: 19,
},
},
],
series: [
{
yAxisIndex: 0,
name: "计划生育人数",
data: data.list1,
barWidth: 20,
type: "bar",
},
{
yAxisIndex: 1,
name: "计划生育补贴金额",
data: data.list2,
type: "line", //线
itemStyle: {
borderColor: "#00FCFF",
borderWidth: 1,
color: "#00FCFF",
},
},
{
xAxisIndex: 1,
yAxisIndex: 2,
itemStyle: {
color: "rgba(180, 180, 180, 0.2)", //
},
data: data.list2.map(() => 100),
barWidth: 40, //
emphasis: {
itemStyle: {
color: {
type: "linear",
x: 0,
x2: 0,
y: 0,
y2: 1,
colorStops: [
{
offset: 0,
color: "rgba(64, 247, 176, 0.25)",
},
{
offset: 1,
color: "rgba(17, 34, 64, 0.25)",
},
],
},
},
},
type: "bar",
},
],
};
}; };
// 使 const setChart = () => {
onMounted(() => {
// domecharts
// var myChart = echarts.init(document.getElementById('main'));
// Vue3 // Vue3
var myChart = echarts.init(chart.value); var myChart = echarts.init(chart.value);
// init(); // vue3.2this
// 使 // 使
myChart.setOption(option); myChart.setOption(data.option);
};
// : // 使
// window.addEventListener("resize", () => { onBeforeMount(() => {
// myChart.resize(); setTimeout(() => {
// }); data.list1 = props.list1;
data.list2 = props.list2;
data.year = props.year;
// data.max = data.list1
// .concat(data.list2)
// .reduce((pre, cur) => (pre > cur ? pre : cur), 0); //
// console.log(data.max,data.list1, data.list2,111);
getOption();
setChart();
}, 600);
}); });
</script> </script>

View File

@ -6,14 +6,44 @@
</template> </template>
<script setup> <script setup>
import { onMounted, reactive, ref } from "vue"; import {
onBeforeMount,
onMounted,
reactive,
ref,
defineProps,
nextTick,
} from "vue";
// echarts // echarts
import * as echarts from "echarts"; import * as echarts from "echarts";
const props = defineProps({
list1: {
type: Array,
default: () => {
return [];
},
},
list2: {
type: Array,
default: () => {
return [];
},
},
});
const chart = ref(null); // DOM const chart = ref(null); // DOM
const data = ["大街乡", "社阳乡", "沐尘畲族乡", "庙下乡", "溪口镇", "罗家乡"]; // const data = ["", "", "", "", "", ""];
const datas = ["8", "10", "7", " 23", "25", "250"]; // const datas = ["8", "10", "7", " 23", "25", "250"];
const data = reactive({
list1: [],
list2: [],
option: {},
});
let zoomShow = true; let zoomShow = true;
// if (data.length > 7) { // if (data.length > 7) {
@ -21,8 +51,8 @@ let zoomShow = true;
// } else { // } else {
// zoomShow = false; // zoomShow = false;
// } // }
const getOption = () => {
let option = { data.option = {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -31,7 +61,7 @@ let option = {
}, },
legend: {}, legend: {},
grid: { grid: {
top: "-2%", top: "0%",
left: "3%", left: "3%",
right: "8%", right: "8%",
bottom: "3%", bottom: "3%",
@ -100,7 +130,7 @@ let option = {
xAxis: { xAxis: {
// name: '/', // name: '/',
type: "value", type: "value",
data: datas, data: data.list2,
axisLabel: { axisLabel: {
// //
textStyle: { textStyle: {
@ -108,7 +138,7 @@ let option = {
}, },
// formatter: `{value}/` // x // formatter: `{value}/` // x
formatter: function (value, index) { formatter: function (value, index) {
if (index === datas.length - 1) { if (index === data.list2.length - 1) {
// //
return value + "/次"; // return value + "/次"; //
} else { } else {
@ -132,7 +162,7 @@ let option = {
}, },
yAxis: { yAxis: {
type: "category", // type: "category", //
data: data, data: data.list1,
// max:10, // max:10,
//y //y
axisLabel: { axisLabel: {
@ -166,7 +196,7 @@ let option = {
series: [ series: [
{ {
type: "bar", type: "bar",
data: datas, data: data.list2,
barWidth: 15, // barWidth: 15, //
barGap: 0.3 /*多个并排柱子设置柱子之间的间距*/, barGap: 0.3 /*多个并排柱子设置柱子之间的间距*/,
// barCategoryGap: "10" /**/, // barCategoryGap: "10" /**/,
@ -186,33 +216,55 @@ let option = {
}, },
], ],
}; };
}
onMounted(() => { // onMounted(() => {
// domecharts // // domecharts
// var myChart = echarts.init(document.getElementById('main')); // // var myChart = echarts.init(document.getElementById('main'));
// // Vue3
// var myChart = echarts.init(chart.value);
// // init(); // vue3.2this
// // 使
// myChart.setOption(option);
// myChart.on("scroll", function (event) {
// // bargap
// var bargap = event.scrollData / 10000; // 1%0.5bargap
// myChart.setOption({
// yAxis: {
// axisLabel: {
// bargap: bargap,
// },
// },
// });
// });
// // :
// // window.addEventListener("resize", () => {
// // myChart.resize();
// // });
// });
const setChart = () => {
// Vue3 // Vue3
var myChart = echarts.init(chart.value); var myChart = echarts.init(chart.value);
// init(); // vue3.2this
// 使 // 使
myChart.setOption(option); myChart.setOption(data.option);
};
myChart.on("scroll", function (event) { // 使
// bargap onBeforeMount(() => {
var bargap = event.scrollData / 10000; // 1%0.5bargap setTimeout(() => {
myChart.setOption({ data.list1 = props.list1;
yAxis: { data.list2 = props.list2;
axisLabel: { data.year = props.year;
bargap: bargap, // data.max = data.list1
}, // .concat(data.list2)
}, // .reduce((pre, cur) => (pre > cur ? pre : cur), 0); //
}); // console.log(data.max,data.list1, data.list2,111);
}); getOption();
setChart();
// : }, 600);
// window.addEventListener("resize", () => {
// myChart.resize();
// });
}); });
</script> </script>

View File

@ -30,16 +30,16 @@
/> />
</span> </span>
</div> </div>
<ePie v-if="leftchoose.first == '1'"></ePie> <ePie v-if="leftchoose.first == '1'" :list='data.medicalInsurance.ffrc' :year='data.medicalInsurance.year'></ePie>
<ePie2 v-else></ePie2> <ePie2 v-else :list='data.medicalInsurance.ffje' :year='data.medicalInsurance.year'></ePie2>
</div> </div>
<div class="flex1" style="margin-top: 10px"> <div class="flex1" style="margin-top: 10px">
<div class="yd_title left_3"></div> <div class="yd_title left_3"></div>
<div class="sm_title_1"></div> <div class="sm_title_1"></div>
<tnb></tnb> <tnb :list='data.lmb.tnbrs' :year='data.lmb.year'></tnb>
<div class="sm_title_2"></div> <div class="sm_title_2"></div>
<gxy></gxy> <gxy :list='data.lmb.gxyrs' :year='data.lmb.year'></gxy>
</div> </div>
</div> </div>
<div class="displayFlex center_bg"> <div class="displayFlex center_bg">
@ -51,7 +51,7 @@
<div class="right"> <div class="right">
<div class="right_top">门急诊人次</div> <div class="right_top">门急诊人次</div>
<img src="@/assets/images/hygiene/jt.png" class="right_center" /> <img src="@/assets/images/hygiene/jt.png" class="right_center" />
<div class="right_bottom">867.371</div> <div class="right_bottom">{{data.mz.mjzrc}}</div>
</div> </div>
</div> </div>
<div class="item"> <div class="item">
@ -59,7 +59,7 @@
<div class="right"> <div class="right">
<div class="right_top">住院人数</div> <div class="right_top">住院人数</div>
<img src="@/assets/images/hygiene/jt.png" class="right_center" /> <img src="@/assets/images/hygiene/jt.png" class="right_center" />
<div class="right_bottom">6.723</div> <div class="right_bottom">{{data.mz.zyrs}}</div>
</div> </div>
</div> </div>
</div> </div>
@ -96,7 +96,7 @@
<div class="yd_title familyPlanning"></div> <div class="yd_title familyPlanning"></div>
<!-- 计划生育 --> <!-- 计划生育 -->
<!-- <div style="width: 100%; "> --> <!-- <div style="width: 100%; "> -->
<eP5></eP5> <eP5 :list='data.jsbgl'></eP5>
<!-- </div> --> <!-- </div> -->
</div> </div>
</div> </div>
@ -105,12 +105,12 @@
<div class="yd_title mechanism"></div> <div class="yd_title mechanism"></div>
<div class="history"> <div class="history">
<div class="history1"> <div class="history1">
<div class="va">2048</div> <div class="va">{{data.fyglrs.ycfrc}}</div>
<img src="@/assets/images/hygiene/yf.png" alt="" /> <img src="@/assets/images/hygiene/yf.png" alt="" />
<div class="historyimg">孕产妇系统管理人数</div> <div class="historyimg">孕产妇系统管理人数</div>
</div> </div>
<div class="history1"> <div class="history1">
<div class="va">21810</div> <div class="va">{{data.fyglrs.etrs}}</div>
<img src="@/assets/images/hygiene/et.png" alt="" /> <img src="@/assets/images/hygiene/et.png" alt="" />
<div class="historyimg">0-6岁儿童系统管理人数</div> <div class="historyimg">0-6岁儿童系统管理人数</div>
</div> </div>
@ -118,12 +118,12 @@
</div> </div>
<div class="flex1" style="flex: 1.1"> <div class="flex1" style="flex: 1.1">
<div class="yd_title service"></div> <div class="yd_title service"></div>
<eP7></eP7> <eP7 :list='data.jktj.jktjrs' :year='data.jktj.year'></eP7>
</div> </div>
<div class="flex1"> <div class="flex1">
<div class="yd_title last"></div> <div class="yd_title last"></div>
<div class="table"> <div class="table">
<div class="item" v-for="i in 15"> <div class="item" v-for="i in data.jkhd">
3月2日健康日在龙中公园进行健康活动宣 3月2日健康日在龙中公园进行健康活动宣
</div> </div>
</div> </div>
@ -144,7 +144,8 @@ import eP4 from "./echarts_hygiene/eP4.vue";
import eP4_1 from "./echarts_hygiene/eP4_1.vue"; import eP4_1 from "./echarts_hygiene/eP4_1.vue";
import tnb from "./echarts_hygiene/tnb.vue"; import tnb from "./echarts_hygiene/tnb.vue";
import gxy from "./echarts_hygiene/gxy.vue"; import gxy from "./echarts_hygiene/gxy.vue";
import { ref, onMounted, onBeforeMount } from "vue"; import { ref,reactive, onMounted, onBeforeMount } from "vue";
import http from "@/utils/request.js";
const leftchoose = ref({ const leftchoose = ref({
first: "1", first: "1",
second: "1", second: "1",
@ -153,6 +154,33 @@ const leftchoose = ref({
const change = (name, index) => { const change = (name, index) => {
leftchoose.value[name] = index; leftchoose.value[name] = index;
}; };
const data = reactive({
medicalInsurance:{},//
lmb:{},//
mz:{},//
jkda:[],//
jsbgl:[],//
fyglrs:{},//
jktj:{},//65
jkhd:[],//
})
onBeforeMount(() => {
getData();
});
const getData = () => {
http.get("/api/ggfwyth/health").then((res) => {
if (res.code == 200) {
data.medicalInsurance = res.data.medicalInsurance;
data.lmb = res.data.lmb;
data.mz = res.data.mz;
// data.jkda = res.data.jkda;
data.jsbgl = res.data.jsbgl;
data.fyglrs = res.data.fyglrs;
data.jktj = res.data.jktj;
data.jkhd = res.data.jkhd;
}
});
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -31,8 +31,18 @@
/> />
</span> </span>
</div> </div>
<ePie v-if="leftchoose.first == '1'" :list1="data.leftTop1" :list2="data.leftTop2" :year="data.leftTopYear"></ePie> <ePie
<ePie2 v-else :list1="data.leftTop3" :list2="data.leftTop4" :year="data.leftTopYear"></ePie2> v-if="leftchoose.first == '1'"
:list1="data.leftTop1"
:list2="data.leftTop2"
:year="data.leftTopYear"
></ePie>
<ePie2
v-else
:list1="data.leftTop3"
:list2="data.leftTop4"
:year="data.leftTopYear"
></ePie2>
</div> </div>
<div class="flex1" style="margin-top: 10px"> <div class="flex1" style="margin-top: 10px">
<div class="yd_title left_2"> <div class="yd_title left_2">
@ -63,8 +73,18 @@
/> />
</span> </span>
</div> </div>
<eP2 v-if="leftchoose.second == '1'" :list1="data.leftCenter1" :list2="data.leftCenter2" :year="data.leftCenterYear"></eP2> <eP2
<eP2_2 v-else :list1="data.leftCenter3" :list2="data.leftCenter4" :year="data.leftCenterYear" /> v-if="leftchoose.second == '1'"
:list1="data.leftCenter1"
:list2="data.leftCenter2"
:year="data.leftCenterYear"
></eP2>
<eP2_2
v-else
:list1="data.leftCenter3"
:list2="data.leftCenter4"
:year="data.leftCenterYear"
/>
</div> </div>
<div class="flex1" style="margin-top: 10px"> <div class="flex1" style="margin-top: 10px">
<div class="yd_title left_3"> <div class="yd_title left_3">
@ -95,8 +115,18 @@
/> />
</span> </span>
</div> </div>
<eP3 v-if="leftchoose.third == '1'" :list1="data.leftbottom1" :list2="data.leftbottom2" :year="data.leftbottomYear"></eP3> <eP3
<eP3_2 v-else :list1="data.leftbottom3" :list2="data.leftbottom4" :year="data.leftbottomYear"></eP3_2> v-if="leftchoose.third == '1'"
:list1="data.leftbottom1"
:list2="data.leftbottom2"
:year="data.leftbottomYear"
></eP3>
<eP3_2
v-else
:list1="data.leftbottom3"
:list2="data.leftbottom4"
:year="data.leftbottomYear"
></eP3_2>
</div> </div>
</div> </div>
<div class="displayFlex center_bg"> <div class="displayFlex center_bg">
@ -106,14 +136,18 @@
<div class="mtpImg1"></div> <div class="mtpImg1"></div>
<div class="mtpImg2"></div> <div class="mtpImg2"></div>
<div class="mtpImg3"></div> <div class="mtpImg3"></div>
<div class="mtpText1">5888811</div> <div class="mtpText1">588811</div>
<div class="mtpText2">18%</div> <div class="mtpText2">18%</div>
</div> </div>
<ePie3d></ePie3d> <ePie3d></ePie3d>
</div> </div>
<div class="flex1"> <div class="flex1">
<div class="yd_title familyPlanning"></div> <div class="yd_title familyPlanning"></div>
<ylJHSY></ylJHSY> <ylJHSY
:list1="data.centerBottom1"
:list2="data.centerBottom2"
:year="data.centerBottomYear"
></ylJHSY>
</div> </div>
</div> </div>
<div class="displayFlex right_bg"> <div class="displayFlex right_bg">
@ -122,7 +156,7 @@
<div class="history"> <div class="history">
<div class="history1"> <div class="history1">
<div> <div>
<span>16<span class="unit"></span></span> <span>{{data.yljgzlzx.yljg}}<span class="unit"></span></span>
</div> </div>
<img src="@/assets/YLimg/ylimg11.png" alt="" /> <img src="@/assets/YLimg/ylimg11.png" alt="" />
<img class="historyimg" src="@/assets/YLimg/ylimg5.png" alt="" /> <img class="historyimg" src="@/assets/YLimg/ylimg5.png" alt="" />
@ -136,7 +170,7 @@
</div> --> </div> -->
<div class="history1"> <div class="history1">
<div> <div>
<span>139<span class="unit"></span></span> <span>{{data.yljgzlzx.zlzx}}<span class="unit"></span></span>
</div> </div>
<img src="@/assets/YLimg/ylimg12.png" alt="" /> <img src="@/assets/YLimg/ylimg12.png" alt="" />
<img class="historyimg" src="@/assets/YLimg/ylimg10.png" alt="" /> <img class="historyimg" src="@/assets/YLimg/ylimg10.png" alt="" />
@ -169,7 +203,8 @@
alt="" alt=""
/> />
</div> </div>
<ylXZZC></ylXZZC> <ylXZZC :list1="data.zccs1"
:list2="data.zccs2"></ylXZZC>
</div> </div>
</div> </div>
</div> </div>
@ -198,27 +233,28 @@ const change = (name, index) => {
leftchoose.value[name] = index; leftchoose.value[name] = index;
}; };
const data = reactive({ const data = reactive({
leftTop1:[], leftTop1: [],
leftTop2:[], leftTop2: [],
leftTop3:[], leftTop3: [],
leftTop4:[], leftTop4: [],
leftTopYear:[], leftTopYear: [],
leftCenter1:[], leftCenter1: [],
leftCenter2:[], leftCenter2: [],
leftCenter3:[], leftCenter3: [],
leftCenter4:[], leftCenter4: [],
leftCenterYear:[], leftCenterYear: [],
leftbottom1:[], leftbottom1: [],
leftbottom2:[], leftbottom2: [],
leftbottom3:[], leftbottom3: [],
leftbottom4:[], leftbottom4: [],
leftbottomYear:[], leftbottomYear: [],
centerBottom1:[], centerBottom1: [],
centerBottom2:[], centerBottom2: [],
centerBottomYear:[], centerBottomYear: [],
yljgzlzx: { yljg: "", zlzx: "" },
zccs1: [], zccs1: [],
zccs2: [] zccs2: [],
}) });
onBeforeMount(() => { onBeforeMount(() => {
getData(); getData();
}); });
@ -227,54 +263,57 @@ const getData = () => {
if (res.code == 200) { if (res.code == 200) {
// //
// //
res.data.endowmentInsurance.ffrc.forEach(element => { res.data.endowmentInsurance.ffrc.forEach((element) => {
data.leftTop1.push(element.zgffrc) data.leftTop1.push(element.zgffrc);
data.leftTop2.push(element.cxffrc) data.leftTop2.push(element.cxffrc);
}); });
// //
res.data.endowmentInsurance.ffje.forEach(element => { res.data.endowmentInsurance.ffje.forEach((element) => {
data.leftTop3.push(element.zgffje) data.leftTop3.push(element.zgffje);
data.leftTop4.push(element.cxffje) data.leftTop4.push(element.cxffje);
}); });
// //
data.leftTopYear = res.data.endowmentInsurance.year data.leftTopYear = res.data.endowmentInsurance.year;
// //
// //
res.data.oldAgeSubsidy.btrs.forEach(element => { res.data.oldAgeSubsidy.btrs.forEach((element) => {
data.leftCenter1.push(element.ninetyNinetyEight) data.leftCenter1.push(element.ninetyNinetyEight);
data.leftCenter2.push(element.ninetyNine) data.leftCenter2.push(element.ninetyNine);
}); });
// //
res.data.oldAgeSubsidy.btje.forEach(element => { res.data.oldAgeSubsidy.btje.forEach((element) => {
data.leftCenter3.push(element.ninetyNinetyEight) data.leftCenter3.push(element.ninetyNinetyEight);
data.leftCenter4.push(element.ninetyNine) data.leftCenter4.push(element.ninetyNine);
}); });
data.leftCenterYear = res.data.oldAgeSubsidy.year data.leftCenterYear = res.data.oldAgeSubsidy.year;
// //
// //
res.data.tkdbOldAge.tkdbffrc.forEach(element => { res.data.tkdbOldAge.tkdbffrc.forEach((element) => {
data.leftbottom1.push(element.tkjzrc) data.leftbottom1.push(element.tkjzrc);
data.leftbottom2.push(element.dbjzrc) data.leftbottom2.push(element.dbjzrc);
}); });
// //
res.data.tkdbOldAge.tkdbffje.forEach(element => { res.data.tkdbOldAge.tkdbffje.forEach((element) => {
data.leftbottom3.push(element.tkjzje) data.leftbottom3.push(element.tkjzje);
data.leftbottom4.push(element.dbjzje) data.leftbottom4.push(element.dbjzje);
}); });
// //
data.leftbottomYear = res.data.tkdbOldAge.year data.leftbottomYear = res.data.tkdbOldAge.year;
// //
res.data.familyPlanning.familyPlanningData.forEach(element => { res.data.familyPlanning.familyPlanningData.forEach((element) => {
data.centerBottom1.push(element.jhsyrs) // data.centerBottom1.push(element.jhsyrs); //
data.centerBottom2.push(element.jhsybtje) // data.centerBottom2.push(element.jhsybtje); //
}); });
// //
data.centerBottomYear = res.data.familyPlanning.year data.centerBottomYear = res.data.familyPlanning.year;
//
data.yljgzlzx.yljg = res.data.yljgzlzx.yljg;
data.yljgzlzx.zlzx = res.data.yljgzlzx.zlzx;
// //
// //
res.data.zlfw.xzzccs.forEach(element => { res.data.zlfw.xzzccs.forEach((element) => {
data.zccs1.push(element.xzjd) // data.zccs1.push(element.xzjd); //
data.zccs2.push(element.zccs) // data.zccs2.push(element.zccs); //
}); });
} }
}); });