From bf21432ebdc795eb197b9a701c488e1350c8c5fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=98=9F?= <10947742+xu-xing9@user.noreply.gitee.com> Date: Mon, 20 Apr 2026 12:22:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE0417=E4=BC=9A=E8=AE=AE?= =?UTF-8?q?=E8=AF=84=E5=AE=A1=E6=8F=90=E5=87=BA=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A1=E3=80=81=E6=8E=88=E6=9D=83?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=B1=BB=E5=9E=8B=EF=BC=9B2=E3=80=81?= =?UTF-8?q?=E5=8D=95=E5=8F=B0=E8=AE=BE=E5=A4=87=E7=9A=84=E6=8E=88=E6=9D=83?= =?UTF-8?q?=E9=A1=B9=E5=92=8C=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E4=BF=AE=E6=94=B9=EF=BC=9B3=E3=80=81=E7=99=BB?= =?UTF-8?q?=E8=AE=B0=E8=AE=BE=E5=A4=87=E7=9A=84=E7=94=9F=E4=BA=A7=E6=89=B9?= =?UTF-8?q?=E6=AC=A1=E6=89=8B=E5=8A=A8=E7=82=B9=E5=87=BB=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=88=96=E8=80=85=E8=BE=93=E5=85=A5=E5=BD=95=E5=85=A5=EF=BC=9B?= =?UTF-8?q?4=E3=80=81=E6=AF=8F=E5=8F=B0=E8=AE=BE=E5=A4=87=E7=9A=84?= =?UTF-8?q?=E9=87=87=E9=9B=86=E6=9D=BF=E5=92=8C=E5=8F=91=E5=B0=84=E6=9D=BF?= =?UTF-8?q?=E3=80=81=E4=B8=BB=E6=9D=BF=E7=9A=84SN=E6=89=AB=E7=A0=81?= =?UTF-8?q?=E5=BD=95=E5=85=A5=EF=BC=8C=E4=BF=9D=E7=95=99=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E7=9A=84=E6=96=B9=E5=BC=8F=EF=BC=9B5?= =?UTF-8?q?=E3=80=81=E8=AE=BE=E5=A4=87=E5=9E=8B=E5=8F=B7BOM=E8=A1=A8?= =?UTF-8?q?=E9=87=8C=E7=9A=84=E6=9D=BF=E5=8D=A1=E5=8F=AF=E4=BB=A5=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=A4=9A=E4=B8=AA=E7=89=88=E6=9C=AC=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=EF=BC=8C=E5=A6=82=E6=9E=9C=E4=B8=A4=E5=9D=97=E9=87=87=E9=9B=86?= =?UTF-8?q?=E6=9D=BF=EF=BC=8C=E5=88=99=E9=9C=80=E8=A6=81=E4=B8=A4=E5=9D=97?= =?UTF-8?q?=E7=9A=84=E7=89=88=E6=9C=AC=E4=B8=80=E8=87=B4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .next/dev/logs/next-development.log | 85 ++++++++ .next/dev/server/app-paths-manifest.json | 1 + .next/dev/trace | 129 +++++++++++ .next/dev/types/routes.d.ts | 3 +- .next/dev/types/validator.ts | 9 + docs/20260417会议评审.md | 23 ++ docs/产品原型文档.md | 265 ++++++++++++++++------- src/app/devices/[sn]/page.tsx | 166 +++++++++++++- src/app/devices/page.tsx | 38 ++-- src/app/licenses/page.tsx | 130 ++++------- src/app/models/bom/page.tsx | 216 ++++++++++++++++++ src/app/models/page.tsx | 8 +- src/app/registration/page.tsx | 148 +++++++++++-- 13 files changed, 1011 insertions(+), 210 deletions(-) create mode 100644 docs/20260417会议评审.md create mode 100644 src/app/models/bom/page.tsx diff --git a/.next/dev/logs/next-development.log b/.next/dev/logs/next-development.log index e7f4e0f..0ffb7eb 100644 --- a/.next/dev/logs/next-development.log +++ b/.next/dev/logs/next-development.log @@ -45,3 +45,88 @@ {"timestamp":"01:03:11.671","source":"Server","level":"LOG","message":"✓ Compiled in 35ms"} {"timestamp":"01:03:41.505","source":"Server","level":"LOG","message":"✓ Compiled in 50ms"} {"timestamp":"01:03:51.542","source":"Server","level":"LOG","message":"✓ Compiled in 66ms"} +{"timestamp":"19:20:28.294","source":"Server","level":"LOG","message":"✓ Compiled in 44ms"} +{"timestamp":"19:20:47.357","source":"Server","level":"LOG","message":"✓ Compiled in 39ms"} +{"timestamp":"19:20:57.178","source":"Server","level":"LOG","message":"✓ Compiled in 33ms"} +{"timestamp":"20:05:25.241","source":"Server","level":"LOG","message":"✓ Compiled in 29ms"} +{"timestamp":"20:06:03.061","source":"Server","level":"LOG","message":"✓ Compiled in 28ms"} +{"timestamp":"20:06:40.080","source":"Server","level":"LOG","message":"✓ Compiled in 34ms"} +{"timestamp":"23:00:54.762","source":"Server","level":"LOG","message":"✓ Compiled in 92ms"} +{"timestamp":"23:01:33.547","source":"Browser","level":"ERROR","message":"uncaughtError: ReferenceError: BomContent is not defined"} +{"timestamp":"23:01:33.551","source":"Server","level":"ERROR","message":"[browser] \"\\u001b[31mUncaught ReferenceError: BomContent is not defined\\u001b[39m\\n\\u001b[31m at BomPage (src/app/models/bom/page.tsx:42:8)\\u001b[39m\\n \\u001b[90m40 |\\u001b[0m \\u001b[36mreturn\\u001b[0m (\\n \\u001b[90m41 |\\u001b[0m <\\u001b[33mSuspense\\u001b[0m fallback={
| {h} | ))}||||||||
|---|---|---|---|---|---|---|---|---|
| {row.model} | -
- {row.modules}
- |
- {row.expiry} | -{row.date} | -- {row.status} - | -
-
-
-
+ {row.model} |
+
+ |
+
+ {row.modules.split(', ').map(m => (
+ {m}
+ ))}
+
+ |
|
| 选择 | +分类 | 名称 | 说明 | |||||
|
-
- {selectedItems.includes(item.id) &&
- |
- {item.name} | -{item.description} | -||||||
|
+
+ {selectedItems.includes(item.id) &&
+ |
+ {idx === 0 ? cat : ''} | +{item.name} | +{item.description} | +
管理 {modelName} 型号的物料清单,定义装配所需板卡及版本
+| {h} | + ))} +|||||||
|---|---|---|---|---|---|---|---|
| {item.name} | +{item.model} | +
+
+ {item.versions.map(v => (
+ {v}
+ ))}
+
+ |
+ {item.qty} | ++ {item.required ? 必需 : 可选} + | ++ {item.qty >= 2 && item.enforceVersionMatch ? ( + 版本须一致 + ) : ( + - + )} + | ++ {item.needCalibration ? 需校准 : -} + | ++ + | +
| {h} | ))}||||||
|---|---|---|---|---|---|---|
| {item.code} | {item.name} | -{item.sn} | +
+ {item.sn === '-' ? (
+ -
+ ) : (
+
+ updateBomItem(item.id, 'sn', e.target.value)} placeholder="扫码或手动输入SN" style={{ width: 160, padding: '4px 8px', border: '1px solid #D9D9D9', borderRadius: 4, fontSize: 13, boxSizing: 'border-box' }} />
+
+
+ )}
+ |
{item.model} | +
+ {(boardVersionOptions[item.model] || []).length > 1 ? (
+ |
{item.calibration} | @@ -177,6 +257,28 @@ export default function RegistrationPage() { ))}