From 9131e35d805b009be9033e6867572f7132ab7d92 Mon Sep 17 00:00:00 2001
From: jiale <631455805@qq.com>
Date: 星期二, 24 五月 2022 14:23:25 +0800
Subject: [PATCH] 隐患图标分析修改

---
 src/views/chartAnalysis/index.vue |  710 +++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 404 insertions(+), 306 deletions(-)

diff --git a/src/views/chartAnalysis/index.vue b/src/views/chartAnalysis/index.vue
index 90cf4ec..d9d884c 100644
--- a/src/views/chartAnalysis/index.vue
+++ b/src/views/chartAnalysis/index.vue
@@ -1,58 +1,35 @@
 <template>
     <div>
         <div class="whole_top">
-            <el-form ref="form" :inline="true" :model="form">
+            <el-form ref="form" :inline="true" :model="formData">
                 <div class="top">
                     <el-form-item label="类别:">
-                        <el-checkbox-group v-model="categoryList">
-                            <el-checkbox label="生产"></el-checkbox>
-                            <el-checkbox label="设备"></el-checkbox>
-                            <el-checkbox label="电气"></el-checkbox>
-                            <el-checkbox label="仪表"></el-checkbox>
-                            <el-checkbox label="安全管理"></el-checkbox>
-                            <el-checkbox label="其他"></el-checkbox>
+                        <el-checkbox-group v-model="formData.ht_typesub">
+                            <el-checkbox v-for="item in YHLXList" :key="item.value" :value="item.value"
+                                         :label="item.value"></el-checkbox>
                         </el-checkbox-group>
                     </el-form-item>
                     <el-form-item label="级别:">
-                        <el-checkbox-group v-model="levelList">
-                            <el-checkbox label="一般隐患D"></el-checkbox>
-                            <el-checkbox label="一般隐患C"></el-checkbox>
-                            <el-checkbox label="重大隐患B"></el-checkbox>
-                            <el-checkbox label="重大隐患A"></el-checkbox>
+                        <el-checkbox-group v-model="formData.level">
+                            <el-checkbox v-for="item in YHJBList" :key="item.value" :value="item.value"
+                                         :label="item.value"></el-checkbox>
                         </el-checkbox-group>
                     </el-form-item>
                     <el-form-item label="上级单位:">
-                        <el-checkbox-group v-model="superiorUnitList">
-                            <el-checkbox label="新疆能源"></el-checkbox>
-                            <el-checkbox label="河南能源"></el-checkbox>
-                            <el-checkbox label="新疆能源小分队"></el-checkbox>
-                            <el-checkbox label="河南能源小分队"></el-checkbox>
-                            <el-checkbox label="新疆能源救护大队"></el-checkbox>
-                            <el-checkbox label="河南省应急管理厅"></el-checkbox>
-                            <el-checkbox label="河南省工信厅"></el-checkbox>
-                            <el-checkbox label="所属县市安监部门"></el-checkbox>
+                        <el-checkbox-group v-model="formData.superior">
+                            <!--                            <el-checkbox v-for="item in JCBMList" :label="item.value"></el-checkbox>-->
+                            <el-checkbox v-for="item in JCBMList" :key="item.value" :value="item.value"
+                                         :label="item.value"></el-checkbox>
                         </el-checkbox-group>
                     </el-form-item>
                     <el-form-item label="检查类别:" class="checkbox">
