Parcourir la source

单位考评目标修订详情页面根据甲方需求进行重构,并且与后端服务联调(包括任务中心关于修订的详情页面);根据后端要求修改问题或增加功能;

SunZehao il y a 2 ans
Parent
commit
37889437c3

+ 49 - 1
src/components/assessment/evaluationAmendmentNewFrom.vue

@@ -64,6 +64,10 @@
                                         <img :src="saveIcon" alt="">
                                         <span>保存</span>
                                     </div> -->
+                                    <div class="tableBtn add" @click="amendmentDetail">
+                                        <img :src="addIcon" alt="">
+                                        <span>修订</span>
+                                    </div>
                                     <div class="tableBtn save" @click="saveDetail">
                                         <img :src="saveIcon" alt="">
                                         <span>保存</span>
@@ -117,6 +121,28 @@
                 </span>
             </template>
         </el-dialog>
+        <el-dialog title="修订数据" v-model="revisionVisible" :fullscreen="true" :close-on-click-modal="false">
+            <div class="revisionSty">
+                <el-table :data="revisionData" style="width: 100%" @select="revisionClick" @select-all="revisionClick">
+                    <el-table-column type="selection" label="操作" align="center"></el-table-column>
+                    <el-table-column label="单位名称" prop="organizationName" />
+                    <el-table-column label="指标分类" prop="typeName" />
+                    <el-table-column label="业务阶段" prop="stageName" />
+                    <el-table-column label="业务属性" prop="sectionName" />
+                    <el-table-column label="指标名称" prop="indicatorName" />
+                    <el-table-column label="填报部门" prop="deptName" />
+                    <el-table-column label="目标值" prop="quantifiedValue" v-if="activeName === 'first'" />
+                    <el-table-column label="值" prop="nonquantifiedValue" v-if="activeName !== 'first'" />
+                    <el-table-column label="单位" prop="unit"  v-if="activeName === 'first'" />
+                    <el-table-column label="审核状态" prop="state" />
+                </el-table>
+            </div>
+            <template #footer>
+                <span class="dialog-footer">
+                    <el-button type="primary" @click="revisionOk">确 认</el-button>
+                </span>
+            </template>
+        </el-dialog>
         <import-dailog ref="importPage" @successImport="successImport"></import-dailog>
     </div>
 </template>
@@ -124,7 +150,7 @@
 <script>
 import importDailog from '../importPage/importDailog.vue'
 import {apiGetgetevaluationrevisiondetails,apiGetbinsectionList, apiGetbinstageList,apiGetExportMsg,
-apiPostupdateevaluationrevisionInfo, apiPostorganizationUpdateAddEvaluationInfo} from '../../api/api'
+apiPostupdateevaluationrevisionInfo, apiPostorganizationUpdateAddEvaluationInfo, apiGetevaluationrevisionPopUpData} from '../../api/api'
 import * as XLSX from 'xlsx'
 import { saveAs } from 'file-saver'
 import  * as XLSXD from 'xlsx-js-style'
@@ -145,6 +171,8 @@ export default {
     data() {
         return {
             dialogVisible: false,
+            revisionVisible: false,
+            revisionData: [],
             activeName: '',
             monthQuarterYearData: [],
             monthQuarterYearHeader: [],
@@ -302,6 +330,26 @@ export default {
             })
             this.getTableData(stageId)
         },
+        // 修订数据
+        amendmentDetail() {
+            let that = this
+            that.revisionVisible = true
+            that.revisionData = []
+            let params = {
+                id: that.rowMsg.id
+            }
+            apiGetevaluationrevisionPopUpData(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.revisionData = datas.data
+                }
+            })
+        },
+        revisionClick(selection, row) {
+            this.revisioDataSelect = selection
+        },
+        revisionOk() {
+            this.revisionVisible = false
+        },
         addTableDetail() {
             console.log('表头数据11====>>>>>>>', this.monthQuarterYearHeader)
             if (this.monthQuarterYearHeader.length>0) {

+ 1 - 0
src/components/evaluationSystem/ruleDetailPage.vue

@@ -49,6 +49,7 @@
                     <div class="ruleItemTableData">
                         <el-table :data="ruleDetailData" style="width: 100%" @select="rowClick" @select-all="rowClick">
                             <el-table-column type="selection" label="操作" align="center"></el-table-column>
+                            <el-table-column type="index" label="序号" align="center"></el-table-column>
                             <el-table-column label="指标名称" prop="indicatorName" />
                             <el-table-column label="创建者" prop="createName" />
                             <el-table-column label="创建时间" prop="createTime" />

+ 1 - 1
src/components/taskCenter/taskCenterPage.vue

@@ -135,7 +135,7 @@ export default {
                         that.$refs.taskApplicationFrom.init(row, keyId)
                     } else if(taskDefKey === 'yddwkplc' || taskDefKey === 'jddwkplc' || taskDefKey === 'nddwkplc') {
                         that.$refs.taskCenterEvl.init(row, allData)
-                    } else if (taskDefKey === 'dwkpmbqd') {
+                    } else if (taskDefKey === 'dwkpmbqd' || taskDefKey === 'dwkpmbxd') {
                         that.$refs.taskEvaluationStart.init(row)
                     }
                 }

+ 3 - 3
src/components/taskCenter/taskEvaluationStart.vue

@@ -221,14 +221,14 @@ export default {
                 id: id
             }
             apiGetHeaderDeptResponsibility(params).then(datas =>{
-                that.getDataMsg('dwkpmbqd', datas)
+                that.getDataMsg(datas)
             })
         },
