Bläddra i källkod

部门考评目标启动联调生成报表功能;根据后端需求修改考评指标管理功能,考评规则管理功能,所有页面关于详情得功能优化;

SunZehao 1 år sedan
förälder
incheckning
b979779ac8

+ 10 - 1
src/api/api.js

@@ -375,13 +375,21 @@ export function apiGetevaluationdeptassessmentdetails(params) {
     })
 }
 
-//生成报表 ---- 下载报表
+//生成报表
+// ---- 下载报表-----考核
 export function apiGetevaluationgenerateReport(params) {
     return httpRequest({
         url: `evaluation-dept-assessment/generateReport/${params}`,
         method: 'get'
     })
 }
+// ---- 下载报表-----计划
+export function apiGetevaluationdeptplanReport(params) {
+    return httpRequest({
+        url: `evaluation-dept-plan/generateReport/${params}`,
+        method: 'get'
+    })
+}
 export function apiGetevaluationdownloadReport(params) {
     return httpRequest({
         url: `evaluation-dept-assessment/downloadReport/${params}`,
@@ -392,6 +400,7 @@ export function apiGetevaluationdownloadReport(params) {
 }
 
 
+
 //--------部门绩效考核评级列表
 export function apiGetevaluationdeptratinglist(params) {
     return httpRequest({

+ 3 - 1
src/components/assessment/evaluationAmendmentPage.vue

@@ -78,7 +78,9 @@
                     <el-table-column label="操作" width="100">
                         <template #default="scope">
                             <p class="indicitem" v-if="scope.row.stage === '流程未启动'" @click="agetdeptresponsibility(scope.row)">启动</p>
-                            <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p>
+                            <!-- <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p> -->
+                            <p style="font-size: 12px;margin-right: 20px;" v-else-if="scope.row.stage === '流程已结束'" >已结束</p>
+                            <p style="font-size: 12px;margin-right: 20px;" v-else >已启动</p>
                         </template>
                     </el-table-column>
                 </el-table>

+ 3 - 1
src/components/assessment/evaluationDeptBusinessPage.vue

@@ -39,7 +39,9 @@
                         <template #default="scope">
                             <div style="display:flex">
                                 <p class="indicitem" v-if="scope.row.stage === '流程未启动'" @click="agetdeptresponsibility(scope.row)">启动</p>
-                                <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p>
+                                <!-- <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p> -->
+                                <p style="font-size: 12px;margin-right: 20px;" v-else-if="scope.row.stage === '流程已结束'" >已结束</p>
+                                <p style="font-size: 12px;margin-right: 20px;" v-else >已启动</p>
                                 <p class="indicitem" v-if="scope.row.stage === '流程已结束'" @click="getGenerateReport(scope.row)">生成报表</p>
                             </div>
                         </template>

+ 27 - 5
src/components/assessment/evaluationDeptStartPage.vue

@@ -68,10 +68,15 @@
                             <p class="indicitem" @click="seeStates(scope.row)">{{scope.row.stage}}</p>
                         </template>
                     </el-table-column>
-                    <el-table-column label="操作" width="100">
+                    <el-table-column label="操作" width="160">
                         <template #default="scope">
-                            <p class="indicitem" v-if="scope.row.stage === '流程未启动'" @click="agetdeptresponsibility(scope.row)">启动</p>
-                            <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p>
+                            <div style="display:flex">
+                                <p class="indicitem" v-if="scope.row.stage === '流程未启动'" @click="agetdeptresponsibility(scope.row)">启动</p>
+                                <!-- <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p> -->
+                                <p style="font-size: 12px;margin-right: 20px;" v-else-if="scope.row.stage === '流程已结束'" >已结束</p>
+                                <p style="font-size: 12px;margin-right: 20px;" v-else >已启动</p>
+                                <p class="indicitem" v-if="scope.row.stage === '流程已结束'" @click="getGenerateReport(scope.row)">生成报表</p>
+                            </div>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -161,7 +166,8 @@
 <script>
 import startFromList from './evaluationDeptStartFrom.vue'
 import btns from '../elbuttonS.vue'
-import {apiGetevaluatiodeptplanList, apiGetevaluationdeptplanSave,apiGetdoAction,apiGetworkflowgetOpinion,apiGetevaluationdeptplanModify,
+import {apiGetevaluatiodeptplanList, apiGetevaluationdeptplanSave,apiGetdoAction,
+apiGetworkflowgetOpinion,apiGetevaluationdeptplanModify,apiGetevaluationdeptplanReport,apiGetevaluationdownloadReport,
 apideptModifyState, apiGetdatadictionaryList, apiPostevaluationdeptplanDelete} from '../../api/api'
 export default {
     components: {
@@ -494,7 +500,23 @@ export default {
                     that.changeDateSelect = []
                 })
             })
-        },  
+        },
+        getGenerateReport(row) {
+            let that = this
+            apiGetevaluationdeptplanReport(row.id).then(datas =>{
+                if (datas.success) {
+                    apiGetevaluationdownloadReport(datas.data).then(datass =>{
+                        let blob = new Blob([datass],{ type: 'application/msword;charset=UTF-8' })
+                        saveAs(blob, `${datas.data}`)
+                    })
+                } else {
+                    that.$message({
+                        message: datas.message,
+                        type: 'error'
+                    });
+                }
+            })
+        }
     }
 }
 </script>

+ 0 - 1
src/components/assessment/evaluationMonthPage.vue

@@ -76,7 +76,6 @@
                             <div style="display:flex;justify-content: left;">
                                 <div>
                                     <p class="indicitem" v-if="scope.row.stage === '流程未启动'" @click="agetdeptresponsibility(scope.row)">启动</p>
-                                    <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p>
                                 </div>
                                 <p class="indicitem" @click="calculateScore(scope.row)">计算得分</p>
                                 <p class="indicitem" @click="generateReport(scope.row)">生成报表</p>

+ 1 - 1
src/components/assessment/evaluationQuarterPage.vue

@@ -77,7 +77,7 @@
                             <div style="display:flex;justify-content: left;">
                                 <div>
                                     <p class="indicitem" v-if="scope.row.stage === '流程未启动'" @click="agetdeptresponsibility(scope.row)">启动</p>
-                                    <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p>
+                                    <!-- <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p> -->
                                 </div>
                                 <p class="indicitem" @click="calculateScore(scope.row)">计算得分</p>
                                 <p class="indicitem" @click="generateReport(scope.row)">生成报表</p>

+ 3 - 1
src/components/assessment/evaluationStartPage.vue

@@ -78,7 +78,9 @@
                     <el-table-column label="操作" width="100">
                         <template #default="scope">
                             <p class="indicitem" v-if="scope.row.stage === '流程未启动'" @click="agetdeptresponsibility(scope.row)">启动</p>
-                            <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p>
+                            <!-- <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p> -->
+                            <p style="font-size: 12px;margin-right: 20px;" v-else-if="scope.row.stage === '流程已结束'" >已结束</p>
+                            <p style="font-size: 12px;margin-right: 20px;" v-else >已启动</p>
                         </template>
                     </el-table-column>
                 </el-table>

+ 1 - 1
src/components/assessment/evaluationYearPage.vue

@@ -74,7 +74,7 @@
                             <div style="display:flex;justify-content: left;">
                                 <div>
                                     <p class="indicitem" v-if="scope.row.stage === '流程未启动'" @click="agetdeptresponsibility(scope.row)">启动</p>
-                                    <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p>
+                                    <!-- <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p> -->
                                 </div>
                                 <p class="indicitem" @click="calculateScore(scope.row)">计算得分</p>
                                 <p class="indicitem" @click="generateReport(scope.row)">生成报表</p>

+ 2 - 2
src/components/evaluationSystem/achievementKPage.vue

@@ -38,11 +38,11 @@
                     <!-- <el-table-column label="单据状态" prop="state" /> -->
                     <el-table-column label="创建人" prop="createName" />
                     <el-table-column label="修改时间" prop="updateTime" width="200" />
-                    <el-table-column label="操作">
+                    <!-- <el-table-column label="操作">
                         <template #default="scope">
                             <p class="indicitem" @click="detailWatch(scope.row)">详情</p>
                         </template>
-                    </el-table-column>
+                    </el-table-column> -->
                 </el-table>
                 <el-pagination
                     @size-change="handleSizeChange"

+ 11 - 4
src/components/evaluationSystem/evaluationIndexPage.vue

@@ -77,7 +77,7 @@
                 </el-pagination>
             </div>
             <div class="indexdialog">
-                <el-dialog :title="title" v-model="dialogVisible" width="80vw" :close-on-click-modal="false">
+                <el-dialog :title="title" v-model="dialogVisible" :fullscreen="true" :close-on-click-modal="false">
                     <el-row class="periodFrom">
                         <el-col :span="7">
                             <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="DruleForm" :validate-on-rule-change="false">
@@ -559,6 +559,13 @@ export default {
                     deptName = item.keyName
                 }
             })
