This commit is contained in:
parent
9f42dbaee3
commit
254e051b6a
|
@ -0,0 +1,281 @@
|
|||
<template>
|
||||
<div ref="chart" style="width: 100%; height: 300px"></div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { onMounted, reactive, ref } from "vue";
|
||||
import * as echarts from "echarts";
|
||||
|
||||
const chart = ref(); // 创建DOM引用
|
||||
const data = [150, 230, 224, 218, 135, 147];
|
||||
const data1 = ["2019年", "2020年", "2021年", "2022年", "2023年", "2024年"];
|
||||
const data2 = [
|
||||
"10000人",
|
||||
"14000人",
|
||||
"23000人",
|
||||
"10000人",
|
||||
"13200人",
|
||||
"10000人",
|
||||
];
|
||||
|
||||
// const max = data.concat(lineData).reduce((pre, cur) => (pre > cur ? pre : cur), 0); //找到这个新数组中的最大值
|
||||
const option = {
|
||||
// color,
|
||||
// calculable: true,
|
||||
grid: {
|
||||
top: "6%",
|
||||
left: "9%",
|
||||
right: "10%",
|
||||
bottom: "0%",
|
||||
containLabel: false, //---grid 区域是否包含坐标轴的刻度标签
|
||||
},
|
||||
tooltip: {
|
||||
show: true, //---是否显示提示框,默认为true
|
||||
trigger: "axis",
|
||||
formatter: "{b0}:{c0}",
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: "value",
|
||||
scale: false,
|
||||
axisLabel: {
|
||||
//坐标轴分割线
|
||||
show: false,
|
||||
textStyle: {
|
||||
color: "#ffffff",
|
||||
},
|
||||
},
|
||||
axisLine: {
|
||||
//y轴线的颜色以及宽度
|
||||
show: false // 取消x轴线
|
||||
},
|
||||
splitLine: {
|
||||
show: false,//---grid 区域中的分隔线
|
||||
},
|
||||
axisTick: {
|
||||
show: false, // 设置轴刻度不显示
|
||||
},
|
||||
// data: ["2019", "2019", "2019", "2019", "2019", "2019", "2019"],
|
||||
},
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: "category",
|
||||
scale: true,
|
||||
// name: "时长/小时",
|
||||
// max: data.length,
|
||||
splitLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#ffffff",
|
||||
width: 1,
|
||||
},
|
||||
},
|
||||
axisTick: {
|
||||
show: false, // 设置轴刻度不显示
|
||||
},
|
||||
axisLabel: {
|
||||
//y轴文字的配置
|
||||
textStyle: {
|
||||
color: "#ffffff",
|
||||
},
|
||||
},
|
||||
axisLine: {
|
||||
//分割线配置
|
||||
show: false,
|
||||
// lineStyle: {
|
||||
// color: "#ffffff",
|
||||
// width: 1,
|
||||
// type: "solid",
|
||||
// },
|
||||
},
|
||||
data: data1,
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
show: true,
|
||||
position: "right",
|
||||
axisLine: {
|
||||
//---坐标轴 轴线
|
||||
show: false // 取消轴线
|
||||
},
|
||||
axisLabel: {
|
||||
//---坐标轴 标签
|
||||
textStyle: {
|
||||
color: "#ffffff",
|
||||
},
|
||||
},
|
||||
axisTick: {
|
||||
show: false, // 设置轴刻度不显示
|
||||
},
|
||||
data: data2,
|
||||
},
|
||||
],
|
||||
series: [
|
||||
{
|
||||
type: "bar",
|
||||
data: data,
|
||||
barWidth: 5, //柱宽
|
||||
barGap: 0.3 /*多个并排柱子设置柱子之间的间距*/,
|
||||
// itemStyle: {
|
||||
// normal: {
|
||||
// // borderWidth: 1,
|
||||
// // borderColor: "rgba(0, 183, 255, 1)",
|
||||
// // borderRadius: [0, 0, 50, 0], //圆角边框
|
||||
// color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [
|
||||
// { offset: 0, color: "rgba(26, 255, 217, 0)" },
|
||||
// { offset: 1, color: "rgba(0, 183, 255, 1)" },
|
||||
// ]),
|
||||
// // color: [{new echarts.graphic.LinearGradient(0, 0, 1, 0, [
|
||||
// // { offset: 0, color: "rgba(26, 255, 217, 0)" },
|
||||
// // { offset: 1, color: "rgba(0, 230, 255, 1)" },
|
||||
// // ])},
|
||||
// // {new echarts.graphic.LinearGradient(0, 0, 1, 0, [
|
||||
// // { offset: 0, color: "rgba(26, 255, 217, 0)" },
|
||||
// // { offset: 1, color: "rgba(0, 255, 208,1)" },
|
||||
// // ])},
|
||||
// // {new echarts.graphic.LinearGradient(0, 0, 1, 0, [
|
||||
// // { offset: 0, color: "rgba(26, 255, 217, 0)" },
|
||||
// // { offset: 1, color: "rgba(255, 234, 90, 1)" },
|
||||
// // ])},
|
||||
// // ],
|
||||
// },
|
||||
// },
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: function (params) {
|
||||
let colorList = [
|
||||
["rgba(0, 230, 255, 1)", "rgba(0, 230, 255, 0.2)"],
|
||||
["rgba(0, 255, 208,1)", "rgba(0, 255, 208, 0.20)"],
|
||||
["rgba(255, 234, 90, 1)", "rgba(255, 234, 90, 0.20)"],
|
||||
];
|
||||
if (params.dataIndex == 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 % 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,
|
||||
color: "rgba(255, 243, 119, 1)",
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: "rgba(255, 242, 142, 0.20)",
|
||||
},
|
||||
],
|
||||
false
|
||||
);
|
||||
} else {
|
||||
return new echarts.graphic.LinearGradient(
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, //y->y2
|
||||
[
|
||||
{
|
||||
offset: 0,
|
||||
color: "rgba(142, 187, 255, 1)",
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: "rgba(142, 187, 255, 0.20)",
|
||||
},
|
||||
],
|
||||
false
|
||||
);
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
width: 8,
|
||||
height: 8,
|
||||
borderRadius: 1000,
|
||||
color: "rgba(0,0,0,0)",
|
||||
backgroundColor: "rgba(0, 230, 255, 1)",
|
||||
shadowColor: "#00E6FF",
|
||||
position: ["99%", -1],
|
||||
shadowBlur: 6,
|
||||
},
|
||||
},
|
||||
{
|
||||
yAxisIndex: 1,
|
||||
showBackground: true,
|
||||
barWidth: 30, //外阴影背景宽
|
||||
itemStyle: {
|
||||
color: "rgba(0, 230, 255, 0)", //外阴影背景
|
||||
},
|
||||
// data: data.map(() => data),
|
||||
data: data,
|
||||
type: "bar",
|
||||
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)",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
var myChart = echarts.init(chart.value);
|
||||
myChart.setOption(option);
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
|
@ -152,7 +152,7 @@ let option = {
|
|||
},
|
||||
},
|
||||
axisTick: {
|
||||
show: false, // 这里设置x轴刻度不显示
|
||||
show: false, // 这里设置y轴刻度不显示
|
||||
},
|
||||
//分割线配置
|
||||
splitLine: {
|
||||
|
|
|
@ -57,47 +57,7 @@
|
|||
<div class="flex1">
|
||||
<div class="yd_title center_1"></div>
|
||||
<div class="school">
|
||||
<div class="schoolaBox">
|
||||
<div class="schoola">
|
||||
<span>1,211</span>
|
||||
<span class="schoola1">学校总数</span>
|
||||
</div>
|
||||
<div class="schoola">
|
||||
<span>46,718</span> <span class="schoola1">学生总数</span>
|
||||
</div>
|
||||
<div class="schoola">
|
||||
<span>883</span> <span class="schoola1">班级总数</span>
|
||||
</div>
|
||||
<div class="schoola">
|
||||
<span>4,381</span> <span class="schoola1">教职工总数</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="schoolb">
|
||||
<div class="grade">
|
||||
<div class="schoolbs">
|
||||
<span class="spot">初中</span> <span>7</span>
|
||||
</div>
|
||||
<div class="schoolbs">
|
||||
<span class="spot">高中</span> <span>7</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grade">
|
||||
<div class="schoolbs">
|
||||
<span class="spot">小学</span> <span>7</span>
|
||||
</div>
|
||||
<div class="schoolbs">
|
||||
<span class="spot">中职</span> <span>7</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grade grade1">
|
||||
<div class="schoolbs">
|
||||
<span class="spot">幼儿园</span> <span>7</span>
|
||||
</div>
|
||||
<div class="schoolbs">
|
||||
<span class="spot">特殊教育</span> <span>7</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ePjz></ePjz>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex1">
|
||||
|
@ -106,9 +66,9 @@
|
|||
<div class="flex1">
|
||||
<div class="fundingBox">
|
||||
<div class="funding">
|
||||
<span>资助项目</span>
|
||||
<span>资助数量</span>
|
||||
<span>资助金额</span>
|
||||
<span>一卡通财政补贴</span>
|
||||
<span>金额(元)</span>
|
||||
<span>数据对比</span>
|
||||
</div>
|
||||
<div class="rolling">
|
||||
<div
|
||||
|
@ -116,8 +76,8 @@
|
|||
:key="index"
|
||||
class="fundingContent"
|
||||
>
|
||||
<span class="spot">幼儿资助</span>
|
||||
<span class="spot">379人次</span>
|
||||
<span class="spot">城乡居民最低生活保障金</span>
|
||||
<span class="spot">99,126,474</span>
|
||||
<span class="spot">70.88</span>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -180,6 +140,7 @@ import eP1 from "./echarts_work/eP1.vue";
|
|||
import eP2 from "./echarts_work/eP2.vue";
|
||||
import eP3 from "./echarts_work/eP3.vue";
|
||||
import eP4 from "./echarts_work/eP4.vue";
|
||||
import ePjz from "./echarts_work/ePjz.vue";
|
||||
const zxjz = ref(true);
|
||||
const zxjzChange = () => {
|
||||
zxjz.value = !zxjz.value;
|
||||
|
@ -910,114 +871,7 @@ onBeforeMount(() => {
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
.schoolaBox {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.schoola {
|
||||
width: 124px;
|
||||
height: 79px;
|
||||
margin-top: 20px;
|
||||
padding: 2px 0 14px 0;
|
||||
box-sizing: border-box;
|
||||
background-image: url(@/assets/eduImg/jyImg3.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
span {
|
||||
// font-weight: 500;
|
||||
// font-size: 14px;
|
||||
// color: #ffffff;
|
||||
// letter-spacing: 4px;
|
||||
// font-style: normal;
|
||||
// font-family: PingFangSC, PingFang SC;
|
||||
|
||||
font-family: DINAlternate, DINAlternate;
|
||||
// font-weight: bold;
|
||||
font-size: 23px;
|
||||
color: #ffffff;
|
||||
line-height: 30px;
|
||||
letter-spacing: 1px;
|
||||
text-shadow: 0px 0px 23px rgba(0, 52, 52, 0.5);
|
||||
text-align: center;
|
||||
font-style: normal;
|
||||
}
|
||||
.schoola1 {
|
||||
font-family: PingFangSC, PingFang SC;
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
color: #ffffff;
|
||||
line-height: 22px;
|
||||
letter-spacing: 3px;
|
||||
text-shadow: 0px 0px 4px rgba(60, 145, 249, 0.65);
|
||||
text-align: center;
|
||||
font-style: normal;
|
||||
}
|
||||
}
|
||||
.schoolb {
|
||||
width: 550px;
|
||||
height: 241px;
|
||||
// height: calc(100% - 0px);
|
||||
background-image: url(@/assets/eduImg/jyImg2.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
margin-top: 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 10px 0;
|
||||
box-sizing: border-box;
|
||||
span {
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
color: #ffffff;
|
||||
letter-spacing: 4px;
|
||||
font-style: normal;
|
||||
font-family: PingFangSC, PingFang SC;
|
||||
}
|
||||
.grade {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 36px 0 0px 18px;
|
||||
.schoolbs {
|
||||
// width: 128px;
|
||||
height: 41px;
|
||||
padding: 0px 20px 0 30px;
|
||||
background-image: url(@/assets/eduImg/jyImg1.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
}
|
||||
.spot {
|
||||
position: relative;
|
||||
margin-right: 7px;
|
||||
}
|
||||
/* 添加伪元素圆点 */
|
||||
.spot::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: -16px; /* 调整圆点的位置 */
|
||||
transform: translateY(-50%);
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
background-color: rgba(0, 230, 255, 1);
|
||||
border-radius: 50%;
|
||||
box-shadow: 0px 0px 7px 0px #00ffd3;
|
||||
filter: blur(0px);
|
||||
}
|
||||
}
|
||||
.grade1 {
|
||||
padding: 12px 110px 0 138px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
}
|
||||
.fundingBox {
|
||||
display: flex;
|
||||
|
|
Loading…
Reference in New Issue