123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397 |
- <template>
- <div class="seasonLeagueTable">
- <el-dialog v-model="dialogVisible" width="80vw" :close-on-click-modal="false">
- <template #header>
- <div class="seasonHeader">
- <span style="font-size:14px;color:#fff">考核排行榜</span>
- <el-select v-model="optionName" placeholder="请选择板块" @change="changeOption">
- <el-option
- v-for="item in optionArr"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </div>
- </template>
- <el-row class="seasonFrom">
- <el-col :span="12" style="border-right: 1px solid #E1E3EA;">
- <div class="seasonFromHeader">
- <div class="headerNameTit">
- <div class="headerNameTit_left">
- <span>排名</span>
- <span style="margin-left: 20px">单位名称</span>
- </div>
- <div class="headerNameTit_right">
- <span>得分</span>
- <span style="margin-left: 20px">加分事项</span>
- <span style="margin-left: 20px">扣分事项</span>
- <span style="margin-left: 20px">管理加分</span>
- <span style="margin-left: 20px">管理扣分</span>
- <span style="margin-left: 20px">高于基准</span>
- <span style="margin-left: 20px">低于基准</span>
- </div>
- </div>
- </div>
- <div style="margin-top:10px">
- <div style="display: flex;" v-for="(item, index) in evaluationSeasonDataLeft" :key="index">
- <div class="mainFourMsg">
- <span>{{item.rank}}</span>
- <span>{{item.company}}</span>
- <span>{{item.score}}</span>
- <div class="mainFourImg">
- <el-popover
- placement="right-start"
- :title="item.company +' '+ item.score"
- :width="200"
- trigger="hover"
- :content="item.matter_heigh_note"
- >
- <template #reference>
- <img :src="item.matter_heigh === 0 ? cenImg : item.matter_heigh === 1 ? topImg : botImg" alt="">
- </template>
- </el-popover>
- <el-popover
- placement="right-start"
- :title="item.company +' '+ item.score"
- :width="200"
- trigger="hover"
- :content="item.manage_low_note"
- >
- <template #reference>
- <img :src="item.manage_low === 0 ? cenImg : item.manage_low === 1 ? topImg : botImg" alt="">
- </template>
- </el-popover>
- <el-popover
- placement="right-start"
- :title="item.company +' '+ item.score"
- :width="200"
- trigger="hover"
- :content="item.manage_height_note"
- >
- <template #reference>
- <img :src="item.manage_height === 0 ? cenImg : item.manage_height === 1 ? topImg : botImg" alt="">
- </template>
- </el-popover>
- <el-popover
- placement="right-start"
- :title="item.company +' '+ item.score"
- :width="200"
- trigger="hover"
- :content="item.manage_low_note"
- >
- <template #reference>
- <img :src="item.manage_low === 0 ? cenImg : item.manage_low === 1 ? topImg : botImg" alt="">
- </template>
- </el-popover>
- <el-popover
- placement="right-start"
- :title="item.company +' '+ item.score"
- :width="200"
- trigger="hover"
- :content="item.standard_heigh_note"
- >
- <template #reference>
- <img :src="item.standard_heigh === 0 ? cenImg : item.standard_heigh === 1 ? topImg : botImg" alt="">
- </template>
- </el-popover>
- <el-popover
- placement="right-start"
- :title="item.company +' '+ item.score"
- :width="200"
- trigger="hover"
- :content="item.standard_low_note"
- >
- <template #reference>
- <img :src="item.standard_low === 0 ? cenImg : item.standard_low === 1 ? topImg : botImg" alt="">
- </template>
- </el-popover>
- </div>
- </div>
- </div>
- </div>
- </el-col>
- <el-col :span="12">
- <div class="seasonFromHeader">
- <div class="headerNameTit">
- <div class="headerNameTit_left">
- <span>排名</span>
- <span style="margin-left: 20px">单位名称</span>
- </div>
- <div class="headerNameTit_right">
- <span>得分</span>
- <span style="margin-left: 20px">加分事项</span>
- <span style="margin-left: 20px">扣分事项</span>
- <span style="margin-left: 20px">管理加分</span>
- <span style="margin-left: 20px">管理扣分</span>
- <span style="margin-left: 20px">高于基准</span>
- <span style="margin-left: 20px">低于基准</span>
- </div>
- </div>
- </div>
- <div style="display: flex" v-for="(item, index) in evaluationSeasonDataRight" :key="index">
- <div class="mainFourMsg">
- <span>{{item.rank}}</span>
- <span>{{item.company}}</span>
- <span>{{item.score}}</span>
- <div class="mainFourImg">
- <el-popover
- placement="right-start"
- :title="item.company +' '+ item.score"
- :width="200"
- trigger="hover"
- :content="item.matter_heigh_note"
- >
- <template #reference>
- <img :src="item.matter_heigh === 0 ? cenImg : item.matter_heigh === 1 ? topImg : botImg" alt="">
- </template>
- </el-popover>
- <el-popover
- placement="right-start"
- :title="item.company +' '+ item.score"
- :width="200"
- trigger="hover"
- :content="item.manage_low_note"
- >
- <template #reference>
- <img :src="item.manage_low === 0 ? cenImg : item.manage_low === 1 ? topImg : botImg" alt="">
- </template>
- </el-popover>
- <el-popover
- placement="right-start"
- :title="item.company +' '+ item.score"
- :width="200"
- trigger="hover"
- :content="item.manage_height_note"
- >
- <template #reference>
- <img :src="item.manage_height === 0 ? cenImg : item.manage_height === 1 ? topImg : botImg" alt="">
- </template>
- </el-popover>
- <el-popover
- placement="right-start"
- :title="item.company +' '+ item.score"
- :width="200"
- trigger="hover"
- :content="item.manage_low_note"
- >
- <template #reference>
- <img :src="item.manage_low === 0 ? cenImg : item.manage_low === 1 ? topImg : botImg" alt="">
- </template>
- </el-popover>
- <el-popover
- placement="right-start"
- :title="item.company +' '+ item.score"
- :width="200"
- trigger="hover"
- :content="item.standard_heigh_note"
- >
- <template #reference>
- <img :src="item.standard_heigh === 0 ? cenImg : item.standard_heigh === 1 ? topImg : botImg" alt="">
- </template>
- </el-popover>
- <el-popover
- placement="right-start"
- :title="item.company +' '+ item.score"
- :width="200"
- trigger="hover"
- :content="item.standard_low_note"
- >
- <template #reference>
- <img :src="item.standard_low === 0 ? cenImg : item.standard_low === 1 ? topImg : botImg" alt="">
- </template>
- </el-popover>
- </div>
- </div>
- </div>
- </el-col>
- </el-row>
- </el-dialog>
- </div>
- </template>
- <script>
- import {apiGetevaluationportallist} from '../../api/api'
- import topImg from '../../assets/getwayImg/topNew.png'
- import botImg from '../../assets/getwayImg/botNew.png'
- import cenImg from '../../assets/getwayImg/cenNew.png'
- export default {
- data() {
- return {
- dialogVisible: false,
- evaluationSeasonDataLeft: [],
- evaluationSeasonDataRight: [],
- optionArr: [],
- optionName: '',
- yearData: '',
- seasonData: '',
- topImg: topImg,
- botImg: botImg,
- cenImg: cenImg,
- }
- },
- created() {
- this.optionArr = [
- {
- label: '火电板块',
- value: 'HD'
- },
- {
- label: '水电板块',
- value: 'SD'
- },
- {
- label: '新能源',
- value: 'XNYFG'
- },
- {
- label: '海外业务',
- value: 'GJYE'
- },
- {
- label: '煤电一体化',
- value: 'MDYTH'
- }
- ]
- },
- methods: {
- init(name, year, season) {
- this.dialogVisible = true
- this.optionName = name
- this.yearData = year
- this.seasonData = season
- this.evaluationSeasonDataLeft = []
- this.evaluationSeasonDataRight = []
- this.getYearData(name, year, season)
- },
- changeOption(val) {
- this.evaluationSeasonDataLeft = []
- this.evaluationSeasonDataRight = []
- this.getYearData(val, this.yearData, this.seasonData)
- },
- getYearData(name, year, season) {
- let that = this
- let params = {
- binSection: name,
- year: year,
- season: season === '第一季度' ? '1' : season === '第二季度' ? '2' : '3'
- }
- 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 (datas.data.season[name].length>10) {
- that.evaluationSeasonDataLeft = datas.data.season[name].splice(0, 10)
- that.evaluationSeasonDataRight = datas.data.season[name]
-
- } else {
- that.evaluationSeasonDataLeft = datas.data.season[name]
- }
- }
- }
- })
- }
- }
- }
- </script>
- <style lang="less">
- .seasonLeagueTable{
- .el-overlay{
- .el-dialog{
- margin-top: 5vh !important;
- .el-dialog__header{
- .seasonHeader{
- width: 97%;
- display: flex;
- justify-content: space-between;
- .el-select{
- width: 120px;
- .el-input__inner{
- height:28px;
- }
- .el-input__suffix{
- .el-select__caret{
- line-height:28px;
- }
- }
- }
- }
- }
- .seasonFrom{
- padding: 0 20px;
- .seasonFromHeader{
- width: 100%;
- border-bottom: 1px solid #E1E3EA;
- .headerNameTit{
- display: flex;
- justify-content: space-between;
- padding: 8px 20px;
- font-size: 14px;
- color: #414141;
- }
- .headerTit{
- position: relative;
- top: 10px;
- left: 150px;
- }
- }
- .mainFourMsg{
- display: flex;
- margin: 0 10px;
- width: 100%;
- height: 33px;
- background: #F6F7FA;
- margin-bottom: 8px;
- padding-left: 10px;
- padding-top: 2px;
- border-radius: 5px;
- .mainFourImg{
- display: flex;
- justify-content: space-around;
- width: 65%;
- img{
- width: 20px;
- height: 20px;
- position: relative;
- top: 5px;
- margin-right: 33px;
- margin-left: 22px;
- }
- }
- span{
- font-size: 14px;
- font-family: Microsoft YaHei;
- position: relative;
- top: 6px;
- }
- span:nth-child(1){
- display: inline-block;
- width: 5%;
- font-weight: 600;
- color: #666;
- margin-left: 10px;
- margin-right: 13px;
- }
- span:nth-child(2){
- display: inline-block;
- width: 33%;
- font-weight: 400;
- color: #666;
- margin-right: 17px;
- }
- span:nth-child(3){
- display: inline-block;
- width: 5%;
- font-weight: 600;
- margin-right: 15px;
- color: #666;
- }
- }
- }
- }
- }
- }
- </style>
|