-        getDataMsg(types, datas) {
+        getDataMsg(datas) {
             if (datas && datas.data) {
                 let item = datas.data
                 this.receiptMsg = {
-                    code: types === 'dwkpmbqd'?item.responsibilityCode:item.organizationEvaluationCode,
+                    code: item.responsibilityCode,
                     des: item.des,
                     stage: item.stage,
                     createName: item.createName,

+ 61 - 31
src/mobeilComponent/homeMobeilPage.vue

@@ -32,14 +32,17 @@
                 <div class="mainModel" v-for="(it, index) in cupDataYearArr.section" :key="index">
                     <div class="mainModelTit">
                         <div class="mainModelTit_left">
-                            <img :src="huodianImg" alt="">
-                            <span>火电板块</span>
+                            <img :src="huodianImg" alt="" v-if="it.nameEn === 'HD'">
+                            <img :src="shuidianImg" alt="" v-else-if="it.nameEn === 'SD'">
+                            <img :src="xinnengyuanImg" alt="" v-else-if="it.nameEn === 'XNYFG'">
+                            <img :src="meidianImg" alt="" v-else-if="it.nameEn === 'MDYTH'">
+                            <span>{{it.name}}</span>
                         </div>
                         <img :src="moreImg" alt="" class="mainModelTit_right">
                     </div>
                     <div class="mainModelMsg">
                         <div class="mainTwo">
-                            <div class="echartsNum" :style="it.echartsData.allNum < 10 ? 'left:56px': 'left: 65px'">{{it.echartsData.allNum}}</div>
+                            <!-- <div class="echartsNum" :style="it.echartsData.allNum < 10 ? 'left:56px': 'left: 65px'">{{it.echartsData.allNum}}</div> -->
                             <div :id="'pieChart'+index" style="height: 100px;width: 100%"></div>
                             <el-row>
                                 <el-col :span="12">
@@ -67,7 +70,7 @@
                                 </div>
                                 <div class="headerNameTit_right">
                                     <span>级别</span>
-                                    <span style="margin-left: 20px">得分</span>
+                                    <span>得分</span>
                                 </div>
                             </div>
                             <div style="display: flex" v-for="(item, index) in it.tableDatas" :key="index">
@@ -146,7 +149,7 @@ export default {
                     secArr.forEach(item =>{
                         for(let i in datas.data.year) {
                             let it = datas.data.year[i]
-                            if (item === i && i !== 'MDYTH') {
+                            if (item === i && i !== 'GJYW') {
                                 let gradeA = 0
                                 let gradeB = 0
                                 let gradeC = 0
@@ -234,6 +237,10 @@ export default {
         },
         
         getEchartsData(data, name) {
+            let total = 0
+            data.forEach(it =>{
+                total += it.value
+            })
             let option = {
                 color: ['#F65177', '#50C14E', '#5093E1', '#9DA5BE'],
                 tooltip: {
@@ -246,16 +253,14 @@ export default {
                     radius: ['50%', '70%'],
                     avoidLabelOverlap: false,
                     label: {
-                        show: false,
-                        position: 'center'
+                        show: true,
+                        position: 'center',
+                        formatter: () =>{
+                            return total
+                        },
+                        fontSize: 16,
+                        fontWeight: 600
                     },
-                    // emphasis: {
-                    //     label: {
-                    //     show: true,
-                    //     fontSize: 10,
-                    //     fontWeight: 'bold'
-                    //     }
-                    // },
                     labelLine: {
                         show: false
                     },
@@ -303,9 +308,12 @@ export default {
         width: 100%;
         background-color: #184FB4;
         color: #fff;
+        position: fixed;
+        top: 0;
     }
     .mobeilVant{
         height: 100%;
+        margin-top: 45px;
         border-radius: 10px 10px 0 0;
         background-color: #fff;
         .mobeilTop{
@@ -351,7 +359,7 @@ export default {
         .mobeilMain{
             // height: 50px;
             background-color: #ededf5;
-            padding: 17px 20px 0 20px;
+            padding: 17px 20px;
             .rankingList{
                 width: 100%;
                 height: 45px;
@@ -386,17 +394,17 @@ export default {
                 background: #fff;
                 border-radius: 5px;
                 .mainModelTit{
-                    height: 50px;
+                    height: 40px;
                     padding: 0 15px;
                     display: flex;
                     justify-content: space-between;
                     border-bottom: 1px solid #96A1B4;
                     .mainModelTit_left{
                         img{
-                            width: 22px;
-                            height: 22px;
+                            width: 20px;
+                            height: 20px;
                             position: relative;
-                            top: 12px;
+                            top: 10px;
                             right: 5px;
                         }
                         span{
@@ -407,12 +415,12 @@ export default {
                             color: #545960;
                             margin-right: 5px;
                             position: relative;
-                            top: 8px;
+                            top: 7px;
                         }
                     }
                     .mainModelTit_right{
-                        width: 18px;
-                        height: 18px;
+                        width: 14px;
+                        height: 14px;
                         position: relative;
                         top: 14px;
                         right: 5px;
@@ -450,24 +458,40 @@ export default {
                     }
                     .mainThree{
                         width: 65%;
-                        padding-top: 13px;
+                        padding-top: 5px;
                         border-right: 1px solid #E1E3EA;
                         position: relative;
                         .headerNameTit{
                             display: flex;
-                            justify-content: space-between;
-                            padding: 0px 20px;
+                            // justify-content: space-between;
+                            padding: 0px 15px;
+                            margin-bottom: 5px;
                             font-size: 14px;
                             color: #414141;
+                            .headerNameTit_left{
+                                width: 65%;
+                            }
+                            .headerNameTit_right{
+                                width: 40%;
+                                span:nth-child(1){
+                                    display: inline-block;
+                                    width: 60%;
+                                }
+                                span:nth-child(2){
+                                    display: inline-block;
+                                    width: 40%;
+                                }
+                            }
                         }
                         .mainThreeMsg{
                             display: flex;
                             margin: 0 10px;
-                            width: 100%;
+                            width: calc(100% - 36px);
                             height: 33px;
                             background: #F6F7FA;
                             margin-bottom: 8px;
-                            padding-left: 10px;
+                            padding-left: 8px;
+                            padding-right: 8px;
                             padding-top: 2px;
                             border-radius: 5px;
                             img{
@@ -480,24 +504,30 @@ export default {
                             .msgProgress{
                                 margin-top: 5px;
                                 display: flex;
-                                width: 90%;
+                                width: 100%;
                                 span{
                                     font-size: 14px;
                                     font-family: Microsoft YaHei;
                                 }
                                 span:nth-child(1){
                                     display: inline-block;
-                                    width: 70%;
+                                    width: 60%;
                                     font-weight: 400;
                                     color: #666;
-                                    margin-right: 10px;
+                                    // margin-right: 10px;
+                                    overflow: hidden;
+                                    text-overflow: ellipsis;
+                                    white-space: nowrap;
                                 }
                                 span:nth-child(2){
+                                    display: inline-block;
+                                    width: 25%;
                                     font-weight: 600;
-                                    margin-right: 30px;
                                     color: #F65177;
                                 }
                                 span:nth-child(3){
+                                    display: inline-block;
+                                    width: 10%;
                                     font-weight: 600;
                                     color: #666;
                                 }