Browse Source

新增部门考评配置页面;新增人员考评配置页面;新增单点登录功能;配合测试与后端修改单位权重配置页面问题;

SunZehao 2 years ago
parent
commit
c48e8745be
2 changed files with 76 additions and 42 deletions
  1. 63 36
      src/components/evaluationSystem/evaluationCompanyPage.vue
  2. 13 6
      src/views/Login.vue

+ 63 - 36
src/components/evaluationSystem/evaluationCompanyPage.vue

@@ -28,11 +28,24 @@
                         </el-option>
                     </el-select>
                 </div>
+                <div class="exceed">
+                    <span class="exceedSpan" style="margin-left: 10px;width: 80px">考评周期:</span>
+                    <el-select v-model="periodId" placeholder="请选择考评周期">
+                        <el-option
+                        v-for="item in periodData"
+                        :key="item.keyValue"
+                        :label="item.keyName"
+                        :value="item.keyValue">
+                        </el-option>
+                    </el-select>
+                </div>
                 <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
                 <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
             </div>
             <div class="PeriodBtn">
-                <btns :showImport="false" :showExport="false" :showAdd="$utils.havePurview('evalCompany:oneLevel:add')"
+                <btns 
+                    :showImport="false" :showExport="false" 
+                    :showAdd="$utils.havePurview('evalCompany:oneLevel:add')"
                     :showSave="$utils.havePurview('evalCompany:oneLevel:save')"
                     :showDelete="$utils.havePurview('evalCompany:oneLevel:delete')"
                     :disSave="changeDateSelect.length === 0 || changeDateSelect.length>1"
@@ -43,11 +56,11 @@
             <div class="evaluationCompanyTableData">
                 <el-table :data="evaluationCompanyData" style="width: 100%" @select="rowClick" @select-all="rowClick">
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
-                    <el-table-column label="单位名称" prop="organizationName" width="300">
+                    <el-table-column label="单位名称" prop="organizationShortName" width="300">
                         <template #default="scope">
-                            <el-tooltip class="box-item" effect="customized" :content="scope.row.organizationName"
+                            <el-tooltip class="box-item" effect="customized" :content="scope.row.organizationShortName"
                                 placement="top">
-                                <span class="tooltipCC">{{scope.row.organizationName}}</span>
+                                <span class="tooltipCC">{{scope.row.organizationShortName}}</span>
                             </el-tooltip>
                         </template>
                     </el-table-column>
@@ -57,7 +70,7 @@
                             <span>{{scope.row.evaluationCycle==='YDKP'?'月度考评':scope.row.evaluationCycle==='JDKP'?'季度考评':'年度考评'}}</span>
                         </template>
                     </el-table-column>
-                    <el-table-column label="业务属性" prop="binSectionName" />
+                    <!-- <el-table-column label="业务属性" prop="binSectionName" /> -->
                     <el-table-column label="考评规则" prop="evaluateRuleName" width="300">
                         <template #default="scope">
                             <el-tooltip class="box-item" effect="customized" :content="scope.row.evaluateRuleName"
@@ -66,7 +79,7 @@
                             </el-tooltip>
                         </template>
                     </el-table-column>
-                    <el-table-column label="业务阶段" prop="binStageName" width="200" />
+                    <!-- <el-table-column label="业务阶段" prop="binStageName" width="200" /> -->
                     <el-table-column label="是否考评" prop="binSectionName">
                         <template #default="scope">
                             <span>{{scope.row.isCheck?'是':'否'}}</span>
@@ -102,36 +115,38 @@
                             class="demo-ruleForm" :validate-on-rule-change="false">
                             <el-form-item label="单位名称" prop="organizationName">
                                 <el-select v-model="ruleForm.organizationName" filterable placeholder="请选择单位名称">
-                                    <el-option v-for="item in companyDatas" :key="item.id" :label="item.name"
+                                    <el-option v-for="item in companyDatas" :key="item.id" :label="item.shortName"
                                         :value="item.id">
                                     </el-option>
                                 </el-select>
                             </el-form-item>
                             <el-form-item label="业务属性" prop="binSection">
