<template> <div class="interaction"> <div class="common-title"> <div class="icon-and-title"> <img class="icon-title" src="@/assets/overview/board.png" alt="" /> <span class="title">{{ title }}</span> </div> <img class="bg" src="@/assets/overview/bg_title02.png" alt="" /> </div> <div id="tends"></div> </div> </template> <script> import { getCurDate } from "@/utils/util.time.js"; export default { name: "interaction", data() { return { title: "展板点播趋势图", xAxisData: [], yAxisData: [], }; }, components: {}, mounted() { this.getList(); }, methods: { getList() { let curTime = getCurDate(); let playDate = curTime.year + curTime.month; let _this = this; this.$https({ method: "post", url: "tBoardStatistic/getBoardTrendPageList?playDate=" + playDate, authType: this.backToken, }) .then((res) => { if (res.status == 200) { if (res.data.resultCode == 200) { this.xAxisData = res.data.data.dateList; this.yAxisData = res.data.data.cntList; } else { this.xAxisData = []; this.yAxisData = []; } } else { this.xAxisData = []; this.yAxisData = []; } this.init(); }) .catch((err) => { this.$message.error(err.message); this.xAxisData = []; this.yAxisData = []; this.init(); }); }, init() { let option = { tooltip: { trigger: "axis", }, grid: { top: 20, left: "2%", right: 40, bottom: 30, containLabel: true, }, dataZoom: [ { type: "slider", show: true, bottom: 0, start: 0, end: 100, height: 18, handleStyle: { color: "#d3dee5", }, textStyle: { color: "#fff", fontSize: "10px", }, }, ], xAxis: { type: "category", boundaryGap: false, //坐标轴两边留白 data: this.xAxisData, axisLabel: { //坐标轴刻度标签的相关设置。 textStyle: { color: "#333333", fontStyle: "normal", fontFamily: "微软雅黑", fontSize: 14, }, }, axisTick: { //坐标轴刻度相关设置。 show: false, }, axisLine: { //坐标轴轴线相关设置 lineStyle: { color: "#eeeeee", type: "solid", }, }, splitLine: { //坐标轴在 grid 区域中的分隔线。 show: false, }, }, yAxis: [ { type: "value", splitNumber: 5, // max: 100, axisLabel: { textStyle: { color: "#333333", fontStyle: "normal", fontFamily: "微软雅黑", fontSize: 12, }, interval: "auto", }, axisLine: { show: false, }, axisTick: { show: false, }, splitLine: { show: true, lineStyle: { color: "#eeeeee", type: "dashed", }, }, }, ], series: [ { type: "line", smooth: true, itemStyle: { normal: { color: "#AC9374", lineStyle: { color: "#9B1E23", width: 1, }, areaStyle: { color: new this.$echarts.graphic.LinearGradient(0, 1, 0, 0, [ { offset: 0, color: "rgba(172,141,116,0.4)", }, { offset: 1, color: "rgba(155,30,35,0.4)", }, ]), }, }, }, data: this.yAxisData, }, ], }; let echartsDiv = this.$echarts.init(document.getElementById("tends")); echartsDiv.setOption(option); }, // // 点击事件 // echartsClick() { // this.$emit("itemClick", { type: 2, title: this.title }); // }, }, }; </script> <style lang="less"> #tends { width: 100%; height: calc(100% - 45px); } </style>