|
@@ -19,9 +19,6 @@
|
|
</div>
|
|
</div>
|
|
<div style="display:flex;justify-content: space-between;padding: 10px;">
|
|
<div style="display:flex;justify-content: space-between;padding: 10px;">
|
|
<el-row :gutter="10" class="PeriodBtn">
|
|
<el-row :gutter="10" class="PeriodBtn">
|
|
-
|
|
|
|
- <!-- @click="handleAdd"
|
|
|
|
- @click="handleUpdate" -->
|
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
type="primary"
|
|
type="primary"
|
|
@@ -37,6 +34,7 @@
|
|
plain
|
|
plain
|
|
icon="Edit"
|
|
icon="Edit"
|
|
size="mini"
|
|
size="mini"
|
|
|
|
+ @click="handleEdit"
|
|
:disabled="changeDateSelect.length === 0 || changeDateSelect.length > 1"
|
|
:disabled="changeDateSelect.length === 0 || changeDateSelect.length > 1"
|
|
>修改</el-button>
|
|
>修改</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -74,9 +72,11 @@
|
|
<div class="scoringRulesTableData">
|
|
<div class="scoringRulesTableData">
|
|
<el-table :data="scoringRulesData" border style="width: 100%" @select="rowClick" @select-all="allSelect">
|
|
<el-table :data="scoringRulesData" border style="width: 100%" @select="rowClick" @select-all="allSelect">
|
|
<el-table-column type="selection" label="操作" align="center"></el-table-column>
|
|
<el-table-column type="selection" label="操作" align="center"></el-table-column>
|
|
- <el-table-column label="指标名称" prop="indicatorUnit" width="150" />
|
|
|
|
- <el-table-column label="业务板块" prop="businessPhase" width="150" />
|
|
|
|
- <el-table-column label="业务阶段" prop="type" width="150" />
|
|
|
|
|
|
+ <el-table-column label="指标名称" width="300">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <span>{{scope.row.indicatorNames.join(',')}}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
<el-table-column label="描述" prop="describe" />
|
|
<el-table-column label="描述" prop="describe" />
|
|
<el-table-column label="操作" width="100">
|
|
<el-table-column label="操作" width="100">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
@@ -97,51 +97,15 @@
|
|
<div class="periodFrom">
|
|
<div class="periodFrom">
|
|
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm" :validate-on-rule-change="false">
|
|
<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-form-item label="指标名称" prop="indicatorId">
|
|
- <el-select v-model="ruleForm.indicatorId" placeholder="请选择指标名称" @change="chooseIndic">
|
|
|
|
|
|
+ <el-select v-model="ruleForm.indicatorId" placeholder="请选择指标名称" :disabled="isSave">
|
|
<el-option
|
|
<el-option
|
|
v-for="item in indicItemoptions"
|
|
v-for="item in indicItemoptions"
|
|
- :key="item.id"
|
|
|
|
|
|
+ :key="item.indicatorCode"
|
|
:label="item.indicatorName"
|
|
:label="item.indicatorName"
|
|
- :value="item.id">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="指标项名称" prop="optionName">
|
|
|
|
- <el-select v-model="ruleForm.optionName" placeholder="请选择指标项名称" multiple collapse-tags>
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in indicatorItems"
|
|
|
|
- :key="item.optionCode"
|
|
|
|
- :label="item.optionName"
|
|
|
|
- :value="item.optionCode">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <!-- <el-form-item label="业务模块" prop="binSection">
|
|
|
|
- <el-select v-model="ruleForm.binSection" placeholder="请选择业务模块">
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in moduleData"
|
|
|
|
- :key="item.keyValue"
|
|
|
|
- :label="item.keyName"
|
|
|
|
- :value="item.keyValue">
|
|
|
|
|
|
+ :value="item.indicatorCode">
|
|
</el-option>
|
|
</el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="业务阶段" prop="binStage">
|
|
|
|
- <el-select v-model="ruleForm.binStage" placeholder="请选择业务阶段">
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in stageData"
|
|
|
|
- :key="item.keyValue"
|
|
|
|
- :label="item.keyName"
|
|
|
|
- :value="item.keyValue">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item> -->
|
|
|
|
- <!-- <el-form-item label="取值范围" prop="optionOrder">
|
|
|
|
- <el-input v-model="ruleForm.optionOrder" placeholder="请输入取值范围"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="计算公式" prop="optionName">
|
|
|
|
- <div class="counterSx" @click="showCounter">{{ruleForm.optionName}}</div>
|
|
|
|
- </el-form-item> -->
|
|
|
|
<el-form-item label="描述" prop="desc">
|
|
<el-form-item label="描述" prop="desc">
|
|
<el-input v-model="ruleForm.desc" :rows="5" type="textarea" placeholder="请输入描述"></el-input>
|
|
<el-input v-model="ruleForm.desc" :rows="5" type="textarea" placeholder="请输入描述"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -163,7 +127,7 @@
|
|
<script>
|
|
<script>
|
|
import importDailog from '../importPage/importDailog.vue'
|
|
import importDailog from '../importPage/importDailog.vue'
|
|
import scoringRulesDetailPage from './scoringRulesDetailPage.vue'
|
|
import scoringRulesDetailPage from './scoringRulesDetailPage.vue'
|
|
-import {apiGetevaluationscoringruleList, apiGetindicatorListAll, apiGetdatadictionaryList, apiGetevaluationscoringSaveList, apiGetIndicatordictionaryList} from '../../api/api'
|
|
|
|
|
|
+import {apiGetevaluationscoringruleList, apiGetindicatorListAll, apiGetevaluationscoringSaveList, apiGetevaluationruleRemove} from '../../api/api'
|
|
export default {
|
|
export default {
|
|
components: { importDailog, scoringRulesDetailPage },
|
|
components: { importDailog, scoringRulesDetailPage },
|
|
data() {
|
|
data() {
|
|
@@ -176,28 +140,14 @@ export default {
|
|
rowdataMsg: {},
|
|
rowdataMsg: {},
|
|
changeDateSelect: [],
|
|
changeDateSelect: [],
|
|
isSave: false,
|
|
isSave: false,
|
|
- moduleData: [],
|
|
|
|
- stageData: [],
|
|
|
|
ruleForm: {
|
|
ruleForm: {
|
|
indicatorId: '',
|
|
indicatorId: '',
|
|
- optionName: '',
|
|
|
|
- // binSection: '',
|
|
|
|
- // binStage: '',
|
|
|
|
desc: ''
|
|
desc: ''
|
|
},
|
|
},
|
|
rules: {
|
|
rules: {
|
|
indicatorId: [
|
|
indicatorId: [
|
|
{ required: true, message: '请选择指标名称', trigger: 'change' }
|
|
{ required: true, message: '请选择指标名称', trigger: 'change' }
|
|
],
|
|
],
|
|
- optionName: [
|
|
|
|
- { required: true, message: '请选择指标项名称', trigger: 'change' }
|
|
|
|
- ],
|
|
|
|
- // binSection: [
|
|
|
|
- // { required: true, message: '请选择业务模块', trigger: 'change' }
|
|
|
|
- // ],
|
|
|
|
- // binStage: [
|
|
|
|
- // { required: true, message: '请选择业务阶段', trigger: 'change' }
|
|
|
|
- // ],
|
|
|
|
desc: [
|
|
desc: [
|
|
{ required: true, message: '请输入描述', trigger: 'blur' }
|
|
{ required: true, message: '请输入描述', trigger: 'blur' }
|
|
]
|
|
]
|
|
@@ -212,25 +162,23 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
- this.getEvalpersonData()
|
|
|
|
|
|
+ this.getEvalscoringData()
|
|
this.getEvaluationData()
|
|
this.getEvaluationData()
|
|
- // this.getDataDictionary('MK0001') //模块
|
|
|
|
- // this.getDataDictionary('JD0001') //阶段
|
|
|
|
},
|
|
},
|
|
methods:{
|
|
methods:{
|
|
// 查询得分规则数据
|
|
// 查询得分规则数据
|
|
- getEvalpersonData(type) {
|
|
|
|
|
|
+ getEvalscoringData(type) {
|
|
let that = this
|
|
let that = this
|
|
let params = {
|
|
let params = {
|
|
pageNum: this.page.currentPage,
|
|
pageNum: this.page.currentPage,
|
|
pageSize: this.page.pagesize
|
|
pageSize: this.page.pagesize
|
|
}
|
|
}
|
|
if (type) {
|
|
if (type) {
|
|
- params.organizationName = that.companyS
|
|
|
|
|
|
+ params.indicatorId = that.indicatorStr
|
|
}
|
|
}
|
|
apiGetevaluationscoringruleList(params).then(datas =>{
|
|
apiGetevaluationscoringruleList(params).then(datas =>{
|
|
if (datas && datas.data) {
|
|
if (datas && datas.data) {
|
|
- that.scoringRulesData = datas.data
|
|
|
|
|
|
+ that.scoringRulesData = datas.data.records
|
|
that.page.total = datas.data.total
|
|
that.page.total = datas.data.total
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -244,40 +192,6 @@ export default {
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
- // 查询指标项数据
|
|
|
|
- getIndicatorItemData(id) {
|
|
|
|
- let that = this
|
|
|
|
- let params = {
|
|
|
|
- pageNum: 1,
|
|
|
|
- pageSize: 50,
|
|
|
|
- indicatorId: id
|
|
|
|
- }
|
|
|
|
- apiGetIndicatordictionaryList(params).then(datas =>{
|
|
|
|
- if (datas) {
|
|
|
|
- that.indicatorItems = datas
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
- // 查询规则模块和阶段数据
|
|
|
|
- getDataDictionary(val) {
|
|
|
|
- let that = this
|
|
|
|
- let params = {
|
|
|
|
- superKey: val
|
|
|
|
- }
|
|
|
|
- apiGetdatadictionaryList(params).then(datas =>{
|
|
|
|
- if (datas && datas.data) {
|
|
|
|
- if (val === 'MK0001') {
|
|
|
|
- that.moduleData = datas.data
|
|
|
|
- } else {
|
|
|
|
- that.stageData = datas.data
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
- chooseIndic(val) {
|
|
|
|
- this.getIndicatorItemData(val)
|
|
|
|
- },
|
|
|
|
- // 新增区域信息
|
|
|
|
handleAdd() {
|
|
handleAdd() {
|
|
this.dialogVisible = true
|
|
this.dialogVisible = true
|
|
this.isSave = false
|
|
this.isSave = false
|
|
@@ -285,9 +199,6 @@ export default {
|
|
this.$nextTick(() =>{
|
|
this.$nextTick(() =>{
|
|
this.ruleForm = {
|
|
this.ruleForm = {
|
|
indicatorId: '',
|
|
indicatorId: '',
|
|
- optionName: '',
|
|
|
|
- // binSection: '',
|
|
|
|
- // binStage: '',
|
|
|
|
desc: ''
|
|
desc: ''
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -298,14 +209,8 @@ export default {
|
|
this.title = '修改考评得分规则'
|
|
this.title = '修改考评得分规则'
|
|
let evalradio = this.changeDateSelect[0]
|
|
let evalradio = this.changeDateSelect[0]
|
|
this.ruleForm = {
|
|
this.ruleForm = {
|
|
- companyName: evalradio.companyName,
|
|
|
|
- deptName: evalradio.deptName,
|
|
|
|
- personnelName: evalradio.personnelName,
|
|
|
|
- rank: evalradio.rank,
|
|
|
|
- deptName: evalradio.deptName,
|
|
|
|
- isCheck: '否',
|
|
|
|
- evaluateRule: evalradio.evaluateRuleId,
|
|
|
|
- evaluationCycle: evalradio.evaluationCycle
|
|
|
|
|
|
+ indicatorId: evalradio.indicatorId,
|
|
|
|
+ desc: evalradio.describe
|
|
}
|
|
}
|
|
},
|
|
},
|
|
saveevaluscoringruleMsg(formName) {
|
|
saveevaluscoringruleMsg(formName) {
|
|
@@ -321,27 +226,27 @@ export default {
|
|
let that = this
|
|
let that = this
|
|
let params = {
|
|
let params = {
|
|
indicatorId: that.ruleForm.indicatorId,
|
|
indicatorId: that.ruleForm.indicatorId,
|
|
- optionCode: that.ruleForm.optionName,
|
|
|
|
- des: that.ruleForm.desc
|
|
|
|
|
|
+ describe: that.ruleForm.desc
|
|
}
|
|
}
|
|
if (that.isSave) {
|
|
if (that.isSave) {
|
|
- params.id = this.evalradio.id
|
|
|
|
|
|
+ let evalradio = this.changeDateSelect[0]
|
|
|
|
+ params.id = evalradio.id
|
|
}
|
|
}
|
|
- apiGetpersonnelSaveList(params).then(datas =>{
|
|
|
|
|
|
+ apiGetevaluationscoringSaveList(params).then(datas =>{
|
|
if (!that.isSave) {
|
|
if (!that.isSave) {
|
|
that.$message({
|
|
that.$message({
|
|
- message: '考评人员新增成功',
|
|
|
|
|
|
+ message: '考评得分规则新增成功',
|
|
type: 'success'
|
|
type: 'success'
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|
|
that.$message({
|
|
that.$message({
|
|
- message: '考评人员修改成功',
|
|
|
|
|
|
+ message: '考评得分规则修改成功',
|
|
type: 'success'
|
|
type: 'success'
|
|
});
|
|
});
|
|
}
|
|
}
|
|
that.dialogVisible = false
|
|
that.dialogVisible = false
|
|
that.changeDateSelect = []
|
|
that.changeDateSelect = []
|
|
- that.getEvalpersonData()
|
|
|
|
|
|
+ that.getEvalscoringData()
|
|
})
|
|
})
|
|
},
|
|
},
|
|
//删除指标数据
|
|
//删除指标数据
|
|
@@ -350,20 +255,20 @@ export default {
|
|
confirmButtonText: '确定',
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
type: 'warning'
|
|
- }).then(async() => {
|
|
|
|
|
|
+ }).then(() => {
|
|
let that = this
|
|
let that = this
|
|
let paramsArr = []
|
|
let paramsArr = []
|
|
that.changeDateSelect.forEach(it =>{
|
|
that.changeDateSelect.forEach(it =>{
|
|
paramsArr.push(it.id)
|
|
paramsArr.push(it.id)
|
|
})
|
|
})
|
|
- await apiGetpersonneldeleteList(paramsArr.join(',')).then(datas =>{
|
|
|
|
|
|
+ apiGetevaluationruleRemove(paramsArr.join(',')).then(datas =>{
|
|
if (datas) {
|
|
if (datas) {
|
|
that.$message({
|
|
that.$message({
|
|
type: 'success',
|
|
type: 'success',
|
|
message: '删除成功!'
|
|
message: '删除成功!'
|
|
});
|
|
});
|
|
that.changeDateSelect = []
|
|
that.changeDateSelect = []
|
|
- that.getEvalpersonData()
|
|
|
|
|
|
+ that.getEvalscoringData()
|
|
}
|
|
}
|
|
})
|
|
})
|
|
})
|
|
})
|
|
@@ -379,11 +284,16 @@ export default {
|
|
},
|
|
},
|
|
getSeachData() {
|
|
getSeachData() {
|
|
this.page.currentPage = 1
|
|
this.page.currentPage = 1
|
|
- this.getCollectorwireprojectList('seach')
|
|
|
|
|
|
+ this.getEvalscoringData('seach')
|
|
|
|
+ },
|
|
|
|
+ reset() {
|
|
|
|
+ this.page.currentPage = 1
|
|
|
|
+ this.indicatorStr = ''
|
|
|
|
+ this.getEvalscoringData()
|
|
},
|
|
},
|
|
successImport(val) {
|
|
successImport(val) {
|
|
this.loadingImport = false
|
|
this.loadingImport = false
|
|
- this.getCollectorwireprojectList()
|
|
|
|
|
|
+ this.getEvalscoringData()
|
|
},
|
|
},
|
|
importLoading(val) {
|
|
importLoading(val) {
|
|
this.loadingImport = true
|
|
this.loadingImport = true
|
|
@@ -407,15 +317,27 @@ export default {
|
|
|
|
|
|
<style lang="less">
|
|
<style lang="less">
|
|
.scoringRules{
|
|
.scoringRules{
|
|
- .scoringRulesBtn{
|
|
|
|
- // background: #fff;
|
|
|
|
- padding: 10px 20px 0 20px;
|
|
|
|
- .collectSeach{
|
|
|
|
- display: flex;
|
|
|
|
- margin: 20px 20px 10px;
|
|
|
|
- .exceed{
|
|
|
|
- display: flex;
|
|
|
|
- .el-input{
|
|
|
|
|
|
+ .scoringRulesBtn{
|
|
|
|
+ // background: #fff;
|
|
|
|
+ padding: 10px 20px 0 20px;
|
|
|
|
+ .collectSeach{
|
|
|
|
+ display: flex;
|
|
|
|
+ margin: 20px 20px 10px;
|
|
|
|
+ .exceed{
|
|
|
|
+ display: flex;
|
|
|
|
+ .el-input{
|
|
|
|
+ margin-right:10px;
|
|
|
|
+ .el-input__inner{
|
|
|
|
+ height:30px;
|
|
|
|
+ }
|
|
|
|
+ .el-input__suffix{
|
|
|
|
+ .el-select__caret{
|
|
|
|
+ line-height:30px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .el-select{
|
|
margin-right:10px;
|
|
margin-right:10px;
|
|
.el-input__inner{
|
|
.el-input__inner{
|
|
height:30px;
|
|
height:30px;
|
|
@@ -426,48 +348,36 @@ 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;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .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;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .scoringRulesTableData{
|
|
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .scoringRulesTableData{
|
|
padding: 10px 20px;
|
|
padding: 10px 20px;
|
|
.el-table{
|
|
.el-table{
|
|
.el-table__body-wrapper{
|
|
.el-table__body-wrapper{
|
|
- height: 64vh !important;
|
|
|
|
|
|
+ max-height: 64vh !important;
|
|
}
|
|
}
|
|
.el-input__inner{
|
|
.el-input__inner{
|
|
height: 30px !important;
|
|
height: 30px !important;
|
|
@@ -494,7 +404,7 @@ export default {
|
|
.el-overlay{
|
|
.el-overlay{
|
|
.el-dialog{
|
|
.el-dialog{
|
|
.el-dialog__body{
|
|
.el-dialog__body{
|
|
- padding: 30px 60px 30px 20px !important;
|
|
|
|
|
|
+ padding: 30px 60px 30px 20px;
|
|
.periodFrom{
|
|
.periodFrom{
|
|
.counterSx{
|
|
.counterSx{
|
|
width: 420px;
|
|
width: 420px;
|