+            that.indicatoroptions.forEach(item =>{
+                if (item.list.length>0) {
+                    item.list.forEach(itv =>{
+                        itv.formula = encodeURI(itv.formula)
+                    })
+                }
+            })
             let params = {
                 indicatorName: that.ruleForm.indicatorName,
                 indicatorCode: that.ruleForm.indicatorCode,
@@ -774,7 +781,6 @@ export default {
         .indexdialog{
             .el-overlay{
                 .el-dialog{
-                    margin-top: 10vh;
                     .el-dialog__body{
                         padding: 0px 20px 0px 20px !important;
                         border-top: 1px solid #D6DBEA;
@@ -822,8 +828,9 @@ export default {
                                     }
                                 }
                                 .indicatorItemTableData{
-                                    max-height: 55vh !important;
-                                    // overflow-y: auto;
+                                    // max-height: 75vh !important;
+                                    height: 75vh !important;
+                                    overflow-y: auto;
                                     .datasMsg{
                                         .tableBtn {
                                             display: flex;

+ 4 - 4
src/components/evaluationSystem/evaluationRulesPage.vue

@@ -47,11 +47,11 @@
                     </el-table-column>
                     <el-table-column label="创建人" prop="createName" width="120" />
                     <el-table-column label="创建时间" prop="createTime"  width="200"/>
-                    <el-table-column label="操作" width="80">
+                    <!-- <el-table-column label="操作" width="80">
                         <template #default="scope">
                             <p class="indicitem" @click="editRuleDetail(scope.row)">详情</p>
                         </template>
-                    </el-table-column>
+                    </el-table-column> -->
                 </el-table>
                 <el-pagination
                     @size-change="handleSizeChange"
@@ -62,7 +62,7 @@
                     :total="page.total">
                 </el-pagination>
             </div>
-            <div class="indexdialog">
+            <div class="indexRuledialog">
                 <el-dialog :title="title" v-model="dialogVisible" width="600px" :close-on-click-modal="false">
                     <div class="periodFrom">
                         <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm" :validate-on-rule-change="false">
@@ -383,7 +383,7 @@ export default {
                 margin:0;
             }
         }
-        .indexdialog{
+        .indexRuledialog{
             .el-overlay{
                 .el-dialog{
                     .el-dialog__body{

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

@@ -324,7 +324,7 @@ export default {
         .el-dialog{
             margin-top: 5vh !important;
             .el-dialog__body{
-                padding: 30px 20px 30px 20px !important;
+                padding: 0 20px 30px 20px !important;
                 .ruleItemAll{
                     .el-select, .el-input{
                         width: 100%;

+ 2 - 0
src/components/menuTreeconfig.vue

@@ -8,6 +8,8 @@
               <img :src="menu.img" v-else-if="menu.index === '2'">
               <img :src="menu.img" v-else-if="menu.index === '3'">
               <img :src="menu.img" v-else-if="menu.index === '4'">
+              <img :src="menu.img" v-else-if="menu.index === '5'">
+              <img :src="menu.img" v-else-if="menu.index === '6'">
               <span style="margin-left: 10px">{{menu.name}}</span>
               
               <!-- <span slot="title">{{menu.name}}</span> -->