|
@@ -0,0 +1,383 @@
|
|
|
+<template>
|
|
|
+ <div :class="showDatePicker || showSelect? 'homeMobeilMask': ''">
|
|
|
+ </div>
|
|
|
+ <div class="seasonConpanyPage">
|
|
|
+ <van-nav-bar title="季度单位评级"/>
|
|
|
+ <div class="mobeilVant">
|
|
|
+ <div class="mobeilTop">
|
|
|
+ <div class="topLeft">
|
|
|
+ <!-- <van-icon name="star" size="20" /> -->
|
|
|
+ <img :src="logoImg" alt="">
|
|
|
+ <span>全业务域考评系统</span>
|
|
|
+ </div>
|
|
|
+ <div class="topRight">
|
|
|
+ <span>系统导航</span>
|
|
|
+ <!-- <van-icon name="wap-nav" size="23" /> -->
|
|
|
+ <img :src="daohangImg" alt="" @click="chooseMenu">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="seasonConpanyMain">
|
|
|
+ <div class="mainSeach">
|
|
|
+ <div class="rankingList">
|
|
|
+ <span>{{showDate}}年度</span>
|
|
|
+ <img :src="dateImg" @click="changePickerDate" alt="">
|
|
|
+ </div>
|
|
|
+ <div class="sectionModel">
|
|
|
+ <span @click="changeSelect">{{binSectionName}}板块</span>
|
|
|
+ </div>
|
|
|
+ <div class="mainSeachImg">
|
|
|
+ <img :src="sortImg" alt="">
|
|
|
+ <img :src="seachImg" alt="" @click="getYearData(binSection, showDate)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <van-date-picker
|
|
|
+ v-model="currentDate"
|
|
|
+ title="选择年份"
|
|
|
+ :columns-type="['year']"
|
|
|
+ @confirm="confirmFn"
|
|
|
+ @cancel="cancelpickerFn"
|
|
|
+ v-if="showDatePicker"
|
|
|
+ />
|
|
|
+ <van-picker
|
|
|
+ title="选择板块"
|
|
|
+ :columns="columnSection"
|
|
|
+ @confirm="selectConfirm"
|
|
|
+ @cancel="cancelSelect"
|
|
|
+ v-if="showSelect"
|
|
|
+ />
|
|
|
+ <div class="mainModel">
|
|
|
+ <el-table :data="seasonConpanyData" style="width: 100%">
|
|
|
+ <el-table-column label="排名" align="center">
|
|
|
+ <template #default="scope">
|
|
|
+ <img :src="scope.row.img" alt="" v-if="scope.row.img">
|
|
|
+ <span v-else>{{scope.row.rank}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="单位名称" prop="company" />
|
|
|
+ <el-table-column label="得分" prop="score" align="center"/>
|
|
|
+ <el-table-column label="加分事项" align="center">
|
|
|
+ <template #default="scope">
|
|
|
+ <img :src="scope.row.matter_heigh === 0 ? cenImg : scope.row.matter_heigh === 1 ? topImg : botImg" alt="">
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="扣分事项" align="center">
|
|
|
+ <template #default="scope">
|
|
|
+ <img :src="scope.row.matter_low === 0 ? cenImg : scope.row.matter_low === 1 ? topImg : botImg" alt="">
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="管理加分" align="center">
|
|
|
+ <template #default="scope">
|
|
|
+ <img :src="scope.row.manage_height === 0 ? cenImg : scope.row.manage_height === 1 ? topImg : botImg" alt="">
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="管理扣分" align="center" >
|
|
|
+ <template #default="scope">
|
|
|
+ <img :src="scope.row.manage_low === 0 ? cenImg : scope.row.manage_low === 1 ? topImg : botImg" alt="">
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="高于基准" align="center" >
|
|
|
+ <template #default="scope">
|
|
|
+ <img :src="scope.row.standard_heigh === 0 ? cenImg : scope.row.standard_heigh === 1 ? topImg : botImg" alt="">
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="低于基准" align="center" >
|
|
|
+ <template #default="scope">
|
|
|
+ <img :src="scope.row.standard_low === 0 ? cenImg : scope.row.standard_low === 1 ? topImg : botImg" alt="">
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import logoImg from '../assets/mobeilImg/logo.png'
|
|
|
+import daohangImg from '../assets/mobeilImg/daohang.png'
|
|
|
+import dateImg from '../assets/mobeilImg/date.png'
|
|
|
+import sortImg from '../assets/mobeilImg/sort.png'
|
|
|
+import seachImg from '../assets/mobeilImg/seach.png'
|
|
|
+import cup1 from '../assets/getwayImg/cup1.png'
|
|
|
+import cup2 from '../assets/getwayImg/cup2.png'
|
|
|
+import cup3 from '../assets/getwayImg/cup3.png'
|
|
|
+import topImg from '../assets/getwayImg/topNew.png'
|
|
|
+import botImg from '../assets/getwayImg/botNew.png'
|
|
|
+import cenImg from '../assets/getwayImg/cenNew.png'
|
|
|
+
|
|
|
+import {apiGetevaluationportallist} from '../api/api'
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ logoImg: logoImg,
|
|
|
+ daohangImg: daohangImg,
|
|
|
+ dateImg: dateImg,
|
|
|
+ sortImg: sortImg,
|
|
|
+ seachImg: seachImg,
|
|
|
+ topImg: topImg,
|
|
|
+ botImg: botImg,
|
|
|
+ cenImg: cenImg,
|
|
|
+ showDatePicker: false,
|
|
|
+ showSelect: false,
|
|
|
+ currentDate: [],
|
|
|
+ showDate: '',
|
|
|
+ binSection: 'HD',
|
|
|
+ binSectionName: '火电',
|
|
|
+ seasonConpanyData: [],
|
|
|
+ columnSection: []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.showDate = new Date().getFullYear()-1
|
|
|
+ this.getYearData(this.binSection, this.showDate)
|
|
|
+ this.columnSection = [
|
|
|
+ { text: '火电', value: 'HD' },
|
|
|
+ { text: '水电', value: 'SD' },
|
|
|
+ { text: '新能源', value: 'XNYFG' },
|
|
|
+ { text: '海外业务', value: 'GJYW' },
|
|
|
+ { text: '煤电一体化', value: 'MDYTH' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 获取年度评级详情
|
|
|
+ getYearData(name, year) {
|
|
|
+ let that = this
|
|
|
+ that.seasonConpanyData = []
|
|
|
+ let params = {
|
|
|
+ binSection: name,
|
|
|
+ year: year,
|
|
|
+ season: ''
|
|
|
+ }
|
|
|
+ apiGetevaluationportallist(params).then(datas =>{
|
|
|
+ if (datas && datas.data && datas.data.season) {
|
|
|
+ if (datas.data.season[name].length>0) {
|
|
|
+ datas.data.season[name].forEach((item, index) =>{
|
|
|
+ item.rank = index+1
|
|
|
+ if (index < 3) {
|
|
|
+ if (index === 0) {
|
|
|
+ item.img = cup1
|
|
|
+ } else if (index === 1) {
|
|
|
+ item.img = cup2
|
|
|
+ } else if (index === 2) {
|
|
|
+ item.img = cup3
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ that.seasonConpanyData = datas.data.season[name]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ chooseMenu() {
|
|
|
+ this.$router.push({ path: "/menu"})
|
|
|
+ },
|
|
|
+ changePickerDate() {
|
|
|
+ this.showDatePicker = true
|
|
|
+ },
|
|
|
+ changeSelect() {
|
|
|
+ this.showSelect = true
|
|
|
+ },
|
|
|
+ confirmFn(val) {
|
|
|
+ this.showDate = val.selectedValues[0]
|
|
|
+ this.cancelpickerFn()
|
|
|
+ },
|
|
|
+ selectConfirm(val) {
|
|
|
+ this.binSection = val.selectedValues[0]
|
|
|
+ if (this.binSection === 'HD') {
|
|
|
+ this.binSectionName = '火电'
|
|
|
+ } else if (this.binSection === 'SD') {
|
|
|
+ this.binSectionName = '水电'
|
|
|
+ } else if (this.binSection === 'XNYFG') {
|
|
|
+ this.binSectionName = '新能源'
|
|
|
+ } else if (this.binSection === 'GJYW') {
|
|
|
+ this.binSectionName = '海外业务'
|
|
|
+ } else if (this.binSection === 'MDYTH') {
|
|
|
+ this.binSectionName = '煤电一体化'
|
|
|
+ }
|
|
|
+ this.cancelSelect()
|
|
|
+ },
|
|
|
+ cancelpickerFn() {
|
|
|
+ this.showDatePicker = false
|
|
|
+ },
|
|
|
+ cancelSelect() {
|
|
|
+ this.showSelect = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less">
|
|
|
+.homeMobeilMask{
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ background-color: rgba(0,0,0,0.5);
|
|
|
+ z-index: 111;
|
|
|
+}
|
|
|
+.seasonConpanyPage {
|
|
|
+ background-color: #184FB4;
|
|
|
+ .van-nav-bar{
|
|
|
+ width: 100%;
|
|
|
+ background-color: #184FB4;
|
|
|
+ color: #fff;
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ z-index: 111111;
|
|
|
+ .van-nav-bar__content{
|
|
|
+ .van-nav-bar__left{
|
|
|
+ .van-nav-bar__text{
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .mobeilVant{
|
|
|
+ height: 100%;
|
|
|
+ margin-top: 45px;
|
|
|
+ border-radius: 10px 10px 0 0;
|
|
|
+ background-color: #fff;
|
|
|
+ .mobeilTop{
|
|
|
+ height: 60px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-around;
|
|
|
+ .topLeft{
|
|
|
+ display: flex;
|
|
|
+ img{
|
|
|
+ width: 24px;
|
|
|
+ height: 28px;
|
|
|
+ position: relative;
|
|
|
+ top: 18px;
|
|
|
+ left: -10px;
|
|
|
+ }
|
|
|
+ span{
|
|
|
+ font-family: MicrosoftYaHei;
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 16px;
|
|
|
+ color: #444950;
|
|
|
+ line-height: 60px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .topRight{
|
|
|
+ display: flex;
|
|
|
+ img{
|
|
|
+ width: 22px;
|
|
|
+ height: 18px;
|
|
|
+ position: relative;
|
|
|
+ top: 21px;
|
|
|
+ left: 5px;
|
|
|
+ }
|
|
|
+ span{
|
|
|
+ font-family: MicrosoftYaHei;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #545960;
|
|
|
+ line-height: 60px;
|
|
|
+ margin-right: 5px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .seasonConpanyMain{
|
|
|
+ // height: 50px;
|
|
|
+ background-color: #ededf5;
|
|
|
+ padding: 17px 20px;
|
|
|
+ width: calc(100% - 40px);
|
|
|
+ .mainSeach{
|
|
|
+ display: flex;
|
|
|
+ // justify-content: space-between;
|
|
|
+ .rankingList{
|
|
|
+ width: 37%;
|
|
|
+ height: 40px;
|
|
|
+ background: #184FB4;
|
|
|
+ border-radius: 5px;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ margin-right: 10px;
|
|
|
+ span{
|
|
|
+ display: inline-block;
|
|
|
+ width: 85%;
|
|
|
+ font-family: MicrosoftYaHei;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 16px;
|
|
|
+ color: #fff;
|
|
|
+ margin-right: 5px;
|
|
|
+ position: relative;
|
|
|
+ left: 20px;
|
|
|
+ top: 10px;
|
|
|
+ }
|
|
|
+ img{
|
|
|
+ width: 22px;
|
|
|
+ height: 18px;
|
|
|
+ position: relative;
|
|
|
+ top: -10px;
|
|
|
+ left: 90px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .sectionModel{
|
|
|
+ width: 37%;
|
|
|
+ height: 40px;
|
|
|
+ background: #838DAB;
|
|
|
+ border-radius: 5px;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ margin-right: 15px;
|
|
|
+ span{
|
|
|
+ display: inline-block;
|
|
|
+ width: 100%;
|
|
|
+ line-height: 40px;
|
|
|
+ text-align: center;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .mainSeachImg{
|
|
|
+ width: 17%;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ position: relative;
|
|
|
+ top: 10px;
|
|
|
+ img:nth-child(1){
|
|
|
+ width: 25px;
|
|
|
+ height: 15px;
|
|
|
+ position: relative;
|
|
|
+ top: 2px;
|
|
|
+ }
|
|
|
+ img:nth-child(2){
|
|
|
+ width: 22px;
|
|
|
+ height: 22px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .van-picker{
|
|
|
+ z-index: 222222
|
|
|
+ }
|
|
|
+ .mainModel{
|
|
|
+ background: #fff;
|
|
|
+ border-radius: 5px;
|
|
|
+ padding: 5px 0;
|
|
|
+ .el-table{
|
|
|
+ .el-table__header-wrapper{
|
|
|
+ .el-table__header{
|
|
|
+ tr{
|
|
|
+ .cell{
|
|
|
+ line-height: 18px !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .el-table__body-wrapper{
|
|
|
+ .el-table__body{
|
|
|
+ tr{
|
|
|
+ .cell{
|
|
|
+ img{
|
|
|
+ width: 20px;
|
|
|
+ height: 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|