From 9e9c34fe3454d7aa4cab8d4b76608d0cf9f51e74 Mon Sep 17 00:00:00 2001
From: 叶松 <2217086471@qq.com>
Date: 星期三, 22 十一月 2023 10:31:28 +0800
Subject: [PATCH] 增加制作人字段
---
web/src/views/GoodManage/CostStatistics/RebarCost.vue | 966 ++++++++++++++++++++++++++++----------------------------
1 files changed, 480 insertions(+), 486 deletions(-)
diff --git a/web/src/views/GoodManage/CostStatistics/RebarCost.vue b/web/src/views/GoodManage/CostStatistics/RebarCost.vue
index 0e54af7..6c7e432 100644
--- a/web/src/views/GoodManage/CostStatistics/RebarCost.vue
+++ b/web/src/views/GoodManage/CostStatistics/RebarCost.vue
@@ -1,486 +1,480 @@
-<template>
- <div class="main">
- <div class="main_header">
- <div class="header_item">
- <span class="header_label">型号:</span>
- <el-select v-model="search.steelId" placeholder="请选择型号" clearable>
- <el-option
- v-for="item in optionRebar"
- :key="item.steelId"
- :label="item.steelName"
- :value="item.steelId">
- </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"
- 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="exportBearExcel()">导出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.steelModel}}</div>
- <div class="middle_items_datas">{{item.changeStock}}</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.steelModel}}mm</div>
- <div :id="echartItem.steelId" class="main_content_chart"></div>
- </div>
- </div>
- </div>
-</template>
-
-<script>
-import { buttonPinia } from '../../../pinia';
-import { downFiles } from '../../../plugins/public';
-export default {
- name: 'RebarCost',
- data() {
- return {
- search:{
- dayData:this.getDateTime(),
- monthData:this.getMonthTime()
- },//查询条件
- tabPosition:'day',//默认展示day
- showTimes:true,//是否展示日的日期 true:日 false: 月
- dateType:1,// 1:日 2:月
- optionRebar:[],//材料类型
- showDatas:[],//展示的数据统计
- echartsList:[],//展示echarts表
- chartsImage:null,
- 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: {
- // 转圈圈
- functionLoading() {
- this.loadingView = this.$loading({
- lock: true,
- text: '请稍后...',
- spinner: 'el-icon-loading',
- background: 'rgba(0, 0, 0, 0.7)'
- });
- },
- //导出
- exportBearExcel() {
- let params = {
- steelId:this.search.steelId ===undefined ||this.search.steelId ==='' ?'':this.search.steelId,
- dateType:this.dateType
- }
- if(this.dateType === 1){
- params.strTime = this.search.dayData&&this.search.dayData[0]
- params.endTime = this.search.dayData&&this.search.dayData[1]
- delete params.dayData
- }else{
- params.strTime = this.search.monthData&&this.search.monthData[0]
- params.endTime = this.search.monthData&&this.search.monthData[1]
- delete params.monthData
- }
- this.functionLoading();
- this.$api.Analyse.exportRebarCost(params).then(res => {
- downFiles(res, '钢筋消耗信息', 'xls')
- this.loadingView.close()
- })
- .catch(() => {
- this.loadingView.close();
- })
- },
- //获取时间(默认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, end];
- },
- //获取所有型号
- getAllTypes(){
- this.$api.Production.getTableTitleInfo({}).then(res=>{
- if(res.statusMsg === 'ok'){
- this.optionRebar = res.data
- }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 = {
- steelId:this.search.steelId ===undefined ||this.search.steelId ==='' ?'':this.search.steelId,
- dateType:this.dateType
- }
- if(this.dateType === 1){
- params.strTime = this.search.dayData&&this.search.dayData[0]
- params.endTime = this.search.dayData&&this.search.dayData[1]
- delete params.dayData
- }else{
- params.strTime = this.search.monthData&&this.search.monthData[0]
- params.endTime = this.search.monthData&&this.search.monthData[1]
- delete params.monthData
- }
- this.$api.Analyse.searchRebarCost(params).then(res=>{
- if(res.statusMsg === 'ok'){
- this.echartsList = res.data
- res.data.forEach(item=>{
- let xtitle = item.betweenDate
- let showStock = []
- item.steelStatisticsDtos.forEach(ite=>{
- xtitle.forEach(iten=>{
- if(iten === ite.getDate){
- showStock.push({
- getDate:iten,
- changeStock:ite.changeStock
- })
- }else{
- showStock.push({
- getDate:iten,
- changeStock:0
- })
- }
- })
- })
- this.$nextTick(() => {
- this.createCharts(item.steelId, showStock,item.steelModel);
- })
- })
- }else{
- this.$message.warning(res.statusMsg)
- }
- })
- this.$api.Analyse.searchAnalyse(params).then(res=>{
- if(res.statusMsg === 'ok'){
- this.showDatas = res.data
- }else{
- this.$message.warning(res.statusMsg)
- }
- })
- },
- // 创建echart图表
- createCharts(name, data,titleName) {
- const labelData = data.map(item => item.getDate);
- const firstData = data.map(item => item.changeStock ? item.changeStock : 0);
- this.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,
- barWidth:40,
- data: firstData,
- 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
- ),
- },
- },
- },
- ],
- }
- this.chartsImage.clear();
- this.chartsImage.setOption(option);
- window.onresize = () => {
- this.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.steelId" placeholder="请选择型号" clearable>
+ <el-option v-for="item in optionRebar" :key="item.steelId" :label="item.steelName"
+ :value="item.steelId">
+ </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" 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="exportBearExcel()">导出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.steelModel }}</div>
+ <div class="middle_items_datas">{{ item.changeStock }}</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.steelModel }}mm</div>
+ <div :id="echartItem.steelId" class="main_content_chart"></div>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+import {buttonPinia} from '../../../pinia';
+import {downFiles} from '../../../plugins/public';
+export default {
+ name: 'RebarCost',
+ data() {
+ return {
+ search: {
+ dayData: this.getDateTime(),
+ monthData: this.getMonthTime()
+ },//查询条件
+ tabPosition: 'day',//默认展示day
+ showTimes: true,//是否展示日的日期 true:日 false: 月
+ dateType: 1,// 1:日 2:月
+ optionRebar: [],//材料类型
+ showDatas: [],//展示的数据统计
+ echartsList: [],//展示echarts表
+ chartsImage: null,
+ 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: {
+ // 转圈圈
+ functionLoading() {
+ this.loadingView = this.$loading({
+ lock: true,
+ text: '请稍后...',
+ spinner: 'el-icon-loading',
+ background: 'rgba(0, 0, 0, 0.7)'
+ });
+ },
+ //导出
+ exportBearExcel() {
+ let params = {
+ steelId: this.search.steelId === undefined || this.search.steelId === '' ? '' : this.search.steelId,
+ dateType: this.dateType
+ }
+ if (this.dateType === 1) {
+ params.strTime = this.search.dayData && this.search.dayData[0]
+ params.endTime = this.search.dayData && this.search.dayData[1]
+ delete params.dayData
+ } else {
+ params.strTime = this.search.monthData && this.search.monthData[0]
+ params.endTime = this.search.monthData && this.search.monthData[1]
+ delete params.monthData
+ }
+ this.functionLoading();
+ this.$api.Analyse.exportRebarCost(params).then(res => {
+ downFiles(res, '钢筋消耗信息', 'xls')
+ this.loadingView.close()
+ })
+ .catch(() => {
+ this.loadingView.close();
+ })
+ },
+ //获取时间(默认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, end];
+ },
+ //获取所有型号
+ getAllTypes() {
+ this.$api.Production.getTableTitleInfo({}).then(res => {
+ if (res.statusMsg === 'ok') {
+ this.optionRebar = res.data
+ } 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 = {
+ steelId: this.search.steelId === undefined || this.search.steelId === '' ? '' : this.search.steelId,
+ dateType: this.dateType
+ }
+ if (this.dateType === 1) {
+ params.strTime = this.search.dayData && this.search.dayData[0]
+ params.endTime = this.search.dayData && this.search.dayData[1]
+ delete params.dayData
+ } else {
+ params.strTime = this.search.monthData && this.search.monthData[0]
+ params.endTime = this.search.monthData && this.search.monthData[1]
+ delete params.monthData
+ }
+ this.$api.Analyse.searchRebarCost(params).then(res => {
+ if (res.statusMsg === 'ok') {
+ this.echartsList = res.data
+ res.data.forEach(item => {
+ let xtitle = item.betweenDate
+ let showStock = []
+ let _steelStatisticsDtos = {}
+ item.steelStatisticsDtos.forEach(val => {
+ if (!_steelStatisticsDtos[val.getDate]) {
+ _steelStatisticsDtos[val.getDate] = val
+ }
+ })
+ xtitle.forEach(val => {
+ let value = _steelStatisticsDtos[val]
+ showStock.push({
+ getDate: val,
+ changeStock: value ? value.changeStock : 0
+ })
+ })
+ this.$nextTick(() => {
+ this.createCharts(item.steelId, showStock, item.steelModel);
+ })
+ })
+ } else {
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ this.$api.Analyse.searchAnalyse(params).then(res => {
+ if (res.statusMsg === 'ok') {
+ this.showDatas = res.data
+ } else {
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ },
+ // 创建echart图表
+ createCharts(name, data, titleName) {
+ const labelData = data.map(item => item.getDate);
+ const firstData = data.map(item => item.changeStock ? item.changeStock : 0);
+ this.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,
+ barWidth: 40,
+ data: firstData,
+ 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
+ ),
+ },
+ },
+ },
+ ],
+ }
+ this.chartsImage.clear();
+ this.chartsImage.setOption(option);
+ window.onresize = () => {
+ this.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>
--
Gitblit v1.9.3