This commit is contained in:
duanxiaohai 2024-04-17 13:19:11 +08:00
parent 70b20669b0
commit 59c9ddd8c4
2 changed files with 466 additions and 13 deletions

View File

@ -0,0 +1,218 @@
<template>
<div ref="chart" style="width: 100%;height: calc(100% - 70px)"></div>
</template>
<script setup>
import { onMounted, reactive, ref } from "vue";
// echarts
import * as echarts from "echarts";
const chart = ref(); // DOM
const data = [20, 20, 50, 80, 70, 10, 30];
// const lineData = [150, 230, 224, 218, 135, 147, 260];
// const max = data
// .concat(lineData)
// .reduce((pre, cur) => (pre > cur ? pre : cur), 0); //
// //
const color = [
{
type: "linear",
x: 0,
x2: 0,
y: 0,
y2: 1,
colorStops: [
{
offset: 0,
color: "rgba(17, 193, 255, 1)",
},
{
offset: 0.5,
color: "rgba(17, 193, 255, 0.5)",
},
{
offset: 1,
color: "rgba(17, 193, 255, 0.20)",
},
],
},
];
const option = {
tooltip: {
trigger: "axis",
formatter: "{b0}<br/> {a0}:{c0}<br/>{a1}:{c1}",
axisPointer: {
type: "cross",
label: {
backgroundColor: "#3F82F7", //
},
},
},
legend: {
// data: ["", ""],
// top: "8%",
textStyle: {
fontSize: 12,
color: "#ffffff",
},
},
grid: {
top: "8%",
left: "5%",
right: "3%",
bottom: "0%",
containLabel: true,
color: "#ffffff",
},
calculable: true,
// color: "rgba(0, 252, 255, 1)",
color,
xAxis: [
{
type: "category",
axisLabel: {
//
textStyle: {
color: "#ffffff",
},
},
axisTick: {
show: false, //
},
data: ["东华街道", "龙洲街道","湖镇镇","詹家镇","小南海镇",],
},
{
type: "category",
show: false,
data: ["东华街道", "龙洲街道","湖镇镇","詹家镇","小南海镇",],
},
],
yAxis: [
{
type: "value",
scale: true,
// name: "/",
// max: data.length,
splitLine: {
show: false,
lineStyle: {
color: "#ffffff",
width: 1,
},
},
axisLabel: {
//
textStyle: {
color: "#ffffff",
},
},
axisLine: {
//y线
show: false,
lineStyle: {
color: "#ffffff",
width: 1,
type: "solid",
},
},
},
// {
// type: "value",
// scale: true,
// // name: "/",
// min: 0,
// max: max,
// splitLine: {//线
// show: false,
// lineStyle: {
// color: "#ffffff",
// 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),
data: data,
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",
},
],
};
// 使
onMounted(() => {
// domecharts
// var myChart = echarts.init(document.getElementById('main'));
// Vue3
var myChart = echarts.init(chart.value);
// init(); // vue3.2this
// 使
myChart.setOption(option);
// :
// window.addEventListener("resize", () => {
// myChart.resize();
// });
});
</script>
<style scoped></style>

View File

