|
@@ -1,14 +1,14 @@
|
|
|
<template>
|
|
|
- <div class="evaluationStart">
|
|
|
- <div class="evaluationStartBtn">
|
|
|
+ <div class="evaluationRating">
|
|
|
+ <div class="evaluationRatingBtn">
|
|
|
<div class="collectSeach">
|
|
|
<div class="exceed">
|
|
|
<span class="exceedSpan">部门名称:</span>
|
|
|
<el-input v-model="resDeptName" placeholder="请输入部门名称"></el-input>
|
|
|
</div>
|
|
|
<div class="exceed">
|
|
|
- <span class="exceedSpan">考评年度:</span>
|
|
|
- <el-input v-model="resAnnual" placeholder="请输入考评年度"></el-input>
|
|
|
+ <span class="exceedSpan" style="width: 80px">考评年度:</span>
|
|
|
+ <el-date-picker v-model="resAnnual" type="year" value-format="YYYY" placeholder="选择年份" />
|
|
|
</div>
|
|
|
<el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
|
|
|
<el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
|
|
@@ -29,8 +29,8 @@
|
|
|
@handleDelete="handleDelete"
|
|
|
></btns>
|
|
|
</div>
|
|
|
- <div class="evaluationStartTableData">
|
|
|
- <el-table :data="evaluationStartData" style="width: 100%" @select="rowClick" @select-all="rowClick">
|
|
|
+ <div class="evaluationRatingTableData">
|
|
|
+ <el-table :data="evaluationRatingData" style="width: 100%" @select="rowClick" @select-all="rowClick">
|
|
|
<el-table-column type="selection" label="操作" align="center"></el-table-column>
|
|
|
<el-table-column type="index" label="序号" align="center"></el-table-column>
|
|
|
<el-table-column label="考评部门" width="200">
|
|
@@ -46,22 +46,19 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="考评年度" prop="annual" />
|
|
|
- <el-table-column :label="it.label" :prop="it.value" v-for="it in monthArr" :key="it.value" />
|
|
|
- <el-table-column label="A级总数" prop="acount" />
|
|
|
- <el-table-column label="A级原因" prop="des" width="200">
|
|
|
+ <el-table-column :label="it.label" :prop="it.value" v-for="it in monthArr" :key="it.value">
|
|
|
<template #default="scope">
|
|
|
- <div>
|
|
|
- <el-tooltip
|
|
|
- class="box-item"
|
|
|
- effect="customized"
|
|
|
- :content="scope.row.acause"
|
|
|
- placement="top"
|
|
|
- >
|
|
|
- <span class="tooltipCC">{{scope.row.acause}}</span>
|
|
|
- </el-tooltip>
|
|
|
- </div>
|
|
|
+ <el-tooltip
|
|
|
+ class="box-item"
|
|
|
+ effect="customized"
|
|
|
+ :content="scope.row[it.value+'Content']"
|
|
|
+ placement="top"
|
|
|
+ >
|
|
|
+ <span class="tooltipCCDes">{{scope.row[it.value]}}</span>
|
|
|
+ </el-tooltip>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="A级总数" prop="acount" />
|
|
|
</el-table>
|
|
|
<el-pagination
|
|
|
@size-change="handleSizeChange"
|
|
@@ -97,7 +94,8 @@
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item :label="it.label" :prop="it.value" v-for="it in monthArrLeft" :key="it.value">
|
|
|
- <el-select v-model="ruleForm[it.value]" placeholder="请选择评级">
|
|
|
+ <el-select v-model="ruleForm[it.value]" placeholder="请选择评级"
|
|
|
+ clearable @change="(val)=>changeAData(val, it)" @clear="(val)=>clearAData(val, it)">
|
|
|
<el-option
|
|
|
v-for="item in ratingArr"
|
|
|
:key="item.value"
|
|
@@ -109,7 +107,8 @@
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item :label="it.label" :prop="it.value" v-for="it in monthArrRight" :key="it.value">
|
|
|
- <el-select v-model="ruleForm[it.value]" placeholder="请选择评级">
|
|
|
+ <el-select v-model="ruleForm[it.value]" placeholder="请选择评级"
|
|
|
+ clearable @change="(val)=>changeAData(val, it)" @clear="(val)=>clearAData(val, it)">
|
|
|
<el-option
|
|
|
v-for="item in ratingArr"
|
|
|
:key="item.value"
|
|
@@ -120,8 +119,8 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-form-item label="A级原因" prop="acause">
|
|
|
- <el-input v-model="ruleForm.acause" :rows="5" type="textarea" placeholder="请输入A级原因"></el-input>
|
|
|
+ <el-form-item :label="it.label+'通告'" :prop="it.value+'Content'" v-for="it in acauseDataArr" :key="it.value">
|
|
|
+ <el-input v-model="ruleForm[it.value+'Content']" placeholder="请输入通告"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
@@ -154,7 +153,7 @@ export default {
|
|
|
title: '',
|
|
|
evalradio: {},
|
|
|
changeDateSelect: [],
|
|
|
- evaluationStartData:[],
|
|
|
+ evaluationRatingData:[],
|
|
|
departData: [],
|
|
|
page:{
|
|
|
pagesize: 12,
|
|
@@ -176,7 +175,18 @@ export default {
|
|
|
oct: '',
|
|
|
nov: '',
|
|
|
dece: '',
|
|
|
- acause: ''
|
|
|
+ janContent: '',
|
|
|
+ febContent: '',
|
|
|
+ marContent: '',
|
|
|
+ aprContent: '',
|
|
|
+ mayContent: '',
|
|
|
+ junContent: '',
|
|
|
+ julContent: '',
|
|
|
+ augContent: '',
|
|
|
+ sepContent: '',
|
|
|
+ octContent: '',
|
|
|
+ novContent: '',
|
|
|
+ deceContent: ''
|
|
|
},
|
|
|
rules: {
|
|
|
department: [
|
|
@@ -185,8 +195,41 @@ export default {
|
|
|
year: [
|
|
|
{ required: true, message: '请选择年份', trigger: 'change' }
|
|
|
],
|
|
|
- acause: [
|
|
|
- { required: true, message: '请输入A级原因', trigger: 'blur' }
|
|
|
+ janContent: [
|
|
|
+ { required: true, message: '请输入通告', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ febContent: [
|
|
|
+ { required: true, message: '请输入通告', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ marContent: [
|
|
|
+ { required: true, message: '请输入通告', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ aprContent: [
|
|
|
+ { required: true, message: '请输入通告', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ mayContent: [
|
|
|
+ { required: true, message: '请输入通告', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ junContent: [
|
|
|
+ { required: true, message: '请输入通告', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ julContent: [
|
|
|
+ { required: true, message: '请输入通告', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ augContent: [
|
|
|
+ { required: true, message: '请输入通告', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ sepContent: [
|
|
|
+ { required: true, message: '请输入通告', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ octContent: [
|
|
|
+ { required: true, message: '请输入通告', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ novContent: [
|
|
|
+ { required: true, message: '请输入通告', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ deceContent: [
|
|
|
+ { required: true, message: '请输入通告', trigger: 'blur' }
|
|
|
]
|
|
|
},
|
|
|
resDeptName: '',
|
|
@@ -194,7 +237,8 @@ export default {
|
|
|
monthArr: [],
|
|
|
monthArrLeft: [],
|
|
|
monthArrRight: [],
|
|
|
- ratingArr: []
|
|
|
+ ratingArr: [],
|
|
|
+ acauseDataArr: []
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
@@ -265,6 +309,7 @@ export default {
|
|
|
value: 'C'
|
|
|
}
|
|
|
]
|
|
|
+ this.resAnnual = new Date().getFullYear().toString()
|
|
|
this.getevaluRatingList()
|
|
|
this.getDepartmentFromTreeData()
|
|
|
},
|
|
@@ -280,7 +325,7 @@ export default {
|
|
|
}
|
|
|
apiGetevaluationdeptratinglist(params).then(datas =>{
|
|
|
if (datas && datas.data) {
|
|
|
- that.evaluationStartData = datas.data.records
|
|
|
+ that.evaluationRatingData = datas.data.records
|
|
|
that.page.total = datas.data.total
|
|
|
}
|
|
|
})
|
|
@@ -297,6 +342,23 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ changeAData(val, data) {
|
|
|
+ if (val !== '') {
|
|
|
+ this.monthArr.forEach(it =>{
|
|
|
+ if (data.label === it.label) {
|
|
|
+ this.acauseDataArr.push(it)
|
|
|
+ }
|
|
|
+
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ clearAData(val, data) {
|
|
|
+ this.acauseDataArr.forEach((it, index) =>{
|
|
|
+ if (data.label === it.label) {
|
|
|
+ this.acauseDataArr.splice(index, 1)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
saveevaluaStart(formName) {
|
|
|
let that = this
|
|
|
that.$refs[formName].validate((valid) => {
|
|
@@ -331,7 +393,18 @@ export default {
|
|
|
oct: that.ruleForm.oct,
|
|
|
nov: that.ruleForm.nov,
|
|
|
dece: that.ruleForm.dece,
|
|
|
- acause: that.ruleForm.acause
|
|
|
+ janContent: that.ruleForm.janContent,
|
|
|
+ febContent: that.ruleForm.febContent,
|
|
|
+ marContent: that.ruleForm.marContent,
|
|
|
+ aprContent: that.ruleForm.aprContent,
|
|
|
+ mayContent: that.ruleForm.mayContent,
|
|
|
+ junContent: that.ruleForm.junContent,
|
|
|
+ julContent: that.ruleForm.julContent,
|
|
|
+ augContent: that.ruleForm.augContent,
|
|
|
+ sepContent: that.ruleForm.sepContent,
|
|
|
+ octContent: that.ruleForm.octContent,
|
|
|
+ novContent: that.ruleForm.novContent,
|
|
|
+ deceContent: that.ruleForm.deceContent
|
|
|
// createBy: userMes.id,
|
|
|
// createName: userMes.name
|
|
|
}
|
|
@@ -387,6 +460,7 @@ export default {
|
|
|
this.dialogVisible = true
|
|
|
this.isSave = false
|
|
|
this.title = '新建部门绩效考核评级'
|
|
|
+ this.acauseDataArr = []
|
|
|
this.$nextTick(() =>{
|
|
|
this.$refs['ruleForm'].resetFields()
|
|
|
this.ruleForm = {
|
|
@@ -404,7 +478,18 @@ export default {
|
|
|
oct: '',
|
|
|
nov: '',
|
|
|
dece: '',
|
|
|
- acause: ''
|
|
|
+ janContent: '',
|
|
|
+ febContent: '',
|
|
|
+ marContent: '',
|
|
|
+ aprContent: '',
|
|
|
+ mayContent: '',
|
|
|
+ junContent: '',
|
|
|
+ julContent: '',
|
|
|
+ augContent: '',
|
|
|
+ sepContent: '',
|
|
|
+ octContent: '',
|
|
|
+ novContent: '',
|
|
|
+ deceContent: ''
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@@ -413,6 +498,7 @@ export default {
|
|
|
this.isSave = true
|
|
|
this.title = '修改部门绩效考核评级'
|
|
|
this.evalradio = this.changeDateSelect[0]
|
|
|
+ this.acauseDataArr = []
|
|
|
this.ruleForm = {
|
|
|
department: this.evalradio.deptId,
|
|
|
year: this.evalradio.annual,
|
|
@@ -428,8 +514,30 @@ export default {
|
|
|
oct: this.evalradio.oct,
|
|
|
nov: this.evalradio.nov,
|
|
|
dece: this.evalradio.dece,
|
|
|
- acause: this.evalradio.acause
|
|
|
+ janContent: this.evalradio.janContent,
|
|
|
+ febContent: this.evalradio.febContent,
|
|
|
+ marContent: this.evalradio.marContent,
|
|
|
+ aprContent: this.evalradio.aprContent,
|
|
|
+ mayContent: this.evalradio.mayContent,
|
|
|
+ junContent: this.evalradio.junContent,
|
|
|
+ julContent: this.evalradio.julContent,
|
|
|
+ augContent: this.evalradio.augContent,
|
|
|
+ sepContent: this.evalradio.sepContent,
|
|
|
+ octContent: this.evalradio.octContent,
|
|
|
+ novContent: this.evalradio.novContent,
|
|
|
+ deceContent: this.evalradio.deceContent
|
|
|
}
|
|
|
+ let arr = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dece']
|
|
|
+ arr.forEach(it =>{
|
|
|
+ if (this.evalradio[it] !== '') {
|
|
|
+ this.monthArr.forEach(itv =>{
|
|
|
+ if (itv.value === it) {
|
|
|
+ this.acauseDataArr.push(itv)
|
|
|
+ }
|
|
|
+
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
//删除
|
|
|
handleDelete() {
|
|
@@ -458,8 +566,8 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style lang="less">
|
|
|
-.evaluationStart{
|
|
|
- .evaluationStartBtn{
|
|
|
+.evaluationRating{
|
|
|
+ .evaluationRatingBtn{
|
|
|
.collectSeach{
|
|
|
display: flex;
|
|
|
padding: 24px 20px;
|
|
@@ -518,7 +626,7 @@ export default {
|
|
|
margin:0;
|
|
|
}
|
|
|
}
|
|
|
- .evaluationStartTableData{
|
|
|
+ .evaluationRatingTableData{
|
|
|
.el-table{
|
|
|
.el-table__body-wrapper{
|
|
|
height: 60vh !important;
|
|
@@ -530,14 +638,14 @@ export default {
|
|
|
display: none;
|
|
|
}
|
|
|
.tooltipCC{
|
|
|
- width: 300px;
|
|
|
+ width: 300px !important;
|
|
|
display: inline-block;
|
|
|
overflow: hidden;
|
|
|
text-overflow: ellipsis;
|
|
|
white-space: nowrap;
|
|
|
}
|
|
|
.tooltipCCDes{
|
|
|
- width: 200px;
|
|
|
+ width: 50px;
|
|
|
display: inline-block;
|
|
|
overflow: hidden;
|
|
|
text-overflow: ellipsis;
|