Browse Source

问题优化;指标体系页面整改指标项配置管理;

SunZehao 2 years ago
parent
commit
2aa869a568

+ 13 - 4
src/api/api.js

@@ -68,17 +68,18 @@ export function apiGetIndicatorDelete(params) {
         method: 'post'
     })
 }
+
 //----"指标项-查询"
 export function apiGetIndicatordictionaryList(params) {
     return httpRequest({
-        url: 'indicator-dictionary/list',
+        url: 'indicator-dictionary/listGroup',
         method: 'get',
         params: params
     })
 }
 //----"指标项-保存/修改"
 export function apiGetIndicatordicsaveList(params) {
-    return httpRequest.post('indicator-dictionary/save', params)
+    return httpRequest.post('indicator-dictionary/saveBatch', params)
 }
 //----"指标项-删除"
 export function apiGetIndicatordicdeleteList(params) {
@@ -122,6 +123,13 @@ export function apiGetdataZBXList() {
         method: 'get'
     })
 }
+//---------"部门"
+export function apiGetdataBMList() {
+    return httpRequest({
+        url: 'data-dictionary/list?superKey=BM0001',
+        method: 'get'
+    })
+}
 //----考评规则详情-list
 export function apiGetevaluateRuleinfoList(params) {
     return httpRequest({
@@ -142,10 +150,11 @@ export function apiGetevaluateRuleinfodeleteList(params) {
     })
 }
 //----"规则详情中指标数据-list"
-export function apiGetindicatorListAll() {
+export function apiGetindicatorListAll(params) {
     return httpRequest({
         url: `indicator/listAll`,
-        method: 'get'
+        method: 'get',
+        params: params
     })
 }
 

+ 163 - 160
src/components/evaluationSystem/IndicatorItemPage.vue

@@ -3,14 +3,6 @@
         <el-dialog title="指标项配置管理" v-model="editEvaluaVisible" width="70vw" :close-on-click-modal="false">
             <div class="indicatorItemAll">
                 <div class="indicatorItemBtn">
-                    <div class="collectSeach">
-                        <div class="exceed">
-                            <span class="indicatorSpan">指标项:</span>
-                            <el-input v-model="indicItem" placeholder="请输入指标项名称"></el-input>
-                        </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 style="display:flex;justify-content: space-between;padding: 10px;">
                         <el-row :gutter="10" class="PeriodBtn">
                             <el-col :span="1.5">
@@ -28,70 +20,78 @@
                                 plain
                                 icon="Edit"
                                 size="mini"
-                                @click="handleEdit"
-                                :disabled="changeDateSelect.length === 0 || changeDateSelect.length>1"
-                                >修改</el-button>
-                            </el-col>
-                            <el-col :span="1.5">
-                                <el-button
-                                type="danger"
-                                plain
-                                icon="Delete"
-                                size="mini"
-                                :disabled="changeDateSelect.length === 0"
-                                @click="handleDelete"
-                                >批量删除</el-button>
+                                @click="handleSave"
+                                >保存</el-button>
                             </el-col>
                         </el-row>
                     </div>
                     <div class="indicatorItemTableData">
-                        <el-table :data="indicatoroptions" border style="width: 100%" @select="rowClick" @select-all="rowClick">
-                            <el-table-column type="selection" label="操作" align="center"></el-table-column>
-                            <el-table-column label="指标项名称" prop="optionName" />
-                            <el-table-column label="指标项编码" prop="optionCode" />
-                            <el-table-column label="创建者" prop="createBy" />
-                            <el-table-column label="创建时间" prop="createTime" />
-                            <el-table-column label="描述">
-                                <template #default="scope">
-                                    <span>{{scope.row.des}}</span>
-                                </template>
-                            </el-table-column>
-                        </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>
-                    <div class="onlyDialog">
-                        <el-dialog :title="title" v-model="dialogVisible" width="600px" :close-on-click-modal="false">
-                            <div class="periodFrom">
-                                <el-form :model="itemForm" :rules="rules" ref="itemForm" label-width="100px" :validate-on-rule-change="false">
-                                    <el-form-item label="指标项名称" prop="optionName">
-                                        <el-select v-model="itemForm.optionName" placeholder="请选择指标项名称">
-                                            <el-option
-                                            v-for="item in indicItemoptions"
-                                            :key="item.keyValue"
-                                            :label="item.keyName"
-                                            :value="item.keyValue">
-                                            </el-option>
-                                        </el-select>
-                                    </el-form-item>
-                                    <el-form-item label="描述">
-                                        <el-input v-model="itemForm.desc" :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="saveindicatorItemMsg('itemForm')">确 定</el-button>
-                                </span>
-                            </template>
-                        </el-dialog>
+                        <div class="datasMsg" v-if="indicatoroptions.length>0" >
+                            <el-collapse accordion>
+                                <el-collapse-item v-for="item in indicatoroptions" :key="item" :name="item.id">
+                                    <template #title>
+                                        <div style="display:flex;height:30px">
+                                            <div style="display:flex;height:30px">
+                                                <span class="nameTit">子指标名称:</span>
+                                                <el-input v-model="item.childName" v-if="!isSave" placeholder="请输入子指标项名称"></el-input>
+                                            </div>
+                                            <div style="display:flex">
+                                                <span class="nameTit">子指标编码:</span>
+                                                <el-input v-model="item.childCode" v-if="!isSave" placeholder="请输入子指标项编码"></el-input>
+                                            </div>
+                                        </div>
+                                    </template>
+                                    <div style="padding:10px 20px">
+                                        <el-row :gutter="10">
+                                            <el-col :span="1.5">
+                                                <el-button
+                                                style="margin-bottom:5px"
+                                                type="primary"
+                                                plain
+                                                icon="Plus"
+                                                size="mini"
+                                                @click="handleAddTableChild(item)"
+                                                >新增</el-button>
+                                            </el-col>
+                                        </el-row>
+                                        <el-table :data="item.list" :border="childBorder">
+                                            <el-table-column label="序号" type="index"  align="center" />
+                                            <el-table-column label="指标项名称" prop="optionName">
+                                                <template #default="scope">
+                                                    <el-select v-model="scope.row.optionName" v-if="!isSave" placeholder="请输入指标项名称" @change="(val)=>changeOptionName(val,scope.row)">
+                                                        <el-option
+                                                            v-for="item in indicItemoptions"
+                                                            :key="item.keyValue"
+                                                            :label="item.keyName"
+                                                            :value="item.keyName">
+                                                        </el-option>
+                                                    </el-select>
+                                                    <span v-else>{{scope.row.optionName}}</span>
+                                                </template>
+                                            </el-table-column>
+                                            <el-table-column label="指标项编码" prop="optionCode">
+                                                <template #default="scope">
+                                                    <span>{{scope.row.optionCode}}</span>
+                                                </template>
+                                            </el-table-column>
+                                            <el-table-column label="描述">
+                                                <template #default="scope">
+                                                    <el-input v-model="scope.row.des" :rows="1" type="textarea" placeholder="请输入描述"></el-input>
+                                                </template>
+                                            </el-table-column>
+                                            <el-table-column label="操作" width="100">
+                                                <template #default="scope">
+                                                    <p class="indicitem" @click="handleDelete(scope.row)">删除</p>
+                                                </template>
+                                            </el-table-column>
+                                        </el-table>
+                                    </div>
+                                </el-collapse-item>
+                            </el-collapse>
+                        </div>
+                        <div v-else>
+                            <span class="emptyData">暂无数据</span>
+                        </div>
                     </div>
                 </div>
             </div>
@@ -108,14 +108,21 @@ export default {
             isSave: false,
             changeDateSelect: [],
             indicatoroptions: [],
+            expends: [],
             indicItemoptions: [],
-            indicItem: '',
             evaluationIndexData:[],
             itemForm: {
-                optionName: '',
-                desc: ''
+                childName: '',
+                childCode: '',
+                list: [],
             },
             rules: {
+                cName: [
+                    { required: true, message: '请输入子指标名称', trigger: 'blur' }
+                ],
+                cCode: [
+                    { required: true, message: '请输入子指标编码', trigger: 'blur' }
+                ],
                 optionName: [
                     { required: true, message: '请选择指标名称', trigger: 'change' }
                 ]
@@ -126,8 +133,7 @@ export default {
                 total: 0
             },
             evalradio: {},
-            rowevalradio: {},
-            dialogVisible: false
+            rowevalradio: {}
         }
     },
     methods: {
@@ -157,6 +163,9 @@ export default {
                 }
             })
         },