-                        <el-checkbox-group v-model="inspectionCategoryList">
-                            <el-checkbox label="日常检查"></el-checkbox>
-                            <el-checkbox label="领导深入现场"></el-checkbox>
-                            <el-checkbox label="安全大检查"></el-checkbox>
-                            <el-checkbox label="生产系统专业检查"></el-checkbox>
-                            <el-checkbox label="设备系统专业检查"></el-checkbox>
-                            <el-checkbox label="电气系统专业检查"></el-checkbox>
-                            <el-checkbox label="仪表系统专业检查"></el-checkbox>
-                            <el-checkbox label="安全管理专业检查"></el-checkbox>
-                            <el-checkbox label="其他专项检查"></el-checkbox>
-                            <el-checkbox label="双击建设考核"></el-checkbox>
-                            <el-checkbox label="安全标准化验收"></el-checkbox>
-                            <el-checkbox label="职业卫生健康"></el-checkbox>
-                            <el-checkbox label="举一反三"></el-checkbox>
-                            <el-checkbox label="安全督察小分队"></el-checkbox>
+                        <el-checkbox-group v-model="formData.checktype">
+                            <el-checkbox v-for="item in JCLBList" :key="item.value" :value="item.value"
+                                         :label="item.value"></el-checkbox>
                         </el-checkbox-group>
                     </el-form-item>
                     <el-form-item label="当前警情:">
-                        <el-checkbox-group v-model="policeSituationList">
+                        <el-checkbox-group v-model="formData.curWarningLevel">
                             <el-checkbox label="轻警"></el-checkbox>
                             <el-checkbox label="低警"></el-checkbox>
                             <el-checkbox label="中警"></el-checkbox>
@@ -60,14 +37,14 @@
                         </el-checkbox-group>
                     </el-form-item>
                     <el-form-item style="margin-left: 30px;">
-                        <el-radio-group v-model="radio">
-                            <el-radio :label="1">按隐患单位</el-radio>
-                            <el-radio :label="2">按类别</el-radio>
-                            <el-radio :label="3">按级别</el-radio>
-                            <el-radio :label="4">按检查单位</el-radio>
-                            <el-radio :label="5">按录入单位</el-radio>
-                            <el-radio :label="6">按检查类别</el-radio>
-                            <el-radio :label="7">按当前警情</el-radio>
+                        <el-radio-group v-model="formData.model">
+                            <el-radio label="1">按隐患单位</el-radio>
+                            <el-radio label="2">按类别</el-radio>
+                            <el-radio label="3">按级别</el-radio>
+                            <el-radio label="4">按检查单位</el-radio>
+                            <el-radio label="5">按录入单位</el-radio>
+                            <el-radio label="6">按检查类别</el-radio>
+                            <el-radio label="7">按当前警情</el-radio>
                         </el-radio-group>
                         <el-radio-group v-model="chartType" style="margin-left: 50px;">
                             <el-radio label="line">曲线图</el-radio>
@@ -78,26 +55,26 @@
                 </div>
                 <div class="center">
                     <el-form-item label="已选单位:">
-                        <el-input v-model="form.name"></el-input>
+                        <el-input autosize  v-model="form.name"></el-input>
                     </el-form-item>
-                    <el-form-item label="已选类别:">
-                        <el-input v-model="form.category"></el-input>
+                    <el-form-item autosize label="已选类别:">
+                        <el-input v-model="formData.ht_typesub.join(',')"></el-input>
                     </el-form-item>
                     <el-form-item label="已选级别:">
-                        <el-input v-model="form.level"></el-input>
+                        <el-input v-model="formData.level.join(',')"></el-input>
                     </el-form-item>
                     <el-form-item label="已选上级单位:">
-                        <el-input v-model="form.superiorUnit"></el-input>
+                        <el-input v-model="formData.superior.join(',')"></el-input>
                     </el-form-item>
                     <el-form-item label="已选检查类别:">
-                        <el-input v-model="form.inspectionCategory"></el-input>
+                        <el-input v-model="formData.checktype.join(',')"></el-input>
                     </el-form-item>
                     <el-form-item label="已选当前警情:">
-                        <el-input v-model="form.policeSituation"></el-input>
+                        <el-input v-model="formData.curWarningLevel.join(',')"></el-input>
                     </el-form-item>
                     <el-form-item label="检查时间:" class="time">
                         <el-date-picker
-                            v-model="form.time"
+                            v-model="time"
                             type="daterange"
                             range-separator="至"
                             start-placeholder="开始日期"
