Преглед на файлове

新增月季度考评页面

SunZehao преди 2 години
родител
ревизия
4a61927f15

+ 10 - 1
src/App.vue

@@ -41,8 +41,17 @@ export default {
 }
 </script>
 
-<style>
+<style lang="less">
 @import "./assets/css/main.css";
+.el-overlay{
+    .el-dialog{
+        .el-dialog__header{
+            .el-dialog__title{
+                font-size: 14px;
+            }
+        }
+    }
+}
 /* @import "./assets/css/color-dark.css"; */
 #app{
     /* background: #184FB4; */

BIN
src/assets/btnIcon/saveW.png


+ 26 - 10
src/components/assessment/evaluationStartPage.vue

@@ -3,21 +3,22 @@
         <div class="evaluationStartBtn">
             <div class="collectSeach">
                 <div class="exceed">
-                    <span class="exceedSpan">编号:</span>
-                    <el-input v-model="usernames" placeholder="请输入业务编号"></el-input>
+                    <span class="exceedSpan">业务编号:</span>
+                    <el-input v-model="rescode" placeholder="请输入业务编号"></el-input>
                 </div>
                 <div class="exceed">
-                    <span class="exceedSpan">单位:</span>
-                    <el-input v-model="usernames" placeholder="请输入单位"></el-input>
+                    <span class="exceedSpan">业务简述:</span>
+                    <el-input v-model="resDes" placeholder="请输入业务简述"></el-input>
                 </div>
                 <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="reset">重置</el-button>
+                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
             </div>
             <div class="PeriodBtn">
                 <btns
                 :showImport="false"
                 :showSave="false"
                 :disDelete="deleteSelect.length === 0"
+                :disExport="true"
                 @handleAdd="handleAdd"
                 @handleDelete="handleDelete"
                 @handleExport="handleExport"
@@ -79,7 +80,8 @@
                                 v-for="item in periodData"
                                 :key="item.keyValue"
                                 :label="item.keyName"
-                                :value="item.keyValue">
+                                :value="item.keyValue"
+                                :disabled="item.keyValue === 'YDKP' || item.keyValue === 'JDKP'">
                                 </el-option>
                             </el-select>
                         </el-form-item>