+        getRowKeys(row) {
+            return row.id
+        },
         // 查询指标项条目
         getindicItemData() {
             let that = this
@@ -169,44 +178,42 @@ export default {
                 }
             })
         },
+        cellClick(row, column, cell, event) {
+
+        },
+        //新增子指标
         handleAdd() {
-            this.dialogVisible = true
             this.isSave = false
             this.title = '新增指标项管理'
             this.$nextTick(() =>{
-                this.itemForm = {
-                    optionName: '',
-                    desc: ''
+                let itemForm = {
+                    childName: '',
+                    childCode: '',
+                    list: [],
                 }
-                // this.$refs['itemForm'].resetFields()
+                this.indicatoroptions.push(itemForm)
             })
         },
-        handleEdit() {
-            this.dialogVisible = true
-            this.isSave = true
-            this.title = '修改指标项管理'
-            this.evalradio = this.changeDateSelect[0]
-            this.itemForm = {
-                optionName: this.evalradio.optionCode,
-                desc: this.evalradio.des
+        //新增子指标
+        handleAddTableChild(row) {
+            let childitemForm = {
+                indicatorId: this.rowevalradio.id,
+                optionName: '',
+                optionCode: ''
             }
+            row.list.push(childitemForm)
         },
-        saveindicatorItemMsg(formName) {
-            let that = this
-            that.$refs[formName].validate((valid) => {
-                if (valid) {
-                    that.saveAndEditIndicatorData()
+        changeOptionName(val, row) {
+            this.indicItemoptions.forEach(item =>{
+                if (item.keyName === val) {
+                    row.optionCode = item.keyValue
                 }
-            });
+            })
         },
         //新增/修改指标数据
-        saveAndEditIndicatorData() {
+        handleSave() {
             let that = this
-            let params = {
-                indicatorId: that.rowevalradio.id,
-                optionCode: that.itemForm.optionName,
-                des: that.itemForm.desc
-            }
+            let params = that.indicatoroptions
             if (that.isSave) {
                 params.id = this.evalradio.id
             }
@@ -222,22 +229,18 @@ export default {
                         type: 'success'
                     });
                 }
-                that.dialogVisible = false
                 that.getIndicatorItemData(that.rowevalradio)
             })
         },
         //删除指标数据
-        handleDelete() {
+        handleDelete(row) {
             this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
                 confirmButtonText: '确定',
                 cancelButtonText: '取消',
                 type: 'warning'
             }).then(() => {
                 let that = this
-                let paramsArr = []
-                that.changeDateSelect.forEach(it =>{
-                    paramsArr.push(it.id)
-                })
+                let paramsArr = [row.id]
                 apiGetIndicatordicdeleteList(paramsArr.join(',')).then(datas =>{
                     that.$message({
                         type: 'success',
@@ -251,15 +254,6 @@ export default {
         rowClick(selection, row) {
             this.changeDateSelect = selection
         },
-        getSeachData() {
-            this.page.currentPage = 1
-            this.getIndicatorItemData(this.rowevalradio, 'seach')
-        },
-        resetSeach() {
-            this.page.currentPage = 1
-            this.indicItem = ''
-            this.getIndicatorItemData(this.rowevalradio)
-        },
         handleSizeChange(val){
             this.page.pagesize = val
         },
@@ -283,40 +277,6 @@ export default {
                     }
                     .indicatorItemBtn{
                         padding: 10px 20px 0 20px;
-                        .collectSeach{
-                            display: flex;
-                            margin: 20px 20px 10px;
-                                .exceed{
-                                    display: flex;
-                                    .indicatorSpan{
-                                        margin-top: 3px;
-                                        width: 80px;
-                                        display: inline-block;
-                                    }
-                                    .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;
                         }
@@ -333,21 +293,64 @@ export default {
                     }
                     .indicatorItemTableData{
                         padding: 10px 20px;
-                        .el-table{
-                            .el-table__body-wrapper{
-                                height: 55vh !important;
-                            }
-                            .el-input__inner{
-                                height: 30px !important;
-                            }
-                            .el-radio__label{
-                                display: none;
+                        height: 55vh !important;
+                        .datasMsg{
+                            .el-collapse{
+                                .el-collapse-item{
+                                    .el-collapse-item__header{
+                                        .nameTit{
+                                            display: inline-block;
+                                            height: 20px;
+                                            font-size: 12px;
+                                            font-weight: bold;
+                                            position: relative;
+                                            top: -8px;
+                                        }
+                                        .el-input{
+                                            width: 150px;
+                                            margin-right: 10px;
+                                        }
+                                    }
+                                    .el-table{
+                                        .el-table__body-wrapper{
+                                        }
+                                        .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-button{
+                                        height: 26px;
+                                        padding: 0 15px ;
+                                        span{
+                                            margin:0;
+                                        }
+                                    }
+                                }
                             }
                         }
-                        .el-pagination{
-                            margin-top: 20px;
-                            text-align: end;
-                            position: relative;
+                        .emptyData{
+                            display: inline-block;
+                            width: 100%;
+                            // border: 1px solid #d9d9d9;
+                            text-align: center;
+                            margin-top: 50px;
                         }
                     }
                     .onlyDialog{

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

@@ -69,8 +69,8 @@
                     <el-table-column label="考评类别" prop="organizationType" />
                     <el-table-column label="考评周期" prop="evaluationCycle" />
                     <el-table-column label="考评规则ID" prop="evaluateRuleId" />
-                    <el-table-column label="业务版块" prop="binSectionName" />
                     <el-table-column label="业务阶段" prop="binStageName" />
+                    <el-table-column label="业务属性" prop="binSectionName" />
                     <el-table-column label="年" prop="year" />
                     <el-table-column label="月" prop="month" />
                     <el-table-column label="创建时间" prop="createTime" />
@@ -101,20 +101,20 @@
                                     </el-option>
                                 </el-select>
                             </el-form-item>
-                            <el-form-item label="业务版块">
-                                <el-select v-model="ruleForm.binSection" placeholder="请选择业务版块" disabled>
+                            <el-form-item label="业务阶段">
+                                <el-select v-model="ruleForm.binStage" placeholder="请选择业务阶段" disabled>
                                     <el-option
-                                    v-for="item in moduleData"
+                                    v-for="item in stageData"
                                     :key="item.keyValue"
                                     :label="item.keyName"
                                     :value="item.keyValue">
                                     </el-option>
                                 </el-select>
                             </el-form-item>
-                            <el-form-item label="业务阶段">
-                                <el-select v-model="ruleForm.binStage" placeholder="请选择业务阶段" disabled>
+                            <el-form-item label="业务属性">
+                                <el-select v-model="ruleForm.binSection" placeholder="请选择业务属性" disabled>
                                     <el-option
-                                    v-for="item in stageData"
+                                    v-for="item in moduleData"
                                     :key="item.keyValue"
                                     :label="item.keyName"
                                     :value="item.keyValue">
@@ -198,7 +198,7 @@ export default {
                     { required: true, message: '请选择考评规则', trigger: 'change' }
                 ],
                 binSection: [
-                    { required: true, message: '请选择业务版块', trigger: 'change' }
+                    { required: true, message: '请选择业务属性', trigger: 'change' }
                 ],
                 binStage: [
                     { required: true, message: '请输入业务阶段', trigger: 'change' }

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

@@ -69,8 +69,8 @@
                     <el-table-column label="考评类别" prop="organizationType" />
                     <el-table-column label="考评周期" prop="evaluationCycle" />
                     <el-table-column label="考评规则ID" prop="evaluateRuleId" />
-                    <el-table-column label="业务版块" prop="binSectionName" />
                     <el-table-column label="业务阶段" prop="binStageName" />
+                    <el-table-column label="业务属性" prop="binSectionName" />
                     <!-- <el-table-column label="年" prop="year" />
                     <el-table-column label="月" prop="month" /> -->
                     <el-table-column label="创建时间" prop="createTime" />
@@ -101,20 +101,20 @@
                                     </el-option>
                                 </el-select>
                             </el-form-item>
-                            <el-form-item label="业务版块">
-                                <el-select v-model="ruleForm.binSection" placeholder="请选择业务版块" disabled>
+                            <el-form-item label="业务阶段">
+                                <el-select v-model="ruleForm.binStage" placeholder="请选择业务阶段" disabled>
                                     <el-option
-                                    v-for="item in moduleData"
+                                    v-for="item in stageData"
                                     :key="item.keyValue"
                                     :label="item.keyName"
                                     :value="item.keyValue">
                                     </el-option>
                                 </el-select>
                             </el-form-item>
-                            <el-form-item label="业务阶段">
-                                <el-select v-model="ruleForm.binStage" placeholder="请选择业务阶段" disabled>
+                            <el-form-item label="业务属性">
+                                <el-select v-model="ruleForm.binSection" placeholder="请选择业务属性" disabled>
                                     <el-option
-                                    v-for="item in stageData"
+                                    v-for="item in moduleData"
                                     :key="item.keyValue"
                                     :label="item.keyName"
                                     :value="item.keyValue">
@@ -188,7 +188,7 @@ export default {
                     { required: true, message: '请选择考评规则', trigger: 'change' }
                 ],
                 binSection: [
-                    { required: true, message: '请选择业务版块', trigger: 'change' }
+                    { required: true, message: '请选择业务属性', trigger: 'change' }
                 ],
                 binStage: [
                     { required: true, message: '请输入业务阶段', trigger: 'change' }

+ 44 - 26
src/components/evaluationSystem/evaluationIndexPage.vue

@@ -68,12 +68,13 @@
                     <el-table-column label="指标名称" prop="indicatorName" />
                     <el-table-column label="指标编码" prop="indicatorCode" />
                     <el-table-column label="指标单位" prop="unit" />
-                    <el-table-column label="业务板块" prop="binSectionName" />
                     <el-table-column label="业务阶段" prop="binStageName" />
-                    <!-- <el-table-column label="公司" prop="company" />
-                    <el-table-column label="部门" prop="dept" /> -->
+                    <el-table-column label="业务属性" prop="binSectionName" />
+                    <!-- <el-table-column label="公司" prop="company" /> -->
+                    <el-table-column label="部门" prop="dept" />
                     <el-table-column label="是否专项" prop="isAdditional" />
                     <el-table-column label="是否量化" prop="isQuantified" />
+                    <el-table-column label="是否组合" prop="isChild" />
                     <el-table-column label="描述">
                         <template #default="scope">
                             <span>{{scope.row.des}}</span>
@@ -107,13 +108,13 @@
                             <el-form-item label="指标单位" prop="indicatorUnit">
                                 <el-input v-model="ruleForm.indicatorUnit" placeholder="请输入指标单位"></el-input>
                             </el-form-item>
-                            <el-form-item label="业务模块" prop="binSection">
-                                <el-select v-model="ruleForm.binSection" placeholder="请选择业务模块">
+                            <el-form-item label="所属部门" prop="department">
+                                <el-select v-model="ruleForm.department" placeholder="请选择所属部门">
                                     <el-option
-                                    v-for="item in moduleData"
-                                    :key="item.keyValue"
+                                    v-for="item in departData"
+                                    :key="item.dataKey"
                                     :label="item.keyName"
-                                    :value="item.keyValue">
+                                    :value="item.dataKey">
                                     </el-option>
                                 </el-select>
                             </el-form-item>
@@ -127,6 +128,16 @@
                                     </el-option>
                                 </el-select>
                             </el-form-item>
+                            <el-form-item label="业务属性" prop="binSection">
+                                <el-select v-model="ruleForm.binSection" placeholder="请选择业务属性">
+                                    <el-option
+                                    v-for="item in moduleData"
+                                    :key="item.keyValue"
+                                    :label="item.keyName"
+                                    :value="item.keyValue">
+                                    </el-option>
+                                </el-select>
+                            </el-form-item>
                             <el-form-item label="是否量化">
                                 <el-radio-group v-model="ruleForm.isQuantified">
                                     <el-radio border label="是" />
@@ -139,6 +150,12 @@
                                     <el-radio border label="否" />
                                 </el-radio-group>
                             </el-form-item>
+                            <el-form-item label="是否子指标">
+                                <el-radio-group v-model="ruleForm.isChild">
+                                    <el-radio border label="是" />
+                                    <el-radio border label="否" />
+                                </el-radio-group>
+                            </el-form-item>
                             <el-form-item label="指标顺序" prop="orderNum">
                                 <el-input-number v-model="ruleForm.orderNum" :min="1" />
                             </el-form-item>
@@ -164,7 +181,8 @@
 <script>
 import importDailog from '../importPage/importDailog.vue'
 import indicatorItem from './IndicatorItemPage.vue'
-import {apiGetIndicatorList, apiGetIndicatorSave, apiGetIndicatorDelete, apiGetIndicatordictionaryList, apiGetdatadictionaryList} from '../../api/api'
+import {apiGetIndicatorList, apiGetIndicatorSave, apiGetIndicatorDelete,
+ apiGetIndicatordictionaryList, apiGetdatadictionaryList} from '../../api/api'
 export default {
   components: { importDailog, indicatorItem },
     data() {
@@ -173,19 +191,21 @@ export default {
             title: '',
             isSave: false,
             changeDateSelect: [],
-            indicatoroptions: [],
             indicatorIdS: '',
             evaluationIndexData:[],
             moduleData: [],
             stageData: [],
+            departData: [],
             ruleForm: {
                 indicatorName: '',
                 indicatorCode: '',
                 indicatorUnit: '',
+                department: '',
                 binSection: '',
                 binStage: '',
                 isQuantified: '否',
                 isAdditional: '否',
+                isChild: '否',
                 orderNum: 1,
                 desc: ''
             },
@@ -199,8 +219,11 @@ export default {
                 indicatorUnit: [
                     { required: true, message: '请输入指标单位', trigger: 'blur' }
                 ],
+                department: [
+                    { required: true, message: '请输入所属单位', trigger: 'blur' }
+                ],
                 binSection: [
-                    { required: true, message: '请选择业务模块', trigger: 'change' }
+                    { required: true, message: '请选择业务属性', trigger: 'change' }
                 ],
                 binStage: [
                     { required: true, message: '请输入业务阶段', trigger: 'change' }
@@ -223,9 +246,9 @@ export default {
     },
     created() {
         this.getEvaluationData()
-        this.getEvaluationOneData()
         this.getDataDictionary('MK0001') //模块
         this.getDataDictionary('JD0001') //阶段
+        this.getDataDictionary('BM0001') //部门
     },
     methods:{
         // 查询指标数据
@@ -245,19 +268,7 @@ export default {
                 }
             })
         },
-        // 查询指标项数据
-        getEvaluationOneData() {
-            let that = this
-            let params = {
-                pageNum: this.page.currentPage,
-                pageSize: this.page.pagesize,
-            }
-            apiGetIndicatordictionaryList(params).then(datas =>{
-                if (datas) {
-                    that.indicatoroptions = datas
-                }
-            })
-        },
+        // 查询部门
         // 查询规则模块和阶段数据
         getDataDictionary(val) {
             let that = this
@@ -268,8 +279,10 @@ export default {
                 if (datas && datas.data) {
                     if (val === 'MK0001') {
                         that.moduleData = datas.data
-                    } else {
+                    } else if(val === 'JD0001') {
                         that.stageData = datas.data
+                    } else {
+                        that.departData = datas.data
                     }
                 }
             })
@@ -284,10 +297,12 @@ export default {
                     indicatorName: '',
                     indicatorCode: '',
                     indicatorUnit: '',
+                    department: '',
                     binSection: '',
                     binStage: '',
                     isQuantified: '否',
                     isAdditional: '否',
+                    isChild: '否',
                     orderNum: 1,
                     desc: ''
                 }
@@ -302,6 +317,7 @@ export default {
                 indicatorName: this.evalradio.indicatorName,
                 indicatorCode: this.evalradio.indicatorCode,
                 indicatorUnit: this.evalradio.unit,
+                department: '',
                 binSection: this.evalradio.binSection,
                 binStage: this.evalradio.binStage,
                 isQuantified: this.evalradio.isQuantified,
@@ -325,10 +341,12 @@ export default {
                 indicatorName: that.ruleForm.indicatorName,
                 indicatorCode: that.ruleForm.indicatorCode,
                 unit: that.ruleForm.indicatorUnit,
+                dept: that.ruleForm.department,
                 binSection: that.ruleForm.binSection,
                 binStage: that.ruleForm.binStage,
                 isQuantified: that.ruleForm.isQuantified,
                 isAdditional: that.ruleForm.isAdditional,
+                isChild: that.ruleForm.isChild === '是'?true:false,
                 orderNum: that.ruleForm.orderNum,
                 des: that.ruleForm.desc
             }

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

@@ -143,7 +143,7 @@
                                 </el-select>
                             </el-form-item>
                             <el-form-item label="考评周期" prop="evaluationCycle">
-                                <el-select v-model="ruleForm.evaluationCycle" placeholder="请选择业务阶段">
+                                <el-select v-model="ruleForm.evaluationCycle" placeholder="请选择考评周期">
                                     <el-option
                                     v-for="item in periodData"
                                     :key="item.keyValue"

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

@@ -4,8 +4,8 @@
             <p class="titleSty">考评规则管理</p>
             <div class="collectSeach">
                 <div class="exceed">
-                    <span class="exceedSpan" style="margin-top: 3px;">业务板块:</span>
-                    <el-input v-model="moduleStr" placeholder="请输入业务板块"></el-input>
+                    <span class="exceedSpan" style="margin-top: 3px;">业务属性:</span>
+                    <el-input v-model="moduleStr" placeholder="请输入业务属性"></el-input>
                 </div>
                 <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
                 <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
@@ -66,8 +66,8 @@
                 <el-table :data="evaluationRuleData" border style="width: 100%" @select="rowClick" @select-all="rowClick">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
                     <el-table-column label="规则名称" prop="ruleName" />
-                    <el-table-column label="业务板块" prop="binSectionName" />
                     <el-table-column label="业务阶段" prop="binStageName" />
+                    <el-table-column label="业务属性" prop="binSectionName" />
                     <el-table-column label="创建者" prop="createBy" />
                     <el-table-column label="创建时间" prop="createTime" />
                     <el-table-column label="描述">
@@ -97,20 +97,20 @@
                             <el-form-item label="规则名称" prop="ruleName">
                                 <el-input v-model="ruleForm.ruleName" placeholder="请输入规则名称"></el-input>
                             </el-form-item>
-                            <el-form-item label="业务模块" prop="binSection">
-                                <el-select v-model="ruleForm.binSection" placeholder="请选择业务模块" :disabled="isSave">
+                            <el-form-item label="业务阶段" prop="binStage">
+                                <el-select v-model="ruleForm.binStage" placeholder="请选择业务阶段" :disabled="isSave">
                                     <el-option
-                                    v-for="item in moduleData"
+                                    v-for="item in stageData"
                                     :key="item.keyValue"
                                     :label="item.keyName"
                                     :value="item.keyValue">
                                     </el-option>
                                 </el-select>
                             </el-form-item>
-                            <el-form-item label="业务阶段" prop="binStage">
-                                <el-select v-model="ruleForm.binStage" placeholder="请选择业务阶段" :disabled="isSave">
+                            <el-form-item label="业务属性" prop="binSection">
+                                <el-select v-model="ruleForm.binSection" placeholder="请选择业务属性" :disabled="isSave">
                                     <el-option
-                                    v-for="item in stageData"
+                                    v-for="item in moduleData"
                                     :key="item.keyValue"
                                     :label="item.keyName"
                                     :value="item.keyValue">
@@ -163,7 +163,7 @@ export default {
                     { required: true, message: '请输入规则名称', trigger: 'blur' }
                 ],
                 binSection: [
-                    { required: true, message: '请输入业务模块', trigger: 'change' }
+                    { required: true, message: '请输入业务属性', trigger: 'change' }
                 ],
                 binStage: [
                     { required: true, message: '请输入业务阶段', trigger: 'change' }

+ 42 - 13
src/components/knowledgePage/scoringRulesPage.vue

@@ -96,12 +96,22 @@
             <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="ruleName">
+                        <el-form-item label="规则名称" prop="ruleName">
                             <el-input v-model="ruleForm.ruleName" placeholder="请输入规则名称"></el-input>
-                        </el-form-item> -->
+                        </el-form-item>
+                        <el-form-item label="业务板块" prop="binSection">
+                            <el-select v-model="ruleForm.binSection" placeholder="请选择业务板块" :disabled="isSave" @change="changeBinstation">
+                                <el-option
+                                v-for="item in binSectionoptions"
+                                :key="item.keyValue"
+                                :label="item.keyName"
+                                :value="item.keyValue">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
                         <el-form-item label="指标名称" prop="indicatorId">
                              <!-- multiple collapse-tags -->
-                            <el-select v-model="ruleForm.indicatorId" placeholder="请选择指标名称" :disabled="isSave">
+                            <el-select v-model="ruleForm.indicatorId" placeholder="请选择指标名称" multiple collapse-tags :disabled="isSave">
                                 <el-option
                                 v-for="item in indicItemoptions"
                                 :key="item.indicatorCode"
@@ -131,7 +141,7 @@
 <script>
 import importDailog from '../importPage/importDailog.vue'
 import scoringRulesDetailPage from './scoringRulesDetailPage.vue'
-import {apiGetevaluationscoringruleList, apiGetindicatorListAll, apiGetevaluationscoringSaveList, apiGetevaluationruleRemove} from '../../api/api'
+import {apiGetevaluationscoringruleList, apiGetindicatorListAll, apiGetdatadictionaryList, apiGetevaluationscoringSaveList, apiGetevaluationruleRemove} from '../../api/api'
 export default {
   components: { importDailog, scoringRulesDetailPage },
     data() {
@@ -139,20 +149,21 @@ export default {
             dialogVisible: false,
             title: '',
             indicItemoptions: [],
+            binSectionoptions: [],
             indicatorItems: [],
             indicatorStr: '',
             rowdataMsg: {},
             changeDateSelect: [],
             isSave: false,
             ruleForm: {
-                // ruleName: '',
+                ruleName: '',
                 indicatorId: '',
                 desc: ''
             },
             rules: {
-                // ruleName: [
-                //     { required: true, message: '请输入规则名称', trigger: 'blur' }
-                // ],
+                ruleName: [
+                    { required: true, message: '请输入规则名称', trigger: 'blur' }
+                ],
                 indicatorId: [
                     { required: true, message: '请选择指标名称', trigger: 'change' }
                 ],
@@ -171,7 +182,7 @@ export default {
     },
     created() {
         this.getEvalscoringData()
-        this.getEvaluationData()
+        this.getDataDictionary()
     },
     methods:{
         // 查询得分规则数据
@@ -191,10 +202,28 @@ export default {
                 }
             })
         },
+        // 查询规则模块和阶段数据
+        getDataDictionary() {
+            let that = this
+            let params = {
+                superKey: 'MK0001'
+            }
+            apiGetdatadictionaryList(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.binSectionoptions = datas.data
+                }
+            })
+        },
+        changeBinstation(val) {
+            this.getEvaluationData(val)
+        },
         // 查询指标数据
-        getEvaluationData() {
+        getEvaluationData(val) {
             let that = this
-            apiGetindicatorListAll().then(datas =>{
+            let params = {
+                binSection: val
+            }
+            apiGetindicatorListAll(params).then(datas =>{
                 if (datas && datas.data) {
                     that.indicItemoptions = datas.data
                 }
@@ -206,7 +235,7 @@ export default {
             this.title = '新增考评得分规则'
             this.$nextTick(() =>{
                 this.ruleForm = {
-                    // ruleName: '',
+                    ruleName: '',
                     indicatorId: '',
                     desc: ''
                 }
@@ -218,7 +247,7 @@ export default {
             this.title = '修改考评得分规则'
             let evalradio = this.changeDateSelect[0]
             this.ruleForm = {
-                // ruleName: '',
+                ruleName: '',
                 indicatorId: evalradio.indicatorId,
                 desc: evalradio.describe
             }