Преглед на файлове

fix(frontend): 修正评分契约为 OKR 60 + 绩效 40

wangkangyjy преди 1 седмица
родител
ревизия
fed4f2c72f
променени са 1 файла, в които са добавени 11 реда и са изтрити 8 реда
  1. 11 8
      frontend/scripts/verify-scoring-contract.mjs

+ 11 - 8
frontend/scripts/verify-scoring-contract.mjs

@@ -15,16 +15,19 @@ function requireIn(file, pattern, message) {
   if (!pattern.test(file)) failures.push(message)
 }
 
-reject(/满分\s*60[\s\S]{0,80}OKR|OKR[\s\S]{0,80}满分\s*60/, 'OKR 自评/终评必须是 40 分制,不能显示满分 60')
-reject(/满分\s*40[\s\S]{0,80}工作成果|工作成果[\s\S]{0,80}满分\s*40/, '工作成果必须是 60 分制,不能显示满分 40')
+// OKR 满分 60 — 不得改为 40
+reject(/满分\s*40[\s\S]{0,80}OKR|OKR[\s\S]{0,80}满分\s*40/, 'OKR 自评/终评必须是 60 分制,不能显示满分 40')
+// 绩效维度满分 40 — 不得改为 60
+reject(/满分\s*60[\s\S]{0,80}绩效|绩效[\s\S]{0,80}满分\s*60/, '绩效维度必须是 40 分制,不能显示满分 60')
+// 不允许二次加权系数
 reject(/×\s*0\.[46](?!\d)/, '结果展示不能使用二次加权系数 ×0.6 或 ×0.4(排除动画时长 0.4s 等合法值)')
-reject(/\*\s*60\s*\*\s*10/, 'OKR 计算不能乘以 60')
-reject(/OKR\(40%\)|工作成果\(60%\)/, '评分预览应写分值制,不应写成百分比加权')
+reject(/OKR\(40%\)|绩效\(60%\)|工作成果\(60%\)/, '评分预览应写分值制,不应写成百分比加权')
 
-requireIn(myResult, /OKR 得分 = 平均[\s\S]*× 40[\s\S]*\/ 40/, 'MyResultView 自评 OKR 小计应展示 ×40 与 /40')
-requireIn(myResult, /工作成果得分 =[\s\S]*\/ 60/, 'MyResultView 自评工作成果小计应展示 /60')
-requireIn(scoringEdit, /OKR 得分 = 平均[\s\S]*× 40[\s\S]*\/ 40/, 'ScoringEditView 终评 OKR 小计应展示 ×40 与 /40')
-requireIn(scoringEdit, /工作成果得分 =[\s\S]*\/ 60/, 'ScoringEditView 终评工作成果小计应展示 /60')
+// OKR 得分 = 平均 × 60 = ... / 60
+requireIn(myResult, /OKR 得分 = 平均[\s\S]*× 60[\s\S]*\/ 60/, 'MyResultView 自评 OKR 小计应展示 ×60 与 /60')
+requireIn(myResult, /绩效[\s\S]*\/ 40/, 'MyResultView 自评绩效维度小计应展示 /40')
+requireIn(scoringEdit, /OKR 得分 = 平均[\s\S]*× 60[\s\S]*\/ 60/, 'ScoringEditView 终评 OKR 小计应展示 ×60 与 /60')
+requireIn(scoringEdit, /绩效[\s\S]*\/ 40/, 'ScoringEditView 终评绩效维度小计应展示 /40')
 
 if (failures.length) {
   console.error('评分契约检查失败:')