付延余
2022-04-22 9efb4e77cf44f0adaf677662c6779b45954a0a2b
Merge remote-tracking branch 'origin/master'
6个文件已修改
565 ■■■■ 已修改文件
src/api/jiuyeAndChuangye.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/components/jiuyeQingkuang/chengzhenXinzengJiuye.vue 219 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/show/jiuyeAndChuangye/jiuyeChildren/biyeshengStatistics.vue 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/show/jiuyeAndChuangye/jiuyeChildren/chuangyeDanbaoDaikuan.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/show/jiuyeAndChuangye/jiuyeChildren/jiuyeQingkuang.vue 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/show/jiuyeAndChuangye/jiuyeChildren/zhiyePeixun.vue 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/jiuyeAndChuangye.js
@@ -19,3 +19,23 @@
export const getParkTable = (params) => {
  return postRequest('/ybg/webservice/app/employment/getParkTable.do',params)
}
//6.查询就业情况统计表数据接口
export const getEmployTable = (params) => {
  return postRequest('/ybg/webservice/app/employment/getEmployTable.do', params)
}
//7.毕业生统计表格数据接口
export const getGraduateTable = (params) => {
  return postRequest('/ybg/webservice/app/employment/getGraduateTable.do', params)
}
// 8.查询职业培训统计表格数据接口
export const getTrainTable = (params) => {
  return postRequest('/ybg/webservice/app/employment/getTrainTable.do', params)
}
//9.查询职业培训统计图表数据接口
export const getTrainChart = (params) => {
  return postRequest('/ybg/webservice/app/employment/getTrainChart.do', params)
}
src/pages/components/jiuyeQingkuang/chengzhenXinzengJiuye.vue
@@ -6,102 +6,210 @@
        :header-cell-style="handleheader"
        style="width: 100%">
        <el-table-column
          prop="shiqu"
          prop="area"
          label="县(市、区)"
          align="center"
          width="220">
          <template slot-scope="scope">
            <div class="sanjiao-box">
              <div class="cell-content-box">{{scope.row.area}}</div>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="name"
          width="280"
          prop="january"
          label="1月"
          align="center">
          <template slot-scope="scope">
            <div class="sanjiao-box">
              <div class="cell-content-box">{{scope.row.january.val}}</div>
              <div class="paiming-box red-sanjiao"
                   :class="scope.row.january.order > 0 ? 'red-sanjiao' : 'green-sanjiao'"
                   v-if="scope.row.january.order != 0">
                <div>{{scope.row.january.order}}</div>
              </div>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="address"
          width="280"
          prop="february"
          label="2月"
          align="center">
          <template slot-scope="scope">
            <div class="sanjiao-box">
              <div>{{scope.row.february.val}}</div>
              <div class="paiming-box"
                   :class="scope.row.february.order > 0 ? 'red-sanjiao' : 'green-sanjiao'"
                   v-if="scope.row.february.order != 0">
                <div>{{scope.row.february.order}}</div>
              </div>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="name"
          width="280"
          prop="march"
          label="3月"
          align="center">
          <template slot-scope="scope">
            <div class="sanjiao-box">
              <div>{{scope.row.march.val}}</div>
              <div class="paiming-box"
                   :class="scope.row.march.order > 0 ? 'red-sanjiao' : 'green-sanjiao'"
                   v-if="scope.row.march.order != 0">{{scope.row.march.order}}</div>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="address"
          width="280"
          prop="april"
          label="4月"
          align="center">
          <template slot-scope="scope">
            <div class="sanjiao-box">
              <span>{{scope.row.april.val}}</span>
              <div class="paiming-box"
                   :class="scope.row.april.order > 0 ? 'red-sanjiao' : 'green-sanjiao'"
                   v-if="scope.row.april.order != 0">{{scope.row.april.order}}</div>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="name"
          width="280"
          prop="may"
          label="5月"
          align="center">
          <template slot-scope="scope">
            <div class="sanjiao-box">
              <span>{{scope.row.may.val}}</span>
              <div class="paiming-box"
                   :class="scope.row.may.order > 0 ? 'red-sanjiao' : 'green-sanjiao'"
                   v-if="scope.row.may.order != 0">{{scope.row.may.order}}</div>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="address"
          width="280"
          prop="june"
          label="6月"
          align="center">
          <template slot-scope="scope">
            <div class="sanjiao-box">
              <span>{{scope.row.june.val}}</span>
              <div class="paiming-box"
                   :class="scope.row.june.order > 0 ? 'red-sanjiao' : 'green-sanjiao'"
                   v-if="scope.row.june.order != 0">{{scope.row.june.order}}</div>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="name"
          width="280"
          prop="july"
          label="7月"
          align="center">
          <template slot-scope="scope">
            <div class="sanjiao-box">
              <span>{{scope.row.july.val}}</span>
              <div class="paiming-box"
                   :class="scope.row.july.order > 0 ? 'red-sanjiao' : 'green-sanjiao'"
                   v-if="scope.row.july.order != 0">{{scope.row.july.order}}</div>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="address"
          width="280"
          prop="august"
          label="8月"
          align="center">
          <template slot-scope="scope">
            <div class="sanjiao-box">
              <span>{{scope.row.august.val}}</span>
              <div class="paiming-box"
                   :class="scope.row.august.order > 0 ? 'red-sanjiao' : 'green-sanjiao'"
                   v-if="scope.row.august.order != 0">{{scope.row.august.order}}</div>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="name"
          width="280"
          prop="september"
          label="9月"
          align="center">
          <template slot-scope="scope">
            <div class="sanjiao-box">
              <span>{{scope.row.september.val}}</span>
              <div class="paiming-box"
                   :class="scope.row.september.order > 0 ? 'red-sanjiao' : 'green-sanjiao'"
                   v-if="scope.row.september.order != 0">{{scope.row.september.order}}</div>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="address"
          width="280"
          prop="october"
          label="10月"
          align="center">
          <template slot-scope="scope">
            <div class="sanjiao-box">
              <span>{{scope.row.october.val}}</span>
              <div class="paiming-box"
                   :class="scope.row.october.order > 0 ? 'red-sanjiao' : 'green-sanjiao'"
                   v-if="scope.row.october.order != 0">{{scope.row.october.order}}</div>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="name"
          width="280"
          prop="november"
          label="11月"
          align="center">
          <template slot-scope="scope">
            <div class="sanjiao-box">
              <span>{{scope.row.november.val}}</span>
              <div class="paiming-box"
                   :class="scope.row.november.order > 0 ? 'red-sanjiao' : 'green-sanjiao'"
                   v-if="scope.row.november.order != 0">{{scope.row.november.order}}</div>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="address"
          width="280"
          prop="december"
          label="12月"
          align="center">
          <template slot-scope="scope">
            <div class="sanjiao-box">
              <span>{{scope.row.december.val}}</span>
              <div class="paiming-box"
                   :class="scope.row.december.order > 0 ? 'red-sanjiao' : 'green-sanjiao'"
                   v-if="scope.row.december.order != 0">{{scope.row.december.order}}</div>
            </div>
          </template>
        </el-table-column>
      </el-table>
    </div>
