|
|
@@ -256,17 +256,17 @@
|
|
|
</template>
|
|
|
</el-card>
|
|
|
|
|
|
- <!-- 7. 月考核得分卡片 -->
|
|
|
+ <!-- 7. 考核得分卡片 -->
|
|
|
<el-card shadow="never" class="info-card">
|
|
|
<template #header>
|
|
|
<div class="card-header">
|
|
|
- <span>月考核得分</span>
|
|
|
+ <span>考核得分</span>
|
|
|
</div>
|
|
|
</template>
|
|
|
<!-- 提交模式:简单显示 -->
|
|
|
<template v-if="viewMode === 'submit'">
|
|
|
<el-descriptions :column="1" border>
|
|
|
- <el-descriptions-item label="月考核得分">
|
|
|
+ <el-descriptions-item label="考核得分">
|
|
|
<div class="monthly-score">{{ formatNumber(calculateMonthlyScore(), 2) }}</div>
|
|
|
</el-descriptions-item>
|
|
|
<el-descriptions-item label="总体评价">
|
|
|
@@ -279,7 +279,7 @@
|
|
|
<el-form label-width="100px" class="monthly-score-form">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="月考核得分">
|
|
|
+ <el-form-item label="考核得分">
|
|
|
<el-input :value="calculateMonthlyScore().toFixed(2)" readonly style="width: 100%; text-align: center; height: 24px;" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -325,7 +325,7 @@
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
</el-descriptions-item>
|
|
|
- <el-descriptions-item label="月考核得分">
|
|
|
+ <el-descriptions-item label="考核得分">
|
|
|
{{ calculateMonthlyScore().toFixed(2) }}分
|
|
|
</el-descriptions-item>
|
|
|
<el-descriptions-item label="审批时间">
|
|
|
@@ -556,12 +556,12 @@ const specialWorkForm = reactive({
|
|
|
totalScore: 0
|
|
|
});
|
|
|
|
|
|
- // 月考核得分表单(只读)
|
|
|
+ // 考核得分表单(只读)
|
|
|
const monthlyScoreForm = reactive({
|
|
|
overallComment: ''
|
|
|
});
|
|
|
|
|
|
- // 审批模式下的月考核得分数据
|
|
|
+ // 审批模式下的考核得分数据
|
|
|
const approvalMonthlyScoreData = reactive({
|
|
|
selfOverallComment: '',
|
|
|
superiorOverallComment: ''
|
|
|
@@ -632,7 +632,7 @@ const formatNumber = (value?: number | string, precision = 4) => {
|
|
|
return numValue.toFixed(precision);
|
|
|
};
|
|
|
|
|
|
-/** 计算月考核得分 */
|
|
|
+/** 计算考核得分 */
|
|
|
const calculateMonthlyScore = () => {
|
|
|
if (viewMode.value === 'approval') {
|
|
|
// 审批模式:使用上级评分计算
|
|
|
@@ -648,7 +648,7 @@ const calculateMonthlyScore = () => {
|
|
|
// 特色工作上级评分之和
|
|
|
const specialWorkTotal = approvalSpecialWorkScores.value.reduce((sum, item) => sum + (item.superiorScore || 0), 0);
|
|
|
|
|
|
- // 月考核得分 = 总系数(K)* (班主任常规工作上级评分之和 + 班级管理实效上级评分 + 特色工作上级评分之和)
|
|
|
+ // 考核得分 = 总系数(K)* (班主任常规工作上级评分之和 + 班级管理实效上级评分 + 特色工作上级评分之和)
|
|
|
return totalCoefficient * (routineWorkTotal + managementEffectivenessScore + specialWorkTotal);
|
|
|
} else {
|
|
|
// 提交模式:使用自评分计算
|
|
|
@@ -664,8 +664,18 @@ const calculateMonthlyScore = () => {
|
|
|
// 特色工作总分值
|
|
|
const specialWorkTotal = specialWorkForm.totalScore || 0;
|
|
|
|
|
|
- // 月考核得分 = 总系数(K)* (班主任常规工作自评分之和 - 按班级扣分50%计的分值 + 特色工作总分值)
|
|
|
- return totalCoefficient * (routineWorkTotal - deductionHalf + specialWorkTotal);
|
|
|
+ // 检查是否有实际评分数据(避免空白状态显示50分)
|
|
|
+ const hasAnyScore = routineWorkTotal > 0 || deductionHalf > 0 || specialWorkTotal > 0;
|
|
|
+
|
|
|
+ if (!hasAnyScore || totalCoefficient === 0) {
|
|
|
+ return 0; // 没有评分数据时显示0
|
|
|
+ }
|
|
|
+
|
|
|
+ // 班级扣分项满分值(固定50分)- 仅在有评分数据时计算
|
|
|
+ const classDeductionMaxScore = 50;
|
|
|
+
|
|
|
+ // 修正后的考核得分公式 = 总系数(K)* ((班主任常规工作自评分之和 + 班级扣分项满分值) - 按班级扣分50%计的分值 + 特色工作总分值)
|
|
|
+ return totalCoefficient * ((routineWorkTotal + classDeductionMaxScore) - deductionHalf + specialWorkTotal);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
@@ -673,7 +683,7 @@ const calculateMonthlyScore = () => {
|
|
|
const calculateEvaluationLevel = () => {
|
|
|
const score = calculateMonthlyScore();
|
|
|
console.log('=== 📊 评价等级计算调试 ===');
|
|
|
- console.log('💯 月考核得分:', score);
|
|
|
+ console.log('💯 考核得分:', score);
|
|
|
console.log('📈 是否有统计数据:', !!evaluationStats.value);
|
|
|
|
|
|
if (evaluationStats.value) {
|
|
|
@@ -899,10 +909,10 @@ const loadApprovalDetail = async () => {
|
|
|
console.log('审批模式 - 特色工作数据初始化完成,条目数量:', approvalSpecialWorkScores.value.length);
|
|
|
}
|
|
|
|
|
|
- // 初始化月考核得分数据
|
|
|
+ // 初始化考核得分数据
|
|
|
approvalMonthlyScoreData.selfOverallComment = approvalDetail.value?.selfOverallComment || '';
|
|
|
approvalMonthlyScoreData.superiorOverallComment = approvalDetail.value?.superiorOverallComment || '';
|
|
|
- console.log('审批模式 - 月考核得分数据初始化完成');
|
|
|
+ console.log('审批模式 - 考核得分数据初始化完成');
|
|
|
|
|
|
// 获取评价等级统计数据
|
|
|
try {
|
|
|
@@ -976,7 +986,7 @@ const loadAssessmentDetail = async () => {
|
|
|
specialWorkForm.totalScore =
|
|
|
(specialWorkForm.score1 || 0) + (specialWorkForm.score2 || 0) + (specialWorkForm.score3 || 0) + (specialWorkForm.score4 || 0);
|
|
|
|
|
|
- // 初始化月考核得分数据
|
|
|
+ // 初始化考核得分数据
|
|
|
monthlyScoreForm.overallComment = assessmentDetail.value?.overallComment || '';
|
|
|
|
|
|
console.log('=== 查看考核数据加载完成 ===');
|