From 9c331d555ce7e82b4226556770a81c444442bb37 Mon Sep 17 00:00:00 2001
From: unknown <280848880@qq.com>
Date: 星期二, 14 十一月 2023 08:58:08 +0800
Subject: [PATCH] web苏州:1.3级导航样式修改 2.区域巡检提测 3.消耗统计提测

---
 web/src/views/GoodManage/CostStatistics/RawCost.vue |  909 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 457 insertions(+), 452 deletions(-)

diff --git a/web/src/views/GoodManage/CostStatistics/RawCost.vue b/web/src/views/GoodManage/CostStatistics/RawCost.vue
index e53b07f..005def8 100644
--- a/web/src/views/GoodManage/CostStatistics/RawCost.vue
+++ b/web/src/views/GoodManage/CostStatistics/RawCost.vue
@@ -1,452 +1,457 @@
-<template>
-  <div class="main">
-    <div class="main_header">
-        <div class="header_item">
-            <span class="header_label">材料类型:</span>
-            <el-select v-model="search.materialName" placeholder="全部" clearable>
-                <el-option
-                    v-for="item in optionMaterials"
-                    :key="item.dictId"
-                    :label="item.dictName"
-                    :value="item.dictId">
-                </el-option>
-            </el-select>
-        </div>
-        <div class="header_item">
-            <el-radio-group v-model="tabPosition" @input="timesChange"> 
-                <el-radio-button label="day">日</el-radio-button>
-                <el-radio-button label="month">月</el-radio-button>
-            </el-radio-group>
-        </div>
-        <div class="header_item" v-if="showTimes">
-            <span class="header_label">选择时间:</span>
-            <el-date-picker
-            v-model="search.dayData"
-            :picker-options="pickerOptionsDay"
-            :clearable="false"
-            type="daterange"
-            value-format="yyyy-MM-dd"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期">
-            </el-date-picker>
-        </div>
-        <div class="header_item" v-if="!showTimes">
-            <span class="header_label">选择月份:</span>
-            <el-date-picker
-            v-model="search.monthData"
-            :picker-options="pickerOptionsMonth"
-            :clearable="false"
-            type="monthrange"
-            value-format="yyyy-MM-dd"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期">
-            </el-date-picker>
-        </div>
-        <div class="header_item">
-            <el-button v-if="showButton('search')" icon="el-icon-search" @click="searchButtonInfo()">查询</el-button>
-            <el-button v-if="showButton('export')" icon="el-icon-download" @click="exportExcel()">导出Excel</el-button>
-        </div>
-    </div>
-    <div class="main_middle">
-        <div class="main_middle_titles">数据统计</div>
-        <div class="main_middle_matter">
-            <div class="middle_items" v-for="(item,index) in showDatas" :key="index">
-                <div class="middle_items_text">{{item.materialName}}</div>
-                <div class="middle_items_datas">{{item.materialValue}}</div>
-            </div>
-        </div>
-    </div>
-    <div class="main_content" style="overflow:auto;padding-bottom:100px;">
-        <div v-for="(echartItem,echartIndex) in echartsList" :key="echartIndex" class="echarts_items">
-            <div class="main_echart_titles">{{echartItem.materialCName}}(吨)</div>
-            <div :id="echartItem.materialName" class="main_content_chart"></div>
-        </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import { buttonPinia } from '../../../pinia';
-import { downFiles } from '../../../plugins/public'; 
-export default {
-  name: 'MaterialCost',
-  data() {
-    return {
-        search:{
-            dayData:this.getDateTime(),
-            monthData:this.getMonthTime()
-        },//查询条件
-        tabPosition:'day',//默认展示day
-        showTimes:true,//是否展示日的日期  true:日  false: 月
-        dateType:1,// 1:日  2:月
-        optionMaterials:[],//材料类型
-        showDatas:[],//展示的数据统计
-        echartsList:[],//展示echarts表
-        pickerMinDate:'',//日期选择增加限制
-        pickerOptionsDay:{ //限制选择日期为15天
-            onPick: ({
-                maxDate,
-                minDate
-            }) => {
-                this.pickerMinDate = minDate.getTime()
-                if (maxDate) {
-                    this.pickerMinDate = ''
-                }
-            },
-            disabledDate: (time) => {
-                if (this.pickerMinDate !== '') {
-                    const one = 15 * 24 * 3600 * 1000
-                    const minTime = this.pickerMinDate - one
-                    const maxTime = this.pickerMinDate + one
-                    return time.getTime() < minTime || time.getTime() > maxTime
-
-                }
-            }
-        },
-        minDates: null,
-        maxDates: null,
-        pickerOptionsMonth: {
-            disabledDate: (time) => {
-                if (this.minDates !== null) {
-                    let minMonth = this.minDates.getMonth(),
-                    lastYear = new Date(this.minDates).setMonth(minMonth - 6),
-                    nextYear = new Date(this.minDates).setMonth(minMonth + 6);
-                    // 只能选 minDate 前后6个月的范围
-                    return time.valueOf() < lastYear.valueOf() || time.valueOf() > nextYear.valueOf();
-                }
-                return false;
-            },
-            onPick: ({minDate, maxDate}) => {
-                this.minDates = minDate;
-                this.maxDates = maxDate;
-            }
-        },
-    }
-  },
-  mounted() {
-    // this.searchButtonInfo()
-    this.getAllTypes()
-  },
-  methods: {
-    // 导出Excel
-    exportExcel() {
-        let params = {
-           materialName:this.search.materialName ===undefined ||this.search.materialName ==='' ?'both':this.search.materialName,
-           dateType:this.dateType
-        }
-        if(this.dateType === 1){
-            params.startDay = this.search.dayData&&this.search.dayData[0]
-            params.endDay = this.search.dayData&&this.search.dayData[1]
-            delete params.dayData
-        }else{
-            params.startDay = this.search.monthData&&this.search.monthData[0]
-            params.endDay = this.search.monthData&&this.search.monthData[1]
-            delete params.monthData 
-        }
-        this.$api.Ducts.exportBtns(params).then(res=>{
-            downFiles(res, '原材料消耗信息', 'xls')
-        })
-    },
-    //获取时间(默认15天)
-    getDateTime(){
-      return [new Date(new Date().getTime() - 3600*1000*24*15).toISOString().replace('T',' ').split('.')[0],new Date().toISOString().replace('T',' ').split('.')[0]]
-    },
-    //获取时间(默认6个月)
-    getMonthTime(){
-        let date = new Date();
-        let year = date.getFullYear();
-        let month = date.getMonth() + 1;
-        let newYear = 0;
-        let newMonth = 0;
-        let newDateArr = [];
-        for (let i = 0; i < 7; i++) {
-            //这里是获取前六个月,所以循环6次,根据需要修改
-            if (month - i < 1) {
-            //这里的判断是如果当前月份往前推到了去年  需要做的处理
-            newYear = year - 1;
-            newMonth = month - i + 12 >= 10 ? month - i + 12 : '0' + (month - i + 12);
-            newDateArr.push(newYear + '-' + newMonth); //这里拼接格式化,在时间中间加了个-,根据实际需求来
-            } else {
-            newMonth = month - i >= 10 ? month - i : '0' + (month - i); //这里是对月份小于10做加前面加0处理
-            newDateArr.push(year + '-' + newMonth);
-            }
-        }
-        //这里就最后得到当前年月前六个月组成的时间数组,根据需要赋值使用即可
-        const end = newDateArr[0];
-        const start = newDateArr[6];
-        return [start+'-'+'01', end+'-'+'01'];
-    },
-    //获取设备类型
-    getAllTypes(){
-        let params = {
-            pageNum: 1,
-            pageSize: 100000000,
-        }
-        this.$api.Dictionary.searchDictionary(params).then(res=>{
-            if(res.statusMsg === 'ok'){
-                this.optionMaterials = res.data.list.filter(item=>item.dictType ==='pipe_materials')
-            }else{
-                this.$message.warning(res.statusMsg)
-            }
-        })
-    },
-    //展示不同的时间
-    timesChange(val){
-        if(val === 'month'){
-            this.showTimes = false
-            // this.search.dayData = ''
-            this.dateType = 2
-        }else{
-            this.showTimes = true
-            // this.search.monthData = ''
-            this.dateType = 1
-        }
-    },
-    //查询按钮
-    searchButtonInfo() {
-        let params = {
-           materialName:this.search.materialName ===undefined ||this.search.materialName ==='' ?'both':this.search.materialName,
-           dateType:this.dateType
-        }
-        if(this.dateType === 1){
-            params.startDay = this.search.dayData&&this.search.dayData[0]
-            params.endDay = this.search.dayData&&this.search.dayData[1]
-            delete params.dayData
-        }else{
-            params.startDay = this.search.monthData&&this.search.monthData[0]
-            params.endDay = this.search.monthData&&this.search.monthData[1]
-            delete params.monthData 
-        }
-        this.$api.Analyse.searchMaterialCost(params).then(res=>{
-            if(res.statusMsg === 'ok'){
-                this.showDatas = res.data.materialTotal
-                this.echartsList = res.data.statResult
-                res.data.statResult.forEach(item=>{
-                    this.$nextTick(() => {
-                        this.createCharts(item.materialName, item.statVoList,item.materialCName);
-                    }) 
-                })
-            }else{
-                this.$message.warning(res.statusMsg)
-            }
-        })
-    },
-     // 创建echart图表
-    createCharts(name, data,titleName) {
-        const labelData = data.map(item => item.shuDate);
-        const firstData = data.map(item => item.materialValue ? item.materialValue : 0);
-        const chartsImage = this.$echarts.init(document.getElementById(name));
-        const option = {
-        animationDuration: 1500,
-        tooltip: {
-            trigger: "axis",
-            backgroundColor:'#071F46',
-            textStyle:{
-                color:'#fff',
-            },
-            formatter: function (params) {
-            var relVal = params[0].name;
-            for (var i = 0; i < params.length; i++) {
-                if (params[i].componentIndex === 0) {
-                relVal +=
-                    "<br/>" +
-                    params[i].marker +
-                    `${titleName}` +
-                    " : " +
-                    params[i].value;
-                }
-            }
-            return relVal;
-            },
-        },
-        grid: {
-            top: "15%",
-            right: "3%",
-            left: "3%",
-            bottom: "11%",
-        },
-        xAxis: [
-            {
-            type: "category",
-            data: labelData,
-            axisLine: {
-                lineStyle: {
-                width: 2,
-                color: "#B7E4F7",
-                },
-            },
-            axisLabel: {
-                color: "#B7E4F7",
-            },
-            axisTick: {
-                show: false,
-            },
-            },
-        ],
-        yAxis: [
-            {
-            type: "value",
-            // max: 100,
-            splitNumber: 10,
-            axisLabel: {
-                formatter: "{value}",
-                textStyle: {
-                color: "#CAD3E0",
-                },
-            },
-            splitLine: {
-                lineStyle: {
-                width: 2,
-                type: "dashed",
-                color: "#28477C",
-                },
-            },
-            },
-            {
-            type: "value",
-            max: 100,
-            splitNumber: 10,
-            axisLabel: {
-                formatter: "{value}%",
-                textStyle: {
-                color: "#B7E4F7",
-                },
-            },
-            splitLine: {
-                show: false,
-            },
-            },
-        ],
-        series: [
-            {
-            type: "line",
-            smooth:true,
-            data: firstData,
-            barWidth:40,
-            yAxisIndex: 0,
-            itemStyle: {
-                normal: {
-                color: new this.$echarts.graphic.LinearGradient( 0, 0, 0, 1,
-                    [
-                    {
-                        offset: 0,
-                        color: "rgba(15, 106, 134, 1)", // 0% 处的颜色
-                    },
-                    {
-                        offset: 1,
-                        color: "rgba(28, 186, 233, 1)", // 100% 处的颜色
-                    },
-                    ],
-                    false
-                ),
-                },
-            },
-            },
-        ],
-        }
-        chartsImage.clear();
-        chartsImage.setOption(option);
-        window.onresize = () => {
-            chartsImage.resize()
-        }
-    },
-    // 判断按钮权限信息
-    showButton(str) {
-      const pinia = buttonPinia();
-      return pinia.$state.buttonInfo.includes(str);
-    }
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-@import "@/style/layout-main.scss";
-
-.main_middle{
-    width: 97%;
-    margin: 10px 18px;
-
-    .main_middle_titles{
-        width: 100%;
-        color: #19F6F8;
-        position: relative;
-        padding: 10px 15px;
-        border-bottom:1px solid #1B50AE ;
-        &::before{
-            content: "";
-            position: absolute;
-            left: 5px;
-            top: 10px;
-            width: 2px;
-            height: 18px;
-            background-color: #18F6F8;
-        }
-    }
-    .main_middle_matter{
-        padding-top: 15px;
-        width: 100%;
-        display: flex;
-        justify-content: space-between;
-
-        .middle_items{
-            width: 150px;
-            height: 80px;
-            background: url('../../../assets/stir_img.png') no-repeat;
-            background-size: 100% 100%;
-            display: flex;
-            justify-content: center;
-            align-items: center;
-            flex-direction: column;
-            .middle_items_text{
-                color: #E1E5EB;
-            }
-            .middle_items_datas{
-                color: #18F6F8;
-                font-size: 18px;
-                font-weight: 600;
-            }
-        }
-    }
-}
-
-.echarts_items{
-    height: 332px;
-    padding-top: 10px;
-    padding-bottom: 15px;
-    margin-bottom: 20px;
-    .main_echart_titles{
-        width: 97%;
-        color: #18F6F8;
-        padding-bottom: 15px;
-        padding-left: 15px;
-        border-bottom: 1px solid #1C51B1;
-        position: relative;
-        &::before{
-            width: 2px;
-            height: 15px;
-            content: "";
-            position: absolute;
-            top: 3px;
-            left: 5px;
-            background-color: #18F6F8;
-        }
-    }
-    .main_content_chart {
-        height: 100%;
-    }
-}
-/deep/.el-radio-button__orig-radio:checked + .el-radio-button__inner{
-    color: #19F7F9;
-    border-color: #18F6F8;
-    background-color: #0D4573!important;
-}
-/deep/.el-radio-button__inner{
-    background-color: #0D4573;
-    border-color:#18F6F8;
-    border-radius: 0px 0px !important;
-    border-color: #18F6F8;
-    color: #E2E9EE;
-}
-</style>
+<!-- 物资管理=>消耗统计=>原材料消耗 -->
+<template>
+  <div class="main">
+    <div class="main_header">
+        <div class="header_item">
+            <span class="header_label">材料类型:</span>
+            <el-select v-model="search.materialName" placeholder="全部" clearable>
+                <el-option
+                    v-for="item in optionMaterials"
+                    :key="item.dictId"
+                    :label="item.dictName"
+                    :value="item.dictId">
+                </el-option>
+            </el-select>
+        </div>
+        <div class="header_item">
+            <el-radio-group v-model="tabPosition" @input="timesChange"> 
+                <el-radio-button label="day">日</el-radio-button>
+                <el-radio-button label="month">月</el-radio-button>
+            </el-radio-group>
+        </div>
+        <div class="header_item" v-if="showTimes">
+            <span class="header_label">选择时间:</span>
+            <el-date-picker
+            v-model="search.dayData"
+            :picker-options="pickerOptionsDay"
+            :clearable="false"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期">
+            </el-date-picker>
+        </div>
+        <div class="header_item" v-if="!showTimes">
+            <span class="header_label">选择月份:</span>
+            <el-date-picker
+            v-model="search.monthData"
+            :picker-options="pickerOptionsMonth"
+            :clearable="false"
+            type="monthrange"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期">
+            </el-date-picker>
+        </div>
+        <div class="header_item">
+            <el-button v-if="showButton('search')" icon="el-icon-search" @click="searchButtonInfo()">查询</el-button>
+            <el-button v-if="showButton('export')" icon="el-icon-download" @click="exportExcel()">导出Excel</el-button>
+        </div>
+    </div>
+    <div class="main_middle">
+        <div class="main_middle_titles">数据统计</div>
+        <div class="main_middle_matter">
+            <div class="middle_items" v-for="(item,index) in showDatas" :key="index">
+                <div class="middle_items_text">{{item.materialName}}</div>
+                <div class="middle_items_datas">{{item.materialValue | toFloat }}</div>
+            </div>
+        </div>
+    </div>
+    <div class="main_content" style="overflow:auto;padding-bottom:100px;">
+        <div v-for="(echartItem,echartIndex) in echartsList" :key="echartIndex" class="echarts_items">
+            <div class="main_echart_titles">{{echartItem.materialCName}}(吨)</div>
+            <div :id="echartItem.materialName" class="main_content_chart"></div>
+        </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { buttonPinia } from '../../../pinia';
+import { downFiles } from '../../../plugins/public'; 
+export default {
+  name: 'MaterialCost',
+  data() {
+    return {
+        search:{
+            dayData:this.getDateTime(),
+            monthData:this.getMonthTime()
+        },//查询条件
+        tabPosition:'day',//默认展示day
+        showTimes:true,//是否展示日的日期  true:日  false: 月
+        dateType:1,// 1:日  2:月
+        optionMaterials:[],//材料类型
+        showDatas:[],//展示的数据统计
+        echartsList:[],//展示echarts表
+        pickerMinDate:'',//日期选择增加限制
+        pickerOptionsDay:{ //限制选择日期为15天
+            onPick: ({
+                maxDate,
+                minDate
+            }) => {
+                this.pickerMinDate = minDate.getTime()
+                if (maxDate) {
+                    this.pickerMinDate = ''
+                }
+            },
+            disabledDate: (time) => {
+                if (this.pickerMinDate !== '') {
+                    const one = 15 * 24 * 3600 * 1000
+                    const minTime = this.pickerMinDate - one
+                    const maxTime = this.pickerMinDate + one
+                    return time.getTime() < minTime || time.getTime() > maxTime
+
+                }
+            }
+        },
+        minDates: null,
+        maxDates: null,
+        pickerOptionsMonth: {
+            disabledDate: (time) => {
+                if (this.minDates !== null) {
+                    let minMonth = this.minDates.getMonth(),
+                    lastYear = new Date(this.minDates).setMonth(minMonth - 6),
+                    nextYear = new Date(this.minDates).setMonth(minMonth + 6);
+                    // 只能选 minDate 前后6个月的范围
+                    return time.valueOf() < lastYear.valueOf() || time.valueOf() > nextYear.valueOf();
+                }
+                return false;
+            },
+            onPick: ({minDate, maxDate}) => {
+                this.minDates = minDate;
+                this.maxDates = maxDate;
+            }
+        },
+    }
+  },
+  filters: {
+    toFloat(value) {
+        return value && value !== '0' ? value.split('.')[0] + '.00' : 0
+    }
+  },
+  mounted() {
+    this.searchButtonInfo()
+    this.getAllTypes()
+  },
+  methods: {
+    // 导出Excel
+    exportExcel() {
+        let params = {
+           materialName:this.search.materialName ===undefined ||this.search.materialName ==='' ?'both':this.search.materialName,
+           dateType:this.dateType
+        }
+        if(this.dateType === 1){
+            params.startDay = this.search.dayData&&this.search.dayData[0]
+            params.endDay = this.search.dayData&&this.search.dayData[1]
+            delete params.dayData
+        }else{
+            params.startDay = this.search.monthData&&this.search.monthData[0]
+            params.endDay = this.search.monthData&&this.search.monthData[1]
+            delete params.monthData 
+        }
+        this.$api.Ducts.exportBtns(params).then(res=>{
+            downFiles(res, '原材料消耗信息', 'xls')
+        })
+    },
+    //获取时间(默认15天)
+    getDateTime(){
+      return [new Date(new Date().getTime() - 3600*1000*24*15).toISOString().replace('T',' ').split('.')[0],new Date().toISOString().replace('T',' ').split('.')[0]]
+    },
+    //获取时间(默认6个月)
+    getMonthTime(){
+        let date = new Date();
+        let year = date.getFullYear();
+        let month = date.getMonth() + 1;
+        let newYear = 0;
+        let newMonth = 0;
+        let newDateArr = [];
+        for (let i = 0; i < 7; i++) {
+            //这里是获取前六个月,所以循环6次,根据需要修改
+            if (month - i < 1) {
+            //这里的判断是如果当前月份往前推到了去年  需要做的处理
+            newYear = year - 1;
+            newMonth = month - i + 12 >= 10 ? month - i + 12 : '0' + (month - i + 12);
+            newDateArr.push(newYear + '-' + newMonth); //这里拼接格式化,在时间中间加了个-,根据实际需求来
+            } else {
+            newMonth = month - i >= 10 ? month - i : '0' + (month - i); //这里是对月份小于10做加前面加0处理
+            newDateArr.push(year + '-' + newMonth);
+            }
+        }
+        //这里就最后得到当前年月前六个月组成的时间数组,根据需要赋值使用即可
+        const end = newDateArr[0];
+        const start = newDateArr[6];
+        return [start+'-'+'01', end+'-'+'01'];
+    },
+    //获取设备类型
+    getAllTypes(){
+        let params = {
+            pageNum: 1,
+            pageSize: 100000000,
+        }
+        this.$api.Dictionary.searchDictionary(params).then(res=>{
+            if(res.statusMsg === 'ok'){
+                this.optionMaterials = res.data.list.filter(item=>item.dictType ==='pipe_materials')
+            }else{
+                this.$message.warning(res.statusMsg)
+            }
+        })
+    },
+    //展示不同的时间
+    timesChange(val){
+        if(val === 'month'){
+            this.showTimes = false
+            // this.search.dayData = ''
+            this.dateType = 2
+        }else{
+            this.showTimes = true
+            // this.search.monthData = ''
+            this.dateType = 1
+        }
+    },
+    //查询按钮
+    searchButtonInfo() {
+        let params = {
+           materialName:this.search.materialName ===undefined ||this.search.materialName ==='' ?'both':this.search.materialName,
+           dateType:this.dateType
+        }
+        if(this.dateType === 1){
+            params.startDay = this.search.dayData&&this.search.dayData[0]
+            params.endDay = this.search.dayData&&this.search.dayData[1]
+            delete params.dayData
+        }else{
+            params.startDay = this.search.monthData&&this.search.monthData[0]
+            params.endDay = this.search.monthData&&this.search.monthData[1]
+            delete params.monthData 
+        }
+        this.$api.Analyse.searchMaterialCost(params).then(res=>{
+            if(res.statusMsg === 'ok'){
+                this.showDatas = res.data.materialTotal
+                this.echartsList = res.data.statResult
+                res.data.statResult.forEach(item=>{
+                    this.$nextTick(() => {
+                        this.createCharts(item.materialName, item.statVoList,item.materialCName);
+                    }) 
+                })
+            }else{
+                this.$message.warning(res.statusMsg)
+            }
+        })
+    },
+     // 创建echart图表
+    createCharts(name, data,titleName) {
+        const labelData = data.map(item => item.shuDate);
+        const firstData = data.map(item => item.materialValue ? item.materialValue : 0);
+        const chartsImage = this.$echarts.init(document.getElementById(name));
+        const option = {
+        animationDuration: 1500,
+        tooltip: {
+            trigger: "axis",
+            backgroundColor:'#071F46',
+            textStyle:{
+                color:'#fff',
+            },
+            formatter: function (params) {
+            var relVal = params[0].name;
+            for (var i = 0; i < params.length; i++) {
+                if (params[i].componentIndex === 0) {
+                relVal +=
+                    "<br/>" +
+                    params[i].marker +
+                    `${titleName}` +
+                    " : " +
+                    params[i].value;
+                }
+            }
+            return relVal;
+            },
+        },
+        grid: {
+            top: "15%",
+            right: "3%",
+            left: "3%",
+            bottom: "11%",
+        },
+        xAxis: [
+            {
+            type: "category",
+            data: labelData,
+            axisLine: {
+                lineStyle: {
+                width: 2,
+                color: "#B7E4F7",
+                },
+            },
+            axisLabel: {
+                color: "#B7E4F7",
+            },
+            axisTick: {
+                show: false,
+            },
+            },
+        ],
+        yAxis: [
+            {
+            type: "value",
+            // max: 100,
+            splitNumber: 10,
+            axisLabel: {
+                formatter: "{value}",
+                textStyle: {
+                color: "#CAD3E0",
+                },
+            },
+            splitLine: {
+                lineStyle: {
+                width: 2,
+                type: "dashed",
+                color: "#28477C",
+                },
+            },
+            },
+            {
+            type: "value",
+            max: 100,
+            splitNumber: 10,
+            axisLabel: {
+                formatter: "{value}%",
+                textStyle: {
+                color: "#B7E4F7",
+                },
+            },
+            splitLine: {
+                show: false,
+            },
+            },
+        ],
+        series: [
+            {
+            type: "line",
+            smooth:true,
+            data: firstData,
+            barWidth:40,
+            yAxisIndex: 0,
+            itemStyle: {
+                normal: {
+                color: new this.$echarts.graphic.LinearGradient( 0, 0, 0, 1,
+                    [
+                    {
+                        offset: 0,
+                        color: "rgba(15, 106, 134, 1)", // 0% 处的颜色
+                    },
+                    {
+                        offset: 1,
+                        color: "rgba(28, 186, 233, 1)", // 100% 处的颜色
+                    },
+                    ],
+                    false
+                ),
+                },
+            },
+            },
+        ],
+        }
+        chartsImage.clear();
+        chartsImage.setOption(option);
+        window.onresize = () => {
+            chartsImage.resize()
+        }
+    },
+    // 判断按钮权限信息
+    showButton(str) {
+      const pinia = buttonPinia();
+      return pinia.$state.buttonInfo.includes(str);
+    }
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+@import "@/style/layout-main.scss";
+
+.main_middle{
+    width: 97%;
+    margin: 10px 18px;
+
+    .main_middle_titles{
+        width: 100%;
+        color: #19F6F8;
+        position: relative;
+        padding: 10px 15px;
+        border-bottom:1px solid #1B50AE ;
+        &::before{
+            content: "";
+            position: absolute;
+            left: 5px;
+            top: 10px;
+            width: 2px;
+            height: 18px;
+            background-color: #18F6F8;
+        }
+    }
+    .main_middle_matter{
+        padding-top: 15px;
+        width: 100%;
+        display: flex;
+        justify-content: space-between;
+
+        .middle_items{
+            padding: 0.6% 2.4%;
+            background: url('../../../assets/stir_img.png') no-repeat;
+            background-size: 100% 100%;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            flex-direction: column;
+            .middle_items_text{
+                color: #E1E5EB;
+            }
+            .middle_items_datas{
+                color: #18F6F8;
+                font-size: 18px;
+                font-weight: 600;
+            }
+        }
+    }
+}
+
+.echarts_items{
+    height: 332px;
+    padding-top: 10px;
+    padding-bottom: 15px;
+    margin-bottom: 20px;
+    .main_echart_titles{
+        width: 97%;
+        color: #18F6F8;
+        padding-bottom: 15px;
+        padding-left: 15px;
+        border-bottom: 1px solid #1C51B1;
+        position: relative;
+        &::before{
+            width: 2px;
+            height: 15px;
+            content: "";
+            position: absolute;
+            top: 3px;
+            left: 5px;
+            background-color: #18F6F8;
+        }
+    }
+    .main_content_chart {
+        height: 100%;
+    }
+}
+/deep/.el-radio-button__orig-radio:checked + .el-radio-button__inner{
+    color: #19F7F9;
+    border-color: #18F6F8;
+    background-color: #0D4573!important;
+}
+/deep/.el-radio-button__inner{
+    background-color: #0D4573;
+    border-color:#18F6F8;
+    border-radius: 0px 0px !important;
+    border-color: #18F6F8;
+    color: #E2E9EE;
+}
+</style>

--
Gitblit v1.9.3