From 77536cfa95b1e3c5e60f94dce3a53aa2e93f121a Mon Sep 17 00:00:00 2001
From: zhangxiaoxu123 <819527061@qq.com>
Date: 星期三, 14 九月 2022 17:35:54 +0800
Subject: [PATCH] echarts添加显示隐藏按钮

---
 src/pages/show/shehuiBaozhang/shehuiBaozhangChildren/shebaoShouzhiZongbiao.vue |  428 +++++++++++++++++++++++++----------------------------
 1 files changed, 200 insertions(+), 228 deletions(-)

diff --git a/src/pages/show/shehuiBaozhang/shehuiBaozhangChildren/shebaoShouzhiZongbiao.vue b/src/pages/show/shehuiBaozhang/shehuiBaozhangChildren/shebaoShouzhiZongbiao.vue
index 6b8406d..2fe331a 100644
--- a/src/pages/show/shehuiBaozhang/shehuiBaozhangChildren/shebaoShouzhiZongbiao.vue
+++ b/src/pages/show/shehuiBaozhang/shehuiBaozhangChildren/shebaoShouzhiZongbiao.vue
@@ -3,321 +3,270 @@
     <div class="shebaoShouzhiZongbiao-table">
       <h1>绀句細淇濋殰鍩洪噾缁熻琛�</h1>
       <el-table
-        :cell-style="handleCellStyle"
+        :max-height="tableHeight"
         :data="tableData"
+        :cell-style="handleCellStyle"
         style="width: 100%">
+        <!--<template v-for="(item,index) in headerArry">
+          <template v-if="index == 0">
+            <el-table-column
+              align="center"
+              :prop="item.item"
+              label="椤圭洰"
+              fixed>
+              <template slot-scope="scope">
+                <span style="margin-left: 10px">{{scope.row.item}}</span>
+              </template>
+            </el-table-column>
+            <template v-for="(e,i) in item.dataList">
+              <el-table-column :label="e.month" align="center">
+                <el-table-column
+                  align="center"
+                  label="鎬绘敹鍏�">
+                  <template slot-scope="scope">
+                    <template>
+                      <template>
+                        <span :class="[Number(e.taxesIncome) < 0 ? 'fontColorRed' : '']" style="margin-left: 10px">{{scope.row.dataList[0].totalIncome}}</span>
+                      </template>
+                    </template>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  align="center"
+                  label="寰侀泦鏀跺叆">
+                  <template slot-scope="scope">
+                    <span :class="[Number(e.taxesIncome) < 0 ? 'fontColorRed' : '']" style="margin-left: 10px">{{scope.row.dataList[0].taxesIncome}}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  align="center"
+                  label="鏈湀鏀嚭">
+                  <template slot-scope="scope">
+                    <span :class="[Number(e.pay) < 0 ? 'fontColorRed' : '']" style="margin-left: 10px">{{scope.row.dataList[0].pay}}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  align="center"
+                  label="鏈湀缁撲綑">
+                  <template slot-scope="scope">
+                    <span :class="[Number(e.balance) < 0 ? 'fontColorRed' : '']" style="margin-left: 10px">{{scope.row.dataList[0].balance}}</span>
+                  </template>
+                </el-table-column>
+              </el-table-column>
+            </template>
+            <template>
+              <el-table-column
+                align="center"
+                :prop="item.surplus"
+                label="绱缁撲綑">
+                <template slot-scope="scope">
+                  <span :class="[Number(item.surplus) < 0 ? 'fontColorRed' : '']" style="margin-left: 10px">{{item.surplus}}</span>
+                </template>
+              </el-table-column>
+            </template>
+          </template>
+        </template>-->
         <el-table-column
+          width="260"
           align="center"
-          prop="name"
-          label="椤圭洰"
-          fixed>
+          prop="item"
+          label="椤圭洰">
         </el-table-column>
-        <el-table-column label="1鏈�" align="center">
+        <el-table-column v-if="tableData[0]" :label="tableData[0].month1" align="center">
           <el-table-column
             align="center"
-            prop="totalMoney"
             label="鎬绘敹鍏�">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.totalIncome1) < 0 ? 'fontColorRed' : ''">{{scope.row.totalIncome1}}</span>