@ -7,10 +7,9 @@
</div> </div>
<div class="flex1"> <div class="flex1">
<div class="yd_title left_2"></div> <div class="yd_title left_2"></div>
</div> </div>
</div> </div>
<div class="displayFlex"> <div class="displayFlex center_bg">
<div class="flex1"> <div class="flex1">
<div class="yd_title center_1"></div> <div class="yd_title center_1"></div>
<eGraph></eGraph> <eGraph></eGraph>
@ -19,20 +18,66 @@
<div class="displayFlex right_bg"> <div class="displayFlex right_bg">
<div class="flex1"> <div class="flex1">
<div class="yd_title right_1"></div> <div class="yd_title right_1"></div>
<div class="history"> <div class="czr-sl">
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p> <div class="historyimg historyimg1">
<p>1984年获得浙江大学计算机应用专业硕士学位之后留校任教</p> <span>覆盖医疗机构数量</span>
<p>1990年获得浙江大学计算机应用专业博士学位</p> <span>22</span>
<p>1994年至1996年担任浙江大学计算机系副系主任</p> </div>
<p>1997年至2002年担任浙江大学计算机系系主任</p> <div class="historyimg historyimg2">
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p> <span>启用角色数量</span>
<span>101</span>
</div>
<!-- <img src="@/assets/eduImg/jyImg14.png" alt="" />
<img src="@/assets/eduImg/jyImg15.png" alt="" /> -->
</div>
<edCSR></edCSR>
</div>
<div class="flex11">
<div class="earlyWarning">
<div class="earlyWarning1">
<div>
<span class="green">16</span>
</div>
<img src="@/assets/eduImg/jyImg10.png" alt="" />
<div class="historyimg historyimg1">
<span>绿色预警</span>
</div>
</div>
<div class="earlyWarning1">
<div>
<span class="yellow">239</span>
</div>
<img src="@/assets/eduImg/jyImg9.png" alt="" />
<div class="historyimg historyimg2">
<span>黄色预警</span>
</div>
</div>
<div class="earlyWarning1">
<div>
<span class="red">139</span>
</div>
<img src="@/assets/eduImg/jyImg8.png" alt="" />
<div class="historyimg historyimg3">
<span>红色预警</span>
</div>
</div>
</div> </div>
</div> </div>
<div class="flex1"> <div class="flex1">
<div class="yd_title"> <div style="display: flex; justify-content: center">
<span class="text">职位</span> <div class="czr-bj">
<div class="czrBox">
<div class="situation situation1"></div>
</div> </div>
<eBubble></eBubble> <div class="czrBox">
<div class="situation situation2"></div>
</div>
<div class="czrBox">
<div class="situation situation3"></div>
</div>
</div>
</div>
<!-- <eBubble></eBubble> -->
</div> </div>
</div> </div>
</div> </div>
@ -40,6 +85,7 @@
<script setup> <script setup>
import eBubble from "./echarts_education/bubble.vue"; import eBubble from "./echarts_education/bubble.vue";
import edCSR from "./echarts_education/edCSR.vue";
// import ePie from "./echarts/pie.vue"; // import ePie from "./echarts/pie.vue";
// import ePie2 from "./echarts/pie2.vue"; // import ePie2 from "./echarts/pie2.vue";
// import eGraph from "./echarts/graph.vue"; // import eGraph from "./echarts/graph.vue";
@ -77,6 +123,15 @@ import eBubble from "./echarts_education/bubble.vue";
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }
.center_bg {
width: 582px;
box-sizing: border-box;
padding-left: 10px;
// margin-right: 28px;
background-image: url(@/assets/images/center_bg.png);
background-repeat: no-repeat;
background-size: 100% 100%;
}
.right_bg { .right_bg {
width: 642px; width: 642px;
box-sizing: border-box; box-sizing: border-box;
@ -102,7 +157,7 @@ import eBubble from "./echarts_education/bubble.vue";
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }
.right_1{ .right_1 {
background-image: url(@/assets/eduImg/title4.png); background-image: url(@/assets/eduImg/title4.png);
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
@ -349,4 +404,184 @@ import eBubble from "./echarts_education/bubble.vue";
} }
} }
} }
.yd_title {
// background-image: url(@/assets/img_04.png);
// background-repeat: no-repeat;
// background-size: 100% 100%;
box-sizing: border-box;
width: 94%;
height: 36px;
position: relative;
.text {
display: flex;
position: absolute;
font-size: 16px;
font-family: SourceHanSansCN;
font-weight: bold;
color: #ffffff;
position: absolute;
right: 5px;
top: 3px;
}
}
.mechanism {
background-image: url(@/assets/YLTitle/titleImg10.png);
background-repeat: no-repeat;
background-size: 100% 100%;
}
.czr-sl {
display: flex;
.historyimg {
width: 255px;
height: 56px;
background-repeat: no-repeat;
background-size: 100% 100%;
margin-top: 20px;
display: flex;
align-items: center;
justify-content: space-between;
padding-left: 70px;
span {
font-weight: 400;
font-size: 16px;
color: #ffffff;
line-height: 22px;
letter-spacing: 2px;
text-align: left;
font-style: normal;
font-family: PingFangSC, PingFang SC;
padding-right: 10px;
}
}
.historyimg1 {
background-image: url(@/assets/eduImg/jyImg14.png);
margin-right: 10px;
}
.historyimg2 {
background-image: url(@/assets/eduImg/jyImg15.png);
}
}
.flex11 {
padding: 12px 0;
}
.earlyWarning {
height: calc(100% - 10px);
display: flex;
align-items: center;
justify-content: space-around;
.earlyWarning1 {
font-size: 26px;
color: #ffffff;
line-height: 30px;
letter-spacing: 1px;
text-align: center;
font-style: normal;
font-family: PangMenZhengDao;
display: flex;
flex-direction: column;
align-items: center;
img {
width: 136px;
height: 100px;
}
.green {
font-size: 26px;
font-weight: bold;
letter-spacing: 2px;
text-align: center;
font-style: normal;
font-family: DINAlternate, DINAlternate;
background-image: linear-gradient(180deg, #7be546 0%, #38ffb1 100%);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.yellow {
font-size: 26px;
font-weight: bold;
letter-spacing: 2px;
text-align: center;
font-style: normal;
font-family: DINAlternate, DINAlternate;
background-image: linear-gradient(180deg, #ee8404 0%, #efd404 100%);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.red {
font-size: 26px;
font-weight: bold;
letter-spacing: 2px;
text-align: center;
font-style: normal;
font-family: DINAlternate, DINAlternate;
background-image: linear-gradient(180deg, #ff3e00 0%, #ed5a2d 100%);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.historyimg {
width: 133px;
height: 19px;
background-repeat: no-repeat;
background-size: 100% 100%;
margin-top: 20px;
display: flex;
align-items: center;
justify-content: center;
span {
font-weight: 500;
font-size: 14px;
color: #ffffff;
letter-spacing: 4px;
font-style: normal;
font-family: PingFangSC, PingFang SC;
}
}
.historyimg1 {
background-image: url(@/assets/eduImg/jyImg4.png);
}
.historyimg2 {
background-image: url(@/assets/eduImg/jyImg6.png);
}
.historyimg3 {
background-image: url(@/assets/eduImg/jyImg5.png);
}
}
}
.czr-bj {
width: 529px;
height: calc(100% - 26px);
background: rgba(0, 103, 165, 0.18);
box-shadow: inset 0px 0px 58px 0px rgba(37, 175, 252, 0.47);
border-radius: 2px;
padding: 20px 0 0 14px;
// box-sizing: border-box;
.czrBox {
height: 8vh;
}
.situation {
width: 495px;
height: 26px;
background-repeat: no-repeat;
background-size: 100% 100%;
}
.situation1 {
background-image: url(@/assets/eduImg/jyImg11.png);
}
.situation2 {
background-image: url(@/assets/eduImg/jyImg12.png);
}
.situation3 {
background-image: url(@/assets/eduImg/jyImg13.png);
}
}
</style> </style>