]> acesimba.cloud Git - StationBuilder.git/commitdiff
UI: 资产层级预览按规则补全设备实例编号
authorwang.yu <wang.yu@advantech.com>
Mon, 17 Aug 2026 14:46:29 +0000 (22:46 +0800)
committerwang.yu <wang.yu@advantech.com>
Mon, 17 Aug 2026 14:46:29 +0000 (22:46 +0800)
- formatInstances 在命名规则为纯前缀时自动补 -01/-02… 序号(beng- -> beng-01、guolu -> guolu-01…10 等)
- 修正 # 占位 bug:CH-## 现在正确生成 CH-01/02/03(原先 CH-0101)
- 同步更新 design-doc 第 5.4 节说明

app/page.tsx
public/design-doc.html

index 6833497661eaf65eb6f76aaeb4ed5d587cd4f9a0..6aedc73d630d887687b086031eaf413a2527bbb3 100644 (file)
@@ -78,7 +78,12 @@ function formatInstances(rule:string, count:number){
   const parts:string[] = [];
   for(let i=1;i<=count;i++){
     const num = String(i).padStart(pad,"0");
-    parts.push(rule.replace(/#/g, num));
+    if(rule.includes("#")){
+      parts.push(rule.replace(/#+/g, m => String(i).padStart(Math.max(pad, m.length), "0")));
+    } else {
+      const sep = rule.endsWith("-") ? "" : "-";
+      parts.push(`${rule}${sep}${num}`);
+    }
   }
   return parts.join("、");
 }
index 1043cef4bc3ec5c3489b597055eceb641267f3b2..555b9debd3aace6f2f4221b08291d384f3d5176d 100644 (file)
     <tr><th>元素</th><th>功能</th><th>数据来源</th><th>交互效果</th></tr>
     <tr><td>KPI(设备类型/实例/层级)</td><td>资产概览</td><td>本地计算</td><td>随表格输入实时变化</td></tr>
     <tr><td>设备资产表格(类型/数量/命名规则/操作)</td><td>配置设备类型与数量</td><td>PUT /api/db/sites</td><td>行内编辑即保存;可增删行</td></tr>
-    <tr><td>资产层级预览</td><td>预览「站点→类型→实例」三级结构</td><td>本地计算</td><td>按命名规则展开实例 <span class="todo">3 层结构为展示占位,资产层级建模尚未实现</span></td></tr>
+    <tr><td>资产层级预览</td><td>预览「站点→类型→实例」三级结构</td><td>本地计算</td><td>按命名规则展开实例:规则含 <code>#</code> 时替换序号(如 <code>CH-##</code>→CH-01);规则为纯前缀时自动补 <code>-01/-02…</code> 序号(如 <code>beng-</code>→beng-01、<code>guolu</code>→guolu-01) <span class="todo">3 层结构为展示占位,资产层级建模尚未实现</span></td></tr>
   </table>
 
   <h3>5.5 功能与菜单(functions)</h3>