瀏覽代碼

考评规则配置页面及其新增页面,单位权重页面及其新增页面根据后端需要配合后台修改/增加功能;业绩指标计划页面,业绩指标考核页面根据需求进行修改;

SunZehao 1 年之前
父節點
當前提交
bd0a45daf8

+ 8 - 1
src/components/assessment/assessmentApplicationFrom.vue

@@ -82,6 +82,7 @@
                                     </el-select>
                                 </template>
                             </el-table-column>
+                            <el-table-column label="人员编号" prop="employeeNo" />
                             <el-table-column label="建议值">
                                 <template #default="scope">
                                     <el-input-number v-model="scope.row.suggestedValue" :precision="2" :step="0.1" :min="0" />
@@ -237,6 +238,9 @@ export default {
             that.quantifiedList = []
             apiPostevaluationdeptadDetails(id).then(datas =>{
                 if (datas && datas.data) {
+                    datas.data.forEach(it =>{
+                        it.serialNumber = it.serialNumber.toString()
+                    })
                     that.quantifiedList = datas.data
                     that.pageLeft.total = datas.data.length
                 }
@@ -257,17 +261,20 @@ export default {
             let params = []
             that.quantifiedList.forEach(item =>{
                 let emName = ''
+                let emNo = ''
                 that.deptLeaderOptionDet.forEach(it =>{
                     if (item.employeeId === it.id) {
                         emName = it.name
+                        emNo = it.no
                     }
                 })
                 let obj = {
                     assessmentDeclarationId: that.rowMsg.id,
                     employeeId: item.employeeId,
                     employeeName: emName,
+                    employeeNo: emNo,
                     suggestedValue: item.suggestedValue.toString(),
-                    serialNumber: item.serialNumber.toString()
+                    serialNumber: item.serialNumber
                 }
                 if (!item.showInput) {
                     obj.id = item.id

+ 18 - 5
src/components/assessment/evaluationDeptBusinessFrom.vue

@@ -47,11 +47,11 @@
                 </el-row>
                 <div class="btnASeach">
                     <div class="detaTableBtns">
-                        <div class="tableBtn save" @click="saveDetail">
+                        <div class="tableBtn save" @click="saveDetail" v-if="isShowFn(receiptMsg.stage)">
                             <img :src="saveIcon" alt="">
                             <span>保存</span>
                         </div>
-                        <div class="tableBtn import" @click="handleImport">
+                        <div class="tableBtn import" @click="handleImport" v-if="isShowFn(receiptMsg.stage)">
                             <img :src="importIcon" alt="">
                             <span>导入</span>
                         </div>
@@ -182,7 +182,8 @@ export default {
                 currentPage: 1,
                 total: 0
             },
-            departData: []
+            departData: [],
+            userMes: {}
         }
     },
     created() {
@@ -209,6 +210,7 @@ export default {
         init(row, deptData) {
             this.dialogVisible = true
             this.activeName = 'first'
+            this.userMes = JSON.parse(window.sessionStorage.getItem('user'))
             this.receiptMsg = {
                 code: row.responsibilityCode,
                 des: row.des,
@@ -223,6 +225,18 @@ export default {
             this.rowMsg = row
 
         },
+        // 判断保存 导入按钮展示权限
+        isShowFn(val) {
+            let show = true
+            if (val === '流程已结束') {
+                show = false
+            } else {
+                if (this.userMes.deptId !== '23031009') {
+                    show = false
+                }
+            }
+            return show
+        },
         handleClick() {
             this.changeDateSelect = []
         },
@@ -239,10 +253,9 @@ export default {
         getDetails(id) {
             let that = this
             that.quantifiedList = []
-            let userMes = JSON.parse(window.sessionStorage.getItem('user'))
             let params = {
                 id: id,
-                deptId: userMes.deptId
+                deptId: that.userMes.deptId
             }
             apiGetevaluationdeptplanDetail(params).then(datas =>{
                 if (datas && datas.data) {

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

@@ -160,7 +160,14 @@ export default {
         },
         //明细
         getDetail(row) {
-            this.$refs.businessFromDetail.init(row)
+            let userMes = JSON.parse(window.sessionStorage.getItem('user'))
+            if (row.stage === '流程未启动') {
+                if (userMes.deptId === '23031009') {
+                    this.$refs.businessFromDetail.init(row)
+                }
+            } else {
+                this.$refs.businessFromDetail.init(row)
+            }
         },
         seeStates(row) {
             if (!row.instId) {
@@ -283,7 +290,7 @@ export default {
         .evaluationStartTableData{
             .el-table{
                 .el-table__body-wrapper{
-                    height: 63vh !important;
+                    height: 68vh !important;
                 }
                 .el-input__inner{
                     height: 30px !important;

+ 20 - 7
src/components/assessment/evaluationDeptStartFrom.vue

@@ -47,15 +47,15 @@
                 </el-row>
                 <div class="btnASeach">
                     <div class="detaTableBtns">
-                        <div class="tableBtn add" @click="addTableDetail">
+                        <div class="tableBtn add" @click="addTableDetail" v-if="isShowFn(receiptMsg.stage)">
                             <img :src="addIcon" alt="">
                             <span>新增</span>
                         </div>
-                        <div class="tableBtn save" @click="saveDetail">
+                        <div class="tableBtn save" @click="saveDetail" v-if="isShowFn(receiptMsg.stage)">
                             <img :src="saveIcon" alt="">
                             <span>保存</span>
                         </div>
-                        <div class="tableBtn import" @click="handleImport">
+                        <div class="tableBtn import" @click="handleImport" v-if="isShowFn(receiptMsg.stage)">
                             <img :src="importIcon" alt="">
                             <span>导入</span>
                         </div>
@@ -76,7 +76,7 @@
                                         <el-option
                                         v-for="item in departData"
                                         :key="item.id"
-                                        :label="item.keyName"
+                                        :label="item.name"
                                         :value="item.id">
                                         </el-option>
                                     </el-select>
@@ -199,7 +199,8 @@ export default {
                 currentPage: 1,
                 total: 0
             },
-            departData: []
+            departData: [],
+            userMes: {}
         }
     },
     created() {
@@ -226,6 +227,7 @@ export default {
         init(row, deptData) {
             this.dialogVisible = true
             this.activeName = 'first'
+            this.userMes = JSON.parse(window.sessionStorage.getItem('user'))
             this.receiptMsg = {
                 code: row.responsibilityCode,
                 des: row.des,
@@ -241,6 +243,18 @@ export default {
             this.rowMsg = row
 
         },
+        // 判断保存 导入按钮展示权限
+        isShowFn(val) {
+            let show = true
+            if (val === '流程已结束') {
+                show = false
+            } else {
+                if (this.userMes.deptId !== '23031009') {
+                    show = false
+                }
+            }
+            return show
+        },
         // 整合部门数据
         getshowDepartDataFn(row, deptData) {
             let deptIdArr = row.deptId.split(',')
@@ -268,10 +282,9 @@ export default {
         getDetails(id) {
             let that = this
             that.quantifiedList = []
-            let userMes = JSON.parse(window.sessionStorage.getItem('user'))
             let params = {
                 id: id,
-                deptId: userMes.deptId
+                deptId: that.userMes.deptId
             }
             apiGetevaluationdeptplanDetail(params).then(datas =>{
                 if (datas && datas.data) {

+ 96 - 23
src/components/assessment/monthQuarterYearFrom.vue

@@ -48,28 +48,38 @@
                 <div class="monthQuarterYear">
                     <el-tabs v-model="activeName" class="tableMain" @tab-click="handleClick">
                         <el-tab-pane label="考评指标项内容" name="first">
-                                <el-table :data="quantifiedList" style="width: 100%" ref="benchmark" :border="true" >
-                                    <el-table-column type="index" label="排名" align="center"></el-table-column>
-                                    <el-table-column label="考评单位" prop="organization_name" width="200" sortable>
+                            <div class="dateTableBtns">
+                                <div class="tableBtn import" @click="handleImport">
+                                    <img :src="importIcon" alt="">
+                                    <span>导入</span>
+                                </div>
+                                <div class="tableBtn export" @click="handleExport">
+                                    <img :src="exportIcon" alt="">
+                                    <span>导出</span>
+                                </div>
+                            </div>
+                            <el-table :data="quantifiedList" style="width: 100%" ref="benchmark" :border="true" >
+                                <el-table-column type="index" label="排名" align="center"></el-table-column>
+                                <el-table-column label="考评单位" prop="organization_name" width="200" sortable>
+                                    <template #default="scope">
+                                        <el-tooltip class="box-item" effect="customized" :content="scope.row.organization_name"
+                                            placement="right">
+                                            <span class="tooltipCC">{{scope.row.organization_name}}</span>
+                                        </el-tooltip>
+                                    </template>
+                                </el-table-column>
+                                <el-table-column label="综合得分" prop="score_total" sortable />
+                                <el-table-column  v-for="(it, index) in benchmarkingIndicatorHeader" :key="index" :label="it.name" align="center">
+                                    <el-table-column sortable :sort-method="(a,b)=>sortMethods(a,b,iv.code)"
+                                    v-for="(iv, index) in it.children" :key="index" :label="iv.key" align="center">
                                         <template #default="scope">
-                                            <el-tooltip class="box-item" effect="customized" :content="scope.row.organization_name"
-                                                placement="right">
-                                                <span class="tooltipCC">{{scope.row.organization_name}}</span>
-                                            </el-tooltip>
+                                            <span
+                                            style="font-weight: bold"
+                                            :style="scope.row[iv.code+'_flag'] === '1'?'color:#3B7AD1': scope.row[iv.code+'_flag'] === '-1'?'color:#F65177':'color:#666666'">{{scope.row[iv.code]}}</span>
                                         </template>
                                     </el-table-column>
-                                    <el-table-column label="综合得分" prop="score_total" sortable />
-                                    <el-table-column  v-for="(it, index) in benchmarkingIndicatorHeader" :key="index" :label="it.name" align="center">
-                                        <el-table-column sortable :sort-method="(a,b)=>sortMethods(a,b,iv.code)"
-                                        v-for="(iv, index) in it.children" :key="index" :label="iv.key" align="center">
-                                            <template #default="scope">
-                                                <span
-                                                style="font-weight: bold"
-                                                :style="scope.row[iv.code+'_flag'] === '1'?'color:#3B7AD1': scope.row[iv.code+'_flag'] === '-1'?'color:#F65177':'color:#666666'">{{scope.row[iv.code]}}</span>
-                                            </template>
-                                        </el-table-column>
-                                    </el-table-column>
-                                </el-table>
+                                </el-table-column>
+                            </el-table>
                         </el-tab-pane>
                         <el-tab-pane label="考评评价指标内容" name="second">
                         </el-tab-pane>
@@ -114,6 +124,9 @@ import meiCha from '../../assets/benchmarkImg/meiCha.png'
 import guoCha from '../../assets/benchmarkImg/guoCha.png'
 import zongCha from '../../assets/benchmarkImg/zongCha.png'
 
+import exportIcon from '../../assets/btnIcon/export.png'
+import importIcon from '../../assets/btnIcon/import.png'
+
 export default {
     components: {
         importDailog
@@ -136,7 +149,10 @@ export default {
             },
             rowMsg: {},
             moduleData: [],
-            titleMsgArr: []
+            titleMsgArr: [],
+            binSectionStr: 'HD',
+            exportIcon: exportIcon,
+            importIcon: importIcon,
         }
     },
     created() {
@@ -235,14 +251,21 @@ export default {
                 if (datas && datas.data) {
                     if (isevl === '是') {
                         that.quantifiedList = datas.data
-                        that.pageLeft.total = datas.data.length
                     } else {
                         that.nonQuantifiedList = datas.data
-                        that.pageRight.total = datas.data.length
                     }
                 }
             })
         },
+        changType(data) {
+            this.titleMsgArr.forEach(it =>{
+                it.showClick = false
+                if (it.isName === data.isName) {
+                    it.showClick = true
+                    this.binSectionStr = it.isNameEn
+                }
+            })
+        },
         handleImport() {
             this.$refs.importPage.upload.title = "单位信息导入"
             this.$refs.importPage.upload.open = true
@@ -364,6 +387,56 @@ export default {
                         margin-top: 20px;
                         .tableMain{
                             width: calc(100% - 100px);
+                            .el-tabs__header{
+                                .el-tabs__nav{
+                                    .el-tabs__item{
+                                        font-size: 18px;
+                                        font-family: Microsoft YaHei;
+                                        font-weight: bold;
+                                        margin: 0 10px;                                    
+                                        color: #8991B0;
+                                    }
+                                    .is-active{
+                                        font-size: 18px;
+                                        font-family: Microsoft YaHei;
+                                        font-weight: bold;
+                                        color: #3B7AD1;
+                                        margin: 0 10px;
+                                    }
+                                }
+                            }
+                            .dateTableBtns{
+                                display: flex;
+                                justify-content: end;
+                                width: 100%;
+                                margin-bottom: 5px;
+                                .tableBtn {
+                                    display: flex;
+                                    height: 20px;
+                                    margin: 0 10px;
+                                    img{
+                                        margin-right: 5px;
+                                        margin-top: 1px;
+                                    }
+                                    span{
+                                        font-size: 14px;
+                                        font-family: Microsoft YaHei;
+                                        font-weight: 400;
+                                    }
+                                }
+                                .import{
+                                    cursor: pointer;
+                                    span{
+                                        color: #ce1e78;
+                                    }
+                                }
+                                .export{
+                                    cursor: pointer;
+                                    span{
+                                        color: #2baa8a;
+                                    }
+                                }
+                            }
                             .el-table {
                                 .el-table__header-wrapper{
                                     .el-table__header{
@@ -382,7 +455,7 @@ export default {
                                     }
                                 }
                                 .el-table__body-wrapper {
-                                    height: 58vh !important;
+                                    height: 55vh !important;
                                     .el-scrollbar{
                                         .is-horizontal{
                                             .el-scrollbar__thumb{

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

@@ -17,7 +17,7 @@
                         </el-option>
                     </el-select>
                 </div>
-                <div class="exceed">
+                <!-- <div class="exceed">
                     <span class="exceedSpan" style="margin-left: 10px;width: 80px">业务阶段:</span>
                     <el-select v-model="stageIds" placeholder="请选择业务阶段">
                         <el-option
@@ -27,7 +27,7 @@
                         :value="item.id">
                         </el-option>
                     </el-select>
-                </div>
+                </div> -->
                 <div class="exceed">
                     <span class="exceedSpan" style="margin-left: 10px;width: 80px">考评周期:</span>
                     <el-select v-model="periodId" placeholder="请选择考评周期">
@@ -323,7 +323,7 @@
                     organizationType: 'DWKP',
                     organizationName: that.companyS,
                     binSection: that.binSectionIds,
-                    binStage: that.stageIds,
+                    // binStage: that.stageIds,
                     evaluationCycle: that.periodId,
                     year: that.resAnnual
                 }
@@ -557,7 +557,7 @@
                 this.companyS = ''
                 this.periodId = ''
                 this.resAnnual = ''
-                this.stageIds = ''
+                // this.stageIds = ''
                 this.binSectionIds = ''
                 this.getEvalCompanyData()
             },

+ 7 - 5
src/components/taskCenter/taskCenterDeptBusinessFrom.vue

@@ -97,7 +97,8 @@
                             </el-table-column>
                             <el-table-column label="审核状态" width="200" >
                                 <template #default="scope">
-                                    <el-select v-model="scope.row.auditStatus" placeholder="请选择审核状态">
+                                    <el-select v-model="scope.row.auditStatus"
+                                     :disabled="userMes.deptId !== '23031009'" placeholder="请选择审核状态">
                                         <el-option
                                         v-for="item in statusData"
                                         :key="item.id"
@@ -119,7 +120,7 @@
                 </el-tabs>
                 <div>
                     <p class="starttitleSty">审批意见:</p>
-                    <el-input v-model="descMsg" :rows="3" type="textarea" placeholder="请输入审批意见"></el-input>
+                    <el-input v-model="descMsg" :disabled="userMes.deptId !== '23031009'" :rows="3" type="textarea" placeholder="请输入审批意见"></el-input>
                 </div>
             </div>
             <template #footer>
@@ -188,10 +189,12 @@ export default {
                 total: 0
             },
             departData: [],
-            instanceChild: {}
+            instanceChild: {},
+            userMes: {}
         }
     },
     created() {
+        this.userMes = JSON.parse(window.sessionStorage.getItem('user'))
         this.statusData = [
             {
                 name: '已通过',
@@ -236,10 +239,9 @@ export default {
         getDetails(id) {
             let that = this
             that.quantifiedList = []
-            let userMes = JSON.parse(window.sessionStorage.getItem('user'))
             let params = {
                 id: id,
-                deptId: userMes.deptId
+                deptId: that.userMes.deptId
             }
             apiGetevaluationdeptassessmentDetailHeader(id).then(datas =>{
                 if (datas && datas.data) {