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: "65%", left: "13%", backgroundImage: "url(./images/humanResources/icon_bg_blue.png)" }, onStyle: { top: "65%", left: "13%", backgroundImage: "url(./images/humanResources/iconBg_yellow.png)" } }, { name: "自主报名", flag: false, src: "./images/humanResources/notes.png", onSrc: "./images/humanResources/notes_on.png", style: { top: "30%", left: "22%", backgroundImage: "url(./images/humanResources/icon_bg_blue.png)" }, onStyle: { top: "30%", left: "22%", backgroundImage: "url(./images/humanResources/iconBg_yellow.png)" } }, { name: "资格审查", flag: false, src: "./images/humanResources/qualification.png", onSrc: "./images/humanResources/qualification_on.png", style: { top: "125px", left: "calc(50% - 202px)", backgroundImage: "url(./images/humanResources/icon_bg_blue.png)" }, onStyle: { top: "125px", 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: "30%", right: "22%", backgroundImage: "url(./images/humanResources/icon_bg_blue.png)" }, onStyle: { top: "30%", right: "22%", backgroundImage: "url(./images/humanResources/iconBg_yellow.png)" } }, { name: "录用公示", flag: false, src: "./images/humanResources/publicity.png", onSrc: "./images/humanResources/publicity_on.png", style: { top: "65%", right: "13%", backgroundImage: "url(./images/humanResources/icon_bg_blue.png)" }, onStyle: { top: "65%", right: "13%", backgroundImage: "url(./images/humanResources/iconBg_yellow.png)" } }, ], treeIndex: 0, rollFlag: true, config1: { waitTime: 7300, header: ["双选单位", "双选岗位", "双选人数", "报名人数", "发布时间"], headerHeight: 55, columnWidth: [230, 170], rowNum: 10, data: [ ["西山煤电屯兰矿", '井下普工', '50', '100', "2023.07.01"], ["西山煤电斜沟煤矿", '井下钻探工', '10', '30', "2023.07.01"], ["西山煤电斜沟煤矿", '井下安全检查员', '5', '10', "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: [90, 120, 170, 200], rowNum: 6, data: [ ["01", '陈英', '洽谈室1', '杜儿坪矿', "2023.08.18 09:30-10:30"], ["02", '李小曼', '洽谈室1', '杜儿坪矿', "2023.08.18 09:30-10:30"], ["03", '王亮', '洽谈室1', '柳湾煤矿', "2023.08.18 09:30-10:30"], ["04", '李鑫', '洽谈室1', '高阳煤矿', "2023.08.18 09:30-10:30"], ["05", '王杰', '洽谈室1', '柳湾煤矿', "2023.08.18 09:30-10:30"], ["06", '张强', '洽谈室1', '杜儿坪矿', "2023.08.18 09:30-10:30"], ["07", '王强', '洽谈室1', '高阳煤矿', "2023.08.19 09:30-10:30"], ["08", '程丽', '洽谈室1', '柳湾煤矿', "2023.08.19 09:30-10:30"], ["09", '韩赢', '洽谈室1', '杜儿坪矿', "2023.08.19 09:30-10:30"], ["10", '王丽', '洽谈室1', '柳湾煤矿', "2023.08.19 09:30-10:30"], ["11", '李玥', '洽谈室1', '高阳煤矿', "2023.08.19 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: [90, 120, 170, 200], rowNum: 6, data: [ ["01", '李志桐', '洽谈室1', '杜儿坪矿', "2023.08.22 09:30-10:30"], ["02", '赵建国', '洽谈室1', '柳湾煤矿', "2023.08.22 09:30-10:30"], ["03", '张耀杰', '洽谈室1', '高阳煤矿', "2023.08.22 09:30-10:30"], ["04", '崔诚', '洽谈室1', '杜儿坪矿', "2023.08.22 09:30-10:30"], ["05", '陈灵均', '洽谈室1', '杜儿坪矿', "2023.08.22 09:30-10:30"], ["06", '杜勇', '洽谈室1', '柳湾煤矿', "2023.08.23 09:30-10:30"], ["07", '李灵风', '洽谈室1', '高阳煤矿', "2023.08.23 09:30-10:30"], ["08", '卢晨', '洽谈室1', '杜儿坪矿', "2023.08.23 09:30-10:30"], ["08", '韩玉树', '洽谈室1', '柳湾煤矿', "2023.08.23 09:30-10:30"], ["09", '王杰', '洽谈室1', '杜儿坪矿', "2023.08.23 09:30-10:30"], ["10", '王灵玉', '洽谈室1', '高阳煤矿', "2023.08.23 09:30-10:30"], ["11", '王也', '洽谈室1', '杜儿坪矿', "2023.08.23 09:30-10:30"], ], align: ["center", "center", "center", "center", "center"], headerBGC: "#69c1ff2d", oddRowBGC: "rgba(105, 193, 255, 0)", evenRowBGC: "#69c1ff21", }, mainList: [{ name: "双选场次", value: 29, unit: "场", icon: "./images/humanResources/times.png" }, { name: "参与人数", value: 2957, unit: "人", icon: "./images/humanResources/user.png" } ], employmentList1: { waitTime: 2000, header: ["序号", "姓名", "性别", "身份证号", "拟录用单位"], rowNum: 5, headerHeight: 55, columnWidth: [100, 140, 100, 280], data: [], align: ["center", "center", "center", "center", "center"], headerBGC: "#69c1ff2d", oddRowBGC: "rgba(105, 193, 255, 0)", evenRowBGC: "#69c1ff21", hoverPause: false, }, employmentList2: { waitTime: 2000, header: ["序号", "姓名", "性别", "身份证号", "拟录用单位"], rowNum: 5, headerHeight: 55, columnWidth: [100, 140, 100, 280], data: [], align: ["center", "center", "center", "center", "center"], headerBGC: "#69c1ff2d", oddRowBGC: "rgba(105, 193, 255, 0)", evenRowBGC: "#69c1ff21", hoverPause: false, }, employmentList3: { waitTime: 2000, header: ["序号", "姓名", "性别", "身份证号", "拟录用单位"], rowNum: 5, headerHeight: 55, columnWidth: [50, 140, 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: [ ["汾西矿业", "综合管理岗", "40"], ["西山煤电", "综合管理岗", "35"], ["西山煤电", "财务管理岗", "30"], ["汾西矿业", "综合管理岗", "25"], ["西山煤电", "综合管理岗", "20"], ["西山煤电", "财务管理岗", "15"], ["汾西矿业", "综合管理岗", "10"], ], 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: "08", 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: 292, num2: 248, num3: "85%", }, { name: "累计数", flag: false, num1: 571, num2: 492, num3: "84%", }], rightIndex: 0, leftList: [{ name: "双选岗位", flag: true }, { name: "双选岗位类别", flag: false }], leftIndex: 0, roseEcharts: null, leftFlag: true, rollTitle: "西山煤电屯兰矿井下普工工双选公告", leftTime: null, rightTime: null, recruitInfoList: [], recruitInfoIndex: 0, vitaData: { x: ['4月', '5月', '6月', '7月', '8月', '9月'], y: [56, 32, 64, 81, 43, 13] }, isChangeList: false, imageList: ["./images/humanResources/ppt1.jpg", "", ""], imageIndex: 0, imageFlag: false, pageFlag: true, hecharts: null, leftErrorList: ["信息不完整", "信息有误", "任职条件不符", "出勤不足", "工作年限不符"], isShowList: true, isListEnd: 0, address: "西山煤电屯兰矿。", interviewIndex: 0, examinationIndex: 0, showInterview: true, // 面试 showExamination: true, //笔试 noticeList: [], noticeIndex: 0, isShowInfoList: false, recruitTypeMax: 0, recruitTypeList: [], showBigList: true, rightData: [], } }, created() { this.newList = listToChange(yearList, monthList) this.employmentList3.data = employmentList if (employmentList.length % 2 != 0) { employmentList.push([]) } employmentList.forEach((item, index) => { if (index % 2 == 0) { this.employmentList1.data.push(item) } else { this.employmentList2.data.push(item) } }) this.keyDown() let date = new Date() let year = date.getFullYear() let mouth = date.getMonth() - 1 if(mouth <= 9){ mouth = "0" + mouth } else { mouth = mouth.toString() } this.monthItem = mouth let old = (year - 1) + "-" + mouth let newT = year + "-" + mouth this.timeList1 = [old, newT] this.timeList2 = [old, newT] }, watch: { imageIndex() { let that = this if (this.imageIndex == this.imageList.length) { that.downhole.dispose() that.vitaEcharts.dispose() setTimeout(() => { let pageBtm = that.$refs.pageBtm that.initDownholeEcharts(pageBtm, { x: admissionList.x, y1: admissionList.y1, y2: admissionList.y2, y3: admissionList.y3 }) let vita = that.$refs.vita that.initVitaEcharts(vita) }) this.imageIndex = 0 this.imageFlag = false } }, }, mounted() { let that = this; this.$nextTick(() => { // 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 } else { that.treeIndex = that.treeIndex + 1 } that.treeList[that.treeIndex].flag = true }, 5000) // setInterval(()=>{ // if(that.configIndex > that.config1.data.length - 1){ // that.configIndex = 0 // return // } else { // that.configIndex = that.configIndex + 1 // return // } // },5000) }) this.leftTime = setInterval(() => { that.leftList.forEach((item, index) => { item.flag = !item.flag if (item.flag) { if (index == 0) { that.leftFlag = true } else { that.leftFlag = false setTimeout(() => { let leftChange = that.$refs.leftChange that.initThreeBig(leftChange) }) } } }) }, 15000) this.rightTime = setInterval(() => { that.rightList.forEach((item, index) => { item.flag = !item.flag if (item.flag) { that.rightIndex = index } }) }, 5000) // localEnvAppToken().then(res => { // localStorage.setItem("app_token", res.app_token) // getLocalEnvAccessToken().then(res => { // localStorage.setItem("access_token", res.access_token) // that.getPlayers() // that.getPostDetail() // that.getHalfYearDelivcv() // that.getHotDelivcv() // that.arrToListArr() // that.getDelivcvAndApply() // that.getreviewarrange() // that.getRecruitType() // that.getFailReason() // that.getQualAudits() // that.getNoticePerson() // that.getNotice() // that.getDoubleChoice() // that.getPositionAll() // setInterval(() => { // that.getreviewarrange({ // mianshi: [ // ["焦煤", "李哥", "301", "2", "2023-08-31 10:40:55.0"], // ["焦", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["焦", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["焦", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["焦", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["焦", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["焦", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["焦", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ], // bishi: [ // ["煤", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["煤", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["煤", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["煤", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["煤", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["煤", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["煤", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["煤", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ["煤", "李13哥", "311", "2", "2023-08-31 10:40:55.0"], // ], // }) // }, (1000 * 10)) // }) // }).catch(err => { this.isChangeList = true 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: 25, total: 67 }) let rightTwo = this.$refs.rightTwo this.initLineRight(rightTwo, { value: 22, total: 67 }) let rightThree = this.$refs.rightThree this.initLineRight(rightThree, { value: 10, total: 67 }) let rightFour = this.$refs.rightFour this.initLineRight(rightFour, { value: 8, total: 67 }) let rightFive = this.$refs.rightFive this.initLineRight(rightFive, { value: 2, total: 67 }) let vita = this.$refs.vita that.initVitaEcharts(vita) // that.getPostDetail() // }) }, methods: { handleClickIcon(item, index) { let that = this; if (index == 0) { if (that.showBigList) { that.configInterview.rowNum = 10 that.configWritten.rowNum = 10 that.employmentList3.rowNum = 20 that.configInterview.columnWidth = [] that.configInterview.columnWidth = [240, 320, 370,460,480] that.configWritten.columnWidth = [] that.configWritten.columnWidth = [240, 320, 370,460,480] that.employmentList3.columnWidth = [] that.employmentList3.columnWidth = [240, 320, 370,460,480] that.leftTime && clearInterval(that.leftTime) that.rightTime && clearInterval(that.rightTime) if (that.roseEcharts) { that.roseEcharts.dispose() } setTimeout(() => { that.showBigList = false }, 10) } else { that.configInterview.rowNum = 6 that.configWritten.rowNum = 6 that.configInterview.columnWidth = [90, 120, 170, 200] that.configWritten.columnWidth = [90, 120, 170, 200] that.leftFlag = true that.leftList = [{ name: "双选岗位", flag: true }, { name: "双选岗位类别", flag: false }] setTimeout(() => { that.showBigList = true that.leftTime = setInterval(() => { that.leftList.forEach((item, index) => { item.flag = !item.flag if (item.flag) { if (index == 0) { that.leftFlag = true } else { that.leftFlag = false setTimeout(() => { let leftChange = that.$refs.leftChange that.initThreeBig(leftChange) }) } } }) }, 15000) }, 10) } setTimeout(() => { if (that.showBigList) { let total = 0 that.rightData.forEach(item => { total = total + item.value }) return new Promise(() => { that.getFailReason() that.getHalfYearDelivcv() // setTimeout(() => { // let leftChange = that.$refs.leftChange // that.initThreeBig(leftChange) // let rightOne = that.$refs.rightOne // let rightTwo = that.$refs.rightTwo // let rightThree = that.$refs.rightThree // let rightFour = that.$refs.rightFour // let rightFive = that.$refs.rightFive // that.initLineRight(rightOne, { value: that.rightData[0].value, total }) // that.initLineRight(rightTwo, { value: that.rightData[1].value, total }) // that.initLineRight(rightThree, { value: that.rightData[2].value, total }) // that.initLineRight(rightFour, { value: that.rightData[3].value, total }) // that.initLineRight(rightFive, { value: that.rightData[4].value, total }) // }, 300) }) } }, 15) } }, // 监听键盘 keyDown() { let that = this; document.onkeydown = (e) => { //事件对象兼容 if (this.imageFlag) { let e1 = e || event || window.event || arguments.callee.caller.arguments[0] //键盘按键判断:左箭头-37;上箭头-38;右箭头-39;下箭头-40 if (e1 && e1.keyCode == 37) { if (that.imageIndex != 0) { that.imageIndex = that.imageIndex - 1 } } else if (e1 && e1.keyCode == 38) { // that.imageIndex = that.imageIndex - 1 if (that.imageIndex != 0) { that.imageIndex = that.imageIndex - 1 } } else if (e1 && e1.keyCode == 33) { // that.imageIndex = that.imageIndex - 1 if (that.imageIndex != 0) { that.imageIndex = that.imageIndex - 1 } } else if (e1 && e1.keyCode == 39) { that.imageIndex = that.imageIndex + 1 } else if (e1 && e1.keyCode == 40) { that.imageIndex = that.imageIndex + 1 } else if (e1 && e1.keyCode == 34) { that.imageIndex = that.imageIndex + 1 } } } }, handleChangeImage() { this.imageIndex += 1 }, fullScreen() { let docElm = document.documentElement; if (docElm.requestFullscreen) { docElm.requestFullscreen(); } else if (docElm.msRequestFullscreen) { docElm.msRequestFullscreen(); } else if (docElm.mozRequestFullScreen) { docElm.mozRequestFullScreen(); } else if (docElm.webkitRequestFullScreen) { docElm.webkitRequestFullScreen(); } this.imageFlag = true this.pageFlag = false }, initDownholeEcharts(el, data) { this.downhole = echarts.init(el); let series = [] let grid = { top: "15%", bottom: 50, //也可设置left和right设置距离来控制图表的大小 left: "3%", right: "1%" } option = { tooltip: { backgroundColor: 'rgba(0, 0, 0, 0.3)', borderColor: "rgba(0,0,0,0.5)", 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) { this.rollFlag = false; let listIndex = index if (listIndex >= this.config1.data.length) { listIndex = index - 11 } this.recruitInfoIndex = listIndex this.address = this.config1.data[listIndex][0] + "。" this.rollTitle = this.config1.data[listIndex][0] + this.config1.data[listIndex][1] + "双选公告" setTimeout(() => { this.rollFlag = true }) }, 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); }); if (total == 0) { total += 1 } 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: "40%", 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; if (total == 0) { text = `0 人 | 0%`; return text } if (params.value >= 10) { if (((params.value / total) * 100).toFixed(0) < 10) { text = `${(" " + params.value)}人 | ${(((params.value) / total) * 100).toFixed(0)}%`; } else { text = `${(params.value)}人 | ${(((params.value) / total) * 100).toFixed(0)}%`; } } else { text = `${(" " + params.value)}人 | ${(((params.value) / total) * 100).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) { let that = this; this.vitaEcharts = echarts.init(el) let dataList = [...that.vitaData.y] let max = dataList.sort(function (a, b) { return b - a })[0] let maxList = [] this.vitaData.x.forEach(item => { maxList.push(max) }) option = { tooltip: { show: true, backgroundColor: 'rgba(0, 0, 0, 0.3)', borderColor: "rgba(0,0,0,0.5)", 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: that.vitaData.x, 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: that.vitaData.y, 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: that.vitaData.y, width: 2, z: 0, zlevel: 1 }, { name: "外框", type: "bar", barGap: "-110%", // 设置外框粗细 data: maxList, 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: that.vitaData.y, 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, backgroundColor: 'rgba(0, 0, 0, 0.3)', borderColor: "rgba(0,0,0,0.5)", 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, }); }, initChartsBig(arr = [ { name: '地面', y: 10, sliced: false, selected: false, }, { name: '辅助', y: 10, sliced: false, selected: false, }, { name: '一线', y: 10, sliced: false, selected: false, }, ]) { let left5 = arr var chartData = left5 var timer = null; var i = 0; let that = this var option = { colors: [ "#D9E1F2", "#B4C6E7", "#8EA9DB", "#305496", "#203764", ], chart: { type: 'pie', backgroundColor: 'rgba(0,0,0,0)', options3d: { enabled: true, alpha: 45, //beta: 0 }, events: { // load,图表加载完成时触发 load: function () { var chart = this; var points = chart.series[0].points; var len = points.length; timer && clearInterval(timer); timer = setInterval(function () { autoTooltip(points[i]); chartData.forEach((item, index) => { item.sliced = false item.selected = false if (index == i) { item.sliced = true item.selected = true } }) chart.update({ series: [{ type: 'pie', name: '占比', data: chartData }] }) i++; if (i === len) { i = 0; chartData.forEach((item, index) => { item.sliced = false item.selected = false }) chart.update({ series: [{ type: 'pie', name: '占比', data: chartData }] }) } }, 1000); }, legendItemClick: function (event) { return true; } } }, credits: { enabled: false //去掉hightchats水印 }, legend: { align: 'right', //横向位置 verticalAlign: 'middle', // 纵向位置 layout: "vertical", //横排还是竖排 x: 10, y: 100, symbolWidth: 30, itemStyle: { fontSize: '30px', color: '#fff', x: 20, fontWeight: 0, fontFamily: 'Microsoft YaHei' }, }, title: { enabled: false, text: "", }, tooltip: { crosshairs: false, trigger: "axis", backgroundColor: 'rgba(0, 0, 0, 0.5)', borderColor: "rgba(0,0,0,0.5)", style: { fontSize: 30, color: '#A3E2F4', fontWeight: 0, }, axisPointer: { lineStyle: { color: "#ddd", }, }, formatter: function (e) { this.percentage = this.percentage.toFixed(2) //Math.round(this.percentage) return `${this.key}:${this.y}(${this.percentage}%)` }, }, plotOptions: { pie: { allowPointSelect: true, showInLegend: true, // 图例 cursor: 'pointer', size: 350, innerSize: 0, //环形图中间空白,0为饼图 depth: 80, //立体高度 slicedOffset: 40, //动画距离 dataLabels: { enabled: false, // 是否展示指示线 format: '{point.name}: {point.percentage}' } }, }, series: [{ type: 'pie', name: '占比', center: ['50%', '50%'], point: { events: { mouseOver: function (e) { //鼠标移入停止轮播并且找到移入的当前数据设为选中 chartData.forEach((item, index) => { item.sliced = false item.selected = false }) chartData[e.target.index].sliced = true chartData[e.target.index].selected = true chart.update({ series: [{ type: 'pie', name: '占比', point: { events: { click: function (e) { that.showChartLTipDouble(e.point.name) } } }, data: chartData }] }) timer && clearInterval(timer); }, mouseOut: function () { // 鼠标移出后需要继续执行轮播 var points = chart.series[0].points; var len = points.length; timer && clearInterval(timer); timer = setInterval(function () { autoTooltip(points[i]); chartData.forEach((item, index) => { item.sliced = false item.selected = false if (index == i) { item.sliced = true item.selected = true } }) chart.update({ series: [{ type: 'pie', name: '占比', data: chartData }] }) i++; if (i === len) { i = 0; chartData.forEach((item, index) => { item.sliced = false item.selected = false }) chart.update({ series: [{ type: 'pie', name: '占比', data: chartData }] }) } }, 2000); } } }, data: chartData }] } if (that.hecharts) { that.hecharts.destroy(); } that.hecharts = Highcharts.chart('echartL2', option); function autoTooltip(point) { that.hecharts.tooltip.refresh(point); } }, initThreeBig(el) { let that = this this.roseEcharts = echarts.init(el) var placeHolderStyle = { normal: { label: { show: false }, labelLine: { show: false }, color: "rgba(0,0,0,0)", borderWidth: 0 }, emphasis: { color: "rgba(0,0,0,0)", borderWidth: 0 } }; var dataStyle = { normal: { formatter: function (res) { return res.data.value }, position: 'center', show: true, textStyle: { fontSize: '35', fontWeight: 'bolder', color: '#fff' } } }; option = { title: [{ text: '地面', left: '19%', top: '70%', textAlign: 'center', textStyle: { fontWeight: 'normal', fontSize: '30', color: '#fff', textAlign: 'center', }, }, { text: '辅助', left: '49%', top: '70%', textAlign: 'center', textStyle: { color: '#fff', fontWeight: 'normal', fontSize: '30', textAlign: 'center', }, }, { text: '一线', left: '79%', top: '70%', textAlign: 'center', textStyle: { color: '#fff', fontWeight: 'normal', fontSize: '30', textAlign: 'center', }, }], series: [{ type: 'pie', hoverAnimation: false, //鼠标经过的特效 // radius: ['55%', '61%'], radius: ['45%', '50%'], center: ['20%', '50%'], startAngle: 225, labelLine: { normal: { show: false } }, label: { normal: { position: 'center' } }, data: [{ value: that.recruitTypeList[0] || 7, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#99da69' }, { offset: 1, color: '#01babc' }]), } }, label: dataStyle, }, { value: that.recruitTypeMax || 33, itemStyle: placeHolderStyle, }, ] }, { type: 'pie', hoverAnimation: false, //鼠标经过的特效 radius: ['45%', '50%'], center: ['50%', '50%'], startAngle: 225, labelLine: { normal: { show: false } }, label: { normal: { position: 'center' } }, data: [{ value: that.recruitTypeList[1] || 15, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#FBAB7E' }, { offset: 1, color: '#F7CE68' }]), } }, label: dataStyle, }, { value: that.recruitTypeMax || 33, itemStyle: placeHolderStyle, }, ] }, { type: 'pie', hoverAnimation: false, // radius: ['55%', '61%'], radius: ['45%', '50%'], center: ['80%', '50%'], startAngle: 225, labelLine: { normal: { show: false } }, label: { normal: { position: 'center' } }, data: [{ value: that.recruitTypeList[2] || 12, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#9f3edd' }, { offset: 1, color: '#4897f6' }]), } }, label: dataStyle, }, { value: that.recruitTypeMax || 33, itemStyle: placeHolderStyle, }, ] }, //外圈的边框 { // name: '总人数', type: 'pie', hoverAnimation: false, //鼠标经过的特效 radius: ['51%', '52%'], center: ['20%', '50%'], startAngle: 225, labelLine: { normal: { show: false } }, label: { normal: { position: 'center' } }, data: [{ value: 12, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#01babc' }, { offset: 1, color: '#99da69' }]), } }, }, { value: 4, itemStyle: placeHolderStyle, }, ] }, { // name: '总人数', type: 'pie', hoverAnimation: false, //鼠标经过的特效 // radius: ['61%', '62%'], radius: ['51%', '52%'], center: ['50%', '50%'], startAngle: 225, labelLine: { normal: { show: false } }, label: { normal: { position: 'center' } }, data: [{ value: 15, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#FBAB7E' }, { offset: 1, color: '#F7CE68' }]), } }, }, { value: 5, itemStyle: placeHolderStyle, }, ] }, { type: 'pie', hoverAnimation: false, // radius: ['61%', '62%'], radius: ['51%', '52%'], center: ['80%', '50%'], startAngle: 225, labelLine: { normal: { show: false } }, label: { normal: { position: 'center' } }, data: [{ value: 9, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#4897f6' }, { offset: 1, color: '#9f3edd' }]), } }, }, { value: 3, itemStyle: placeHolderStyle, }, ] }, ] }; 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() if (this.from == "timeList2") { this.getPositionAll() } if (this.from == "timeList1") { this.getDelivcvAndApply() } console.log(this.from); }, 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 this.initVitaEcharts(vita) }) } // if (this.echartsIndex == 1) { // this.ortherEcharts(vita) // this.echartsIndex = 2 // } else { // this.echartsIndex = 1 // } }, handleChangeType(type, index) { let that = this; if (type) { that.rightTime && clearInterval(that.rightTime) that.rightList.forEach(item => { item.flag = false }) that.rightList[index].flag = true that.rightIndex = index this.rightTime = setInterval(() => { that.rightList.forEach((item, index) => { item.flag = !item.flag if (item.flag) { that.rightIndex = index } }) }, 5000) } else { that.leftTime && clearInterval(that.leftTime) 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 that.initThreeBig(leftChange) }) } that.leftTime = setInterval(() => { that.leftList.forEach((item, index) => { item.flag = !item.flag if (item.flag) { if (index == 0) { that.leftFlag = true } else { that.leftFlag = false setTimeout(() => { let leftChange = that.$refs.leftChange that.initThreeBig(leftChange) }) } } }) }, 15000) } }, getPlayers() { let that = this; let data = { flag: true }; fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/Players", data).then(res => { if (res) { that.mainList[1].value = res.value } }) }, getPostDetail() { let that = this; let data = { flag: true }; fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/PostDetail", data).then(res => { let list = [] let a = [] res.data.forEach((item, index) => { list.push([item[0], item[1], item[2], item[3], item[4]]) a[index] = [] item[5].split("&").forEach(i => { let infos = i.split("\r\n") let obj = { title: infos[0], content: infos[1] } a[index].push(obj) }) }) that.config1.data = list that.recruitInfoList.push(...a) that.isShowInfoList = true 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) }) }, getHalfYearDelivcv() { let that = this; let data = { flag: true }; // fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/HalfYearDelivcv", data).then(res => { // if (res) { // let list = [] // res.forEach(item => { // if (item.key == "月份") { // // that.vitaData.x = item.value // item.value.forEach(i => { // list.push(i + "月") // }) // } // if (item.key == "数量") { // that.vitaData.y = item.value // } // }) // that.vitaData.x = list // let vita = this.$refs.vita // that.initVitaEcharts(vita) // } // }).catch(err => { let vita = this.$refs.vita that.initVitaEcharts(vita) // }) }, getHotDelivcv() { let that = this; let data = { flag: true }; fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/HotDelivcv", data).then(res => { if (res) { that.typeList.data = res.data } }) }, arrToListArr() { this.isChangeList = false let that = this; let data = { flag: true } fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/Delivcv", data).then(res => { let imageList = [] let nameList = [] let stationList = [] let timeList = [] let dataList = [] res.data.forEach(item => { if (item.key == "头像地址") { imageList.push(...item.value) } if (item.key == "姓名") { nameList.push(...item.value) } if (item.key == "投递岗位") { stationList.push(...item.value) } if (item.key == "申请时间") { timeList.push(...item.value) } }) nameList.forEach((item, index) => { dataList.push(["", item, stationList[index], timeList[index]]) }) this.configMark.data = dataList this.isChangeList = true delete imageList delete nameList delete stationList delete timeList }) }, getDelivcvAndApply() { let that = this; let data = { flag: true, data1: that.timeList1[0], data2: that.timeList1[1] }; let pageBtm = this.$refs.pageBtm fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/DelivcvAndApply", data).then(res => { if (res) { res.data.forEach(item => { if (item.key == "单位名称") { admissionList.x = item.value } if (item.key == "招聘人数") { admissionList.y1 = item.value } if (item.key == "报名人数") { admissionList.y2 = item.value } if (item.key == "录用人数") { admissionList.y3 = item.value } }) } this.initDownholeEcharts(pageBtm, { x: admissionList.x, y1: admissionList.y1, y2: admissionList.y2, y3: admissionList.y3 }) }) }, getreviewarrange(res = { mianshi: [ ["焦煤", "李大哥", "301", "2", "2023-08-31 10:40:55.0"] ], bishi: [ ["焦煤", "李大哥", "301", "2", "2023-08-31 10:40:55.0"] ], }) { let that = this; let data = { flag: true }; // fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/getreviewarrange", data).then(res => { // console.log(res); // }) if (res) { that.isRendering(res.mianshi, "interviewIndex", "configInterview", "showInterview") that.isRendering(res.bishi, "examinationIndex", "configWritten", "showExamination") } }, isRendering(data, type, key, flag) { let that = this; if (that[type] == 0) { that[key].data = data setTimeout(() => { that[flag] = true }, 10) that[type] = 1 } else { if (data[0][1] != that[key].data[0][1] || data[0][2] != that[key].data[0][2] || data[0][3] != that[key].data[0][3]) { that[flag] = false that[key].data = data setTimeout(() => { that[flag] = true }, 10) } } }, getRecruitType() { let that = this; let data = { flag: true } fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/RecruitType", data).then(res => { if (res) { res.data.forEach(item => { that.recruitTypeMax += item.value that.recruitTypeList.push(item.value) }) } }) }, getFailReason() { let that = this; let data = { flag: true }; let rightOne = this.$refs.rightOne let rightTwo = this.$refs.rightTwo let rightThree = this.$refs.rightThree let rightFour = this.$refs.rightFour let rightFive = this.$refs.rightFive // leftErrorList:["信息不完整","信息有误","任职条件不符","出勤不足","工作年限不符"] // fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/FailReason", data).then(res => { // if (res) { // let dataList = [] // let total = 0 // res.data.forEach((item, index) => { // // that.leftErrorList[index] = item[] // item.forEach(i => { // let obj = {} // if (i.key == "不通过原因") { // that.leftErrorList[index] = i.value // } // if (i.key == "不通过数量") { // obj.value = i.value // dataList[index] = obj // } // }) // }) // dataList.forEach(item => { // total = total + item.value // }) // that.rightData.push(...dataList) // that.initLineRight(rightOne, { value: dataList[0].value, total }) // that.initLineRight(rightTwo, { value: dataList[1].value, total }) // that.initLineRight(rightThree, { value: dataList[2].value, total }) // that.initLineRight(rightFour, { value: dataList[3].value, total }) // that.initLineRight(rightFive, { value: dataList[4].value, total }) // // that.initLineRight(rightOne, { value: 25, total: 67 }) // // that.initLineRight(rightTwo, { value: 22, total: 67 }) // // that.initLineRight(rightThree, { value: 10, total: 67 }) // // that.initLineRight(rightFour, { value: 8, total: 67 }) // // that.initLineRight(rightFive, { value: 2, total: 67 }) // } // }).catch(err => { that.initLineRight(rightOne, { value: 25, total: 67 }) that.initLineRight(rightTwo, { value: 22, total: 67 }) that.initLineRight(rightThree, { value: 10, total: 67 }) that.initLineRight(rightFour, { value: 8, total: 67 }) that.initLineRight(rightFive, { value: 2, total: 67 }) // }) }, getQualAudits() { let that = this; let data = { flag: true }; fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/QualAudits", data).then(res => { if (res) { res.data.forEach(item => { if (item.key == "当前总人数") { that.rightList[0].num1 = item.value } if (item.key == "通过总人数") { that.rightList[0].num2 = item.value } if (item.key == "当前通过率") { that.rightList[0].num3 = item.value } }) } }) // rightList: [{ // name: "当前数", // flag: true, // num1: 100, // num2: 60, // num3: 60, // }, { // name: "累计数", // flag: false, // num1: 500, // num2: 400, // num3: 80, // }], }, getNoticePerson(name = "张三") { let that = this; that.employmentList1.data = [] that.employmentList2.data = [] this.isShowList = false let data = { flag: true, year: "2023", month: 0 } fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/assessmentarrangement", data).then(res => { }) let res = { data: [{ "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }, { "sex": "男", "name": name, "org1": "山西焦煤西山煤电杜儿坪矿井下操作工双选公示", "cardno": "16666XXXXXXXXXXXXXXXXXXXXX99" }] } let listData = [] res.data.forEach((item, index) => { let list = [] if (index <= 8) { list.push('0' + (index + 1), item.name, item.sex, item.cardno, item.org1) } else { list.push((index + 1).toString(), item.name, item.sex, item.cardno, item.org1) } listData.push(list) }) if (listData.length % 2 != 0) { listData.push([]) } listData.forEach((item, index) => { if (index % 2 == 0) { that.employmentList1.data.push(item) } else { that.employmentList2.data.push(item) } }) // console.log(that.employmentList1.data); setTimeout(() => { that.isShowList = true }, 10) }, scrollChangeList(index) { let that = this; // setTimeout(() => { // if (index + 5 == that.employmentList1.data.length) { // that.isListEnd = that.isListEnd + 1 // if (that.isListEnd == 2) { // that.isListEnd = 0 // that.isShowList = false // that.employmentList1.data = [] // that.employmentList2.data = [] // that.noticeIndex = that.noticeIndex + 1 // if (that.noticeIndex > that.noticeList.length - 1) { // that.noticeIndex = 0 // } // that.getNoticePerson("李四是五") // setTimeout(() => { // that.isShowList = true // }, 10) // } // } // }, 1700) if (index == 0) { console.log("index == 0"); } if (index == that.employmentList1.data.length - 1) { } }, getNotice() { let that = this; let data = { flag: true }; fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/getNotice", data).then(res => { }) let res = { data: [{ mdnb_noticecontent: "   根据相关要求,经过网上报名、资格审查、笔试、面试等程序,现将拟录用人员名单予以公示。公示时间为2023年09月14日至2023年09月14日 ((1个工作日)),\n如对双选结果有异议,可在公示期内通过电话形式反馈情况。 \n 受理电话: 0351-8305606 0351-8305171\n", title: "山西焦煤西山煤电杜儿坪矿井下操作工招聘公示", billno: "000001" }, { mdnb_noticecontent: "   根据相关要求,经过网上报名、资格审查、笔试、面试等程序,现将拟录用人员名单予以公示。公示时间为2023年09月14日至2023年09月14日 ((1个工作日)),\n如对双选结果有异议,可在公示期内通过电话形式反馈情况。 \n 受理电话: 0351-8305606 0351-8305171\n", title: "山西焦煤西山煤电杜坪矿井下操作工招聘公示", billno: "000002" }, { mdnb_noticecontent: "   根据相关要求,经过网上报名、资格审查、笔试、面试等程序,现将拟录用人员名单予以公示。公示时间为2023年09月14日至2023年09月14日 ((1个工作日)),\n如对双选结果有异议,可在公示期内通过电话形式反馈情况。 \n 受理电话: 0351-8305606 0351-8305171\n", title: "山西焦煤西山煤电杜儿矿井下操作工招聘公示", billno: "000003" }, { mdnb_noticecontent: "   根据相关要求,经过网上报名、资格审查、笔试、面试等程序,现将拟录用人员名单予以公示。公示时间为2023年09月14日至2023年09月14日 ((1个工作日)),\n如对双选结果有异议,可在公示期内通过电话形式反馈情况。 \n 受理电话: 0351-8305606 0351-8305171\n", title: "山西焦煤西山煤电儿坪矿井下操作工招聘公示", billno: "000004" }] } that.noticeList = res.data }, getDoubleChoice() { let that = this; let data = { flag: true } fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/DoubleChoice", data).then(res => { if (res) { that.mainList[0].value = res.value } }) }, getPositionAll() { let that = this; console.log(that.timeList2); let data = { flag: true, start: that.timeList2[0], end: that.timeList2[1], } this.leftTime && clearInterval(this.leftTime) that.leftFlag = false that.config2.data = [] let lastList = [] let topList = [] let mainList = [] fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/PositionAll", data).then(res => { if (res) { res.data.forEach((item, index) => { if (index <= 8) { item.unshift("0" + (index + 1)) } else { item.unshift((index + 1).toString()) } }) if (res.data.length > 5) { for (let i = 0; i < 3; i++) { let color; if (i == 0) { color = "yellow" } else if (i == 1) { color = "red" } else { color = "green" } topList.push(["" + res.data[i][0] + "", "" + res.data[i][1] + "", "" + res.data[i][2] + ""]) } res.data.splice(0, 3) mainList.push(...spArr(res.data, 2)) mainList.forEach(item => { item.unshift(...topList) lastList.push(...item) }) } else if (res.data.length <= 5 && res.data.length >= 3) { for (let i = 0; i < 3; i++) { let color; if (i == 0) { color = "yellow" } else if (i == 1) { color = "red" } else { color = "green" } topList.push(["" + res.data[i][0] + "", "" + res.data[i][1] + "", "" + res.data[i][2] + ""]) } res.data.splice(0, 3) lastList.push(...topList, ...res.data) } else if (res.data.length < 3) { for (let i = 0; i < res.data.length; i++) { let color; if (i == 0) { color = "yellow" } else if (i == 1) { color = "red" } else { color = "green" } lastList.push(["" + res.data[i][0] + "", "" + res.data[i][1] + "", "" + res.data[i][2] + ""]) } } that.config2.data = lastList setTimeout(() => { that.leftFlag = true that.leftTime = setInterval(() => { that.leftList.forEach((item, index) => { item.flag = !item.flag if (item.flag) { if (index == 0) { that.leftFlag = true } else { that.leftFlag = false setTimeout(() => { let leftChange = that.$refs.leftChange that.initThreeBig(leftChange) }) } } }) }, 15000) }, 10) } }) }, }, })