</template>
<script>
    export default {
        name: "chengzhenXinzengJiuye",
        props: {
            tableData: {
                type: Array,
                default: () => {
                    return []
                }
            }
        },
        data() {
            return {
                tableData: [{
                    shiqu:'全市',
                    date: '233322',
                    name: '4432',
                    address: '122'
                }, {
                    shiqu:'长安区',
                    date: '23322',
                    name: '12222',
                    address: '4445'
                }, {
                    shiqu:'桥西区',
                    date: '4432',
                    name: '455',
                    address: '5999'
                }, {
                    shiqu:'新华区',
                    date: '5632',
                    name: '145',
                    address: '624'
                }]
            }
        },
        mounted() {
        },
        methods: {
            handleheader(data) {
@@ -122,7 +230,6 @@
      background-color:$color-blue;
    }
    .el-table .el-table__body-wrapper tr{
      height: 0.265625rem  /* 68/256 */;
    }
    .el-table tr:nth-child(odd){
      background-color: #CEF2FF;
@@ -143,7 +250,9 @@
      font-size: $fontSize-28;
      color: $color-darkGrey;
      font-weight: 300;
      line-height: 1;
      line-height: 0.265625rem  /* 68/256 */;
      height: 0.265625rem  /* 68/256 */;
      padding-left: 0;
    }
    .el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf{
      border-bottom:1Px solid $color-grey; /*no*/
@@ -151,8 +260,42 @@
    .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*/
    }
    .el-table .el-table__cell{
      padding:0;
    }
  }
</style>
<style scoped>
<style lang="scss" scoped>
  @import "../../../assets/css/base";
  .sanjiao-box{
    line-height: 0.265625rem  /* 68/256 */;
    position: relative;
    .paiming-box{
      display: block;
      color: $color-white;
      position: absolute;
      width: 0;
      height: 0;
      top: 0;
      left: 0;
      div{
        position: relative;
        left: 0px;
        top: -0.3125rem  /* -80/256 */;
        color: #fff;
        width: 0.1328125rem  /* 34/256 */;
      }
    }
    .red-sanjiao{
      border-top: 0.265625rem  /* 68/256 */ solid #FF0000;
      border-right: 0.265625rem  /* 68/256 */ solid transparent;
    }
    .green-sanjiao{
      border-top: 0.265625rem  /* 68/256 */ solid #3ABF21;
      border-right: 0.265625rem  /* 68/256 */ solid transparent;
    }
    .content{
      /*line-height: 0.265625rem  !* 68/256 *!;*/
    }
  }
</style>
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,16 +251,187 @@
            <td colspan="2">45682</td>
          </tr>
        </tbody>
      </table>
      </table>-->
      <el-table
        :data="tableData"
        :span-method="objectSpanMethod"
        border>
        <el-table-column
          align="center"
          type="index">
        </el-table-column>
        <template v-for="(item,index) in heardArry">
          <el-table-column
            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 {getGraduateTable} from '@/api/jiuyeAndChuangye'
    export default {
        name: "biyeshengStatistics"
        name: "biyeshengStatistics",
        data() {
            return {
                tableData: [{
                    xiangmu: '本市高校',
                    year: '2333',
                    mergeRowIndex: 1,
                },{
                    xiangmu: '其中:本科毕业生',
                    year: '2333',
                    mergeRowIndex: 1,
                },{
                    xiangmu: '专科毕业生',
                    year: '2333',
                    mergeRowIndex: 1,
                },{
                    xiangmu: '全省高校',
                    year: '2333',
                    mergeRowIndex: 2,
                },{
                    xiangmu: '其中:本科毕业生',
                    year: '2333',
                    mergeRowIndex: 2,
                },{
                    xiangmu: '专科毕业生',
                    year: '2333',
                    mergeRowIndex: 2,
                },{
                    xiangmu: '全省高校本市生源',
                    year: '2333',
                    mergeRowIndex: 3
                }],
                heardArry: [],
                rowIndexArr: []//存储合并单元格的开始位置
            }
        },
        mounted() {
          this.getGraduateTable()
        },
        methods: {
            objectSpanMethod({ row, column, rowIndex, columnIndex }) {
            },
            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) => {
                            item.typeList && item.typeList.forEach((e,i) => {
                                console.log('e------------e',e.name)
                                console.log(rows[0],'0000000000000000000000000')
                                if(!rows[i]) {
                                    console.log(rows[i],'rows[index]------rows[index]')
                                    console.log('e------------e----2',e.name)
                                    console.log('index------------index----index',index)
                                   rows[i] = {"项目" : e.name}
                                    console.log(rows[i],'rows[index]------------1')
                                }
                                e.dataList && e.dataList.forEach((data,k) => {
                                    if(index == 0 && i == 0) {
                                        head.push(data.year)
                                        console.log(head,'head-----=============head')
                                    }
                                    rows[i][data.year] = data.val
                                    console.log(rows[i][data.year],'rows---------333333333')
                                })
                            })
                        })
                        this.tableData = rows
                        this.heardArry = head
                        console.log('this.tableData----this.tableData-----',this.tableData)
                    }
                })
                // let res = this.tableData
                // res.reduce((prev, cur, index) => {
                //     console.log('prev',prev)
                //     console.log('cur',cur)
                //     console.log('index',index)
                //     return cur.mergeRowIndex
                // },0)
            }
        }
    }
