|
@@ -24,7 +24,11 @@
|
|
<el-descriptions-item label="职位">{{form.jobName}}</el-descriptions-item>
|
|
<el-descriptions-item label="职位">{{form.jobName}}</el-descriptions-item>
|
|
<el-descriptions-item label="评估周期">{{form.name}}</el-descriptions-item>
|
|
<el-descriptions-item label="评估周期">{{form.name}}</el-descriptions-item>
|
|
<el-descriptions-item label="评估人">{{form.evaluatorName}}</el-descriptions-item>
|
|
<el-descriptions-item label="评估人">{{form.evaluatorName}}</el-descriptions-item>
|
|
- <el-descriptions-item label="所属分组">{{form.deadlineTime}}</el-descriptions-item>
|
|
|
|
|
|
+ <el-descriptions-item label="所属分组">
|
|
|
|
+ <div v-for="dict in dict.type.ehr_pm_group" v-if="form.staffDivide == dict.value">
|
|
|
|
+ <div>{{ dict.label }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ </el-descriptions-item>
|
|
</el-descriptions>
|
|
</el-descriptions>
|
|
<el-descriptions :column="6 ">
|
|
<el-descriptions :column="6 ">
|
|
<el-descriptions-item label="自评分" v-if="form.status > 3">{{form.saMark}}</el-descriptions-item>
|
|
<el-descriptions-item label="自评分" v-if="form.status > 3">{{form.saMark}}</el-descriptions-item>
|
|
@@ -73,16 +77,7 @@
|
|
<el-table-column :show-overflow-tooltip="!isUnfold" label="自评语" align="center" prop="selfComment" v-if="form.status > 3"/>
|
|
<el-table-column :show-overflow-tooltip="!isUnfold" label="自评语" align="center" prop="selfComment" v-if="form.status > 3"/>
|
|
<el-table-column width="80" label="自评分*" align="center" prop="selfScoring" v-if="this.$store.state.user.name == form.staff && form.status == '3'">
|
|
<el-table-column width="80" label="自评分*" align="center" prop="selfScoring" v-if="this.$store.state.user.name == form.staff && form.status == '3'">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-input v-model="scope.row.selfScoring" v-only-number="{max:100,min:0,precision:1}" size="mini"/>
|
|
|
|
- <!-- <el-input
|
|
|
|
- size="mini"
|
|
|
|
- v-model.number="scope.row.selfScoring"
|
|
|
|
- onkeyup="value=value.replace(/[^\d||/.]/g,'')"
|
|
|
|
- oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=0){value=0} if(value>100){value=100}"
|
|
|
|
- :maxlength="3"
|
|
|
|
- :minlength="1"
|
|
|
|
- >
|
|
|
|
- </el-input> -->
|
|
|
|
|
|
+ <el-input v-model="scope.row.selfScoring" v-only-number="{max:saMarkMax,min:0,precision:1}" size="mini"/>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column :show-overflow-tooltip="!isUnfold" label="自评语*" align="center" prop="selfComment" v-if="this.$store.state.user.name == form.staff && form.status == '3'">
|
|
<el-table-column :show-overflow-tooltip="!isUnfold" label="自评语*" align="center" prop="selfComment" v-if="this.$store.state.user.name == form.staff && form.status == '3'">
|
|
@@ -137,13 +132,7 @@
|
|
<el-checkbox v-model="rowData.asItem" @change="handleCheckedChange"></el-checkbox>
|
|
<el-checkbox v-model="rowData.asItem" @change="handleCheckedChange"></el-checkbox>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="权重(%)" prop="weight" v-if="!rowData.asItem">
|
|
<el-form-item label="权重(%)" prop="weight" v-if="!rowData.asItem">
|
|
- <el-input
|
|
|
|
- v-model.number="rowData.weight"
|
|
|
|
- onkeyup="value=value.replace(/[^\d||/.]/g,'')"
|
|
|
|
- oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=0){value=0} if(value>100){value=100}"
|
|
|
|
- :maxlength="3"
|
|
|
|
- :minlength="1"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-input v-model.number="rowData.weight" v-only-number="{max:100,min:0,precision:0}" size="mini">
|
|
<i slot="suffix" style="color: #000;font-style:normal;margin-right: 10px;">%</i>
|
|
<i slot="suffix" style="color: #000;font-style:normal;margin-right: 10px;">%</i>
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -171,7 +160,7 @@ import { getPerformanceItem,addPerformanceItem,updatePerformanceItem,delPerforma
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: 'detail',
|
|
name: 'detail',
|
|
- dicts: ['ehr_pm_aspect','ehr_pm_role'],
|
|
|
|
|
|
+ dicts: ['ehr_pm_aspect','ehr_pm_role','ehr_pm_group'],
|
|
props: ['pageStu','rowId',"ids"],
|
|
props: ['pageStu','rowId',"ids"],
|
|
model: {
|
|
model: {
|
|
prop: 'isList',
|
|
prop: 'isList',
|
|
@@ -220,6 +209,13 @@ export default {
|
|
weightSum: 0,
|
|
weightSum: 0,
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ computed: {
|
|
|
|
+ //自评分最大值
|
|
|
|
+ saMarkMax: function () {
|
|
|
|
+ //业务组最高自评分为150;非业务组最高自评分为100;
|
|
|
|
+ return this.form.staffDivide == 'C1' ? 150 : 100
|
|
|
|
+ }
|
|
|
|
+ },
|
|
async created() {
|
|
async created() {
|
|
this.id = this.rowId;
|
|
this.id = this.rowId;
|
|
this.fetchPerformance(this.id);
|
|
this.fetchPerformance(this.id);
|
|
@@ -249,11 +245,13 @@ export default {
|
|
},
|
|
},
|
|
//增行
|
|
//增行
|
|
btnAddRow(){
|
|
btnAddRow(){
|
|
- this.rowData = {assessId: this.form.id};
|
|
|
|
|
|
+ this.rowData = {};
|
|
|
|
+ this.rowData.assessId = this.form.id;
|
|
this.rowDataOpen = true;
|
|
this.rowDataOpen = true;
|
|
},
|
|
},
|
|
//修改
|
|
//修改
|
|
async btnEdit(row){
|
|
async btnEdit(row){
|
|
|
|
+ this.rowData = {};
|
|
await getPerformanceItem(row.id).then(res => {
|
|
await getPerformanceItem(row.id).then(res => {
|
|
if (res.code === 200) {
|
|
if (res.code === 200) {
|
|
this.rowData = res.data
|
|
this.rowData = res.data
|
|
@@ -272,10 +270,24 @@ export default {
|
|
},
|
|
},
|
|
//单行明细取消
|
|
//单行明细取消
|
|
btnRowClose(){
|
|
btnRowClose(){
|
|
|
|
+ this.rowData = {};
|
|
this.rowDataOpen = false;
|
|
this.rowDataOpen = false;
|
|
},
|
|
},
|
|
//单行明细确认
|
|
//单行明细确认
|
|
btnRowConfirm(){
|
|
btnRowConfirm(){
|
|
|
|
+ let sum = 100;
|
|
|
|
+ if(this.rowData.id){
|
|
|
|
+ let arr = this.form.performanceItem.filter(ele => ele.id != this.rowData.id);
|
|
|
|
+ sum = arr.reduce((sum, e) => sum + Number(e.weight || 0), 0);
|
|
|
|
+ }else{
|
|
|
|
+ sum = this.form.performanceItem.reduce((sum, e) => sum + Number(e.weight || 0), 0);
|
|
|
|
+ }
|
|
|
|
+ console.log("sum",sum);
|
|
|
|
+ console.log("sum + this.rowData.weight",sum + this.rowData.weight);
|
|
|
|
+ if(sum + this.rowData.weight > 100){
|
|
|
|
+ this.$modal.msgSuccess("总权重超过100,剩余权重比为" + (100 - sum));
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
this.$refs["rowDataForm"].validate(valid => {
|
|
this.$refs["rowDataForm"].validate(valid => {
|
|
if (valid) {
|
|
if (valid) {
|
|
if (this.rowData.id != undefined) {
|
|
if (this.rowData.id != undefined) {
|
|
@@ -324,7 +336,7 @@ export default {
|
|
const { columns, data } = param;
|
|
const { columns, data } = param;
|
|
let val = data.reduce((sum, e) => sum + Number(e.weight || 0), 0);
|
|
let val = data.reduce((sum, e) => sum + Number(e.weight || 0), 0);
|
|
this.weightSum = val;
|
|
this.weightSum = val;
|
|
- return ['合计','','','','',val];
|
|
|
|
|
|
+ return ['合计','','','','',val,'','',this.form.saMark,'',this.form.ldMark];
|
|
},
|
|
},
|
|
//提交
|
|
//提交
|
|
btnSubmit(){
|
|
btnSubmit(){
|
|
@@ -387,7 +399,7 @@ export default {
|
|
},
|
|
},
|
|
//选择加减分项后
|
|
//选择加减分项后
|
|
handleCheckedChange(value){
|
|
handleCheckedChange(value){
|
|
- this.rowData.weight = value ? 0 : null;
|
|
|
|
|
|
+ this.rowData.weight = 0;
|
|
},
|
|
},
|
|
}
|
|
}
|
|
}
|
|
}
|