From 632568906a6ab7aa350ba8683b6842be571fa775 Mon Sep 17 00:00:00 2001 From: mike Date: Fri, 18 Sep 2026 11:28:13 +0800 Subject: [PATCH] Update App.jsx via upload script - 2026-09-18 11:28:01 --- App.jsx | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/App.jsx b/App.jsx index d70a0f5..9aa5123 100644 --- a/App.jsx +++ b/App.jsx @@ -707,8 +707,8 @@ function productExportRows(p, categories) { if (p.dimensions) rows.push({ labelKey: '尺寸(mm)', value: p.dimensions }); if (p.netWeight) rows.push({ labelKey: '净重(kg)', value: p.netWeight }); } else if (isUpsCategory(cat) && ['机架式UPS', '在线式高频UPS', '工频UPS', '高频塔式UPS', '模块化UPS'].includes(p.type)) { - if (p.phase) rows.push({ labelKey: '相数', value: p.phase }); if (p.powerOrCapacity) rows.push({ labelKey: '容量', value: p.powerOrCapacity }); + if (p.phase) rows.push({ labelKey: '相数', value: p.phase }); if (p.inputVoltage) rows.push({ labelKey: '输入电压', value: p.inputVoltage }); if (p.inputVoltageRange) rows.push({ labelKey: '输入电压范围', value: p.inputVoltageRange }); if (p.inputFrequency) rows.push({ labelKey: '输入频率', value: p.inputFrequency }); @@ -1078,8 +1078,8 @@ function powerInfoItems(p, categories) { } if (isUpsCategory(cat) && ['机架式UPS', '在线式高频UPS', '工频UPS', '高频塔式UPS', '模块化UPS'].includes(p.type)) { const items = []; - if (p.phase) items.push({ key: 'phase', label: '相数', value: p.phase }); if (p.powerOrCapacity) items.push({ key: 'capacity', label: '容量', value: p.powerOrCapacity }); + if (p.phase) items.push({ key: 'phase', label: '相数', value: p.phase }); if (p.inputVoltage) items.push({ key: 'inputvoltage', label: '输入电压', value: p.inputVoltage }); if (p.inputVoltageRange) items.push({ key: 'inputvoltagerange', label: '输入电压范围', value: p.inputVoltageRange }); if (p.inputFrequency) items.push({ key: 'inputfreq', label: '输入频率', value: p.inputFrequency }); @@ -2916,6 +2916,11 @@ function MainApp({ username, onLogout }) { function confirmAiImport() { const included = (aiImportDrafts || []).filter(d => d.include && d.name.trim()); if (!included.length) { notify('没有勾选任何要导入的产品'); return; } + const missingCapacity = included.filter(d => d.category === 'UPS不间断电源' && !(d.powerOrCapacity || '').trim()); + if (missingCapacity.length) { + const names = missingCapacity.map(d => d.name).join('、'); + if (!window.confirm(`以下 ${missingCapacity.length} 个UPS型号还没有填容量:${names}\n\n容量是UPS产品的核心信息,建议先补上再导入。确定要先不填、直接导入吗?`)) return; + } const { categories: newCats, resolved } = resolveCategoriesForImport(productCategories, included); let working = products; let newCount = 0; @@ -4164,8 +4169,12 @@ function MainApp({ username, onLogout }) { )}
- {aiImportDrafts.map(d => ( -
+ {aiImportDrafts.map(d => { + // UPS不间断电源大类下,容量是核心卖点信息,必须填——没识别到的话在预览阶段就 + // 高亮标出来,并给一个内联输入框方便直接手动补上,不用等导入后再单独进产品详情页改 + const needsCapacity = d.category === 'UPS不间断电源' && !(d.powerOrCapacity || '').trim(); + return ( +
+ {needsCapacity && ( +
+ ⚠️ 没识别到容量,请手动填一下: + updateAiImportDraft(d._localId, { powerOrCapacity: e.target.value })} + /> +
+ )}
{[ d.machineVariant && `机型:${d.machineVariant}`, @@ -4193,7 +4211,8 @@ function MainApp({ username, onLogout }) { ].filter(Boolean).join(' · ') || '(无更多规格信息)'}
- ))} + ); + })}
)}