diff --git a/src/views/teacherEnd/score/index.vue b/src/views/teacherEnd/score/index.vue
index d8b162d..b82b586 100644
--- a/src/views/teacherEnd/score/index.vue
+++ b/src/views/teacherEnd/score/index.vue
@@ -45,7 +45,12 @@
-
+
+
+
+ {{ formatTrainingProgress(row) }}
+
+
查看详情
@@ -132,6 +137,16 @@ const WeightStart = ref(false);
// 权重
const workingCapitalTotal = ref(0);
const scoreWeightObj = ref({});
+const formatTrainingProgress = (row) => {
+ if (row.trainingProgress === null || row.trainingProgress === undefined) return "--";
+ const percentage = Number(row.trainingProgress);
+ if (!Number.isFinite(percentage)) return "--";
+ return `${percentage.toFixed(2).replace(/\.00$/, "")}%`;
+};
+const trainingProgressTitle = (row) => {
+ if (row.trainingProgress === null || row.trainingProgress === undefined) return "";
+ return `已完成 ${row.completedTaskCount || 0}/${row.totalTaskCount || 0} 项`;
+};
const rules = {
marketResearchWeight: [
{ required: true, message: "请输入市场需求挖掘权重", trigger: "blur" },
diff --git a/tests/score-reference-progress.static.test.cjs b/tests/score-reference-progress.static.test.cjs
new file mode 100644
index 0000000..f2414a1
--- /dev/null
+++ b/tests/score-reference-progress.static.test.cjs
@@ -0,0 +1,12 @@
+const assert = require("assert");
+const fs = require("fs");
+const path = require("path");
+
+const source = fs.readFileSync(path.join(__dirname, "..", "src", "views", "teacherEnd", "score", "index.vue"), "utf8");
+
+assert.match(source, /prop="score"\s+label="参考成绩"/);
+assert.match(source, /label="实训进度"/);
+assert.match(source, /formatTrainingProgress/);
+assert.match(source, /return "--"/);
+
+console.log("score reference progress static checks passed");