@@ -105,7 +82,7 @@
                         </el-date-picker>
                     </el-form-item>
                     <el-form-item>
-                        <el-button class="btn" size="small" type="primary" @click="close()"
+                        <el-button class="btn" size="small" type="primary" @click="getData()"
                         >汇总
                         </el-button>
                         <el-button class="btn" size="small" type="primary" @click="close()"
@@ -116,15 +93,36 @@
             </el-form>
         </div>
         <div class="whole_bottom">
-            <!--            <div id="myChart" style="width: 100%;height: 550px;"></div>-->
-            <!--            <div id="circular" style="width: 100%;height: 550px;"></div>-->
-            <div id="cylindrical" style="width: 100%;height: 650px;"></div>
+            <div v-if="chartType == 'pie'" id="pie" style="width: 100%;height: 550px;"></div>
+            <div v-if="chartType == 'line'" id="line" style="width: 100%;height: 550px;"></div>
+            <div v-if="chartType == 'column'" id="column" style="width: 100%;height: 650px;"></div>
         </div>
     </div>
 </template>
 <script>
 import {echarts} from "../../global";
 import {chart_analysis} from "@/api/sgyhpczl/chartAnalysis";
+import {
+    initJCBM,
+    initYHLX,
+    initBC,
+    initJCLB,
+    initYHBM,
+    initYHJB,
+    initLlr,
+    initReformStatus
+} from "@/api/sgyhpczl/initSelect";
+
+// 导入chart组件
+import Highcharts from "highcharts/highstock";
+import loadExporting from "highcharts/modules/exporting";
+import exportExcel from "highcharts/modules/export-data.src";
+import highcharts3d from 'highcharts/highcharts-3d'
+
+loadExporting(Highcharts);
+exportExcel(Highcharts);
+highcharts3d(Highcharts)
+
 
 export default {
     name: "index",
@@ -138,17 +136,18 @@
                 superiorUnit: '新疆能源',
                 inspectionCategory: '日常检查',
                 policeSituation: '轻警',
+                chart: null,
             },
             formData: {
-                "echart_type": "column", //line:折线图;column:柱状图;pie :饼状图
-                "model": "0", //0:
-                "beginTime": "2022-04-01", //开始时间
-                "endTime": "2022-04-30", //结束时间
-                "ht_typesub": "", //隐患类别
-                "level": "", //隐患级别
-                "superior": "", //上级单位
-                "checktype": "", //检查类别
-                "curWarningLevel": "" //警情
+                "echart_type": "line", //line:折线图;column:柱状图;pie :饼状图
+                "model": "1", //0:
+                "beginTime": "", //开始时间
+                "endTime": "", //结束时间
+                "ht_typesub": [], //隐患类别
+                "level": [], //隐患级别
+                "superior": [], //上级单位
+                "checktype": [], //检查类别
+                "curWarningLevel": [] //警情
             },
             categoryList: ['生产'],
             levelList: ['一般隐患D'],
@@ -156,88 +155,247 @@
             inspectionCategoryList: ['日常检查'],
             policeSituationList: ['轻警'],
             radio: 1,
-            chartType: "column",
+            chartType: "line",
             columnChartData: {},
