Vue.use(scroll) let app = new Vue({ el: "#app", data() { return { title: "内部人才市场双选服务平台", treeList: [ { name: "岗位发布", flag: false, src: "./images/humanResources/post.png", style: { top: "60%", left: "20%", backgroundImage: "url(./images/humanResources/icon_bg_blue.png)" }, onStyle: { top: "60%", left: "20%", backgroundImage: "url(./images/humanResources/iconBg_yellow.png)" } }, { name: "简历投递", flag: false, src: "./images/humanResources/notes.png", style: { top: "22%", left: "28%", backgroundImage: "url(./images/humanResources/icon_bg_blue.png)" }, onStyle: { top: "22%", left: "28%", backgroundImage: "url(./images/humanResources/iconBg_yellow.png)" } }, { name: "资格审查", flag: true, src: "./images/humanResources/qualification.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", style: { top: "22%", right: "28%", backgroundImage: "url(./images/humanResources/icon_bg_blue.png)" }, onStyle: { top: "22%", right: "28%", backgroundImage: "url(./images/humanResources/iconBg_yellow.png)" } }, { name: "录用公式", flag: false, src: "./images/humanResources/publicity.png", style: { top: "60%", right: "20%", backgroundImage: "url(./images/humanResources/icon_bg_blue.png)" }, onStyle: { top: "60%", right: "20%", backgroundImage: "url(./images/humanResources/iconBg_yellow.png)" } }, ], treeIndex: 0, config1: { waitTime: 5000, header: ["招聘单位", "招聘岗位", "招聘人数", "投递人数", "发布时间"], headerHeight: 55, columnWidth: [230, 170, 100, 100], rowNum: 10, data: [ ["西山煤电屯兰矿", '井下普工', '30', '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", }, configIndex: 1, config2: { waitTime: 2000, header: ["序号", "单位名称", "招聘岗位数"], headerHeight: 55, rowNum: 5, data: [ ["01", "西山煤电", "30个"], ["02", "山煤国际", "25个"], ["03", "汾西矿业", "20个"], ["04", "汾西矿业", "10个"], ["05", "汾西矿业", "8个"], ["06", "汾西矿业", "4个"], ], align: ["center", "center", "center", "center", "center"], headerBGC: "#69c1ff2d", oddRowBGC: "rgba(105, 193, 255, 0)", evenRowBGC: "#69c1ff21", }, 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: [90, 170, 200, ], data: [ ["", "西山煤电", "71", "3月"], ["", "汾西矿业", "1896", "3月"], ["", "霍州煤电", "847", "3月"], ["", "山煤国际", "514", "3月"], ["", "华晋焦煤", "13", "3月"], ["", "西山煤电", "71", "3月"], ["", "汾西矿业", "1896", "3月"], ["", "霍州煤电", "847", "3月"], ["", "山煤国际", "514", "3月"], ["", "华晋焦煤", "13", "3月"], ], 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, 100], rowNum: 5, data: [ ["01", '陈英', '第一洽谈室', '第一场', "2023.07.01 09:30-10:30"], ["02", '李小曼', '第一洽谈室', '第一场', "2023.07.01 09:30-10:30"], ["03", '王亮', '第一洽谈室', '第一场', "2023.07.01 09:30-10:30"], ["04", '李鑫', '第一洽谈室', '第一场', "2023.07.01 09:30-10:30"], ["05", '王伟', '第一洽谈室', '第一场', "2023.07.01 09:30-10:30"], ["06", '陈英', '第一洽谈室', '第一场', "2023.07.01 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, 100], rowNum: 5, data: [ ["01", '陈英', '第一洽谈室', '第一场', "2023.07.01 09:30-10:30"], ["02", '李小曼', '第一洽谈室', '第一场', "2023.07.01 09:30-10:30"], ["03", '王亮', '第一洽谈室', '第一场', "2023.07.01 09:30-10:30"], ["04", '李鑫', '第一洽谈室', '第一场', "2023.07.01 09:30-10:30"], ["05", '王伟', '第一洽谈室', '第一场', "2023.07.01 09:30-10:30"], ["06", '陈英', '第一洽谈室', '第一场', "2023.07.01 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, }, vitaEcharts: null } }, created() { 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: mobilizeList.x, y1: mobilizeList.y3, y2: mobilizeList.y4, y3: mobilizeList.y5 }) let rightOne = this.$refs.rightOne this.initLineRight(rightOne) let rightTwo = this.$refs.rightTwo this.initLineRight(rightTwo) let rightThree = this.$refs.rightThree this.initLineRight(rightThree) let rightFour = this.$refs.rightFour this.initLineRight(rightFour) let rightFive = this.$refs.rightFive this.initLineRight(rightFive) let c1 = this.$refs.c1 this.initRightCycle(c1) let c2 = this.$refs.c2 this.initRightCycle(c2) let c3 = this.$refs.c3 this.initRightCycle(c3) let c4 = this.$refs.c4 this.initRightCycle(c4) let c5 = this.$refs.c5 this.initRightCycle(c5) 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: '1%', y: '1%', 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 = [88]; 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 = [1287.5]; let total = 1363.88; // 数据总数 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(2)}个`; 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: "7%", bottom: "8%", right: "2%" }, xAxis: { data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], 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: [ { 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 }, 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, }); }, }, })