+            </template>
           </el-table-column>
           <el-table-column
             align="center"
-            prop="zhengjishouru"
+            prop="taxesIncome1"
             label="寰侀泦鏀跺叆">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.taxesIncome1) < 0 ? 'fontColorRed' : ''">{{scope.row.taxesIncome1}}</span>
+            </template>
           </el-table-column>
           <el-table-column
             align="center"
-            prop="benyuezhichu"
+            prop="pay1"
             label="鏈湀鏀嚭">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.pay1) < 0 ? 'fontColorRed' : ''">{{scope.row.pay1}}</span>
+            </template>
           </el-table-column>
           <el-table-column
             align="center"
-            prop="item.benyuejieyu"
+            prop="balance1"
             label="鏈湀缁撲綑">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.balance1) < 0 ? 'fontColorRed' : ''">{{scope.row.balance1}}</span>
+            </template>
           </el-table-column>
         </el-table-column>
-        <el-table-column label="2鏈�" align="center">
+        <el-table-column v-if="tableData[0]" :label="tableData[0].month2" align="center">
           <el-table-column
             align="center"
-            prop="totalMoney"
+            prop="totalIncome2"
             label="鎬绘敹鍏�">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.totalIncome2) < 0 ? 'fontColorRed' : ''">{{scope.row.totalIncome2}}</span>
+            </template>
           </el-table-column>
           <el-table-column
             align="center"
-            prop="totalMoney"
+            prop="taxesIncome2"
             label="寰侀泦鏀跺叆">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.taxesIncome2) < 0 ? 'fontColorRed' : ''">{{scope.row.taxesIncome2}}</span>
+            </template>
           </el-table-column>
           <el-table-column
             align="center"
-            prop="totalMoney"
+            prop="pay2"
             label="鏈湀鏀嚭">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.pay2) < 0 ? 'fontColorRed' : ''">{{scope.row.pay2}}</span>
+            </template>
           </el-table-column>
           <el-table-column
             align="center"
-            prop="totalMoney"
+            prop="balance2"
             label="鏈湀缁撲綑">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.balance2) < 0 ? 'fontColorRed' : ''">{{scope.row.balance2}}</span>
+            </template>
           </el-table-column>
         </el-table-column>
-        <el-table-column label="3鏈�" align="center">
+        <el-table-column v-if="tableData[0]" :label="tableData[0].month3" align="center">
           <el-table-column
             align="center"
-            prop="totalMoney"
+            prop="totalIncome3"
             label="鎬绘敹鍏�">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.totalIncome3) < 0 ? 'fontColorRed' : ''">{{scope.row.totalIncome3}}</span>
+            </template>
           </el-table-column>
           <el-table-column
             align="center"
-            prop="totalMoney"
+            prop="taxesIncome3"
             label="寰侀泦鏀跺叆">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.taxesIncome3) < 0 ? 'fontColorRed' : ''">{{scope.row.taxesIncome3}}</span>
+            </template>
           </el-table-column>
           <el-table-column
             align="center"
-            prop="totalMoney"
+            prop="pay3"
             label="鏈湀鏀嚭">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.pay3) < 0 ? 'fontColorRed' : ''">{{scope.row.pay3}}</span>
+            </template>
           </el-table-column>
           <el-table-column
             align="center"
-            prop="totalMoney"
+            prop="balance3"
             label="鏈湀缁撲綑">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.balance3) < 0 ? 'fontColorRed' : ''">{{scope.row.balance3}}</span>
+            </template>
           </el-table-column>
         </el-table-column>
-        <el-table-column label="4鏈�" align="center">
+        <el-table-column v-if="tableData[0]" :label="tableData[0].month4" align="center">
           <el-table-column
             align="center"
-            prop="totalMoney"
+            prop="totalIncome4"
             label="鎬绘敹鍏�">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.totalIncome4) < 0 ? 'fontColorRed' : ''">{{scope.row.totalIncome4}}</span>
+            </template>
           </el-table-column>
           <el-table-column
             align="center"
-            prop="totalMoney"
+            prop="taxesIncome4"
             label="寰侀泦鏀跺叆">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.taxesIncome4) < 0 ? 'fontColorRed' : ''">{{scope.row.taxesIncome4}}</span>