-            lineChartData: {}
+            lineChartData: {},
+            time: [],
+            pieChartData: [],
+            JCBMList: [],
+            YHLXList: [],
+            BCList: [],
+            JCLBList: [],
+            YHBMList: [],
+            YHJBList: [],
+            YHZTList: [],
         }
     },
     mounted() {
+        this.time.push(this.getCurrentMonthFirst(), this.getCurrentMonthLast());
+        this.initYHLX()
+        this.initYHJB()
+        this.initBC()
+        this.initJCLB()
+        this.initLlr()
+        this.initYHBM()
+        this.initYHZT()
+        this.changeJCDW(0)
         this.getData()
     },
     watch: {
         "chartType": function (newVal, oldVal) {
             this.formData.echart_type = newVal;
+            console.log(this.formData.echart_type)
             this.getData();
         }
     },
     methods: {
+        initYHLX() {
+            initYHLX().then(res => {
+                if (res.data.ok == 1) {
+                    this.YHLXList = res.data.data
+                } else {
+                    this.$message({type: 'error', message: res.data.msg, duration: 3000})
+                }
+            })
+        },
+        initYHJB() {
+            initYHJB().then(res => {
+                if (res.data.ok == 1) {
+                    this.YHJBList = res.data.data
+                } else {
+                    this.$message({type: 'error', message: res.data.msg, duration: 3000})
+                }
+            })
+        },
+        initYHZT() {
+            initReformStatus().then(res => {
+                if (res.data.ok == 1) {
+                    this.YHZTList = res.data.data
+                    console.log(this.YHZTList)
+                } else {
+                    this.$message({type: 'error', message: res.data.msg, duration: 3000})
+                }
+            })
+        },
+        initBC() {
+            initBC().then(res => {
+                if (res.data.ok == 1) {
+                    this.BCList = res.data.data
+                } else {
+                    this.$message({type: 'error', message: res.data.msg, duration: 3000})
+                }
+            })
+        },
+        initJCLB() {
+            initJCLB().then(res => {
+                if (res.data.ok == 1) {
+                    this.JCLBList = res.data.data
+                } else {
+                    this.$message({type: 'error', message: res.data.msg, duration: 3000})
+                }
+            })
+        },
+        initLlr() {
+            initLlr().then(res => {
+                if (res.data.ok == 1) {
+                    this.llrList = res.data.data
+                } else {
+                    this.$message({type: 'error', message: res.data.msg, duration: 3000})
+                }
+            })
+        },
+        initYHBM() {
+            initYHBM().then(res => {
+                if (res.data.ok == 1) {
+                    this.YHBMList = res.data.data
+                } else {
+                    this.$message({type: 'error', message: res.data.msg, duration: 3000})
+                }
+            })
+        },
+        changeJCDW(val) {
+            initJCBM(val).then(res => {
+                if (res.data.ok == 1) {
+                    this.JCBMList = res.data.data
+                } else {
+                    this.$message({type: 'error', message: res.data.msg, duration: 3000})
+                }
+            })
+        },
+        // 饼图
+        initEacharts3() {
+            var option = {
+                chart: {
+                    type: 'pie',
+                    options3d: {
+                        enabled: true,
+                        alpha: 45,
+                        beta: 0
+                    }
+                },
+                tooltip: {
+                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
+                },
+                plotOptions: {
+                    pie: {
+                        allowPointSelect: true,
+                        cursor: 'pointer',
+                        depth: 35,
+                        dataLabels: {
+                            enabled: true,
+                            format: '{point.name}:' + ' {point.y}%'
+                        }
+                    }
+                },
+                exporting: {
+                    enabled: false //去掉右上角
+                },
+                credits: {
+                    enabled: false //不显示LOGO
+                },
+                series: [{
+                    type: 'pie',
+                    name: '浏览器占比',
+                    data: this.pieChartData
+                }]
+            }
+            Highcharts.chart("pie", option);
+        },
         getData() {
-            chart_analysis(this.formData).then(res => {
+            this.formData.beginTime = this.time[0]
+            this.formData.endTime = this.time[1]
+            let requestData = JSON.parse(JSON.stringify(this.formData));
+            console.log(requestData)
+            requestData.ht_typesub = requestData.ht_typesub.join(",")
+            requestData.level = requestData.level.join(",")
+            requestData.superior = requestData.superior.join(",")
+            requestData.checktype = requestData.checktype.join(",")
+            requestData.curWarningLevel = requestData.curWarningLevel.join(",")
+
+            chart_analysis(requestData).then(res => {
                 let data = res.data;
                 if (data.ok) {
                     console.log(this.formData.echart_type)
                     if (this.formData.echart_type == "column") {
+                        this.columnChartData = {};
                         let xList = [];
                         let dataList = [];
-                        data.data[0].forEach(n => {
-                            xList.push(n.graph);
-                            let singleData = {
-                                "name": n.graph,
-                                "type": 'bar',
-                                "label": "labelOption",
-                                "emphasis": {
-                                    focus: 'series'
-                                },
-                                "data": [n.yAxes]
-                            }
-                            dataList.push(singleData);
-                        })
+                        if (data.data != null && data.data.length > 0) {
+                            console.log("柱图",data)
+                            data.data[0].forEach(n => {
+                                xList.push(n.graph);
+                                let singleData = {
+                                    "name": n.graph,
+                                    // "type": 'bar',
+                                    // "label": "labelOption",
+                                    // "emphasis": {
+                                    //     focus: 'series'
+                                    // },
+                                    "data": [parseInt(n.yAxes)]
+                                }
+                                dataList.push(singleData);
+                            })
+                        }
                         this.columnChartData.xList = xList;
                         this.columnChartData.dataList = dataList;
                         this.initCloumnChart()
                     } else if (this.formData.echart_type == "line") {
+                        this.lineChartData = {}
                         let dataList = [];
                         let timeList = [];
-                        data.data[0].forEach(n => {
-                            if(timeList.indexOf(n.days)==-1){
-                                timeList.push(n.days)
-                            }
-                            let obj = dataList.find(v => v.name == n.catalogy);
-                            if (obj == null) {
-                                // obj.data.push(n.counts);
-                                obj = {
-                                    name: n.catalogy,
-                                    data: [],
-                                    type: 'line',
-                                    areaStyle: {}
+                        if (data.data != null && data.data.length > 0) {
+                            data.data[0].forEach(n => {
+                                if (timeList.indexOf(n.days) == -1) {
+                                    timeList.push(n.days)
                                 }
-                                dataList.push(obj)
-                            }
-                        })
-                        timeList.forEach(time=>{
-                            let singileData = data.data[0].filter(n=>n.days == time)
-                            dataList.forEach(n=>{
-                                let searchData = singileData.find(v=>v.catalogy == n.name);
-                                if(searchData!=null){
-                                    n.data.push(searchData.counts)
-                                }else{
-                                    n.data.push(0)
+                                let obj = dataList.find(v => v.name == n.catalogy);
+                                if (obj == null) {
+                                    // obj.data.push(n.counts);
+                                    obj = {
+                                        name: n.catalogy,
+                                        data: [],
+                                        // type: 'line',
+                                        // areaStyle: {}
+                                    }
+                                    dataList.push(obj)
                                 }
                             })
-                        })
-                        this.lineChartData = {}
+                            timeList.forEach(time => {
+                                let singileData = data.data[0].filter(n => n.days == time)
+                                dataList.forEach(n => {
+                                    let searchData = singileData.find(v => v.catalogy == n.name);
+                                    if (searchData != null) {
+                                        n.data.push(parseInt(searchData.counts))
+                                    } else {
+                                        n.data.push(0)
+                                    }
+                                })
+                            })
+                        }
                         this.lineChartData.timeList = timeList;
                         this.lineChartData.dataList = dataList;
+                        console.log(this.lineChartData)
                         this.initLineChart()
+                    } else {
+                        this.pieChartData = []
+                        data.data[0].forEach(n => {
+                            var datas = {
+                                name: n.chartName,
+                                y: parseInt(n.chartValue),
+                                sliced: true,
+                                selected: false
+                            };
+                            this.pieChartData.push(datas);
+                        })
+                        this.initEacharts3();
                     }
-                    // this.initChart()
                 }
 
             })
         },
         initChart() {
-            // 饼图
-            var chartDom = document.getElementById('cylindrical');
+            // 柱形图
+            var chartDom = document.getElementById('column');
             // var chartDom = document.getElementById('myChart');
             var myChart = echarts.init(chartDom);
             var option = {
@@ -261,227 +419,167 @@
                     type: 'category',
                     boundaryGap: false,
                     data: this.lineChartData.timeList
-                    // data: ['2022-05-01', '', '2022-05-03', '', '2022-05-05', '', '2022-05-07', '', '2022-05-09', '', '2022-05-11']
                 },
                 yAxis: {
                     type: 'value'
                 },
                 color: ['#9a0202', '#02cccc', '#0202ff', '#ff9a02', '#02ff02', '#CC02CCFF', '#35FF02FF', '#CCFF67FF', '#35CC67FF', '#9A0202FF'],
-                series:this.lineChartData.dataList
-                // series: [
-                //     {
-                //         name: '电仪车间',
-                //         data: [50, 35, 63, 64, 79, 95, 104, 50, 35, 63, 64],
-                //         type: 'line',
-                //         areaStyle: {}
-                //     }
-                // ]
+                series: this.lineChartData.dataList
             }
             // 使用刚指定的配置项和数据显示图表。
             myChart.setOption(option)
         },
         initLineChart() {
             // 折线图
-            var chartDom = document.getElementById('cylindrical');
+            var chartDom = document.getElementById('line');
             // var chartDom = document.getElementById('myChart');
-            var myChart = echarts.init(chartDom);
+            // var myChart = echarts.init(chartDom);
+            // var option = {
+            //     title: {
+            //         text: '众泰煤焦化各隐患单位隐患走势分析',
+            //         left: 'center'
+            //     },
+            //     legend: {
+            //         bottom: 0,
+            //         // textStyle: {
+            //         //     color: '#ffffff'
+            //         // },
+            //     },
+            //     grid: {
+            //         left: '3%',
+            //         right: '4%',
+            //         bottom: '5%',
+            //         containLabel: true
+            //     },
+            //     xAxis: {
+            //         type: 'category',
+            //         boundaryGap: false,
+            //         data: this.lineChartData.timeList
+            //         // data: ['2022-05-01', '', '2022-05-03', '', '2022-05-05', '', '2022-05-07', '', '2022-05-09', '', '2022-05-11']
+            //     },
+            //     yAxis: {
+            //         type: 'value'
+            //     },
+            //     color: ['#9a0202', '#02cccc', '#0202ff', '#ff9a02', '#02ff02', '#CC02CCFF', '#35FF02FF', '#CCFF67FF', '#35CC67FF', '#9A0202FF'],
+            //     series: this.lineChartData.dataList
+            //     // series: [
+            //     //     {
+            //     //         name: '电仪车间',
+            //     //         data: [50, 35, 63, 64, 79, 95, 104, 50, 35, 63, 64],
+            //     //         type: 'line',
+            //     //         areaStyle: {}
+            //     //     }
+            //     // ]
+            // }
+            // // 使用刚指定的配置项和数据显示图表。
+            // myChart.setOption(option)
+
             var option = {
+                chart:{
+                    type:'area'
+                },
                 title: {
-                    text: '众泰煤焦化各隐患单位隐患走势分析',
-                    left: 'center'
-                },
-                legend: {
-                    bottom: 0,
-                    // textStyle: {
-                    //     color: '#ffffff'
-                    // },
-                },
-                grid: {
-                    left: '3%',
-                    right: '4%',
-                    bottom: '5%',
-                    containLabel: true
-                },
-                xAxis: {
-                    type: 'category',
-                    boundaryGap: false,
-                    data: this.lineChartData.timeList
-                    // data: ['2022-05-01', '', '2022-05-03', '', '2022-05-05', '', '2022-05-07', '', '2022-05-09', '', '2022-05-11']
+                    text: '众泰煤焦化各隐患单位隐患走势分析'
                 },
                 yAxis: {
-                    type: 'value'
+                    title:{
+                        enabled:false
+                    }
                 },
-                color: ['#9a0202', '#02cccc', '#0202ff', '#ff9a02', '#02ff02', '#CC02CCFF', '#35FF02FF', '#CCFF67FF', '#35CC67FF', '#9A0202FF'],
-                series:this.lineChartData.dataList
-                // series: [
-                //     {
-                //         name: '电仪车间',
-                //         data: [50, 35, 63, 64, 79, 95, 104, 50, 35, 63, 64],
-                //         type: 'line',
-                //         areaStyle: {}
-                //     }
-                // ]
+                colors: ['#9a0202', '#02cccc', '#0202ff', '#ff9a02', '#02ff02', '#CC02CCFF', '#35FF02FF', '#CCFF67FF', '#35CC67FF', '#9A0202FF'],
+                legend: {
+                    align: "center", //程度标的目标地位
+                    verticalAlign: "bottom",//垂直标的目标地位
+                    x: 0, //间隔x轴的间隔
+                    y: 0 //间隔Y轴的间隔
+                },
+                xAxis: {
+                    // type: 'category',
+                    // boundaryGap: false,
+                    categories: this.lineChartData.timeList,
+                    // data: ['2022-05-01', '', '2022-05-03', '', '2022-05-05', '', '2022-05-07', '', '2022-05-09', '', '2022-05-11']
+                },
+                series: this.lineChartData.dataList,
+                exporting: {
+                    enabled: false //去掉右上角
+                },
+                credits: {
+                    enabled: false //不显示LOGO
+                },
             }
-            // 使用刚指定的配置项和数据显示图表。
-            myChart.setOption(option)
+            Highcharts.chart("line", option);
         },
         initCloumnChart() {
-            // 柱形图
-            var chartDom = document.getElementById('cylindrical');
-            var myChart = echarts.init(chartDom);
-            var option;
-            const posList = [
-                'left',
-                'right',
-                'top',
-                'bottom',
-                'inside',
-                'insideTop',
-                'insideLeft',
-                'insideRight',
-                'insideBottom',
-                'insideTopLeft',
-                'insideTopRight',
-                'insideBottomLeft',
-                'insideBottomRight'
-            ];
-            app.configParameters = {
-                rotate: {
-                    min: -90,
-                    max: 90
+
+            var option = {
+                chart:{
+                    type:'column'
                 },
-                align: {
-                    options: {
-                        left: 'left',
-                        center: 'center',
-                        right: 'right'
+                title: {
+                    text: null
+                },
+                yAxis: {
+                    title:{
+                        enabled:false
                     }
                 },
-                verticalAlign: {
-                    options: {
-                        top: 'top',
-                        middle: 'middle',
-                        bottom: 'bottom'
-                    }
-                },
-                position: {
-                    options: posList.reduce(function (map, pos) {
-                        map[pos] = pos;
-                        return map;
-                    }, {})
-                },
-                distance: {
-                    min: 0,
-                    max: 100
-                }
-            };
-            app.config = {
-                rotate: 90,
-                align: 'left',
-                verticalAlign: 'middle',
-                position: 'insideBottom',
-                distance: 15,
-                onChange: function () {
-                    const labelOption = {
-                        rotate: app.config.rotate,
-                        align: app.config.align,
-                        verticalAlign: app.config.verticalAlign,
-                        position: app.config.position,
-                        distance: app.config.distance
-                    };
-                    myChart.setOption({
-                        series: [
-                            {
-                                label: labelOption
-                            },
-                            {
-                                label: labelOption
-                            },
-                            {
-                                label: labelOption
-                            },
-                            {
-                                label: labelOption
-                            }
-                        ]
-                    });
-                }
-            };
-            const labelOption = {
-                show: false,
-                position: app.config.position,
-                distance: app.config.distance,
-                align: app.config.align,
-                verticalAlign: app.config.verticalAlign,
-                rotate: app.config.rotate,
-                formatter: '{c}  {name|{a}}',
-                fontSize: 16,
-                rich: {
-                    name: {}
-                }
-            };
-            this.columnChartData.dataList.forEach(n => {
-                n.label = labelOption;
-            })
-            option = {
-                tooltip: {
-                    trigger: 'axis',
-                    axisPointer: {
-                        type: 'shadow'
-                    }
-                },
+                colors: ['#9a0202', '#02cccc', '#0202ff', '#ff9a02', '#02ff02', '#CC02CCFF', '#35FF02FF', '#CCFF67FF', '#35CC67FF', '#9A0202FF'],
                 legend: {
-                    bottom: 0,
-                    data: this.columnChartData.xList
-                    // data: ['安全环保部', '电仪车间', '干熄焦', '工程部','化产二车间', '化产一车间', '机电部', '炼焦二车间','炼焦一车间', '生产技术部', '消防保卫部', '选煤厂', '原料二车间', '原料一车间', '众和机电']
+                    align: "center", //程度标的目标地位
+                    verticalAlign: "bottom",//垂直标的目标地位
+                    x: 0, //间隔x轴的间隔
+                    y: 0 //间隔Y轴的间隔
                 },
-                grid: {
-                    left: '3%',
-                    right: '4%',
-                    containLabel: true
+                xAxis: {
+                    // type: 'category',
+                    // boundaryGap: false,
+                    categories: this.columnChartData.xList,
+                    max:this.columnChartData.xList.length-1
+                    // data: ['2022-05-01', '', '2022-05-03', '', '2022-05-05', '', '2022-05-07', '', '2022-05-09', '', '2022-05-11']
                 },
-                // toolbox: {
-                //     show: true,
-                //     orient: 'vertical',
-                //     left: 'right',
-                //     top: 'center',
-                //     feature: {
-                //         mark: { show: true },
-                //         dataView: { show: true, readOnly: false },
-                //         magicType: { show: true, type: ['line', 'bar', 'stack'] },
-                //         restore: { show: true },
-                //         saveAsImage: { show: true }
-                //     }
-                // },
-                xAxis: [
-                    {
-                        type: 'category',
-                        axisTick: {show: false},
-                        // data: ['2012', '2013', '2014', '2015', '2016']
-                    }
-                ],
-                yAxis: [
-                    {
-                        type: 'value'
-                    }
-                ],
-                series: this.columnChartData.dataList
-                // series: [
-                //     {
-                //         name: '安全环保部',
-                //         type: 'bar',
-                //         label: labelOption,
-                //         emphasis: {
-                //             focus: 'series'
-                //         },
-                //         data: [320]
-                //     }
-                // ]
-            };
-            // 使用刚指定的配置项和数据显示图表。
-            myChart.setOption(option)
-        }
-    }
+                series: this.columnChartData.dataList,
+                exporting: {
+                    enabled: false //去掉右上角
+                },
+                credits: {
+                    enabled: false //不显示LOGO
+                },
+            }
+            Highcharts.chart("column", option);
+        },
+        getCurrentMonthFirst() {
+            var date = new Date();
+            date.setDate(1);
+            var month = parseInt(date.getMonth() + 1);
+            var day = date.getDate();
+            if (month < 10) {
+                month = '0' + month
+            }
+            if (day < 10) {
+                day = '0' + day
+            }
+
+            return date.getFullYear() + '-' + month + '-' + day;
+        },
+        getCurrentMonthLast() {
+            var date = new Date();
+            var currentMonth = date.getMonth();
+            var nextMonth = ++currentMonth;
+            var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);
+            var oneDay = 1000 * 60 * 60 * 24;
+            var lastTime = new Date(nextMonthFirstDay - oneDay);
+            var month = parseInt(lastTime.getMonth() + 1);
+            var day = lastTime.getDate();
+            if (month < 10) {
+                month = '0' + month
+            }
+            if (day < 10) {
+                day = '0' + day
+            }
+            return date.getFullYear() + '-' + month + '-' + day;
+        },
+    },
+
 
 }
 </script>

--
Gitblit v1.9.2