-                                <el-select v-model="ruleForm.binSection" placeholder="请选择业务属性"
+                                <el-select v-model="ruleForm.binSection" placeholder="请选择业务属性" multiple collapse-tags
                                     @change="changeBinsection">
                                     <el-option v-for="item in moduleData" :key="item.id" :label="item.sectionName"
                                         :value="item.id">
                                     </el-option>
                                 </el-select>
                             </el-form-item>
-                            <el-form-item label="考评规则" prop="evaluateRule">
-                                <el-select v-model="ruleForm.evaluateRule" multiple collapse-tags collapse-tags-tooltip
-                                    placeholder="请选择考评规则" @change="changeRule">
-                                    <el-option v-for="item in ruleDataAll" :key="item.id" :label="item.ruleName"
+                            <el-form-item label="业务阶段" prop="binStage">
+                                <el-select v-model="ruleForm.binStage" placeholder="请选择业务阶段" multiple collapse-tags
+                                 @change="changeBinsection">
+                                    <el-option v-for="item in stageData" :key="item.id" :label="item.stageName"
                                         :value="item.id">
                                     </el-option>
                                 </el-select>
                             </el-form-item>
-                            <el-form-item label="业务阶段">
-                                <el-select v-model="ruleForm.binStage" multiple placeholder="请选择业务阶段" disabled>
-                                    <el-option v-for="item in stageData" :key="item.id" :label="item.stageName"
+                            <el-form-item label="考评规则" prop="evaluateRule">
+                                 <!-- @change="changeRule" -->
+                                <el-select v-model="ruleForm.evaluateRule" multiple collapse-tags collapse-tags-tooltip
+                                    placeholder="请选择考评规则">
+                                    <el-option v-for="item in ruleDataAll" :key="item.id" :label="item.ruleName"
                                         :value="item.id">
                                     </el-option>
                                 </el-select>
                             </el-form-item>
                             <el-form-item label="考评周期" prop="evaluationCycle">
-                                <el-select v-model="ruleForm.evaluationCycle" placeholder="请选择业务阶段">
+                                <el-select v-model="ruleForm.evaluationCycle" placeholder="请选择考评周期">
                                     <el-option v-for="item in periodData" :key="item.keyValue" :label="item.keyName"
                                         :value="item.keyValue">
                                     </el-option>
@@ -219,7 +234,7 @@
                 ruleForm: {
                     organizationName: '',
                     evaluateRule: [],
-                    binSection: '',
+                    binSection: [],
                     binStage: [],
                     evaluationCycle: '',
                     isCheck: '是',
@@ -241,6 +256,11 @@
                         message: '请选择业务属性',
                         trigger: 'change'
                     }],
+                    binStage: [{
+                        required: true,
+                        message: '请选择业务阶段',
+                        trigger: 'change'
+                    }],
                     evaluateRule: [{
                         required: true,
                         message: '请选择考评规则',
@@ -265,6 +285,7 @@
                 evalradio: {},
                 loadingImport: false,
                 companyDatas: [],
+                periodId: '',
                 stageIds: '',
                 binSectionIds: ''
             }
@@ -286,7 +307,8 @@
                     organizationType: 'DWKP',
                     organizationName: that.companyS,
                     binSection: that.binSectionIds,
-                    binStage: that.stageIds
+                    binStage: that.stageIds,
+                    evaluationCycle: that.periodId
                 }
                 apiGetOrganizationList(params).then(datas => {
                     if (datas && datas.data) {
@@ -322,12 +344,13 @@
                     }
                 })
             },
