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 | 245 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 232 insertions(+), 13 deletions(-) diff --git a/src/pages/show/jiuyeAndChuangye/jiuyeChildren/biyeshengStatistics.vue b/src/pages/show/jiuyeAndChuangye/jiuyeChildren/biyeshengStatistics.vue index 46502af..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,52 +251,271 @@ <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*/ + border: 1Px solid $color-grey; /*no*/ border-collapse: collapse; table-layout: fixed; thead{ background-color: $color-blue; tr{ - height: 5.2rem; + height: 0.25rem /* 64/256 */; } th,td{ color: $color-darkGrey; - border:1px solid $color-grey; /*no*/ + border:1Px solid $color-grey; /*no*/ font-weight: 300; - font-size: $fontSize-24; + font-size: $fontSize-28; } } tbody{ background-color: #CEF2FF; - height: 100rem; - overflow-y: auto; + height: 3.90625rem /* 1000/256 */; tr{ - height: 5.2rem; + height: 0.25rem /* 64/256 */; } th,td{ color: $color-darkGrey; text-align: center; - border:1px solid $color-grey; /*no*/ + border:1Px solid $color-grey; /*no*/ font-weight: 300; - font-size: $fontSize-24; + font-size: $fontSize-28; } } } -- Gitblit v1.9.1