From a3eb85e5c7d7fdb5d8e02743cc238daa85520e08 Mon Sep 17 00:00:00 2001
From: duanxiaohai <1812246227@qq.com>
Date: Mon, 17 Jun 2024 09:58:05 +0800
Subject: [PATCH] gx
---
src/view/analyze.vue | 34 +++----
src/view/echart_analyze/eP2.vue | 175 +++++++++++---------------------
2 files changed, 77 insertions(+), 132 deletions(-)
diff --git a/src/view/analyze.vue b/src/view/analyze.vue
index cd6198f..14d7d04 100644
--- a/src/view/analyze.vue
+++ b/src/view/analyze.vue
@@ -44,12 +44,7 @@
{{ item.name }}
-
+
@@ -119,7 +114,7 @@
-
+
@@ -170,38 +165,38 @@ const data = reactive({
{
name: "医保支出万元以上",
value: "11112",
- show: false,
+ show: true,
data: ["100", "120", "199", "133", "210"], //医保支出万元以上
},
{
name: "大病住院",
value: "120",
show: false,
- data: ["100", "120", "199", "133", "210"], //大病住院
+ data: ["100", "0", "199", "133", "210"], //大病住院
},
{
name: "高血压",
value: "2345",
show: false,
- data: ["100", "120", "199", "133", "210"], //高血压
+ data: ["100", "10", "199", "133", "210"], //高血压
},
{
name: "糖尿病",
value: "1241",
show: false,
- data: ["100", "120", "199", "133", "210"], //糖尿病
+ data: ["100", "120", "19", "133", "210"], //糖尿病
},
{
name: "高血脂",
value: "1414",
show: false,
- data: ["100", "120", "199", "133", "210"], //高血脂
+ data: ["100", "120", "199", "13", "210"], //高血脂
},
{
name: "高血糖",
value: "2355",
show: false,
- data: ["100", "120", "199", "133", "210"], //高血糖
+ data: ["100", "120", "199", "133", "10"], //高血糖
},
{
name: "残疾",
@@ -228,11 +223,16 @@ const data = reactive({
data: ["100", "120", "199", "133", "210"], //其他疾病
},
],
- DataViewing: {}, //数据查看
- leftCenter1: ["100", "120", "199", "133", "210"], //医保支出万元以上
- leftCenter3: ["100", "80", "199", "133", "210"], //大病住院
- leftCenter4: ["100", "120", "199", "133", "210"], //糖尿病
+ DataViewing: [
+ {
+ name: "医保支出万元以上",
+ data: ["100", "120", "199", "133", "210"], //医保支出万元以上
+ },
+ ], //数据查看
leftCenterYear: ["2019", "2020", "2021", "2022", "2023"], //年份
+ // leftCenter1: ["100", "120", "199", "133", "210"], //医保支出万元以上
+ // leftCenter3: ["100", "80", "199", "133", "210"], //大病住院
+ // leftCenter4: ["100", "120", "199", "133", "210"], //糖尿病
zccs1: ["图书馆", "交通出行", "景区"], //一码通
zccs2: ["100", "130", "220"], //一码通
diff --git a/src/view/echart_analyze/eP2.vue b/src/view/echart_analyze/eP2.vue
index b0c2c8b..5b2e008 100644
--- a/src/view/echart_analyze/eP2.vue
+++ b/src/view/echart_analyze/eP2.vue
@@ -8,7 +8,7 @@ import { onBeforeMount, reactive, ref, watch } from "vue";
import * as echarts from "echarts";
const chart = ref(); // 创建DOM引用
-
+const clear = ref(false);
const props = defineProps({
list: {
type: Array,
@@ -35,7 +35,17 @@ const props = defineProps({
},
},
});
-
+const sers = ref([
+ {
+ name: "背景",
+ type: "bar",
+ data: [],
+ showBackground: true,
+ backgroundStyle: {
+ color: "rgba(180, 180, 180, 0.2)",
+ },
+ },
+]);
const data = reactive({
list: [],
list1: [],
@@ -44,6 +54,17 @@ const data = reactive({
option: {},
bg: [],
name: [],
+ ser: [],
+ len: {
+ data: [],
+ top: "0%",
+ right: "5%",
+ textStyle: {
+ fontSize: 16,
+ color: "#ffffff",
+ },
+ },
+ formatter: "{b0}
",
});
const getOption = () => {
@@ -51,19 +72,11 @@ const getOption = () => {
tooltip: {
trigger: "axis",
padding: [20, 10, 20, 10],
- formatter: "{b0}
{a1}:{c1}
{a2}:{c2}",
- },
- legend: {
- data: data.name,
- top: "5%",
- right: "10%",
- textStyle: {
- fontSize: 16,
- color: "#ffffff",
- },
+ formatter: data.formatter,
},
+ legend: data.len,
grid: {
- top: "25%",
+ top: "35%",
left: "6%",
right: "6%",
bottom: "3%",
@@ -155,102 +168,27 @@ const getOption = () => {
},
},
],
- series: [
- {
- name: "背景",
- type: "bar",
- data: data.bg,
- showBackground: true,
- backgroundStyle: {
- color: "rgba(180, 180, 180, 0.2)",
- },
- },
- {
- yAxisIndex: 0,
- name: "大病住院",
- type: "line",
- symbol: "emptyCircle",
- symbolSize: 10,
- itemStyle: {
- borderColor: "#2468FF",
- borderWidth: 1,
- color: "#2468FF",
- },
- label: {
- show: true,
- color: "#2468FF",
- formatter: function (data) {
- return data.value;
- },
- },
-
- data: data.list1,
- },
- {
- yAxisIndex: 1,
- name: "糖尿病",
- type: "line",
- symbol: "emptyCircle",
-
- symbolSize: 10,
- itemStyle: {
- borderColor: " #00FCFF ",
- borderWidth: 1,
- color: "#00FCFF ",
- },
- label: {
- show: true,
- color: "#00FCFF",
- formatter: function (data) {
- return data.value;
- },
- },
- data: data.list2,
- },
- ],
+ series: data.ser,
};
};
const setChart = () => {
var myChart = echarts.init(chart.value);
+ if (clear.value) {
+ myChart.clear();
+ }
+
myChart.setOption(data.option);
};
-// const setChart1 = () => {
-// if (Object.keys(data.list).length !== 0) {
-// data.list1 = [];
-// data.list2 = [];
-// data.list.data.forEach((item) => {
-// // data.list1.push(item.jzrs); //救助人数
-// // data.list2.push(item.jzje); //救助金额
-// data.option.series.push();
-// });
-// data.name = [];
-// data.list.forEach((item) => {
-// data.name.push(item.name); //数据名
-// });
-// console.log(data.list, data.name, "数据名");
-// }
-// };
+
const setChart1 = () => {
- data.name = [];
- if (Object.keys(data.list).length !== 0) {
- data.list1 = [];
- data.list2 = [];
- // data.name = [];
- data.option.series = [];
- // Define background series
- data.option.series.push({
- name: "背景",
- type: "bar",
- data: data.bg,
- showBackground: true,
- backgroundStyle: {
- color: "rgba(180, 180, 180, 0.2)",
- },
- });
+ data.ser.length = 0;
+ sers.value.forEach((item) => {
+ data.ser.push(item);
+ });
+ if (data.name.length > 0) {
data.list.forEach((item) => {
- // console.log(item, "数据名111");
- data.option.series.push({
+ data.ser.push({
yAxisIndex: 0,
name: item.name,
type: "line",
@@ -268,40 +206,47 @@ const setChart1 = () => {
return data.value;
},
},
- data: [item.data],
+
+ data: item.data,
});
});
- data.list.forEach((item) => {
- data.name.push(item.name); //数据名
- });
-
- console.log(data.list, data.name, "数据名");
}
+ console.log("监听", data.ser);
+ console.log("监听1", sers.value);
};
// 监听数据
watch(
() => props.list,
(newVal, oldVal) => {
- setTimeout(() => {
+ if (newVal.length < oldVal.length) {
+ clear.value = true;
+ } else {
+ clear.value = false;
+ }
data.list = newVal;
- // console.log("救助人1", data.list);
- getOption();
+ data.name = props.list.map((item) => item.name);
+ data.len.data = data.name;
+ sers.value[0].data = data.year.map((item) => 0);
+ data.formatter = "{b0}
";
+ if (data.name.length > 0) {
+ for (let i = 1; i <= data.name.length; i++) {
+ let s1 = `{a${i}}:{c${i}}
`;
+ data.formatter += s1;
+ }
+ }
+
setChart1();
+ getOption();
setChart();
- }, 600);
}
);
// 使用生命钩子
onBeforeMount(() => {
setTimeout(() => {
data.list = props.list;
- data.list1 = props.list1;
- data.list2 = props.list2;
data.year = props.year;
- data.year.forEach(() => {
- data.bg.push(0);
- });
+ sers.value[0].data = data.year.map((item) => 0);
setChart1();
getOption();
setChart();