From 7ab7c4c9302ca6c5c2a29b03851214da1086a550 Mon Sep 17 00:00:00 2001 From: chenyuan Date: Fri, 7 Aug 2026 15:48:48 +0800 Subject: [PATCH] feat: add product development process step one --- src/api/studentTrainingAnswer.js | 34 +++ src/router/index.js | 2 +- .../product-development-process.vue | 279 ++++++++++++++++++ 3 files changed, 314 insertions(+), 1 deletion(-) create mode 100644 src/views/foundation/product-development-process.vue diff --git a/src/api/studentTrainingAnswer.js b/src/api/studentTrainingAnswer.js index 161310f..a8cf563 100644 --- a/src/api/studentTrainingAnswer.js +++ b/src/api/studentTrainingAnswer.js @@ -15,6 +15,13 @@ const newProductSurveyStepOneAnswers = { "selling-point-11": "有形层", }; +const productDevelopmentProcessStepOneAnswers = { + "1.1": "关键任务", "1.2": "关键任务", "2.1": "关键任务", "2.2": "非关键任务", "2.3": "关键任务", + "3.1": "关键任务", "3.2": "关键任务", "3.3": "非关键任务", "3.4": "关键任务", "3.5": "关键任务", "3.6": "关键任务", + "4.1": "关键任务", "4.2": "关键任务", "4.3": "关键任务", "4.4": "关键任务", + "5.1": "关键任务", "5.2": "关键任务", "5.3": "关键任务", "5.4": "关键任务", +}; + function demoResult(taskKey) { try { return JSON.parse(sessionStorage.getItem(getDemoAnswerKey(taskKey)) || "null"); } catch (error) { return null; } } @@ -95,6 +102,33 @@ export function checkNewProductSurveyStepOne(items) { }); } +export function checkProductDevelopmentProcessStepOne(items) { + if (isStudentDemo()) { + const results = Array.isArray(items) + ? items.map((item) => { + const correct = productDevelopmentProcessStepOneAnswers[item?.taskNo] === item?.classification; + return { taskNo: item?.taskNo, correct, message: correct ? "分类正确" : "分类有误,请重新选择" }; + }) + : []; + const correctCount = results.filter((item) => item.correct).length; + return Promise.resolve({ + code: 200, + data: { + items: results, + correctCount, + totalCount: results.length, + allCorrect: results.length === Object.keys(productDevelopmentProcessStepOneAnswers).length && correctCount === results.length, + }, + }); + } + return request({ + url: "/api/student-training-answers/product-development-process/step-1/check", + method: "post", + data: { items }, + headers: { repeatSubmit: false }, + }); +} + function validateNewProductSurveyStepTwoDemo(form) { const value = form || {}; const images = Array.isArray(value.images) ? value.images : []; diff --git a/src/router/index.js b/src/router/index.js index e0d49b8..7559532 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -205,7 +205,7 @@ export const dynamicRoutes = [ }, { path: "product-development-process", - component: () => import("@/views/training/GenericTrainingPage.vue"), + component: () => import("@/views/foundation/product-development-process.vue"), name: "ProductDevelopmentProcess", meta: { title: "产品开发主要流程", icon: "需求挖掘", affix: true, pageKey: "product-development-process" }, }, diff --git a/src/views/foundation/product-development-process.vue b/src/views/foundation/product-development-process.vue new file mode 100644 index 0000000..a85657f --- /dev/null +++ b/src/views/foundation/product-development-process.vue @@ -0,0 +1,279 @@ + + + + +