@@ -171,7 +173,9 @@ export default {
             organizationType: [],
             periodData: [],
             ruleDataAll: [],
-            isShowYear: true
+            isShowYear: true,
+            rescode: '',
+            resDes: ''
         }
     },
     created() {
@@ -190,11 +194,16 @@ export default {
     },
     methods:{
         // 查询列表页面
-        getevaluStartList() {
+        getevaluStartList(type) {
             let that = this
             let params = {
                 pageNum: that.page.currentPage,
-                pageSize: that.page.pagesize
+                pageSize: that.page.pagesize,
+                chechCycle: 'NDKP'
+            }
+            if (type) {
+                params.responsibilityCode = that.rescode
+                params.des = that.resDes
             }
             apiGetdeptresponsibilityList(params).then(datas =>{
                 if (datas && datas.data) {
@@ -300,6 +309,13 @@ export default {
         },
         getSeachData() {
             this.page.currentPage = 1
+            this.getevaluStartList('seach')
+        },
+        resetSeach() {
+            this.page.currentPage = 1
+            this.rescode = ''
+            this.resDes = ''
+            this.getevaluStartList()
         },
         handleSizeChange(val){
             this.page.pagesize = val
@@ -351,7 +367,7 @@ export default {
                 .exceed{
                     display: flex;
                     .exceedSpan{
-                        width: 70px;
+                        width: 100px;
                         height: 12px;
                         font-size: 14px;
                         font-family: Microsoft YaHei;

+ 361 - 0
src/components/assessment/monthQuarterFrom.vue

@@ -0,0 +1,361 @@
+<template>
+    <div class="startFrom">
+        <el-dialog title="月/季度考评详情" v-model="dialogVisible" width="80vw" :close-on-click-modal="false">
+            <div class="startDetail">
+                <p class="starttitleSty">单据信息:</p>
+                <el-row class="danjuMsg">
+                    <el-col :span="6">
+                        <div class="danjuMsg_data">
+                            <span class="data_tit">业务编号:</span>
+                            <span>{{receiptMsg.code}}</span>
+                        </div>
+                        <div class="danjuMsg_data">
+                            <span class="data_tit">创建日期:</span>
+                            <span>{{receiptMsg.createDate}}</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6">
+                        <div class="danjuMsg_data">
+                            <span class="data_tit">业务简述:</span>
+                            <span>{{receiptMsg.des}}</span>
+                        </div>
+                        <div class="danjuMsg_data">
+                            <span class="data_tit">业务类型:</span>
+                            <span>{{receiptMsg.type}}</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6">
+                        <div class="danjuMsg_data">
+                            <span class="data_tit">流程状态:</span>
+                            <span>{{receiptMsg.stage}}</span>
+                        </div>
+                        <div class="danjuMsg_data">
+                            <span class="data_tit">年度:</span>
+                            <span>{{receiptMsg.year}}</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6">
+                        <div class="danjuMsg_data">
+                            <span class="data_tit">创建人:</span>
+                            <span>{{receiptMsg.creator}}</span>
+                        </div>
+                        <div class="danjuMsg_data">
+                            <span class="data_tit">单据状态:</span>
+                            <span>{{receiptMsg.recStage}}</span>
+                        </div>
+                    </el-col>
+                </el-row>
+                <div class="detaTableBtns">
+                    <div class="tableBtn add">
+                        <img :src="addIcon" alt="">
+                        <span>新增</span>
+                    </div>
+                    <div class="tableBtn save" @click="saveDetail">
+                        <img :src="saveIcon" alt="">
+                        <span>保存</span>
+                    </div>
+                    <!-- <div class="tableBtn edit">
+                        <img :src="editIcon" alt="">
+                        <span>新增</span>
+                    </div> -->
+                    <div class="tableBtn delete">
+                        <img :src="deleteIcon" alt="">
+                        <span>删除</span>
+                    </div>
+                </div>
+                <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
+                    <el-tab-pane label="考评指标项内容" name="first">
+                        <el-table :data="quantifiedList" style="width: 100%" @select="rowClick" @select-all="rowClick">
+                            <el-table-column type="selection" label="操作" align="center"></el-table-column>
+                            <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="optionName" /> -->
+                            <el-table-column label="计划值">
+                                <template #default="scope">
+                                    <el-input-number v-model="scope.row.quantifiedValue" :precision="2" :step="0.1" :min="1" />
+                                </template>
+                            </el-table-column>
+                            <el-table-column label="单位" prop="unit" />
+                        </el-table>
+                    </el-tab-pane>
+                    <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="optionName" /> -->
+                            <el-table-column label="计划值">
+                                <template #default="scope">
+                                    <el-input v-model="scope.row.nonQuantifiedValue" />
+                                </template>
+                            </el-table-column>
+                        </el-table>
+                    </el-tab-pane>
+                </el-tabs>
+                
+            </div>
+            <template #footer>
+                <span class="dialog-footer">
+                    <el-button type="primary" @click="dialogVisible = false">取 消</el-button>
+                </span>
+            </template>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+import {apiGetdeptresponDetail,apiGetindicatorsaveBatchDto} from '../../api/api'
+import addIcon from '../../assets/btnIcon/add.png'
+import saveIcon from '../../assets/btnIcon/save.png'
+import editIcon from '../../assets/btnIcon/edit.png'
+import deleteIcon from '../../assets/btnIcon/delete.png'
+export default {
+    data() {
+        return {
+            dialogVisible: false,
+            activeName: 'first',
+            quantifiedList: [],
+            nonQuantifiedList: [],
+            changeDateSelect: [],
+            receiptMsg: {
+                code: '',
+                des: '',
+                stage: '',
+                creator: '',
+                createDate: '',
+                type: '',
+                year: '',
+                recStage: ''
+            },
+            addIcon: addIcon,
+            saveIcon: saveIcon,
+            editIcon: editIcon,
+            deleteIcon: deleteIcon,
+            rowMsg: {}
+        }
+    },
+    created() {
+    },
+    methods: {
+        init(row) {
+            this.dialogVisible = true
+            this.activeName = 'first'
+            this.receiptMsg = {
+                code: row.responsibilityCode,
+                des: row.des,
+                stage: row.stage,
+                creator: row.createBy,
+                createDate: row.createTime,
+                type: row.organizationType,
+                year: row.year,
+                recStage: '有效'
+            }
+            this.getDetails(row.id)
+            this.rowMsg = row
+        },
+        handleClick() {
+            this.changeDateSelect = []
+        },
+        rowClick(selection, row) {
+            this.changeDateSelect = selection
+        },
+        //获取详情
+        getDetails(id) {
+            let that = this
+            let params = {
+                deptResponsibilityIds: id
+            }
+            apiGetdeptresponDetail(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.quantifiedList = datas.data.quantifiedList
+                    that.nonQuantifiedList = datas.data.nonQuantifiedList
+                }
+            })
+        },
+        saveDetail() {
+            let that = this
+            let params = []
+            if (that.activeName === 'first') {
+                that.quantifiedList.forEach(item =>{
+                    let obj = {
+                        id: item.id,
+                        isQuantified: '是',
+                        quantifiedValue: item.quantifiedValue
+                    }
+                    params.push(obj)
+                })
+            } else {
+                that.nonQuantifiedList.forEach(item =>{
+                    let obj = {
+                        id: item.id,
+                        isQuantified: '否',
+                        nonQuantifiedValue: item.nonQuantifiedValue
+                    }
+                    params.push(obj)
+                })
+            }
+            apiGetindicatorsaveBatchDto(params).then(datas =>{
+                if (datas && datas.success) {
+                    that.$message({
+                        message: '保存成功',
+                        type: 'success'
+                    });
+                    that.getDetails(that.rowMsg.id)
+                }
+            })
+        }
+    }
+}
+</script>
+
+<style lang="less">
+.startFrom{
+    .el-overlay{
+        .el-dialog{
+            margin-top: 7vh;
+            .el-dialog__body{
+                padding: 0 20px !important;
+                .startDetail{
+                    .starttitleSty{
+                        font-size: 18px;
+                        font-family: Microsoft YaHei;
+                        font-weight: bold;
+                        color: #3B7AD1;
+                        // line-height: 12px;
+                        margin: 20px 0 20px 10px;
+                    }
+                    .danjuMsg{
+                        border: 1px solid #D6DBEA;
+                        padding: 10px 20px;
+                        border-radius: 10px;
+                        margin-bottom: 20px;
+                        .danjuMsg_data{
+                            padding: 5px 0 10px 0;
+                            .data_tit{
+                                margin-right: 10px;
+                                font-weight: bold;
+                                font-size: 14px;
+                                font-family: Microsoft YaHei;
+                                color: #8991B0;
+                            }
+                            .data_tit_wd{
+                                display: inline-block;
+                                width: 90px;
+                            }
+                            .el-form-item--small{
+                                .el-input{
+                                    height: 25px;
+                                    width: 160px;
+                                }
+                                margin-bottom: 0;
+                                .el-input-number{
+                                    height: 25px;
+                                    .el-input-number__decrease, .el-input-number__increase{
+                                        right: -39px;
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    .el-select, .el-input{
+                        width: 100%;
+                    }
+                    .detaTableBtns{
+                        display: flex;
+                        width: 500px;
+                        position: relative;
+                        top: 32px;
+                        left: 66vw;
+                        z-index: 11111;
+                        .tableBtn {
+                            display: flex;
+                            margin-right: 30px;
+                            img{
+                                margin-right: 5px;
+                                margin-top: 1px;
+                            }
+                            span{
+                                font-size: 14px;
+                                font-family: Microsoft YaHei;
+                                font-weight: 400;
+                            }
+                        }
+                        .add{
+                            cursor: no-drop;
+                            span{
+                                color: #3B7AD1;
+                            }
+                        }
+                        .save{
+                            cursor: pointer;
+                            span{
+                                color: #50C14E;
+                            }
+                        }
+                        .edit{
+                            span{
+                                color: #F5A623;
+                            }
+                        }
+                        .delete{
+                            cursor: no-drop;
+                            span{
+                                color: #F65177;
+                            }
+                        }
+                    }
+                    .el-tabs{
+                        .el-tabs__header{
+                            .el-tabs__nav{
+                                .el-tabs__item{
+                                    font-size: 18px;
+                                    font-family: Microsoft YaHei;
+                                    font-weight: bold;
+                                    margin: 0 10px;                                    
+                                    color: #8991B0;
+                                }
+                                .is-active{
+                                    font-size: 18px;
+                                    font-family: Microsoft YaHei;
+                                    font-weight: bold;
+                                    color: #3B7AD1;
+                                    margin: 0 10px;
+                                }
+                            }
+                        }
+                        
+                        .el-table{
+                            .el-table__body-wrapper{
+                                height: 40vh;
+                            }
+                            .el-table__row{
+                                .cell{
+                                    .el-input{
+                                        height: 24px;
+                                        .el-input__inner{
+                                            height: 24px;
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            .el-dialog__footer{
+                .dialog-footer{
+                    text-align: center;
+                }
+            }
+        }
+    }
+    
+}
+</style>

+ 334 - 138
src/components/assessment/monthQuarterPage.vue

@@ -1,66 +1,54 @@
 <template>
     <div class="monthQuarter">
         <div class="monthQuarterBtn">
-            <p class="titleSty">月/季度考评</p>
             <div class="collectSeach">
                 <div class="exceed">
                     <span class="exceedSpan">业务编号:</span>
-                    <el-input v-model="usernames" placeholder="请输入业务编号"></el-input>
+                    <el-input v-model="rescode" placeholder="请输入业务编号"></el-input>
                 </div>
                 <div class="exceed">
-                    <span class="exceedSpan">流程状态:</span>
-                    <el-input v-model="usernames" placeholder="请输入流程状态"></el-input>
+                    <span class="exceedSpan">业务简述:</span>
+                    <el-input v-model="resDes" placeholder="请输入业务简述"></el-input>
                 </div>
                 <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="reset">重置</el-button>
+                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
             </div>
-            <div style="display:flex;justify-content: space-between;padding: 10px;">
-                <el-row :gutter="10" class="PeriodBtn">
-                    <el-col :span="1.5">
-                        <el-col :span="1.5">
-                            <el-button
-                            type="primary"
-                            plain
-                            icon="Plus"
-                            size="mini"
-                            @click="handleAdd"
-                            >新增</el-button>
-                        </el-col>
-                        <el-button
-                        type="danger"
-                        plain
-                        icon="Delete"
-                        size="mini"
-                        :disabled="deleteSelect.length === 0"
-                        @click="handleDelete"
-                        >批量删除</el-button>
-                    </el-col>
-                    <el-col :span="1.5">
-                        <el-button
-                            type="warning"
-                            plain
-                            icon="Download"
-                            size="mini"
-                            @click="handleExport"
-                        >导出</el-button>
-                    </el-col>
-                </el-row>
+            <div class="PeriodBtn">
+                <btns
+                :showImport="false"
+                :showSave="false"
+                :disDelete="deleteSelect.length === 0"
+                :disExport="true"
+                @handleAdd="handleAdd"
+                @handleDelete="handleDelete"
+                @handleExport="handleExport"
+                ></btns>
             </div>
             <div class="monthQuarterTableData">
-                <el-table :data="monthQuarterData" border style="width: 100%" @select="rowClick" @select-all="allSelect">
+                <el-table :data="monthQuarterData" style="width: 100%" @select="rowClick" @select-all="allSelect">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
-                    <el-table-column label="业务编号" prop="create_time" />
-                    <el-table-column label="考评单位" prop="create_by" />
-                    <el-table-column label="业务类别" prop="indicator_id" />
-                    <el-table-column label="考评纬度" prop="total_score" />
-                    <el-table-column label="流程状态" prop="desc" />
-                    <el-table-column label="业务简述" prop="update_time" />
-                    <el-table-column label="填报日期" prop="update_by" />
-                    <el-table-column label="考评总分" prop="evaluate_formula" />
-                    <el-table-column label="考评排名" prop="evaluate_method" />
+                    <el-table-column label="业务编号" prop="responsibilityCode" width="300" />
+                    <el-table-column label="考评单位" prop="organizationName" width="330" />
+                    <el-table-column label="业务类别">
+                        <template #default="scope">
+                            <span v-if="scope.row.checkCycle === 'YDKP'" style="font-size: 12px;">月度考评</span>
+                            <span v-else-if="scope.row.checkCycle === 'JDKP'" style="font-size: 12px;">季度考评</span>
+                            <span v-else style="font-size: 12px;">年度考评</span>
+                        </template>
+                    </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="des" />
+                    <!-- <el-table-column label="综合得分" prop="checkCycle" /> -->
+                    <el-table-column label="考核开始时间" prop="beginDate" />
+                    <el-table-column label="考核截止时间" prop="endDate" />
+                    <!-- <el-table-column label="考评排名" prop="beginDate" />
+                    <el-table-column label="考评评级" prop="endDate" /> -->
                     <el-table-column label="操作">
                         <template #default="scope">
-                            <p class="indicitem" @click="editRuleDetail(scope.row)">详情</p>
+                            <p class="indicitem" v-if="scope.row.stage === '流程未启动'" @click="agetdeptresponsibility(scope.row)">启动</p>
+                            <p class="indicitem" v-else @click="getDetail(scope.row)">详情</p>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -73,33 +61,81 @@
                     :total="page.total">
                 </el-pagination>
             </div>
-            <el-dialog :title="title" v-model="dialogVisible" width="1400px" :close-on-click-modal="false">
-                <!-- <start-from-list></start-from-list> -->
+            <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="organizationType">
+                            <el-select v-model="ruleForm.organizationType" placeholder="请选择考评类别" @change="(val)=>chooseRule(val,'类别')">
+                                <el-option
+                                v-for="item in organizationType"
+                                :key="item.code"
+                                :label="item.label"
+                                :value="item.code">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>                            
+                        <el-form-item label="考评周期" prop="evaluationCycle">
+                            <el-select v-model="ruleForm.evaluationCycle" placeholder="请选择考评周期" @change="(val)=>chooseRule(val,'周期')">
+                                <el-option
+                                v-for="item in periodData"
+                                :key="item.keyValue"
+                                :label="item.keyName"
+                                :value="item.keyValue"
+                                :disabled="item.keyValue === 'NDKP'">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <!-- <el-form-item label="考评规则" prop="evaluateRule">
+                            <el-select v-model="ruleForm.evaluateRule"  placeholder="请选择考评规则">
+                                <el-option
+                                v-for="item in ruleDataAll"
+                                :key="item.id"
+                                :label="item.evaluateRuleName"
+                                :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="月份" v-if="!isShowYear">
+                            <el-input-number v-model="ruleForm.month" :min="1" :max="12" />
+                        </el-form-item>
+                        <el-form-item label="描述" prop="desc">
+                            <el-input v-model="ruleForm.desc" :rows="5" type="textarea" placeholder="请输入描述"></el-input>
+                        </el-form-item>
+                    </el-form>
+                </div>
                 <template #footer>
                     <span class="dialog-footer">
-                        <el-button type="primary" plain>发 布</el-button>
-                        <el-button type="warning" plain>保 存</el-button>
-                        <el-button >流 程</el-button>
-                        <el-button type="success" plain>导 出</el-button>
+                        <el-button @click="dialogVisible = false">取 消</el-button>
+                        <el-button type="primary" @click="saveevaluaStart('ruleForm')">确 定</el-button>
                     </span>
                 </template>
             </el-dialog>
         </div>
+        <start-from-list ref="startFromDetail"></start-from-list>
     </div>
 </template>
 
 <script>
-// import startFromList from './monthQuarterFrom.vue'
-import {apiGetAssessmentList, apiGetdeleteStandardPointManagement} from '../../api/api'
+import startFromList from './monthQuarterFrom.vue'
+import btns from '../elbuttonS.vue'
+import {apiGetdeptresponsibilityList, apiGetdeptresponsibilitySave,apiGetdeptresponsibilitygenerate, apiGetdatadictionaryList} from '../../api/api'
 export default {
     components: {
-        // startFromList
+        startFromList,
+        btns
     },
     data() {
         return {
             dialogVisible: false,
             title: '',
-
             windframradio: {},
             deleteSelect: [],
             changeDateSelect: [],
@@ -108,31 +144,186 @@ export default {
                 pagesize: 12,
                 currentPage: 1,
                 total: 0
-            }
+            },
+            ruleForm: {
+                organizationType: '',
+                evaluationCycle: '',
+                evaluateRule: '',
+                year: '',
+                month: 0,
+                desc: ''
+            },
+            rules: {
+                organizationType: [
+                    { required: true, message: '请选择考评类别', trigger: 'change' }
+                ],
+                evaluationCycle: [
+                    { required: true, message: '请选择考评周期', trigger: 'blur' }
+                ],
+                evaluateRule: [
+                    { required: true, message: '请选择考评规则', trigger: 'change' }
+                ],
+                year: [
+                    { required: true, message: '请选择年份', trigger: 'change' }
+                ],
+                desc: [
+                    { required: true, message: '请输入描述', trigger: 'blur' }
+                ]
+            },
+            organizationType: [],
+            periodData: [],
+            ruleDataAll: [],
+            isShowYear: true,
+            rescode: '',
+            resDes: ''
         }
     },
     created() {
-        this.getmonthQuarterData()
+        this.organizationType = [
+            {
+                label: '单位考评',
+                code: 'DWKP'
+            },
+            {
+                label: '部门考评',
+                code: 'BMKP'
+            }
+        ]
+        this.getevaluStartList()
+        this.getPeriodData()
     },
     methods:{
-        //获取月/季度考评列表
-        getmonthQuarterData() {
+        // 查询列表页面
+        getevaluStartList(type) {
+            let that = this
+            let params = {
+                pageNum: that.page.currentPage,
+                pageSize: that.page.pagesize,
+                chechCycle: 'YDKP,JDKP'
+            }
+            if (type) {
+                params.responsibilityCode = that.rescode
+                params.des = that.resDes
+            }
+            apiGetdeptresponsibilityList(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.monthQuarterData = datas.data.records
+                    that.page.total = datas.data.total
+                }
+            })
+        },
+        //考评周期
+        getPeriodData() {
+            let that = this
+            let params = {
+                superKey: 'KPZQ0001'
+            }
+            apiGetdatadictionaryList(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.periodData = datas.data
+                }
+            })
+        },
+        chooseRule(val, type) {
+            if (type === '周期') {
+                if (val === 'YDKP' || val === 'JDKP') {
+                    this.isShowYear = false
+                } else {
+                    this.isShowYear = true
+                }
+            }
+        },
+        saveevaluaStart(formName) {
+            let that = this
+            that.$refs[formName].validate((valid) => {
+                if (valid) {
+                    that.saveAndEditIndicatorData()
+                }
+            });
+        },
+        //新增/修改考评启动数据
+        saveAndEditIndicatorData() {
+            let that = this
+            let params = {
+                organizationType: that.ruleForm.organizationType,
+                checkCycle: that.ruleForm.evaluationCycle,
+                // organizationEvaluationRuleId: that.ruleForm.evaluateRule,
+                year: that.ruleForm.year,
+                des: that.ruleForm.desc
+            }
+            if (that.isSave) {
+                params.id = this.evalradio.id
+            }
+            if (!that.isShowYear) {
+                params.month = that.ruleForm.month
+            }
+            apiGetdeptresponsibilitySave(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.getevaluStartList()
+                }
+            })
+        },
+        agetdeptresponsibility(row) {
             let that = this
-            let params = {}
-            apiGetAssessmentList(params).then(datas =>{
-                if (datas) {
-                    that.monthQuarterData = datas
+            let params = {
+                responsibilityIds: row.id
+            }
+            apiGetdeptresponsibilitygenerate(params).then(datas =>{
+                if (datas && datas.data) {
+                    if (!datas.success) {
+                        that.$message({
+                            message: datas.message,
+                            type: 'error'
+                        });
+                    } else {
+                        that.$message({
+                            message: '考评规则已启动',
+                            type: 'success'
+                        });
+                        
+                    }
                 }
             })
         },
+        //明细
+        getDetail(row) {
+            this.$refs.startFromDetail.init(row)
+        },
         getSeachData() {
             this.page.currentPage = 1
+            this.getevaluStartList('seach')
+        },
+        resetSeach() {
+            this.page.currentPage = 1
+            this.rescode = ''
+            this.resDes = ''
+            this.getevaluStartList()
         },
         handleSizeChange(val){
             this.page.pagesize = val
+            this.getevaluStartList()
         },
         handleCurrentChange(val){
             this.page.currentPage =val
+            this.getevaluStartList()
         },
         rowClick(selection, row) {
             this.windframradio = {}
@@ -168,23 +359,38 @@ export default {
 
 <style lang="less">
 .monthQuarter{
-  .monthQuarterBtn{
-    //   background: #fff;
-      padding: 10px 20px 0 20px;
-      .collectSeach{
-          display: flex;
-          margin: 20px 20px 10px;
-            .exceed{
+    .monthQuarterBtn{
+        .collectSeach{
                 display: flex;
-                margin-right: 10px;
-                .exceedSpan{
-                    margin-top: 3px;
-                    display: inline-block;
-                    width: 100px;
+                padding: 24px 20px;
+                border-bottom: 1px solid#D6DBEA;
+                .exceed{
+                    display: flex;
+                    .exceedSpan{
+                        width: 100px;
+                        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;
+                        height: 40px;
+                        .el-input__inner{
+                            height:40px;
+                        }
+                        .el-input__suffix{
+                            .el-select__caret{
+                                line-height:30px;
+                            }
+                        }
+                    }
                 }
-                .el-input{
+                .el-select{
                     margin-right:10px;
-                    height: 30px;
                     .el-input__inner{
                         height:30px;
                     }
@@ -194,73 +400,63 @@ export default {
                         }
                     }
                 }
+        }
+        span{
+            font-size:14px;
+        }
+        .PeriodBtn{
+            display: flex;
+                justify-content: end;
+                padding: 20px 0;
+        }
+        .el-button{
+            height: 30px;
+            // width:100px;
+            padding: 0 20px ;
+            // padding-top: 8px;
+            span{
+                margin:0;
             }
-            .el-select{
-                margin-right:10px;
+        }
+        .monthQuarterTableData{
+            .el-table{
+                .el-table__body-wrapper{
+                    height: 64vh !important;
+                }
                 .el-input__inner{
-                    height:30px;
+                    height: 30px !important;
                 }
-                .el-input__suffix{
-                    .el-select__caret{
-                        line-height:30px;
+                .el-radio__label{
+                    display: none;
+                }
+                .indicitem{
+                    color: #409EFF;
+                    font-size: 12px;
+                    margin-right: 20px;
+                    cursor:pointer;
+                    &:hover{
+                        text-decoration: underline;
                     }
                 }
             }
-      }
-      .titleSty{
-          border-left: 4px solid #007aab;
-          padding-left: 5px;
-          font-size: 16px;
-          font-weight: bold;
-          font-family: '微软雅黑';
-          margin-left:20px;
-      }
-      span{
-          font-size:14px;
-      }
-      .PeriodBtn{
-          padding-left: 10px;
-      }
-      .el-button{
-          height: 30px;
-          // width:100px;
-          padding: 0 20px ;
-          // padding-top: 8px;
-          span{
-              margin:0;
-          }
-      }
-  }
-  .monthQuarterTableData{
-    padding: 10px 20px;
-    .el-table{
-        .el-table__body-wrapper{
-            .el-table__empty-block{
-            height: 64vh !important;
+            .el-pagination{
+                margin-top: 20px;
+                text-align: end;
+                position: relative;
             }
         }
-        .el-input__inner{
-            height: 30px !important;
-        }
-        .el-radio__label{
-            display: none;
-        }
-    }
-    .el-pagination{
-        margin-top: 20px;
-        text-align: end;
-        position: relative;
-    }
-    }
-    .el-overlay{
-        .el-dialog{
-            margin-top: 10vh;
-            .el-dialog__body{
-                padding: 0px 60px 20px 20px !important;
-            }
-            .el-dialog__footer{
-                .dialog-footer{
-                    text-align: center;
+        .el-overlay{
+            .el-dialog{
+                .el-dialog__body{
+                    padding: 30px 60px 30px 20px !important;
+                    .periodFrom{
+                        .el-select, .el-input{
+                            width: 100%;
+                        }
+                        .el-input{
+                            height: 30px;
+                        }
+                    }
                 }
             }
         }

+ 21 - 10
src/components/evaluationSystem/IndicatorItemPage.vue

@@ -8,19 +8,23 @@
                             <el-col :span="1.5">
                                 <el-button
                                 type="primary"
-                                icon="Plus"
                                 size="mini"
                                 :disabled="!isChild"
                                 @click="handleAdd"
-                                >新增</el-button>
+                                >
+                                <img :src="addW" style="margin-right: 10px">
+                                <span>新增</span>
+                                </el-button>
                             </el-col>
                             <el-col :span="1.5">
                                 <el-button
                                 type="success"
-                                icon="Edit"
                                 size="mini"
                                 @click="handleSave"
-                                >保存</el-button>
+                                >
+                                <img :src="saveW" style="margin-right: 10px">
+                                <span>保存</span>
+                                </el-button>
                             </el-col>
                         </el-row>
                     </div>
@@ -98,10 +102,14 @@
 </template>
 
 <script>
+import addW from '../../assets/btnIcon/addW.png'
+import saveW from '../../assets/btnIcon/saveW.png'
 import {apiGetIndicatordictionaryList, apiGetdataZBXList,apiGetindicatorselectByCode, apiGetIndicatordicsaveList, apiGetIndicatordicdeleteList} from '../../api/api'
 export default {
     data() {
         return {
+            addW: addW,
+            saveW: saveW,
             editEvaluaVisible: false,
             isSave: false,
             changeDateSelect: [],
@@ -306,12 +314,15 @@ export default {
                             display: flex;
                             justify-content: end;
                             padding: 20px 0;
-                        }
-                        .el-button{
-                            height: 30px;
-                            padding: 0 30px ;
-                            span{
-                                margin:0;
+                            .el-button{
+                                height: 30px;
+                                padding: 0 30px ;
+                                span{
+                                    margin:0;
+                                }
+                            }
+                            .is-disabled{
+                                opacity: 0.5;
                             }
                         }
                     }

+ 35 - 17
src/components/evaluationSystem/ruleDetailPage.vue

@@ -16,36 +16,41 @@
                             <el-col :span="1.5">
                                 <el-button
                                 type="primary"
-                                icon="Plus"
                                 size="mini"
                                 @click="handleAdd"
-                                >新增</el-button>
+                                >
+                                <img :src="addW" style="margin-right: 10px">
+                                <span>新增</span>
+                                </el-button>
                             </el-col>
                             <el-col :span="1.5">
                                 <el-button
                                 type="success"
-                                icon="Edit"
                                 size="mini"
                                 @click="handleEdit"
                                 :disabled="changeDateSelect.length === 0 || changeDateSelect.length>1"
-                                >修改</el-button>
+                                >
+                                <img :src="editW" style="margin-right: 10px">
+                                <span>修改</span>
+                                </el-button>
                             </el-col>
                             <el-col :span="1.5">
                                 <el-button
                                 type="danger"
-                                icon="Delete"
                                 size="mini"
                                 :disabled="changeDateSelect.length === 0"
                                 @click="handleDelete"
-                                >批量删除</el-button>
+                                >
+                                <img :src="deleteW" style="margin-right: 10px">
+                                <span>删除</span>
+                                </el-button>
                             </el-col>
                         </el-row>
                     </div>
                     <div class="ruleItemTableData">
                         <el-table :data="ruleDetailData" style="width: 100%" @select="rowClick" @select-all="rowClick">
                             <el-table-column type="selection" label="操作" align="center"></el-table-column>
-                            <el-table-column label="指标ID" prop="indicatorId" />
-                            <el-table-column label="考评规则id" prop="evaluateRuleId" />
+                            <el-table-column label="指标名称" prop="indicatorName" />
                             <el-table-column label="创建者" prop="createBy" />
                             <el-table-column label="创建时间" prop="createTime" />
                             <el-table-column label="描述">
@@ -100,10 +105,16 @@
 </template>
 
 <script>
+import addW from '../../assets/btnIcon/addW.png'
+import editW from '../../assets/btnIcon/editW.png'
+import deleteW from '../../assets/btnIcon/deleteW.png'
 import {apiGetevaluateRuleinfoList, apiGetevaluateRuleInfoSaveList, apiGetevaluateRuleinfodeleteList, apiGetindicatorListAll} from '../../api/api'
 export default {
     data() {
         return {
+            addW: addW,
+            editW: editW,
+            deleteW: deleteW,
             editEvaluaVisible: false,
             isSave: false,
             changeDateSelect: [],
@@ -138,7 +149,7 @@ export default {
             this.indicItemoptions = []
             this.rowevalradio = row
             this.getruleDetailData(row)
-            this.getEvaluationData()
+            this.getEvaluationData(row)
         },
         // 查询规则详情数据
         getruleDetailData(row, type) {
@@ -157,9 +168,13 @@ export default {
             })
         },
         // 查询指标数据
-        getEvaluationData() {
+        getEvaluationData(row) {
             let that = this
-            apiGetindicatorListAll().then(datas =>{
+            let params = {
+                binSection: row.binSection,
+                binStage: row.binStage
+            }
+            apiGetindicatorListAll(params).then(datas =>{
                 if (datas && datas.data) {
                     that.indicItemoptions = datas.data
                 }
@@ -341,12 +356,15 @@ export default {
                             display: flex;
                             justify-content: end;
                             padding: 20px 0;
-                        }
-                        .el-button{
-                            height: 30px;
-                            padding: 0 30px ;
-                            span{
-                                margin:0;
+                            .el-button{
+                                height: 30px;
+                                padding: 0 30px ;
+                                span{
+                                    margin:0;
+                                }
+                            }
+                            .is-disabled{
+                                opacity: 0.5;
                             }
                         }
                     }

+ 21 - 6
src/components/knowledgePage/scoringRulesDetailPage.vue

@@ -8,28 +8,34 @@
                             <el-col :span="1.5">
                                 <el-button
                                 type="primary"
-                                icon="Plus"
                                 size="mini"
                                 @click="handleAdd"
-                                >新增</el-button>
+                                >
+                                <img :src="addW" style="margin-right: 10px">
+                                <span>新增</span>
+                                </el-button>
                             </el-col>
                             <el-col :span="1.5">
                                 <el-button
                                 type="success"
-                                icon="Edit"
                                 size="mini"
                                 @click="handleEdit"
                                 :disabled="changeDateSelect.length === 0 || changeDateSelect.length>1"
-                                >修改</el-button>
+                                >
+                                <img :src="editW" style="margin-right: 10px">
+                                <span>修改</span>
+                                </el-button>
                             </el-col>
                             <el-col :span="1.5">
                                 <el-button
                                 type="danger"
-                                icon="Delete"
                                 size="mini"
                                 :disabled="changeDateSelect.length === 0"
                                 @click="handleDelete"
-                                >批量删除</el-button>
+                                >
+                                <img :src="deleteW" style="margin-right: 10px">
+                                <span>删除</span>
+                                </el-button>
                             </el-col>
                         </el-row>
                     </div>
@@ -201,10 +207,16 @@
 </template>
 
 <script>
+import addW from '../../assets/btnIcon/addW.png'
+import editW from '../../assets/btnIcon/editW.png'
+import deleteW from '../../assets/btnIcon/deleteW.png'
 import {apiGetintervaltableList, apiGetindicatorselectByCode, apiGetintervalscoringsaveOrUpdate, apiGetintervalscoringRemove} from '../../api/api'
 export default {
     data() {
         return {
+            addW: addW,
+            editW: editW,
+            deleteW: deleteW,
             editEvaluaVisible: false,
             isSave: false,
             changeDateSelect: [],
@@ -677,6 +689,9 @@ export default {
                             display: flex;
                             justify-content: end;
                             padding: 20px 0;
+                            .is-disabled{
+                                opacity: 0.5;
+                            }
                         }
                     }
                     .rulesDetailTableData{

+ 19 - 27
src/views/homePage.vue

@@ -73,24 +73,16 @@ export default {
                 img: yewuImg,
                 children: [
                     {
-                        index: '',
-                        name: '考评总览'
-                    },
-                    {
                         index: '/assessment/evaluationStart',
-                        name: '考评启动',
+                        name: '考评目标启动',
                     },
                     {
-                        index: '',
-                        name: '考评修订'
+                        index: '/assessment/monthQuarter',
+                        name: '月/季度目标考评'
                     },
                     {
                         index: '',
-                        name: '考评目标分解'
-                    },
-                    {
-                        index: '/assessment/monthQuarter',
-                        name: '月/季度考评'
+                        name: '年度目标考评'
                     },
                     {
                         index: '',
@@ -102,10 +94,6 @@ export default {
                     },
                     {
                         index: '',
-                        name: '年度考评'
-                    },
-                    {
-                        index: '',
                         name: '人员考评'
                     },
                     {
@@ -130,7 +118,11 @@ export default {
                     },
                     {
                         index: '',
-                        name: '奖金及薪资总额调整'
+                        name: '单位考核结果应用'
+                    },
+                    {
+                        index: '',
+                        name: '部门考核结果应用'
                     }
                 ]
             },
@@ -149,7 +141,7 @@ export default {
                     },
                     {
                         index: '/evaluationSystem/company',
-                        name: '考评单位配置',
+                        name: '单位权重配置',
                     },
                     {
                         index: '/evaluationSystem/department',
@@ -159,6 +151,14 @@ export default {
                         index: '/evaluationSystem/personnel',
                         name: '考评人员配置',
                     },
+                    {
+                        index: '',
+                        name: '业绩考核系数配置',
+                    },
+                    {
+                        index: '',
+                        name: '党建考核系数配置',
+                    },
                 ]
             },
             {
@@ -180,19 +180,11 @@ export default {
             },
             {
                 index: '4',
-                name: '信息权限配置',
+                name: '基础信息配置',
                 img: quanxianImg,
                 children: [
                     {
                         index: '',
-                        name: '单位信息配置',
-                    },
-                    {
-                        index: '',
-                        name: '部门信息配置',
-                    },
-                    {
-                        index: '',
                         name: '人员权限配置',
                     },
                     {