From 08b5ddfa9a0a2ed52bd7d7b98ca16ef4dcc610a6 Mon Sep 17 00:00:00 2001
From: zhangxiaoxu123 <819527061@qq.com>
Date: 星期二, 13 九月 2022 14:19:43 +0800
Subject: [PATCH] 页面修改

---
 src/pages/show/jiuyeAndChuangye/jiuyeChildren/biyeshengStatistics.vue |  236 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 228 insertions(+), 8 deletions(-)

diff --git a/src/pages/show/jiuyeAndChuangye/jiuyeChildren/biyeshengStatistics.vue b/src/pages/show/jiuyeAndChuangye/jiuyeChildren/biyeshengStatistics.vue
index a791a62..0f21727 100644
--- a/src/pages/show/jiuyeAndChuangye/jiuyeChildren/biyeshengStatistics.vue
+++ b/src/pages/show/jiuyeAndChuangye/jiuyeChildren/biyeshengStatistics.vue
@@ -1,6 +1,6 @@
 <template>
     <div class="biyeshengStatistics-wrap">
-      <table class="biyeshengStatistics-table">
+      <!--<table class="biyeshengStatistics-table">
         <thead>
           <tr>
             <th colspan="1">搴忓彿</th>
@@ -251,22 +251,242 @@
             <td colspan="2">45682</td>
           </tr>
         </tbody>
-      </table>
+      </table>-->
+      <el-table
+        :max-height="tableHeight"
+        :data="tableData"
+        :span-method="objectSpanMethod"
+        :cell-style="cellClass"
+        border>
+        <el-table-column
+          align="center"
+          type="index"
+          label="搴忓彿"
+          width="110">
+        </el-table-column>
+        <template v-for="(item,index) in heardArry">
+          <el-table-column
+            :key="index"
+            align="center"
+            :prop="item"
+            :label="item">
+          </el-table-column>
+        </template>
+        <!--<el-table-column
+          align="center"
+          prop="xiangmu"
+          label="椤圭洰"
+          width="300">
+        </el-table-column>
+        <el-table-column
+          align="center"
+          prop="year"
+          label="2017骞�">
+        </el-table-column>
+        <el-table-column
+          align="center"
+          prop="year"
+          label="2018骞�">
+        </el-table-column>
+        <el-table-column
+          align="center"
+          prop="year"
+          label="2019骞�">
+        </el-table-column>
+        <el-table-column
+          align="center"
+          prop="year"
+          label="2020骞�">
+        </el-table-column>-->
+      </el-table>
     </div>
 </template>
 
 <script>
+  import nowSize from "../../../../libs/nowSize";
+  import {getGraduateTable} from '@/api/jiuyeAndChuangye'
     export default {
-        name: "biyeshengStatistics"
+        name: "biyeshengStatistics",
+        data() {
+            return {
+                tableData: [],
+                heardArry: [],
+                rowIndexArr: [],//瀛樺偍鍚堝苟鍗曞厓鏍肩殑寮�濮嬩綅缃�
+                tableHeight: window.innerHeight - nowSize(230)
+            }
+        },
+        mounted() {
+          this.getGraduateTable()
+        },
+        methods: {
+            objectSpanMethod({rowIndex, columnIndex}) {  //鍚堝苟鍗曞厓鏍�
+                if(columnIndex == 0) {
+                    if(this.rowIndexArr.includes(rowIndex)) {
+                        console.log(rowIndex,'------index')
+                        return {
+                            rowspan:  this.rowIndexArr[this.rowIndexArr.indexOf(rowIndex) + 1] - rowIndex,
+                            colspan: 1,
+                        }
+                    }else {
+                        return {
+                            rowspan: 0,
+                            colspan: 0
+                        }
+                    }
+                }
+            },
+            cellClass({ row, column, rowIndex, columnIndex }) {  //淇敼鏌愪釜鍗曞厓鏍兼牱寮�
+                if(columnIndex == 1) {
+                    if(this.rowIndexArr.includes(rowIndex)) {
+                        return {
+                            textAlign: 'left'
+                        }
+                    }
+                }
+                if(columnIndex == 0) {
+                    return { background:'#51D2FF' }
+                }
+            },
+            getData() {
+              let res = this.tableData
+              res.reduce((prev, cur, curIndex) => {
+                 if(prev == 0 || prev != cur.mark) {
+                     this.rowIndexArr.push(curIndex)
+                 }
+                 return cur.mark
+              },0)
+              this.rowIndexArr.push(res.length)
+            },
+            getGraduateTable() {
+                getGraduateTable().then(res => {
+                    if(res.code == 1000) {
+                        let result = res.list
+                        let head = []
+                        let rows = []
+                        head.push('椤圭洰')
+                        if(!result) {
+                            this.tableData = []
+                            this.heardArry = []
+                        }
+                        result.forEach((item,index) => {
+                            head.push(item.year)
+                            item.dataList.forEach((e,i) => {
+                                if(!rows[i]) {
+                                    rows[i] = { '椤圭洰' : e.name}
+                                }
+                                rows[i][item.year] = e.val
+                                rows[i]['mark'] = e.mark
+                            })
+
+                        })
+                        this.tableData = rows
+                        this.heardArry = head
+                        this.getData()
+                    }
+                })
+
+            },
+            getMaxLength (arr) {
+                return arr.reduce((acc, item) => {
+                    if (item) {
+                        const calcLen = this.getTextWidth(item)
+                        if (acc < calcLen) {
+                            acc = calcLen
+                        }
+                    }
+                    return acc
+                }, 0)
+            },
+            /*鍔ㄦ�佽幏鍙栬〃鏍煎搴�*/
+            getTextWidth (str) {
+                let width = 0
+                const html = document.createElement('span')
+                html.innerText = str
+                html.className = 'getTextWidth'
+                document.querySelector('body').appendChild(html)
+                width = document.querySelector('.getTextWidth').offsetWidth
+                console.log('width',width)
+                document.querySelector('.getTextWidth').remove()
+                return width
+            },
+            getHeight() {
+                this.tableHeight = window.innerHeight - nowSize(230)
+            }
+        },
+        created() {
+            window.addEventListener('resize', this.getHeight)
+        },
+        destroyed() {
+            window.addEventListener('resize', this.getHeight)
+        }
     }
 </script>
