付延余
2022-04-28 b262be766fd1dbcb936d9dda5b5e802de4d27e59
src/pages/show/otherBusiness/otherBusinessChild/OtherB_PeopleJunShouRu.vue
@@ -4,117 +4,305 @@
      <h1>全市居民人均可支配收入情况</h1>
      <el-table
        :data="tableData"
        style="width: 100%">
        style="width: 100%" :cell-style="updataCellStyle">
        <el-table-column
          prop="year"
          label="年份">
          prop="jyear"
          label="年份" min-width="80"
          fied="left"
        >
        </el-table-column>
        <el-table-column
          label="国民人均可支配收入">
          <el-table-column
            prop="shouru"
            label="收入(元)"
            prop="jincome"
            label="收入(元)"
            min-width="80"
          >
          </el-table-column>
          <el-table-column
            prop="quanshengpaiwei"
            prop="jprovinceRank"
            label="全省排名"
            min-width="80"
          >
          </el-table-column>
          <el-table-column
            prop="zengzhang"
            prop="jincrease"
            label="增长"
            min-width="80"
          >
          </el-table-column>
          <el-table-column
            prop="quanshengpaiwei1"
            prop="jincreaseRank"
            label="全省排位"
            min-width="80"
          >
          </el-table-column>
        </el-table-column>
        <el-table-column label="城镇居民人均可支配收入">
          <el-table-column
            prop="shouru1"
            label="收入(元)"
            prop="cincome"
            label="收入(元)"
            min-width="80"
          >
          </el-table-column>
          <el-table-column
            prop="quanshengpaiwei2"
            prop="cprovinceRank"
            label="全省排位"
            min-width="80"
          >
          </el-table-column>
          <el-table-column
            prop="zengzhang1"
            prop="cincrease"
            label="增长"
            min-width="80"
          >
          </el-table-column>
          <el-table-column
            prop="quanshengpaiwei3"
            prop="cincreaseRank"
            label="全省排位"
            min-width="80"
          >
          </el-table-column>
        </el-table-column>
        <el-table-column label="农村居民人均可支配收入">
          <el-table-column
            prop="shouru2"
            label="收入(元)"
            prop="nincome"
            label="收入(元)"
            min-width="80"
          >
          </el-table-column>
          <el-table-column
            prop="quashengpaiwei4"
            prop="nprovinceRank"
            label="全省排位"
            min-width="80"
          >
          </el-table-column>
          <el-table-column
            prop="zengzhang2"
            prop="nincrease"
            label="增长 "
            min-width="80"
          >
          </el-table-column>
          <el-table-column
            prop="quanshengpaiwei5"
            prop="nincreaseRank"
            label="全省排位"
            min-width="80"
          >
          </el-table-column>
        </el-table-column>
      </el-table>
    </div>
    <!--图表-->
    <div class="OtherB-PeopleJunShouRu__echart">
    </div>
  </div>
