diff --git a/src/api/studentTrainingAnswer.js b/src/api/studentTrainingAnswer.js index 9d4f911..89e8e64 100644 --- a/src/api/studentTrainingAnswer.js +++ b/src/api/studentTrainingAnswer.js @@ -129,6 +129,26 @@ export function checkIndustryDemandAnalysisStepTwo(payload) { }); } +export function checkIndustryDemandAnalysisStepThree(payload) { + const rows = Array.isArray(payload?.rows) ? payload.rows : []; + if (isStudentDemo()) { + const expectedDimensions = ["political", "economic", "social", "technology"]; + if (rows.length !== expectedDimensions.length || expectedDimensions.some((dimension) => !rows.some((row) => row?.dimension === dimension))) { + return Promise.reject(new Error("请完成政治、经济、社会和技术四个维度的分析")); + } + const incompleteRow = rows.find((row) => !String(row?.opportunities || "").trim() + || !String(row?.challenges || "").trim() || !String(row?.strategies || "").trim()); + if (incompleteRow) 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-3/validate", + method: "post", + data: { rows }, + 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 7ced0f0..a88d0d0 100644 --- a/src/views/demand/industry-demand-analysis.vue +++ b/src/views/demand/industry-demand-analysis.vue @@ -53,6 +53,18 @@
+