浏览代码

修改问题,样式;增加党建考核系数配置页面,增删改查服务联调;考评业务增加流程查看详情;

SunZehao 2 年之前
父节点
当前提交
e4816643cb

+ 32 - 0
src/api/api.js

@@ -68,6 +68,17 @@ export function apiPostremoveByToken(params) {
 }
 
 //----------------------------------------考评业务------------------------------------------------
+
+//获取审批流程数据
+export function apiGetworkflowgetOpinion(params) {
+    return httpRequest({
+        url: 'workflow/getOpinion',
+        method: 'post',
+        params: params
+    })
+}
+
+
 //部门目标责任表
 export function apiGetdeptresponsibilityList(params) {
     return httpRequest({
@@ -512,6 +523,27 @@ export function apigetyeargroupcoefficientlistById(params) {
     })
 }
 
+//党建乘数配置查询
+export function apiGetpartybuildingList(params) {
+    return httpRequest({
+        url: 'party-building-multiplier/list',
+        method: 'get',
+        params: params
+    })
+}
+//----党建乘数新增或修改
+export function apiPostpartybuildSave(params) {
+    return httpRequest.post('party-building-multiplier/save', params)
+}
+//----党建乘数配置删除
+export function apiDeletepartyBuildRemove(params) {
+    return httpRequest({
+        url: `party-building-multiplier/remove/${params}`,
+        method: 'post'
+    })
+}
+
+
 //----------------------------------------考评知识库------------------------------------------------
 //----考评得分规则列表查询-list
 export function apiGetevaluationscoringruleList(params) {

+ 3 - 1
src/api/permission.js

@@ -12,7 +12,9 @@ router.beforeEach((to, from, next) => {
     // if (to.query.markKey === "YXSSO") {
     //     return next()
     // } else {
-        let token = getToken('token')
+    // let token = getToken('token')
+        let token = window.localStorage.getItem('token')
+    
         if(to.path==='/login'){
             return next()
         }else{

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

@@ -41,7 +41,7 @@
                 ></btns>
             </div>
             <div class="evaluationReportTableData">
-                <el-table :data="evaluationReportData" style="width: 100%" @select="rowClick" @select-all="rowClick">
+                <el-table :data="evaluationReportData" style="width: 100%" @select="rowClick" @select-all="rowClick" @row-dblclick="getDetail">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
                     <el-table-column label="报告名称" prop="evaluateReportName" width="330" />
                     <el-table-column label="业务属性" prop="binSectionName" />

+ 27 - 30
src/components/assessment/evaluationStartFrom.vue

@@ -75,7 +75,7 @@
                             <el-table-column label="指标分类" prop="typeName" />
                             <el-table-column label="计划值">
                                 <template #default="scope">
-                                    <el-input-number v-model="scope.row.quantifiedValue" :precision="2" :step="0.1" :min="1" />
+                                    <el-input-number v-model="scope.row.quantifiedValue" :precision="2" :step="0.1" :min="0" />
                                 </template>
                             </el-table-column>
                             <el-table-column label="单位" prop="unit" />
@@ -365,42 +365,39 @@ export default {
                 })
             } else {
                 that.nonQuantifiedList.forEach(item =>{
-                    let obj = {}
+                    let obj = {
+                        isQuantified: '否',
+                        quantifiedValue: 0.0,
+                        optionCode: 'ZRMB', // 指标项
+                        nonQuantifiedValue: item.nonQuantifiedValue
+                    }
                     if (item.showInput) {
-                        obj = {
-                            deptResponsibilityId: that.rowMsg.id,
-                            isQuantified: '否',
-                            organizationEvaluationRuleId: item.organizationName, //单位id
-                            // typeName: item.typeName,
-                            // deptName: item.deptName,
-                            // stageName: item.stageName,
-                            // sectionName: item.sectionName,
-                            quantifiedValue: 0.0,
-                            indicatorId: item.childName, //指标id
-                            optionCode: 'ZRMB', // 指标项
-                            nonQuantifiedValue: item.nonQuantifiedValue
-                        }
+                        obj.deptResponsibilityId = that.rowMsg.id
+                        obj.organizationEvaluationRuleId = item.organizationName //单位id
+                        obj.indicatorId = item.childName //指标id
+                        
                     } else {
-                        obj = {
-                            deptResponsibilityId: item.id,
-                            isQuantified: '否',
-                            organizationEvaluationRuleId: item.organizationEvaluationRuleId,
-                            quantifiedValue: 0.0,
-                            indicatorId: item.indicatorId,
-                            optionCode: 'ZRMB', // 指标项
-                            nonQuantifiedValue: item.nonQuantifiedValue
-                        }
+                        obj.deptResponsibilityId = item.id
+                        obj.organizationEvaluationRuleId = item.organizationEvaluationRuleId
+                        obj.indicatorId = item.indicatorId
                     }
                     params.push(obj)
                 })
             }
             apiGetindicatorsaveBatchDto(params).then(datas =>{
-                if (datas && datas.success) {
-                    that.$message({
-                        message: '保存成功',
-                        type: 'success'
-                    });
-                    that.getDetails(that.rowMsg.id)
+                if (datas) {
+                    if (datas.success) {
+                        that.$message({
+                            message: '保存成功',
+                            type: 'success'
+                        });
+                        that.getDetails(that.rowMsg.id)
+                    } else {
+                        that.$message({
+                            message: datas.data,
+                            type: 'error'
+                        })
+                    }
                 }
             })
         }

+ 43 - 15
src/components/assessment/evaluationStartPage.vue

@@ -28,7 +28,7 @@
                 ></btns>
             </div>
             <div class="evaluationStartTableData">
-                <el-table :data="evaluationStartData" style="width: 100%" @select="rowClick" @select-all="rowClick">
+                <el-table :data="evaluationStartData" style="width: 100%" @select="rowClick" @select-all="rowClick" @row-dblclick="getDetail">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
                     <el-table-column label="业务编号" prop="responsibilityCode" width="300" />
                     <el-table-column label="考评单位" width="330">
@@ -53,9 +53,9 @@
                     <el-table-column label="年度" prop="year" />
                     <el-table-column label="月度/季度" prop="month" />
                     <el-table-column label="流程状态" prop="stage">
-                        <!-- <template #default="scope">
-                            <p class="indicitem" @click="seeStates(scope.row)">查看流程</p>
-                        </template> -->
+                        <template #default="scope">
+                            <p class="indicitem" @click="seeStates(scope.row)">{{scope.row.stage}}</p>
+                        </template>
                     </el-table-column>
                     <el-table-column label="业务简述" prop="des" width="230">
                         <template #default="scope">
@@ -85,7 +85,7 @@
                     :total="page.total">
                 </el-pagination>
             </div>
-            <el-dialog :title="title" v-model="dialogVisible" width="600px" :close-on-click-modal="false">
+            <el-dialog :title="title" custom-class="startToDia" 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">
                         <el-form-item label="考评类别" prop="organizationType">
@@ -142,12 +142,18 @@
                     </span>
                 </template>
             </el-dialog>
-            <el-dialog title="流程详情" v-model="statesVisible" width="70vw" :close-on-click-modal="false">
+            <el-dialog title="流程详情" v-model="statesVisible" :fullscreen="true" :close-on-click-modal="false">
                 <div class="flowSty">
-                    <iframe id="iframeContain" width="100%" height="100%" 
-                    frameborder="0" class="iframe" name="iframeContain"
-                    seamless scrolling="no" src="http://10.65.78.23:28900/#/login">            
-                    </iframe>
+                    <el-table :data="stageArr" style="width: 100%">
+                        <el-table-column type="index" label="序号" align="center" />
+                        <el-table-column label="任务名称" prop="taskName" />
+                        <el-table-column label="任务创建时间" prop="createTime" />
+                        <el-table-column label="任务处理时间" prop="approveTime" />
+                        <el-table-column label="候选人" prop="assignInfo" width="500" />
+                        <el-table-column label="执行人" prop="approverName" />
+                        <el-table-column label="处理状态" prop="status" />
+                        <el-table-column label="备注/意见" prop="opinion" />
+                    </el-table>
                 </div>
             </el-dialog>
         </div>
@@ -159,7 +165,7 @@
 import startFromList from './evaluationStartFrom.vue'
 import btns from '../elbuttonS.vue'
 import { getToken } from '../../api/auth'
-import {apiGetdeptresponsibilityList, apiGetdeptresponsibilitySave,apiGetdoAction,
+import {apiGetdeptresponsibilityList, apiGetdeptresponsibilitySave,apiGetdoAction,apiGetworkflowgetOpinion,
 apiGetdeptresponsibilitygenerate, apiGetdatadictionaryList, apiPostresponsiDelete} from '../../api/api'
 export default {
     components: {
@@ -210,7 +216,8 @@ export default {
             ruleDataAll: [],
             isShowYear: true,
             rescode: '',
-            resDes: ''
+            resDes: '',
+            stageArr: []
         }
     },
     created() {
@@ -323,7 +330,7 @@ export default {
                 businessKey: row.id,
                 action: "start",
                 opinion: "考评目标启动",
-                iamCode: getToken('code')
+                iamCode: window.localStorage.getItem('code')
             }
             apiGetdoAction(par).then(datas =>{
                 if (datas && datas.data) {
@@ -361,7 +368,28 @@ export default {
             this.$refs.startFromDetail.init(row)
         },
         seeStates(row) {
-            this.statesVisible = true
+            if (!row.instId) {
+                this.$message({
+                    type: 'error',
+                    message: '无法查看流程'
+                });
+            } else {
+                this.statesVisible = true
+                this.getstageData(row.instId)
+            }
+        },
+        // 根据流程id获取业务id
+        getstageData(id) {
+            let that = this
+            let params = {
+                instId: id,
+                iamCode: window.localStorage.getItem('code')
+            }
+            apiGetworkflowgetOpinion(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.stageArr = datas.data.data                    
+                }
+            })
         },
         getSeachData() {
             this.page.currentPage = 1
@@ -528,7 +556,7 @@ export default {
             }
         }
         .el-overlay{
-            .el-dialog{
+            .startToDia{
                 .el-dialog__body{
                     padding: 30px 60px 30px 20px !important;
                     .periodFrom{

+ 122 - 13
src/components/assessment/evaluationYearFrom.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="startFrom">
-        <el-dialog title="年度考评详情" v-model="dialogVisible" width="80vw" :fullscreen="true" :close-on-click-modal="false">
+        <el-dialog title="年度考评详情" v-model="dialogVisible" :fullscreen="true" :close-on-click-modal="false">
             <div class="startDetail">
                 <p class="starttitleSty">单据信息:</p>
                 <el-row class="danjuMsg">
@@ -46,7 +46,7 @@
                     </el-col>
                 </el-row>
                 <div class="detaTableBtns">
-                    <div class="tableBtn add" v-if="activeName === 'second'">
+                    <div class="tableBtn add" @click="addTableDetail" v-if="activeName === 'second'">
                         <img :src="addIcon" alt="">
                         <span>新增</span>
                     </div>
@@ -77,7 +77,7 @@
                             <el-table-column label="指标项" prop="optionName" />
                             <el-table-column label="值" width="150">
                                 <template #default="scope">
-                                    <el-input-number v-model="scope.row.quantifiedValue" :precision="2" :step="0.1" :min="1" />
+                                    <el-input-number v-model="scope.row.quantifiedValue" :precision="2" :step="0.1" :min="0" />
                                 </template>
                             </el-table-column>
                             <el-table-column label="单位" prop="unit" />
@@ -113,7 +113,8 @@
 </template>
 
 <script>
-import {apiGetOrgEvalInfoList,apiGetOrgEvaInfoBatchDto} from '../../api/api'
+import {apiGetOrgEvalInfoList,apiGetOrgEvaInfoBatchDto, apiGetOrganizationRule, 
+apiGetindicatorListAll, apiGetbinstageList, apiGetIndicatorTypeList} from '../../api/api'
 import addIcon from '../../assets/btnIcon/add.png'
 import saveIcon from '../../assets/btnIcon/save.png'
 import editIcon from '../../assets/btnIcon/edit.png'
@@ -160,6 +161,8 @@ export default {
                 recStage: '有效'
             }
             this.getDetails(row.id)
+            this.getOrgRule(row)
+            this.getindList()
             this.rowMsg = row
         },
         handleClick() {
@@ -177,10 +180,98 @@ export default {
             apiGetOrgEvalInfoList(params).then(datas =>{
                 if (datas && datas.data) {
                     that.quantifiedList = datas.data.quantifiedList
-                    that.nonQuantifiedList = datas.data.nonQuantifiedList
+                    if (datas.data.nonQuantifiedList.length>0) {
+                        datas.data.nonQuantifiedList.forEach(it =>{
+                            it.childName = it.organizationName //指标id
+                        })
+                    }
+                    that.nonQuantifiedList = datas.data.nonQuantifiedList.length>0?datas.data.nonQuantifiedList:[]
+                }
+            })
+        },
+        // 考评评价指标内容
+        getOrgRule(row) {
+            let that = this
+            let params = {
+                id: row.id,
+                type: 'kp'
+            }
+            apiGetOrganizationRule(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.orgruleData = datas.data
                 }
             })
         },
+        getindList() {
+            let that = this
+            let params = {
+                type: 2
+            }
+            apiGetbinstageList(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.stageData = datas.data
+                }
+            })
+            apiGetIndicatorTypeList(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.indicatorTypeData = datas.data
+                }
+            })
+        },
+        getIndListAll(row) {
+            let that = this
+            let params = {
+                binSection: row.sectionName,
+                binStage: row.stageName
+            }
+            apiGetindicatorListAll(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.indicItemoptions = datas.data
+                }
+            })
+        },
+        changeIndic(val, row) {
+            if (row.stageName !== '' && row.sectionName !== '') {
+                this.getIndListAll(row)
+            }
+        },
+        changeOrgZa(val) {
+            this.sectionNameArr = []
+            this.orgruleData.forEach(item =>{
+                if (item.id === val) {
+                    let obj = {
+                        id: item.binSection,
+                        secName: item.binSectionName
+                    }
+                    this.sectionNameArr.push(obj)
+                }
+            })
+        },
+        changeDept(val) {
+            this.deptNameArr = []
+            this.indicItemoptions.forEach(item =>{
+                if (item.id === val) {
+                    let obj = {
+                        id: item.dept,
+                        deptName: item.deptName
+                    }
+                    this.deptNameArr.push(obj)
+                }
+            })
+        },
+        addTableDetail() {
+            let obj = {
+                showInput: true,
+                stageName: '',
+                sectionName: '',
+                organizationName: '',
+                deptName: '',
+                typeName: '',
+                optionName: '',
+                nonQuantifiedValue: ''
+            }
+            this.nonQuantifiedList.push(obj)
+        },
         saveDetail() {
             let that = this
             let params = []
@@ -196,20 +287,38 @@ export default {
             } else {
                 that.nonQuantifiedList.forEach(item =>{
                     let obj = {
-                        id: item.id,
                         isQuantified: '否',
+                        quantifiedValue: 0.0,
+                        optionCode: 'ZRMB', // 指标项
                         nonQuantifiedValue: item.nonQuantifiedValue
                     }
+                    if (item.showInput) {
+                        obj.deptResponsibilityId = that.rowMsg.id
+                        obj.organizationEvaluationRuleId = item.organizationName //单位id
+                        obj.indicatorId = item.childName //指标id
+                        
+                    } else {
+                        obj.deptResponsibilityId = item.id
+                        obj.organizationEvaluationRuleId = item.organizationEvaluationRuleId
+                        obj.indicatorId = item.indicatorId
+                    }
                     params.push(obj)
                 })
             }
             apiGetOrgEvaInfoBatchDto(params).then(datas =>{
-                if (datas && datas.success) {
-                    that.$message({
-                        message: '保存成功',
-                        type: 'success'
-                    });
-                    that.getDetails(that.rowMsg.id)
+                if (datas) {
+                    if (datas.success) {
+                        that.$message({
+                            message: '保存成功',
+                            type: 'success'
+                        });
+                        that.getDetails(that.rowMsg.id)
+                    } else {
+                        that.$message({
+                            message: datas.data,
+                            type: 'error'
+                        })
+                    }
                 }
             })
         }
@@ -290,7 +399,7 @@ export default {
                             }
                         }
                         .add{
-                            cursor: no-drop;
+                            cursor: pointer;
                             span{
                                 color: #3B7AD1;
                             }

+ 32 - 4
src/components/assessment/evaluationYearPage.vue

@@ -28,7 +28,7 @@
                 ></btns>
             </div>
             <div class="evaluationYearTableData">
-                <el-table :data="evaluationYearData" style="width: 100%" @select="rowClick" @select-all="rowClick">
+                <el-table :data="evaluationYearData" style="width: 100%" @select="rowClick" @select-all="rowClick" @row-dblclick="getDetail">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
                     <el-table-column label="业务编号" prop="organizationEvaluationCode" width="300" />
                     <el-table-column label="考评单位" width="330">                        
@@ -52,7 +52,11 @@
                     </el-table-column>
                     <el-table-column label="年度" prop="year" />
                     <el-table-column label="月度/季度" prop="month" />
-                    <el-table-column label="流程状态" prop="stage" />
+                    <el-table-column label="流程状态" prop="stage">
+                        <template #default="scope">
+                            <p class="indicitem" @click="seeStates(scope.row)">{{scope.row.stage}}</p>
+                        </template>
+                    </el-table-column>
                     <el-table-column label="业务简述" prop="des" width="230">
                         <template #default="scope">
                             <el-tooltip
@@ -151,7 +155,7 @@
 import startFromList from './evaluationYearFrom.vue'
 import btns from '../elbuttonS.vue'
 import {apiGetOrgEvaluationList, apiPostOrgEvaSave,apiPostOrgevaluationDelete,apiGetgenerateEvaluateReport,
-apiGetgenerateUnitYearEvaluation, apiGetdatadictionaryList, apiGetcalculatorcron} from '../../api/api'
+apiGetgenerateUnitYearEvaluation, apiGetdatadictionaryList, apiGetcalculatorcron, apiGetworkflowgetOpinion} from '../../api/api'
 export default {
     components: {
         startFromList,
@@ -299,7 +303,7 @@ export default {
                 businessKey: row.id,
                 action: "start",
                 opinion: "年度单位考评",
-                iamCode: getToken('code')
+                iamCode: window.localStorage.getItem('code')
             }
             apiGetdoAction(par).then(datas =>{
                 if (datas && datas.data) {
@@ -332,6 +336,30 @@ export default {
                 }
             })
         },
+        seeStates(row) {
+            if (!row.instId) {
+                this.$message({
+                    type: 'error',
+                    message: '无法查看流程'
+                });
+            } else {
+                this.statesVisible = true
+                this.getstageData(row.instId)
+            }
+        },
+        // 根据流程id获取业务id
+        getstageData(id) {
+            let that = this
+            let params = {
+                instId: id,
+                iamCode: window.localStorage.getItem('code')
+            }
+            apiGetworkflowgetOpinion(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.stageArr = datas.data.data                    
+                }
+            })
+        },
         //明细
         getDetail(row) {
             this.$refs.startFromDetail.init(row)

+ 203 - 21
src/components/assessment/monthQuarterFrom.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="startFrom">
-        <el-dialog title="月/季度考评详情" v-model="dialogVisible" width="80vw" :fullscreen="true" :close-on-click-modal="false">
+        <el-dialog title="月/季度考评详情" v-model="dialogVisible" :fullscreen="true" :close-on-click-modal="false">
             <div class="startDetail">
                 <p class="starttitleSty">单据信息:</p>
                 <el-row class="danjuMsg">
@@ -46,7 +46,7 @@
                     </el-col>
                 </el-row>
                 <div class="detaTableBtns">
-                    <div class="tableBtn add" v-if="activeName === 'second'">
+                    <div class="tableBtn add" @click="addTableDetail" v-if="activeName === 'second'">
                         <img :src="addIcon" alt="">
                         <span>新增</span>
                     </div>
@@ -77,7 +77,7 @@
                             <el-table-column label="指标项" prop="optionName" />
                             <el-table-column label="值" width="150">
                                 <template #default="scope">
-                                    <el-input-number v-model="scope.row.quantifiedValue" :precision="2" :step="0.1" :min="1" />
+                                    <el-input-number v-model="scope.row.quantifiedValue" :precision="2" :step="0.1" :min="0" />
                                 </template>
                             </el-table-column>
                             <el-table-column label="单位" prop="unit" />
@@ -86,14 +86,87 @@
                     <el-tab-pane label="考评评价指标内容" name="second">
                         <el-table :data="nonQuantifiedList" style="width: 100%">
                             <el-table-column type="index" label="序号" width="80" />
-                            <el-table-column label="业务阶段" prop="stageName" />
-                            <el-table-column label="业务属性" prop="sectionName" />
-                            <el-table-column label="单位名称" prop="organizationName" width="300" />
-                            <el-table-column label="填报部门" prop="deptName" width="260" />                                
-                            <el-table-column label="指标分类" prop="typeName" />
-                            <el-table-column label="指标名称" prop="childName" />
-                            <el-table-column label="指标项" prop="optionName" />
-                            <el-table-column label="值" width="150">
+                            <el-table-column label="单位名称" prop="organizationName" width="300">
+                                <template #default="scope">
+                                    <el-select v-model="scope.row.organizationName" placeholder="请选择单位名称"
+                                    :disabled="!scope.row.showInput"
+                                     @change="changeOrgZa">
+                                        <el-option
+                                        v-for="item in orgruleData"
+                                        :key="item.id"
+                                        :label="item.organizationName"
+                                        :value="item.id">
+                                        </el-option>
+                                    </el-select>
+                                </template>
+                            </el-table-column>
+                            <el-table-column label="指标分类" prop="typeName">
+                                <template #default="scope">
+                                    <el-select v-model="scope.row.typeName" :disabled="!scope.row.showInput" placeholder="请选择指标分类">
+                                        <el-option
+                                        v-for="item in indicatorTypeData"
+                                        :key="item.id"
+                                        :label="item.typeName"
+                                        :value="item.id">
+                                        </el-option>
+                                    </el-select>
+                                </template>
+                            </el-table-column>
+                            <el-table-column label="业务阶段" prop="stageName">
+                                <template #default="scope">
+                                    <el-select v-model="scope.row.stageName" placeholder="请选择业务阶段"
+                                    :disabled="!scope.row.showInput"
+                                     @change="(val)=>changeIndic(val, scope.row)">
+                                        <el-option
+                                        v-for="item in stageData"
+                                        :key="item.id"
+                                        :label="item.stageName"
+                                        :value="item.id">
+                                        </el-option>
+                                    </el-select>
+                                </template>
+                            </el-table-column>
+                            <el-table-column label="业务属性" prop="sectionName">
+                                <template #default="scope">
+                                    <el-select v-model="scope.row.sectionName" placeholder="请选择业务阶段"
+                                    :disabled="!scope.row.showInput"
+                                     @change="(val)=>changeIndic(val, scope.row)">
+                                        <el-option
+                                        v-for="item in sectionNameArr"
+                                        :key="item.id"
+                                        :label="item.secName"
+                                        :value="item.id">
+                                        </el-option>
+                                    </el-select>
+                                </template>
+                            </el-table-column>
+                            <el-table-column label="指标名称" prop="childName">
+                                <template #default="scope">
+                                    <el-select v-model="scope.row.childName" placeholder="请选择业务阶段"
+                                    :disabled="!scope.row.showInput"
+                                     @change="changeDept">
+                                        <el-option
+                                        v-for="item in indicItemoptions"
+                                        :key="item.id"
+                                        :label="item.indicatorName"
+                                        :value="item.id">
+                                        </el-option>
+                                    </el-select>
+                                </template>
+                            </el-table-column>
+                            <el-table-column label="填报部门" prop="deptName" width="260">
+                                <template #default="scope">
+                                    <el-select v-model="scope.row.deptName" placeholder="请选择业务阶段" :disabled="!scope.row.showInput">
+                                        <el-option
+                                        v-for="item in deptNameArr"
+                                        :key="item.id"
+                                        :label="item.deptName"
+                                        :value="item.id">
+                                        </el-option>
+                                    </el-select>
+                                </template>
+                            </el-table-column>
+                            <el-table-column label="计划值">
                                 <template #default="scope">
                                     <el-input v-model="scope.row.nonQuantifiedValue" />
                                 </template>
@@ -113,7 +186,8 @@
 </template>
 
 <script>
-import {apiGetOrgEvalInfoList,apiGetOrgEvaInfoBatchDto} from '../../api/api'
+import {apiGetOrgEvalInfoList,apiGetOrgEvaInfoBatchDto, apiGetOrganizationRule, 
+apiGetindicatorListAll, apiGetbinstageList, apiGetIndicatorTypeList} from '../../api/api'
 import addIcon from '../../assets/btnIcon/add.png'
 import saveIcon from '../../assets/btnIcon/save.png'
 import editIcon from '../../assets/btnIcon/edit.png'
@@ -160,6 +234,8 @@ export default {
                 recStage: '有效'
             }
             this.getDetails(row.id)
+            this.getOrgRule(row)
+            this.getindList()
             this.rowMsg = row
         },
         handleClick() {
@@ -177,10 +253,98 @@ export default {
             apiGetOrgEvalInfoList(params).then(datas =>{
                 if (datas && datas.data) {
                     that.quantifiedList = datas.data.quantifiedList
-                    that.nonQuantifiedList = datas.data.nonQuantifiedList
+                    if (datas.data.nonQuantifiedList.length>0) {
+                        datas.data.nonQuantifiedList.forEach(it =>{
+                            it.childName = it.organizationName //指标id
+                        })
+                    }
+                    that.nonQuantifiedList = datas.data.nonQuantifiedList.length>0?datas.data.nonQuantifiedList:[]
+                }
+            })
+        },
+        // 考评评价指标内容
+        getOrgRule(row) {
+            let that = this
+            let params = {
+                id: row.id,
+                type: 'kp'
+            }
+            apiGetOrganizationRule(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.orgruleData = datas.data
+                }
+            })
+        },
+        getindList() {
+            let that = this
+            let params = {
+                type: 2
+            }
+            apiGetbinstageList(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.stageData = datas.data
+                }
+            })
+            apiGetIndicatorTypeList(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.indicatorTypeData = datas.data
+                }
+            })
+        },
+        getIndListAll(row) {
+            let that = this
+            let params = {
+                binSection: row.sectionName,
+                binStage: row.stageName
+            }
+            apiGetindicatorListAll(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.indicItemoptions = datas.data
                 }
             })
         },
