소스 검색

单位月度考评页面,单位季度考评页面新增指标考核打分页面,前端增加导出功能;部门绩效考核申报页面增加导出报表功能,服务联调;

SunZehao 1 년 전
부모
커밋
5bb980fbe6

+ 8 - 0
src/api/api.js

@@ -559,6 +559,14 @@ export function apiGetevaluationdeptplanReport(params) {
         method: 'get'
     })
 }
+// ---- 下载报表-----申报
+export function apiGetevaluationdeptadReport(params) {
+    return httpRequest({
+        url: `evaluation-dept-ad/generateReport/${params}`,
+        method: 'get',
+        responseType: 'blob'
+    })
+}
 export function apiGetevaluationdownloadReport(params) {
     return httpRequest({
         url: `evaluation-dept-assessment/downloadReport/${params}`,

+ 7 - 16
src/components/assessment/assessmentApplicationPage.vue

@@ -60,13 +60,13 @@
                             <p class="indicitem" @click="seeStates(scope.row)">{{scope.row.stage}}</p>
                         </template>
                     </el-table-column>
-                    <el-table-column label="操作" width="160">
+                    <el-table-column label="操作" width="200">
                         <template #default="scope">
                             <div style="display:flex">
                                 <p class="indicitem" v-if="scope.row.stage === '流程未启动'" @click="agetdeptresponsibility(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>
+                                <p class="indicitem" @click="getGenerateReport(scope.row)">生成报表</p>
                             </div>
                         </template>
                     </el-table-column>
@@ -161,8 +161,9 @@
 import startFromList from './assessmentApplicationFrom.vue'
 import btns from '../elbuttonS.vue'
 import seachs from '../seachGroup.vue'
+import { saveAs } from 'file-saver'
 import {apiGetevaluatiodeptadList, apiPostevaluationdeptadSave,apiGetdoAction,apiGetuserPageList,
-apiGetworkflowgetOpinion,apiGetevaluationdeptplanReport,apiGetevaluationdownloadReport,
+apiGetworkflowgetOpinion,apiGetevaluationdeptadReport,apiGetevaluationdownloadReport,
 apideptModifyState, apiGetorganizationstructureFromTree, apiPostevaluationdeptadDelete} from '../../api/api'
 export default {
     components: {
@@ -481,19 +482,9 @@ export default {
             })
         },
         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'
-                    });
-                }
+            apiGetevaluationdeptadReport(row.id).then(datas =>{
+                let blob = new Blob([datas], { type: "application/vnd.ms-excel" })
+                saveAs(blob, '公司本部部门及员工月度绩效考核结果申报表.xlsx')
             })
         }
     }

+ 9 - 2
src/components/assessment/evaluationMonthPage.vue

@@ -70,7 +70,7 @@
                             </el-tooltip>
                         </template>
                     </el-table-column> -->
-                    <el-table-column label="操作" width="200">
+                    <el-table-column label="操作" width="300">
                         <template #default="scope">
                             <div style="display:flex;justify-content: left;">
                                 <div>
@@ -78,6 +78,7 @@
                                 </div>
                                 <p class="indicitem" @click="calculateScore(scope.row)">计算得分</p>
                                 <p class="indicitem" @click="generateReport(scope.row)">生成报表</p>
+                                <p class="indicitem" @click="handleReport(scope.row)">指标考核打分</p>
                             </div>
                         </template>
                     </el-table-column>
@@ -150,11 +151,13 @@
             </el-dialog>
         </div>
         <start-from-list ref="startFromDetail"></start-from-list>
+        <month-quarter-year-report ref="reportDia"></month-quarter-year-report>
     </div>
 </template>
 
 <script>
 import startFromList from './monthQuarterFrom.vue'
