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/personnelTalents/personnelTalentsChild/PersonnelTalents_UnitPersonnel.vue | 543 ++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 440 insertions(+), 103 deletions(-)
diff --git a/src/pages/show/personnelTalents/personnelTalentsChild/PersonnelTalents_UnitPersonnel.vue b/src/pages/show/personnelTalents/personnelTalentsChild/PersonnelTalents_UnitPersonnel.vue
index 7c55137..2b77815 100644
--- a/src/pages/show/personnelTalents/personnelTalentsChild/PersonnelTalents_UnitPersonnel.vue
+++ b/src/pages/show/personnelTalents/personnelTalentsChild/PersonnelTalents_UnitPersonnel.vue
@@ -2,157 +2,494 @@
<div class="PersonnelTalents_unitPersonnel--warp">
<div class="PT_unitPersonnel--table">
<el-table
- max-height="640"
+ :max-height="tableHeight"
:data="tableData"
- :header-cell-style="handleheader"
stripe
border
- style="width: 100%">
+ style="width: 100%" :span-method="mergeColumnTableCell">
<el-table-column
- align="center"
- prop="date"
- label="鎸囨爣鍚嶇О"
- fixed="left"
- width="220">
+ prop="jyear"
+ label="骞翠唤"
+ fixed="left">
</el-table-column>
<el-table-column
- prop="name"
- align="center"
- label="鍘诲勾瀹屾垚"
- width="180">
+ prop="scope"
+ label="鑼冨洿">
</el-table-column>
<el-table-column
- prop="address"
- align="center"
- label="1鏈�">
+ label="鎬讳綋鎯呭喌">
+ <el-table-column label="浜嬩笟鍗曚綅(瀹�)" prop="publicInstitutions">
+ </el-table-column>
+ <el-table-column label="鍦ㄨ亴浜哄憳(涓囦汉)" prop="inJobs">
+ </el-table-column>
+ <el-table-column label="骞翠汉鍧囨敹鍏�(涓囧厓)" prop="perIncome">
+ </el-table-column>
+ <el-table-column label="鍏ㄧ渷鎺掑悕" prop="incomeRank">
+ </el-table-column>
+ <el-table-column label="骞翠汉鍧囨敹鍏ュ閫�" prop="incomeSpeed">
+ </el-table-column>
</el-table-column>
- <el-table-column
- prop="address"
- align="center"
- label="2鏈�">
- </el-table-column>
- <el-table-column
- prop="address"
- align="center"
- label="3鏈�">
- </el-table-column>
- <el-table-column
- prop="address"
- align="center"
- label="4鏈�">
- </el-table-column>
- <el-table-column
- prop="address"
- align="center"
- label="5鏈�">
- </el-table-column>
- <el-table-column
- prop="address"
- align="center"
- label="6鏈�">
- </el-table-column>
- <el-table-column
- prop="address"
- align="center"
- label="7鏈�">
- </el-table-column>
- <el-table-column
- prop="address"
- align="center"
- label="8鏈�">
- </el-table-column>
- <el-table-column
- prop="address"
- align="center"
- label="9鏈�">
- </el-table-column>
- <el-table-column
- prop="address"
- align="center"
- label="10鏈�">
- </el-table-column>
- <el-table-column
- prop="address"
- align="center"
- label="11鏈�">
- </el-table-column>
- <el-table-column
- prop="address"
- align="center"
- label="12鏈�">
- </el-table-column>
- <el-table-column
- prop="address"
- align="center"
- label="鐪佸巺璁″垝">
- </el-table-column>
- <el-table-column
- prop="address"
- align="center"
- label="褰撳墠瀹屾垚鐜�"
- width="160">
+ <el-table-column label="鍏朵腑">
+ <el-table-column label="宸ヨ祫鎬� 骞翠汉鍧囨敹鍏� 锛堜竾鍏冿級" prop="wagesIncome"></el-table-column>
+ <el-table-column label="鍏ㄧ渷鎺掍綅" prop="wagesRank"></el-table-column>
+ <el-table-column label="鍚勯」濂栧姳鎬у拰 鏀归潻鎬цˉ璐村勾 浜哄潎鏀跺叆 锛堜竾鍏冿級" prop="subsidyIncome"></el-table-column>
+ <el-table-column label="鍏ㄧ渷鎺掍綅" prop="subsidyRank"></el-table-column>
</el-table-column>
</el-table>
- <div class="PT--Echarts"></div>
+ </div>
+ <!-- 鍗曢�夋 -->
+ <div class="PT_unitPersonnel--echart-box">
+ <div class="PT_navEchart--title">
+ <el-radio-group v-model="checkedCategory">
+ <el-radio v-for="(categoryItem,index) in CARE_GORY" :label="categoryItem" :key="index"
+ @change="selectEcharts(index)">{{ categoryItem }}
+ </el-radio>
+ </el-radio-group>
+ </div>
+ <div class="PT_unitPersonnel--Echarts" v-show="echartsShow"></div>
+ </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>
</template>
<script>
+
+import nowSize from "../../../../libs/nowSize";
+import {getPersonTable, getUnitLine} from '@/api/personnelTalents';
+
export default {
- name: "PersonnelTalents_UnitPersonnel"
+ name: "PersonnelTalents_UnitPersonnel",
+ data() {
+ return {
+ tableData: [
+ // {
+ // nianfen: '2022骞�',
+ // fanwei: '鍏ㄥ競',
+ // shiyedanwei: '5363',
+ // zaizhirenyuan: '16.4',
+ // nianrenjunshouru: '10.54',
+ // quanshengpaiming: '3',
+ // nianrenjunshouruzengsu: '3.02%',
+ // gongzixingnianjunshouru: '6.81',
+ // quanshengpaiming1: '8',
+ // gexiangjianglixing: 3.73,
+ // quanshengpaiming2: '1'
+ // },
+ // {
+ // nianfen: '2022骞�',
+ // fanwei: '鍏ㄥ競',
+ // shiyedanwei: '5363',
+ // zaizhirenyuan: '16.4',
+ // nianrenjunshouru: '10.54',
+ // quanshengpaiming: '3',
+ // nianrenjunshouruzengsu: '3.02%',
+ // gongzixingnianjunshouru: '6.81',
+ // quanshengpaiming1: '8',
+ // gexiangjianglixing: 3.73,
+ // quanshengpaiming2: '1'
+ // },
+ // {
+ // nianfen: '2022骞�',
+ // fanwei: '鍏ㄥ競',
+ // shiyedanwei: '5363',
+ // zaizhirenyuan: '16.4',
+ // nianrenjunshouru: '10.54',
+ // quanshengpaiming: '3',
+ // nianrenjunshouruzengsu: '3.02%',
+ // gongzixingnianjunshouru: '6.81',
+ // quanshengpaiming1: '8',
+ // gexiangjianglixing: 3.73,
+ // quanshengpaiming2: '1'
+ // },
+ // {
+ // nianfen: '2021骞�',
+ // fanwei: '鍏ㄥ競',
+ // shiyedanwei: '5363',
+ // zaizhirenyuan: '16.4',
+ // nianrenjunshouru: '10.54',
+ // quanshengpaiming: '3',
+ // nianrenjunshouruzengsu: '3.02%',
+ // gongzixingnianjunshouru: '6.81',
+ // quanshengpaiming1: '8',
+ // gexiangjianglixing: 3.73,
+ // quanshengpaiming2: '1'
+ // },
+ // {
+ // nianfen: '2021骞�',
+ // fanwei: '鍏ㄥ競',
+ // shiyedanwei: '5363',
+ // zaizhirenyuan: '16.4',
+ // nianrenjunshouru: '10.54',
+ // quanshengpaiming: '3',
+ // nianrenjunshouruzengsu: '3.02%',
+ // gongzixingnianjunshouru: '6.81',
+ // quanshengpaiming1: '8',
+ // gexiangjianglixing: 3.73,
+ // quanshengpaiming2: '1'
+ // },
+ // {
+ // nianfen: '2021骞�',
+ // fanwei: '鍏ㄥ競',
+ // shiyedanwei: '5363',
+ // zaizhirenyuan: '16.4',
+ // nianrenjunshouru: '10.54',
+ // quanshengpaiming: '3',
+ // nianrenjunshouruzengsu: '3.02%',
+ // gongzixingnianjunshouru: '6.81',
+ // quanshengpaiming1: '8',
+ // gexiangjianglixing: 3.73,
+ // quanshengpaiming2: '1'
+ // },
+ ],
+ checkedCategory: '浜嬩笟鍗曚綅',
+ CARE_GORY: ['浜嬩笟鍗曚綅', '鍦ㄨ亴浜哄憳', '骞翠汉鍧囨敹鍏�'],
+ tableHeight: window.innerHeight - nowSize(1000),
+ echartsShow: true,
+ echartSeries: {},
+ selectIndex: {
+ type: 1
+ }
+ }
+ },
+ mounted() {
+ this.Init_echarts()
+ this.getPersonTable()
+ this.getUnitLine()
+ },
+ methods: {
+ showEchartsBtn() {
+ this.echartsShow = !this.echartsShow
+ if(this.echartsShow) {
+ this.tableHeight = window.innerHeight - nowSize(960)
+ }else {
+ this.tableHeight = window.innerHeight - nowSize(320)
+ }
+ },
+ mergeColumnTableCell({rowIndex, columnIndex}) {
+ if (columnIndex === 0) {
+ if (rowIndex === 0) {
+ return {
+ rowspan: 3,
+ colspan: 1
+ };
+ } else if (rowIndex === 3) {
+ return {
+ rowspan: 6,
+ colspan: 1
+ }
+ } else {
+ return {
+ rowspan: 0,
+ colspan: 0
+ }
+ }
+ }
+ },
+ Init_echarts() {
+ const myChart = this.$echarts.init(document.querySelector('.PT_unitPersonnel--Echarts'));
+ const option = {
+ color: ['#FF5151', '#51FF5D', '#FFD151'],
+ title: {
+ text: '杩戜竴骞翠簨涓氭暟閲忓彉鍖栬秼鍔垮浘',
+ left: 'center',
+ top: '5%',
+ textStyle: {
+ color: '#FFFFFF',
+ fontSize: nowSize(30)
+ }
+ },
+ itemStyle: {
+ normal: {
+ lineStyle: {
+ width: 3, //鎶樼嚎瀹藉害
+ }
+ }
+ },
+ tooltip: {
+ trigger: 'axis'
+ },
+ legend: {
+ right: '2%',
+ top: 'center',
+ orient: 'vertical',
+ itemWidth: nowSize(30),
+ itemHeight: nowSize(4),
+ itemGap: nowSize(80),
+ textStyle: {
+ color: '#FFFFFF',
+ fontSize: nowSize(24),
+ }
+ },
+ grid: {
+ left: '2%',
+ top: '25%',
+ right: '18%',
+ bottom: '0',
+ containLabel: true
+ },
+ xAxis: {
+ name: '鍗曚綅锛氬勾/鏈�',
+ nameTextStyle: {
+ color: '#FFFFFF',
+ fontSize: nowSize(24)
+ },
+ nameGap: nowSize(92),// 鍧愭爣杞村悕绉颁笌杞寸嚎涔嬮棿鐨勮窛绂汇��
+ type: 'category',
+ boundaryGap: false,// 鍧愭爣杞翠袱绔暀鐧�
+ data: this.echartSeries.years,
+ axisLabel: {
+ show: true,
+ textStyle: {
+ color: '#fff',
+ fontSize: nowSize(24)
+ },
+ },
+ axisLine: {
+ lineStyle: {
+ color: '#999999',
+ width: 1, //杩欓噷鏄潗鏍囪酱鐨勫搴�,鍙互鍘绘帀
+ type: 'solid'
+ }
+ },
+ splitLine: {
+ show: false
+ }
+ },
+ yAxis: {
+ name: '鍗曚綅锛氬',
+ nameTextStyle: {
+ color: '#FFFFFF',
+ fontSize: nowSize(24)
+ },
+ nameGap: nowSize(30),// 鍧愭爣杞村悕绉颁笌杞寸嚎涔嬮棿鐨勮窛绂汇��
+ type: 'value',
+ axisLabel: {
+ show: true,
+ textStyle: {
+ color: '#fff',
+ fontSize: nowSize(24)
+ },
+ },
+ axisLine: {
+ lineStyle: {
+ color: '#999999',
+ width: 1, //杩欓噷鏄潗鏍囪酱鐨勫搴�,鍙互鍘绘帀
+ type: "solid"
+ }
+ },
+ splitLine: {
+ show: false
+ },
+ },
+ series: [
+ {
+ name: '鍏ㄥ競',
+ type: 'line',
+ data: this.echartSeries.quanshi
+ },
+ {
+ name: '甯傜洿',
+ type: 'line',
+ data: this.echartSeries.shizhi
+ },
+ {
+ name: '鍘匡紙甯傘�佸尯锛�',
+ type: 'line',
+ data: this.echartSeries.xian
+ }
+ ]
+ };
+ option && myChart.setOption(option)
+ },
+ getHeight() {
+ this.tableHeight = window.innerHeight - nowSize(900)
+ },
+ // 閫氳繃鐐瑰嚮鏇存崲echarts鍥捐〃淇℃伅
+ selectEcharts(index) {
+ this.selectIndex.type = index + 1
+ this.getUnitLine()
+ this.Init_echarts()
+ },
+ // 29. 鏌ヨ浜嬩笟鍗曚綅浜哄憳鎯呭喌琛ㄦ牸鏁版嵁鎺ュ彛
+ getPersonTable() {
+ getPersonTable().then(res => {
+ if (res.code === 1000) {
+ this.tableData = res.list
+ }
+ })
+ },
+ // 41.鏌ヨ浜嬩笟骞村害鍙樺寲鎯呭喌鎶樼嚎鍥炬暟鎹帴鍙�
+ getUnitLine() {
+ getUnitLine(this.selectIndex).then(res => {
+ if (res.code === 1000) {
+ this.echartSeries = res.obj
+ console.log(this.echartSeries);
+ this.Init_echarts()
+ }
+ })
+ }
+ },
+ created() {
+ window.addEventListener('resize', this.getHeight)
+ },
+ destroy() {
+ window.addEventListener('resize', this.getHeight)
+ }
+
}
</script>
<style lang="scss">
@import "../../../../assets/css/base";
-.PT_unitPersonnel--table{
- .el-table tr{
+
+.PT_unitPersonnel--table {
+ .el-table tr {
background-color: #CEF2FF;
}
- .el-table th.el-table__cell{
+
+ .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{
+
+ .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{
+
+ .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell {
background-color: #A8E9FF;
}
- .el-table thead{
+
+ .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 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--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 .el-table__cell {
+ //padding: 0.0850375rem /* 22/256 */
+ //0;
+ padding: 0.0546875rem 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{
+
+ .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{
+
+ .el-table .cell {
+ line-height: 0.125rem;
font-size: $fontSize-28;
color: $color-darkGrey;
font-weight: 300;
- line-height: 1;
+ text-align: center;
+ }
+
+ // 澶撮儴鍥綋鑳屾櫙棰滆壊
+ .el-table thead.is-group th.el-table__cell {
+ background-color: #51D2FF;
+ }
+
+ // 澶撮儴鍥綋鍗曞厓鏍间笅杈规棰滆壊
+ .el-table--border th.el-table__cell, .el-table__fixed-right-patch {
+ border-bottom: 1px solid #8E8E8E;
+ }
+}
+
+.PT_navEchart--title {
+ .el-radio {
+ width: 1.171875rem;
+ line-height: 0.375rem;
+
+ .el-radio__label {
+ font-size: 0.09375rem;
+ color: #FFFFFF;
+ }
+
+ .el-radio__input {
+ margin-bottom: 0.01953125rem;
+
+ &.is-checked {
+ .el-radio__inner {
+ background-color: #51D2FF;
+ border-color: #51D2FF;
+ background: url("../../../../assets/images/personnelTalents/Yes@2x.png") no-repeat;
+ background-size: 100% 100%;
+ background-color: #51D2FF;
+
+ &:hover {
+ border-color: #51D2FF;
+ }
+ }
+ }
+
+ .el-radio__inner {
+ width: 0.15625rem;
+ height: 0.15625rem;
+ margin-right: 0.06640625rem;
+ background: transparent;
+ border-radius: 1%;
+ box-sizing: content-box;
+ border: 0.0078125rem /* 2/256 */
+ solid #DCDFE6;
+
+ &::after {
+ content: '';
+ width: 0;
+ height: 0;
+ }
+ }
+ }
}
}
</style>
<style lang="scss" scoped>
@import "../../../../assets/css/base";
-.PersonnelTalents_unitPersonnel--warp{
+
+.PersonnelTalents_unitPersonnel--warp {
width: 100%;
height: 100%;
- .PT_unitPersonnel--table{
+ position: relative;
+ .yincang-box{
+ position: absolute;
+ right: 0.078125rem /* 20/256 */;
+ bottom: 0;
+ }
+ .PT_unitPersonnel--table {
width: 100%;
- height: 100%;
+ }
+
+
+ .PT_unitPersonnel--echart-box {
+ width: 100%;
+ margin-top: 0.234375rem /* 60/256 */
+ ;
+ height: calc(100% - 2.5rem/* 640/256 */ - 0.254375rem /* 60/256 */
+ );
position: relative;
+ .PT_navEchart--title {
+ width: 1px;
+ display: inline-block;
+ position: absolute;
+ left: 0.390625rem;
+ top: 50%;
+ transform: translateY(-50%);
+ }
+
+ .PT_unitPersonnel--Echarts {
+ width: 85%;
+ height: 100%;
+ position: absolute;
+ left: 1.2890625rem;
+ display: inline-block;
+ }
}
- .PT--Echarts{
- height: calc(100% - 640px - 0.33203125rem /* 85/256 */);
- }
+
}
</style>
--
Gitblit v1.9.1