软测单独项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

620 lines
15 KiB

var myChartUser = echarts.init(document.getElementById('zh-ryxxe'));
//var myChartCar = echarts.init(document.getElementById('zh-zqcl'));
var myChartLeaveCar = echarts.init(document.getElementById('zh-qjyc'));
var myChartCP = echarts.init(document.getElementById('zh-cpsd'));
var myChartKS = echarts.init(document.getElementById('zh-ryks'));
$(function () {
//chartUser();
//chartCar();
//chartAlarm();
//chartZG();
//chartCP();
//chartKS();
window.onresize = function () {
myChartUser.resize();
//myChartCar.resize();
myChartLeaveCar.resize();
myChartCP.resize();
myChartKS.resize();
};
});
var m2R2Data = [{
value: 0,
legendname: '在岗',
itemStyle: {
color: "#4da1ff"
}
},
{
value: 0,
legendname: '请休假',
itemStyle: {
color: "#ffcd31"
}
},
];
var optionUser = {
title: [{
text: 0 + '人',
subtext: '总岗数',
textStyle: {
fontSize: 40,
color: "#ff7b8c",
lineHeight: 86,
},
subtextStyle: {
fontSize: 18,
color: '#555555',
lineHeight: 10,
},
textAlign: "center",
x: '50%',
y: '30%',
itemGap: 0,
}],
tooltip: {
trigger: 'item',
formatter: function (parms) {
var str = parms.seriesName + "</br>" +
parms.marker + "" + parms.data.legendname + "</br>" +
"数量:" + parms.data.value + "</br>" +
"占比:" + parms.percent + "%";
return str;
}
},
legend: {
show: false,
type: "scroll",
orient: 'vertical',
left: '70%',
align: 'left',
top: 'middle',
textStyle: {
color: '#8C8C8C'
},
height: 250
},
series: [{
name: '标题',
type: 'pie',
center: ['50%', '46%'],
radius: ['67%', '76%'],
clockwise: false, //饼图的扇区是否是顺时针排布
avoidLabelOverlap: false,
label: {
normal: {
show: false,
position: 'outter',
formatter: function (parms) {
return parms.data.legendname
}
}
},
labelLine: {
normal: {
length: 5,
length2: 3,
smooth: true,
}
},
data: m2R2Data
}]
};
// 使用刚指定的配置项和数据显示图表。
myChartUser.setOption(optionUser);
var optionLeaveCar = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#6a7985'
}
}
},
legend: {
textStyle: {
color: '#808eb7',
},
data: ['请假次数', '用车次数']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [
{
type: 'category',
axisLine: {
lineStyle: {
color: '#808eb7',
width: 2
}
},
boundaryGap: false,
data: ['', '', '', '', '', '', ''],
axisLabel: {
interval: 0, //设置间隔为0
textStyle: {
fontSize: 10
},
rotate: 20
}
}
],
yAxis: [
{
type: 'value',
name: "次数/次",
axisLine: {
lineStyle: {
color: '#808eb7',
width: 2
}
},
splitLine: { //分割线配置
lineStyle: {
color: "#AAAAAA56",
}
},
minInterval: 1
}
],
series: [
{
name: '请假次数',
type: 'line',
areaStyle: {},
data: [0, 0, 0, 0, 0, 0, 0],
itemStyle: {
normal: { //颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0, color: '#5eaafe' // 0% 处的颜色
}, {
offset: 0.8, color: '#5eaafe' // 50% 处的颜色
}, {
offset: 1, color: '#fff' // 100% 处的颜色
}]
), //背景渐变色
lineStyle: { // 系列级个性化折线样式
width: 3,
type: 'solid',
color: "#5eaafe"
}
}
},//线条样式
symbolSize: 10
},
{
name: '用车次数',
type: 'line',
areaStyle: {},
data: [0, 0, 0, 0, 0, 0, 0],
itemStyle: {
normal: { //颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0, color: '#81d486' // 0% 处的颜色
}, {
offset: 0.5, color: '#81d486' // 50% 处的颜色
}, {
offset: 1, color: '#fff' // 100% 处的颜色
}]
), //背景渐变色
lineStyle: { // 系列级个性化折线样式
width: 3,
type: 'solid',
color: "#81d486"
}
}
},//线条样式
symbolSize: 10
}
]
};
myChartLeaveCar.setOption(optionLeaveCar);
//查铺统计
var optionCP = {
backgroundColor: "#ffffff",
"tooltip": {
"trigger": "axis",
"axisPointer": {
"type": "shadow",
textStyle: {
color: "#fff"
}
},
},
"grid": {
"borderWidth": 0,
"top": "20%",
"bottom": "10%",
"left": "8%",
"right": "2%",
textStyle: {
color: "#fff"
}
},
"legend": {
x: 'center',
top: '4%',
textStyle: {
color: '#555',
},
"data": ['实到', '缺席', '总数']
},
"calculable": true,
"xAxis": [{
"type": "category",
"axisLine": {
lineStyle: {
color: '#eceeef'
}
},
"splitLine": {
"show": false
},
"axisTick": {
"show": false
},
"splitArea": {
"show": false
},
"axisLabel": {
"interval": 0,
"textStyle": {
"fontSize": "10",
"color": "#a3adcb"
},
"rotate": 15
},
"data": [],
}],
"yAxis": [{
"type": "value",
"splitLine": {
"show": false
},
"axisLine": {
lineStyle: {
color: '#eceeef'
}
},
"axisTick": {
"show": false
},
"axisLabel": {
"interval": 0,
"textStyle": {
"fontSize": "14",
"color": "#cccccc"
}
},
"splitArea": {
"show": false
},
}],
"series": [{
"name": "实到",
"type": "bar",
"stack": "总量",
"barMaxWidth": 20,
"barGap": "10%",
"itemStyle": {
"normal": {
"color": "rgba(94,170,255,1)",
"label": {
"show": true,
"textStyle": {
"color": "#fff"
},
"position": "inside",
formatter: function (p) {
return p.value > 0 ? (p.value) : '';
}
}
}
},
"data": [
0,
0,
0,
0,
0,
0,
0
],
},
{
"name": "缺席",
"type": "bar",
"stack": "总量",
"itemStyle": {
"normal": {
"color": "rgba(129,212,133,1)",
"barBorderRadius": 0,
"label": {
"show": true,
"position": "inside",
formatter: function (p) {
return p.value > 0 ? (p.value) : '';
}
}
}
},
"data": [
0,
0,
0,
0,
0,
0,
0
]
}, {
"name": "总数",
"type": "line",
symbolSize: 8,
symbol: 'circle',
"itemStyle": {
"normal": {
"color": "rgba(255,195,0,1)",
"barBorderRadius": 0,
"label": {
"show": true,
"position": "top",
formatter: function (p) {
return p.value > 0 ? (p.value) : '';
}
}
}
},
"data": [
0,
0,
0,
0,
0,
0,
0
]
},
]
}
// 使用刚指定的配置项和数据显示图表。
myChartCP.setOption(optionCP);
//考试统计
dataks = [{
name: "≥90",
value: 0
},
{
name: "80~89",
value: 0
},
{
name: "70~79",
value: 0
},
{
name: "60~69",
value: 0
},
{
name: "≤59",
value: 0
}
];
arrName = getArrayValue(dataks, "name");
arrValue = getArrayValue(dataks, "value");
sumValue = eval(arrValue.join('+'));
objData = array2obj(dataks, "name");
optionData = getData(dataks);
function getArrayValue(array, key) {
var key = key || "value";
var res = [];
if (array) {
array.forEach(function (t) {
res.push(t[key]);
});
}
return res;
}
function array2obj(array, key) {
var resObj = {};
for (var i = 0; i < array.length; i++) {
resObj[array[i][key]] = array[i];
}
return resObj;
}
function getData(data) {
var res = {
series: [],
yAxis: []
};
for (let i = 0; i < data.length; i++) {
res.series.push({
name: '成绩',
type: 'pie',
clockWise: false, //顺时加载
hoverAnimation: false, //鼠标移入变大
radius: [75 - i * 18 + '%', 66 - i * 18 + '%'],
center: ["40%", "50%"],
label: {
show: false
},
itemStyle: {
label: {
show: false,
},
labelLine: {
show: false
},
borderWidth: 5,
},
data: [{
value: data[i].value,
name: data[i].name
}, {
value: sumValue - data[i].value,
name: '',
itemStyle: {
color: "rgba(0,0,0,0)",
borderWidth: 0
},
tooltip: {
show: false
},
hoverAnimation: false
}]
});
res.series.push({
name: '',
type: 'pie',
silent: true,
z: 1,
clockWise: false, //顺时加载
hoverAnimation: false, //鼠标移入变大
radius: [75 - i * 18 + '%', 66 - i * 18 + '%'],
center: ["40%", "50%"],
label: {
show: false
},
itemStyle: {
label: {
show: false,
},
labelLine: {
show: false
},
borderWidth: 5,
},
data: [{
value: 7.5,
itemStyle: {
color: "#E3F0FF",
borderWidth: 0
},
tooltip: {
show: false
},
hoverAnimation: false
}, {
value: 2.5,
name: '',
itemStyle: {
color: "rgba(0,0,0,0)",
borderWidth: 0
},
tooltip: {
show: false
},
hoverAnimation: false
}]
});
if (sumValue==0) {
res.yAxis.push("0%");
} else {
res.yAxis.push((data[i].value / sumValue * 100).toFixed(2) + "%");
}
}
return res;
}
var optionKS = {
title: {
text: '考试成绩分布',
textStyle: {
color: '#666666'
}
},
backgroundColor: '#fff',
legend: {
show: true,
top: "top",
left: '70%',
data: arrName,
itemWidth: 30,
itemHeight: 20,
width: 50,
padding: [0, 5],
itemGap: 25,
formatter: function (name) {
return "{title|" + name + "}\n{value|" + (objData[name].value) + "人}"
},
textStyle: {
rich: {
title: {
fontSize: 10,
lineHeight: 10,
color: "rgba(0,0,0,.45)"
},
value: {
fontSize: 14,
lineHeight: 18,
color: "rgba(0,0,0,.85)"
}
}
},
},
tooltip: {
show: true,
trigger: "item",
formatter: "{a}<br>{b}:{c}({d}%)"
},
color: ['#FF8700', '#ffc300', '#00e473', '#009DFF'],
grid: {
top: '10%',
bottom: '48%',
left: "40%",
containLabel: false
},
yAxis: [{
type: 'category',
inverse: true,
axisLine: {
show: false
},
axisTick: {
show: false
},
axisLabel: {
interval: 0,
inside: true,
textStyle: {
color: "#000",
fontSize: 10,
},
show: true
},
data: optionData.yAxis
}],
xAxis: [{
show: false
}],
series: optionData.series
};
// 使用刚指定的配置项和数据显示图表。
myChartKS.setOption(optionKS);