Browse Source

关于本部部门功能修改

SunZehao 1 year ago
parent
commit
42dd1ca099

+ 24 - 2
src/api/api.js

@@ -23,8 +23,8 @@ export function apiGetModel(url, params) {
 //获取菜单数据
 export function apiGetMenuData() {
     return httpRequest({
-        // url: 'menu/menuList?parentId=10105', // 测试
-        url: 'menu/menuList?parentId=6802', // 生产
+        url: 'menu/menuList?parentId=10105', // 测试
+        // url: 'menu/menuList?parentId=6802', // 生产
         method: 'post'
     })
 }
@@ -349,6 +349,28 @@ export function apideptAdState(params) {
         params: params
     })
 }
+//  获取审批人
+export function apiGetobtainApprovalLeader(params) {
+    return httpRequest({
+        url: `evaluation-dept-ad/obtainApprovalLeader/${params.id}`,
+        method: 'get'
+    })
+}
+//添加审批领导
+export function apiGetaddApprovalLeader(params) {
+    return httpRequest({
+        url: 'evaluation-dept-ad/addApprovalLeader',
+        method: 'post',
+        params: params
+    })
+}
+//查询审批领导--给出提示
+export function apiGetprocessInformation(params) {
+return httpRequest({
+    url: `evaluation-dept-ad/processInformation/${params.id}`,
+    method: 'get'
+})
+}
 
 //  获取人数
 export function apiGetparticipantsNumber(params) {

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

@@ -550,7 +550,7 @@ export default {
                 jobContent: '',
                 completionStatus: '',
                 relatedOffice: '',
-                handlePeopleName: this.userMes.name,
+                handlePeopleName: '',
                 serialNumber: 0
             }
             this.secondWorkSituation.unshift(obj)

+ 91 - 31
src/components/assessment/assessmentApplicationPage.vue

@@ -182,6 +182,30 @@
                     </el-table>
                 </div>
             </el-dialog>
+            <el-dialog title="流程启动" v-model="activeVisible" width="600px" :close-on-click-modal="false">
+                <div class="periodFrom">
+                    <el-form ref="ruleForm" label-width="100px" class="demo-ruleForm" :validate-on-rule-change="false">
+                        <el-form-item label="审批领导">
+                            <el-select v-model="activeLeaderName" placeholder="请选择审批领导">
+                                <el-option
+                                v-for="item in leaderArr"
+                                :key="item.no"
+                                :label="item.userName"
+                                :value="item.no">
+                                <span style="float: left;display:inline-block;width:100px">{{ item.userName }}</span>
+                                <span style="float: right;color: #909399;font-size: 13px;" >{{ item.no }}</span>
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-form>
+                </div>
+                <template #footer>
+                    <span class="dialog-footer">
+                        <el-button @click="activeVisible = false">取 消</el-button>
+                        <el-button type="primary" @click="activeresponsibility()">启 动</el-button>
+                    </span>
+                </template>
+            </el-dialog>
         </div>
         <!-- @approveMsg="approveMsg" -->
         <start-from-list ref="assessmentApplicationDetail" ></start-from-list>
@@ -197,8 +221,8 @@ import btns from '../elbuttonS.vue'
 import seachs from '../seachGroup.vue'
 import { saveAs } from 'file-saver'
 import {apiGetevaluatiodeptadList, apiPostevaluationdeptadSave,apiGetdoAction,apiGetDepartmentLeader,apideptAdmodify,
-apiGetworkflowgetOpinion,apiGetevaluationdeptadReport,apiGetEvaluationDeptListAll,
-apideptAdState, apiGetparticipantsNumber, apiPostevaluationdeptadDelete} from '../../api/api'
+apiGetworkflowgetOpinion,apiGetevaluationdeptadReport,apiGetEvaluationDeptListAll,apiGetobtainApprovalLeader,
+apideptAdState, apiGetparticipantsNumber, apiPostevaluationdeptadDelete, apiGetaddApprovalLeader} from '../../api/api'
 export default {
     components: {
         startFromList,
@@ -210,11 +234,15 @@ export default {
         return {
             dialogVisible: false,
             statesVisible: false,
+            activeVisible: false,
             title: '',
+            activeLeaderName: '',
             windframradio: {},
             deleteSelect: [],
             changeDateSelect: [],
             assessmentApplicationData:[],
+            leaderArr: [],
+            activeRowObj: {},
             page:{
                 pagesize: 12,
                 currentPage: 1,
@@ -284,14 +312,14 @@ export default {
         // 查询列表页面
         getassessmentApplicationList() {
             let that = this
-            let userMes = JSON.parse(window.sessionStorage.getItem('user'))
+            // let userMes = JSON.parse(window.sessionStorage.getItem('user'))
             let params = {
                 pageNum: that.page.currentPage,
                 pageSize: that.page.pagesize,
                 orderNumber: that.orderNumber,
                 deptName: that.departNameS,
-                deptId: userMes.deptId,
-                // deptId: '',
+                // deptId: userMes.deptId,
+                deptId: '',
                 annual: that.timeIds ? this.timeIds.substring(0, this.timeIds.indexOf('-'))*1 : null,
                 declarationMonth: that.timeIds ? this.timeIds.substring(this.timeIds.indexOf('-')+1, this.timeIds.length)*1 : null
             }
@@ -391,48 +419,80 @@ export default {
             })
         },
         agetdeptresponsibility(row) {
+            this.activeVisible = true
+            this.activeRowObj = row
+            this.leaderArr = []
             let that = this
+            let params = {
+                id: row.deptId
+            }
+            apiGetobtainApprovalLeader(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.leaderArr = datas.data
+                    if (datas.data.length>0) {
+                        that.activeLeaderName = datas.data[0].no
+                    }
+                }
+            })
+        },
+        activeresponsibility() {
+            let that = this
+            let row = this.activeRowObj
             apiGetparticipantsNumber(row.id).then(res =>{
                 if (res.success) {
                     that.$message({
                         message: row.annual+'年度'+row.declarationMonth+'月份本次申报人数为'+res.data+'人',
                         type: 'success'
                     });
-                    let par = {
-                        defKey: "jxjgkhsb",
-                        businessKey: row.id,
-                        action: "start",
-                        opinion: "绩效结果考核申报",
-                        iamCode: window.localStorage.getItem('code')
+                    let pars = {
+                        id: row.id,
+                        employeeNo: that.activeLeaderName
                     }
-                    apiGetdoAction(par).then(datas =>{
-                        if (datas && datas.data) {
-                            if (!datas.data.isOk) {
-                                that.$message({
-                                    message: datas.data.msg,
-                                    type: 'error'
-                                });
-                            } else {
-                                let params = {
-                                    id: row.id,
-                                    stage: '流程已开始'
-                                }
-                                apideptAdState(params).then(values =>{
-                                    if (values.success) {
-                                        that.getassessmentApplicationList()
-                                    } else {
+                    apiGetaddApprovalLeader(pars).then(val =>{
+                        if (val && val.data) {
+                            that.activeVisible = false
+                            let par = {
+                                defKey: "jxjgkhsb",
+                                businessKey: row.id,
+                                action: "start",
+                                opinion: "绩效结果考核申报",
+                                iamCode: window.localStorage.getItem('code')
+                            }
+                            apiGetdoAction(par).then(datas =>{
+                                if (datas && datas.data) {
+                                    if (!datas.data.isOk) {
                                         that.$message({
-                                            message: values.message,
+                                            message: datas.data.msg,
                                             type: 'error'
                                         });
+                                    } else {
+                                        let params = {
+                                            id: row.id,
+                                            stage: '流程已开始'
+                                        }
+                                        apideptAdState(params).then(values =>{
+                                            if (values.success) {
+                                                that.getassessmentApplicationList()
+                                            } else {
+                                                that.$message({
+                                                    message: values.message,
+                                                    type: 'error'
+                                                });
+                                            }
+                                        })
                                     }
-                                })
-                            }
+                                }
+                            })
+                        } else {
+                            that.$message({
+                                message: '领导添加失败',
+                                type: 'error'
+                            });
                         }
                     })
+                    
                 }
             })
-            
         },
         clickDes(row, column, cell, event) {
             if (row.stage === '流程已结束') {

+ 123 - 5
src/components/assessment/monthQuarterYearFrom.vue

@@ -60,7 +60,7 @@
                                         <el-input v-model="compNameSa" placeholder="请输入单位名称" @keyup.enter="getTableData(isClickTagId)"></el-input>
                                         <!-- <el-icon :size="20" color="#3B7AD1" @click="getTableData(isClickTagId)"><Search /></el-icon> -->
                                     </div>
-                                    <div class="tableBtn add" @click="addTableDetail"
+                                    <!-- <div class="tableBtn add" @click="addTableDetail"
                                      v-if="(activeName === 'ZDZX' || activeName === 'GLSX') && indicatorList.length > 0 && receiptMsg.stage === '流程未启动'">
                                         <img :src="addIcon" alt="">
                                         <span>新增</span>
@@ -69,8 +69,9 @@
                                     v-if="(activeName === 'ZDZX' || activeName === 'GLSX') && indicatorList.length > 0 && receiptMsg.stage === '流程未启动'">
                                         <img :src="saveIcon" alt="">
                                         <span>保存</span>
-                                    </div>
-                                    <div class="tableBtn save" @click="saveDetail" v-if="activeName !== 'ZDZX' && activeName !== 'GLSX' && receiptMsg.stage === '流程未启动'">
+                                    </div> -->
+                                    <!-- activeName !== 'ZDZX' && activeName !== 'GLSX' &&  -->
+                                    <div class="tableBtn save" @click="saveDetail" v-if="receiptMsg.stage === '流程未启动'">
                                         <img :src="saveIcon" alt="">
                                         <span>保存</span>
                                     </div>
@@ -84,7 +85,47 @@
                                     </div>
                                 </div>
                             </div>
+                            <el-table :data="monthQuarterYearData" style="width: 100%" ref="monthQuarterYearTT" 
+                            v-if="activeName === 'ZDZX' || activeName === 'GLSX'"
+                             :row-class-name="tableRowClassName" :border="true" >
+                                <el-table-column type="index" label="排名" align="center"></el-table-column>
+                                <el-table-column label="考评单位" prop="organizationShortName" width="300">
+                                    <template #default="scope">
+                                        <el-select v-model="scope.row.organizationShortName" placeholder="请选择审核状态">
+                                            <el-option
+                                            v-for="item in organizationData"
+                                            :key="item.organizationId"
+                                            :label="item.organizationShortName"
+                                            :value="item.organizationId">
+                                            </el-option>
+                                        </el-select>
+                                    </template>
+                                </el-table-column>
+                                <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.key"
+                                     align="center" width="150" sortable :sort-method="(a,b)=>sortMethods(a,b,iv.code)">
+                                        <template #default="scope">
+                                            <el-select v-model="scope.row[iv.code]" class="selectSty" placeholder="请选择审核状态" v-if="scope.row['IS_LH_'+iv.code] === '3'">
+                                                <el-option
+                                                v-for="item in statusData"
+                                                :key="item.id"
+                                                :label="item.name"
+                                                :value="item.id">
+                                                </el-option>
+                                            </el-select>
+                                            <span class="inputSty" v-else>{{scope.row[iv.code]}}</span>
+                                        </template>
+                                    </el-table-column>
+                                </el-table-column>
+                                <el-table-column label="操作" width="100">
+                                    <template #default="scope">
+                                        <span class="indicitem" @click="changeDetail">详情</span>
+                                    </template>
+                                </el-table-column>
+                            </el-table>
                             <el-table :data="monthQuarterYearData" style="width: 100%" ref="monthQuarterYearTT"
+                            v-else
                              :row-class-name="tableRowClassName" :border="true" >
                                 <el-table-column type="index" label="排名" align="center"></el-table-column>
                                 <el-table-column label="考评单位" prop="organizationShortName" width="300">
@@ -99,7 +140,8 @@
                                         </el-select>
                                     </template>
                                 </el-table-column>
-                                <el-table-column  v-for="(it, index) in monthQuarterYearHeader" :key="index" :label="it.name" 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.key"
                                      align="center" width="150" sortable :sort-method="(a,b)=>sortMethods(a,b,iv.code)">
                                         <template #default="scope">
@@ -135,6 +177,32 @@
                 </span>
             </template>
         </el-dialog>
+        <el-dialog title="详情填报" v-model="detailVisible" :fullscreen="true" :close-on-click-modal="false">
+            <div class="detailSeach">
+                <div class="tableBtn add" @click="addTableDetail">
+                    <img :src="addIcon" alt="">
+                    <span>新增</span>
+                </div>
+                <div class="tableBtn save" @click="saveAddDetail">
+                    <img :src="saveIcon" alt="">
+                    <span>保存</span>
+                </div>
+            </div>
+            <el-table :data="monthQuarterYearDetailData" style="width: 100%" ref="monthQuarterYearTT"
+                :row-class-name="tableRowClassName" :border="true" >
+                <el-table-column type="index" label="序号" align="center"></el-table-column>
+                <el-table-column label="部门名称" prop="deptName" align="center" width="200"></el-table-column>
+                <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.key" align="center">
+                        <template #default="scope">
+                            <el-input v-model="scope.row[iv.code]" class="inputSty" v-if="scope.row['IS_LH_'+iv.code] === '2'"></el-input>
+                            <el-input-number v-model="scope.row[iv.code]" class="numberSty" :precision="2" :step="0.1" v-else-if="scope.row['IS_LH_'+iv.code] === '1'" />
+                        </template>
+                    </el-table-column>
+                </el-table-column>
+            </el-table>
+        </el-dialog>
         <import-dailog ref="importPage" @successImport="successImport"></import-dailog>
     </div>
 </template>
@@ -163,8 +231,10 @@ export default {
     data() {
         return {
             dialogVisible: false,
+            detailVisible: false,
             activeName: '',
             monthQuarterYearData: [],
+            monthQuarterYearDetailData: [],
             monthQuarterYearHeader: [],
             indicatorList: [],
             isClickTagId: '',
@@ -402,7 +472,8 @@ export default {
                     obj[it.code] = ''
                     obj['IS_LH_'+it.code] = it.flag
                 })
-                this.monthQuarterYearData.unshift(obj)
+                // this.monthQuarterYearData.unshift(obj)
+                this.monthQuarterYearDetailData.unshift(obj)
             }
             console.log('表格数据====>>>>>>>', this.monthQuarterYearData)
         },
@@ -499,6 +570,9 @@ export default {
                 console.error(r)
             })
         },
+        changeDetail() {
+            this.detailVisible = true
+        },
     }
 }
 </script>
@@ -677,6 +751,15 @@ export default {
                                 }
                             }
                             .el-table {
+                                .indicitem{
+                                    color: #409EFF;
+                                    font-size: 12px;
+                                    margin-right: 20px;
+                                    cursor:pointer;
+                                    &:hover{
+                                        text-decoration: underline;
+                                    }
+                                }
                                 .el-table__header-wrapper{
                                     .el-table__header{
                                         .el-table__cell {
@@ -777,6 +860,41 @@ export default {
                         }
                     }
                 }
+                .detailSeach{
+                    display: flex;
+                    justify-content: flex-end;
+                    margin: 15px 0;
+                    .tableBtn {
+                        display: flex;
+                        height: 20px;
+                        margin: 5px 8px 0 8px;
+                        // width: 20%;
+                        width: fit-content;
+                        img{
+                            margin-right: 5px;
+                            margin-top: 1px;
+                        }
+                        span{
+                            display: inline-block;
+                            width: 35px;
+                            font-size: 14px;
+                            font-family: Microsoft YaHei;
+                            font-weight: 400;
+                        }
+                    }
+                    .add{
+                        cursor: pointer;
+                        span{
+                            color: #3B7AD1;
+                        }
+                    }
+                    .save{
+                        cursor: pointer;
+                        span{
+                            color: #50C14E;
+                        }
+                    }
+                }
             }
             .el-dialog__footer{
                 .dialog-footer{

+ 21 - 2
src/components/taskCenter/taskApplicationFrom.vue

@@ -212,7 +212,7 @@
 import importDailog from '../importPage/importDailog.vue'
 import {apiPostevaluationdeptadDetails,apiGetevaluationdeptadUpdate, apiGetevaluationdeptadDelete,apiPostIsdoAction,apideptAdmodify,
 apiPostevaluationdeptadDetailsHead, apiGetuserPageList, apiGetUserPostList, apiGetevaluationdeptadUpdateComplete,
-apiGetevaluationdeptadDeleteComplete} from '../../api/api'
+apiGetevaluationdeptadDeleteComplete, apiGetprocessInformation} from '../../api/api'
 import ExcelJS from 'exceljs'
 import fileSave from 'file-saver'
 import addIcon from '../../assets/btnIcon/add.png'
@@ -303,10 +303,29 @@ export default {
             this.getUserPostList()
             this.getDetails(id)
             this.getDetailsHeader(id)
+            this.getprocessInformation(row)
             this.keyId = id
             this.changeDeptLead(row.deptId)
             this.rowMsg = row
         },
+        //查询审批人领导给提示
+        getprocessInformation(row) {
+            let that = this
+            let params = {
+                id: row.instId
+            }
+            apiGetprocessInformation(params).then(datas =>{
+                if (datas && datas.data && datas.data.length>0) {
+                    let item = datas.data[1]
+                    if (item.taskKey === 'UserTask2') {
+                        that.$message({
+                            message: '请领导对员工月度考核系数进行确认。',
+                            type: 'success'
+                        });
+                    }
+                }
+            })
+        },
         // 根据部门查询人员
         changeDeptLead(val) {
             let that = this
@@ -612,7 +631,7 @@ export default {
                 jobContent: '',
                 completionStatus: '',
                 relatedOffice: '',
-                handlePeopleName: this.userMes.name,
+                handlePeopleName: '',
                 serialNumber: 0
             }
             this.secondWorkSituation.unshift(obj)

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

@@ -116,7 +116,13 @@ export default {
         },        
         getflowPath(row) {
             this.workflowVisible = true
-            this.iframeURL = 'http://10.65.78.23:8080/agilebpm-ui/bpm/instance/instanceImageDialog.html?instanceId='+row.instId+'&defId='+row.defId+'&taskId='+row.taskId+'&iamCode='+window.localStorage.getItem('code')
+            let url = ''
+            if (window.location.hostname === '10.65.78.81') {
+                url = 'http://10.65.79.85:8080'
+            } else {
+                url = 'http://10.65.78.23:8080'
+            }
+            this.iframeURL = url+'/agilebpm-ui/bpm/instance/instanceImageDialog.html?instanceId='+row.instId+'&defId='+row.defId+'&taskId='+row.taskId+'&iamCode='+window.localStorage.getItem('code')
         },
         taskProcess(row) {
             let that = this

+ 2 - 2
src/utils/baseUrl.js

@@ -18,8 +18,8 @@ switch (process.env.NODE_ENV) {
  
     case 'production': 
         // baseUrl.ROOT = "http://123.60.219.66:28800/"
-        // baseUrl.ROOT = "http://10.65.78.23:28800/" //测试环境
-        baseUrl.ROOT = "http://10.65.78.81:28800/"  // 正式环境
+        baseUrl.ROOT = "http://10.65.78.23:28800/" //测试环境
+        // baseUrl.ROOT = "http://10.65.78.81:28800/"  // 正式环境
         break 
 }