</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;
    }
  }
</style>
<style lang="scss" scoped>
  @import "../../../../assets/css/base";
.biyeshengStatistics-wrap{
src/pages/show/jiuyeAndChuangye/jiuyeChildren/chuangyeDanbaoDaikuan.vue
@@ -180,7 +180,7 @@
        },
        mounted() {
          this.getLoanTable()
            this.getParkTable()
          this.getParkTable()
        },
        methods: {
            getLoanTable() {
src/pages/show/jiuyeAndChuangye/jiuyeChildren/jiuyeQingkuang.vue
@@ -1,24 +1,29 @@
<template>
    <div class="jiuyeQingkuang-wrap">
      <h1>各县(市、区)2021年就业情况统计表</h1>
      <el-tabs v-model="activeName">
        <el-tab-pane label="城镇新增就业" name="first">
          <chengzhenXinzengJiuye></chengzhenXinzengJiuye>
      <el-tabs v-model="activeName" @tab-click="tabHandleClick">
        <el-tab-pane
          v-for="(item,index) in tabMenuList"
          :key="item.id"
          :label="item.name"
          :name="item.id + ''">
          <chengzhenXinzengJiuye ref="chengzhenXinzengJiuye" :tableData="tableData"></chengzhenXinzengJiuye>
        </el-tab-pane>
        <el-tab-pane label="失业再就业" name="second">
          <chengzhenXinzengJiuye></chengzhenXinzengJiuye>
        <!--<el-tab-pane label="失业再就业" name="2">
          <chengzhenXinzengJiuye ref="chengzhenXinzengJiuye"></chengzhenXinzengJiuye>
        </el-tab-pane>
        <el-tab-pane label="就业困难人员再就业" name="third">
          <chengzhenXinzengJiuye></chengzhenXinzengJiuye>
        <el-tab-pane label="就业困难人员再就业" name="3">
          <chengzhenXinzengJiuye ref="chengzhenXinzengJiuye"></chengzhenXinzengJiuye>
        </el-tab-pane>
        <el-tab-pane label="登记失业率" name="fourth">
          <chengzhenXinzengJiuye></chengzhenXinzengJiuye>
        </el-tab-pane>
        <el-tab-pane label="登记失业率" name="4">
          <chengzhenXinzengJiuye ref="chengzhenXinzengJiuye"></chengzhenXinzengJiuye>
        </el-tab-pane>-->
      </el-tabs>
    </div>
</template>
<script>
    import {getEmployTable} from '@/api/jiuyeAndChuangye'
  import chengzhenXinzengJiuye from "../../../components/jiuyeQingkuang/chengzhenXinzengJiuye";
    export default {
        name: "jiuyeQingkuang",
@@ -27,7 +32,39 @@
        },
        data() {
            return {
                activeName: 'first'
                activeName: '1',
                type: '1',
                tableData: [],
                //'城镇新增就业','失业再就业','就业困难人员再就业','登记失业率'
                tabMenuList: [{
                    name: '城镇新增就业',
                    id: 1
                },{
                    name: '失业再就业',
                    id: 2
                },{
                    name: '就业困难人员再就业',
                    id: 3
                },{
                    name: '登记失业率',
                    id: 4
                }]
            }
        },
        mounted() {
            this.getEmployTable()
        },
        methods: {
            getEmployTable() {
                getEmployTable({type: this.type}).then(res => {
                    if(res.code == 1000) {
                        this.tableData = res.list
                    }
                })
            },
            tabHandleClick(tab, event) {
                this.type = tab.name
                this.getEmployTable()
            }
        }
    }
src/pages/show/jiuyeAndChuangye/jiuyeChildren/zhiyePeixun.vue
@@ -9,7 +9,7 @@
      style="width: 100%">
      <el-table-column
        fixed="left"
        prop="year"
        prop="jyear"
        label="年份"
        align="center">
      </el-table-column>
@@ -18,48 +18,46 @@
          label="补贴性培训"
          align="center">
          <el-table-column
            prop="shengtingjihua"
            prop="planTimes"
            :label="'省厅计划 \n (人次)'"
            align="center">
          </el-table-column>
          <el-table-column
            prop="shijipeixunjihua"
            prop="realTimes"
            :label="'实际培训人数 \n (人次)'"
            align="center">
          </el-table-column>
          <el-table-column
            prop="wanchenglv"
            prop="completionRate"
            label="完成率"
            align="center">
          </el-table-column>
          <el-table-column
            prop="zhuanzhangzhichu"
            prop="expenditure"
            :label="'专账资金支出 \n (万元)'"
            align="center">
          </el-table-column>
        </el-table-column>
        <el-table-column
          prop="name"
          label="其中应届毕业学年高校毕业生"
          align="center">
          <el-table-column
            prop="peixunrenshu"
            prop="graduateTrains"
            :label="'培训人数 \n (人次)'"
            align="center">
          </el-table-column>
          <el-table-column
            prop="butiejine"
            prop="graduateSubsidy"
            :label="'补贴金额 \n (万元)'"
            align="center">
          </el-table-column>
        </el-table-column>
      </el-table-column>
      <el-table-column
        prop="year"
        label="社会性培训"
        align="center">
        <el-table-column
          prop="peixunrenci"
          prop="graduateSubsidy"
          label="实际培训人数 (人次)"
          align="center">
        </el-table-column>
@@ -70,54 +68,40 @@
</template>
<script>
  import {getTrainTable, getTrainChart} from '@/api/jiuyeAndChuangye'
  import nowSize from "../../../../libs/nowSize";
    export default {
        name: "zhiyePeixun",
        data() {
            return {
                tableData:[{
                    year: '2017年',
                    shengtingjihua: '34212',
                    shijipeixunjihua: '44333',
                    wanchenglv: '90%',
                    zhuanzhangzhichu: '233421',
                    peixunrenshu: '3222',
                    butiejine:'2322',
                    peixunrenci:'34223'
                },{
                    year: '2018年',
                    shengtingjihua: '34212',
                    shijipeixunjihua: '44333',
                    wanchenglv: '90%',
                    zhuanzhangzhichu: '233421',
                    peixunrenshu: '3222',
                    butiejine:'2322',
                    peixunrenci:'34223'
                },{
                    year: '2019年',
                    shengtingjihua: '34212',
                    shijipeixunjihua: '44333',
                    wanchenglv: '90%',
                    zhuanzhangzhichu: '233421',
                    peixunrenshu: '3222',
                    butiejine:'2322',
                    peixunrenci:'34223'
                },{
                    year: '2020年',
                    shengtingjihua: '34212',
                    shijipeixunjihua: '44333',
                    wanchenglv: '90%',
                    zhuanzhangzhichu: '233421',
                    peixunrenshu: '3222',
                    butiejine:'2322',
                    peixunrenci:'34223'
                }]
                tableData:[],
                yearsData: [],  //x轴数据
                numberData: [],  //柱状图数据(实际培训人数)
                rateData: [],  //折线数据(完成率)
            }
        },
        mounted() {
          this.zhiyepeixunEcharts()
          this.getTrainTable()
          this.getTrainChart()
        },
        methods: {
            getTrainTable() {  //查询职业培训统计表格数据接口
                getTrainTable().then(res => {
                   if(res.code == 1000) {
                       this.tableData = res.list
                   }
                })
            },
            getTrainChart() {
                getTrainChart().then(res => {
                    if(res.code == 1000) {
                        this.yearsData = res.obj.years
                        this.numberData = res.obj.number
                        this.rateData = res.obj.rate
                        this.zhiyepeixunEcharts()
                    }
                })
            },
            handleheader(data) {
                return {
                    lineHeight: '0',
@@ -170,7 +154,7 @@
                    xAxis: [
                        {
                            type: 'category',
                            data: ['2017年', '2018年', '2019年', '2020年', '2021年', '2022年', '2023年'],
                            data: this.yearsData,
                            axisPointer: {
                                type: 'shadow'
                            },
@@ -237,9 +221,7 @@
                                    return value + ' ml';
                                }
                            },
                            data: [
                                2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
                            ]
                            data: this.numberData
                        },
                        {
                            name: '完成率',
@@ -250,7 +232,7 @@
                                    return value + ' °C';
                                }
                            },
                            data: [2.0, 4.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
                            data: this.rateData
                        }
                    ]
                };