-            getRuleallData(val) {
+            getRuleallData(val, val1) {
                 let that = this
                 let params = {
                     // pageNum: 1,
                     // pageSize: 50,
-                    binSection: val
+                    binSection: val ? val.join(',') : '',
+                    binStage: val1 ? val1.join(',') : ''
                 }
                 apiGetevaluateListAll(params).then(datas => {
                     if (datas && datas.data) {
@@ -348,21 +371,23 @@
                 })
             },
             changeBinsection(val) {
-                this.getRuleallData(val)
-            },
-            changeRule(val) {
-                let binStageArr = []
-                for (let i = 0; i < this.ruleDataAll.length; i++) {
-                    let item = this.ruleDataAll[i]
-                    for (let j = 0; j < val.length; j++) {
-                        let itn = val[j]
-                        if (item.id === itn) {
-                            binStageArr.push(item.binStage)
-                        }
-                    }
+                if (this.ruleForm.binSection !== '' && this.ruleForm.binStage !== '') {
+                    this.getRuleallData(this.ruleForm.binSection, this.ruleForm.binStage)
                 }
-                this.ruleForm.binStage = this.useFilter(binStageArr)
             },
+            // changeRule(val) {
+            //     let binStageArr = []
+            //     for (let i = 0; i < this.ruleDataAll.length; i++) {
+            //         let item = this.ruleDataAll[i]
+            //         for (let j = 0; j < val.length; j++) {
+            //             let itn = val[j]
+            //             if (item.id === itn) {
+            //                 binStageArr.push(item.binStage)
+            //             }
+            //         }
+            //     }
+            //     this.ruleForm.binStage = this.useFilter(binStageArr)
+            // },
             useFilter(arr) {
                 return arr.filter(function (item, index) {
                     return arr.indexOf(item) === index; // 因为indexOf 只能查找到第一个  
@@ -377,7 +402,7 @@
                     this.ruleForm = {
                         organizationName: '',
                         evaluateRule: [],
-                        binSection: '',
+                        binSection: [],
                         binStage: [],
                         evaluationCycle: '',
                         isCheck: '是',
@@ -399,7 +424,7 @@
                     organizationName: this.evalradio.organizationId,
                     evaluationCycle: this.evalradio.evaluationCycle,
                     evaluateRule: this.evalradio.evaluateRuleId.split(','),
-                    binSection: this.evalradio.binSection,
+                    binSection: this.evalradio.binSection.split(','),
                     binStage: this.evalradio.binStage.split(','),
                     isCheck: this.evalradio.isCheck ? '是' : '否',
                     scjyWeight: this.evalradio.scjyWeight,
@@ -409,6 +434,7 @@
                     // month: this.evalradio.month,
                     orderNum: this.evalradio.orderNum
                 }
+                this.getRuleallData(this.evalradio.binSection, this.evalradio.binStage)
             },
             saveevaluationCompanyMsg(formName) {
                 let that = this
@@ -435,7 +461,7 @@
                     organizationType: 'DWKP',
                     organizationShortName: referred,
                     evaluateRuleId: that.ruleForm.evaluateRule.join(','),
-                    binSection: that.ruleForm.binSection,
+                    binSection: that.ruleForm.binSection.join(','),
                     binStage: that.ruleForm.binStage.join(','),
                     orderNum: that.ruleForm.orderNum,
                     isCheck: that.ruleForm.isCheck === '是' ? true : false,
@@ -509,6 +535,7 @@
             resetSeach() {
                 this.page.currentPage = 1
                 this.companyS = ''
+                this.periodId = ''
                 this.stageIds = ''
                 this.binSectionIds = ''
                 this.getEvalCompanyData()

+ 13 - 6
src/views/Login.vue

@@ -53,13 +53,20 @@ export default {
         }
     },
     created() {
-        if (window.localStorage.getItem('userData')) {
-            let userData = JSON.parse(window.localStorage.getItem('userData'))
-            this.inputUser = userData.user
-            this.inputMima = userData.password
-            this.ememberMe = true
+        if (this.$route?.query?.iamCode && this.$route?.query?.iamAccessToken) {
+            window.localStorage.setItem('token', this.$route.query.iamAccessToken)
+            window.localStorage.setItem('code', this.$route.query.iamCode)
+            // this.$router.push({ path: "/home"})
+            this.getUserMsg(this.$route.query.iamCode)
         } else {
-            this.ememberMe = false
+            if (window.localStorage.getItem('userData')) {
+                let userData = JSON.parse(window.localStorage.getItem('userData'))
+                this.inputUser = userData.user
+                this.inputMima = userData.password
+                this.ememberMe = true
+            } else {
+                this.ememberMe = false
+            }
         }
     },
     methods:{