2025-10-21 13:46:32 +08:00
|
|
|
let table, layer, form, laydate;
|
2025-10-18 16:58:04 +08:00
|
|
|
let fontSize = "14",
|
|
|
|
|
fontFamily = "Alibaba PuHuiTi R",
|
|
|
|
|
fontColor = "#fff";
|
2025-10-17 14:57:09 +08:00
|
|
|
|
2025-10-21 13:46:32 +08:00
|
|
|
layui.use(["layer", "table", "form", "laydate"], function () {
|
2025-10-17 14:57:09 +08:00
|
|
|
layer = layui.layer;
|
|
|
|
|
table = layui.table;
|
|
|
|
|
form = layui.form;
|
|
|
|
|
|
2025-10-21 13:46:32 +08:00
|
|
|
laydate = layui.laydate;
|
|
|
|
|
laydate.render({
|
|
|
|
|
elem: "#ID-laydate-rangeLinked",
|
|
|
|
|
range: ["#ID-laydate-start-date-1", "#ID-laydate-end-date-1"],
|
|
|
|
|
rangeLinked: true, // 开启日期范围选择时的区间联动标注模式 --- 2.8+ 新增
|
|
|
|
|
});
|
|
|
|
|
|
2025-10-27 19:10:17 +08:00
|
|
|
$("#ID-laydate-start-date-1").val(getOneMonthAgo())
|
2025-10-21 13:46:32 +08:00
|
|
|
$("#ID-laydate-end-date-1").val(getNowTime())
|
2025-10-17 14:57:09 +08:00
|
|
|
|
2025-10-21 13:46:32 +08:00
|
|
|
let startTime = "";
|
|
|
|
|
let endTime = "";
|
|
|
|
|
if ($("#ID-laydate-start-date-1").val() != "") {
|
|
|
|
|
startTime = $("#ID-laydate-start-date-1").val();
|
|
|
|
|
endTime = $("#ID-laydate-end-date-1").val();
|
|
|
|
|
} else {
|
|
|
|
|
startTime = "";
|
|
|
|
|
endTime = "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
initData( startTime, endTime);
|
2025-10-17 14:57:09 +08:00
|
|
|
});
|
|
|
|
|
|
2025-10-21 13:46:32 +08:00
|
|
|
function query() {
|
|
|
|
|
let startTime = "";
|
|
|
|
|
let endTime = "";
|
|
|
|
|
if ($("#ID-laydate-start-date-1").val() != "") {
|
|
|
|
|
startTime = $("#ID-laydate-start-date-1").val();
|
|
|
|
|
endTime = $("#ID-laydate-end-date-1").val();
|
|
|
|
|
} else {
|
|
|
|
|
startTime = "";
|
|
|
|
|
endTime = "";
|
|
|
|
|
}
|
|
|
|
|
initData(startTime, endTime);
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-18 16:58:04 +08:00
|
|
|
|
2025-10-21 13:46:32 +08:00
|
|
|
function initData(startTime, endTime) {
|
2025-10-18 16:58:04 +08:00
|
|
|
const url = commonUrl + "screen/proSafety/selectOverallEfficiencyData";
|
|
|
|
|
|
|
|
|
|
ajaxRequest(
|
|
|
|
|
url,
|
|
|
|
|
"get",
|
|
|
|
|
{
|
2025-10-21 13:46:32 +08:00
|
|
|
startTime: startTime,
|
|
|
|
|
endTime: endTime,
|
2025-10-18 16:58:04 +08:00
|
|
|
},
|
|
|
|
|
true,
|
|
|
|
|
function () {},
|
|
|
|
|
function (result) {
|
|
|
|
|
console.log(result, "数据");
|
|
|
|
|
|
|
|
|
|
const data = result.data;
|
|
|
|
|
let weather = "";
|
|
|
|
|
let safetyAlert = "";
|
|
|
|
|
for (const key in data) {
|
|
|
|
|
switch (key) {
|
|
|
|
|
case "计划施工天数":
|
|
|
|
|
$("#planWorkDay").text(data[key] + "天");
|
|
|
|
|
break;
|
|
|
|
|
case "有效施工天数":
|
|
|
|
|
$("#effectiveWorkDay").text(data[key] + "天");
|
|
|
|
|
break;
|
|
|
|
|
case "总验收项":
|
|
|
|
|
$("#totalItems").text(data[key] + "个");
|
|
|
|
|
break;
|
|
|
|
|
case "已验收项":
|
|
|
|
|
$("#acceptedItems").text(data[key] + "个");
|
|
|
|
|
break;
|
|
|
|
|
case "验收率":
|
|
|
|
|
$("#acceptanceItemsRate").text(data[key] + "%");
|
|
|
|
|
break;
|
|
|
|
|
case "主设备试验调试一次通过率":
|
|
|
|
|
$("#firstRate").text(data[key] + "%");
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "当前进度":
|
|
|
|
|
$("#currentProgress").text(data[key]);
|
|
|
|
|
break;
|
|
|
|
|
case "计划进度":
|
|
|
|
|
$("#planProgress").text(data[key]);
|
|
|
|
|
break;
|
|
|
|
|
case "进度偏差":
|
2025-10-28 09:56:57 +08:00
|
|
|
var delayProgress = Number(data[key]);
|
|
|
|
|
if(delayProgress > 0){
|
|
|
|
|
$("#delayProgress").text("超前" + delayProgress);
|
|
|
|
|
}else{
|
|
|
|
|
$("#delayProgress").text("滞后" + Math.abs(delayProgress));
|
|
|
|
|
}
|
2025-10-18 16:58:04 +08:00
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "计划成本":
|
|
|
|
|
$("#planCost").text(data[key] + "万元");
|
|
|
|
|
break;
|
|
|
|
|
case "实际成本":
|
|
|
|
|
$("#actualCost").text(data[key] + "万元");
|
|
|
|
|
break;
|
|
|
|
|
case "缩减成本":
|
2025-10-18 17:01:25 +08:00
|
|
|
$("#reduceCost").text(data[key]);
|
2025-10-18 16:58:04 +08:00
|
|
|
break;
|
|
|
|
|
case "天气":
|
|
|
|
|
weather = data[key];
|
|
|
|
|
initEnvironmental(weather);
|
|
|
|
|
break;
|
|
|
|
|
case "安全预警":
|
|
|
|
|
safetyAlert = data[key];
|
|
|
|
|
initSafetyAlert(safetyAlert);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
function (xhr) {
|
|
|
|
|
// error(xhr);
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-17 14:57:09 +08:00
|
|
|
function getEnvironmental() {
|
|
|
|
|
let yList = [32, 58, 64, 164, 99];
|
2025-10-18 16:58:04 +08:00
|
|
|
let xData = ["学前", "小学", "初中", "高中", "qq"];
|
|
|
|
|
initEnvironmental(yList, xData);
|
2025-10-17 14:57:09 +08:00
|
|
|
}
|
|
|
|
|
|
2025-10-18 16:58:04 +08:00
|
|
|
function initEnvironmental(data) {
|
|
|
|
|
const xData = data.map((item) => item.weather);
|
|
|
|
|
const yList = data.map((item) => item.day);
|
|
|
|
|
|
2025-10-17 14:57:09 +08:00
|
|
|
let barWidth = 60;
|
2025-10-18 16:58:04 +08:00
|
|
|
let colors = [];
|
2025-10-17 14:57:09 +08:00
|
|
|
for (let i = 0; i < xData.length; i++) {
|
|
|
|
|
colors.push({
|
2025-10-18 16:58:04 +08:00
|
|
|
type: "linear",
|
2025-10-17 14:57:09 +08:00
|
|
|
x: 0,
|
|
|
|
|
x2: 1,
|
|
|
|
|
y: 0,
|
|
|
|
|
y2: 0,
|
|
|
|
|
colorStops: [
|
|
|
|
|
{
|
|
|
|
|
offset: 0,
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "#1CFFF4", // 最左边
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-10-17 14:57:09 +08:00
|
|
|
offset: 0.5,
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "#1CFFF4", // 左边的右边 颜色
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-10-17 14:57:09 +08:00
|
|
|
offset: 0.5,
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "#1CFFF4", // 右边的左边 颜色
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-10-17 14:57:09 +08:00
|
|
|
offset: 1,
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "#1CFFF4",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
});
|
2025-10-17 14:57:09 +08:00
|
|
|
}
|
|
|
|
|
const myChart = echarts.init(document.getElementById("environmental"));
|
|
|
|
|
const option = {
|
|
|
|
|
//提示框
|
|
|
|
|
tooltip: {
|
2025-10-18 16:58:04 +08:00
|
|
|
trigger: "axis",
|
2025-10-17 14:57:09 +08:00
|
|
|
formatter: "{b} : {c}",
|
2025-10-18 16:58:04 +08:00
|
|
|
axisPointer: {
|
|
|
|
|
// 坐标轴指示器,坐标轴触发有效
|
|
|
|
|
type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
|
|
|
|
|
},
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
/**区域位置*/
|
|
|
|
|
grid: {
|
2025-10-18 16:58:04 +08:00
|
|
|
left: "8%",
|
|
|
|
|
right: "3%",
|
|
|
|
|
top: "30%",
|
|
|
|
|
bottom: "30%",
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
//X轴
|
|
|
|
|
xAxis: {
|
|
|
|
|
data: xData,
|
2025-10-18 16:58:04 +08:00
|
|
|
type: "category",
|
2025-10-17 14:57:09 +08:00
|
|
|
axisLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
lineStyle: {
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "rgba(255,255,255,1)",
|
|
|
|
|
shadowColor: "rgba(255,255,255,1)",
|
|
|
|
|
shadowOffsetX: "20",
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
2025-10-18 16:58:04 +08:00
|
|
|
symbol: ["none", "arrow"],
|
|
|
|
|
symbolOffset: [0, 25],
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
splitLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisTick: {
|
2025-10-18 16:58:04 +08:00
|
|
|
show: false,
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
axisLabel: {
|
|
|
|
|
margin: 30,
|
|
|
|
|
fontSize: 15,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
yAxis: {
|
|
|
|
|
show: true,
|
|
|
|
|
splitNumber: 4,
|
|
|
|
|
axisLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
splitLine: {
|
|
|
|
|
show: true,
|
|
|
|
|
lineStyle: {
|
2025-10-18 16:58:04 +08:00
|
|
|
type: "dashed",
|
|
|
|
|
color: "#075858",
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
axisLabel: {
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "#FFFFFF",
|
2025-10-17 14:57:09 +08:00
|
|
|
margin: 8,
|
2025-10-18 16:58:04 +08:00
|
|
|
fontSize: 15,
|
|
|
|
|
},
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
2025-10-21 13:38:20 +08:00
|
|
|
"dataZoom": [{
|
|
|
|
|
"show": true,
|
|
|
|
|
"height": 12,
|
|
|
|
|
"xAxisIndex": [
|
|
|
|
|
0
|
|
|
|
|
],
|
|
|
|
|
bottom:'8%',
|
|
|
|
|
"start": 10,
|
|
|
|
|
"end": 90,
|
|
|
|
|
handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
|
|
|
|
|
handleSize: '110%',
|
|
|
|
|
handleStyle:{
|
|
|
|
|
color:"#d3dee5",
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
textStyle:{
|
|
|
|
|
color:"#fff"},
|
|
|
|
|
borderColor:"#90979c"
|
|
|
|
|
}, {
|
|
|
|
|
"type": "inside",
|
|
|
|
|
"show": true,
|
|
|
|
|
"height": 15,
|
|
|
|
|
"start": 1,
|
|
|
|
|
"end": 35
|
|
|
|
|
}],
|
2025-10-17 14:57:09 +08:00
|
|
|
series: [
|
|
|
|
|
{
|
2025-10-18 16:58:04 +08:00
|
|
|
type: "bar",
|
2025-10-17 14:57:09 +08:00
|
|
|
barWidth: barWidth,
|
|
|
|
|
itemStyle: {
|
|
|
|
|
normal: {
|
|
|
|
|
color: function (params) {
|
|
|
|
|
return colors[params.dataIndex % 7];
|
2025-10-18 16:58:04 +08:00
|
|
|
},
|
|
|
|
|
},
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
label: {
|
|
|
|
|
show: false,
|
|
|
|
|
position: [barWidth / 2, -(barWidth + 20)],
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "#ffffff",
|
2025-10-17 14:57:09 +08:00
|
|
|
fontSize: 14,
|
2025-10-18 16:58:04 +08:00
|
|
|
fontStyle: "bold",
|
|
|
|
|
align: "center",
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
2025-10-18 16:58:04 +08:00
|
|
|
data: yList,
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
z: 2,
|
2025-10-18 16:58:04 +08:00
|
|
|
type: "pictorialBar",
|
2025-10-17 14:57:09 +08:00
|
|
|
data: yList,
|
2025-10-18 16:58:04 +08:00
|
|
|
symbol: "diamond",
|
|
|
|
|
symbolOffset: [0, "50%"],
|
2025-10-17 14:57:09 +08:00
|
|
|
symbolSize: [barWidth, barWidth * 0.5],
|
|
|
|
|
itemStyle: {
|
|
|
|
|
normal: {
|
|
|
|
|
color: function (params) {
|
|
|
|
|
return colors[params.dataIndex % 7];
|
|
|
|
|
},
|
2025-10-18 16:58:04 +08:00
|
|
|
},
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
z: 3,
|
2025-10-18 16:58:04 +08:00
|
|
|
type: "pictorialBar",
|
|
|
|
|
symbolPosition: "end",
|
2025-10-17 14:57:09 +08:00
|
|
|
data: yList,
|
2025-10-18 16:58:04 +08:00
|
|
|
symbol: "diamond",
|
|
|
|
|
symbolOffset: [0, "-50%"],
|
2025-10-17 14:57:09 +08:00
|
|
|
symbolSize: [barWidth, barWidth * 0.5],
|
|
|
|
|
itemStyle: {
|
|
|
|
|
normal: {
|
|
|
|
|
borderWidth: 0,
|
|
|
|
|
color: function (params) {
|
2025-10-18 16:58:04 +08:00
|
|
|
return colors[params.dataIndex % 7].colorStops[0]
|
|
|
|
|
.color;
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
2025-10-18 16:58:04 +08:00
|
|
|
},
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
2025-10-18 16:58:04 +08:00
|
|
|
};
|
2025-10-17 14:57:09 +08:00
|
|
|
myChart.setOption(option);
|
|
|
|
|
window.addEventListener("resize", function () {
|
|
|
|
|
myChart.resize();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getSafetyAlert() {
|
|
|
|
|
let yList = [32, 58, 64, 164, 99];
|
2025-10-18 16:58:04 +08:00
|
|
|
let xData = ["学前", "小学", "初中", "高中", "qq"];
|
|
|
|
|
initSafetyAlert(yList, xData);
|
2025-10-17 14:57:09 +08:00
|
|
|
}
|
|
|
|
|
|
2025-10-18 16:58:04 +08:00
|
|
|
function initSafetyAlert(data) {
|
|
|
|
|
const xData = data.map((item) => item.name);
|
|
|
|
|
const yList = data.map((item) => item.num);
|
2025-10-17 14:57:09 +08:00
|
|
|
let barWidth = 60;
|
2025-10-18 16:58:04 +08:00
|
|
|
let colors = [];
|
2025-10-17 14:57:09 +08:00
|
|
|
for (let i = 0; i < xData.length; i++) {
|
|
|
|
|
colors.push({
|
2025-10-18 16:58:04 +08:00
|
|
|
type: "linear",
|
2025-10-17 14:57:09 +08:00
|
|
|
x: 0,
|
|
|
|
|
x2: 1,
|
|
|
|
|
y: 0,
|
|
|
|
|
y2: 0,
|
|
|
|
|
colorStops: [
|
|
|
|
|
{
|
|
|
|
|
offset: 0,
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "#1CFFF4", // 最左边
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-10-17 14:57:09 +08:00
|
|
|
offset: 0.5,
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "#1CFFF4", // 左边的右边 颜色
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-10-17 14:57:09 +08:00
|
|
|
offset: 0.5,
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "#1CFFF4", // 右边的左边 颜色
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-10-17 14:57:09 +08:00
|
|
|
offset: 1,
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "#1CFFF4",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
});
|
2025-10-17 14:57:09 +08:00
|
|
|
}
|
|
|
|
|
const myChart = echarts.init(document.getElementById("safetyAlert"));
|
|
|
|
|
const option = {
|
|
|
|
|
//提示框
|
|
|
|
|
tooltip: {
|
2025-10-18 16:58:04 +08:00
|
|
|
trigger: "axis",
|
2025-10-17 14:57:09 +08:00
|
|
|
formatter: "{b} : {c}",
|
2025-10-18 16:58:04 +08:00
|
|
|
axisPointer: {
|
|
|
|
|
// 坐标轴指示器,坐标轴触发有效
|
|
|
|
|
type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
|
|
|
|
|
},
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
/**区域位置*/
|
|
|
|
|
grid: {
|
2025-10-21 13:46:32 +08:00
|
|
|
left: "4%",
|
2025-10-18 16:58:04 +08:00
|
|
|
right: "3%",
|
|
|
|
|
top: "30%",
|
|
|
|
|
bottom: "30%",
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
//X轴
|
|
|
|
|
xAxis: {
|
|
|
|
|
data: xData,
|
2025-10-18 16:58:04 +08:00
|
|
|
type: "category",
|
2025-10-17 14:57:09 +08:00
|
|
|
axisLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
lineStyle: {
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "rgba(255,255,255,1)",
|
|
|
|
|
shadowColor: "rgba(255,255,255,1)",
|
|
|
|
|
shadowOffsetX: "20",
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
2025-10-18 16:58:04 +08:00
|
|
|
symbol: ["none", "arrow"],
|
|
|
|
|
symbolOffset: [0, 25],
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
splitLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisTick: {
|
2025-10-18 16:58:04 +08:00
|
|
|
show: false,
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
axisLabel: {
|
|
|
|
|
margin: 30,
|
|
|
|
|
fontSize: 15,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
yAxis: {
|
|
|
|
|
show: true,
|
|
|
|
|
splitNumber: 4,
|
|
|
|
|
axisLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
splitLine: {
|
|
|
|
|
show: true,
|
|
|
|
|
lineStyle: {
|
2025-10-18 16:58:04 +08:00
|
|
|
type: "dashed",
|
|
|
|
|
color: "#075858",
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
axisLabel: {
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "#FFFFFF",
|
2025-10-17 14:57:09 +08:00
|
|
|
margin: 8,
|
2025-10-18 16:58:04 +08:00
|
|
|
fontSize: 15,
|
|
|
|
|
},
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
2025-10-21 13:38:20 +08:00
|
|
|
"dataZoom": [{
|
|
|
|
|
"show": true,
|
|
|
|
|
"height": 12,
|
|
|
|
|
"xAxisIndex": [
|
|
|
|
|
0
|
|
|
|
|
],
|
|
|
|
|
bottom:'8%',
|
|
|
|
|
"start": 10,
|
|
|
|
|
"end": 90,
|
|
|
|
|
handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
|
|
|
|
|
handleSize: '110%',
|
|
|
|
|
handleStyle:{
|
|
|
|
|
color:"#d3dee5",
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
textStyle:{
|
|
|
|
|
color:"#fff"},
|
|
|
|
|
borderColor:"#90979c"
|
|
|
|
|
}, {
|
|
|
|
|
"type": "inside",
|
|
|
|
|
"show": true,
|
|
|
|
|
"height": 15,
|
|
|
|
|
"start": 1,
|
|
|
|
|
"end": 35
|
|
|
|
|
}],
|
2025-10-17 14:57:09 +08:00
|
|
|
series: [
|
|
|
|
|
{
|
2025-10-18 16:58:04 +08:00
|
|
|
type: "bar",
|
2025-10-17 14:57:09 +08:00
|
|
|
barWidth: barWidth,
|
|
|
|
|
itemStyle: {
|
|
|
|
|
normal: {
|
|
|
|
|
color: function (params) {
|
|
|
|
|
return colors[params.dataIndex % 7];
|
2025-10-18 16:58:04 +08:00
|
|
|
},
|
|
|
|
|
},
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
label: {
|
|
|
|
|
show: false,
|
|
|
|
|
position: [barWidth / 2, -(barWidth + 20)],
|
2025-10-18 16:58:04 +08:00
|
|
|
color: "#ffffff",
|
2025-10-17 14:57:09 +08:00
|
|
|
fontSize: 14,
|
2025-10-18 16:58:04 +08:00
|
|
|
fontStyle: "bold",
|
|
|
|
|
align: "center",
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
2025-10-18 16:58:04 +08:00
|
|
|
data: yList,
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
z: 2,
|
2025-10-18 16:58:04 +08:00
|
|
|
type: "pictorialBar",
|
2025-10-17 14:57:09 +08:00
|
|
|
data: yList,
|
2025-10-18 16:58:04 +08:00
|
|
|
symbol: "diamond",
|
|
|
|
|
symbolOffset: [0, "50%"],
|
2025-10-17 14:57:09 +08:00
|
|
|
symbolSize: [barWidth, barWidth * 0.5],
|
|
|
|
|
itemStyle: {
|
|
|
|
|
normal: {
|
|
|
|
|
color: function (params) {
|
|
|
|
|
return colors[params.dataIndex % 7];
|
|
|
|
|
},
|
2025-10-18 16:58:04 +08:00
|
|
|
},
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
z: 3,
|
2025-10-18 16:58:04 +08:00
|
|
|
type: "pictorialBar",
|
|
|
|
|
symbolPosition: "end",
|
2025-10-17 14:57:09 +08:00
|
|
|
data: yList,
|
2025-10-18 16:58:04 +08:00
|
|
|
symbol: "diamond",
|
|
|
|
|
symbolOffset: [0, "-50%"],
|
2025-10-17 14:57:09 +08:00
|
|
|
symbolSize: [barWidth, barWidth * 0.5],
|
|
|
|
|
itemStyle: {
|
|
|
|
|
normal: {
|
|
|
|
|
borderWidth: 0,
|
|
|
|
|
color: function (params) {
|
2025-10-18 16:58:04 +08:00
|
|
|
return colors[params.dataIndex % 7].colorStops[0]
|
|
|
|
|
.color;
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
2025-10-18 16:58:04 +08:00
|
|
|
},
|
2025-10-17 14:57:09 +08:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
2025-10-18 16:58:04 +08:00
|
|
|
};
|
2025-10-17 14:57:09 +08:00
|
|
|
myChart.setOption(option);
|
|
|
|
|
window.addEventListener("resize", function () {
|
|
|
|
|
myChart.resize();
|
|
|
|
|
});
|
|
|
|
|
}
|