+            </template>
           </el-table-column>
           <el-table-column
             align="center"
-            prop="totalMoney"
+            prop="pay4"
             label="鏈湀鏀嚭">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.pay4) < 0 ? 'fontColorRed' : ''">{{scope.row.pay4}}</span>
+            </template>
           </el-table-column>
           <el-table-column
             align="center"
-            prop="totalMoney"
+            prop="balance4"
             label="鏈湀缁撲綑">
-          </el-table-column>
-        </el-table-column>
-        <el-table-column label="5鏈�" align="center">
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鎬绘敹鍏�">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="寰侀泦鏀跺叆">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀鏀嚭">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀缁撲綑">
-          </el-table-column>
-        </el-table-column>
-        <el-table-column label="6鏈�" align="center">
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鎬绘敹鍏�">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="寰侀泦鏀跺叆">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀鏀嚭">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀缁撲綑">
-          </el-table-column>
-        </el-table-column>
-        <el-table-column label="7鏈�" align="center">
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鎬绘敹鍏�">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="寰侀泦鏀跺叆">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀鏀嚭">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀缁撲綑">
-          </el-table-column>
-        </el-table-column>
-        <el-table-column label="9鏈�" align="center">
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鎬绘敹鍏�">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="寰侀泦鏀跺叆">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀鏀嚭">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀缁撲綑">
-          </el-table-column>
-        </el-table-column>
-        <el-table-column label="10鏈�" align="center">
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鎬绘敹鍏�">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="寰侀泦鏀跺叆">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀鏀嚭">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀缁撲綑">
-          </el-table-column>
-        </el-table-column>
-        <el-table-column label="11鏈�" align="center">
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鎬绘敹鍏�">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="寰侀泦鏀跺叆">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀鏀嚭">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀缁撲綑">
-          </el-table-column>
-        </el-table-column>
-        <el-table-column label="12鏈�" align="center">
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鎬绘敹鍏�">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="寰侀泦鏀跺叆">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀鏀嚭">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀缁撲綑">
-          </el-table-column>
-        </el-table-column>
-        <el-table-column label="鏈勾绱" align="center">
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鎬绘敹鍏�">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="寰侀泦鏀跺叆">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀鏀嚭">
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="totalMoney"
-            label="鏈湀缁撲綑">
+            <template slot-scope="scope">
+              <span :class="Number(scope.row.balance4) < 0 ? 'fontColorRed' : ''">{{scope.row.balance4}}</span>
+            </template>
           </el-table-column>
         </el-table-column>
         <el-table-column
           align="center"
-          prop="name"
+          prop="surplus"
           label="绱缁撲綑">
+          <template slot-scope="scope">
+            <span :class="Number(scope.row.surplus) < 0 ? 'fontColorRed' : ''">{{scope.row.surplus}}</span>
+          </template>
         </el-table-column>
       </el-table>
-      <div class="shebaoShouzhiZongbiaoEcharts" id="shebaoShouzhiZongbiaoEcharts"></div>
+      <div v-show="echartsShow" class="shebaoShouzhiZongbiaoEcharts" id="shebaoShouzhiZongbiaoEcharts"></div>
+      <div class="yincang-box">
+        <el-button @click="showEchartsBtn" v-show="echartsShow" type="primary">闅愯棌</el-button>
+        <el-button @click="showEchartsBtn" v-show="!echartsShow" type="primary">鏄剧ず</el-button>
+      </div>
     </div>
   </div>
 </template>
 
 <script>
   import nowSize from "../../../../libs/nowSize";
