瀏覽代碼

重构部门考评配置页面;修改问题;

SunZehao 2 年之前
父節點
當前提交
940107403a

+ 11 - 3
src/api/api.js

@@ -23,8 +23,8 @@ export function apiGetModel(url, params) {
 //获取菜单数据
 export function apiGetMenuData() {
     return httpRequest({
-        // url: 'menu/menuList?parentId=10105', // 测试
-        url: 'menu/menuList?parentId=6802', // 生产
+        url: 'menu/menuList?parentId=10105', // 测试
+        // url: 'menu/menuList?parentId=6802', // 生产
         method: 'post'
     })
 }
@@ -437,7 +437,7 @@ export function apiGetindicatorListAll(params) {
     })
 }
 
-//----单位/部门考评配置-list
+//----单位考评配置-list
 export function apiGetOrganizationList(params) {
     return httpRequest({
         url: 'organization-evaluation-rule/list',
@@ -445,6 +445,14 @@ export function apiGetOrganizationList(params) {
         params: params
     })
 }
+//----考评部门配置列表信息
+export function apiGetEvaluationDeptList(params) {
+    return httpRequest({
+        url: 'evaluation-dept/list',
+        method: 'get',
+        params: params
+    })
+}
 //----"单位/部门考评配置-保存/修改"
 export function apiGetorganizationSaveList(params) {
     return httpRequest.post('organization-evaluation-rule/save', params)

+ 1 - 0
src/components/assessment/evaluationQuarterPage.vue

@@ -258,6 +258,7 @@ export default {
         },
         saveevaluaStart(formName) {
             let that = this
+            debugger
             that.$refs[formName].validate((valid) => {
                 if (valid) {
                     that.saveAndEditIndicatorData()

+ 5 - 5
src/components/assessment/evaluationStartFrom.vue

@@ -72,7 +72,7 @@
                         <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="organizationName" width="300" />
+                            <el-table-column label="单位名称" prop="organizationShortName" width="300" />
                             <el-table-column label="指标分类" prop="typeName" />
                             <el-table-column label="业务阶段" prop="stageName" />
                             <el-table-column label="业务属性" prop="sectionName" />
@@ -102,15 +102,15 @@
                     <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="organizationName" width="300">
+                            <el-table-column label="单位名称" prop="organizationShortName" width="300">
                                 <template #default="scope">
-                                    <el-select v-model="scope.row.organizationName" placeholder="请选择单位名称"
+                                    <el-select v-model="scope.row.organizationShortName" placeholder="请选择单位名称"
                                     :disabled="!scope.row.showInput"
                                      @change="changeOrgZa">
                                         <el-option
                                         v-for="item in orgruleData"
                                         :key="item.id"
-                                        :label="item.organizationName"
+                                        :label="item.shortName"
                                         :value="item.id">
                                         </el-option>
                                     </el-select>
@@ -520,7 +520,7 @@ export default {
             let colums = []
             colums = [
                 { header: 'ID', key: 'id', width: 26 },
-                { header: '单位名称', key: 'organizationName', width: 26 },
+                { header: '单位名称', key: 'organizationShortName', width: 26 },
                 { header: '指标分类', key: 'typeName', width: 18 },
                 { header: '业务阶段', key: 'stageName', width: 18 },
                 { header: '业务属性', key: 'sectionName', width: 18 },

+ 4 - 4
src/components/assessment/monthQuarterFrom.vue

@@ -78,7 +78,7 @@
                             <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="organizationShortName" width="300" />
                             <el-table-column label="填报部门"  prop="deptName" width="260" />
                             <el-table-column label="指标分类" prop="typeName" />
                             <el-table-column label="指标名称" prop="childName" />
@@ -107,15 +107,15 @@
                     <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="organizationName" width="300">
+                            <el-table-column label="单位名称" prop="organizationShortName" width="300">
                                 <template #default="scope">
-                                    <el-select v-model="scope.row.organizationName" placeholder="请选择单位名称"
+                                    <el-select v-model="scope.row.organizationShortName" placeholder="请选择单位名称"
                                     :disabled="!scope.row.showInput"
                                      @change="changeOrgZa">
                                         <el-option
                                         v-for="item in orgruleData"
                                         :key="item.id"
-                                        :label="item.organizationName"
+                                        :label="item.shortName"
                                         :value="item.id">
                                         </el-option>
                                     </el-select>

+ 335 - 77
src/components/evaluationSystem/evaluationDepartmentPage.vue

@@ -10,12 +10,15 @@
                 <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
             </div>
             <div class="PeriodBtn">
+                <!-- $utils.havePurview('evalDepartment:oneLevel:add')
+                $utils.havePurview('evalDepartment:oneLevel:save')
+                $utils.havePurview('evalDepartment:oneLevel:delete') -->
                 <btns
                 :showImport="false"
                 :showExport="false"
-                :showAdd="$utils.havePurview('evalDepartment:oneLevel:add')"
-                :showSave="$utils.havePurview('evalDepartment:oneLevel:save')"
-                :showDelete="$utils.havePurview('evalDepartment:oneLevel:delete')"
+                :showAdd="true"
+                :showSave="true"
+                :showDelete="true"
                 :disSave="changeDateSelect.length === 0 || changeDateSelect.length>1"
                 :disDelete="changeDateSelect.length === 0"
                 :disImport="true"
@@ -30,14 +33,22 @@
             <div class="evaluationDepartmentTableData">
                 <el-table :data="evaluationDepartmentData" style="width: 100%" @select="rowClick" @select-all="rowClick">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
-                    <el-table-column label="部门名称" prop="organizationName" />
-                    <el-table-column label="考评类别" prop="organizationType" />
-                    <el-table-column label="考评周期" prop="evaluationCycle" />
-                    <el-table-column label="考评规则" prop="evaluateRuleName" />
-                    <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="deptId" />
+                    <el-table-column label="部门名称" prop="deptName" />
+                    <el-table-column label="部门简称" prop="shortDeptName" />
+                    <el-table-column label="考评类型" >
+                        <template #default="scope">
+                                <span>{{scope.row.evaluationCategory === 'BMKP'?'部门考评':''}}</span>
+                            </template>
+                        </el-table-column>
+                    <el-table-column label="指标名称" prop="indicatorNames" width="400">
+                        <template #default="scope">
+                            <span>{{scope.row.indicatorNames.join(',')}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="年" prop="annual" />
+                    <el-table-column label="月" prop="monthly" />
+                    <el-table-column label="描述" prop="des" />
                     <el-table-column label="创建时间" prop="createTime" />
                 </el-table>
                 <el-pagination
@@ -50,64 +61,152 @@
                 </el-pagination>
             </div>
             <div class="indexdialog">
-                <el-dialog :title="title" v-model="dialogVisible" width="600px" :close-on-click-modal="false">
-                    <div class="periodFrom">
-                        <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm" :validate-on-rule-change="false">
-                            <el-form-item label="部门名称" prop="organizationName">
-                                <el-select v-model="ruleForm.organizationName" placeholder="请选择部门" @change="changeRule">
-                                    <el-option
-                                    v-for="item in departmentDataAll"
-                                    :key="item.id"
-                                    :label="item.name"
-                                    :value="item.id">
-                                    </el-option>
-                                </el-select>
-                            </el-form-item>
-                            <el-form-item label="考评规则" prop="evaluateRule">
-                                <el-select v-model="ruleForm.evaluateRule" placeholder="请选择考评规则" @change="changeRule">
-                                    <el-option
-                                    v-for="item in ruleDataAll"
-                                    :key="item.id"
-                                    :label="item.ruleName"
-                                    :value="item.id">
-                                    </el-option>
-                                </el-select>
-                            </el-form-item>
-                            <el-form-item label="业务阶段">
-                                <el-select v-model="ruleForm.binStage" placeholder="请选择业务阶段" disabled>
-                                    <el-option
-                                    v-for="item in stageData"
-                                    :key="item.id"
-                                    :label="item.stageName"
-                                    :value="item.id">
-                                    </el-option>
-                                </el-select>
-                            </el-form-item>
-                            <el-form-item label="业务属性">
-                                <el-select v-model="ruleForm.binSection" placeholder="请选择业务属性" disabled>
-                                    <el-option
-                                    v-for="item in moduleData"
-                                    :key="item.id"
-                                    :label="item.sectionName"
-                                    :value="item.id">
-                                    </el-option>
-                                </el-select>
-                            </el-form-item>
-                            <el-form-item label="考评周期" prop="evaluationCycle">
-                                <el-select v-model="ruleForm.evaluationCycle" placeholder="请选择业务阶段">
-                                    <el-option
-                                    v-for="item in periodData"
-                                    :key="item.keyValue"
-                                    :label="item.keyName"
-                                    :value="item.keyValue">
-                                    </el-option>
-                                </el-select>
-                            </el-form-item>
-                            <el-form-item label="指标顺序" prop="orderNum">
-                                <el-input-number v-model="ruleForm.orderNum" :min="1" />
-                            </el-form-item>
-                        </el-form>
-                    </div>
+                <el-dialog :title="title" v-model="dialogVisible" width="70vw" :close-on-click-modal="false">
+                    <el-row class="periodFrom">
+                        <el-col :span="8">
+                            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="DruleForm" :validate-on-rule-change="false">
+                                <el-form-item label="指标名称" prop="indicatorName">
+                                    <el-input v-model="ruleForm.indicatorName" placeholder="请输入指标名称" @blur="blurInput"></el-input>
+                                </el-form-item>
+                                <el-form-item label="指标编码" prop="indicatorCode">
+                                    <el-input v-model="ruleForm.indicatorCode" placeholder="请输入指标编码" :disabled="isSave" @blur="blurInput"></el-input>
+                                </el-form-item>
+                                <el-form-item label="指标类别" prop="indicatorType">
+                                    <el-select v-model="ruleForm.indicatorType" placeholder="请选择指标类别">
+                                        <el-option
+                                        v-for="item in indicatorTypeData"
+                                        :key="item.id"
+                                        :label="item.typeName"
+                                        :value="item.id">
+                                        </el-option>
+                                    </el-select>
+                                </el-form-item>
+                                <el-form-item label="指标单位" prop="indicatorUnit">
+                                    <el-input v-model="ruleForm.indicatorUnit" placeholder="请输入指标单位"></el-input>
+                                </el-form-item>
+                                <el-form-item label="所属部门" prop="department">
+                                    <el-select v-model="ruleForm.department" placeholder="请选择所属部门">
+                                        <el-option
+                                        v-for="item in departData"
+                                        :key="item.dataKey"
+                                        :label="item.keyName"
+                                        :value="item.dataKey">
+                                        </el-option>
+                                    </el-select>
+                                </el-form-item>
+                                <el-form-item label="业务阶段" prop="binStage">
+                                    <el-select v-model="ruleForm.binStage" placeholder="请选择业务阶段">
+                                        <el-option
+                                        v-for="item in stageData"
+                                        :key="item.id"
+                                        :label="item.stageName"
+                                        :value="item.id">
+                                        </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.id"
+                                        :label="item.sectionName"
+                                        :value="item.id">
+                                        </el-option>
+                                    </el-select>
+                                </el-form-item>
+                                <el-form-item label="是否量化">
+                                    <el-radio-group v-model="ruleForm.isQuantified">
+                                        <el-radio border label="是" />
+                                        <el-radio border label="否" />
+                                    </el-radio-group>
+                                </el-form-item>
+                                <el-form-item label="是否专项">
+                                    <el-radio-group v-model="ruleForm.isAdditional">
+                                        <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>
+                                <el-form-item label="描述" prop="desc">
+                                    <el-input v-model="ruleForm.desc" :rows="5" type="textarea" placeholder="请输入描述"></el-input>
+                                </el-form-item>
+                            </el-form>
+                        </el-col>
+                        <el-col :span="16" class="indicatorItemBtn">
+                            <div class="PeriodBtnDia">
+                                <p class="indItemC">指标项配置管理</p>
+                                <el-button
+                                type="primary"
+                                size="mini"
+                                @click="handleAddChild"
+                                >
+                                <img :src="addW" style="margin-right: 10px">
+                                <span>新增</span>
+                                </el-button>
+                            </div>
+                            <div class="indicatorItemTableData">
+                                <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" placeholder="请输入子指标项名称"></el-input>
+                                                    </div>
+                                                    <div style="display:flex">
+                                                        <span class="nameTit">指标编码:</span>
+                                                        <el-input v-model="item.childCode" placeholder="请输入子指标项编码"></el-input>
+                                                    </div>
+                                                </div>
+                                            </template>
+                                            <div style="padding:10px 20px;max-height: 50vh;overflow-y: auto;">
+                                                <div class="tableBtn add" @click="handleAddTableChild(item)">
+                                                    <img :src="addIcon" alt="">
+                                                    <span>新增</span>
+                                                </div>
+                                                <el-table :data="item.list">
+                                                    <el-table-column label="序号" type="index"  align="center" />
+                                                    <el-table-column label="指标项名称" prop="optionName">
+                                                        <template #default="scope">
+                                                            <el-select v-model="scope.row.optionName" filterable 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>
+                                                        </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="handleDeleteTableChild(item, 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>
+                        </el-col>
+                    </el-row>
                     <template #footer>
                         <span class="dialog-footer">
                             <el-button @click="dialogVisible = false">取 消</el-button>
@@ -116,7 +215,6 @@
                     </template>
                 </el-dialog>
             </div>
-            <indicator-item ref="indicatorItem"></indicator-item>
         </div>
         <import-dailog ref="importPage" @successImport="successImport" @importLoading="importLoading"></import-dailog>
     </div>
@@ -125,7 +223,9 @@
 <script>
 import importDailog from '../importPage/importDailog.vue'
 import btns from '../elbuttonS.vue'
-import {apiGetOrganizationList, apiGetorganizationSaveList, apiGetorganizationdeleteList, 
+import addW from '../../assets/btnIcon/addW.png'
+import addIcon from '../../assets/btnIcon/add.png'
+import {apiGetEvaluationDeptList, apiGetorganizationSaveList, apiGetorganizationdeleteList, 
 apiGetdatadictionaryList,apiGetbinstageList,apiGetbinsectionList, apiGetevaluateListAll, apiGetorganizationstructureFromTree} from '../../api/api'
 export default {
   components: { importDailog, btns },
@@ -142,6 +242,8 @@ export default {
             stageData: [],
             ruleDataAll: [],
             periodData: [],
+            addW: addW,
+            addIcon: addIcon,
             departmentDataAll: [],
             ruleForm: {
                 organizationName: '',
@@ -192,12 +294,11 @@ export default {
         getEvalCompanyData() {
             let that = this
             let params = {
-                pageNum: this.page.currentPage,
-                pageSize: this.page.pagesize,
-                organizationType: 'BMKP',
-                organizationName: that.departmentS
+                pageNum: that.page.currentPage,
+                pageSize: that.page.pagesize,
+                deptName: that.departmentS
             }
-            apiGetOrganizationList(params).then(datas =>{
+            apiGetEvaluationDeptList(params).then(datas =>{
                 if (datas && datas.data) {
                     that.evaluationDepartmentData = datas.data.records
                     that.page.total = datas.data.total
@@ -275,6 +376,25 @@ export default {
                 }
             })
         },
+        //新增子指标
+        handleAddChild() {
+            this.$nextTick(() =>{
+                let itemForm = {
+                    childName: '输入子指标名称',
+                    childCode: '输入子指标编码',
+                    list: [],
+                }
+                this.indicatoroptions.push(itemForm)
+            })
+        },
+        //新增子指标
+        handleAddTableChild(row) {
+            let childitemForm = {
+                optionName: '',
+                optionCode: ''
+            }
+            row.list.push(childitemForm)
+        },
         handleEdit() {
             this.dialogVisible = true
             this.isSave = true
@@ -467,12 +587,150 @@ export default {
         .indexdialog{
             .el-overlay{
                 .el-dialog{
+                    margin-top: 10vh;
                     .el-dialog__body{
-                        padding: 30px 60px 30px 20px !important;
+                        padding: 0px 20px 0px 20px !important;
+                        border-top: 1px solid #D6DBEA;
+                        border-bottom: 1px solid #D6DBEA;
                         .periodFrom{
                             .el-select, .el-input{
                                 width: 100%;
                             }
+                            .el-select{
+                                .el-input__inner, .is-disabled{
+                                    height:30px !important;
+                                }
+                            }
+                            .DruleForm{
+                                padding: 20px 60px 20px 20px;
+                            }
+                            .indicatorItemBtn{
+                                padding: 10px 20px 0 20px;
+                                border-left: 1px solid #D6DBEA;
+                                span{
+                                    font-size:14px;
+                                }
+                                .PeriodBtnDia{
+                                    display: flex;
+                                    justify-content: space-between;
+                                    padding: 20px 0;
+                                    .indItemC{
+                                        position: relative;
+                                        // left: -600px;
+                                        top: 15px;
+                                        font-size: 16px;
+                                        font-family: Microsoft YaHei;
+                                        font-weight: 600;
+                                        color: #3B7AD1;
+                                    }
+                                    .el-button{
+                                        height: 30px;
+                                        padding: 0 30px ;
+                                        span{
+                                            margin:0;
+                                        }
+                                    }
+                                    .is-disabled{
+                                        opacity: 0.5;
+                                    }
+                                }
+                                .indicatorItemTableData{
+                                    max-height: 55vh !important;
+                                    overflow-y: auto;
+                                    .datasMsg{
+                                        .tableBtn {
+                                            display: flex;
+                                            justify-content: end;
+                                            margin-right: 30px;
+                                            img{
+                                                margin-right: 5px;
+                                                margin-top: 1px;
+                                                width: 18px;
+                                                height: 18px;
+                                            }
+                                            span{
+                                                position: relative;
+                                                top: -2px;
+                                                font-size: 14px;
+                                                font-family: Microsoft YaHei;
+                                                font-weight: 400;
+                                            }
+                                        }
+                                        .add{
+                                            cursor: pointer;
+                                            span{
+                                                color: #3B7AD1;
+                                            }
+                                        }
+                                        .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;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                    .emptyData{
+                                        display: inline-block;
+                                        width: 100%;
+                                        // border: 1px solid #d9d9d9;
+                                        text-align: center;
+                                        margin-top: 50px;
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    .el-dialog__footer{
+                        .dialog-footer{
+                            display: flex;
+                            justify-content: center;
+                            .el-button{
+                                width: 180px !important;
+                                height: 40px !important;
+                            }
                         }
                     }
                 }

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

@@ -214,6 +214,11 @@
                                                             <el-input v-model="scope.row.des" :rows="1" type="textarea" placeholder="请输入描述" :readonly="isDetail"></el-input>
                                                         </template>
                                                     </el-table-column>
+                                                    <el-table-column label="排序">
+                                                        <template #default="scope">
+                                                            <el-input-number v-model="scope.row.optionOrder" :min="1" />
+                                                        </template>
+                                                    </el-table-column>
                                                     <el-table-column label="操作" width="100" v-if="!isDetail">
                                                         <template #default="scope">
                                                             <p class="indicitem" @click="handleDeleteTableChild(item, scope.row)">删除</p>
@@ -233,7 +238,7 @@
                     <template #footer>
                         <span class="dialog-footer">
                             <el-button @click="dialogVisible = false">取 消</el-button>
-                            <el-button type="primary" @click="saveEvaluationIndexMsg('ruleForm')" v-if="!isDetail">确 定</el-button>
+                            <el-button type="primary" @click="saveEvaluationIndexMsg('ruleForm')">确 定</el-button>
                         </span>
                     </template>
                 </el-dialog>
@@ -793,7 +798,8 @@ export default {
                                     }
                                 }
                                 .indicatorItemTableData{
-                                    height: 55vh !important;
+                                    max-height: 55vh !important;
+                                    overflow-y: auto;
                                     .datasMsg{
                                         .tableBtn {
                                             display: flex;

+ 4 - 6
src/components/evaluationSystem/ruleDetailPage.vue

@@ -152,13 +152,11 @@ export default {
             this.getEvaluationData(row)
         },
         // 查询规则详情数据
-        getruleDetailData(row, type) {
+        getruleDetailData(row) {
             let that = this
             let params = {
-                evaluateRuleId: row.id
-            }
-            if (type) {
-                params.indicatorId = that.indicItem
+                evaluateRuleId: row.id,
+                indicatorName: that.indicItem
             }
             apiGetevaluateRuleinfoList(params).then(datas =>{
                 if (datas && datas.data) {
@@ -282,7 +280,7 @@ export default {
         },
         getSeachData() {
             this.page.currentPage = 1
-            this.getruleDetailData(this.rowevalradio, 'seach')
+            this.getruleDetailData(this.rowevalradio)
         },
         resetSeach() {
             this.page.currentPage = 1

+ 30 - 16
src/components/knowledgePage/scoringRulesDetailPage.vue

@@ -5,6 +5,7 @@
                 <div class="rulesDetailBtn">
                     <div class="PeriodBtn">
                         <el-row :gutter="10" style="padding-left: 10px;">
+                             <!-- v-if="$utils.havePurview('scoringRules:twoLevel:add')" -->
                             <el-col :span="1.5" v-if="$utils.havePurview('scoringRules:twoLevel:add')">
                                 <el-button
                                 type="primary"
@@ -15,6 +16,7 @@
                                 <span>新增</span>
                                 </el-button>
                             </el-col>
+                             <!-- v-if="$utils.havePurview('scoringRules:twoLevel:save')" -->
                             <el-col :span="1.5" v-if="$utils.havePurview('scoringRules:twoLevel:save')">
                                 <el-button
                                 type="success"
@@ -26,6 +28,7 @@
                                 <span>修改</span>
                                 </el-button>
                             </el-col>
+                             <!-- v-if="$utils.havePurview('scoringRules:twoLevel:delete')" -->
                             <el-col :span="1.5" v-if="$utils.havePurview('scoringRules:twoLevel:delete')">
                                 <el-button
                                 type="danger"
@@ -42,8 +45,8 @@
                     <div class="rulesDetailTableData">
                         <el-table :data="indicatoroptions" style="width: 100%" @select="rowClick" @select-all="rowClick">
                             <el-table-column type="selection" label="操作" align="center"></el-table-column>
+                            <el-table-column label="子指标名称" prop="range" />
                             <el-table-column label="规则公式" prop="regularExpression" />
-                            <el-table-column label="规则区间" prop="range" />
                             <!-- <el-table-column label="创建者" prop="createBy" />
                             <el-table-column label="创建时间" prop="createTime" /> -->
                             <el-table-column label="规则描述" width="500">
@@ -95,7 +98,7 @@
                                                 :border="false"
                                                 height="240"
                                                 @row-dblclick="rowDbclick"
-                                                :data="multipleSelectionObj.list"
+                                                :data="multipleSelectionObj?multipleSelectionObj.list:[]"
                                             >
                                                 <el-table-column prop="optionName" />
                                                 <el-table-column prop="optionCode" />
@@ -171,13 +174,14 @@
                                     </div>
                                     <div style="margin-top: 10px">
                                         <div style="display:flex">
-                                            <el-checkbox style="margin-right: 10px" v-model="isrange" @change="changeRank" />
-                                            <el-tag style="margin-bottom: 5px">区间</el-tag>
+                                            <el-checkbox style="margin-right: 10px" disabled v-model="isrange" @change="changeRank" />
+                                            <el-tag style="margin-bottom: 5px">子指标名称</el-tag>
                                         </div>
                                         <el-input
                                         type="textarea"
                                         rows="4"
                                         v-model="itemForm.range"
+                                        disabled
                                         id="range"
                                         />
                                     </div>
@@ -252,6 +256,8 @@ export default {
             this.editEvaluaVisible = true
             this.indicatoroptions = []
             this.indicItemoptions = []
+            this.multipleSelection = []
+            this.multipleSelectionObj = {}
             this.rowevalradio = row
             this.getrulesDetailData(row)
             this.getindicItemData(row)
@@ -267,14 +273,11 @@ export default {
             })
         },
         // 查询考评得分规则详情列表
-        getrulesDetailData(row, type) {
+        getrulesDetailData(row) {
             let that = this
             let params = {
                 ruleId: row.id
             }
-            // if (type) {
-            //     params.optionName = that.indicItem
-            // }
             apiGetintervaltableList(params).then(datas =>{
                 if (datas && datas.data) {
                     that.indicatoroptions = datas.data
@@ -291,6 +294,8 @@ export default {
             apiGetindicatorselectByCode(params).then(datas =>{
                 if (datas && datas.data) {
                     that.indicItemoptions = datas.data
+                    that.multipleSelection = [datas.data[0]]
+                    that.multipleSelectionObj = datas.data[0]
                 }
             })
         },
@@ -387,17 +392,25 @@ export default {
             this.isSave = true
             this.title = '修改指标项管理'
             this.evalradio = this.changeDateSelect[0]
-            this.itemForm = {
-                representation: this.evalradio.regularExpression,
-                range: this.evalradio.range,
-                desc: this.evalradio.ruleDescription
-            }
+            this.$nextTick(() =>{
+                this.indicItemoptions.forEach(it =>{
+                    if (this.evalradio.childCode === it.childCode) {
+                        this.multipleSelectionObj = it
+                        this.$refs.multipleTable.toggleRowSelection(it, true);
+                    }
+                })
+                this.itemForm = {
+                    representation: this.evalradio.regularExpression,
+                    range: this.evalradio.range,
+                    desc: this.evalradio.ruleDescription
+                }
+            })
         },
         saverulesDetailMsg() {
             let that = this
             let repre = document.getElementById("representation").value
-            let range = document.getElementById("range").value
-            if (repre === '' || range === '' || that.itemForm.desc === '') return
+            // let range = document.getElementById("range").value   range === '' || 
+            if (repre === '' || that.itemForm.desc === '') return
             that.saveAndEditIndicatorData()
         },
         //新增/修改指标数据
@@ -406,7 +419,8 @@ export default {
             let params = {
                 ruleId: that.rowevalradio.id,
                 regularExpression: encodeURI(document.getElementById("representation").value),
-                range: encodeURI(document.getElementById("range").value),
+                // range: encodeURI(document.getElementById("range").value),
+                range: that.multipleSelection[0].childName,
                 ruleDescription: that.itemForm.desc,
                 childCode: that.multipleSelection[0].childCode
             }

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

@@ -77,7 +77,7 @@
                             <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="organizationShortName" width="300" />
                             <el-table-column label="填报部门"  prop="deptName" width="260" />
                             <el-table-column label="指标分类" prop="typeName" />
                             <el-table-column label="指标名称" prop="childName" v-if="instanceChild.defKey === 'yddwkplc' || instanceChild.defKey === 'jddwkplc'" />
@@ -106,15 +106,15 @@
                     <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="organizationName" width="300">
+                            <el-table-column label="单位名称" prop="organizationShortName" width="300">
                                 <template #default="scope">
-                                    <el-select v-model="scope.row.organizationName" placeholder="请选择单位名称"
+                                    <el-select v-model="scope.row.organizationShortName" placeholder="请选择单位名称"
                                     :disabled="!scope.row.showInput"
                                      @change="changeOrgZa">
                                         <el-option
                                         v-for="item in orgruleData"
                                         :key="item.id"
-                                        :label="item.organizationName"
+                                        :label="item.shortName"
                                         :value="item.id">
                                         </el-option>
                                     </el-select>
@@ -215,7 +215,7 @@
                     <el-tab-pane label="查看得分" name="three">
                         <el-table :data="pointList" style="width: 100%">
                             <el-table-column type="index" label="序号" width="80" />
-                            <el-table-column label="单位名称" prop="organizationName" width="300" />
+                            <el-table-column label="单位名称" prop="organizationShortName" width="300" />
                             <el-table-column label="部门名称" prop="keyName" />
                             <el-table-column label="指标名称" prop="indicatorName" />
                             <el-table-column label="业务类别"  prop="stageName" width="260" />
@@ -620,7 +620,7 @@ export default {
             let colums = []
             colums = [
                 { header: 'ID', key: 'id', width: 26 },
-                { header: '单位名称', key: 'organizationName', width: 26 },
+                { header: '单位名称', key: 'organizationShortName', width: 26 },
                 { header: '指标分类', key: 'typeName', width: 18 },
                 { header: '业务阶段', key: 'stageName', width: 18 },
                 { header: '业务属性', key: 'sectionName', width: 18 },

+ 3 - 3
src/utils/baseUrl.js

@@ -10,15 +10,15 @@ switch (process.env.NODE_ENV) {
     case 'development': 
         baseUrl.ROOT = "/api"  //开发环境url
         // baseUrl.URL = "http://10.65.59.67:28800"
-        baseUrl.URL = "http://192.168.2.10:28800"
+        baseUrl.URL = "http://192.168.2.14:28800"
         // baseUrl.URL = "http://10.65.78.23:28800"  //测试环境
         // baseUrl.URL = "http://10.65.78.81:28800"  // 正式环境
         break
  
     case 'production': 
         // baseUrl.ROOT = "http://123.60.219.66:28800/" 
-        // baseUrl.ROOT = "http://10.65.78.23:28800/" //测试环境
-        baseUrl.ROOT = "http://10.65.78.81:28800/"  // 正式环境
+        baseUrl.ROOT = "http://10.65.78.23:28800/" //测试环境
+        // baseUrl.ROOT = "http://10.65.78.81:28800/"  // 正式环境
         break 
 }
 

+ 10 - 8
src/utils/index.js

@@ -28,14 +28,16 @@ const until = {
     },
     // 权限分配
     havePurview(data) {
-        let per = JSON.parse(window.localStorage.getItem('purview'))
-        let show = false
-        per.forEach(it => {
-            if (it === data) { 
-                show = true
-            }
-        })
-        return show
+        if (window.localStorage.getItem('purview')) {
+            let per = JSON.parse(window.localStorage.getItem('purview'))
+            let show = false
+            per.forEach(it => {
+                if (it === data) { 
+                    show = true
+                }
+            })
+            return show
+        }
     },
     
     sortBy(attr,rev){