Vue.use(scroll)
let app = new Vue({
el: "#app",
data() {
return {
title: "内部人才市场双选服务平台",
treeList: [
{
name: "岗位发布",
flag: true,
src: "./images/humanResources/post.png",
onSrc: "./images/humanResources/post_on.png",
style: {
top: "55%",
left: "15%",
backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
},
onStyle: {
top: "55%",
left: "15%",
backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
}
},
{
name: "简历投递",
flag: false,
src: "./images/humanResources/notes.png",
onSrc: "./images/humanResources/notes_on.png",
style: {
top: "17%",
left: "24%",
backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
},
onStyle: {
top: "17%",
left: "24%",
backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
}
},
{
name: "资格审查",
flag: false,
src: "./images/humanResources/qualification.png",
onSrc: "./images/humanResources/qualification_on.png",
style: {
top: "-80px",
left: "calc(50% - 202px)",
backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
},
onStyle: {
top: "-80px",
left: "calc(50% - 202px)",
backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
}
},
{
name: "综合测评",
flag: false,
src: "./images/humanResources/comprehensive.png",
onSrc: "./images/humanResources/comprehensive_on.png",
style: {
top: "17%",
right: "24%",
backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
},
onStyle: {
top: "17%",
right: "24%",
backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
}
},
{
name: "录用公式",
flag: false,
src: "./images/humanResources/publicity.png",
onSrc: "./images/humanResources/publicity_on.png",
style: {
top: "55%",
right: "15%",
backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
},
onStyle: {
top: "55%",
right: "15%",
backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
}
},
],
treeIndex: 0,
config1: {
waitTime: 5000,
header: ["招聘单位", "招聘岗位", "招聘人数", "投递人数", "发布时间"],
headerHeight: 55,
columnWidth: [230, 170, 100, 100],
rowNum: 10,
data: [
["西山煤电屯兰矿", '井下普工', '50', '100', "2023.07.01"],
["西山煤电斜沟煤矿", '井下钻探工', '10', '30', "2023.07.01"],
["汾西矿业高阳煤矿", '井下安全检查员', '5', '10', "2023.07.01"],
["汾西矿业柳湾煤矿", '井下设备管理员', '10', '50', "2023.07.01"],
["霍州煤电辛置煤矿", '矿井维修电工', '10', '30', "2023.07.01"],
["霍州煤电恒兴煤业", '生产调度员', '4', '10', "2023.07.01"],
["霍州煤电吕梁山煤电公司", '汽车驾驶员', '5', '10', "2023.07.01"],
["山煤国际凌志达煤业", '电工', '5', '16', "2023.07.01"],
["华晋焦煤沙曲一号煤矿", '井下普工', '40', '120', "2023.07.01"],
["山西焦化", '技术员', '2', '12', "2023.07.01"],
["汾西矿业高阳煤矿", '井下安全检查员', '5', '10', "2023.07.01"],
],
align: ["center", "center", "center", "center", "center"],
headerBGC: "#69c1ff2d",
oddRowBGC: "rgba(105, 193, 255, 0)",
evenRowBGC: "#69c1ff21",
hoverPause: false,
},
configIndex: 1,
config2: {
waitTime: 2000,
header: ["序号", "单位名称", "招聘岗位数"],
headerHeight: 55,
rowNum: 5,
data: [
["01", "西山煤电", "30个"],
["02", "山煤国际", "25个"],
["03", "汾西矿业", "20个"],
["04", "汾西矿业", "10个"],
["05", "汾西矿业", "8个"],
["01", "西山煤电", "30个"],
["02", "山煤国际", "25个"],
["03", "汾西矿业", "20个"],
["06", "汾西矿业", "4个"],
["07", "山煤国际", "4个"],
],
align: ["center", "center", "center", "center", "center"],
headerBGC: "#69c1ff2d",
oddRowBGC: "rgba(105, 193, 255, 0)",
evenRowBGC: "#69c1ff21",
carousel: 'page'
},
targetIndex: 0,
classChange: false,
listData: [{
'title': '无缝滚动第一行无缝滚动第一行',
'date': '2017-12-16'
}, {
'title': '无缝滚动第二行无缝滚动第二行',
'date': '2017-12-16'
}, {
'title': '无缝滚动第三行无缝滚动第三行',
'date': '2017-12-16'
}, {
'title': '无缝滚动第四行无缝滚动第四行',
'date': '2017-12-16'
}, {
'title': '无缝滚动第五行无缝滚动第五行',
'date': '2017-12-16'
}, {
'title': '无缝滚动第六行无缝滚动第六行',
'date': '2017-12-16'
}, {
'title': '无缝滚动第七行无缝滚动第七行',
'date': '2017-12-16'
}, {
'title': '无缝滚动第八行无缝滚动第八行',
'date': '2017-12-16'
}, {
'title': '无缝滚动第九行无缝滚动第九行',
'date': '2017-12-16'
}],
classOption: {
step: 2
},
configMark: {
waitTime: 2000,
header: ["头像", "姓名", "投递岗位", "时间"],
rowNum: 6,
headerHeight: 55,
columnWidth: [120 ],
data: [
["
", "王伟", "技术员", "2023.07.29"],
["
", "李丽丽", "井下钻探工", "2023.07.26"],
["
", "王亮", "井下钻探工", "2023.07.18"],
["
", "李星", "井下钻探工", "2023.07.11"],
["
", "韩梅", "生产调度员", "2023.07.08"],
["
", "郑凯", "生产调度员", "2023.07.01"],
["
", "吉宇晟", "技术员", "2023.06.29"],
["
", "李志桐", "技术员", "2023.07.29"],
["
", "赵建国", "井下钻探工", "2023.07.26"],
["
", "杜勇", "井下钻探工", "2023.07.18"],
],
align: ["center", "center", "center", "center", "center"],
headerBGC: "#69c1ff2d",
oddRowBGC: "rgba(105, 193, 255, 0)",
evenRowBGC: "#69c1ff21",
},
configInterview: {
waitTime: 2000,
header: ["序号", "姓名", "会议厅", "场次", "时间"],
headerHeight: 55,
columnWidth: [70, 120, 170, 200],
rowNum: 5,
data: [
["01", '陈英', '洽谈室1', '杜儿坪矿', "2023.07.01 09:30-10:30"],
["02", '李小曼', '洽谈室1', '杜儿坪矿', "2023.07.01 09:30-10:30"],
["03", '王亮', '洽谈室1', '杜儿坪矿', "2023.07.01 09:30-10:30"],
["04", '李鑫', '洽谈室1', '杜儿坪矿', "2023.07.01 09:30-10:30"],
["05", '王伟', '洽谈室1', '杜儿坪矿', "2023.07.01 09:30-10:30"],
["06", '张强', '洽谈室1', '杜儿坪矿', "2023.07.05 09:30-10:30"],
["07", '王强', '洽谈室1', '杜儿坪矿', "2023.07.05 09:30-10:30"],
["08", '程丽', '洽谈室1', '杜儿坪矿', "2023.07.05 09:30-10:30"],
["09", '韩赢', '洽谈室1', '杜儿坪矿', "2023.07.05 09:30-10:30"],
["10", '王丽', '洽谈室1', '杜儿坪矿', "2023.07.05 09:30-10:30"],
],
align: ["center", "center", "center", "center", "center"],
headerBGC: "#69c1ff2d",
oddRowBGC: "rgba(105, 193, 255, 0)",
evenRowBGC: "#69c1ff21",
},
configWritten: {
waitTime: 2000,
header: ["序号", "姓名", "会议厅", "场次", "时间"],
headerHeight: 55,
columnWidth: [70, 120, 170, 200],
rowNum: 5,
data: [
["01", '陈英', '洽谈室1', '杜儿坪矿', "2023.07.01 09:30-10:30"],
["02", '李小曼', '洽谈室1', '杜儿坪矿', "2023.07.01 09:30-10:30"],
["03", '王亮', '洽谈室1', '杜儿坪矿', "2023.07.01 09:30-10:30"],
["04", '李鑫', '洽谈室1', '杜儿坪矿', "2023.07.01 09:30-10:30"],
["05", '王伟', '洽谈室1', '杜儿坪矿', "2023.07.01 09:30-10:30"],
["06", '张强', '洽谈室1', '杜儿坪矿', "2023.07.05 09:30-10:30"],
["07", '王强', '洽谈室1', '杜儿坪矿', "2023.07.05 09:30-10:30"],
["08", '程丽', '洽谈室1', '杜儿坪矿', "2023.07.05 09:30-10:30"],
["08", '韩赢', '洽谈室1', '杜儿坪矿', "2023.07.05 09:30-10:30"],
["09", '王丽', '洽谈室1', '杜儿坪矿', "2023.07.05 09:30-10:30"],
],
align: ["center", "center", "center", "center", "center"],
headerBGC: "#69c1ff2d",
oddRowBGC: "rgba(105, 193, 255, 0)",
evenRowBGC: "#69c1ff21",
},
mainList: [
{
name: "双选场次",
value: 30,
unit: "场",
icon: "../images/humanResources/times.png"
},
{
name: "参与人数",
value: 3000,
unit: "人",
icon: "../images/humanResources/user.png"
}
],
employmentList1: {
waitTime: 5000,
header: ["序号", "姓名", "性别", "身份证号", "拟录单位"],
rowNum: 4,
headerHeight: 55,
columnWidth: [100, 100, 100, 280],
data: [
],
align: ["center", "center", "center", "center", "center"],
headerBGC: "#69c1ff2d",
oddRowBGC: "rgba(105, 193, 255, 0)",
evenRowBGC: "#69c1ff21",
hoverPause: false,
},
employmentList2: {
waitTime: 5000,
header: ["序号", "姓名", "性别", "身份证号", "拟录单位"],
rowNum: 4,
headerHeight: 55,
columnWidth: [100, 100, 100, 280],
data: [
],
align: ["center", "center", "center", "center", "center"],
headerBGC: "#69c1ff2d",
oddRowBGC: "rgba(105, 193, 255, 0)",
evenRowBGC: "#69c1ff21",
hoverPause: false,
},
typeList: {
waitTime: 2000,
header: ["单位名称", "岗位名称", "报名人数"],
rowNum: 6,
headerHeight: 55,
columnWidth: [100, 200, 400,],
data: [
["汾西矿业", "综合管理岗", "4"],
["西山煤电", "综合管理岗", "3"],
["西山煤电", "财务管理岗", "2"],
["汾西矿业", "综合管理岗", "4"],
["西山煤电", "综合管理岗", "3"],
["西山煤电", "财务管理岗", "2"],
["汾西矿业", "综合管理岗", "4"],
],
align: ["center", "center", "center", "center", "center"],
index: true,
headerBGC: "#69c1ff2d",
oddRowBGC: "rgba(105, 193, 255, 0)",
evenRowBGC: "#69c1ff21",
hoverPause: false,
},
vitaEcharts: null,
newList: [],
showMark: false,
showSelect: false,
showMonth: false,
monthList,
monthItem: "07",
timeList1: ["2022-07", "2023-07"],
timeList2: ["2022-07", "2023-07"],
from: "",
type: 0,
echartsIndex: 1,
downholeFlag: true,
markStyle: {
bottom: "4%",
right: "5%"
},
rightList: [{
name: "当前数",
flag: true,
num1: 100,
num2: 60,
num3: 60,
}, {
name: "累计数",
flag: false,
num1: 500,
num2: 400,
num3: 80,
}],
rightIndex: 0,
leftList: [{
name: "招聘岗位",
flag: true
}, {
name: "招聘岗位种类",
flag: false
}],
leftIndex: 0,
roseEcharts: null,
leftFlag: true
}
},
created() {
this.newList = listToChange(yearList, monthList)
let employmentList1 = spArr(employmentList, 5)
let arr1 = []
let arr2 = []
employmentList1.forEach((item, index) => {
if (index % 2 == 0) {
arr1.push(...item)
} else {
arr2.push(...item)
}
})
this.employmentList1.data = arr1
this.employmentList2.data = arr2
},
mounted() {
let that = this;
this.$nextTick(() => {
let vita = this.$refs.vita
this.initVitaEcharts(vita)
let pageBtm = this.$refs.pageBtm
this.initDownholeEcharts(pageBtm, { x: admissionList.x, y1: admissionList.y1, y2: admissionList.y2, y3: admissionList.y3 })
let rightOne = this.$refs.rightOne
this.initLineRight(rightOne, { value: 50, total: 118 })
let rightTwo = this.$refs.rightTwo
this.initLineRight(rightTwo, { value: 30, total: 118 })
let rightThree = this.$refs.rightThree
this.initLineRight(rightThree, { value: 20, total: 118 })
let rightFour = this.$refs.rightFour
this.initLineRight(rightFour, { value: 12, total: 118 })
let rightFive = this.$refs.rightFive
this.initLineRight(rightFive, { value: 6, total: 118 })
let c1 = this.$refs.c1
this.initRightCycle(c1, 40)
let c2 = this.$refs.c2
this.initRightCycle(c2, 25)
let c3 = this.$refs.c3
this.initRightCycle(c3, 20)
let c4 = this.$refs.c4
this.initRightCycle(c4, 10)
let c5 = this.$refs.c5
this.initRightCycle(c5, 5)
setTimeout(() => {
let itemContent = document.getElementById("itemContent")
let target = itemContent.getElementsByClassName("row-item")
let targetList = target.item(0)
targetList.style.background = "#302e2d50"
targetList.style.color = "#E1AF27"
}, 0)
setTimeout(() => {
that.classChange = true
}, 5000);
setInterval(() => {
let that = this
that.treeList.forEach(item => {
item.flag = false
})
if (that.treeIndex > that.treeList.length - 1) {
that.treeIndex = 0
that.treeList[that.treeIndex].flag = true
} else {
that.treeList[that.treeIndex].flag = true
that.treeIndex = that.treeIndex + 1
}
}, 2000)
// setInterval(()=>{
// if(that.configIndex > that.config1.data.length - 1){
// console.log("最后一条");
// that.configIndex = 0
// console.log(that.config1.data[that.configIndex]);
// return
// } else {
// console.log(that.config1.data[that.configIndex]);
// that.configIndex = that.configIndex + 1
// return
// }
// },5000)
})
},
methods: {
initDownholeEcharts(el, data) {
this.downhole = echarts.init(el);
let series = []
let grid = {
top: "15%",
bottom: 50,//也可设置left和right设置距离来控制图表的大小
left: "3%",
right: "1%"
}
option = {
tooltip: {
show: true,
trigger: 'axis',
textStyle: {
fontSize: 30,
color: '#A3E2F4'
},
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid,
legend: {
data: ["招聘人数", "报名人数", "录用人数"],
align: 'left',
itemGap: 50,
right: 500,
y: '2%',
icon: 'rect',
textStyle: {
color: "#fff",
fontSize: 30
}
},
xAxis: {
axisTick: {
show: false,
},
axisLine: {
show: false,
},
axisLabel: {
interval: 0,
show: true,
fontSize: 30,
textStyle: {
color: "#fff" //X轴文字颜色
},
},
data: data.x,
},
yAxis: {
type: "value",
name: "人",
gridIndex: 0,
// splitNumber: 4,
splitLine: {
show: false,
lineStyle: {
color: '#A3C0DF',
width: 1
},
},
nameTextStyle: {
fontSize: 30,
},
axisTick: {
show: false
},
axisLine: {
show: false,
lineStyle: {
color: '#A3C0DF'
}
},
axisLabel: {
show: true,
margin: 14,
fontSize: 28,
textStyle: {
color: "#fff" //X轴文字颜色
}
},
},
series: [{
type: 'bar',
name: "招聘人数",
barWidth: 26,
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 1,
color: '#40A9FF',
},
{
offset: 0,
color: '#082049',
},
]),
},
data: data.y1,
}, {
type: 'bar',
name: "报名人数",
barWidth: 26,
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 1,
color: '#EAE179',
},
{
offset: 0,
color: '#082049',
},
]),
},
data: data.y2,
}, {
type: 'bar',
name: "录用人数",
barWidth: 26,
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 1,
color: '#6A83FF',
},
{
offset: 0,
color: '#082049',
},
]),
},
data: data.y3,
}]
};
this.downhole.setOption(option);
tools.loopShowTooltip(this.downhole, option, {
nterval: 2000,
loopSeries: true,
});
},
scrollChange(index) {
},
initRightCycle(el, data) {
var getvalue = [data];
let chat = echarts.init(el)
option = {
title: {
text: getvalue + '%',
textStyle: {
color: '#fff',
fontSize: 20
},
itemGap: 20,
left: '55%',
top: '38%'
},
// tooltip: {
// formatter: function (params) {
// return '综合得分:' + getvalue + '分';
// }
// },
angleAxis: {
max: 100,
clockwise: true, // 逆时针
// 隐藏刻度线
show: false
},
radiusAxis: {
type: 'category',
show: true,
axisLabel: {
show: false,
},
axisLine: {
show: false,
},
axisTick: {
show: false
},
},
polar: {
center: ['70%', '50%'],
radius: ['60%', '75%'],
// radius: '100%' //图形大小
},
series: [{
type: 'bar',
data: getvalue,
showBackground: true,
backgroundStyle: {
color: '#BDEBFF',
},
coordinateSystem: 'polar',
roundCap: true,
barWidth: 30,
itemStyle: {
normal: {
opacity: 1,
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: '#25BFFF'
}, {
offset: 1,
color: '#5284DE'
}]),
shadowBlur: 5,
shadowColor: '#2A95F9',
}
},
}]
};
chat.setOption(option)
},
initLineRight(el, data) {
let that = this;
let myChart = echarts.init(el);
let nameList = ["a"];
let valueList = [data.value];
let total = data.total; // 数据总数
var category = nameList.map((item, index) => {
return {
value: valueList[index],
itemStyle: {
color: new echarts.graphic.LinearGradient(
1,
0,
0,
1,
[
{
offset: 0,
color: "#40A9FF50",
},
{
offset: 1,
color: "#40A9FF",
},
],
false
),
},
};
});
var totalList = [];
var totalBorderList = [];
nameList.map((item, index) => {
totalList.push({
value: total,
itemStyle: {
color: "rgba(51, 147, 236, 0.29)",
},
});
totalBorderList.push({
value: total,
itemStyle: {
borderColor: "rgba(51, 147, 236, 0.29)",
color: "transparent",
},
});
});
var datas = [];
category.forEach((value) => {
datas.push(value.value);
});
option = {
// backgroundColor: 'rgb(231,238,249)',
xAxis: {
max: total,
splitLine: {
show: false,
},
axisLine: {
show: false,
},
axisLabel: {
show: false,
},
axisTick: {
show: false,
},
},
grid: {
left: "1%",
top: 20, // 设置条形图的边距
right: "20%",
bottom: 20,
},
yAxis: [
{
type: "category",
inverse: false,
data: nameList,
axisLine: {
show: false,
},
axisTick: {
show: false,
},
axisLabel: {
show: false,
},
},
],
series: [
{
// 内
type: "bar",
barWidth: 16,
barGap: "20%",
silent: true,
// label: {
// normal: {
// formatter: (item) => {
// return `${item['name']}:${item['value']} `;
// },
// textStyle: {
// color: 'rgba(105, 120, 136, 1)',
// fontSize: 14,
// },
// position: [0, '-25px'],
// show: true,
// },
// },
data: category,
z: 1,
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
1,
0,
0,
1,
[
{
offset: 0,
color: "rgba(81, 193, 156, 1)",
},
{
offset: 1,
color: "rgba(234, 177, 100, 1)",
},
],
false
),
},
},
animationEasing: "elasticOut",
},
{
// 分隔
type: "pictorialBar",
itemStyle: {
normal: {
color: "#143362",
},
},
symbolRepeat: "fixed",
symbolMargin: 8,
symbol: "rect",
symbolClip: false,
symbolSize: [4, 20],
symbolPosition: "start",
symbolOffset: [0, -2],
symbolBoundingData: total,
data: [total, total, total, total],
z: 2,
animationEasing: "elasticOut",
},
{
// label
type: "pictorialBar",
symbolBoundingData: total,
itemStyle: {
normal: {
color: "none",
},
},
label: {
normal: {
formatter: (params) => {
var text;
text = `${((params["data"] * 100) / total).toFixed(0)}人`;
return text;
},
textStyle: {
// 图列内容样式
fontSize: "30",
fontWeight: 800,
},
position: "right",
offset: [0, -3],
distance: 10, // 向右偏移位置
show: true,
color: "#FFF",
},
},
data: datas,
z: 0,
},
{
name: "外框",
type: "bar",
barGap: "-130%", // 设置外框粗细
data: totalBorderList,
barWidth: 26,
itemStyle: {
normal: {
// barBorderRadius: [5, 5, 5, 5],
borderWidth: 1, // 边框宽度
borderColor: "rgb(51, 147, 236)", // 边框色
color: "rgb(231,238,249)",
},
},
z: 0,
},
],
};
//轮播
// tools.loopShowTooltip(leftEcharts1, option, {
// interval: 2000,
// loopSeries: true,
// });
//注册
myChart.setOption(option);
},
initVitaEcharts(el, data) {
this.vitaEcharts = echarts.init(el)
option = {
tooltip: {
show: true,
trigger: 'axis',
textStyle: {
fontSize: 30,
color: '#A3E2F4'
},
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
},
formatter: "{a} : {c}份"
},
animation: true,
grid: {
top: "12%",
bottom: "8%",
right: "2%"
},
xAxis: {
data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
axisLine: {
show: false //隐藏X轴轴线
},
axisTick: {
show: false //隐藏X轴轴线
},
splitLine: {
show: false,
lineStyle: {
color: "rgba(77, 128, 254, 0.2)",
width: 2
}
},
axisLabel: {
show: true,
interval: 0,
fontSize: 24,
textStyle: {
color: "#fff" //X轴文字颜色
}
}
},
yAxis: [
{
name:"投递/份",
type: "value",
gridIndex: 0,
min: 0,
max: 100,
interval: 25,
// splitNumber: 4,
splitLine: {
show: false,
lineStyle: {
color: "rgba(77, 128, 254, 0.2)",
width: 2
}
},
axisTick: {
show: false
},
nameTextStyle:{
fontSize: 28,
color: "#B6BFCE"
},
axisLine: {
show: false,
lineStyle: {
color: "rgba(77, 128, 254, 0.2)"
}
},
axisLabel: {
show: true,
margin: 14,
fontSize: 26,
textStyle: {
color: "#65D5FF"
}
}
}
],
series: [
{
name: "简历投递数",
type: "bar",
barWidth: 16,
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 1,
color: "#004E8E"
},
{
offset: 0,
color: "#40A9FF"
}
])
}
},
data: [21, 43, 56, 32, 64, 21, 43, 56, 32, 64, 21, 43],
z: 10,
zlevel: 0
},
{
// 分隔
type: "pictorialBar",
itemStyle: {
normal: {
color: "#0F375F"
}
},
symbolRepeat: "fixed",
symbolMargin: 6,
symbol: "rect",
symbolClip: true,
symbolSize: [18, 2],
symbolPosition: "start",
symbolOffset: [1, 1],
data: [21, 43, 56, 32, 64, 21, 43, 56, 32, 64, 21, 43],
width: 2,
z: 0,
zlevel: 1
},
{
name: "外框",
type: "bar",
barGap: "-110%", // 设置外框粗细
data: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
barWidth: 16,
itemStyle: {
normal: {
color: "transparent", // 填充色
// barBorderRadius: 0, //圆角半径
label: {
// 标签显示位置
show: false,
position: "top" // insideTop 或者横向的 insideLeft
}
}
},
z: 0
},
{
name: "背影",
type: "line",
smooth: true, //平滑曲线显示
showAllSymbol: false, //显示所有图形。
symbolSize: 0,
lineStyle: {
width: 0
},
areaStyle: {
color: "rgba(0, 151, 251, 0.1)"
},
data: [21, 43, 56, 32, 64, 21, 43, 56, 32, 64, 21, 43],
z: 5
}
],
dataZoom: [
{
type: "slider",
show: false,
xAxisIndex: [0],
endValue: 12,
startValue: 0
}
]
}
this.vitaEcharts.setOption(option)
tools.loopShowTooltip(this.vitaEcharts, option, {
nterval: 2000,
loopSeries: true,
});
},
initRoseEcharts(el, myData = {
number: ['10', '13', '20'],
titlename: ["地面", "辅助", "一线"],
}) {
this.roseEcharts = echarts.init(el)
var colorArr = ["#218de0", "#01cbb3", "#85e647", "#5d5cda", "#f6d54a", "#f845f1"];
var colorAlpha = ['rgba(60,170,211,0.05)', 'rgba(1,203,179,0.05)', 'rgba(133,230,71,0.05)', 'rgba(93,92,218,0.05)', 'rgba(5,197,176,0.05)', 'rgba(194,153,39,0.05)'];
var myProperty = {
titlefontsize: 30,
polarradius: '60%',
pieradius: '60%',
length1: 10,
length2: 55,
};
var data = [];
var total = 0;
for (var i = 0; i < myData.number.length; i++) {
total += (Number)(myData.number[i]);
}
for (let index = 0; index < myData.titlename.length; index++) {
data.push({
value: myData.number[index],
name: myData.titlename[index],
itemStyle: {
normal: {
borderColor: colorArr[index],
borderWidth: 2,
shadowBlur: 20,
shadowColor: colorArr[index],
shadowOffsetx: 25,
shadowOffsety: 20,
color: colorAlpha[index]
}
},
label: {
normal: {
formatter: ['{b|{b}: {c}个}', '{d| {d}%}'].join('\n'), //join函数将数组中的元素用选择的分隔符拼接成一个字符串
rich: {
b: {
color: colorArr[index],
fontSize: myProperty.titlefontsize,
lineHeight: 20
},
d: {
color: '#d0fffc',
fontSize: myProperty.titlefontsize, //手动输入的字体大小
height: 50,
align: 'center', //这里是控制文本的位置 此时是居中
},
},
}
},
})
}
option = {
grid: {
left: -100,
top: 50,
bottom: 10,
right: 10,
containLabel: true
},
tooltip: {
show: true,
trigger: 'item',
textStyle: {
fontSize: 30,
color: '#A3E2F4'
},
},
polar: {
// radius: ['0%','60%'],
//radius:[0,200]
radius: myProperty.polarradius,
},
angleAxis: {
interval: 1,
type: 'category',
data: [],
z: 10,
axisLine: {
show: false,
lineStyle: {
color: "#0B4A6B",
width: 1,
type: "solid"
},
},
axisLabel: {
interval: 0,
show: true,
color: "#0B4A6B",
margin: 8,
fontSize: 16
},
},
radiusAxis: {
min: 20,
max: 120,
interval: 20,
axisLine: {
show: false,
lineStyle: {
color: "#0B3E5E",
width: 1,
type: "solid"
},
},
axisLabel: {
formatter: '{value} %',
show: false,
padding: [0, 0, 20, 0],
color: "#0B3E5E",
fontSize: 16
},
splitLine: {
lineStyle: {
color: "#07385e",
width: 2,
type: "dashed"
}
},
},
calculable: true,
series: [{
stack: 'a',
type: 'pie',
radius: myProperty.pieradius,
roseType: 'radius',
zlevel: 10,
startAngle: 100,
labelLine: {
normal: {
show: true,
length: myProperty.length1,
length2: myProperty.length2,
lineStyle: {
color: '#0096b1'
}
},
emphasis: {
show: false
}
},
data: data,
},]
};
this.roseEcharts.setOption(option)
tools.loopShowTooltip(this.roseEcharts, option, {
nterval: 2000,
loopSeries: true,
});
},
handleClick(from, type) {
this.handleMark()
this.from = from
this.type = type
let that = this;
if (from == "timeList1" && type == 1) {
that.markStyle = {
right: "1%",
bottom: "4%"
}
} else if (from == "timeList1" && type == 0) {
that.markStyle = {
right: "5%",
bottom: "4%"
}
} else if (from == "timeList2" && type == 0) {
that.markStyle = {
right: "87%",
bottom: "43%"
}
} else if (from == "timeList2" && type == 1) {
that.markStyle = {
right: "84%",
bottom: "43%"
}
}
this.showMark = true
this.showSelect = true
},
handleMark() {
this.showMark = false
this.showSelect = false
this.showMonth = false
},
handleOption(item) {
this[this.from][this.type] = item
this.handleMark()
},
handleMonthOption(item) {
this.monthItem = item
this.handleMark()
},
handleMonth() {
this.handleMark()
this.showMark = true
this.showMonth = true
},
ortherEcharts(el, data) {
this.vitaEcharts = echarts.init(el);
option = {
tooltip: {
show: true,
trigger: 'axis',
textStyle: {
fontSize: 30,
color: '#A3E2F4'
},
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'none' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
top: '8%',
left: '1%',
right: '1%',
bottom: '8%',
containLabel: true,
},
xAxis: [{
type: 'category',
boundaryGap: false,
axisLine: { //坐标轴轴线相关设置。数学上的x轴
show: false,
lineStyle: {
color: '#233e64'
},
},
axisLabel: { //坐标轴刻度标签的相关设置
textStyle: {
color: '#fff',
fontSize: 26,
margin: 15,
},
},
axisTick: { show: false, },
data: ['6.1', '6.2', '6.3', '6.4', '6.5', '6.6', '6.7'],
}],
yAxis: [{
type: 'value',
min: 0,
max: 140,
splitLine: {
show: true,
lineStyle: {
color: '#233e64'
}
},
axisLine: { show: false, },
axisLabel: {
margin: 20,
textStyle: {
color: '#fff',
fontSize: 24,
},
},
axisTick: { show: false, },
}],
series: [{
name: '异常流量',
type: 'line',
smooth: true, //是否平滑曲线显示
symbol: 'circle', // 默认是空心圆(中间是白色的),改成实心圆
symbolSize: 0,
lineStyle: {
normal: {
color: "#3deaff" // 线条颜色
}
},
areaStyle: { //区域填充样式
normal: {
//线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ offset: 0, color: 'rgba(61,234,255, 0.9)' },
{ offset: 0.7, color: 'rgba(61,234,255, 0.1)' }
], false),
shadowColor: 'rgba(53,142,215, 0.9)', //阴影颜色
shadowBlur: 20 //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
}
},
data: [90, 105, 84, 125, 110, 92, 98]
}]
};
this.vitaEcharts.setOption(option);
tools.loopShowTooltip(this.vitaEcharts, option, {
nterval: 2000,
loopSeries: true,
});
},
hanleIcon() {
this.vitaEcharts.dispose()
this.downholeFlag = !this.downholeFlag
if (this.downholeFlag) {
setTimeout(() => {
let vita = this.$refs.vita
console.log(vita);
this.initVitaEcharts(vita)
})
}
// if (this.echartsIndex == 1) {
// this.ortherEcharts(vita)
// this.echartsIndex = 2
// } else {
// this.echartsIndex = 1
// }
console.log(12312132132);
},
handleChangeType(type, index) {
let that = this;
if (type) {
that.rightList.forEach(item => {
item.flag = false
})
that.rightList[index].flag = true
that.rightIndex = index
} else {
that.leftList.forEach(item => {
item.flag = false
})
that.leftList[index].flag = true
that.leftIndex = index
if (index == 0) {
that.leftFlag = true
} else {
that.leftFlag = false
setTimeout(() => {
let leftChange = that.$refs.leftChange
console.log(leftChange);
that.initRoseEcharts(leftChange)
})
}
}
},
},
})