From f48e734e70574c0ab18a9687af11bfd0bd567198 Mon Sep 17 00:00:00 2001 From: chenyuan Date: Fri, 7 Aug 2026 17:48:49 +0800 Subject: [PATCH] feat: add competitive analysis step three --- src/api/studentTrainingAnswer.js | 15 ++++++++ .../competitive-environment-analysis.vue | 37 ++++++++++++++----- 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/src/api/studentTrainingAnswer.js b/src/api/studentTrainingAnswer.js index 5f70948..8b21bd6 100644 --- a/src/api/studentTrainingAnswer.js +++ b/src/api/studentTrainingAnswer.js @@ -119,6 +119,21 @@ export function checkCompetitiveEnvironmentAnalysisStepTwo(payload) { return request({ url: "/api/student-training-answers/competitive-environment-analysis/step-2/validate", method: "post", data: value, headers: { repeatSubmit: false } }); } +export function checkCompetitiveEnvironmentAnalysisStepThree(payload) { + const strategies = Array.isArray(payload?.strategies) ? payload.strategies : []; + if (isStudentDemo()) { + const requiredTypes = ["so", "wo", "st", "wt"]; + if (strategies.length !== requiredTypes.length || requiredTypes.some((type) => !strategies.some((item) => item?.strategyType === type))) { + return Promise.reject(new Error("请完成 SO、WO、ST 和 WT 四类策略")); + } + if (strategies.some((item) => !String(item?.recommendation || "").trim() || !String(item?.expectedEffect || "").trim())) { + return Promise.reject(new Error("请为每类策略填写建议和预期效果")); + } + return Promise.resolve({ code: 200, data: { valid: true, message: "校验通过" } }); + } + return request({ url: "/api/student-training-answers/competitive-environment-analysis/step-3/validate", method: "post", data: { strategies }, headers: { repeatSubmit: false } }); +} + function validateNewProductSurveyStepTwoDemo(form) { const value = form || {}; const images = Array.isArray(value.images) ? value.images : []; diff --git a/src/views/demand/competitive-environment-analysis.vue b/src/views/demand/competitive-environment-analysis.vue index 7470e85..3f62631 100644 --- a/src/views/demand/competitive-environment-analysis.vue +++ b/src/views/demand/competitive-environment-analysis.vue @@ -20,6 +20,13 @@
序号SWOT维度补充信息要点
{{ index + 1 }}{{ row.label }}