+
+<style lang="scss">
+  @import "../../../../assets/css/base";
+  .biyeshengStatistics-wrap{
+    .el-table tr{
+      background-color: #CEF2FF;
+    }
+    .el-table th.el-table__cell{
+      background-color: #51D2FF;
+    }
+    .el-table__fixed, .el-table__fixed-right,.el-table__fixed-right::before, .el-table__fixed::before{
+      background-color: #51D2FF;
+    }
+    .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{
+      background-color: #A8E9FF;
+    }
+    .el-table thead{
+      color: #111111;
+    }
+    .el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf{
+      border-bottom: 1Px solid #8E8E8E;
+    }
+    .el-table--border .el-table__cell, .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{
+      border-right: 1Px solid #8E8E8E;
+    }
+    .el-table .el-table__cell{
+      padding: 0.0859375rem  /* 22/256 */ 0;
+    }
+    .el-table__body tr.hover-row.current-row>td.el-table__cell, .el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell, .el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell, .el-table__body tr.hover-row>td.el-table__cell{
+      background: transparent;
+    }
+    .el-table .cell{
+      font-size: $fontSize-28;
+      color: $color-darkGrey;
+      font-weight: 300;
+      line-height: 1;
+    }
+    /*.el-table th {*/
+    /*  padding: 0;*/
+    /*  white-space: nowrap;*/
+    /*  min-width: fit-content;*/
+    /*}*/
+
+    /*.el-table td {*/
+    /*  padding: 1px;*/
+    /*  white-space: nowrap;*/
+    /*  width: fit-content;*/
+    /*}*/
+
+    /*!** 淇敼el-card榛樿paddingL:20px-鍐呰竟璺� **!*/
+    /*.el-card__body {*/
+    /*  padding: 10px;*/
+    /*}*/
+
+    /*.el-table .cell {*/
+    /*  white-space: nowrap;*/
+    /*  width: fit-content;*/
+    /*}*/
+  }
+</style>
 
 <style lang="scss" scoped>
   @import "../../../../assets/css/base";
 .biyeshengStatistics-wrap{
   width: 100%;
   height: 100%;
-  overflow-y: auto;
   .biyeshengStatistics-table{
     width: 100%;
     border: 1Px solid $color-grey; /*no*/
@@ -275,27 +495,27 @@
     thead{
       background-color: $color-blue;
       tr{
-        height: 0.203125rem  /* 52/256 */;
+        height: 0.25rem  /* 64/256 */;
       }
       th,td{
         color: $color-darkGrey;
         border:1Px solid $color-grey; /*no*/
         font-weight: 300;
-        font-size: $fontSize-24;
+        font-size: $fontSize-28;
       }
     }
     tbody{
       background-color: #CEF2FF;
       height: 3.90625rem  /* 1000/256 */;
       tr{
-        height: 0.203125rem  /* 52/256 */;
+        height: 0.25rem  /* 64/256 */;
       }
       th,td{
         color: $color-darkGrey;
         text-align: center;
         border:1Px solid $color-grey; /*no*/
         font-weight: 300;
-        font-size: $fontSize-24;
+        font-size: $fontSize-28;
       }
     }
   }

--
Gitblit v1.9.1