+  import {getStatisticsTable,getStatisticsChart } from '@/api/shehuiBaozhang'
+  import index from "../../index/index";
 export default {
   name: "shebaoShouzhiZongbiao",
   data() {
     return {
       tableHead:[],
-      tableData:[
-        {
-          name: '椤圭洰1',
-          mouth: '1鏈�',
-          totalMoney: '2222',
-          zhengjishouru: '12333',
-          benyuezhichu:'52667',
-          benyuejieyu:'2332'
-        },
-        {
-          name: '椤圭洰2',
-          mouth: '1鏈�',
-          totalMoney: '2222',
-          zhengjishouru: '12333',
-          benyuezhichu:'52667',
-          benyuejieyu:'2332'
-        }
-      ]
+      tableData:[],
+      headerArry:{},
+      echartsSeries:{},
+      tableHeight: window.innerHeight - nowSize(960),
+        echartsShow: true
     }
   },
   mounted() {
-     this.shebaoShouzhiZongbiaoEcharts()
+      this.getStatisticsTable()
+     this.getStatisticsChart()
   },
   methods: {
+      showEchartsBtn() {
+          this.echartsShow = !this.echartsShow
+          if(this.echartsShow) {
+              this.tableHeight = window.innerHeight - nowSize(960)
+          }else {
+              this.tableHeight = window.innerHeight - nowSize(320)
+          }
+      },
+      getStatisticsTable() {
+          getStatisticsTable().then(res => {
+              if(res.code == 1000) {
+                  this.tableData = res.list
+                  res.list.forEach((item,index) => {
+                      if(index == 0) {
+                          this.headerArry = item
+                          console.log(this.headerArry,'this.headerArry====')
+                      }
+                  })
+              }
+          })
+      },
       shebaoShouzhiZongbiaoEcharts() {
           let myEchart = this.$echarts.init(document.getElementById('shebaoShouzhiZongbiaoEcharts'))
           let option = {
@@ -350,13 +299,13 @@
                   top: '15%',
                   left: '4%',
                   right: '18%',
-                  bottom: '3%',
+                  bottom: '9%',
                   containLabel: true
               },
               xAxis: {
                   type: 'category',
                   boundaryGap: false,
-                  data: ['2021/4', '2021/5', '2021/6', '2021/7', '2021/8', '2021/9', '2021/10'],
+                  data: this.echartsSeries.years,
                   axisLabel: {
                       show: true,
                       textStyle: {
@@ -399,22 +348,22 @@
                   {
                       name: '骞寸疮璁℃�绘敹鍏�',
                       type: 'line',
-                      data: [370, 332, 401, 534, 490, 530, 910]
+                      data: this.echartsSeries.income
                   },
                   {
                       name: '骞寸疮璁℃敮鍑�',
                       type: 'line',
-                      data: [220, 182, 191, 234, 290, 330, 310]
+                      data: this.echartsSeries.pay
                   },
                   {
                       name: '骞寸疮璁″緛缂存敹鍏�',
                       type: 'line',
-                      data: [150, 132, 201, 154, 190, 330, 410]
+                      data: this.echartsSeries.taxes
                   },
                   {
                       name: '骞寸疮璁$粨浣�',
                       type: 'line',
-                      data: [350, 112, 209, 164, 290, 310, 400]
+                      data:this.echartsSeries.balance
                   }
               ]
           };
@@ -423,11 +372,20 @@
               myEchart.resize()
           })
       },
-      handleCellStyle({rowIndex, columnIndex}) {
+      handleCellStyle({row, column, rowIndex, columnIndex}) {
           if(columnIndex == 0) {
               return { background:'#51D2FF' }
           }
       },
+    //35. 鏌ヨ鍘嗗勾绀句繚鍩洪噾鏁版嵁鍒嗘瀽鍥炬暟鎹帴鍙�
+    getStatisticsChart() {
+      getStatisticsChart().then(res => {
+        if(res.code ===1000){
+          this.echartsSeries = res.obj
+          this.shebaoShouzhiZongbiaoEcharts()
+        }
+      })
+    }
   }
 }
 </script>
@@ -501,9 +459,23 @@
       text-align: center;
       line-height: 2;
     }
+    .fontColorBlue {
+      color: $color-blue;
+    }
+    .fontColorRed {
+      color: #FF3939;
+    }
   }
   .shebaoShouzhiZongbiaoEcharts{
     height: calc(100% - 640px - 0.33203125rem  /* 85/256 */);
   }
 }
+.shebaoShouzhiZongbiao-table{
+  position: relative;
+  .yincang-box{
+    position: absolute;
+    right: 0.078125rem  /* 20/256 */;
+    bottom: 0.078125rem  /* 20/256 */;
+  }
+}
 </style>

--
Gitblit v1.9.1