Browse Source

更改系统UI

SunZehao 2 years ago
parent
commit
15a0c1bae7

+ 1 - 1
src/App.vue

@@ -45,7 +45,7 @@ export default {
 @import "./assets/css/main.css";
 /* @import "./assets/css/color-dark.css"; */
 #app{
-    background: #273856;
+    /* background: #184FB4; */
     /* background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#005777), to(#005777), color-stop(0.2, #007aab),color-stop(0.8, #007aab)); */
 }
 </style>

+ 8 - 0
src/api/api.js

@@ -66,6 +66,14 @@ export function apiGetdeptresponsibilitygenerate(params) {
         params: params
     })
 }
+//------考评启动-详情
+export function apiGetdeptresponDetail(params) {
+    return httpRequest({
+        url: 'responsibility-indicator-info/planValueList',
+        method: 'get',
+        params: params
+    })
+}
 //----单位/部门考评配置所有数据
 export function apiGetOrganizationListAll(params) {
     return httpRequest({

+ 53 - 8
src/assets/css/main.css

@@ -56,14 +56,6 @@ a {
     margin: 10px 0;
 }
 
-.el-table th {
-    background-color: #f5f7fa !important;
-    height: 40px;
-}
-.el-table tr {
-    height: 40px;
-}
-
 .el-input .el-input__wrapper{
     padding: 0 7px;
 }
@@ -182,4 +174,57 @@ a {
 ::-webkit-scrollbar-thumb {
     background-color: #a9aaad;
     border-radius: 6px;
+}
+
+.el-button{
+    width: 100px !important;
+    height: 40px !important;
+    border-radius: 5px !important;
+    
+}
+.el-button .el-icon{
+    width: 24px !important;
+    height: 24px !important;
+    margin-right: 10px;
+}
+.el-button .el-icon svg{
+    width: 24px !important;
+    height: 24px !important;
+}
+.el-button--primary{
+    background-color: #3B7AD1 !important;
+}
+.el-button--success{
+    background-color: #50C14E !important;
+}
+.el-button--danger{
+    background-color: #F5A623 !important;
+}
+.el-button--info{
+    background-color: #9DA5BE !important;
+}
+.el-button--warning{
+    background-color: #F65177 !important;
+}
+
+.el-table th {
+    /* background-color: #f5f7fa !important; */
+    height: 50px;
+}
+.el-table tr {
+    height: 50px;
+}
+.el-table .el-table__inner-wrapper .el-table__header-wrapper .el-table__header tr th .cell{
+    font-size: 14px;
+    font-family: Microsoft YaHei;
+    font-weight: 600;
+    color: #333333;
+    line-height: 12px;
+}
+.el-table .el-table__inner-wrapper .el-table__body-wrapper .el-table__body tr td .cell{
+    font-size: 14px;
+    font-family: Microsoft YaHei;
+    font-weight: 400;
+    color: #666666;
+    /* line-height: 12px; */
 }

+ 20 - 4
src/components/assessment/evaluationStartFrom.vue

@@ -164,10 +164,7 @@
             </el-form>
             <template #footer>
                 <span class="dialog-footer">
-                    <el-button type="primary" plain>发 布</el-button>
-                    <el-button type="warning" plain>保 存</el-button>
-                    <el-button >流 程</el-button>
-                    <el-button type="success" plain>导 出</el-button>
+                    <el-button type="primary" @click="dialogVisible = false">取 消</el-button>
                 </span>
             </template>
         </el-dialog>
@@ -175,6 +172,7 @@
 </template>
 
 <script>
+import {apiGetdeptresponDetail,} from '../../api/api'
 export default {
     data() {
         return {
@@ -296,6 +294,24 @@ export default {
                 synthesize: ''
             },
         ]
+    },
+    methods: {
+        init(row) {
+            this.dialogVisible = true
+            this.getDetails(row.id)
+        },
+        //获取详情
+        getDetails(id) {
+            let that = this
+            let params = {
+                deptResponsibilityIds: id
+            }
+            apiGetdeptresponDetail(params).then(datas =>{
+                if (datas) {
+                    console.log(datas)
+                }
+            })
+        },
     }
 }
 </script>

+ 125 - 141
src/components/assessment/evaluationStartPage.vue

@@ -1,7 +1,6 @@
 <template>
     <div class="evaluationStart">
         <div class="evaluationStartBtn">
-            <p class="titleSty">考评启动</p>
             <div class="collectSeach">
                 <div class="exceed">
                     <span class="exceedSpan">编号:</span>
@@ -11,36 +10,22 @@
                     <span class="exceedSpan">单位:</span>
                     <el-input v-model="usernames" placeholder="请输入单位"></el-input>
                 </div>
-                <div class="exceed">
-                    <span class="exceedSpan">类别:</span>
-                    <el-input v-model="usernames" placeholder="请输入业务类别"></el-input>
-                </div>
-                <div class="exceed">
-                    <span class="exceedSpan">年度:</span>
-                    <el-input v-model="usernames" placeholder="请输入年度"></el-input>
-                </div>
-                <div class="exceed">
-                    <span class="exceedSpan">简述:</span>
-                    <el-input v-model="usernames" placeholder="请输入业务简述"></el-input>
-                </div>
                 <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
                 <el-button style="margin-left: 10px;" @click="reset">重置</el-button>
             </div>
-            <div style="display:flex;justify-content: space-between;padding: 10px;">
-                <el-row :gutter="10" class="PeriodBtn">
+            <div class="PeriodBtn">
+                <el-row :gutter="10" style="padding-left: 10px;">
+                    <el-col :span="1.5">
+                        <el-button
+                        type="primary"
+                        icon="Plus"
+                        size="mini"
+                        @click="handleAdd"
+                        >新增</el-button>
+                    </el-col>
                     <el-col :span="1.5">
-                        <el-col :span="1.5">
-                            <el-button
-                            type="primary"
-                            plain
-                            icon="Plus"
-                            size="mini"
-                            @click="handleAdd"
-                            >新增</el-button>
-                        </el-col>
                         <el-button
                         type="danger"
-                        plain
                         icon="Delete"
                         size="mini"
                         :disabled="deleteSelect.length === 0"
@@ -49,17 +34,16 @@
                     </el-col>
                     <el-col :span="1.5">
                         <el-button
-                            type="warning"
-                            plain
-                            icon="Download"
-                            size="mini"
-                            @click="handleExport"
+                        type="warning"
+                        icon="Download"
+                        size="mini"
+                        @click="handleExport"
                         >导出</el-button>
                     </el-col>
                 </el-row>
             </div>
             <div class="evaluationStartTableData">
-                <el-table :data="evaluationStartData" border style="width: 100%" @select="rowClick" @select-all="allSelect">
+                <el-table :data="evaluationStartData" style="width: 100%" @select="rowClick" @select-all="allSelect">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
                     <el-table-column label="业务编号" prop="id" />
                     <el-table-column label="考评单位" prop="organizationName" />
@@ -78,7 +62,8 @@
                     <el-table-column label="考评评级" prop="endDate" />
                     <el-table-column label="操作">
                         <template #default="scope">
-                            <p class="indicitem" @click="apiGetdeptresponsibilitygenerateFn(scope.row)">启动</p>
+                            <p class="indicitem" @click="agetdeptresponsibility(scope.row)">启动</p>
+                            <!-- <p class="indicitem" @click="getDetail(scope.row)">明细</p> -->
                         </template>
                     </el-table-column>
                 </el-table>
@@ -92,61 +77,62 @@
                 </el-pagination>
             </div>
             <el-dialog :title="title" v-model="dialogVisible" width="600px" :close-on-click-modal="false">
-                    <div class="periodFrom">
-                        <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm" :validate-on-rule-change="false">
-                            <el-form-item label="考评类别" prop="organizationType">
-                                <el-select v-model="ruleForm.organizationType" placeholder="请选择考评类别" @change="(val)=>chooseRule(val,'类别')">
-                                    <el-option
-                                    v-for="item in organizationType"
-                                    :key="item.code"
-                                    :label="item.label"
-                                    :value="item.code">
-                                    </el-option>
-                                </el-select>
-                            </el-form-item>                            
-                            <el-form-item label="考评周期" prop="evaluationCycle">
-                                <el-select v-model="ruleForm.evaluationCycle" placeholder="请选择考评周期" @change="(val)=>chooseRule(val,'周期')">
-                                    <el-option
-                                    v-for="item in periodData"
-                                    :key="item.keyValue"
-                                    :label="item.keyName"
-                                    :value="item.keyValue">
-                                    </el-option>
-                                </el-select>
-                            </el-form-item>
-                            <el-form-item label="考评规则" prop="evaluateRule">
-                                <el-select v-model="ruleForm.evaluateRule"  placeholder="请选择考评规则">
-                                    <el-option
-                                    v-for="item in ruleDataAll"
-                                    :key="item.id"
-                                    :label="item.evaluateRuleName"
-                                    :value="item.id">
-                                    </el-option>
-                                </el-select>
-                            </el-form-item>
-                            <el-form-item label="年份" prop="year" v-if="isShowYear">
-                                <el-date-picker
-                                    v-model="ruleForm.year"
-                                    type="year"
-                                    value-format="YYYY"
-                                    placeholder="请选择年份"
-                                    />
-                            </el-form-item>
-                            <el-form-item label="月份" v-else>
-                                <el-input-number v-model="ruleForm.month" :min="1" :max="12" />
-                            </el-form-item>
-                            <el-form-item label="描述" prop="desc">
-                                <el-input v-model="ruleForm.desc" :rows="5" type="textarea" placeholder="请输入描述"></el-input>
-                            </el-form-item>
-                        </el-form>
-                    </div>
-                    <template #footer>
-                        <span class="dialog-footer">
-                            <el-button @click="dialogVisible = false">取 消</el-button>
-                            <el-button type="primary" @click="saveevaluaStart('ruleForm')">确 定</el-button>
-                        </span>
-                    </template>
-                </el-dialog>
+                <div class="periodFrom">
+                    <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm" :validate-on-rule-change="false">
+                        <el-form-item label="考评类别" prop="organizationType">
+                            <el-select v-model="ruleForm.organizationType" placeholder="请选择考评类别" @change="(val)=>chooseRule(val,'类别')">
+                                <el-option
+                                v-for="item in organizationType"
+                                :key="item.code"
+                                :label="item.label"
+                                :value="item.code">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>                            
+                        <el-form-item label="考评周期" prop="evaluationCycle">
+                            <el-select v-model="ruleForm.evaluationCycle" placeholder="请选择考评周期" @change="(val)=>chooseRule(val,'周期')">
+                                <el-option
+                                v-for="item in periodData"
+                                :key="item.keyValue"
+                                :label="item.keyName"
+                                :value="item.keyValue">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="考评规则" prop="evaluateRule">
+                            <el-select v-model="ruleForm.evaluateRule"  placeholder="请选择考评规则">
+                                <el-option
+                                v-for="item in ruleDataAll"
+                                :key="item.id"
+                                :label="item.evaluateRuleName"
+                                :value="item.id">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="年份" prop="year" v-if="isShowYear">
+                            <el-date-picker
+                                v-model="ruleForm.year"
+                                type="year"
+                                value-format="YYYY"
+                                placeholder="请选择年份"
+                                />
+                        </el-form-item>
+                        <el-form-item label="月份" v-else>
+                            <el-input-number v-model="ruleForm.month" :min="1" :max="12" />
+                        </el-form-item>
+                        <el-form-item label="描述" prop="desc">
+                            <el-input v-model="ruleForm.desc" :rows="5" type="textarea" placeholder="请输入描述"></el-input>
+                        </el-form-item>
+                    </el-form>
+                </div>
+                <template #footer>
+                    <span class="dialog-footer">
+                        <el-button @click="dialogVisible = false">取 消</el-button>
+                        <el-button type="primary" @click="saveevaluaStart('ruleForm')">确 定</el-button>
+                    </span>
+                </template>
+            </el-dialog>
+            <start-from-list ref="startFromDetail"></start-from-list>
         </div>
     </div>
 </template>
@@ -315,7 +301,7 @@ export default {
                 }
             })
         },
-        apiGetdeptresponsibilitygenerateFn(row) {
+        agetdeptresponsibility(row) {
             let that = this
             let params = {
                 responsibilityIds: row.id
@@ -337,6 +323,10 @@ export default {
                 }
             })
         },
+        //明细
+        getDetail(row) {
+            this.$refs.startFromDetail.init(row)
+        },
         getSeachData() {
             this.page.currentPage = 1
         },
@@ -380,23 +370,38 @@ export default {
 
 <style lang="less">
 .evaluationStart{
-  .evaluationStartBtn{
-    //   background: #fff;
-      padding: 10px 20px 0 20px;
-      .collectSeach{
-          display: flex;
-          margin: 20px 20px 10px;
-            .exceed{
+    .evaluationStartBtn{
+        .collectSeach{
                 display: flex;
-                margin-right: 10px;
-                .exceedSpan{
-                    margin-top: 3px;
-                    display: inline-block;
-                    width: 55px;
+                padding: 24px 20px;
+                border-bottom: 1px solid#D6DBEA;
+                .exceed{
+                    display: flex;
+                    .exceedSpan{
+                        width: 70px;
+                        height: 12px;
+                        font-size: 14px;
+                        font-family: Microsoft YaHei;
+                        font-weight: 400;
+                        color: #8991B0;
+                        line-height: 12px;
+                        margin-top: 10px;
+                    }
+                    .el-input{
+                        margin-right:10px;
+                        height: 40px;
+                        .el-input__inner{
+                            height:40px;
+                        }
+                        .el-input__suffix{
+                            .el-select__caret{
+                                line-height:30px;
+                            }
+                        }
+                    }
                 }
-                .el-input{
+                .el-select{
                     margin-right:10px;
-                    height: 30px;
                     .el-input__inner{
                         height:30px;
                     }
@@ -406,50 +411,29 @@ export default {
                         }
                     }
                 }
+        }
+        span{
+            font-size:14px;
+        }
+        .PeriodBtn{
+            display: flex;
+                justify-content: end;
+                padding: 20px 0;
+        }
+        .el-button{
+            height: 30px;
+            // width:100px;
+            padding: 0 20px ;
+            // padding-top: 8px;
+            span{
+                margin:0;
             }
-            .el-select{
-                margin-right:10px;
-                .el-input__inner{
-                    height:30px;
-                }
-                .el-input__suffix{
-                    .el-select__caret{
-                        line-height:30px;
-                    }
-                }
-            }
-      }
-      .titleSty{
-          border-left: 4px solid #007aab;
-          padding-left: 5px;
-          font-size: 16px;
-          font-weight: bold;
-          font-family: '微软雅黑';
-          margin-left:20px;
-      }
-      span{
-          font-size:14px;
-      }
-      .PeriodBtn{
-          padding-left: 10px;
-      }
-      .el-button{
-          height: 30px;
-          // width:100px;
-          padding: 0 20px ;
-          // padding-top: 8px;
-          span{
-              margin:0;
-          }
-      }
-  }
+        }
+    }
   .evaluationStartTableData{
-    padding: 10px 20px;
     .el-table{
         .el-table__body-wrapper{
-            .el-table__empty-block{
             height: 64vh !important;
-            }
         }
         .el-input__inner{
             height: 30px !important;

+ 6 - 8
src/components/evaluationSystem/IndicatorItemPage.vue

@@ -3,12 +3,11 @@
         <el-dialog title="指标项配置管理" v-model="editEvaluaVisible" width="70vw" :close-on-click-modal="false">
             <div class="indicatorItemAll">
                 <div class="indicatorItemBtn">
-                    <div style="display:flex;justify-content: space-between;padding: 10px;">
-                        <el-row :gutter="10" class="PeriodBtn">
+                    <div class="PeriodBtn">
+                        <el-row :gutter="10" style="padding-left: 10px;">
                             <el-col :span="1.5">
                                 <el-button
                                 type="primary"
-                                plain
                                 icon="Plus"
                                 size="mini"
                                 :disabled="!isChild"
@@ -18,7 +17,6 @@
                             <el-col :span="1.5">
                                 <el-button
                                 type="success"
-                                plain
                                 icon="Edit"
                                 size="mini"
                                 @click="handleSave"
@@ -48,14 +46,13 @@
                                                 <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 :data="item.list">
                                             <el-table-column label="序号" type="index"  align="center" />
                                             <el-table-column label="指标项名称" prop="optionName">
                                                 <template #default="scope">
@@ -306,7 +303,9 @@ export default {
                             font-size:14px;
                         }
                         .PeriodBtn{
-                            padding-left: 10px;
+                            display: flex;
+                            justify-content: end;
+                            padding: 20px 0;
                         }
                         .el-button{
                             height: 30px;
@@ -317,7 +316,6 @@ export default {
                         }
                     }
                     .indicatorItemTableData{
-                        padding: 10px 20px;
                         height: 55vh !important;
                         .datasMsg{
                             .el-collapse{

+ 20 - 29
src/components/evaluationSystem/evaluationCompanyPage.vue

@@ -1,21 +1,19 @@
 <template>
     <div class="evaluationCompany" v-loading="loadingImport">
         <div class="evaluationCompanyBtn">
-            <p class="titleSty">考评单位管理</p>
             <div class="collectSeach">
                 <div class="exceed">
-                    <span class="exceedSpan" style="margin-top: 3px;">单位名称:</span>
+                    <span class="exceedSpan">单位名称:</span>
                     <el-input v-model="companyS" 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">
+            <div class="PeriodBtn">
+                <el-row :gutter="10" style="padding-left: 10px;">
                     <el-col :span="1.5">
                         <el-button
                         type="primary"
-                        plain
                         icon="Plus"
                         size="mini"
                         @click="handleAdd"
@@ -24,7 +22,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="success"
-                        plain
                         icon="Edit"
                         size="mini"
                         @click="handleEdit"
@@ -34,7 +31,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="danger"
-                        plain
                         icon="Delete"
                         size="mini"
                         :disabled="changeDateSelect.length === 0"
@@ -44,7 +40,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="info"
-                        plain
                         icon="Upload"
                         size="mini"
                         disabled
@@ -53,17 +48,16 @@
                     </el-col>
                     <el-col :span="1.5">
                         <el-button
-                            type="warning"
-                            plain
-                            icon="Download"
-                            size="mini"
-                            disabled
+                        type="warning"
+                        icon="Download"
+                        size="mini"
+                        disabled
                         >导出</el-button>
                     </el-col>
                 </el-row>
             </div>
             <div class="evaluationCompanyTableData">
-                <el-table :data="evaluationCompanyData" border style="width: 100%" @select="rowClick" @select-all="rowClick">
+                <el-table :data="evaluationCompanyData" style="width: 100%" @select="rowClick" @select-all="rowClick">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
                     <el-table-column label="单位名称" prop="organizationName" />
                     <!-- <el-table-column label="考评类别" prop="organizationType" /> -->
@@ -513,17 +507,21 @@ export default {
 <style lang="less">
 .evaluationCompany{
   .evaluationCompanyBtn{
-    //   background: #fff;
-        padding: 10px 20px 0 20px;
         .collectSeach{
             display: flex;
-            margin: 20px 20px 10px;
+            padding: 24px 20px;
+            border-bottom: 1px solid#D6DBEA;
                 .exceed{
                     display: flex;
                     .exceedSpan{
-                        margin-top: 3px;
                         width: 100px;
-                        display: inline-block;
+                        height: 12px;
+                        font-size: 14px;
+                        font-family: Microsoft YaHei;
+                        font-weight: 400;
+                        color: #8991B0;
+                        line-height: 12px;
+                        margin-top: 10px;
                     }
                     .el-input{
                         margin-right:10px;
@@ -549,19 +547,13 @@ export default {
                     }
                 }
         }
-        .titleSty{
-            border-left: 4px solid #007aab;
-            padding-left: 5px;
-            font-size: 16px;
-            font-weight: bold;
-            font-family: '微软雅黑';
-            margin-left:20px;
-        }
         span{
             font-size:14px;
         }
         .PeriodBtn{
-            padding-left: 10px;
+            display: flex;
+            justify-content: end;
+            padding: 20px 0;
         }
         .el-button{
             height: 30px;
@@ -591,7 +583,6 @@ export default {
         }
     }
   .evaluationCompanyTableData{
-    padding: 10px 20px;
     .el-table{
         .el-table__body-wrapper{
             height: 64vh !important;

+ 13 - 27
src/components/evaluationSystem/evaluationDepartmentPage.vue

@@ -1,21 +1,19 @@
 <template>
     <div class="evaluationDepartment" v-loading="loadingImport">
         <div class="evaluationDepartmentBtn">
-            <p class="titleSty">考评部门管理</p>
             <div class="collectSeach">
                 <div class="exceed">
-                    <span class="exceedSpan" style="margin-top: 3px;">部门名称:</span>
+                    <span class="exceedSpan">部门名称:</span>
                     <el-input v-model="departmentS" 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">
+            <div class="PeriodBtn">
+                <el-row :gutter="10" style="padding-left: 10px;">
                     <el-col :span="1.5">
                         <el-button
                         type="primary"
-                        plain
                         icon="Plus"
                         size="mini"
                         @click="handleAdd"
@@ -24,7 +22,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="success"
-                        plain
                         icon="Edit"
                         size="mini"
                         @click="handleEdit"
@@ -34,7 +31,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="danger"
-                        plain
                         icon="Delete"
                         size="mini"
                         :disabled="changeDateSelect.length === 0"
@@ -44,7 +40,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="info"
-                        plain
                         icon="Upload"
                         size="mini"
                         disabled
@@ -53,17 +48,16 @@
                     </el-col>
                     <el-col :span="1.5">
                         <el-button
-                            type="warning"
-                            plain
-                            icon="Download"
-                            size="mini"
-                            disabled
+                        type="warning"
+                        icon="Download"
+                        size="mini"
+                        disabled
                         >导出</el-button>
                     </el-col>
                 </el-row>
             </div>
             <div class="evaluationDepartmentTableData">
-                <el-table :data="evaluationDepartmentData" border style="width: 100%" @select="rowClick" @select-all="rowClick">
+                <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" />
@@ -441,11 +435,10 @@ export default {
 <style lang="less">
 .evaluationDepartment{
   .evaluationDepartmentBtn{
-    //   background: #fff;
-        padding: 10px 20px 0 20px;
         .collectSeach{
             display: flex;
-            margin: 20px 20px 10px;
+            padding: 24px 20px;
+            border-bottom: 1px solid#D6DBEA;
                 .exceed{
                     display: flex;
                     .exceedSpan{
@@ -477,19 +470,13 @@ export default {
                     }
                 }
         }
-        .titleSty{
-            border-left: 4px solid #007aab;
-            padding-left: 5px;
-            font-size: 16px;
-            font-weight: bold;
-            font-family: '微软雅黑';
-            margin-left:20px;
-        }
         span{
             font-size:14px;
         }
         .PeriodBtn{
-            padding-left: 10px;
+            display: flex;
+            justify-content: end;
+            padding: 20px 0;
         }
         .el-button{
             height: 30px;
@@ -516,7 +503,6 @@ export default {
         }
     }
   .evaluationDepartmentTableData{
-    padding: 10px 20px;
     .el-table{
         .el-table__body-wrapper{
             height: 64vh !important;

+ 16 - 25
src/components/evaluationSystem/evaluationIndexPage.vue

@@ -1,21 +1,19 @@
 <template>
     <div class="evaluationIndex" v-loading="loadingImport">
         <div class="evaluationIndexBtn">
-            <p class="titleSty">考评指标管理</p>
             <div class="collectSeach">
                 <div class="exceed">
-                    <span class="exceedSpan" style="margin-top: 3px;">指标名称:</span>
+                    <span class="exceedSpan">指标名称:</span>
                     <el-input v-model="indicatorIdS" 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">
+            <div class="PeriodBtn">
+                <el-row :gutter="10" style="padding-left: 10px;">
                     <el-col :span="1.5">
                         <el-button
                         type="primary"
-                        plain
                         icon="Plus"
                         size="mini"
                         @click="handleAdd"
@@ -24,7 +22,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="success"
-                        plain
                         icon="Edit"
                         size="mini"
                         @click="handleEdit"
@@ -34,7 +31,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="danger"
-                        plain
                         icon="Delete"
                         size="mini"
                         :disabled="changeDateSelect.length === 0"
@@ -44,7 +40,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="info"
-                        plain
                         icon="Upload"
                         size="mini"
                         disabled
@@ -54,7 +49,6 @@
                     <el-col :span="1.5">
                         <el-button
                             type="warning"
-                            plain
                             icon="Download"
                             size="mini"
                             disabled
@@ -63,7 +57,7 @@
                 </el-row>
             </div>
             <div class="evaluationIndexTableData">
-                <el-table :data="evaluationIndexData" border style="width: 100%" @select="rowClick" @select-all="rowClick">
+                <el-table :data="evaluationIndexData" style="width: 100%" @select="rowClick" @select-all="rowClick">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
                     <el-table-column label="指标名称" prop="indicatorName" />
                     <el-table-column label="指标编码" prop="indicatorCode" />
@@ -476,17 +470,21 @@ export default {
 <style lang="less">
 .evaluationIndex{
     .evaluationIndexBtn{
-    //   background: #fff;
-        padding: 10px 20px 0 20px;
         .collectSeach{
             display: flex;
-            margin: 20px 20px 10px;
+            padding: 24px 20px;
+            border-bottom: 1px solid#D6DBEA;
                 .exceed{
                     display: flex;
                     .exceedSpan{
-                        margin-top: 3px;
                         width: 100px;
-                        display: inline-block;
+                        height: 12px;
+                        font-size: 14px;
+                        font-family: Microsoft YaHei;
+                        font-weight: 400;
+                        color: #8991B0;
+                        line-height: 12px;
+                        margin-top: 10px;
                     }
                     .el-input{
                         margin-right:10px;
@@ -512,19 +510,13 @@ export default {
                     }
                 }
         }
-        .titleSty{
-            border-left: 4px solid #007aab;
-            padding-left: 5px;
-            font-size: 16px;
-            font-weight: bold;
-            font-family: '微软雅黑';
-            margin-left:20px;
-        }
         span{
             font-size:14px;
         }
         .PeriodBtn{
-            padding-left: 10px;
+            display: flex;
+            justify-content: end;
+            padding: 20px 0;
         }
         .el-button{
             height: 30px;
@@ -552,7 +544,6 @@ export default {
         }
     }
   .evaluationIndexTableData{
-    padding: 10px 20px;
     .el-table{
         .el-table__body-wrapper{
             height: 64vh !important;

+ 20 - 29
src/components/evaluationSystem/evaluationPersonnelPage.vue

@@ -1,21 +1,19 @@
 <template>
     <div class="evaluationPerson" v-loading="loadingImport">
         <div class="evaluationPersonBtn">
-            <p class="titleSty">考评人员管理</p>
             <div class="collectSeach">
                 <div class="exceed">
-                    <span class="exceedSpan" style="margin-top: 3px;">人员名称:</span>
+                    <span class="exceedSpan">人员名称:</span>
                     <el-input v-model="companyS" 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">
+            <div class="PeriodBtn">
+                <el-row :gutter="10" style="padding-left: 10px;">
                     <el-col :span="1.5">
                         <el-button
                         type="primary"
-                        plain
                         icon="Plus"
                         size="mini"
                         @click="handleAdd"
@@ -24,7 +22,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="success"
-                        plain
                         icon="Edit"
                         size="mini"
                         @click="handleEdit"
@@ -34,7 +31,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="danger"
-                        plain
                         icon="Delete"
                         size="mini"
                         :disabled="changeDateSelect.length === 0"
@@ -44,7 +40,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="info"
-                        plain
                         icon="Upload"
                         size="mini"
                         disabled
@@ -53,17 +48,16 @@
                     </el-col>
                     <el-col :span="1.5">
                         <el-button
-                            type="warning"
-                            plain
-                            icon="Download"
-                            size="mini"
-                            disabled
+                        type="warning"
+                        icon="Download"
+                        size="mini"
+                        disabled
                         >导出</el-button>
                     </el-col>
                 </el-row>
             </div>
             <div class="evaluationPersonTableData">
-                <el-table :data="evaluationPersonData" border style="width: 100%" @select="rowClick" @select-all="rowClick">
+                <el-table :data="evaluationPersonData" style="width: 100%" @select="rowClick" @select-all="rowClick">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
                     <el-table-column label="所属公司" prop="companyName" />
                     <el-table-column label="所属部门" prop="deptName" />
@@ -539,17 +533,21 @@ export default {
 <style lang="less">
 .evaluationPerson{
   .evaluationPersonBtn{
-    //   background: #fff;
-        padding: 10px 20px 0 20px;
         .collectSeach{
             display: flex;
-            margin: 20px 20px 10px;
+            padding: 24px 20px;
+            border-bottom: 1px solid#D6DBEA;
                 .exceed{
                     display: flex;
                     .exceedSpan{
-                        margin-top: 3px;
                         width: 100px;
-                        display: inline-block;
+                        height: 12px;
+                        font-size: 14px;
+                        font-family: Microsoft YaHei;
+                        font-weight: 400;
+                        color: #8991B0;
+                        line-height: 12px;
+                        margin-top: 10px;
                     }
                     .el-input{
                         margin-right:10px;
@@ -575,19 +573,13 @@ export default {
                     }
                 }
         }
-        .titleSty{
-            border-left: 4px solid #007aab;
-            padding-left: 5px;
-            font-size: 16px;
-            font-weight: bold;
-            font-family: '微软雅黑';
-            margin-left:20px;
-        }
         span{
             font-size:14px;
         }
         .PeriodBtn{
-            padding-left: 10px;
+            display: flex;
+            justify-content: end;
+            padding: 20px 0;
         }
         .el-button{
             height: 30px;
@@ -617,7 +609,6 @@ export default {
         }
     }
   .evaluationPersonTableData{
-    padding: 10px 20px;
     .el-table{
         .el-table__body-wrapper{
             height: 64vh !important;

+ 16 - 25
src/components/evaluationSystem/evaluationRulesPage.vue

@@ -1,21 +1,19 @@
 <template>
     <div class="evaluationRule" v-loading="loadingImport">
         <div class="evaluationRuleBtn">
-            <p class="titleSty">考评规则管理</p>
             <div class="collectSeach">
                 <div class="exceed">
-                    <span class="exceedSpan" style="margin-top: 3px;">业务属性:</span>
+                    <span class="exceedSpan">业务属性:</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>
             </div>
-            <div style="display:flex;justify-content: space-between;padding: 10px;">
-                <el-row :gutter="10" class="PeriodBtn">
+            <div class="PeriodBtn">
+                <el-row :gutter="10" style="padding-left: 10px;">
                     <el-col :span="1.5">
                         <el-button
                         type="primary"
-                        plain
                         icon="Plus"
                         size="mini"
                         @click="handleAdd"
@@ -24,7 +22,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="success"
-                        plain
                         icon="Edit"
                         size="mini"
                         @click="handleEdit"
@@ -34,7 +31,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="danger"
-                        plain
                         icon="Delete"
                         size="mini"
                         :disabled="changeDateSelect.length === 0"
@@ -44,7 +40,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="info"
-                        plain
                         icon="Upload"
                         size="mini"
                         disabled
@@ -54,7 +49,6 @@
                     <el-col :span="1.5">
                         <el-button
                             type="warning"
-                            plain
                             icon="Download"
                             size="mini"
                             disabled
@@ -63,7 +57,7 @@
                 </el-row>
             </div>
             <div class="evaluationRuleTableData">
-                <el-table :data="evaluationRuleData" border style="width: 100%" @select="rowClick" @select-all="rowClick">
+                <el-table :data="evaluationRuleData" 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="binStageName" />
@@ -350,17 +344,21 @@ export default {
 <style lang="less">
 .evaluationRule{
   .evaluationRuleBtn{
-    //   background: #fff;
-        padding: 10px 20px 0 20px;
         .collectSeach{
             display: flex;
-            margin: 20px 20px 10px;
+            padding: 24px 20px;
+            border-bottom: 1px solid#D6DBEA;
                 .exceed{
                     display: flex;
                     .exceedSpan{
-                        margin-top: 3px;
                         width: 100px;
-                        display: inline-block;
+                        height: 12px;
+                        font-size: 14px;
+                        font-family: Microsoft YaHei;
+                        font-weight: 400;
+                        color: #8991B0;
+                        line-height: 12px;
+                        margin-top: 10px;
                     }
                     .el-input{
                         margin-right:10px;
@@ -386,19 +384,13 @@ export default {
                     }
                 }
         }
-        .titleSty{
-            border-left: 4px solid #007aab;
-            padding-left: 5px;
-            font-size: 16px;
-            font-weight: bold;
-            font-family: '微软雅黑';
-            margin-left:20px;
-        }
         span{
             font-size:14px;
         }
         .PeriodBtn{
-            padding-left: 10px;
+            display: flex;
+            justify-content: end;
+            padding: 20px 0;
         }
         .el-button{
             height: 30px;
@@ -425,7 +417,6 @@ export default {
         }
     }
   .evaluationRuleTableData{
-    padding: 10px 20px;
     .el-table{
         .el-table__body-wrapper{
             height: 64vh !important;

+ 16 - 12
src/components/evaluationSystem/ruleDetailPage.vue

@@ -11,12 +11,11 @@
                         <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">
+                    <div class="PeriodBtn">
+                        <el-row :gutter="10" style="padding-left: 10px;">
                             <el-col :span="1.5">
                                 <el-button
                                 type="primary"
-                                plain
                                 icon="Plus"
                                 size="mini"
                                 @click="handleAdd"
@@ -25,7 +24,6 @@
                             <el-col :span="1.5">
                                 <el-button
                                 type="success"
-                                plain
                                 icon="Edit"
                                 size="mini"
                                 @click="handleEdit"
@@ -35,7 +33,6 @@
                             <el-col :span="1.5">
                                 <el-button
                                 type="danger"
-                                plain
                                 icon="Delete"
                                 size="mini"
                                 :disabled="changeDateSelect.length === 0"
@@ -45,7 +42,7 @@
                         </el-row>
                     </div>
                     <div class="ruleItemTableData">
-                        <el-table :data="ruleDetailData" border style="width: 100%" @select="rowClick" @select-all="rowClick">
+                        <el-table :data="ruleDetailData" style="width: 100%" @select="rowClick" @select-all="rowClick">
                             <el-table-column type="selection" label="操作" align="center"></el-table-column>
                             <el-table-column label="指标ID" prop="indicatorId" />
                             <el-table-column label="考评规则id" prop="evaluateRuleId" />
@@ -299,13 +296,19 @@ export default {
                         padding: 10px 20px 0 20px;
                         .collectSeach{
                             display: flex;
-                            margin: 20px 20px 10px;
+                            padding: 24px 20px;
+                            border-bottom: 1px solid#D6DBEA;
                                 .exceed{
                                     display: flex;
                                     .indicatorSpan{
-                                        margin-top: 3px;
-                                        width: 80px;
-                                        display: inline-block;
+                                        width: 100px;
+                                        height: 12px;
+                                        font-size: 14px;
+                                        font-family: Microsoft YaHei;
+                                        font-weight: 400;
+                                        color: #8991B0;
+                                        line-height: 12px;
+                                        margin-top: 10px;
                                     }
                                     .el-input{
                                         margin-right:10px;
@@ -335,7 +338,9 @@ export default {
                             font-size:14px;
                         }
                         .PeriodBtn{
-                            padding-left: 10px;
+                            display: flex;
+                            justify-content: end;
+                            padding: 20px 0;
                         }
                         .el-button{
                             height: 30px;
@@ -346,7 +351,6 @@ export default {
                         }
                     }
                     .ruleItemTableData{
-                        padding: 10px 20px;
                         .el-table{
                             .el-table__body-wrapper{
                                 height: 55vh !important;

+ 39 - 36
src/components/knowledgePage/scoringRulesDetailPage.vue

@@ -3,12 +3,11 @@
         <el-dialog title="考评得分规则详情" v-model="editEvaluaVisible" width="70vw" :close-on-click-modal="false">
             <div class="rulesDetailAll">
                 <div class="rulesDetailBtn">
-                    <div style="display:flex;justify-content: space-between;padding: 10px;">
-                        <el-row :gutter="10" class="PeriodBtn">
+                    <div class="PeriodBtn">
+                        <el-row :gutter="10" style="padding-left: 10px;">
                             <el-col :span="1.5">
                                 <el-button
                                 type="primary"
-                                plain
                                 icon="Plus"
                                 size="mini"
                                 @click="handleAdd"
@@ -17,7 +16,6 @@
                             <el-col :span="1.5">
                                 <el-button
                                 type="success"
-                                plain
                                 icon="Edit"
                                 size="mini"
                                 @click="handleEdit"
@@ -27,7 +25,6 @@
                             <el-col :span="1.5">
                                 <el-button
                                 type="danger"
-                                plain
                                 icon="Delete"
                                 size="mini"
                                 :disabled="changeDateSelect.length === 0"
@@ -37,7 +34,7 @@
                         </el-row>
                     </div>
                     <div class="rulesDetailTableData">
-                        <el-table :data="indicatoroptions" border style="width: 100%" @select="rowClick" @select-all="rowClick">
+                        <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="regularExpression" />
                             <el-table-column label="规则区间" prop="range" />
@@ -114,7 +111,7 @@
                                                     <template #default="scope">
                                                         <el-popover trigger="hover" placement="bottom">
                                                         <p>描述:{{ scope.row.describe }}</p>
-                                                        <p>参数:{{ scope.row.param }}</p>
+                                                        <!-- <p>参数:{{ scope.row.param }}</p> -->
                                                         <template #reference>
                                                             <span size="medium" transition="fade-in-linear">{{
                                                             scope.row.name
@@ -127,7 +124,7 @@
                                                     <template #default="scope">
                                                         <el-popover trigger="hover" placement="bottom">
                                                         <p>描述:{{ scope.row.describe }}</p>
-                                                        <p>参数:{{ scope.row.param }}</p>
+                                                        <!-- <p>参数:{{ scope.row.param }}</p> -->
                                                         <template #reference>
                                                             <span size="medium" transition="fade-in-linear">{{
                                                             scope.row.lab
@@ -237,31 +234,32 @@ export default {
     },
     created() {
         this.funcMsg = [
+            { lab: "IF", name: "IF函数", param: "", describe: "", scene: "" },
             {
                 lab: "MR",
                 name: "移动极差",
-                param: "测点名,时间(秒)",
+                // param: "测点名,时间(秒)",
                 describe: "是指两个或多个连续样本值中最大值与最小值之差",
                 scene: "测点的移动极差超限报警",
             },
             {
                 lab: "MAR",
                 name: "均值极差",
-                param: "测点名,时间(秒)",
+                // param: "测点名,时间(秒)",
                 describe: "",
                 scene: "测点的均值极差计算",
             },
             {
                 lab: "RiseExceed",
                 name: "上升趋势",
-                param: "测点名,时间(秒),阈值",
+                // param: "测点名,时间(秒),阈值",
                 describe: "取测点在给定的时间范围内数据上升的量是否超过阈值",
                 scene: "测点值的上升速度过快等",
             },
             {
                 lab: "Sustain",
                 name: "持续时间",
-                param: "表达式,时间(秒)",
+                // param: "表达式,时间(秒)",
                 describe:
                 "判定状态(表达式成立)持续的时间是否超过给定的时间判断状态持续的时间",
                 scene: "",
@@ -269,161 +267,161 @@ export default {
             {
                 lab: "LastUpdateTime",
                 name: "最近数据时间",
-                param: "测点名",
+                // param: "测点名",
                 describe: "",
                 scene: "判定离线,状态持续时间等",
             },
             {
                 lab: "abs",
                 name: "取绝对值",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "acos",
                 name: "反余弦",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "asin",
                 name: "反正弦",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "atan",
                 name: "反正切",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "atan2",
                 name: "xy坐标转为极坐标",
-                param: "x,y",
+                // param: "x,y",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "ceiling",
                 name: "向上取整",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "cos",
                 name: "余弦",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "cosh",
                 name: "双曲线余弦",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "exp",
                 name: "欧拉数 e 的 double 次幂的值",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "floor",
                 name: "向下取整",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "log",
                 name: "自然对数",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "log10",
                 name: "底数为 10 的对数",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "max",
                 name: "比较最大值",
-                param: "double a, double b",
+                // param: "double a, double b",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "min",
                 name: "比较最小值",
-                param: "double a, double b",
+                // param: "double a, double b",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "pow",
                 name: "返回第一个参数的第二个参数次幂的值",
-                param: "double a, double b",
+                // param: "double a, double b",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "round",
                 name: "返回最接近参数的 long,或int",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "sign",
                 name: "负数返回-1.0,整数返回1.0,0返回0.0",
-                param: "float f/double a",
+                // param: "float f/double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "sin",
                 name: "三角正弦值",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "sinh",
                 name: "双曲线正弦",
-                param: "double x",
+                // param: "double x",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "sqrt",
                 name: "正平方根",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "tan",
                 name: "正切",
-                param: "double a",
+                // param: "double a",
                 describe: "",
                 scene: "",
             },
             {
                 lab: "tanh",
                 name: "双曲线正切",
-                param: "double x",
+                // param: "double x",
                 describe: "",
                 scene: "",
             },
@@ -519,6 +517,7 @@ export default {
             let txt = elInput.value;
             let func;
             if (
+                row.lab === "IF" ||
                 row.lab === "MR" ||
                 row.lab === "MAR" ||
                 row.lab === "RiseExceed" ||
@@ -674,9 +673,13 @@ export default {
                     }
                     .rulesDetailBtn{
                         padding: 10px 20px 0 20px;
+                        .PeriodBtn{
+                            display: flex;
+                            justify-content: end;
+                            padding: 20px 0;
+                        }
                     }
                     .rulesDetailTableData{
-                        padding: 10px 20px;
                         .el-table{
                             .el-table__body-wrapper{
                                 height: 55vh !important;

+ 47 - 51
src/components/knowledgePage/scoringRulesPage.vue

@@ -1,10 +1,9 @@
 <template>
     <div class="scoringRules" v-loading="loadingImport">
         <div class="scoringRulesBtn">
-            <p class="titleSty">考评得分规则</p>
             <div class="collectSeach">
                 <div class="exceed">
-                    <span style="margin-top: 3px;">指标名称:</span>
+                    <span class="exceedSpan">指标名称:</span>
                     <el-select v-model="indicatorStr" placeholder="请选择指标名称">
                         <el-option
                         v-for="item in indicItemoptions"
@@ -17,12 +16,11 @@
                 <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
                 <el-button style="margin-left: 10px;" @click="reset">重置</el-button>
             </div>
-            <div style="display:flex;justify-content: space-between;padding: 10px;">
-                <el-row :gutter="10" class="PeriodBtn">
+            <div class="PeriodBtn">
+                <el-row :gutter="10" style="padding-left: 10px;">
                     <el-col :span="1.5">
                         <el-button
                         type="primary"
-                        plain
                         icon="Plus"
                         size="mini"
                         @click="handleAdd"
@@ -31,7 +29,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="success"
-                        plain
                         icon="Edit"
                         size="mini"
                         @click="handleEdit"
@@ -41,7 +38,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="danger"
-                        plain
                         icon="Delete"
                         size="mini"
                         :disabled="changeDateSelect.length === 0"
@@ -51,7 +47,6 @@
                     <el-col :span="1.5">
                         <el-button
                         type="info"
-                        plain
                         icon="Upload"
                         size="mini"
                         disabled
@@ -60,17 +55,16 @@
                     </el-col>
                     <el-col :span="1.5">
                         <el-button
-                            type="warning"
-                            plain
-                            icon="Download"
-                            size="mini"
-                            disabled
+                        type="warning"
+                        icon="Download"
+                        size="mini"
+                        disabled
                         >导出</el-button>
                     </el-col>
                 </el-row>
             </div>
             <div class="scoringRulesTableData">
-                <el-table :data="scoringRulesData" border style="width: 100%" @select="rowClick" @select-all="allSelect">
+                <el-table :data="scoringRulesData" style="width: 100%" @select="rowClick" @select-all="allSelect">
                     <el-table-column type="selection" label="操作" align="center" />
                     <el-table-column label="规则名称" prop="scoreRuleName" width="200" />
                     <el-table-column label="业务属性" prop="businessName"  width="200" />
@@ -365,17 +359,26 @@ export default {
 <style lang="less">
 .scoringRules{
     .scoringRulesBtn{
-        //   background: #fff;
-        padding: 10px 20px 0 20px;
         .collectSeach{
             display: flex;
-            margin: 20px 20px 10px;
+            padding: 24px 20px;
+            border-bottom: 1px solid#D6DBEA;
                 .exceed{
                     display: flex;
+                    .exceedSpan{
+                        width: 75px;
+                        height: 12px;
+                        font-size: 14px;
+                        font-family: Microsoft YaHei;
+                        font-weight: 400;
+                        color: #8991B0;
+                        line-height: 12px;
+                        margin-top: 10px;
+                    }
                     .el-input{
                         margin-right:10px;
                         .el-input__inner{
-                            height:30px;
+                            height:40px;
                         }
                         .el-input__suffix{
                             .el-select__caret{
@@ -396,19 +399,13 @@ export default {
                     }
                 }
         }
-        .titleSty{
-            border-left: 4px solid #007aab;
-            padding-left: 5px;
-            font-size: 16px;
-            font-weight: bold;
-            font-family: '微软雅黑';
-            margin-left:20px;
-        }
         span{
             font-size:14px;
         }
         .PeriodBtn{
-            padding-left: 10px;
+            display: flex;
+            justify-content: end;
+            padding: 20px 0;
         }
         .el-button{
             height: 30px;
@@ -421,32 +418,31 @@ export default {
         }
     }
     .scoringRulesTableData{
-    padding: 10px 20px;
-    .el-table{
-        .el-table__body-wrapper{
-            height: 64vh !important;
-        }
-        .el-input__inner{
-            height: 30px !important;
-        }
-        .el-radio__label{
-            display: none;
-        }
-        .indicitem{
-            color: #409EFF;
-            font-size: 12px;
-            margin-right: 20px;
-            cursor:pointer;
-            &:hover{
-                text-decoration: underline;
+        .el-table{
+            .el-table__body-wrapper{
+                height: 64vh !important;
+            }
+            .el-input__inner{
+                height: 30px !important;
+            }
+            .el-radio__label{
+                display: none;
+            }
+            .indicitem{
+                color: #409EFF;
+                font-size: 12px;
+                margin-right: 20px;
+                cursor:pointer;
+                &:hover{
+                    text-decoration: underline;
+                }
             }
         }
-    }
-    .el-pagination{
-        margin-top: 20px;
-        text-align: end;
-        position: relative;
-    }
+        .el-pagination{
+            margin-top: 20px;
+            text-align: end;
+            position: relative;
+        }
     }
     .el-overlay{
         .el-dialog{

+ 8 - 2
src/components/menuTreeconfig.vue

@@ -4,15 +4,21 @@
       <el-sub-menu :key="menu.index" :index="menu.index" v-if="menu.children">
           <template #title>
               <!-- <i :class="menu.icon"></i> -->
-              {{menu.name}}
+              <img :src="menu.img" v-if="menu.index === '1'">
+              <img :src="menu.img" v-else-if="menu.index === '2'">
+              <img :src="menu.img" v-else-if="menu.index === '3'">
+              <img :src="menu.img" v-else-if="menu.index === '4'">
+              <span style="margin-left: 10px">{{menu.name}}</span>
+              
               <!-- <span slot="title">{{menu.name}}</span> -->
           </template>
           <menu-tree :menuData="menu.children"></menu-tree>
       </el-sub-menu>
       <el-menu-item :key="menu.index" :index="menu.index" :route="menu.index" v-else>
           <!-- <i :class="menu.icon"></i> -->
+          <img :src="menu.img" alt="">
           <template #title>
-            {{menu.name}}
+            <span style="margin-left: 10px">{{menu.name}}</span>
           </template>
           <!-- <span slot="title">{{menu.name}}</span> -->
       </el-menu-item>

+ 182 - 321
src/views/homePage.vue

@@ -1,36 +1,22 @@
 <template>
     <div class="homePage">
-        <!-- <div class="leftMenu">
-            <div class="logoSty">
-                <img src="../assets/logoG.png" alt="">
-            </div>
-            <div class="firstLevel">
-                <div class="firstLevel_icon" v-for="item in leftLevelData" :key="item.index" @click="changeRoute(item)">
-                    <div class="firstLevel_img" :class="getBac(item.showBac)">
-                        <img :src="item.image">
-                    </div>
-                    <div class="firstLevel_title">
-                        <span>{{item.name}}</span>
-                    </div>
-                </div>
-            </div>
-        </div> -->
         <div class="frameMain" :style="allHeight">
-            <div class="treeList">
-                <p>全业务域考评系统</p>
-                <el-tree ref="tree" :data="forecastDatas" :props="defaultProps" highlight-current node-key="id"
-                :default-expanded-keys="expendData" @node-click="handleNodeClick" @node-expand="handleNodeExpand">
-                    <template #default="{ node, data }">
-                        <span class="custom-tree-node">
-                            <el-icon size="small" v-if="node.level === 1 && data.id !== '0'"><FolderOpened /></el-icon>
-                            <span v-if="data.id === '0'" style="margin-left:17px;font-size:14px;line-height:35px;display:inline-block">{{node.label}}</span>
-                            <span v-else style="margin-left:5px;font-size:14px;line-height:35px;display:inline-block">{{node.label}}</span>
-                        </span>
-                    </template>
-                </el-tree>
+            <div class="menuList">
+                <el-menu
+                :default-active="$route.path"
+                router
+                :unique-opened="true"
+                :default-openeds="openeds"
+                @select="handleNodeClick"
+                text-color="#fff"
+                background-color="#184FB4"
+                active-text-color="#fff">
+                    <!-- 引入组件 -->
+                    <menu-tree :menuData="forecastDatas"></menu-tree>
+                </el-menu>
             </div>
             <div class="homeMain" :style="mainHeight">
-                <div style="height:40px">
+                <div class="homeMain_tag">
                     <el-tag
                         v-for="tag in routeTags"
                         :key="tag.name"
@@ -38,14 +24,13 @@
                         size="large"
                         class="tagArr"
                         effect="dark"
-                        :type="tag.type"
+                        :type="tag.index === $route.path ? '': 'info'"
                         @close="handleClose(tag)"
                         @click="handleShowPage(tag)"
                     >
                         <span>{{ tag.name }}</span>
                     </el-tag>
                 </div>
-                <!-- :style="$route.path === '/home'? 'background: #f3f7f8;': 'background: #fff;padding-top: 10px'" -->
                 <div class="mainMessage" :style="viewHeight">
                     <router-view></router-view>
                 </div>
@@ -55,13 +40,19 @@
 </template>
 
 <script>
-import Assessment from "../assets/indexIcon/Assessment.png"
+import MenuTree from '../components/menuTreeconfig.vue'
+import homeImg from '../assets/menuImg/home.png'
+import yewuImg from '../assets/menuImg/yewu.png'
+import tixiImg from '../assets/menuImg/tixi.png'
+import zhishikuImg from '../assets/menuImg/zhishiku.png'
+import quanxianImg from '../assets/menuImg/quanxian.png'
 export default {
+    components: {MenuTree},
     data() {
         return {
-            leftLevelData: [],
             forecastDatas: [],
             expendData: ['0'],
+            openeds:[],
             routeTags: [],
             defaultProps: {
                 children: 'children',
@@ -70,240 +61,143 @@ export default {
         }
     },
     created(){
-        this.leftLevelData = [
-            // {
-            //     index: '/index',
-            //     name: '系统门户',
-            //     image: gateway,
-            //     showBac: true
-            // },
-            // {
-            //     index: '/benchmark',
-            //     name: '对标业务',
-            //     image: benchmarking
-            // },
-            {
-                index: '/assessment',
-                name: '考评业务',
-                image: Assessment
-            },
-            // {
-            //     index: '/configure',
-            //     name: '系统配置',
-            //     image: configure
-            // }
-        ]
         this.forecastDatas = [
             {
-                id: '0',
-                label: '考评首页',
-                path: '/home'
+                index: '/home',
+                name: '考评首页',
+                img: homeImg
             },
-            // {
-            //     id: '1',
-            //     label: '对标业务',
-            //     children: [
-            //         {
-            //             id: '1-1',
-            //             label: '排行榜',
-            //         },
-            //         {
-            //             id: '1-2',
-            //             label: '分类对标',
-            //         },
-            //         {
-            //             id: '1-3',
-            //             label: '综合对标',
-            //         },
-            //         {
-            //             id: '1-4',
-            //             label: '立标管理',
-            //         },
-            //         {
-            //             id: '1-5',
-            //             label: '寻标管理',
-            //         },
-            //         {
-            //             id: '1-6',
-            //             label: '达标管理',
-            //         },
-            //         {
-            //             id: '1-7',
-            //             label: '超标管理',
-            //         },
-            //         {
-            //             id: '1-8',
-            //             label: '对标报告'
-            //         }
-            //     ]
-            // },
             {
-                id: '2',
-                label: '考评业务',
+                index: '1',
+                name: '考评业务',
+                img: yewuImg,
                 children: [
                     {
-                        id: '2-1',
-                        label: '考评总览'
+                        index: '',
+                        name: '考评总览'
                     },
                     {
-                        id: '2-2',
-                        label: '考评启动',
-                        path: '/assessment/evaluationStart'
+                        index: '/assessment/evaluationStart',
+                        name: '考评启动',
                     },
                     {
-                        id: '2-3',
-                        label: '考评修订'
+                        index: '',
+                        name: '考评修订'
                     },
                     {
-                        id: '2-4',
-                        label: '考评目标分解'
+                        index: '',
+                        name: '考评目标分解'
                     },
                     {
-                        id: '2-5',
-                        label: '月/季度考评',
-                        path: '/assessment/monthQuarter'
+                        index: '/assessment/monthQuarter',
+                        name: '月/季度考评'
                     },
                     {
-                        id: '2-6',
-                        label: '考评项对标'
+                        index: '',
+                        name: '考评项对标'
                     },
                     {
-                        id: '2-7',
-                        label: '考评项预警'
+                        index: '',
+                        name: '考评项预警'
                     },
                     {
-                        id: '2-8',
-                        label: '年度考评'
+                        index: '',
+                        name: '年度考评'
                     },
                     {
-                        id: '2-9',
-                        label: '人员考评'
+                        index: '',
+                        name: '人员考评'
                     },
                     {
-                        id: '2-10',
-                        label: '任期考评'
+                        index: '',
+                        name: '任期考评'
                     },
                     {
-                        id: '2-11',
-                        label: '考评监督'
+                        index: '',
+                        name: '考评监督'
                     },
                     {
-                        id: '2-12',
-                        label: '考评评级'
+                        index: '',
+                        name: '考评评级'
                     },
                     {
-                        id: '2-13',
-                        label: '考评报告'
+                        index: '',
+                        name: '考评报告'
                     },
                     {
-                        id: '2-14',
-                        label: '考评公告'
+                        index: '',
+                        name: '考评公告'
                     },
                     {
-                        id: '2-15',
-                        label: '奖金及薪资总额调整'
-                    },
+                        index: '',
+                        name: '奖金及薪资总额调整'
+                    }
                 ]
             },
             {
-                id: '5',
-                label: '考评体系配置',
+                index: '2',
+                name: '考评体系配置',
+                img: tixiImg,
                 children: [
                     {
-                        id: '5-1',
-                        label: '考评指标管理',
-                        path: '/evaluationSystem/evaluationIndex'
+                        index: '/evaluationSystem/evaluationIndex',
+                        name: '考评指标管理',
                     },
                     {
-                        id: '5-2',
-                        label: '考评规则配置',
-                        path: '/evaluationSystem/evaluationRules'
+                        index: '/evaluationSystem/evaluationRules',
+                        name: '考评规则配置',
                     },
                     {
-                        id: '5-3',
-                        label: '考评单位配置',
-                        path: '/evaluationSystem/company'
+                        index: '/evaluationSystem/company',
+                        name: '考评单位配置',
                     },
                     {
-                        id: '5-4',
-                        label: '考评部门配置',
-                        path: '/evaluationSystem/department'
+                        index: '/evaluationSystem/department',
+                        name: '考评部门配置',
                     },
                     {
-                        id: '5-5',
-                        label: '考评人员配置',
-                        path: '/evaluationSystem/personnel'
+                        index: '/evaluationSystem/personnel',
+                        name: '考评人员配置',
                     },
                 ]
             },
             {
-                id: '3',
-                label: '考评知识库',
+                index: '3',
+                name: '考评知识库',
+                img: zhishikuImg,
                 children: [
-                    // {
-                    //     id: '3-1',
-                    //     label: '对标指标标准',
-                    // },
-                    // {
-                    //     id: '3-2',
-                    //     label: '对标算法规则',
-                    // },
-                    // {
-                    //     id: '3-3',
-                    //     label: '对标预警规则',
-                    // },
                     {
-                        id: '3-4',
-                        label: '考评得分规则',
-                        path: '/knowledgePage/scoringRules'
+                        index: '/knowledgePage/scoringRules',
+                        name: '考评得分规则',
                     },
                     {
-                        id: '3-5',
-                        label: '考评评级规则',
+                        name: '考评评级规则',
                     },
                     {
-                        id: '3-6',
-                        label: '考评预警规则',
-                    },
+                        name: '考评预警规则',
+                    }
                 ]
             },
-            // {
-            //     id: '4',
-            //     label: '对标体系配置',
-            //     children: [
-            //         {
-            //             id: '4-1',
-            //             label: '对标指标管理',
-            //         },
-            //         {
-            //             id: '4-2',
-            //             label: '指标规则配置',
-            //         },
-            //         {
-            //             id: '4-3',
-            //             label: '对标结构配置',
-            //         },
-            //     ]
-            // },            
             {
-                id: '6',
-                label: '信息权限配置',
+                index: '4',
+                name: '信息权限配置',
+                img: quanxianImg,
                 children: [
                     {
-                        id: '6-1',
-                        label: '单位信息配置',
+                        index: '',
+                        name: '单位信息配置',
                     },
                     {
-                        id: '6-2',
-                        label: '部门信息配置',
+                        index: '',
+                        name: '部门信息配置',
                     },
                     {
-                        id: '6-3',
-                        label: '人员权限配置',
+                        index: '',
+                        name: '人员权限配置',
                     },
                     {
-                        id: '6-4',
-                        label: '工作流程配置',
+                        index: '',
+                        name: '工作流程配置',
                     }
                 ]
             }
@@ -311,14 +205,13 @@ export default {
         if (window.localStorage.getItem('routeTags')) {
             this.routeTags = JSON.parse(window.localStorage.getItem('routeTags'))
             if (this.$route?.path === '/') {
-                this.$router.push({ path: this.routeTags[0].path})
+                this.$router.push({ path: this.routeTags[0].index})
             }
         } else {
             this.routeTags = [
                 {
-                    id: '0',
-                    name: '考评首页',
-                    path: '/home'
+                    index: '/home',
+                    name: '考评首页'
                 }
             ]
             this.$router.push({ path: this.routeTags[0].path})
@@ -327,63 +220,26 @@ export default {
         
     },
     mounted() {
-         this.$nextTick(() => {
-            if (this.$route?.path) {
-                let path = this.$route.path
-                this.expendData = []
-                for(let i =0; i<this.forecastDatas.length; i++) {
-                    let item = this.forecastDatas[i]
-                    if (item.id !== '0') {
-                        for(let j =0; j<item.children.length; j++) {
-                            let it = item.children[j]
-                            if (it.path === path) {
-                                if (this.$refs.tree) {
-                                    this.$refs.tree.setCurrentKey(it.id)
-                                    this.expendData = [item.id]
-                                }
-                            }
-                        }
-                    } else {
-                        if (this.$refs.tree) {
-                            this.$refs.tree.setCurrentKey(item.id)
-                            this.expendData = [item.id]
-                        }
-                    }
-                }
-            }
-        })
     },
     computed:{
         mainHeight() {
             return {
                 // 'height': document.documentElement.clientHeight-50 + 'px'
-                'width': '86%',
-                'height': '95vh'
+                'height': '100vh'
             }
         },
         allHeight() {
             return {
                 'width': '100%',
                 // 'height': document.documentElement.clientHeight-40 + 'px'
-                'height': '96vh'
+                'height': '100vh'
             }
         },
         viewHeight() {
-            let back = ''
-            let pad = ''
-            if (this.$route.path === '/home') {
-                back = '#f3f7f8;'
-                pad = '0'
-            } else {
-                back = '#fff'
-                pad = '10px'
-            }
             return {
                 'width': '100%',
                 // 'height': document.documentElement.clientHeight-40 + 'px'
-                'height': '91vh',
-                'background': back,
-                'padding-top': pad
+                'height': '91vh'
             }
         }
     },
@@ -403,35 +259,43 @@ export default {
                 this.$router.push({ path: item.index})
             }
         },
-        handleNodeClick(val) {
-            if (val.path) {
-                this.$router.push({ path: val.path})
-                let showM = 0
-                this.routeTags.forEach(item =>{
-                    if (item.name === val.label) {
-                        showM++
+        handleNodeClick(index, indexPath) {
+            if (indexPath) {
+                this.forecastDatas.forEach(it =>{
+                    if (it.index !== '') {
+                        if (it.index === indexPath[0]) {
+                            if (!it.children) {
+                                let showM = 0
+                                this.routeTags.forEach(item =>{
+                                    if (item.name === it.name) {
+                                        showM++
+                                    }
+                                })
+                                if (showM === 0) {
+                                    this.routeTags.push(it)
+                                }
+                            } else {
+                                it.children.forEach(iv =>{
+                                    if (iv.index !== '') {
+                                        if (iv.index === indexPath[1]) {
+                                            let showM = 0
+                                            this.routeTags.forEach(item =>{
+                                                if (item.name === iv.name) {
+                                                    showM++
+                                                }
+                                            })
+                                            if (showM === 0) {
+                                                this.routeTags.push(iv)
+                                            }
+                                        }
+                                    }
+                                })
+                            }
+                        }
                     }
                 })
-                if (showM === 0) {
-                    this.routeTags.push({
-                        id: val.id,
-                        name: val.label,
-                        path: val.path
-                    })
-                }
                 window.localStorage.setItem('routeTags', JSON.stringify(this.routeTags))
             }
-            if (val.id === '0') {
-                let node = this.$refs.tree.getNode(val)
-                this.handleNodeExpand(val, node)
-            }
-        },
-        handleNodeExpand(data, node) {
-            node.parent.childNodes.forEach(item =>{
-                if (data.id !== item.data.id) {
-                    item.expanded = false
-                }
-            })
         },
         handleClose(tag) {
             if (this.routeTags.length > 1) {
@@ -440,11 +304,7 @@ export default {
             }
         },
         handleShowPage(tag) {
-            this.$router.push({ path: tag.path})
-            let node = this.$refs.tree.getNode(tag)
-            this.handleNodeExpand(tag, tag.id === '0'?node:node.parent)
-            this.$refs.tree.setCurrentKey(tag.id)
-            this.expendData = [tag.id]
+            this.$router.push({ path: tag.index})
         }
     }
 }
@@ -453,7 +313,6 @@ export default {
 <style lang="less">
 .homePage{
     display: flex;
-    padding: 10px 10px;
     .leftMenu{
         width: 70px;
         .logoSty{
@@ -502,68 +361,70 @@ export default {
         }
     }
     .frameMain{
-        background: #f3f7f8;
+        // background: #f3f7f8;
         border-radius: 30px;
-        padding: 10px 0;
         display: flex;
-        .treeList{
-            margin-left: 5px;
-            // width: 15%;
+        .menuList{
             width: 13vw;
-            // background: #fff;
-            border-radius: 20px;
-            p{
-                font-size: 18px;
-                font-family: '微软雅黑';
-                font-weight: bold;
-                color: #171e28;
-                position: relative;
-                left: 30px;
-                top: 5px;
-                letter-spacing: 1px;
-            }
-            .el-tree{
-                position: relative;
-                top: 30px;
-                padding: 0 0 0 20px;
-                background: transparent;
-                .el-tree-node{
-                    .el-tree-node__content{
-                        height: 35px;
-                        .custom-tree-node{
-                            height: 35px;
+            height: 100vh;
+            background-color: #184FB4;
+            .el-menu{
+                .el-sub-menu{
+                    .el-menu--inline{
+                        .el-menu-item{
+                            height: 30px;
+                            margin-bottom: 10px;
+                            border-radius: 15px 0 0 15px;
+                            width: 90%;
+                            position: relative;
+                            left: 12%;
+                            padding-left: 15px;
                         }
-                    }
-                    .el-tree-node__children{
-                        .el-tree-node__content{
-                            height: 35px;
-                            .custom-tree-node{
-                                height: 35px;
-                            }
+                        .el-menu-item:hover, .el-menu-item.is-active{
+                            background-color: #fff;
+                            border-radius: 15px 0 0 15px;
+                            color: #2778FF;
+                            width: 90%;
+                            position: relative;
+                            left: 12%;
+                            padding-left: 15px;
+                        }
+                        .el-sub-menu__title:hover{
+                            background-color: #1063CB !important;
                         }
                     }
                 }
             }
-            .el-tree--highlight-current
-            .el-tree-node.is-current
-            > .el-tree-node__content {
-                background-color: rgba(135, 206, 235, 0.2);
-                color: #007aab;
-                font-weight: bold;
-                border-radius: 5px;
-            }
         }
         .homeMain{
-            width: 87vw;
-            .tagArr{
-                height: 25px;
-                margin-right: 10px;
-                cursor: pointer;
+            width: 86vw;
+            .homeMain_tag{
+                height:60px;
+                border-bottom: 1px solid #D6DBEA;
+                .tagArr{
+                    height: 33px;
+                    margin-left: 10px;
+                    cursor: pointer;
+                    position: relative;
+                    top: 28px;
+                }
+                .el-tag--dark{
+                    background-color: #184FB4;
+                    border: 1px solid #184FB4;
+                }
+                .el-tag--info{
+                    background-color: #E6EBF5;
+                    border: 1px solid #E6EBF5;
+                    color: #9DA5BE;
+                    .el-tag__close{
+                        color: #9DA5BE;
+                    }
+                }
             }
             .mainMessage{
                 // width: 85vw;
                 // height: 91vh;
-                // padding-top: 10px;
+                padding: 0 10px;
                 // background: #fff;
                 border-radius: 20px;
             }