zhangxiaoxu123456
2022-04-24 31181a5ed1e8cb393ad90fd19f6baea72b3cc423
src/pages/show/shehuiBaozhang/shehuiBaozhangChildren/shehuiBaoxian.vue
@@ -2,138 +2,247 @@
  <div class="shehuiBaoxian-wrap">
    <div class="shehuiBaoxian-table">
      <h1>社会保险参保人员统计表</h1>
      <div class="danwei-box">单位:人</div>
        <div class="danwei-box">单位:万人</div>
      <el-table
        max-height="640"
        :data="tableData"
        :header-cell-style="handleheader"
        stripe
        border
        style="width: 100%">
        <el-table-column
          align="center"
          prop="date"
          prop="dataName"
          label="指标名称"
          fixed="left"
          width="220">
        </el-table-column>
        <el-table-column
          prop="name"
          prop="yearFinish"
          align="center"
          label="去年完成"
          width="180">
        </el-table-column>
        <el-table-column
          prop="address"
          prop="january"
          align="center"
          label="1月">
        </el-table-column>
        <el-table-column
          prop="address"
          prop="february"
          align="center"
          label="2月">
        </el-table-column>
        <el-table-column
          prop="address"
          prop="march"
          align="center"
          label="3月">
        </el-table-column>
        <el-table-column
          prop="address"
          prop="april"
          align="center"
          label="4月">
        </el-table-column>
        <el-table-column
          prop="address"
          prop="may"
          align="center"
          label="5月">
        </el-table-column>
        <el-table-column
          prop="address"
          prop="june"
          align="center"
          label="6月">
        </el-table-column>
        <el-table-column
          prop="address"
          prop="july"
          align="center"
          label="7月">
        </el-table-column>
        <el-table-column
          prop="address"
          prop="august"
          align="center"
          label="8月">
        </el-table-column>
        <el-table-column
          prop="address"
          prop="september"
          align="center"
          label="9月">
        </el-table-column>
        <el-table-column
          prop="address"
          prop="october"
          align="center"
          label="10月">
        </el-table-column>
        <el-table-column
          prop="address"
          prop="november"
          align="center"
          label="11月">
        </el-table-column>
        <el-table-column
          prop="address"
          prop="december"
          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>
      </el-table>
    </div>
      <div class="shehuiBaoxianEcharts" id="shehuiBaoxianEcharts"></div>
  </div>
</template>
<script>
  import {getPersonChart, getPersonTable} from '@/api/shehuiBaozhang'
  import nowSize from "../../../../libs/nowSize";
    export default {
        name: "shehuiBaoxian",
        data() {
            return {
                tableData: [{
                    date: '城镇新增就业人数',
                    name: '122',
                    address: '32111'
                }, {
                    date: '城镇失业人员实现再就业人数',
                    name: '233',
                    address: '34222'
                }, {
                    date: '农村劳动力向非农产业转移人数',
                    name: '23222',
                    address: '3112222'
                }, {
                    date: '其中:劳务输出',
                    name: '34221',
                    address: '122222'
                }, {
                    date: '开展补贴性职业技能培训人数',
                    name: '2333',
                    address: '1232233'
                }, {
                    date: '城镇登记失业率',
                    name: '222',
                    address: '2222'
                }]
                tableData: [],
                yearsData: [],  //x轴数据
                zhigongData: [],  //城镇职工养老保险参保人数
                juminData: [],  //城乡居民养老保险参保人数
                gongshangData: [],  //工伤保险参保人数
                shiyeData: [],  //失业保险参保人数
            }
        },
        mounted() {
          this.getPersonTable()
          this.getPersonChart()
        },
        methods: {
            getPersonTable(){
                getPersonTable().then(res => {
                    if(res.code == 1000) {
                        this.tableData = res.list
                    }
                })
            },
            getPersonChart() {
                getPersonChart().then(res => {
                    if(res.code == 1000) {
                        this.yearsData = res.obj.years
                        this.zhigongData = res.obj.zhigong
                        this.juminData = res.obj.jumin
                        this.shiyeData = res.obj.shiye
                        this.shehuiBaoxianEcharts()
                    }
                })
            },
            handleheader(data) {
                return {
                    lineHeight: '0',
                }
            },
            shehuiBaoxianEcharts() {
               let myEchart = this.$echarts.init(document.getElementById('shehuiBaoxianEcharts'))
                let option = {
                    color : ['#FF5151','#51FF5D','#FFD151','#FFD151'],
                    title: {
                        text: '历年社会保险参保人员分析图',
                        left: 'center',
                        top: '8%',
                        textStyle: {
                            color: '#FFFFFF',
                            fontSize: nowSize(30)
                        },
                    },
                    tooltip: {
                        trigger: 'axis'
                    },
                    legend: {
                        itemWidth: nowSize(30),
                        itemHeight: nowSize(4),
                        itemGap: nowSize(50),
                        right:'8%',
                        top: 'center',
                        orient: 'vertical',
                        textStyle: {
                            color: '#FFFFFF',
                            fontSize: nowSize(24),
                        }
                    },
                    grid: {
                        top: '15%',
                        left: '4%',
                        right: '25%',
                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: {
                        type: 'category',
                        boundaryGap: false,
                        data: this.yearsData,
                        axisLabel: {
                            show: true,
                            textStyle: {
                                color: "#fff",
                                fontSize:nowSize(24),
                                lineHeight: nowSize(56),
                            }
                        },
                        axisLine: {
                            lineStyle: {
                                color: "#999999",
                                width: 1,
                                type: "solid"
                            }
                        },
                        splitLine: {
                            show: false
                        }
                    },
                    yAxis: {
                        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.juminData
                        },
                        {
                            name: '城镇职工养老保险参保人数',
                            type: 'line',
                            data: this.zhigongData
                        },
                        {
                            name: '工伤保险参保人数',
                            type: 'line',
                            data: this.gongshangData
                        },
                        {
                            name: '失业保险参保人数',
                            type: 'line',
                            data: this.shiyeData
                        }
                    ]
                };
                myEchart.setOption(option)
                window.addEventListener('resize',function () {
                    myEchart.resize()
                })
            }
        }
    }
</script>
<style lang="scss">
  @import "../../../../assets/css/base";
  .shehuiBaoxian-table{
    .el-table tr{
      background-color: #CEF2FF;
@@ -151,16 +260,22 @@
      color: #111111;
    }
    .el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf{
      border-bottom: 1px solid #8E8E8E;
      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;
      border-right: 1Px solid #8E8E8E;
    }
    .el-table .el-table__cell{
      padding: 2.2rem 0;
      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;
    }
  }
</style>
@@ -171,7 +286,6 @@
    height: 100%;
    .shehuiBaoxian-table{
      width: 100%;
      height: 100%;
      position: relative;
      .danwei-box{
        position: absolute;
@@ -188,5 +302,9 @@
        line-height: 2.5;
      }
    }
    .shehuiBaoxianEcharts{
      width: 100%;
      height: calc(100% - 640px - 0.33203125rem  /* 85/256 */);
    }
  }
</style>