上线完成

v1.2.0
‘wangjiuyun 2025-01-09 18:06:19 +08:00
parent 74de4ef76c
commit 829acc5857
5 changed files with 95 additions and 51 deletions

View File

@ -87,7 +87,21 @@ export default {
},
columns: [
{ prop: "userName", label: "考核人员" },
{ prop: "manageScore", label: "考核评分", sortable: "custom" },
{
prop: "score",
label: "考核评分",
sortable: "custom",
type: "status",
callback: (value, row) => {
if (row.score) {
return row.score;
} else if (row.manageScore) {
return row.manageScore;
} else {
return row.selfScore;
}
},
},
{
prop: "examineStatus",
label: "状态",
@ -101,8 +115,10 @@ export default {
return `<span style="color: ${color}">待个人自评/组长评分</span>`;
} else if (row.examineStatusSelf == 0) {
return `<span style="color: ${color}">待个人自评</span>`;
} else if (row.examineStatus == 0) {
return `<span style="color: ${color}">待组长评分</span>`;
} else {
return `<span style="color: ${color}">待组长评分评</span>`;
return `<span style="color: ${color}">已完成</span>`;
}
},
},
@ -139,9 +155,17 @@ export default {
this.getTaskUserList();
},
handleEdit(row, edit) {
let score = "";
if (row.score) {
score = row.score;
} else if (row.manageScore) {
score = row.manageScore;
} else {
score = row.selfScore;
}
this.$router.push({
path: "/projectBank/userScoreDetail",
query: { taskId: row.taskId, examineId: row.id },
query: { taskId: row.taskId, examineId: row.id, score },
});
},
getTaskUserList() {

View File

@ -45,19 +45,19 @@
</div>
</div>
<div class="flex-row jcsb aic userBox headerBox">
<div class="flex-row aic">
<div class="flex-row aic" style="width: 200px">
<i
class="el-icon-user-solid"
style="color: #4096ff; font-size: 24px; margin-right: 5px"
></i
>{{ userList.find((ele) => ele.id == examineId).userName }}
>{{ (userList.find((ele) => ele.id == examineId) || {}).userName }}
</div>
<div class="totalBox aic" v-if="!isNormal">
<div class="totalBox aic">
<div>考核评分</div>
<div class="scoreTotal">{{ score }}</div>
</div>
</div>
<el-tabs v-model="activeName" type="card">
<el-tabs v-model="activeName">
<el-tab-pane label="组长评估" name="first">
<div class="tableBox">
<div
@ -141,7 +141,7 @@
v-model="scope.row.score"
:min="0"
:max="10"
:disabled="!isEdit"
:disabled="true"
style="width: 90%"
show-stops
show-tooltip
@ -164,15 +164,17 @@
:autosize="{ minRows: 4 }"
placeholder="0/300"
v-model="judgeContent"
:readonly="!isEdit"
:readonly="true"
maxlength="300"
show-word-limit
>
</el-input>
</div>
<div style="margin-top: 20px;font-weight: bold;">组长{{ manageUserName }}</div>
</div>
</div></div
></el-tab-pane>
</div>
</div></el-tab-pane
>
<el-tab-pane label="个人自评" name="second">
<div class="tableBox">
<div
@ -257,7 +259,7 @@
:min="0"
:max="10"
@change="updateScore(scope.row)"
:disabled="!isEdit"
:disabled="true"
style="width: 90%"
show-stops
show-tooltip
@ -269,24 +271,10 @@
</div>
</template>
</el-table-column>
<el-table-column label="自评总结" prop="score">
<el-table-column label="自评总结" prop="score" width="150">
<template slot-scope="scope">
<div>
<el-button
v-if="isEdit"
@click="handleEdit(scope.row)"
type="text"
size="mini"
:class="{ hasEdit: !scope.row.remark }"
style="font-weight: 600"
>{{ scope.row.remark ? "查看" : "暂未评价" }}
<i
style="color: #4096ff; font-size: 14px"
class="el-icon-edit el-icon--right"
></i
></el-button>
<el-button
v-if="!isEdit"
@click="handleEdit(scope.row)"
type="text"
size="mini"
@ -347,6 +335,7 @@ export default {
judgeContent: "",
score: "",
activeName: "first",
manageUserName: "",
};
},
methods: {
@ -355,7 +344,7 @@ export default {
this.remark = row.remark;
},
getTaskList() {
getTaskList(first) {
taskApi
.getTaskList({
pageNum: 1,
@ -365,11 +354,11 @@ export default {
this.taskList = res.rows;
this.$nextTick(() => {
this.examineTaskId = Number(this.$route.query.taskId);
this.getUserList();
this.getUserList(first);
});
});
},
getUserList() {
getUserList(first) {
if (!this.examineTaskId) return;
taskApi
.getTaskUserList({
@ -380,7 +369,9 @@ export default {
.then((res) => {
this.userList = res.rows;
this.$nextTick(() => {
this.examineId = Number(this.$route.query.examineId);
if (first !== 1) this.examineId = this.userList[0].id;
else this.examineId = Number(this.$route.query.examineId);
this.getSocreDetail(0);
this.getSocreDetail(1);
});
@ -406,12 +397,20 @@ export default {
if (type == 0) this.tableData1 = Object.values(objData);
else this.tableData2 = Object.values(objData);
this.judgeContent = res.data.examineUser.judgeContent;
this.score = res.data.examineUser.score||res.data.examineUser.manageScore;
this.manageUserName = res.data.examineUser.manageUserName;
if (res.data.examineUser.score) {
this.score = res.data.examineUser.score;
} else if (res.data.examineUser.manageScore) {
this.score = res.data.examineUser.manageScore;
} else {
this.score = res.data.examineUser.selfScore;
}
});
},
},
created() {
this.getTaskList();
this.getTaskList(1);
},
};
</script>
@ -513,7 +512,7 @@ export default {
padding: 20px;
background-color: #f9f9f9;
border-radius: 2px;
font-size: 14px;
font-size: 16px;
}
.block {
width: 4px;
@ -530,10 +529,10 @@ export default {
z-index: 100;
}
.totalBox {
width: 150px;
width: 180px;
display: flex;
flex-direction: row;
font-size: 14px;
font-size: 16px;
color: #333333;
}
.scoreTotal {
@ -550,4 +549,17 @@ export default {
::v-deep .el-table__header .el-table__cell {
padding: 14px 30px;
}
::v-deep .el-tabs__item.is-active {
color: #4096ff;
}
::v-deep .el-tabs__item {
font-size: 18px;
font-weight: bold;
color: #999999;
}
::v-deep .el-tabs__active-bar {
height: 3px;
width: 32px !important;
left: 20px;
}
</style>

View File

@ -15,7 +15,7 @@
</div>
</div>
<div class="flex-row jcsb aic userBox headerBox">
<div class="flex-row aic">
<div class="flex-row aic" style="width: 200px;">
<i
class="el-icon-user-solid"
style="color: #4096ff; font-size: 24px; margin-right: 5px"
@ -122,7 +122,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="自评总结" prop="score" v-if="isNormal">
<el-table-column label="自评总结" prop="score" v-if="isNormal" width="150">
<template slot-scope="scope">
<div>
<el-button
@ -493,7 +493,7 @@ export default {
padding: 20px;
background-color: #f9f9f9;
border-radius: 2px;
font-size: 14px;
font-size: 16px;
}
.block {
width: 4px;
@ -510,10 +510,10 @@ export default {
z-index: 100;
}
.totalBox {
width: 150px;
width: 180px;
display: flex;
flex-direction: row;
font-size: 14px;
font-size: 16px;
color: #333333;
}
.scoreTotal {

View File

@ -37,8 +37,10 @@
</div>
</div>
</div>
</div></div
></el-tab-pane>
</div>
</div>
<el-empty v-if="!taskList['0']" description="暂无数据"></el-empty>
</el-tab-pane>
<el-tab-pane label="已过期" name="已过期">
<div class="assessment-container flex-row">
<div v-for="item in taskList['2']" :key="item.id" class="taskBox">
@ -75,8 +77,10 @@
</div>
</div>
</div>
</div></div
></el-tab-pane>
</div>
</div>
<el-empty v-if="!taskList['2']" description="暂无数据"></el-empty>
</el-tab-pane>
</el-tabs>
</div>
</template>

View File

@ -37,7 +37,9 @@
</div>
</div>
</div>
</div></div
</div>
</div>
<el-empty v-if="!taskList['0']" description="暂无数据"></el-empty
></el-tab-pane>
<el-tab-pane label="已过期" name="已过期">
<div class="assessment-container flex-row">
@ -75,8 +77,10 @@
</div>
</div>
</div>
</div></div
></el-tab-pane>
</div>
</div>
<el-empty v-if="!taskList['2']" description="暂无数据"></el-empty>
</el-tab-pane>
</el-tabs>
</div>
</template>