From b372a684c093ac444e50e54df344c1fdb36d0428 Mon Sep 17 00:00:00 2001 From: chenyuan Date: Fri, 7 Aug 2026 17:01:45 +0800 Subject: [PATCH] feat: add industry demand analysis step four --- src/api/studentTrainingAnswer.js | 21 ++++++++++ src/views/demand/industry-demand-analysis.vue | 41 +++++++++++++++---- 2 files changed, 53 insertions(+), 9 deletions(-) diff --git a/src/api/studentTrainingAnswer.js b/src/api/studentTrainingAnswer.js index 89e8e64..6d9cecb 100644 --- a/src/api/studentTrainingAnswer.js +++ b/src/api/studentTrainingAnswer.js @@ -149,6 +149,27 @@ export function checkIndustryDemandAnalysisStepThree(payload) { }); } +export function checkIndustryDemandAnalysisStepFour(payload) { + const value = payload || {}; + if (isStudentDemo()) { + if (!["高度友好", "较为友好", "中性", "存在风险", "风险较高"].includes(String(value.overallAssessment || "").trim())) { + return Promise.reject(new Error("请选择总体 PEST 环境评估等级")); + } + if (!["建议进入", "谨慎进入", "建议暂缓"].includes(String(value.marketDecision || "").trim()) || !String(value.decisionReason || "").trim()) { + return Promise.reject(new Error("请选择市场进入结论并说明理由")); + } + if (!String(value.riskOne || "").trim() || !String(value.riskTwo || "").trim()) return Promise.reject(new Error("请至少填写 2 个核心风险点")); + if (!String(value.summary || "").trim()) return Promise.reject(new Error("请总结 PEST 环境评估结论")); + return Promise.resolve({ code: 200, data: { valid: true, message: "校验通过" } }); + } + return request({ + url: "/api/student-training-answers/industry-demand-analysis/step-4/validate", + method: "post", + data: value, + headers: { repeatSubmit: false }, + }); +} + function validateNewProductSurveyStepTwoDemo(form) { const value = form || {}; const images = Array.isArray(value.images) ? value.images : []; diff --git a/src/views/demand/industry-demand-analysis.vue b/src/views/demand/industry-demand-analysis.vue index a88d0d0..934df1b 100644 --- a/src/views/demand/industry-demand-analysis.vue +++ b/src/views/demand/industry-demand-analysis.vue @@ -65,6 +65,19 @@
+