|
@@ -1,27 +1,17 @@
|
|
|
<template>
|
|
|
- <div class="evaluationRules" v-loading="loadingImport">
|
|
|
- <div class="evaluationRulesBtn">
|
|
|
- <p class="titleSty">考评人员配置</p>
|
|
|
+ <div class="evaluationPerson" v-loading="loadingImport">
|
|
|
+ <div class="evaluationPersonBtn">
|
|
|
+ <p class="titleSty">考评人员管理</p>
|
|
|
<div class="collectSeach">
|
|
|
<div class="exceed">
|
|
|
- <span style="margin-top: 3px;">选项名称:</span>
|
|
|
- <el-select v-model="indicatorIdS" placeholder="请选择指标名称">
|
|
|
- <el-option
|
|
|
- v-for="item in indicatoroptions"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
+ <span class="exceedSpan" style="margin-top: 3px;">人员名称:</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="reset">重置</el-button>
|
|
|
+ <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
|
|
|
</div>
|
|
|
<div style="display:flex;justify-content: space-between;padding: 10px;">
|
|
|
<el-row :gutter="10" class="PeriodBtn">
|
|
|
-
|
|
|
- <!-- @click="handleAdd"
|
|
|
- @click="handleUpdate" -->
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
|
type="primary"
|
|
@@ -37,6 +27,8 @@
|
|
|
plain
|
|
|
icon="Edit"
|
|
|
size="mini"
|
|
|
+ @click="handleEdit"
|
|
|
+ :disabled="changeDateSelect.length === 0 || changeDateSelect.length>1"
|
|
|
>修改</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
@@ -45,7 +37,7 @@
|
|
|
plain
|
|
|
icon="Delete"
|
|
|
size="mini"
|
|
|
- :disabled="deleteSelect.length === 0"
|
|
|
+ :disabled="changeDateSelect.length === 0"
|
|
|
@click="handleDelete"
|
|
|
>批量删除</el-button>
|
|
|
</el-col>
|
|
@@ -55,6 +47,7 @@
|
|
|
plain
|
|
|
icon="Upload"
|
|
|
size="mini"
|
|
|
+ disabled
|
|
|
@click="handleImport"
|
|
|
>导入</el-button>
|
|
|
</el-col>
|
|
@@ -64,64 +57,25 @@
|
|
|
plain
|
|
|
icon="Download"
|
|
|
size="mini"
|
|
|
- @click="handleExport"
|
|
|
+ disabled
|
|
|
>导出</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
- <div class="evaluationRulesTableData">
|
|
|
- <el-table :data="evaluationRulesData" border style="width: 100%" @select="rowClick" @select-all="allSelect">
|
|
|
+ <div class="evaluationPersonTableData">
|
|
|
+ <el-table :data="evaluationPersonData" border style="width: 100%" @select="rowClick" @select-all="rowClick">
|
|
|
<el-table-column type="selection" label="操作" align="center"></el-table-column>
|
|
|
- <el-table-column label="创建时间">
|
|
|
- <template #default="scope">
|
|
|
- <span>{{scope.row.create_time}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="创建者">
|
|
|
- <template #default="scope">
|
|
|
- <span>{{scope.row.create_by}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="指标ID">
|
|
|
- <template #default="scope">
|
|
|
- <span>{{scope.row.indicator_id}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="指标总分">
|
|
|
- <template #default="scope">
|
|
|
- <span>{{scope.row.total_score}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="描述">
|
|
|
- <template #default="scope">
|
|
|
- <span>{{scope.row.desc}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="更新时间">
|
|
|
- <template #default="scope">
|
|
|
- <span>{{scope.row.update_time}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="更新者">
|
|
|
- <template #default="scope">
|
|
|
- <span>{{scope.row.update_by}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="评分公式">
|
|
|
- <template #default="scope">
|
|
|
- <span>{{scope.row.evaluate_formula}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="评分方式">
|
|
|
- <template #default="scope">
|
|
|
- <span>{{scope.row.evaluate_method}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="隐射函数">
|
|
|
- <template #default="scope">
|
|
|
- <span>{{scope.row.mapping_function}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
+ <el-table-column label="所属公司" prop="companyName" />
|
|
|
+ <el-table-column label="所属部门" prop="deptName" />
|
|
|
+ <el-table-column label="人员名称" prop="personnelName" />
|
|
|
+ <el-table-column label="人员岗位" prop="position" />
|
|
|
+ <el-table-column label="人员职称" prop="rank" />
|
|
|
+ <el-table-column label="考评周期" prop="evaluationCycle" />
|
|
|
+ <el-table-column label="考评规则ID" prop="evaluateRuleId" />
|
|
|
+ <el-table-column label="是否考核" prop="isCheck" />
|
|
|
+ <el-table-column label="考核级别" prop="evaluationLevel" />
|
|
|
+ <el-table-column label="年份" prop="year" />
|
|
|
+ <el-table-column label="月份" prop="month" />
|
|
|
</el-table>
|
|
|
<el-pagination
|
|
|
@size-change="handleSizeChange"
|
|
@@ -131,58 +85,110 @@
|
|
|
layout="total, prev, pager, next, jumper"
|
|
|
:total="page.total">
|
|
|
</el-pagination>
|
|
|
+ </div>'
|
|
|
+ <div class="indexdialog">
|
|
|
+ <el-dialog :title="title" v-model="dialogVisible" width="600px" :close-on-click-modal="false">
|
|
|
+ <div class="periodFrom">
|
|
|
+ <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm" :validate-on-rule-change="false">
|
|
|
+ <el-form-item label="所属公司" prop="companyName">
|
|
|
+ <el-select v-model="ruleForm.companyName" placeholder="请选择所属公司" @change="changeCompany">
|
|
|
+ <el-option
|
|
|
+ v-for="item in companyDatas"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="所属部门" prop="deptName">
|
|
|
+ <el-select v-model="ruleForm.deptName" placeholder="请选择所属部门" @change="changeDepartment">
|
|
|
+ <el-option
|
|
|
+ v-for="item in departmentDatas"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="人员名称" prop="personnelName">
|
|
|
+ <el-select v-model="ruleForm.personnelName" placeholder="请选择人员名称" @change="changePerson">
|
|
|
+ <el-option
|
|
|
+ v-for="item in personDatas"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="人员岗位" prop="position">
|
|
|
+ <el-input v-model="ruleForm.position" placeholder="请输入人员岗位"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="人员职称" prop="rank">
|
|
|
+ <el-input v-model="ruleForm.rank" placeholder="请输入人员职称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="是否考核">
|
|
|
+ <el-radio-group v-model="ruleForm.isCheck">
|
|
|
+ <el-radio border label="是" />
|
|
|
+ <el-radio border label="否" />
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="考评规则" prop="evaluateRule">
|
|
|
+ <el-select v-model="ruleForm.evaluateRule" placeholder="请选择考评规则" @change="changeRule">
|
|
|
+ <el-option
|
|
|
+ v-for="item in ruleDataAll"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.ruleName"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="考评周期" prop="evaluationCycle">
|
|
|
+ <el-select v-model="ruleForm.evaluationCycle" placeholder="请选择业务阶段">
|
|
|
+ <el-option
|
|
|
+ v-for="item in periodData"
|
|
|
+ :key="item.keyValue"
|
|
|
+ :label="item.keyName"
|
|
|
+ :value="item.keyValue">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="考评级别" prop="evaluationLevel">
|
|
|
+ <el-select v-model="ruleForm.evaluationLevel" placeholder="请选择考评级别">
|
|
|
+ <el-option
|
|
|
+ v-for="item in levelDatas"
|
|
|
+ :key="item.keyValue"
|
|
|
+ :label="item.keyName"
|
|
|
+ :value="item.keyValue">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="年份" prop="year">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="ruleForm.year"
|
|
|
+ type="year"
|
|
|
+ value-format="YYYY"
|
|
|
+ placeholder="请选择年份"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="月份">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="ruleForm.month"
|
|
|
+ type="month"
|
|
|
+ value-format="MM"
|
|
|
+ placeholder="请选择月份"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <span class="dialog-footer">
|
|
|
+ <el-button @click="dialogVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="saveevaluationPersonMsg('ruleForm')">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
</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="indicatorId">
|
|
|
- <el-select v-model="ruleForm.indicatorId" placeholder="请选择指标名称">
|
|
|
- <el-option
|
|
|
- v-for="item in indicatoroptions"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="指标总分" prop="totalScore">
|
|
|
- <el-input v-model="ruleForm.totalScore" placeholder="请输入指标总分"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="评分方式" prop="evaluateMethod">
|
|
|
- <el-select v-model="ruleForm.evaluateMethod" placeholder="请选择评分方式">
|
|
|
- <el-option
|
|
|
- v-for="item in optionNameoptions"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="评分公式" prop="evaluateFormula">
|
|
|
- <el-input v-model="ruleForm.evaluateFormula" placeholder="请输入评分公式"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="隐射函数" prop="mappingFun">
|
|
|
- <el-select v-model="ruleForm.mappingFun" placeholder="请选择隐射函数">
|
|
|
- <el-option
|
|
|
- v-for="item in optionNameoptions"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </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">确 定</el-button>
|
|
|
- </span>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
+ <indicator-item ref="indicatorItem"></indicator-item>
|
|
|
</div>
|
|
|
<import-dailog ref="importPage" @successImport="successImport" @importLoading="importLoading"></import-dailog>
|
|
|
</div>
|
|
@@ -190,70 +196,324 @@
|
|
|
|
|
|
<script>
|
|
|
import importDailog from '../importPage/importDailog.vue'
|
|
|
-import {apiGetgetStandardPointManagementList, apiGetdeleteStandardPointManagement} from '../../api/api'
|
|
|
+import {apiGetpersonnelList, apiGetpersonnelSaveList, apiGetpersonneldeleteList,
|
|
|
+ apiGetevaluateListAll, apiGetorganizationgetTree, apiGetdatadictionaryList, apiGetuserListAll} from '../../api/api'
|
|
|
export default {
|
|
|
components: { importDailog },
|
|
|
data() {
|
|
|
return {
|
|
|
dialogVisible: false,
|
|
|
title: '',
|
|
|
+ isSave: false,
|
|
|
+ changeDateSelect: [],
|
|
|
+ indicatoroptions: [],
|
|
|
+ companyS: '',
|
|
|
+ evaluationPersonData:[],
|
|
|
+ ruleDataAll: [],
|
|
|
+ periodData: [],
|
|
|
+ levelDatas: [],
|
|
|
+ companyDatas: [],
|
|
|
+ departmentDatas: [],
|
|
|
+ personDatas: [],
|
|
|
ruleForm: {
|
|
|
- indicatorId: '',
|
|
|
- totalScore: '',
|
|
|
- evaluateMethod: '',
|
|
|
- evaluateFormula: '',
|
|
|
- mappingFun: '',
|
|
|
- desc: ''
|
|
|
+ companyName: '',
|
|
|
+ deptName: '',
|
|
|
+ personnelName: '',
|
|
|
+ position: '',
|
|
|
+ rank: '',
|
|
|
+ isCheck: '否',
|
|
|
+ evaluateRule: '',
|
|
|
+ evaluationCycle: '',
|
|
|
+ evaluationLevel: '',
|
|
|
+ year: '',
|
|
|
+ month: ''
|
|
|
},
|
|
|
rules: {
|
|
|
- indicatorId: [
|
|
|
- { required: true, message: '请选择指标名称', trigger: 'blur' }
|
|
|
+ companyName: [
|
|
|
+ { required: true, message: '请输入所属公司', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ deptName: [
|
|
|
+ { required: true, message: '请输入所属部门', trigger: 'blur' }
|
|
|
],
|
|
|
- totalScore: [
|
|
|
- { required: true, message: '请输入指标总分', trigger: 'blur' }
|
|
|
+ personnelName: [
|
|
|
+ { required: true, message: '请输入人员名称', trigger: 'blur' }
|
|
|
],
|
|
|
- evaluateMethod: [
|
|
|
- { required: true, message: '请选择评分方式', trigger: 'change' }
|
|
|
+ position: [
|
|
|
+ { required: true, message: '请输入人员岗位', trigger: 'blur' }
|
|
|
],
|
|
|
- evaluateFormula: [
|
|
|
- { required: true, message: '请输入评分公式', trigger: 'blur' }
|
|
|
+ rank: [
|
|
|
+ { required: true, message: '请输入人员职称', trigger: 'blur' }
|
|
|
],
|
|
|
- mappingFun: [
|
|
|
- { required: true, message: '请选择隐射函数', trigger: 'change' }
|
|
|
+ evaluateRule: [
|
|
|
+ { required: true, message: '请选择考评规则', trigger: 'change' }
|
|
|
],
|
|
|
- desc: [
|
|
|
- { required: true, message: '请输入描述', trigger: 'change' }
|
|
|
+ evaluationCycle: [
|
|
|
+ { required: true, message: '请选择考评周期', trigger: 'change' }
|
|
|
+ ],
|
|
|
+ evaluationLevel: [
|
|
|
+ { required: true, message: '请输入考评级别', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ year: [
|
|
|
+ { required: true, message: '请选择年份', trigger: 'change' }
|
|
|
]
|
|
|
},
|
|
|
- indicatoroptions: [],
|
|
|
- optionNameoptions:[],
|
|
|
- indicatorIdS: '',
|
|
|
-
|
|
|
- windframradio: {},
|
|
|
- deleteSelect: [],
|
|
|
- changeDateSelect: [],
|
|
|
- loadingImport: false,
|
|
|
- evaluationRulesData:[],
|
|
|
- single: false,
|
|
|
- regionaloptions:[],
|
|
|
page:{
|
|
|
pagesize: 12,
|
|
|
currentPage: 1,
|
|
|
total: 0
|
|
|
- }
|
|
|
+ },
|
|
|
+ evalradio: {},
|
|
|
+ loadingImport: false,
|
|
|
}
|
|
|
},
|
|
|
- mounted() {
|
|
|
- // this.getCollectorwireprojectList()
|
|
|
+ created() {
|
|
|
+ this.getEvalpersonData()
|
|
|
+ this.getRuleallData()
|
|
|
+ this.getOrganizetionData(23031000, 2, 'GS')
|
|
|
+ this.getPeriodData()
|
|
|
+ this.getevalLevel()
|
|
|
},
|
|
|
methods:{
|
|
|
+ // 查询人员配置数据
|
|
|
+ getEvalpersonData(type) {
|
|
|
+ let that = this
|
|
|
+ let params = {
|
|
|
+ pageNum: this.page.currentPage,
|
|
|
+ pageSize: this.page.pagesize,
|
|
|
+ organizationType: 'DWKP'
|
|
|
+ }
|
|
|
+ if (type) {
|
|
|
+ params.personnelName = that.companyS
|
|
|
+ }
|
|
|
+ apiGetpersonnelList(params).then(datas =>{
|
|
|
+ if (datas && datas.data) {
|
|
|
+ that.evaluationPersonData = datas.data.records
|
|
|
+ that.page.total = datas.data.total
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //查询组织数据
|
|
|
+ getOrganizetionData(id, num, type) {
|
|
|
+ let that = this
|
|
|
+ let params = {
|
|
|
+ id: id,
|
|
|
+ num: num
|
|
|
+ }
|
|
|
+ apiGetorganizationgetTree(params).then(datas =>{
|
|
|
+ if (datas && datas.data && datas.data[0].children.length>0) {
|
|
|
+ if (type === 'GS') {
|
|
|
+ that.companyDatas = datas.data[0].children
|
|
|
+ } else {
|
|
|
+ that.departmentDatas = datas.data[0].children
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 查询人员
|
|
|
+ getDepartMentPerson(id) {
|
|
|
+ let that = this
|
|
|
+ let params = {
|
|
|
+ orgId: id
|
|
|
+ }
|
|
|
+ apiGetuserListAll(params).then(datas =>{
|
|
|
+ if (datas && datas.data) {
|
|
|
+ that.personDatas = datas.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //考评周期
|
|
|
+ getPeriodData() {
|
|
|
+ let that = this
|
|
|
+ let params = {
|
|
|
+ superKey: 'KPZQ0001'
|
|
|
+ }
|
|
|
+ apiGetdatadictionaryList(params).then(datas =>{
|
|
|
+ if (datas && datas.data) {
|
|
|
+ that.periodData = datas.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 考评级别
|
|
|
+ getevalLevel() {
|
|
|
+ let that = this
|
|
|
+ let params = {
|
|
|
+ superKey: 'KHJB0001'
|
|
|
+ }
|
|
|
+ apiGetdatadictionaryList(params).then(datas =>{
|
|
|
+ if (datas && datas.data) {
|
|
|
+ that.levelDatas = datas.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getRuleallData() {
|
|
|
+ let that = this
|
|
|
+ apiGetevaluateListAll().then(datas =>{
|
|
|
+ if (datas && datas.data) {
|
|
|
+ that.ruleDataAll = datas.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ changeRule(val) {
|
|
|
+ this.ruleDataAll.forEach(item =>{
|
|
|
+ if (item.id === val) {
|
|
|
+ this.ruleForm.binSection = item.binSection
|
|
|
+ this.ruleForm.binStage = item.binStage
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ changeCompany(val) {
|
|
|
+ this.getOrganizetionData(val, 3, 'BM')
|
|
|
+ },
|
|
|
+ changeDepartment(val) {
|
|
|
+ this.getDepartMentPerson(val)
|
|
|
+ },
|
|
|
+ // 新增区域信息
|
|
|
+ handleAdd() {
|
|
|
+ this.dialogVisible = true
|
|
|
+ this.isSave = false
|
|
|
+ this.title = '新增考评人员'
|
|
|
+ this.$nextTick(() =>{
|
|
|
+ // this.$refs['ruleForm'].resetFields()
|
|
|
+ this.ruleForm = {
|
|
|
+ companyName: '',
|
|
|
+ deptName: '',
|
|
|
+ personnelName: '',
|
|
|
+ position: '',
|
|
|
+ rank: '',
|
|
|
+ isCheck: '否',
|
|
|
+ evaluateRule: '',
|
|
|
+ evaluationCycle: '',
|
|
|
+ evaluationLevel: '',
|
|
|
+ year: '',
|
|
|
+ month: ''
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleEdit() {
|
|
|
+ this.dialogVisible = true
|
|
|
+ this.isSave = true
|
|
|
+ this.title = '修改考评人员'
|
|
|
+ this.evalradio = this.changeDateSelect[0]
|
|
|
+ this.ruleForm = {
|
|
|
+ companyName: this.evalradio.companyId,
|
|
|
+ deptName: this.evalradio.deptId,
|
|
|
+ personnelName: this.evalradio.personnelId,
|
|
|
+ position: this.evalradio.position,
|
|
|
+ rank: this.evalradio.rank,
|
|
|
+ isCheck: this.evalradio.isCheck,
|
|
|
+ evaluateRule: this.evalradio.evaluateRuleId,
|
|
|
+ evaluationCycle: this.evalradio.evaluationCycle,
|
|
|
+ evaluationLevel: this.evalradio.evaluationLevel,
|
|
|
+ year: this.evalradio.year,
|
|
|
+ month: this.evalradio.month
|
|
|
+ }
|
|
|
+ this.changeCompany(this.evalradio.companyId, 3, 'BM')
|
|
|
+ this.changeDepartment(this.evalradio.deptId)
|
|
|
+ },
|
|
|
+ saveevaluationPersonMsg(formName) {
|
|
|
+ let that = this
|
|
|
+ that.$refs[formName].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ that.saveAndEditIndicatorData()
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //新增/修改指标数据
|
|
|
+ saveAndEditIndicatorData() {
|
|
|
+ let that = this
|
|
|
+ let comName = ''
|
|
|
+ let departName = ''
|
|
|
+ let personName = ''
|
|
|
+ this.companyDatas.forEach(it =>{
|
|
|
+ if (it.id === that.ruleForm.companyName) {
|
|
|
+ comName = it.name
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.departmentDatas.forEach(it =>{
|
|
|
+ if (it.id === that.ruleForm.deptName) {
|
|
|
+ departName = it.name
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.personDatas.forEach(it =>{
|
|
|
+ if (it.id === that.ruleForm.personnelName) {
|
|
|
+ personName = it.name
|
|
|
+ }
|
|
|
+ })
|
|
|
+ let params = {
|
|
|
+ companyId: that.ruleForm.companyName,
|
|
|
+ companyName: comName,
|
|
|
+ deptId: that.ruleForm.deptName,
|
|
|
+ deptName: departName,
|
|
|
+ personnelId: that.ruleForm.personnelName,
|
|
|
+ personnelName: personName,
|
|
|
+ position: that.ruleForm.position,
|
|
|
+ rank: that.ruleForm.rank,
|
|
|
+ isCheck: that.ruleForm.isCheck,
|
|
|
+ evaluateRuleId: that.ruleForm.evaluateRule,
|
|
|
+ evaluationCycle: that.ruleForm.evaluationCycle,
|
|
|
+ evaluationLevel: that.ruleForm.evaluationLevel,
|
|
|
+ year: that.ruleForm.year,
|
|
|
+ month: that.ruleForm.month
|
|
|
+ }
|
|
|
+ if (that.isSave) {
|
|
|
+ params.id = this.evalradio.id
|
|
|
+ }
|
|
|
+ apiGetpersonnelSaveList(params).then(datas =>{
|
|
|
+ if (!that.isSave) {
|
|
|
+ that.$message({
|
|
|
+ message: '考评人员新增成功',
|
|
|
+ type: 'success'
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ that.$message({
|
|
|
+ message: '考评人员修改成功',
|
|
|
+ type: 'success'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ that.dialogVisible = false
|
|
|
+ that.changeDateSelect = []
|
|
|
+ that.getEvalpersonData()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //删除指标数据
|
|
|
+ handleDelete() {
|
|
|
+ this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(async() => {
|
|
|
+ let that = this
|
|
|
+ let paramsArr = []
|
|
|
+ that.changeDateSelect.forEach(it =>{
|
|
|
+ paramsArr.push(it.id)
|
|
|
+ })
|
|
|
+ await apiGetpersonneldeleteList(paramsArr.join(',')).then(datas =>{
|
|
|
+ if (datas) {
|
|
|
+ that.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '删除成功!'
|
|
|
+ });
|
|
|
+ that.changeDateSelect = []
|
|
|
+ that.getEvalpersonData()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ rowClick(selection, row) {
|
|
|
+ this.changeDateSelect = selection
|
|
|
+ },
|
|
|
getSeachData() {
|
|
|
this.page.currentPage = 1
|
|
|
- this.getCollectorwireprojectList('seach')
|
|
|
+ this.getEvalpersonData('seach')
|
|
|
+ },
|
|
|
+ resetSeach() {
|
|
|
+ this.page.currentPage = 1
|
|
|
+ this.companyS = ''
|
|
|
+ this.getEvalpersonData()
|
|
|
},
|
|
|
successImport(val) {
|
|
|
this.loadingImport = false
|
|
|
- this.getCollectorwireprojectList()
|
|
|
+ this.getEvalpersonData()
|
|
|
},
|
|
|
importLoading(val) {
|
|
|
this.loadingImport = true
|
|
@@ -264,42 +524,8 @@ export default {
|
|
|
handleCurrentChange(val){
|
|
|
this.page.currentPage =val
|
|
|
},
|
|
|
- rowClick(selection, row) {
|
|
|
- this.windframradio = {}
|
|
|
- this.deleteSelect = []
|
|
|
- this.changeDateSelect = []
|
|
|
- if (selection.length === 1) {
|
|
|
- this.windframradio = selection[0]
|
|
|
- }
|
|
|
- if (selection.length > 0) {
|
|
|
- selection.forEach(item =>{
|
|
|
- this.deleteSelect.push(item.itemNo)
|
|
|
- this.changeDateSelect.push(item.itemNo)
|
|
|
- })
|
|
|
- }
|
|
|
- },
|
|
|
- allSelect(selection) {
|
|
|
- this.deleteSelect = []
|
|
|
- this.changeDateSelect = []
|
|
|
- if (selection.length > 0) {
|
|
|
- selection.forEach(item =>{
|
|
|
- this.deleteSelect.push(item.itemNo)
|
|
|
- this.changeDateSelect.push(item.itemNo)
|
|
|
- })
|
|
|
- }
|
|
|
- },
|
|
|
- // 新增区域信息
|
|
|
- handleAdd() {
|
|
|
- this.dialogVisible = true
|
|
|
- // this.single = false
|
|
|
- this.title = '新增考评规则配置'
|
|
|
- this.$nextTick(() =>{
|
|
|
- // this.resetForm()
|
|
|
- // this.$refs['ruleForm'].clearValidate()
|
|
|
- })
|
|
|
- },
|
|
|
handleImport() {
|
|
|
- this.$refs.importPage.upload.title = "考评规则配置信息导入"
|
|
|
+ this.$refs.importPage.upload.title = "考评指标管理信息导入"
|
|
|
this.$refs.importPage.upload.open = true
|
|
|
},
|
|
|
}
|
|
@@ -307,16 +533,33 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style lang="less">
|
|
|
-.evaluationRules{
|
|
|
- .evaluationRulesBtn{
|
|
|
+.evaluationPerson{
|
|
|
+ .evaluationPersonBtn{
|
|
|
// background: #fff;
|
|
|
- padding: 10px 20px 0 20px;
|
|
|
- .collectSeach{
|
|
|
- display: flex;
|
|
|
- margin: 20px 20px 10px;
|
|
|
- .exceed{
|
|
|
- display: flex;
|
|
|
- .el-input{
|
|
|
+ padding: 10px 20px 0 20px;
|
|
|
+ .collectSeach{
|
|
|
+ display: flex;
|
|
|
+ margin: 20px 20px 10px;
|
|
|
+ .exceed{
|
|
|
+ display: flex;
|
|
|
+ .exceedSpan{
|
|
|
+ margin-top: 3px;
|
|
|
+ width: 100px;
|
|
|
+ display: inline-block;
|
|
|
+ }
|
|
|
+ .el-input{
|
|
|
+ margin-right:10px;
|
|
|
+ .el-input__inner{
|
|
|
+ height:30px;
|
|
|
+ }
|
|
|
+ .el-input__suffix{
|
|
|
+ .el-select__caret{
|
|
|
+ line-height:30px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .el-select{
|
|
|
margin-right:10px;
|
|
|
.el-input__inner{
|
|
|
height:30px;
|
|
@@ -327,50 +570,53 @@ 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;
|
|
|
+ }
|
|
|
+ .el-button{
|
|
|
+ height: 30px;
|
|
|
+ // width:100px;
|
|
|
+ padding: 0 30px ;
|
|
|
+ // 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;
|
|
|
+ }
|
|
|
+ .indexdialog{
|
|
|
+ .el-overlay{
|
|
|
+ .el-dialog{
|
|
|
+ .el-dialog__body{
|
|
|
+ padding: 30px 60px 30px 20px !important;
|
|
|
+ .periodFrom{
|
|
|
+ .el-select, .el-input{
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ .el-input{
|
|
|
+ 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 30px ;
|
|
|
- // padding-top: 8px;
|
|
|
- span{
|
|
|
- margin:0;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- .evaluationRulesTableData{
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .evaluationPersonTableData{
|
|
|
padding: 10px 20px;
|
|
|
.el-table{
|
|
|
.el-table__body-wrapper{
|
|
|
- .el-table__empty-block{
|
|
|
height: 64vh !important;
|
|
|
- }
|
|
|
}
|
|
|
.el-input__inner{
|
|
|
height: 30px !important;
|
|
@@ -378,6 +624,16 @@ export default {
|
|
|
.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;
|
|
@@ -385,17 +641,6 @@ export default {
|
|
|
position: relative;
|
|
|
}
|
|
|
}
|
|
|
- .el-overlay{
|
|
|
- .el-dialog{
|
|
|
- .el-dialog__body{
|
|
|
- padding: 30px 60px 30px 20px !important;
|
|
|
- .periodFrom{
|
|
|
- .el-select, .el-input{
|
|
|
- width: 100%;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
</style>
|