diff --git a/src/api/studentTrainingAnswer.js b/src/api/studentTrainingAnswer.js index 681cf8d..b1091a7 100644 --- a/src/api/studentTrainingAnswer.js +++ b/src/api/studentTrainingAnswer.js @@ -364,3 +364,18 @@ export function checkBusinessFeasibilityStepOne(payload) { if (isStudentDemo()) { try { return Promise.resolve({ code: 200, data: validateBusinessFeasibilityStepOneDemo(payload) }); } catch (error) { return Promise.reject(error); } } return request({ url: "/api/student-training-answers/business-feasibility/step-1/validate", method: "post", data: payload, headers: { repeatSubmit: false } }); } + +export function checkBusinessFeasibilityStepTwo(payload) { + const value = payload || {}; + if (isStudentDemo()) { + const decisions = ["highly-feasible", "feasible-after-optimization", "observe", "not-feasible"]; + const priorities = ["hardware-cost-control", "content-ecosystem", "channel-expansion", "brand-differentiation", "supply-chain-management", "capital-planning"]; + const selected = Array.isArray(value.priorities) ? value.priorities : []; + if (!decisions.includes(value.decision)) return Promise.reject(new Error("请选择项目商业可行性总体评估")); + if (selected.some((item) => !priorities.includes(item)) || new Set(selected).size !== selected.length) return Promise.reject(new Error("优先问题包含无效或重复项")); + if (value.decision === "not-feasible" && selected.length) return Promise.reject(new Error("选择不可行时无需勾选优先问题")); + if (value.decision !== "not-feasible" && selected.length !== 3) return Promise.reject(new Error("请且仅选择 3 个需要优先解决的关键问题")); + return Promise.resolve({ code: 200, data: { valid: true, message: "校验通过" } }); + } + return request({ url: "/api/student-training-answers/business-feasibility/step-2/validate", method: "post", data: value, headers: { repeatSubmit: false } }); +} diff --git a/src/views/demand/business-feasibility.vue b/src/views/demand/business-feasibility.vue index 75b656e..b89a376 100644 --- a/src/views/demand/business-feasibility.vue +++ b/src/views/demand/business-feasibility.vue @@ -66,7 +66,24 @@
-

第 {{ currentStep }} 步将在后续实训页面中配置。

+
+

Step 02

项目可行性初步决策

立项判断
+

综合以上所有分析,初步判断项目的可行性,并明确如果立项后最需要优先解决的关键问题。

+
+

01该项目商业可行性总体评估为:

+
+ +
+
+
+

02如果立项,你认为最需要优先解决的 3 个关键问题是:

{{ selectedPriorityCount }}/3
+

已选择“不建议立项”,本项无需填写。

+

请选择且仅选择 3 项,作为后续立项推进的优先事项。

+
+
+
+
+

第 {{ currentStep }} 步将在后续实训页面中配置。

@@ -74,8 +91,8 @@