+import monthQuarterYearReport from './monthQuarterYearReport.vue'
 import btns from '../elbuttonS.vue'
 import seachs from '../seachGroup.vue'
 import {apiGetOrgEvaluationList, apiPostOrgEvaSave,apiPostOrgevaluationDelete,apiGetdoAction,apiGetgenerateEvaluateReport,
@@ -162,6 +165,7 @@ apiGetgenerateUnitMonthEvaluation, apiGetdatadictionaryList, apiGetcalculatorcro
 export default {
     components: {
         startFromList,
+        monthQuarterYearReport,
         btns,
         seachs
     },
@@ -484,7 +488,10 @@ export default {
                     that.changeDateSelect = []
                 })
             })
-        }, 
+        },
+        handleReport(row) {
+            this.$refs.reportDia.init(row)
+        }
     }
 }
 </script>

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

@@ -79,7 +79,7 @@
                                 </div>
                                 <p class="indicitem" @click="calculateScore(scope.row)">计算得分</p>
                                 <p class="indicitem" @click="generateReport(scope.row)">生成报表</p>
-                                <!-- <p class="indicitem" @click="handleReport(scope.row)">指标考核打分</p> -->
+                                <p class="indicitem" @click="handleReport(scope.row)">指标考核打分</p>
                             </div>
                         </template>
                     </el-table-column>

+ 4 - 2
src/components/assessment/monthQuarterYearReport.vue

@@ -29,16 +29,16 @@
                                     </el-tooltip>
                                 </template>
                             </el-table-column>
-                            <el-table-column label="综合得分" prop="zhdf" width="100" />
                             <el-table-column :label="tabletwoLevelName" align="center">
                                 <el-table-column  v-for="(it, index) in monthQuarterYearHeader" :key="index" :label="it.name" align="center">
-                                    <el-table-column v-for="(iv, index) in it.children" :key="index" :label="iv.name">
+                                    <el-table-column v-for="(iv, index) in it.children" :key="index" :label="iv.name" width="120">
                                         <template #default="scope">
                                             <span >{{scope.row[iv.key]}}</span>
                                         </template>
                                     </el-table-column>
                                 </el-table-column>
                             </el-table-column>
+                            <el-table-column label="综合得分" prop="zhdf" width="100" v-if="isShowZHDF" />
                         </el-table-column>
                     </el-table>
                 </div>
@@ -64,6 +64,7 @@ export default {
             moduleData: [],
             tableoneLevelName: '',
             tabletwoLevelName: '',
+            isShowZHDF: false,
             monthQuarterYearTableData: [],
             monthQuarterYearHeader: []
         }
@@ -93,6 +94,7 @@ export default {
             }
             apiGetorganizationevaluationlist(params).then(datas =>{
                 if (datas && datas.data) {
+                    that.isShowZHDF = datas.data.zhdf
                     if (datas.data.title) {
                         let header = []
                         for(let i in datas.data.title) {

+ 5 - 4
src/components/notification/notificationMangePage.vue

@@ -210,10 +210,10 @@
                                         <span class="fliesMainSpan spanTwo">{{it.releaseDeptName}}</span>
                                         <!-- <span>{{userMes.unitName}}</span> -->
                                         <div class="fileOperate">
-                                            <div @click="previewFile(it)" style="cursor:pointer">
+                                            <!-- <div @click="previewFile(it)" style="cursor:pointer">
                                                 <img :src="yulan" style="margin-right: 10px;" >
                                                 <span>预览</span>
-                                            </div>
+                                            </div> -->
                                             <div @click="removeFile(it)" style="cursor:pointer">
                                                 <img :src="fileDelete" class="removeImg">
                                                 <span>删除</span>
@@ -422,8 +422,8 @@ export default {
             }
             if (that.isSave) {
                 params.id = that.evalradio.id
-                formData.append('deptNames', 'deptNames')
             }
+            formData.append('deptNames', 'deptNames')
             apiGetevaluationdeptnoticeSave(params, formData).then(datas =>{
                 if (!datas.success) {
                     that.$message({
@@ -796,10 +796,11 @@ export default {
                     background: #fff;
                     border-radius: 0 0 10px 10px;
                     text-align: left;
+                    padding-top: 20px !important;
                     .notificationFooter{
                         margin-left: 20px;
                         .el-button{
-                            height: 30px !important;
+                            height: 40px !important;
                         }
                     }
                 }