+        changeIndic(val, row) {
+            if (row.stageName !== '' && row.sectionName !== '') {
+                this.getIndListAll(row)
+            }
+        },
+        changeOrgZa(val) {
+            this.sectionNameArr = []
+            this.orgruleData.forEach(item =>{
+                if (item.id === val) {
+                    let obj = {
+                        id: item.binSection,
+                        secName: item.binSectionName
+                    }
+                    this.sectionNameArr.push(obj)
+                }
+            })
+        },
+        changeDept(val) {
+            this.deptNameArr = []
+            this.indicItemoptions.forEach(item =>{
+                if (item.id === val) {
+                    let obj = {
+                        id: item.dept,
+                        deptName: item.deptName
+                    }
+                    this.deptNameArr.push(obj)
+                }
+            })
+        },
+        addTableDetail() {
+            let obj = {
+                showInput: true,
+                stageName: '',
+                sectionName: '',
+                organizationName: '',
+                deptName: '',
+                typeName: '',
+                optionName: '',
+                nonQuantifiedValue: ''
+            }
+            this.nonQuantifiedList.push(obj)
+        },
         saveDetail() {
             let that = this
             let params = []
@@ -196,20 +360,38 @@ export default {
             } else {
                 that.nonQuantifiedList.forEach(item =>{
                     let obj = {
-                        id: item.id,
                         isQuantified: '否',
+                        quantifiedValue: 0.0,
+                        optionCode: 'ZRMB', // 指标项
                         nonQuantifiedValue: item.nonQuantifiedValue
                     }
+                    if (item.showInput) {
+                        obj.deptResponsibilityId = that.rowMsg.id
+                        obj.organizationEvaluationRuleId = item.organizationName //单位id
+                        obj.indicatorId = item.childName //指标id
+                        
+                    } else {
+                        obj.deptResponsibilityId = item.id
+                        obj.organizationEvaluationRuleId = item.organizationEvaluationRuleId
+                        obj.indicatorId = item.indicatorId
+                    }
                     params.push(obj)
                 })
             }
             apiGetOrgEvaInfoBatchDto(params).then(datas =>{
-                if (datas && datas.success) {
-                    that.$message({
-                        message: '保存成功',
-                        type: 'success'
-                    });
-                    that.getDetails(that.rowMsg.id)
+                if (datas) {
+                    if (datas.success) {
+                        that.$message({
+                            message: '保存成功',
+                            type: 'success'
+                        });
+                        that.getDetails(that.rowMsg.id)
+                    } else {
+                        that.$message({
+                            message: datas.data,
+                            type: 'error'
+                        })
+                    }
                 }
             })
         }
@@ -290,7 +472,7 @@ export default {
                             }
                         }
                         .add{
-                            cursor: no-drop;
+                            cursor: pointer;
                             span{
                                 color: #3B7AD1;
                             }

+ 32 - 4
src/components/assessment/monthQuarterPage.vue

@@ -28,7 +28,7 @@
                 ></btns>
             </div>
             <div class="monthQuarterTableData">
-                <el-table :data="monthQuarterData" style="width: 100%" @select="rowClick" @select-all="rowClick">
+                <el-table :data="monthQuarterData" style="width: 100%" @select="rowClick" @select-all="rowClick" @row-dblclick="getDetail">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
                     <el-table-column label="业务编号" prop="organizationEvaluationCode" width="300" />
                     <el-table-column label="考评单位" width="330">
@@ -52,7 +52,11 @@
                     </el-table-column>
                     <el-table-column label="年度" prop="year" />
                     <el-table-column label="月度/季度" prop="month" />
-                    <el-table-column label="流程状态" prop="stage" />
+                    <el-table-column label="流程状态" prop="stage">
+                        <template #default="scope">
+                            <p class="indicitem" @click="seeStates(scope.row)">{{scope.row.stage}}</p>
+                        </template>
+                    </el-table-column>
                     <el-table-column label="业务简述" width="230">
                         <template #default="scope">
                             <el-tooltip
@@ -154,7 +158,7 @@ import startFromList from './monthQuarterFrom.vue'
 import btns from '../elbuttonS.vue'
 import { getToken } from '../../api/auth'
 import {apiGetOrgEvaluationList, apiPostOrgEvaSave,apiPostOrgevaluationDelete,apiGetdoAction,apiGetgenerateEvaluateReport,
-apiGetgenerateUnitMonthEvaluation, apiGetdatadictionaryList, apiGetcalculatorcron} from '../../api/api'
+apiGetgenerateUnitMonthEvaluation, apiGetdatadictionaryList, apiGetcalculatorcron, apiGetworkflowgetOpinion} from '../../api/api'
 export default {
     components: {
         startFromList,
@@ -304,7 +308,7 @@ export default {
                 businessKey: row.id,
                 action: "start",
                 opinion: "月度单位考评",
-                iamCode: getToken('code')
+                iamCode: window.localStorage.getItem('code')
             }
             apiGetdoAction(par).then(datas =>{
                 if (datas && datas.data) {
@@ -337,6 +341,30 @@ export default {
                 }
             })
         },
+        seeStates(row) {
+            if (!row.instId) {
+                this.$message({
+                    type: 'error',
+                    message: '无法查看流程'
+                });
+            } else {
+                this.statesVisible = true
+                this.getstageData(row.instId)
+            }
+        },
+        // 根据流程id获取业务id
+        getstageData(id) {
+            let that = this
+            let params = {
+                instId: id,
+                iamCode: window.localStorage.getItem('code')
+            }
+            apiGetworkflowgetOpinion(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.stageArr = datas.data.data                    
+                }
+            })
+        },
         //明细
         getDetail(row) {
             this.$refs.startFromDetail.init(row)

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

@@ -1,6 +1,6 @@
 <template>
     <div class="startFrom">
-        <el-dialog title="业绩考核系数详情" v-model="dialogVisible" width="95vw" :fullscreen="true" :close-on-click-modal="false">
+        <el-dialog title="业绩考核系数详情" v-model="dialogVisible" :fullscreen="true" :close-on-click-modal="false">
             <div class="startDetail">
                 <p class="starttitleSty">基础信息:</p>
                 <el-row class="danjuMsg">

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

@@ -28,7 +28,7 @@
                 ></btns>
             </div>
             <div class="achievementTableData">
-                <el-table :data="achievementData" style="width: 100%" @select="rowClick" @select-all="rowClick">
+                <el-table :data="achievementData" style="width: 100%" @select="rowClick" @select-all="rowClick" @row-dblclick="detailWatch">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
                     <el-table-column label="序号" type="index" />
                     <el-table-column label="业务编码" prop="coefficientCode" />

+ 34 - 6
src/components/evaluationSystem/evaluationCompanyPage.vue

@@ -30,12 +30,34 @@
             <div class="evaluationCompanyTableData">
                 <el-table :data="evaluationCompanyData" style="width: 100%" @select="rowClick" @select-all="rowClick">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
-                    <el-table-column label="单位名称" prop="organizationName" />
+                    <el-table-column label="单位名称" prop="organizationName" width="300">
+                        <template #default="scope">
+                            <el-tooltip
+                                class="box-item"
+                                effect="customized"
+                                :content="scope.row.organizationName"
+                                placement="top"
+                            >
+                                <span class="tooltipCC">{{scope.row.organizationName}}</span>
+                            </el-tooltip>
+                        </template>
+                    </el-table-column>
                     <!-- <el-table-column label="考评类别" prop="organizationType" /> -->
                     <el-table-column label="考评周期" prop="evaluationCycle" />
                     <el-table-column label="业务属性" prop="binSectionName" />
-                    <el-table-column label="考评规则" prop="evaluateRuleName" />
-                    <el-table-column label="业务阶段" prop="binStageName" />
+                    <el-table-column label="考评规则" prop="evaluateRuleName" width="300">
+                        <template #default="scope">
+                            <el-tooltip
+                                class="box-item"
+                                effect="customized"
+                                :content="scope.row.evaluateRuleName"
+                                placement="top"
+                            >
+                                <span class="tooltipCC">{{scope.row.evaluateRuleName}}</span>
+                            </el-tooltip>
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="业务阶段" prop="binStageName" width="200" />
                     <el-table-column label="是否考评" prop="binSectionName">
                         <template #default="scope">
                             <span>{{scope.row.isCheck?'是':'否'}}</span>
@@ -437,13 +459,13 @@ export default {
                 confirmButtonText: '确定',
                 cancelButtonText: '取消',
                 type: 'warning'
-            }).then(async() => {
+            }).then(() => {
                 let that = this
                 let paramsArr = []
                 that.changeDateSelect.forEach(it =>{
                     paramsArr.push(it.id)
                 })
-                await apiGetorganizationdeleteList(paramsArr.join(',')).then(datas =>{
+                apiGetorganizationdeleteList(paramsArr.join(',')).then(datas =>{
                     if (datas) {
                         that.$message({
                             type: 'success',
@@ -579,7 +601,13 @@ export default {
         .el-radio__label{
             display: none;
         }
-        
+        .tooltipCC{
+            width: 300px;
+            display: inline-block;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
         .indicitem{
             color: #409EFF;
             font-size: 12px;

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

@@ -353,13 +353,13 @@ export default {
                 confirmButtonText: '确定',
                 cancelButtonText: '取消',
                 type: 'warning'
-            }).then(async() => {
+            }).then(() => {
                 let that = this
                 let paramsArr = []
                 that.changeDateSelect.forEach(it =>{
                     paramsArr.push(it.id)
                 })
-                await apiGetorganizationdeleteList(paramsArr.join(',')).then(datas =>{
+                apiGetorganizationdeleteList(paramsArr.join(',')).then(datas =>{
                     if (datas) {
                         that.$message({
                             type: 'success',

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

@@ -28,10 +28,10 @@
                 ></btns>
             </div>
             <div class="evaluationIndexTableData">
-                <el-table :data="evaluationIndexData" style="width: 100%" @select="rowClick" @select-all="rowClick">
+                <el-table :data="evaluationIndexData" style="width: 100%" @select="rowClick" @select-all="rowClick" @row-dblclick="editEvaluaIndex">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
-                    <el-table-column label="指标名称" prop="indicatorName" />
                     <el-table-column label="指标编码" prop="indicatorCode" />
+                    <el-table-column label="指标名称" prop="indicatorName" />
                     <el-table-column label="指标类型" prop="indicatorTypeName" />
                     <el-table-column label="指标单位" prop="unit" />
                     <el-table-column label="业务阶段" prop="binStageName" />

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

@@ -28,7 +28,7 @@
                 ></btns>
             </div>
             <div class="evaluationRuleTableData">
-                <el-table :data="evaluationRuleData" style="width: 100%" @select="rowClick" @select-all="rowClick">
+                <el-table :data="evaluationRuleData" style="width: 100%" @select="rowClick" @select-all="rowClick" @row-dblclick="editRuleDetail">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
                     <el-table-column label="规则名称" prop="ruleName" />
                     <el-table-column label="业务阶段" prop="binStageName" />

+ 448 - 0
src/components/evaluationSystem/partyBuildingKPage.vue

@@ -0,0 +1,448 @@
+<template>
+    <div class="partyBuildingK" v-loading="loadingImport">
+        <div class="partyBuildingBtn">
+            <div class="collectSeach">
+                <div class="exceed">
+                    <span class="exceedSpan">业务属性:</span>
+                    <el-select v-model="sectionStr" placeholder="请选择业务属性">
+                        <el-option
+                        v-for="item in moduleData"
+                        :key="item.id"
+                        :label="item.sectionName"
+                        :value="item.id">
+                        </el-option>
+                    </el-select>
+                </div>
+                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
+                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+            </div>
+            <div class="PeriodBtn">
+                <btns
+                :showImport="false"
+                :showExport="false"
+                :showAdd="$utils.havePurview('achieveK:oneLevel:add')"
+                :showSave="$utils.havePurview('achieveK:oneLevel:save')"
+                :showDelete="$utils.havePurview('achieveK:oneLevel:delete')"
+                :disSave="changeDateSelect.length === 0 || changeDateSelect.length>1"
+                :disDelete="changeDateSelect.length === 0"
+                :disImport="true"
+                :disExport="true"
+                @handleAdd="handleAdd"
+                @handleEdit="handleEdit"
+                @handleDelete="handleDelete"
+                @handleImport="handleImport"
+                @handleExport="handleExport"
+                ></btns>
+            </div>
+            <div class="partyBuildingTableData">
+                <el-table :data="partyBuildingData" style="width: 100%" @select="rowClick" @select-all="rowClick">
+                    <el-table-column type="selection" label="操作" align="center"></el-table-column>
+                    <el-table-column label="序号" type="index" />
+                    <el-table-column label="单位名称" prop="organizationName" width="300" />
+                    <el-table-column label="业务属性" prop="sectionName" />
+                    <el-table-column label="年度" prop="year" />
+                    <el-table-column label="党建系数" prop="multiplier">
+                        <template #default="scope">
+                            <span>{{scope.row.multiplier*100}}%</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="备注" prop="remarks" />
+                </el-table>
+                <el-pagination
+                    @size-change="handleSizeChange"
+                    @current-change="handleCurrentChange"
+                    :current-page="page.currentPage"
+                    :page-size="page.pagesize"
+                    layout="total, prev, pager, next, jumper"
+                    :total="page.total">
+                </el-pagination>
+            </div>
+            <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">
+                        <el-form-item label="单位名称" prop="organizationName">
+                            <el-select v-model="ruleForm.organizationName" placeholder="请选择单位名称">
+                                <el-option
+                                v-for="item in companyDatas"
+                                :key="item.id"
+                                :label="item.name"
+                                :value="item.id">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="业务属性" prop="sectionName">
+                            <el-select v-model="ruleForm.sectionName" placeholder="请选择业务属性">
+                                <el-option
+                                v-for="item in moduleData"
+                                :key="item.id"
+                                :label="item.sectionName"
+                                :value="item.id">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="年份" prop="year">
+                            <el-date-picker
+                                v-model="ruleForm.year"
+                                type="year"
+                                value-format="YYYY"
+                                placeholder="请选择年份"
+                                />
+                        </el-form-item>
+                        <el-form-item label="党建系数" prop="multiplier">
+                            <el-input-number v-model="ruleForm.multiplier" :precision="2" :step="0.1" :min="0" :max="1" placeholder="请输入党建系数" />
+                        </el-form-item>
+                        <el-form-item label="描述" prop="remarks">
+                            <el-input v-model="ruleForm.remarks" :rows="5" type="textarea" placeholder="请输入描述"></el-input>
+                        </el-form-item>
+                    </el-form>
+                </div>
+                <template #footer>
+                    <span class="dialog-footer">
+                        <el-button @click="dialogVisible = false">取 消</el-button>
+                        <el-button type="primary" @click="saveevaluaStart('ruleForm')">确 定</el-button>
+                    </span>
+                </template>
+            </el-dialog>
+            <indicator-item ref="indicatorItem"></indicator-item>
+        </div>
+    </div>
+</template>
+
+<script>
+// import importDailog from '../importPage/importDailog.vue'
+// import partyBuildingDetail from './partyBuildingKDetail.vue'
+import btns from '../elbuttonS.vue'
+import {apiGetpartybuildingList, apiDeletepartyBuildRemove,apiGetbinsectionList,
+ apiGetorganizationgetTree, apiPostpartybuildSave} from '../../api/api'
+export default {
+  components: { btns },
+    data() {
+        return {
+            dialogVisible: false,
+            title: '',
+            isSave: false,
+            changeDateSelect: [],
+            sectionStr: '',
+            partyBuildingData:[],
+            departmentDataAll: [],
+            companyDatas: [],
+            moduleData: [],
+            ruleForm: {
+                organizationName: '',
+                sectionName: '',
+                year: '',
+                multiplier: 0,
+                remarks: ''
+            },
+            rules: {
+                organizationName: [
+                    { required: true, message: '请选择单位名称', trigger: 'change' }
+                ],
+                sectionName: [
+                    { required: true, message: '请选择业务属性', trigger: 'change' }
+                ],
+                year: [
+                    { required: true, message: '请选择年份', trigger: 'change' }
+                ],
+                multiplier: [
+                    { required: true, message: '请输入党建系数', trigger: 'blur' }
+                ],
+                remarks: [
+                    { required: true, message: '请输入描述', trigger: 'blur' }
+                ]
+            },
+            page:{
+                pagesize: 12,
+                currentPage: 1,
+                total: 0
+            },
+            evalradio: {},
+            loadingImport: false
+        }
+    },
+    created() {
+        this.getpartyBuildingData()
+        this.getOrganizetionData()
+        this.getBinSectionS()
+    },
+    methods:{
+        // 查询人员配置数据
+        getpartyBuildingData(type) {
+            let that = this
+            let params = {
+                pageNum: this.page.currentPage,
+                pageSize: this.page.pagesize
+            }
+            if (type) {
+                params.sectionId = that.sectionStr
+            }
+            apiGetpartybuildingList(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.partyBuildingData = datas.data.records
+                    that.page.total = datas.data.total
+                }
+            })
+        },
+        // 查询业务属性
+        getBinSectionS() {
+            let that = this
+            apiGetbinsectionList().then(datas =>{
+                if (datas && datas.data) {
+                    that.moduleData = datas.data
+                }
+            })
+        },
+        //查询组织数据
+        getOrganizetionData() {
+            let that = this
+            let params = {
+                id: '23031000',
+                num: 1
+            }
+            apiGetorganizationgetTree(params).then(datas =>{
+                if (datas && datas.data && datas.data[0].children.length>0) {
+                    that.companyDatas = datas.data[0].children
+                }
+            })
+        },
+        handleAdd() {
+            this.dialogVisible = true
+            this.isSave = false
+            this.title = '新增党建考核系数'
+            this.ruleForm = {
+                organizationName: '',
+                sectionName: '',
+                year: '',
+                multiplier: 0,
+                remarks: ''
+            }
+        },
+        handleEdit() {
+            this.dialogVisible = true
+            this.isSave = true
+            this.title = '修改党建考核系数'
+            this.evalradio = this.changeDateSelect[0]
+            this.ruleForm = {
+                organizationName: this.evalradio.departId,
+                sectionName: this.evalradio.sectionId,
+                year: this.evalradio.year,
+                multiplier: this.evalradio.multiplier,
+                remarks: this.evalradio.remarks
+            }
+        },
+        saveevaluaStart(formName) {
+            let that = this
+            that.$refs[formName].validate((valid) => {
+                if (valid) {
+                    that.saveAndEditpartBuildData()
+                }
+            });
+        },
+        saveAndEditpartBuildData() {
+            let that = this
+            let comName = ''
+            that.companyDatas.forEach(item =>{
+                if (item.id === that.ruleForm.organizationName) {
+                    comName = item.name
+                }
+            })
+            let params = {                
+                departId: that.ruleForm.organizationName,
+                organizationName: comName,
+                sectionId: that.ruleForm.sectionName,
+                year: that.ruleForm.year,
+                multiplier: that.ruleForm.multiplier,
+                remarks: that.ruleForm.remarks
+            }
+            if (that.isSave) {
+                params.id = that.evalradio.id
+            }
+            apiPostpartybuildSave(params).then(datas =>{
+                if (!datas.success) {
+                    that.$message({
+                        message: datas.message,
+                        type: 'error'
+                    });
+                } else {
+                    if (!that.isSave) {
+                        that.$message({
+                            message: '党建考核系数新增成功',
+                            type: 'success'
+                        });
+                    } else {
+                        that.$message({
+                            message: '党建考核系数修改成功',
+                            type: 'success'
+                        });
+                    }
+                    that.dialogVisible = false
+                    that.changeDateSelect = []
+                    that.getpartyBuildingData()
+                }
+            })
+        },
+        //删除指标数据
+        handleDelete() {
+            this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                let that = this
+                let paramsArr = []
+                that.changeDateSelect.forEach(it =>{
+                    paramsArr.push(it.id)
+                })
+                apiDeletepartyBuildRemove(paramsArr.join(',')).then(datas =>{
+                    if (datas) {
+                        that.$message({
+                            type: 'success',
+                            message: '删除成功!'
+                        });
+                        that.changeDateSelect = []
+                        that.getpartyBuildingData()
+                    }
+                })
+            })
+        },        
+        rowClick(selection, row) {
+            this.changeDateSelect = selection
+        },
+        getSeachData() {
+            this.page.currentPage = 1
+            this.getpartyBuildingData('seach')
+        },
+        resetSeach() {
+            this.page.currentPage = 1
+            this.sectionStr = ''
+            this.getpartyBuildingData()
+        },
+        successImport(val) {
+            this.loadingImport = false
+            this.getpartyBuildingData()
+        },
+        importLoading(val) {
+            this.loadingImport = true
+        },
+        handleSizeChange(val){
+            this.page.pagesize = val
+            this.getpartyBuildingData()
+        },
+        handleCurrentChange(val){
+            this.page.currentPage =val
+            this.getpartyBuildingData()
+        },
+        handleImport() {
+            this.$refs.importPage.upload.title = "考评指标管理信息导入"
+            this.$refs.importPage.upload.open = true
+        },
+    }
+}
+</script>
+
+<style lang="less">
+.partyBuildingK{
+    .partyBuildingBtn{
+        .collectSeach{
+            display: flex;
+            padding: 24px 20px;
+            border-bottom: 1px solid#D6DBEA;
+                .exceed{
+                    display: flex;
+                    .exceedSpan{
+                        width: 80px;
+                        height: 12px;
+                        font-size: 14px;
+                        font-family: Microsoft YaHei;
+                        font-weight: 400;
+                        color: #8991B0;
+                        line-height: 12px;
+                        margin-top: 10px;
+                    }
+                    .el-input{
+                        margin-right:10px;
+                        .el-input__inner{
+                            height:30px;
+                        }
+                        .el-input__suffix{
+                            .el-select__caret{
+                                line-height:30px;
+                            }
+                        }
+                    }
+                }
+                .el-select{
+                    margin-right:10px;
+                    .el-input__inner{
+                        height:30px;
+                    }
+                    .el-input__suffix{
+                        .el-select__caret{
+                            line-height:30px;
+                        }
+                    }
+                }
+        }
+        span{
+            font-size:14px;
+        }
+        .PeriodBtn{
+            display: flex;
+            justify-content: end;
+            padding: 20px 0;
+        }
+        .el-button{
+            height: 30px;
+            // width:100px;
+            padding: 0 30px ;
+            // padding-top: 8px;
+            span{
+                margin:0;
+            }
+        }
+        .partyBuildingTableData{
+            .el-table{
+                .el-table__body-wrapper{
+                    height: 58vh !important;
+                }
+                .el-input__inner{
+                    height: 30px !important;
+                }
+                .el-radio__label{
+                    display: none;
+                }
+                
+                .indicitem{
+                    color: #409EFF;
+                    font-size: 12px;
+                    margin-right: 20px;
+                    cursor:pointer;
+                    &:hover{
+                        text-decoration: underline;
+                    }
+                }
+            }
+            .el-pagination{
+                margin-top: 20px;
+                text-align: end;
+                position: relative;
+            }
+        }
+        .el-overlay{
+            .el-dialog{
+                .el-dialog__body{
+                    padding: 30px 60px 30px 20px !important;
+                    .periodFrom{
+                        .el-select, .el-input{
+                            width: 100%;
+                        }
+                        .el-input{
+                            height: 30px;
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
+</style>

+ 0 - 1
src/components/knowledgePage/scoringRulesDetailPage.vue

@@ -147,7 +147,6 @@
                                                 v-for="item in operator"
                                                 :key="item"
                                                 plain
-                                                type="primary"
                                                 @click="scorRuleSplit(item)"
                                                 style="width: 60px; margin: 7px 12px; height: 40px; border: 1px solid #409EFF;"
                                                 >

+ 1 - 1
src/components/knowledgePage/scoringRulesPage.vue

@@ -35,7 +35,7 @@
                 ></btns>
             </div>
             <div class="scoringRulesTableData">
-                <el-table :data="scoringRulesData" style="width: 100%" @select="rowClick" @select-all="allSelect">
+                <el-table :data="scoringRulesData" style="width: 100%" @select="rowClick" @select-all="allSelect" @row-dblclick="scoringRuleDetail">
                     <el-table-column type="selection" label="操作" align="center" />
                     <el-table-column label="规则名称" prop="scoreRuleName" />
                     <el-table-column label="业务属性" prop="businessName"  width="200" />

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

@@ -1,6 +1,6 @@
 <template>
     <div class="startFrom">
-        <el-dialog title="任务详情" v-model="dialogVisible" width="80vw" :fullscreen="true" :close-on-click-modal="false">
+        <el-dialog title="任务详情" v-model="dialogVisible" :fullscreen="true" :close-on-click-modal="false">
             <div class="startDetail">
                 <p class="starttitleSty">单据信息:</p>
                 <el-row class="danjuMsg">
@@ -168,7 +168,7 @@ export default {
             let that = this
             let params = {
                 id: row.instId,
-                iamCode: getToken('code')
+                iamCode: window.localStorage.getItem('code')
             }
             apiPostgetInstanceAndChildren(params).then(datas =>{
                 if (datas && datas.data) {
@@ -265,7 +265,7 @@ export default {
                 action: actionCS, //固定值
                 instanceId: that.rowMsg.instId, //流程实例ID
                 opinion: that.descMsg, //审批意见
-                iamCode: getToken('code'), //认证后code值
+                iamCode: window.localStorage.getItem('code'), //认证后code值
                 taskName: that.rowMsg.name,
                 defKey: that.instanceChild.defKey,
                 bizKey: that.instanceChild.bizKey

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

@@ -92,7 +92,7 @@ export default {
                 sort: "",
                 offset: "",
                 limit: that.page.pagesize, //每页显示
-                iamCode: getToken('code') //IAM平台code值(登录后获取凭证)
+                iamCode: window.localStorage.getItem('code') //IAM平台code值(登录后获取凭证)
             }
             apiPostTodoTaskList(params).then(datas =>{
                 if (datas && datas.data) {
@@ -103,7 +103,7 @@ 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='+getToken('code')
+            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')
         },
         taskProcess(row) {
             this.$refs.taskCenterEvl.init(row)

+ 2 - 2
src/request/index.js

@@ -22,8 +22,8 @@ const service = axios.create({
 // 添加请求拦截器
 service.interceptors.request.use(
     function (config) {
-        config.headers['Blade-Auth'] = getToken('token')
-        config.headers.code = getToken('code')
+        config.headers['Blade-Auth'] = window.localStorage.getItem('token')
+        config.headers.code = window.localStorage.getItem('code')
         // 在发送请求设置cancel token
         config.cancelToken = new axios.CancelToken(cancel =>{
             store.commit('setAxiosArr', {cancelToken: cancel})

+ 31 - 20
src/router/index.js

@@ -98,26 +98,6 @@ const routes = [
                 ]
             },
             {
-                path: '/knowledge',
-                name: 'knowledge',
-                meta: {
-                    title: '知识库',
-                },
-                children: [
-                    {
-                        path: '/knowledgePage/scoringRules',
-                        name: 'scoringRules',
-                        meta: {
-                            title: '考评得分规则',
-                        },
-                        component: () =>
-                            import(
-                                '../components/knowledgePage/scoringRulesPage.vue'
-                            ),
-                    }
-                ]
-            },
-            {
                 path: '/evaluationSystem',
                 name: 'benchmark',
                 meta: {
@@ -190,6 +170,37 @@ const routes = [
                                 '../components/evaluationSystem/achievementKPage.vue'
                             ),
                     },
+                    {
+                        path: '/evaluationSystem/partyBuildingK',
+                        name: 'partyBuildingK',
+                        meta: {
+                            title: '党建考核系数配置',
+                        },
+                        component: () =>
+                            import(
+                                '../components/evaluationSystem/partyBuildingKPage.vue'
+                            ),
+                    }
+                ]
+            },
+            {
+                path: '/knowledge',
+                name: 'knowledge',
+                meta: {
+                    title: '知识库',
+                },
+                children: [
+                    {
+                        path: '/knowledgePage/scoringRules',
+                        name: 'scoringRules',
+                        meta: {
+                            title: '考评得分规则',
+                        },
+                        component: () =>
+                            import(
+                                '../components/knowledgePage/scoringRulesPage.vue'
+                            ),
+                    }
                 ]
             },
         ]

+ 2 - 2
src/utils/baseUrl.js

@@ -9,9 +9,9 @@ const baseUrl = {
 switch (process.env.NODE_ENV) { 
     case 'development': 
         baseUrl.ROOT = "/api"  //开发环境url
-        baseUrl.URL = "http://10.65.59.67:28800"
+        // baseUrl.URL = "http://10.65.59.67:28800"
         // baseUrl.URL = "http://123.60.219.66:28800"
-        // baseUrl.URL = "http://10.65.78.23:28800"
+        baseUrl.URL = "http://10.65.78.23:28800"
         break
  
     case 'production': 

+ 1 - 1
src/utils/index.js

@@ -7,7 +7,7 @@ const checkNull = val => val === undefined || val === null
 const until = {
     // 权限分配
     havePurview(data) {
-        let per = JSON.parse(getToken('purview'))
+        let per = JSON.parse(window.localStorage.getItem('purview'))
         let show = false
         per.forEach(it => {
             if (it === data) { 

+ 6 - 3
src/views/Login.vue

@@ -94,7 +94,8 @@ export default {
             loginApi(userName, password).then(datas=>{
                 if (datas) {
                     if (datas.success) {
-                        setToken('token', datas.data.access_token)
+                        // setToken('token', datas.data.access_token)
+                        window.localStorage.setItem('token', datas.data.access_token)
                         that.getTokenCode(datas.data.access_token)
                     } else {
                         ElMessage.error(datas.message);
@@ -110,7 +111,8 @@ export default {
             let that = this
             apiGetCodeByToken(val).then(datas =>{
                 if (datas && datas.data) {
-                    setToken('code', datas.data)
+                    // setToken('code', datas.data)
+                    window.localStorage.setItem('code', datas.data)
                     that.getUserMsg(datas.data)
                 }
             })
@@ -133,7 +135,8 @@ export default {
             let that = this
             apiGetPrivilegesOfCurrentUserAll().then(datas =>{
                 if (datas && datas.data) {
-                    setToken('purview', JSON.stringify(datas.data.data))
+                    // setToken('purview', JSON.stringify(datas.data.data))
+                    window.localStorage.setItem('purview', JSON.stringify(datas.data.data))
                     that.$router.push({ path: "/home"})
                 }
             })

+ 9 - 7
src/views/homePage.vue

@@ -322,14 +322,16 @@ export default {
         },
         closeSys() {
             let that = this
-            apiPostremoveByToken(getToken()).then(datas =>{
+            apiPostremoveByToken(window.localStorage.getItem('token')).then(datas =>{
                 if (datas.code === 200) {
-                    removeToken('token')
-                    removeToken('code')
-                    removeToken('purview')
-                    window.sessionStorage.removeItem('routeTags')
-                    window.sessionStorage.removeItem('user')
-                    this.$router.push({ path: "/login"})
+                    // removeToken('token')
+                    // removeToken('code')
+                    // removeToken('purview')
+                    window.localStorage.removeItem('code')
+                    window.localStorage.removeItem('purview')
+                    window.localStorage.removeItem('token')
+                    window.sessionStorage.clear()
+                    that.$router.push({ path: "/login"})
                 }
             })
         },