</template>
<script>
import nowSize from '../../../../libs/nowSize'
import {getIncomeTable, getIncomeLine} from '@/api/otherBusiness'
export default {
  name: "OtherB_PerpleJunShouRu",
  data() {
    return {
      tableData: [{
        year: 2020,
        shouru: 30955,
        quanshengpaiwei: 3,
        zengzhang: '5.5%',
        quanshengpaiwei1: 9,
        shouru1: 40243,
        quanshengpaiwei2: 3,
        zengzhang1: '4.4%',
        quanshengpaiwei3: 6,
        shouru2: 40243,
        quashengpaiwei4: 3,
        zengzhang2: '4.4%',
        quanshengpaiwei5: 6
      }, {
        year: 2020,
        shouru: 30955,
        quanshengpaiwei: 3,
        zengzhang: '5.5%',
        quanshengpaiwei1: 9,
        shouru1: 40243,
        quanshengpaiwei2: 3,
        zengzhang1: '4.4%',
        quanshengpaiwei3: 6,
        shouru2: 40243,
        quashengpaiwei4: 3,
        zengzhang2: '4.4%',
        quanshengpaiwei5: 6
      }]
      tableData: [
        // {
        //   year: 2020,
        //   shouru: 30955,
        //   quanshengpaiwei: 3,
        //   zengzhang: '5.5%',
        //   quanshengpaiwei1: 9,
        //   shouru1: 40243,
        //   quanshengpaiwei2: 3,
        //   zengzhang1: '4.4%',
        //   quanshengpaiwei3: 6,
        //   shouru2: 40243,
        //   quashengpaiwei4: 3,
        //   zengzhang2: '4.4%',
        //   quanshengpaiwei5: 6
        // },
        //   {
        //     year: 2020,
        //     shouru: 30955,
        //     quanshengpaiwei: 3,
        //     zengzhang: '5.5%',
        //     quanshengpaiwei1: 9,
        //     shouru1: 40243,
        //     quanshengpaiwei2: 3,
        //     zengzhang1: '4.4%',
        //     quanshengpaiwei3: 6,
        //     shouru2: 40243,
        //     quashengpaiwei4: 3,
        //     zengzhang2: '4.4%',
        //     quanshengpaiwei5: 6
        //   }
      ],
      echartsSeries: {}
    }
  },
  mounted() {
    this.Init_echarts()
    this.getIncomeTable()
    this.getIncomeLine()
  },
  methods: {
    // 31. 查询居民人均可支配收入表格数据接口
    getIncomeTable() {
      getIncomeTable().then(res => {
        if (res.code === 1000) {
          this.tableData = res.list
        }
      })
    },
    // 32. 查询居民可支配收入分析图数据接口
    getIncomeLine() {
      getIncomeLine().then(res => {
        console.log(res);
        if(res.code===1000){
          this.echartsSeries = res.obj
          this.Init_echarts()
        }
      })
    },
    Init_echarts() {
      const option = {
        color: ['#FF5151', '#51FF5D', '#FFD151'],
        title: {
          text: '历年全市居民人均可支配收入分析图',
          left: 'center',
          top: '5%',
          textStyle: {
            color: '#FFFFFF',
            fontSize: nowSize(30)
          }
        },
        tooltip: {
          trigger: 'axis'
        },
        legend: {
          right: '5%',
          top: 'center',
          orient: 'vertical',
          itemWidth: nowSize(30),
          itemHeight: nowSize(4),
          itemGap: nowSize(80),
          textStyle: {
            color: '#FFFFFF',
            fontSize: nowSize(24),
          }
        },
        grid: {
          left: '10%',
          right: '20%',
          bottom: '0%',
          containLabel: true
        },
        xAxis: {
          name: '单位:年',
          nameTextStyle: {
            color: '#FFFFFF',
            fontSize: nowSize(24)
          },
          nameGap: nowSize(92),// 坐标轴名称与轴线之间的距离。
          type: 'category',
          boundaryGap: false,// 坐标轴两端留白
          data: this.echartsSeries.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.echartsSeries.jumin
          },
          {
            name: '城镇居民',
            type: 'line',
            data: this.echartsSeries.chengzhen
          },
          // smooth: false,  //设置折线为圆滑曲线,false则有转折点
          // symbol:'none', //默认显示折点,为none时不显示
          // itemStyle: {
          //   normal: {
          //     lineStyle: {
          //       width: 3, //折线宽度
          //     }
          //   }
          // },
          // emphasis: {   //鼠标经过时折点小圆圈样式
          //   borderColor: 'rgba(0,196,132,0.2)',
          //   borderWidth: 100
          // },
          // stack: 'Total',
          {
            name: '农村居民',
            type: 'line',
            data: this.echartsSeries.nongcun
          }
        ]
      }
      const myChart = this.$echarts.init(document.querySelector('.OtherB-PeopleJunShouRu__echart'));
      option && myChart.setOption(option)
    },
    // 给单独单元格添加样式
    updataCellStyle({rowIndex, columnIndex}) {
      if (rowIndex === 0 && columnIndex === 0) {
        return {background: '#51D2FF'}
      } else if (rowIndex === 1 && columnIndex === 0) {
        return {background: '#51D2FF'}
      }
    }
  }
}
@@ -124,11 +312,9 @@
@import "../../../../assets/css/base";
.OtherB-PeopleJunShouRu__table {
  width: 100%;
  height: calc(100% - 0.078125rem /* 20/256 */
  );
  margin-top: 0.078125rem /* 20/256 */
;
  .el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell {
    background: transparent;
  }
  .el-table th.el-table__cell {
    background-color: $color-blue;
@@ -137,8 +323,7 @@
  }
  .el-table tr {
    height: 0.3125rem /* 80/256 */
  ;
    height: 0.3125rem; /* 80/256 */
  }
  .el-table tr:nth-child(odd) {
@@ -165,24 +350,30 @@
    font-size: $fontSize-28;
    color: $color-darkGrey;
    font-weight: 300;
    line-height: 1;
    line-height: 0.390625rem;
    white-space: pre-line;
    text-align: center;
  }
  .el-table--border th.el-table__cell, .el-table__fixed-right-patch {
    border-bottom: 1Px solid $color-grey; /*no*/
    border-bottom: 1px solid $color-grey; /*no*/
  }
  .el-table thead.is-group th.el-table__cell {
    background-color: $color-blue;
  }
  .el-table .el-table__cell {
    padding: 0;
  }
  .el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf {
    border-bottom: 1Px solid $color-grey; /*no*/
    border-bottom: 1px solid $color-grey; /*no*/
  }
  .el-table--border .el-table__cell, .el-table__body-wrapper .el-table--border.is-scrolling-left ~ .el-table__fixed {
    border-right: 1Px solid $color-grey; /*no*/
    border-right: 1px solid $color-grey; /*no*/
    height: 0.46875rem; //表格正文行高度
  }
}
</style>
@@ -191,10 +382,11 @@
.OtherB_PerpleJunShouRu__wrap {
  width: 100%;
  height: calc(100% - 0.078125rem /* 20/256 */
  );
  //height: calc(100% - 0.078125rem /* 20/256 */
  //);
  .OtherB-PeopleJunShouRu__table {
    width: 100%;
    margin-top: 0.078125rem /* 20/256 */
  ;
@@ -205,5 +397,11 @@
      line-height: 2;
    }
  }
  .OtherB-PeopleJunShouRu__echart {
    width: 8.75rem;
    height: 2.75rem;
    margin-top: 120px;
  }
}
</style>