agentworkshop 0.7.40 → 0.7.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/B8uy9iRW.js +1 -0
  3. package/.output/public/_nuxt/BGTYYQH-.js +1 -0
  4. package/.output/public/_nuxt/BUmHEJ77.js +2 -0
  5. package/.output/public/_nuxt/BY7YrV_D.js +1 -0
  6. package/.output/public/_nuxt/Bqcgz95s.js +18 -0
  7. package/.output/public/_nuxt/C7UlqPeD.js +1 -0
  8. package/.output/public/_nuxt/CTmDn-YP.js +1 -0
  9. package/.output/public/_nuxt/Cs8pVeVG.js +1 -0
  10. package/.output/public/_nuxt/{DcsCcxp4.js → D98NH8kG.js} +1 -1
  11. package/.output/public/_nuxt/DKySmNPI.js +14 -0
  12. package/.output/public/_nuxt/Di0NY_ht.js +1 -0
  13. package/.output/public/_nuxt/Du9v6qGB.js +1 -0
  14. package/.output/public/_nuxt/{C_iYD-EB.js → EHlEMRii.js} +1 -1
  15. package/.output/public/_nuxt/Eke1fs-U.js +1 -0
  16. package/.output/public/_nuxt/{DeJykBFf.js → H0BcqZtT.js} +1 -1
  17. package/.output/public/_nuxt/{C4oW1HsE.js → HSYEkkce.js} +1 -1
  18. package/.output/public/_nuxt/{DZshyNLa.js → IREZ1eC2.js} +1 -1
  19. package/.output/public/_nuxt/{D_OTvQza.js → J9oU00D1.js} +1 -1
  20. package/.output/public/_nuxt/OmpTerminalPanel.BxR5-lvi.css +1 -0
  21. package/.output/public/_nuxt/SSyAPaHc.js +1 -0
  22. package/.output/public/_nuxt/TownView.li4EMQxK.css +1 -0
  23. package/.output/public/_nuxt/VdLk4jLE2.js +1 -0
  24. package/.output/public/_nuxt/_id_.BhsXoEuk.css +1 -0
  25. package/.output/public/_nuxt/_id_.DQyj-WKN.css +1 -0
  26. package/.output/public/_nuxt/{_wsId_.B4WiqkIS.css → _wsId_.CTx-BlfF.css} +1 -1
  27. package/.output/public/_nuxt/aShsv_rG.js +19 -0
  28. package/.output/public/_nuxt/{yF0aYMF1.js → aesgXKSr.js} +3 -3
  29. package/.output/public/_nuxt/agents.B21nUEUX.css +1 -0
  30. package/.output/public/_nuxt/aml.ekTjxFkf.css +1 -0
  31. package/.output/public/_nuxt/builds/latest.json +1 -1
  32. package/.output/public/_nuxt/builds/meta/b5506ef0-f48e-4f14-a6c0-d65e505d0b09.json +1 -0
  33. package/.output/public/_nuxt/ca4TJ3Op.js +1 -0
  34. package/.output/public/_nuxt/channel-templates.DplM1pJ3.css +1 -0
  35. package/.output/public/_nuxt/daq.BdVmoIfe.css +1 -0
  36. package/.output/public/_nuxt/dcw.DCgyzpWV.css +1 -0
  37. package/.output/public/_nuxt/{default.J32SgqFY.css → default.Bh3L2HU8.css} +1 -1
  38. package/.output/public/_nuxt/lHAxdSsj.js +1 -0
  39. package/.output/public/_nuxt/pages.j9rzRocr.css +1 -0
  40. package/.output/public/_nuxt/plugins.DhiZbHU8.css +1 -0
  41. package/.output/public/_nuxt/settings.BRx9rIDg.css +1 -0
  42. package/.output/public/_nuxt/teams.BLlOPB_Z.css +1 -0
  43. package/.output/public/_nuxt/tokens.De8xzszn.css +1 -0
  44. package/.output/public/_nuxt/workshop.D1jFNkrn.css +1 -0
  45. package/.output/server/chunks/_/nitro.mjs +1058 -830
  46. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  47. package/.output/server/chunks/build/{OmpTerminalPanel-Cu_s4i0A.mjs → OmpTerminalPanel-CVvxpsF7.mjs} +15 -15
  48. package/.output/server/chunks/build/{OmpTerminalPanel-Cu_s4i0A.mjs.map → OmpTerminalPanel-CVvxpsF7.mjs.map} +1 -1
  49. package/.output/server/chunks/build/{TownView-BuLAsmpR.mjs → TownView-CJ6IsDCc.mjs} +229 -228
  50. package/.output/server/chunks/build/{TownView-BuLAsmpR.mjs.map → TownView-CJ6IsDCc.mjs.map} +1 -1
  51. package/.output/server/chunks/build/{_id_-BU1wfOID.mjs → _id_-CVD_H0ir.mjs} +149 -147
  52. package/.output/server/chunks/build/_id_-CVD_H0ir.mjs.map +1 -0
  53. package/.output/server/chunks/build/{_id_-BYsEua57.mjs → _id_-CtxMb3qp.mjs} +47 -46
  54. package/.output/server/chunks/build/_id_-CtxMb3qp.mjs.map +1 -0
  55. package/.output/server/chunks/build/{_wsId_-BxlDcJHg.mjs → _wsId_-DpY3T-md.mjs} +516 -446
  56. package/.output/server/chunks/build/{_wsId_-BxlDcJHg.mjs.map → _wsId_-DpY3T-md.mjs.map} +1 -1
  57. package/.output/server/chunks/build/{agents-CLQqJF2y.mjs → agents-DsCkuXDV.mjs} +49 -46
  58. package/.output/server/chunks/build/agents-DsCkuXDV.mjs.map +1 -0
  59. package/.output/server/chunks/build/{aml-_7FdFL2p.mjs → aml-CT0xKGKI.mjs} +122 -105
  60. package/.output/server/chunks/build/aml-CT0xKGKI.mjs.map +1 -0
  61. package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs +117 -0
  62. package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs.map +1 -0
  63. package/.output/server/chunks/build/{channel-templates-p6SZNjlM.mjs → channel-templates-Dla9FbYa.mjs} +49 -37
  64. package/.output/server/chunks/build/channel-templates-Dla9FbYa.mjs.map +1 -0
  65. package/.output/server/chunks/build/{daq-cgyjKmJu.mjs → daq-DWWSKGAV.mjs} +95 -93
  66. package/.output/server/chunks/build/daq-DWWSKGAV.mjs.map +1 -0
  67. package/.output/server/chunks/build/{dcw-CoTxBlAZ.mjs → dcw-CT8k17_E.mjs} +46 -45
  68. package/.output/server/chunks/build/dcw-CT8k17_E.mjs.map +1 -0
  69. package/.output/server/chunks/build/{default-BE4r0FZN.mjs → default-D3525UFX.mjs} +16 -15
  70. package/.output/server/chunks/build/{default-BE4r0FZN.mjs.map → default-D3525UFX.mjs.map} +1 -1
  71. package/.output/server/chunks/build/{logs-BSOeZwwI.mjs → logs--dByNyhw.mjs} +2 -2
  72. package/.output/server/chunks/build/{logs-BSOeZwwI.mjs.map → logs--dByNyhw.mjs.map} +1 -1
  73. package/.output/server/chunks/build/{monitor-C0okQaXz.mjs → monitor-Dh2Kvaq5.mjs} +2 -2
  74. package/.output/server/chunks/build/{monitor-C0okQaXz.mjs.map → monitor-Dh2Kvaq5.mjs.map} +1 -1
  75. package/.output/server/chunks/build/{pages-DFxjn9Xa.mjs → pages-BHcSBM2D.mjs} +26 -20
  76. package/.output/server/chunks/build/pages-BHcSBM2D.mjs.map +1 -0
  77. package/.output/server/chunks/build/{plugins-lGlUr1lj.mjs → plugins-BNgIi61W.mjs} +23 -17
  78. package/.output/server/chunks/build/plugins-BNgIi61W.mjs.map +1 -0
  79. package/.output/server/chunks/build/{settings-Ddd1qx2Z.mjs → settings-ipYBDWdn.mjs} +45 -44
  80. package/.output/server/chunks/build/settings-ipYBDWdn.mjs.map +1 -0
  81. package/.output/server/chunks/build/{teams-MEDLZdMn.mjs → teams-5lx-CwFa.mjs} +47 -44
  82. package/.output/server/chunks/build/teams-5lx-CwFa.mjs.map +1 -0
  83. package/.output/server/chunks/build/{tokens-C7fTM5C2.mjs → tokens-q-IDT8Io.mjs} +73 -53
  84. package/.output/server/chunks/build/tokens-q-IDT8Io.mjs.map +1 -0
  85. package/.output/server/chunks/build/{town-qMPql9Se.mjs → town-QJWB5wng.mjs} +5 -4
  86. package/.output/server/chunks/build/town-QJWB5wng.mjs.map +1 -0
  87. package/.output/server/chunks/build/{useDaqStream-CIBaiGAl.mjs → useDaqStream-DfCFpb3p.mjs} +9 -3
  88. package/.output/server/chunks/build/useDaqStream-DfCFpb3p.mjs.map +1 -0
  89. package/.output/server/chunks/build/{useDcwStream-CBbiYnWe.mjs → useDcwStream-UPiX-3iO.mjs} +11 -2
  90. package/.output/server/chunks/build/useDcwStream-UPiX-3iO.mjs.map +1 -0
  91. package/.output/server/chunks/build/{workshop-BL5bhfs0.mjs → workshop-BIlCj_ZP.mjs} +45 -45
  92. package/.output/server/chunks/build/workshop-BIlCj_ZP.mjs.map +1 -0
  93. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
  94. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +3 -3
  95. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +1 -1
  96. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  97. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  98. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +1 -1
  99. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +1 -1
  100. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  101. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  102. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  103. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  104. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  105. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  106. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  107. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +3 -1
  108. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
  109. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +3 -1
  110. package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
  111. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  112. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  113. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  114. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  115. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
  116. package/.output/server/chunks/routes/renderer.mjs +2 -2
  117. package/.output/server/chunks/virtual/entry.mjs +639 -88
  118. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  119. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  120. package/.output/server/package.json +1 -1
  121. package/README-zh.md +16 -6
  122. package/README.md +17 -7
  123. package/app/components/AppHeader.vue +961 -959
  124. package/app/components/workshop/A2aRpcDebugger.vue +237 -237
  125. package/app/components/workshop/AgentInspectorDrawer.vue +424 -424
  126. package/app/components/workshop/AgentLanesView.vue +998 -998
  127. package/app/components/workshop/ArtifactCard.vue +120 -120
  128. package/app/components/workshop/AssetLibrary.vue +452 -452
  129. package/app/components/workshop/ChannelSessionList.vue +812 -804
  130. package/app/components/workshop/CommandPalette.vue +269 -269
  131. package/app/components/workshop/Composer.vue +827 -827
  132. package/app/components/workshop/DeviceTwinPanel.vue +643 -643
  133. package/app/components/workshop/EventBlock.vue +602 -602
  134. package/app/components/workshop/FileSelectorModal.vue +188 -188
  135. package/app/components/workshop/InspectorPanel.vue +301 -301
  136. package/app/components/workshop/MemoryPanel.vue +364 -364
  137. package/app/components/workshop/MultiChannelView.vue +189 -189
  138. package/app/components/workshop/TaskBoardView.vue +686 -686
  139. package/app/components/workshop/TaskInspectorDrawer.vue +390 -390
  140. package/app/components/workshop/TranscriptTimeline.vue +601 -601
  141. package/app/components/workshop/blocks/ClusterArtifact.vue +61 -61
  142. package/app/components/workshop/blocks/ClusterError.vue +85 -85
  143. package/app/components/workshop/blocks/ClusterLife.vue +87 -87
  144. package/app/components/workshop/blocks/ClusterMember.vue +95 -93
  145. package/app/components/workshop/blocks/ClusterMemory.vue +84 -84
  146. package/app/components/workshop/blocks/ClusterOther.vue +67 -67
  147. package/app/components/workshop/blocks/ClusterStatus.vue +149 -147
  148. package/app/components/workshop/blocks/ClusterTool.vue +158 -158
  149. package/app/components/workshop/terminal/OmpTerminalPanel.vue +1011 -1011
  150. package/app/components/workshop/town/TownView.vue +56 -56
  151. package/app/composables/workshop/useDaqStream.ts +7 -4
  152. package/app/composables/workshop/useDcwStream.ts +8 -2
  153. package/app/middleware/locale-cookie.global.ts +22 -0
  154. package/app/pages/aml/index.vue +24 -2
  155. package/app/pages/daq/[id].vue +20 -16
  156. package/app/pages/daq/index.vue +2310 -2307
  157. package/app/pages/dcw/[id].vue +26 -23
  158. package/app/pages/dcw/index.vue +3 -3
  159. package/app/pages/index.vue +987 -981
  160. package/app/pages/plugins/index.vue +317 -311
  161. package/app/pages/settings.vue +1564 -1562
  162. package/app/pages/tokens.vue +15 -15
  163. package/app/pages/workshop/agents.vue +612 -609
  164. package/app/pages/workshop/channel-templates.vue +18 -11
  165. package/app/pages/workshop/index.vue +668 -668
  166. package/app/pages/workshop/teams.vue +743 -740
  167. package/app/pages/workshop/w/[wsId].vue +704 -704
  168. package/app/plugins/locale-restore.client.ts +16 -1
  169. package/app/utils/builtin-catalog.ts +104 -0
  170. package/config.yml +170 -170
  171. package/docs/cli.en.md +2 -2
  172. package/docs/cli.md +2 -2
  173. package/docs/full-test-plan.md +2 -3
  174. package/docs/plugins.en.md +33 -1
  175. package/docs/plugins.md +29 -1
  176. package/docs/sdk.en.md +1 -1
  177. package/docs/sdk.md +1 -1
  178. package/i18n/locales/en.ts +293 -35
  179. package/i18n/locales/zh-CN.ts +265 -7
  180. package/package.json +4 -3
  181. package/scripts/_dbg-perms-e2e.mjs +132 -109
  182. package/scripts/_demo-agentteam-capture.mjs +278 -0
  183. package/scripts/_e2e-ui-functional.mjs +371 -0
  184. package/scripts/_i18n-en-cjk-scan.mjs +28 -0
  185. package/scripts/_i18n-en-verify.mjs +107 -0
  186. package/scripts/_i18n-extra-checks.mjs +53 -0
  187. package/scripts/_i18n-scan-hardcoded.mjs +180 -0
  188. package/scripts/_i18n-verify-keys.mjs +50 -0
  189. package/scripts/_loop-biax-campaign.mjs +130 -0
  190. package/scripts/_sweep-button-contrast.mjs +87 -0
  191. package/scripts/test-serial-bridge.mjs +418 -0
  192. package/scripts/ui/e2e-interactive.mjs +328 -0
  193. package/scripts/ui/record-demo.mjs +557 -0
  194. package/scripts/ui/seed-industrial-demo.mjs +171 -0
  195. package/server/api/workshop/daq/index.get.ts +3 -1
  196. package/server/api/workshop/dcw/index.get.ts +3 -0
  197. package/server/plugins/aw-plugins.ts +9 -7
  198. package/server/plugins-builtin/diag-bridge/index.mjs +608 -661
  199. package/server/plugins-builtin/rag-bridge/index.mjs +57 -133
  200. package/server/plugins-builtin/serial-bridge/client.mjs +210 -0
  201. package/server/plugins-builtin/serial-bridge/drivers.mjs +409 -0
  202. package/server/plugins-builtin/serial-bridge/i18n.json +62 -0
  203. package/server/plugins-builtin/serial-bridge/index.mjs +247 -0
  204. package/server/plugins-builtin/serial-bridge/lib.mjs +208 -0
  205. package/server/plugins-builtin/serial-bridge/rtu.mjs +168 -0
  206. package/server/services/workshop/daq/daq-controller.ts +7 -2
  207. package/server/services/workshop/daq/drivers.ts +89 -3
  208. package/server/services/workshop/dcw/dcw-controller.ts +5 -1
  209. package/server/services/workshop/dcw/drivers.ts +85 -2
  210. package/server/services/workshop/dcw/plugin-bridge.ts +45 -0
  211. package/server/services/workshop/plugins/host.mjs +30 -0
  212. package/shared/daq-protocol.ts +15 -0
  213. package/.output/public/_nuxt/88GOowgO2.js +0 -1
  214. package/.output/public/_nuxt/BOt2SP4z.js +0 -1
  215. package/.output/public/_nuxt/BP-NyKVG.js +0 -18
  216. package/.output/public/_nuxt/BXxH0UQE.js +0 -1
  217. package/.output/public/_nuxt/BsROmY89.js +0 -1
  218. package/.output/public/_nuxt/ClILjvWH.js +0 -1
  219. package/.output/public/_nuxt/CzOCSGLe.js +0 -1
  220. package/.output/public/_nuxt/D8qvkfyY.js +0 -1
  221. package/.output/public/_nuxt/DCn7QZ5N.js +0 -2
  222. package/.output/public/_nuxt/DS8qj8EL.js +0 -1
  223. package/.output/public/_nuxt/DUjW5Yq5.js +0 -1
  224. package/.output/public/_nuxt/Dihnimlk.js +0 -19
  225. package/.output/public/_nuxt/Dqw1lpr-.js +0 -1
  226. package/.output/public/_nuxt/Dr9v6C0f.js +0 -14
  227. package/.output/public/_nuxt/Du9ZJtnj.js +0 -1
  228. package/.output/public/_nuxt/OmpTerminalPanel.B_Pl5Ynm.css +0 -1
  229. package/.output/public/_nuxt/TownView.f-YOdXRs.css +0 -1
  230. package/.output/public/_nuxt/_id_.CM4bIgKY.css +0 -1
  231. package/.output/public/_nuxt/_id_.bNV69Dtf.css +0 -1
  232. package/.output/public/_nuxt/agents.ZD0rVdHE.css +0 -1
  233. package/.output/public/_nuxt/aml.BN8ZEW4h.css +0 -1
  234. package/.output/public/_nuxt/builds/meta/f4707884-7cf4-4a31-80d2-e3d72b73745f.json +0 -1
  235. package/.output/public/_nuxt/channel-templates.BOtahzPi.css +0 -1
  236. package/.output/public/_nuxt/daq.B0D3dPAc.css +0 -1
  237. package/.output/public/_nuxt/dcw.8Y7FqCVN.css +0 -1
  238. package/.output/public/_nuxt/pages.D7aSDlUI.css +0 -1
  239. package/.output/public/_nuxt/plugins.sb4nDGqr.css +0 -1
  240. package/.output/public/_nuxt/qr6R6Ha1.js +0 -1
  241. package/.output/public/_nuxt/settings.BTgR-NiE.css +0 -1
  242. package/.output/public/_nuxt/teams.CxnxKVVs.css +0 -1
  243. package/.output/public/_nuxt/tokens.BFY7qv4f.css +0 -1
  244. package/.output/public/_nuxt/workshop.CR_QzeAN.css +0 -1
  245. package/.output/server/chunks/build/_id_-BU1wfOID.mjs.map +0 -1
  246. package/.output/server/chunks/build/_id_-BYsEua57.mjs.map +0 -1
  247. package/.output/server/chunks/build/agents-CLQqJF2y.mjs.map +0 -1
  248. package/.output/server/chunks/build/aml-_7FdFL2p.mjs.map +0 -1
  249. package/.output/server/chunks/build/channel-templates-p6SZNjlM.mjs.map +0 -1
  250. package/.output/server/chunks/build/daq-cgyjKmJu.mjs.map +0 -1
  251. package/.output/server/chunks/build/dcw-CoTxBlAZ.mjs.map +0 -1
  252. package/.output/server/chunks/build/pages-DFxjn9Xa.mjs.map +0 -1
  253. package/.output/server/chunks/build/plugins-lGlUr1lj.mjs.map +0 -1
  254. package/.output/server/chunks/build/settings-Ddd1qx2Z.mjs.map +0 -1
  255. package/.output/server/chunks/build/teams-MEDLZdMn.mjs.map +0 -1
  256. package/.output/server/chunks/build/tokens-C7fTM5C2.mjs.map +0 -1
  257. package/.output/server/chunks/build/town-qMPql9Se.mjs.map +0 -1
  258. package/.output/server/chunks/build/useDaqStream-CIBaiGAl.mjs.map +0 -1
  259. package/.output/server/chunks/build/useDcwStream-CBbiYnWe.mjs.map +0 -1
  260. package/.output/server/chunks/build/workshop-BL5bhfs0.mjs.map +0 -1
  261. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.continue.json +0 -1
  262. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.json +0 -1
  263. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/054bb4bc4e4217a2ab0b0c6b663747214a9af464f5568ea60e784704e340bb0f.source +0 -153
  264. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/0554197c3d2bac203a1f5c48a5d52495d1336db1bd7aa4f4c19875810363e684.source +0 -153
  265. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/05c203d12a954fffba942e1d626e3f5fec05b18a5aef2bac003b7884a4b77406.source +0 -431
  266. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/145a6e6ba811af35aed31e0cc3211f53706a14980fa069ee9e3c1591139f96f0.source +0 -180
  267. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/1ae0fb281f97899c025e368ca73f41349b01fb5f85b19e08d7ebccff49095ed5.source +0 -112
  268. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/20ee9967aa0541c516db7575bdd4a1a745939bc7016bd10d7635903113edb8ec.source +0 -227
  269. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/233751843aeba9d4c5263f275b8102de00443c06f286918cbd23e0b6729e01aa.source +0 -131
  270. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/263c2e05b425e5c322e60c6475279f963bab3a873eb521b21df7fec935a46597.source +0 -160
  271. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/2ac5eaac28eaaee2178c4b32014df8e732f9dd432a285a872f5b7f31c1395fa4.source +0 -157
  272. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/33a0db0d2d95d2c11d0720090458e5fba1425376f5ceb5b422d1d3471be3226b.source +0 -348
  273. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/359e474ae83db35e4615d3728de6bf694b64d4dce9b536730a3b6518f9c0494a.source +0 -296
  274. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/37a4c3c31c4b70f6b719c53d1e9c4fcba603f31adfdd11bb6ef9f0d094923c56.source +0 -285
  275. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/461feca1c14a695eb8b0f17a6f95fe97eeceabc0510faaea4ba6d25bde147d8d.source +0 -217
  276. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/4cfadbda8591f29d5e1e230dc000e701b756e850441b3900fb596a4d2f6e98c2.source +0 -301
  277. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/50ca2810cf0b248c96948994c0c404531bbad6e553166b6816b3b03bfa0f75d2.source +0 -151
  278. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/52d9e8cb591a9ae86e238c3620a610cd386717bee222c0f37b25b2ac7e523dc4.source +0 -135
  279. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/6c87daafa4c006560a954636a97333f6123153c9d34d96203f7ee3a14e556357.source +0 -156
  280. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/77bc47854b577900621cacf1697f81fa2bc005af129d37614a97a3441c08f99f.source +0 -72
  281. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/7bbb789d3a527817118cf8399ed1861d6a962ade10878fd07223435d333a7089.source +0 -469
  282. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/86b7c1daafc8b60ba9982dde5bf1bcc74265709483c176e71f23ec6fc267451f.source +0 -259
  283. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/8df66d62bd41984d0970e8236882080c5085ac937d07a29779463d6a03b37c76.source +0 -97
  284. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/9962f2d1b3a85137bd40cc835725600b39f89ee02a27c06b2e0402e1eafde115.source +0 -277
  285. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/a1090ea066b792cb201739f4994e37bf7c12f52e805239a1eab87f18a537f266.source +0 -171
  286. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/a5241091650134d0919897e086a606a3846c8b2b54f8b4c84a8696c145ac3e9e.source +0 -425
  287. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/af19fa4c6e34d5540028be4b17600161283af3a2a2dfc61a3fdc0834436a0c14.source +0 -99
  288. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/b3713d78e2b2f93905ff6be8d58a8d0a2f42dea322eb67c987fda22ff6a084d5.source +0 -325
  289. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/b3849943c3aff102d1af815631fc843a2a52c17646a4b04696ece323e483bbec.source +0 -332
  290. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/bac735a3803a6650b7f1eb8f587e6dc5c68ea055000c3c99a11789438b78e837.source +0 -43
  291. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/d32c24d61eb8b33c73e5a8fc7e4dc7ef437aed238ee4371c2b00617e6104090a.source +0 -154
  292. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/d5170dc9a9879fda04fdf91d8a110d4efb6787ee38dda596d4da899883d36a72.source +0 -531
  293. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/dc59bcd7bb397be63ba2f2c3fec23f3782dcb17d2d75a9981eeced761f33eb32.source +0 -439
  294. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/eb5ff8cf66b92aec7bf6726781d8df74faa2b030c3aaac17d6b00c1fc04c9b32.source +0 -323
  295. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f10615a6fae18436e70d1201b2d44fdae3174a3aa7bb4db97dea1b3ed291d721.source +0 -433
  296. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f36d3e271668bc1260c2823542d22dbf1d0f7041ff16b1ac175bce2256e582ca.source +0 -280
  297. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f94449380af09f31ac352152007146a75cc80bae8d6411ffe57b2c56f933b0ff.source +0 -117
  298. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/fe4dfd81178fd6b648335f6405d9ede71319aebde796008e50db21f8adf44c99.source +0 -160
  299. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/ffb4e3aa548cfdadabaa44ab599f9b6a3ca6288176a2cc7a4b2fc2a12b5fb848.source +0 -101
  300. package/scripts/.mimosa/hook-status/sess_aeaecb58-8833-4b83-b93c-050467d21e03-d944d71bb3.json +0 -14
  301. package/scripts/_dbg-audit-all-pages.mjs +0 -43
  302. package/scripts/_dbg-daq-frames-e2e.mjs +0 -118
  303. package/scripts/_dbg-daq-rowstyle-verify.mjs +0 -112
  304. package/scripts/_dbg-hitl-timeout-e2e.mjs +0 -93
  305. package/scripts/_dbg-live-line-e2e.mjs +0 -279
  306. package/scripts/_dbg-minimal-omp.mjs +0 -77
  307. package/scripts/_dbg-mode-nav.mjs +0 -173
  308. package/scripts/_dbg-real-scenario-timeline.log +0 -55
  309. package/scripts/_dbg-team-repro.mjs +0 -76
  310. package/scripts/_dbg-town-agents-probe.mjs +0 -60
  311. package/scripts/_dbg-visual-acceptance.mjs +0 -63
  312. package/scripts/_townview_style.css +0 -1185
  313. package/scripts/_townview_template.html +0 -1215
  314. package/server/data/agent-node-bindings.json +0 -554
  315. package/server/data/daq-templates.json +0 -16
  316. package/server/data/daqs.json +0 -7464
  317. package/server/data/dcw-lines.json +0 -1787
  318. package/server/data/dcw-products.json +0 -1626
  319. package/server/data/dcw-recipes.json +0 -4672
  320. package/server/data/dcw-rollback.json +0 -20754
  321. package/server/data/dcw-runs.json +0 -6354
  322. package/server/data/dcw-templates.json +0 -146
  323. package/server/data/dcw-writes.json +0 -15650
  324. package/server/data/dcws.json +0 -9033
  325. package/server/data/device-twins.json +0 -133
  326. package/server/data/line-runs.json +0 -322
  327. package/server/data/scene-layouts.json +0 -277
@@ -1,13 +1,14 @@
1
1
  import { _ as _plugin_vue_export_helper_default, u as useI18n, az as NuxtLink } from '../virtual/entry.mjs';
2
2
  import { s as spin_default } from './spin-HVY81X_L.mjs';
3
3
  import { a as apiErrorMessage } from './api-error-dul30BYQ.mjs';
4
- import { u as useDcwStream } from './useDcwStream-CBbiYnWe.mjs';
5
- import { u as useDaqStream } from './useDaqStream-CIBaiGAl.mjs';
4
+ import { u as useDcwStream } from './useDcwStream-UPiX-3iO.mjs';
5
+ import { u as useDaqStream } from './useDaqStream-DfCFpb3p.mjs';
6
6
  import { u as useDeviceTwins } from './useDeviceTwins-Yko6nNPF.mjs';
7
+ import { c as catalogTplName } from './builtin-catalog-edpDcgfL.mjs';
7
8
  import { defineComponent, computed, ref, reactive, unref, mergeProps, withCtx, createTextVNode, toDisplayString, createVNode, openBlock, createBlock, Fragment, renderList, createCommentVNode, withDirectives, vModelText, useSSRContext } from 'vue';
8
9
  import { useRoute } from 'vue-router';
9
10
  import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent, ssrRenderStyle, ssrRenderClass, ssrRenderAttr, ssrRenderList, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderDynamicModel } from 'vue/server-renderer';
10
- import { bx as DCW_DRIVERS } from '../_/nitro.mjs';
11
+ import { bw as DCW_DRIVERS } from '../_/nitro.mjs';
11
12
  import 'unhead/utils';
12
13
  import '../routes/renderer.mjs';
13
14
  import 'unhead/server';
@@ -60,13 +61,13 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
60
61
  dcw.ensureWsFeed();
61
62
  const nodeDeviceNames = (n) => (n.deviceIds ?? (n.deviceBindingId ? [n.deviceBindingId] : [])).map((id) => deviceName(id)).join(" / ") || "—";
62
63
  const deviceName = (id) => id ? deviceTwins.twins.find((t) => t.id === id)?.name ?? id : t("dcwDetail.k3own4q121");
63
- const stateLabel = {
64
+ const stateLabel = computed(() => ({
64
65
  idle: t("dcwDetail.k3zgkk122"),
65
66
  writing: t("dcwDetail.k3l3h80123"),
66
- ok: "已 ACK",
67
+ ok: t("dcwDetail.stAck"),
67
68
  error: t("dcwDetail.k40reu124"),
68
69
  offline: t("dcwDetail.k44c2n125")
69
- };
70
+ }));
70
71
  function dcwTemplateRefCh(templateRef) {
71
72
  const ref = templateRef ?? "";
72
73
  return dcw.templates.find((t) => t.key === (ref.startsWith("dcw-") ? ref.slice(4) : ref))?.ch ?? ref;
@@ -178,7 +179,8 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
178
179
  const addTest = ref(null);
179
180
  const addSaving = ref(false);
180
181
  const addError = ref("");
181
- const addDriverMeta = computed(() => DCW_DRIVERS.find((d) => d.kind === addDriver.value));
182
+ const driverCatalog = computed(() => dcw.driverCatalog.length ? dcw.driverCatalog : DCW_DRIVERS.map((d) => ({ ...d })));
183
+ const addDriverMeta = computed(() => driverCatalog.value.find((d) => d.kind === addDriver.value));
182
184
  const addFields = computed(() => addDriverMeta.value?.configFields ?? []);
183
185
  function resetAddCfg() {
184
186
  const cfg = {};
@@ -331,7 +333,7 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
331
333
  const _component_NuxtLink = NuxtLink;
332
334
  const _component_a_spin = spin_default;
333
335
  if (unref(dcw).loaded && !line.value) {
334
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-96633662><p class="banner bad" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k19337yp018"))}</p>`);
336
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-84c0b97c><p class="banner bad" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k19337yp018"))}</p>`);
335
337
  _push(ssrRenderComponent(_component_NuxtLink, {
336
338
  class: "pill-btn",
337
339
  to: "/dcw"
@@ -344,122 +346,122 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
344
346
  }, _parent));
345
347
  _push(`</div>`);
346
348
  } else {
347
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-96633662><div class="aw-page-head" data-v-96633662><div data-v-96633662><p class="aw-kicker" data-v-96633662><span class="line-chip" style="${ssrRenderStyle({ background: line.value?.color ?? "#3aa0ff" })}" data-v-96633662></span>AGENTWORKSHOP / LINE / ${ssrInterpolate(line.value?.name ?? lineId.value)}</p><h1 data-v-96633662>${ssrInterpolate(line.value?.name ?? _ctx.$t("dcwDetail.k1b2snna151"))} · ${ssrInterpolate(_ctx.$t("dcwDetail.k1l0iow1137"))}</h1><p class="sub" data-v-96633662>${ssrInterpolate(line.value?.description || _ctx.$t("dcwDetail.kzcbfki152"))}</p></div><div class="badges mono" data-v-96633662><span class="badge" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(lineNodes.value.length)}</span><span class="badge" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))} ${ssrInterpolate(lineProducts.value.length)}</span><span class="badge" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))} ${ssrInterpolate(lineRecipesAll.value.length)}</span></div></div><section class="aw-tile ctrl-card" data-v-96633662><div class="ctrl-left" data-v-96633662><button class="${ssrRenderClass([{ running: unref(dcw).controller.running }, "aw-pill"])}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1snap154"))} data-v-96633662><span class="${ssrRenderClass(unref(dcw).controller.running ? "i-tabler-player-pause" : "i-tabler-player-play")}" data-v-96633662></span> ${ssrInterpolate(unref(dcw).controller.running ? _ctx.$t("dcwDetail.kplrsg153") : _ctx.$t("dcwDetail.knxgni9169"))}</button></div><div class="ctrl-right" data-v-96633662><span class="ctrl-metrics mono" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(unref(dcw).controller.nodesOnline)}/${ssrInterpolate(unref(dcw).controller.nodesTotal)}</span><span class="sep" data-v-96633662>·</span><span${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3ygmn001"))} data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3wtib138"))} ${ssrInterpolate(unref(dcw).controller.writesTotal)}</span><span class="sep" data-v-96633662>·</span><span class="${ssrRenderClass({ warn: unref(dcw).controller.writesFailed > 0 })}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3znl0002"))} data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3yit7139"))} ${ssrInterpolate(unref(dcw).controller.writesFailed)}</span></span><button class="aw-pill outline"${ssrRenderAttr("title", _ctx.$t("dcwDetail.kc4ixly003"))} data-v-96633662><span class="i-tabler-template" data-v-96633662></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1972dx9020"))}</button><button class="aw-pill add-btn" data-v-96633662><span class="i-tabler-plus" data-v-96633662></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</button></div></section>`);
348
- if (writeError.value || writeOk.value) _push(`<p class="${ssrRenderClass([writeError.value ? "bad" : "good", "banner"])}" data-v-96633662>${ssrInterpolate(writeError.value || writeOk.value)}</p>`);
349
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-84c0b97c><div class="aw-page-head" data-v-84c0b97c><div data-v-84c0b97c><p class="aw-kicker" data-v-84c0b97c><span class="line-chip" style="${ssrRenderStyle({ background: line.value?.color ?? "#3aa0ff" })}" data-v-84c0b97c></span>AGENTWORKSHOP / LINE / ${ssrInterpolate(line.value?.name ?? lineId.value)}</p><h1 data-v-84c0b97c>${ssrInterpolate(line.value?.name ?? _ctx.$t("dcwDetail.k1b2snna151"))} · ${ssrInterpolate(_ctx.$t("dcwDetail.k1l0iow1137"))}</h1><p class="sub" data-v-84c0b97c>${ssrInterpolate(line.value?.description || _ctx.$t("dcwDetail.kzcbfki152"))}</p></div><div class="badges mono" data-v-84c0b97c><span class="badge" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(lineNodes.value.length)}</span><span class="badge" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))} ${ssrInterpolate(lineProducts.value.length)}</span><span class="badge" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))} ${ssrInterpolate(lineRecipesAll.value.length)}</span></div></div><section class="aw-tile ctrl-card" data-v-84c0b97c><div class="ctrl-left" data-v-84c0b97c><button class="${ssrRenderClass([{ running: unref(dcw).controller.running }, "aw-pill"])}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1snap154"))} data-v-84c0b97c><span class="${ssrRenderClass(unref(dcw).controller.running ? "i-tabler-player-pause" : "i-tabler-player-play")}" data-v-84c0b97c></span> ${ssrInterpolate(unref(dcw).controller.running ? _ctx.$t("dcwDetail.kplrsg153") : _ctx.$t("dcwDetail.knxgni9169"))}</button></div><div class="ctrl-right" data-v-84c0b97c><span class="ctrl-metrics mono" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(unref(dcw).controller.nodesOnline)}/${ssrInterpolate(unref(dcw).controller.nodesTotal)}</span><span class="sep" data-v-84c0b97c>·</span><span${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3ygmn001"))} data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3wtib138"))} ${ssrInterpolate(unref(dcw).controller.writesTotal)}</span><span class="sep" data-v-84c0b97c>·</span><span class="${ssrRenderClass({ warn: unref(dcw).controller.writesFailed > 0 })}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3znl0002"))} data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3yit7139"))} ${ssrInterpolate(unref(dcw).controller.writesFailed)}</span></span><button class="aw-pill outline"${ssrRenderAttr("title", _ctx.$t("dcwDetail.kc4ixly003"))} data-v-84c0b97c><span class="i-tabler-template" data-v-84c0b97c></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1972dx9020"))}</button><button class="aw-pill add-btn" data-v-84c0b97c><span class="i-tabler-plus" data-v-84c0b97c></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</button></div></section>`);
350
+ if (writeError.value || writeOk.value) _push(`<p class="${ssrRenderClass([writeError.value ? "bad" : "good", "banner"])}" data-v-84c0b97c>${ssrInterpolate(writeError.value || writeOk.value)}</p>`);
349
351
  else _push(`<!---->`);
350
352
  if (unassignedNodes.value.length || unassignedProducts.value.length) {
351
- _push(`<section class="aw-tile adopt-card" data-v-96633662><b class="adopt-title" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kaebkky022"))}</b><div class="adopt-list" data-v-96633662><!--[-->`);
353
+ _push(`<section class="aw-tile adopt-card" data-v-84c0b97c><b class="adopt-title" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.kaebkky022"))}</b><div class="adopt-list" data-v-84c0b97c><!--[-->`);
352
354
  ssrRenderList(unassignedNodes.value, (n) => {
353
- _push(`<span class="adopt-chip" data-v-96633662>${ssrInterpolate(n.name)} <button class="mini-btn" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
355
+ _push(`<span class="adopt-chip" data-v-84c0b97c>${ssrInterpolate(n.name)} <button class="mini-btn" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
354
356
  });
355
357
  _push(`<!--]--><!--[-->`);
356
358
  ssrRenderList(unassignedProducts.value, (p) => {
357
- _push(`<span class="adopt-chip" data-v-96633662>${ssrInterpolate(p.name)}(${ssrInterpolate(_ctx.$t("dcwDetail.k3km252140"))}<button class="mini-btn" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
359
+ _push(`<span class="adopt-chip" data-v-84c0b97c>${ssrInterpolate(p.name)}(${ssrInterpolate(_ctx.$t("dcwDetail.k3km252140"))}<button class="mini-btn" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
358
360
  });
359
361
  _push(`<!--]--></div></section>`);
360
362
  } else _push(`<!---->`);
361
- _push(`<section class="aw-tile line-card" data-v-96633662><div class="line-status" data-v-96633662><span class="${ssrRenderClass([{ on: ls.value.active }, "line-dot"])}" data-v-96633662></span><div class="line-info" data-v-96633662><b data-v-96633662>${ssrInterpolate(ls.value.active ? _ctx.$t("dcwDetail.k1pxrhx0154") : _ctx.$t("dcwDetail.k1b2hxmx170"))}</b>`);
362
- if (ls.value.active) _push(`<small class="mono dim" data-v-96633662>${ssrInterpolate(ls.value.productName)} · ${ssrInterpolate(ls.value.recipeName)} · ${ssrInterpolate(_ctx.$t("dcwDetail.k400lb075"))} ${ssrInterpolate(ls.value.runId)} · ${ssrInterpolate(_ctx.$t("dcwDetail.k3zkt2166"))} ${ssrInterpolate(ls.value.startedAt?.slice(11, 19))} ${ssrInterpolate(_ctx.$t("dcwDetail.k69vag8168"))} ${ssrInterpolate(ls.value.taggedSamples)} ${ssrInterpolate(_ctx.$t("dcwDetail.k4118o085"))}</small>`);
363
- else _push(`<small class="dim" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k19pof14024"))}</small>`);
364
- _push(`</div></div><div class="line-ctl" data-v-96633662><label class="ctl-sel" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-96633662><option value="" data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, "") : ssrLooseEqual(lineProductId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kuisodh026"))}</option><!--[-->`);
363
+ _push(`<section class="aw-tile line-card" data-v-84c0b97c><div class="line-status" data-v-84c0b97c><span class="${ssrRenderClass([{ on: ls.value.active }, "line-dot"])}" data-v-84c0b97c></span><div class="line-info" data-v-84c0b97c><b data-v-84c0b97c>${ssrInterpolate(ls.value.active ? _ctx.$t("dcwDetail.k1pxrhx0154") : _ctx.$t("dcwDetail.k1b2hxmx170"))}</b>`);
364
+ if (ls.value.active) _push(`<small class="mono dim" data-v-84c0b97c>${ssrInterpolate(ls.value.productName)} · ${ssrInterpolate(ls.value.recipeName)} · ${ssrInterpolate(_ctx.$t("dcwDetail.k400lb075"))} ${ssrInterpolate(ls.value.runId)} · ${ssrInterpolate(_ctx.$t("dcwDetail.k3zkt2166"))} ${ssrInterpolate(ls.value.startedAt?.slice(11, 19))} ${ssrInterpolate(_ctx.$t("dcwDetail.k69vag8168"))} ${ssrInterpolate(ls.value.taggedSamples)} ${ssrInterpolate(_ctx.$t("dcwDetail.k4118o085"))}</small>`);
365
+ else _push(`<small class="dim" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k19pof14024"))}</small>`);
366
+ _push(`</div></div><div class="line-ctl" data-v-84c0b97c><label class="ctl-sel" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-84c0b97c><option value="" data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, "") : ssrLooseEqual(lineProductId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kuisodh026"))}</option><!--[-->`);
365
367
  ssrRenderList(lineProducts.value, (p) => {
366
- _push(`<option${ssrRenderAttr("value", p.id)} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, p.id) : ssrLooseEqual(lineProductId.value, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
368
+ _push(`<option${ssrRenderAttr("value", p.id)} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, p.id) : ssrLooseEqual(lineProductId.value, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
367
369
  });
368
- _push(`<!--]--></select></label><label class="ctl-sel" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!lineProductId.value) ? " disabled" : ""} data-v-96633662><option value="" data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(lineRecipeId.value) ? ssrLooseContain(lineRecipeId.value, "") : ssrLooseEqual(lineRecipeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kutxzsz028"))}</option><!--[-->`);
370
+ _push(`<!--]--></select></label><label class="ctl-sel" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!lineProductId.value) ? " disabled" : ""} data-v-84c0b97c><option value="" data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(lineRecipeId.value) ? ssrLooseContain(lineRecipeId.value, "") : ssrLooseEqual(lineRecipeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kutxzsz028"))}</option><!--[-->`);
369
371
  ssrRenderList(lineRecipes.value, (r) => {
370
- _push(`<option${ssrRenderAttr("value", r.id)}${ssrIncludeBooleanAttr(r.params.length === 0) ? " disabled" : ""} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(lineRecipeId.value) ? ssrLooseContain(lineRecipeId.value, r.id) : ssrLooseEqual(lineRecipeId.value, r.id)) ? " selected" : ""}>${ssrInterpolate(r.name)}${ssrInterpolate(r.params.length === 0 ? _ctx.$t("dcwDetail.k1hicmch155") : _ctx.$t("dcwDetail.k1lzfi4g180", { p0: r.params.length }))}</option>`);
372
+ _push(`<option${ssrRenderAttr("value", r.id)}${ssrIncludeBooleanAttr(r.params.length === 0) ? " disabled" : ""} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(lineRecipeId.value) ? ssrLooseContain(lineRecipeId.value, r.id) : ssrLooseEqual(lineRecipeId.value, r.id)) ? " selected" : ""}>${ssrInterpolate(r.name)}${ssrInterpolate(r.params.length === 0 ? _ctx.$t("dcwDetail.k1hicmch155") : _ctx.$t("dcwDetail.k1lzfi4g180", { p0: r.params.length }))}</option>`);
371
373
  });
372
374
  _push(`<!--]--></select></label>`);
373
- if (!ls.value.active) _push(`<button class="pill-btn"${ssrIncludeBooleanAttr(lineBusy.value || !lineRecipeId.value) ? " disabled" : ""}${ssrRenderAttr("title", !lineRecipeId.value ? "开跑前必须先设定配方" : "下发配方参数并开始打标数据采集")} data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kfb8vml029"))}</button>`);
374
- else _push(`<button class="pill-btn stop"${ssrIncludeBooleanAttr(lineBusy.value) ? " disabled" : ""} data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1xyhd2y030"))}</button>`);
375
+ if (!ls.value.active) _push(`<button class="pill-btn"${ssrIncludeBooleanAttr(lineBusy.value || !lineRecipeId.value) ? " disabled" : ""}${ssrRenderAttr("title", !lineRecipeId.value ? _ctx.$t("dcwDetail.startNeedRecipe") : _ctx.$t("dcwDetail.startTip"))} data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.kfb8vml029"))}</button>`);
376
+ else _push(`<button class="pill-btn stop"${ssrIncludeBooleanAttr(lineBusy.value) ? " disabled" : ""} data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1xyhd2y030"))}</button>`);
375
377
  _push(`</div>`);
376
- if (lineErr.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-96633662>${ssrInterpolate(lineErr.value)}</p>`);
378
+ if (lineErr.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-84c0b97c>${ssrInterpolate(lineErr.value)}</p>`);
377
379
  else _push(`<!---->`);
378
- if (lineMsg.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-96633662>${ssrInterpolate(lineMsg.value)}</p>`);
380
+ if (lineMsg.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-84c0b97c>${ssrInterpolate(lineMsg.value)}</p>`);
379
381
  else _push(`<!---->`);
380
382
  _push(`</section>`);
381
383
  if (tplOpen.value) {
382
- _push(`<div class="modal-mask" data-v-96633662><div class="modal" data-v-96633662><h3 class="m-title" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1x4vam0031"))} <small class="dim mono" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3x23c141"))} ${ssrInterpolate(unref(dcw).templates.filter((t) => t.builtin).length)} · ${ssrInterpolate(_ctx.$t("dcwDetail.k3t616a142"))} ${ssrInterpolate(unref(dcw).templates.filter((t) => !t.builtin).length)}</small></h3><p class="dim tpl-hint" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.ke1iyud032"))}</p><div class="tpl-chips" data-v-96633662><!--[-->`);
384
+ _push(`<div class="modal-mask" data-v-84c0b97c><div class="modal" data-v-84c0b97c><h3 class="m-title" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1x4vam0031"))} <small class="dim mono" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3x23c141"))} ${ssrInterpolate(unref(dcw).templates.filter((t) => t.builtin).length)} · ${ssrInterpolate(_ctx.$t("dcwDetail.k3t616a142"))} ${ssrInterpolate(unref(dcw).templates.filter((t) => !t.builtin).length)}</small></h3><p class="dim tpl-hint" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.ke1iyud032"))}</p><div class="tpl-chips" data-v-84c0b97c><!--[-->`);
383
385
  ssrRenderList(unref(dcw).templates, (tpl) => {
384
- _push(`<span class="tpl-chip"${ssrRenderAttr("title", `${tpl.code} · ${tpl.min}~${tpl.max} ${tpl.unit}${tpl.semantics ? ` · ${tpl.semantics}` : ""}`)} data-v-96633662>${ssrInterpolate(tpl.name)} <small class="mono" data-v-96633662>${ssrInterpolate(tpl.min)}~${ssrInterpolate(tpl.max)}${ssrInterpolate(tpl.unit)}</small><em class="${ssrRenderClass([{ builtin: tpl.builtin }, "tpl-tag"])}" data-v-96633662>${ssrInterpolate(tpl.builtin ? _ctx.$t("dcwDetail.k3x23c141") : _ctx.$t("dcwDetail.k3t616a142"))}</em></span>`);
386
+ _push(`<span class="tpl-chip"${ssrRenderAttr("title", `${tpl.code} · ${tpl.min}~${tpl.max} ${tpl.unit}${tpl.semantics ? ` · ${tpl.semantics}` : ""}`)} data-v-84c0b97c>${ssrInterpolate(("catalogTplName" in _ctx ? _ctx.catalogTplName : unref(catalogTplName))(unref(t), tpl))} <small class="mono" data-v-84c0b97c>${ssrInterpolate(tpl.min)}~${ssrInterpolate(tpl.max)}${ssrInterpolate(tpl.unit)}</small><em class="${ssrRenderClass([{ builtin: tpl.builtin }, "tpl-tag"])}" data-v-84c0b97c>${ssrInterpolate(tpl.builtin ? _ctx.$t("dcwDetail.k3x23c141") : _ctx.$t("dcwDetail.k3t616a142"))}</em></span>`);
385
387
  });
386
- _push(`<!--]--></div><p class="sec-label" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k169eb4s033"))}</p><div class="f-grid tpl-form" data-v-96633662><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1f55q76034"))}<em data-v-96633662>*</em></span><input${ssrRenderAttr("value", tplForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1tooi3o004"))} data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqk219035"))}</span><input${ssrRenderAttr("value", tplForm.ch)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k698qz0005"))} data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1ayxrqb036"))}</span><input${ssrRenderAttr("value", tplForm.code)} class="inp" placeholder="如 MOTOR · I" data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4ef037"))}<em data-v-96633662>*</em></span><input${ssrRenderAttr("value", tplForm.unit)} class="inp" placeholder="如 A" data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv5m038"))}<em data-v-96633662>*</em></span><input${ssrRenderAttr("value", tplForm.min)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9174006"))} data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv4p039"))}<em data-v-96633662>*</em></span><input${ssrRenderAttr("value", tplForm.max)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9167007"))} data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3mxmcx040"))}</span><input${ssrRenderAttr("value", tplForm.decimals)} type="number" min="0" max="4" class="inp" data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3xx56041"))}</span><select class="inp" data-v-96633662><!--[-->`);
388
+ _push(`<!--]--></div><p class="sec-label" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k169eb4s033"))}</p><div class="f-grid tpl-form" data-v-84c0b97c><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1f55q76034"))}<em data-v-84c0b97c>*</em></span><input${ssrRenderAttr("value", tplForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1tooi3o004"))} data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqk219035"))}</span><input${ssrRenderAttr("value", tplForm.ch)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k698qz0005"))} data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1ayxrqb036"))}</span><input${ssrRenderAttr("value", tplForm.code)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.codePh"))} data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4ef037"))}<em data-v-84c0b97c>*</em></span><input${ssrRenderAttr("value", tplForm.unit)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.unitPh"))} data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv5m038"))}<em data-v-84c0b97c>*</em></span><input${ssrRenderAttr("value", tplForm.min)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9174006"))} data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv4p039"))}<em data-v-84c0b97c>*</em></span><input${ssrRenderAttr("value", tplForm.max)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9167007"))} data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3mxmcx040"))}</span><input${ssrRenderAttr("value", tplForm.decimals)} type="number" min="0" max="4" class="inp" data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3xx56041"))}</span><select class="inp" data-v-84c0b97c><!--[-->`);
387
389
  ssrRenderList(tplIcons, (ic) => {
388
- _push(`<option${ssrRenderAttr("value", ic.key)} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(tplForm.icon) ? ssrLooseContain(tplForm.icon, ic.key) : ssrLooseEqual(tplForm.icon, ic.key)) ? " selected" : ""}>${ssrInterpolate(ic.label)}</option>`);
390
+ _push(`<option${ssrRenderAttr("value", ic.key)} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(tplForm.icon) ? ssrLooseContain(tplForm.icon, ic.key) : ssrLooseEqual(tplForm.icon, ic.key)) ? " selected" : ""}>${ssrInterpolate(ic.label)}</option>`);
389
391
  });
390
- _push(`<!--]--></select></label></div><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.knjmyfr042"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1qdnfzc008"))} data-v-96633662>${ssrInterpolate(tplForm.semantics)}</textarea></label>`);
391
- if (tplOk.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-96633662>${ssrInterpolate(tplOk.value)}</p>`);
392
+ _push(`<!--]--></select></label></div><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.knjmyfr042"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1qdnfzc008"))} data-v-84c0b97c>${ssrInterpolate(tplForm.semantics)}</textarea></label>`);
393
+ if (tplOk.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-84c0b97c>${ssrInterpolate(tplOk.value)}</p>`);
392
394
  else _push(`<!---->`);
393
- if (tplError.value) _push(`<p class="m-err" data-v-96633662>${ssrInterpolate(tplError.value)}</p>`);
395
+ if (tplError.value) _push(`<p class="m-err" data-v-84c0b97c>${ssrInterpolate(tplError.value)}</p>`);
394
396
  else _push(`<!---->`);
395
- _push(`<div class="m-actions" data-v-96633662><button class="aw-pill outline" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3x62t043"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(tplSaving.value || !tplForm.name.trim() || tplForm.unit.trim() === "" || tplForm.min === "" || tplForm.max === "") ? " disabled" : ""} data-v-96633662>${ssrInterpolate(tplSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg9nga171"))}</button></div></div></div>`);
397
+ _push(`<div class="m-actions" data-v-84c0b97c><button class="aw-pill outline" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3x62t043"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(tplSaving.value || !tplForm.name.trim() || tplForm.unit.trim() === "" || tplForm.min === "" || tplForm.max === "") ? " disabled" : ""} data-v-84c0b97c>${ssrInterpolate(tplSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg9nga171"))}</button></div></div></div>`);
396
398
  } else _push(`<!---->`);
397
399
  if (addOpen.value) {
398
- _push(`<div class="modal-mask" data-v-96633662><div class="modal" data-v-96633662><h3 class="m-title" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</h3><div class="seg-row" data-v-96633662><button class="${ssrRenderClass([{ on: addScenario.value === "mock" }, "seg"])}" data-v-96633662> Mock 模拟 PLC </button><button class="${ssrRenderClass([{ on: addScenario.value === "real" }, "seg"])}" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kyj8fen044"))}</button></div><div class="f-grid" data-v-96633662><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1ejzwqp045"))}</span><select class="inp" data-v-96633662><!--[-->`);
400
+ _push(`<div class="modal-mask" data-v-84c0b97c><div class="modal" data-v-84c0b97c><h3 class="m-title" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</h3><div class="seg-row" data-v-84c0b97c><button class="${ssrRenderClass([{ on: addScenario.value === "mock" }, "seg"])}" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.mockPlc"))}</button><button class="${ssrRenderClass([{ on: addScenario.value === "real" }, "seg"])}" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.kyj8fen044"))}</button></div><div class="f-grid" data-v-84c0b97c><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1ejzwqp045"))}</span><select class="inp" data-v-84c0b97c><!--[-->`);
399
401
  ssrRenderList(unref(dcw).templates, (tpl) => {
400
- _push(`<option${ssrRenderAttr("value", tpl.key)} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(addTemplate.value) ? ssrLooseContain(addTemplate.value, tpl.key) : ssrLooseEqual(addTemplate.value, tpl.key)) ? " selected" : ""}>${ssrInterpolate(tpl.name)} · ${ssrInterpolate(tpl.ch)}(${ssrInterpolate(tpl.min)}~${ssrInterpolate(tpl.max)} ${ssrInterpolate(tpl.unit)})${ssrInterpolate(tpl.builtin ? "" : _ctx.$t("dcwDetail.kr45rk9157"))}</option>`);
402
+ _push(`<option${ssrRenderAttr("value", tpl.key)} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(addTemplate.value) ? ssrLooseContain(addTemplate.value, tpl.key) : ssrLooseEqual(addTemplate.value, tpl.key)) ? " selected" : ""}>${ssrInterpolate(("catalogTplName" in _ctx ? _ctx.catalogTplName : unref(catalogTplName))(unref(t), tpl))} · ${ssrInterpolate(tpl.ch)}(${ssrInterpolate(tpl.min)}~${ssrInterpolate(tpl.max)} ${ssrInterpolate(tpl.unit)})${ssrInterpolate(tpl.builtin ? "" : _ctx.$t("dcwDetail.kr45rk9157"))}</option>`);
401
403
  });
402
- _push(`<!--]--></select></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1ce2k1y046"))}</span><input${ssrRenderAttr("value", addName.value)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kgpxzy3009"))} data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1vyb8im047"))}</span><input${ssrRenderAttr("value", addHold.value)} type="number" min="0" max="3600000" step="500" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kb1srz0010"))} data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k9r7d4e016"))}</span><input${ssrRenderAttr("value", addRead.value)} type="number" min="0" max="3600000" step="500" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k9r7d4e017"))} data-v-96633662></label></div><div class="f-grid cal-form" data-v-96633662><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kiune1f048"))}</span><select class="inp" data-v-96633662><option value="none" data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(addTransform.kind) ? ssrLooseContain(addTransform.kind, "none") : ssrLooseEqual(addTransform.kind, "none")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kkzy0k049"))}</option><option value="linear" data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(addTransform.kind) ? ssrLooseContain(addTransform.kind, "linear") : ssrLooseEqual(addTransform.kind, "linear")) ? " selected" : ""}> 线性标定:PLC值 = (物理值 - offset) / scale </option></select></label><label class="f" data-v-96633662><span data-v-96633662>scale / offset</span><div style="${ssrRenderStyle({
404
+ _push(`<!--]--></select></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1ce2k1y046"))}</span><input${ssrRenderAttr("value", addName.value)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kgpxzy3009"))} data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1vyb8im047"))}</span><input${ssrRenderAttr("value", addHold.value)} type="number" min="0" max="3600000" step="500" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kb1srz0010"))} data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k9r7d4e016"))}</span><input${ssrRenderAttr("value", addRead.value)} type="number" min="0" max="3600000" step="500" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k9r7d4e017"))} data-v-84c0b97c></label></div><div class="f-grid cal-form" data-v-84c0b97c><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.kiune1f048"))}</span><select class="inp" data-v-84c0b97c><option value="none" data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(addTransform.kind) ? ssrLooseContain(addTransform.kind, "none") : ssrLooseEqual(addTransform.kind, "none")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kkzy0k049"))}</option><option value="linear" data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(addTransform.kind) ? ssrLooseContain(addTransform.kind, "linear") : ssrLooseEqual(addTransform.kind, "linear")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.linearCalOpt"))}</option></select></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>scale / offset</span><div style="${ssrRenderStyle({
403
405
  "display": "flex",
404
406
  "gap": "6px"
405
- })}" data-v-96633662><input${ssrRenderAttr("value", addTransform.scale)} type="number" step="0.1" class="inp"${ssrIncludeBooleanAttr(addTransform.kind !== "linear") ? " disabled" : ""} title="decoder 斜率(≠0):物理值 = scale × PLC值 + offset;下发时自动取逆" data-v-96633662><input${ssrRenderAttr("value", addTransform.offset)} type="number" step="0.1" class="inp"${ssrIncludeBooleanAttr(addTransform.kind !== "linear") ? " disabled" : ""} title="decoder 截距" data-v-96633662></div></label></div>`);
407
+ })}" data-v-84c0b97c><input${ssrRenderAttr("value", addTransform.scale)} type="number" step="0.1" class="inp"${ssrIncludeBooleanAttr(addTransform.kind !== "linear") ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("dcwDetail.calScaleTip"))} data-v-84c0b97c><input${ssrRenderAttr("value", addTransform.offset)} type="number" step="0.1" class="inp"${ssrIncludeBooleanAttr(addTransform.kind !== "linear") ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("dcwDetail.calOffsetTip"))} data-v-84c0b97c></div></label></div>`);
406
408
  if (addScenario.value === "real") {
407
- _push(`<!--[--><div class="f-grid" data-v-96633662><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1kt87rx050"))}</span><select class="inp" data-v-96633662><!--[-->`);
408
- ssrRenderList(unref(DCW_DRIVERS).filter((x) => x.status !== "builtin"), (d) => {
409
- _push(`<option${ssrRenderAttr("value", d.kind)} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(addDriver.value) ? ssrLooseContain(addDriver.value, d.kind) : ssrLooseEqual(addDriver.value, d.kind)) ? " selected" : ""}>${ssrInterpolate(d.label)}</option>`);
409
+ _push(`<!--[--><div class="f-grid" data-v-84c0b97c><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1kt87rx050"))}</span><select class="inp" data-v-84c0b97c><!--[-->`);
410
+ ssrRenderList(driverCatalog.value.filter((x) => x.status !== "builtin"), (d) => {
411
+ _push(`<option${ssrRenderAttr("value", d.kind)} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(addDriver.value) ? ssrLooseContain(addDriver.value, d.kind) : ssrLooseEqual(addDriver.value, d.kind)) ? " selected" : ""}>${ssrInterpolate(d.label)}${ssrInterpolate(d.plugin ? " ⌁" : "")}</option>`);
410
412
  });
411
413
  _push(`<!--]--></select></label></div>`);
412
414
  if (addFields.value.length) {
413
- _push(`<div class="f-grid driver-form" data-v-96633662><!--[-->`);
415
+ _push(`<div class="f-grid driver-form" data-v-84c0b97c><!--[-->`);
414
416
  ssrRenderList(addFields.value, (f) => {
415
- _push(`<label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(f.label)}`);
417
+ _push(`<label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(f.label)}`);
416
418
  if (f.required) _push(`<em style="${ssrRenderStyle({
417
419
  "color": "var(--tone-danger-dot)",
418
420
  "font-style": "normal"
419
- })}" data-v-96633662>*</em>`);
421
+ })}" data-v-84c0b97c>*</em>`);
420
422
  else _push(`<!---->`);
421
423
  _push(`</span>`);
422
424
  if (f.type === "select") {
423
- _push(`<select class="inp" data-v-96633662><!--[-->`);
425
+ _push(`<select class="inp" data-v-84c0b97c><!--[-->`);
424
426
  ssrRenderList(f.options, (o) => {
425
- _push(`<option${ssrRenderAttr("value", o.value)} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(addCfg.value[f.key]) ? ssrLooseContain(addCfg.value[f.key], o.value) : ssrLooseEqual(addCfg.value[f.key], o.value)) ? " selected" : ""}>${ssrInterpolate(o.label)}</option>`);
427
+ _push(`<option${ssrRenderAttr("value", o.value)} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(addCfg.value[f.key]) ? ssrLooseContain(addCfg.value[f.key], o.value) : ssrLooseEqual(addCfg.value[f.key], o.value)) ? " selected" : ""}>${ssrInterpolate(o.label)}</option>`);
426
428
  });
427
429
  _push(`<!--]--></select>`);
428
- } else _push(`<input${ssrRenderDynamicModel(f.type === "number" ? "number" : "text", addCfg.value[f.key], null)}${ssrRenderAttr("type", f.type === "number" ? "number" : "text")}${ssrRenderAttr("placeholder", f.placeholder)} class="inp" data-v-96633662>`);
429
- if (f.hint) _push(`<small class="hint" data-v-96633662>${ssrInterpolate(f.hint)}</small>`);
430
+ } else _push(`<input${ssrRenderDynamicModel(f.type === "number" ? "number" : "text", addCfg.value[f.key], null)}${ssrRenderAttr("type", f.type === "number" ? "number" : "text")}${ssrRenderAttr("placeholder", f.placeholder)} class="inp" data-v-84c0b97c>`);
431
+ if (f.hint) _push(`<small class="hint" data-v-84c0b97c>${ssrInterpolate(f.hint)}</small>`);
430
432
  else _push(`<!---->`);
431
433
  _push(`</label>`);
432
434
  });
433
435
  _push(`<!--]--></div>`);
434
436
  } else _push(`<!---->`);
435
- _push(`<div class="test-row" data-v-96633662><button class="pill-btn outline"${ssrIncludeBooleanAttr(addTesting.value) ? " disabled" : ""} data-v-96633662>${ssrInterpolate(addTesting.value ? _ctx.$t("dcwDetail.k1fsh720158") : _ctx.$t("dcwDetail.k1fstglk172"))}</button>`);
436
- if (addTest.value) _push(`<span class="${ssrRenderClass([addTest.value.ok ? "good" : "bad", "test-result"])}" data-v-96633662>${ssrInterpolate(addTest.value.ok ? "✓" : "✗")} ${ssrInterpolate(addTest.value.message)}</span>`);
437
+ _push(`<div class="test-row" data-v-84c0b97c><button class="pill-btn outline"${ssrIncludeBooleanAttr(addTesting.value) ? " disabled" : ""} data-v-84c0b97c>${ssrInterpolate(addTesting.value ? _ctx.$t("dcwDetail.k1fsh720158") : _ctx.$t("dcwDetail.k1fstglk172"))}</button>`);
438
+ if (addTest.value) _push(`<span class="${ssrRenderClass([addTest.value.ok ? "good" : "bad", "test-result"])}" data-v-84c0b97c>${ssrInterpolate(addTest.value.ok ? "✓" : "✗")} ${ssrInterpolate(addTest.value.message)}</span>`);
437
439
  else _push(`<!---->`);
438
440
  _push(`</div><!--]-->`);
439
441
  } else _push(`<!---->`);
440
- _push(`<label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1hgizn7051"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12bnyt9011"))} data-v-96633662>${ssrInterpolate(addSemantics.value)}</textarea></label>`);
441
- if (addError.value) _push(`<p class="m-err" data-v-96633662>${ssrInterpolate(addError.value)}</p>`);
442
+ _push(`<label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1hgizn7051"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12bnyt9011"))} data-v-84c0b97c>${ssrInterpolate(addSemantics.value)}</textarea></label>`);
443
+ if (addError.value) _push(`<p class="m-err" data-v-84c0b97c>${ssrInterpolate(addError.value)}</p>`);
442
444
  else _push(`<!---->`);
443
- _push(`<div class="m-actions" data-v-96633662><button class="aw-pill outline" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="aw-pill"${ssrIncludeBooleanAttr(addSaving.value) ? " disabled" : ""} data-v-96633662>${ssrInterpolate(addSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bge46t173"))}</button></div></div></div>`);
445
+ _push(`<div class="m-actions" data-v-84c0b97c><button class="aw-pill outline" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="aw-pill"${ssrIncludeBooleanAttr(addSaving.value) ? " disabled" : ""} data-v-84c0b97c>${ssrInterpolate(addSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bge46t173"))}</button></div></div></div>`);
444
446
  } else _push(`<!---->`);
445
447
  _push(ssrRenderComponent(_component_a_spin, { spinning: !unref(dcw).loaded && !unref(dcw).error }, {
446
448
  default: withCtx((_, _push, _parent, _scopeId) => {
447
449
  if (_push) {
448
- _push(`<section class="aw-tile table-card" data-v-96633662${_scopeId}><table class="nodes-table" data-v-96633662${_scopeId}><thead data-v-96633662${_scopeId}><tr data-v-96633662${_scopeId}><th data-v-96633662${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</th><th data-v-96633662${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k403cy054"))}</th><th data-v-96633662${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k42w8s055"))}</th><th data-v-96633662${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1deqh0d056"))}</th><th data-v-96633662${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k9r7d4e018"))}</th><th data-v-96633662${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1k79ec9057"))}</th><th data-v-96633662${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1dexou6058"))}</th><th data-v-96633662${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1b1nnaa059"))}</th><th data-v-96633662${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1i8rtqt060"))}</th><th class="right" data-v-96633662${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-96633662${_scopeId}><!--[-->`);
450
+ _push(`<section class="aw-tile table-card" data-v-84c0b97c${_scopeId}><table class="nodes-table" data-v-84c0b97c${_scopeId}><thead data-v-84c0b97c${_scopeId}><tr data-v-84c0b97c${_scopeId}><th data-v-84c0b97c${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</th><th data-v-84c0b97c${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k403cy054"))}</th><th data-v-84c0b97c${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k42w8s055"))}</th><th data-v-84c0b97c${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1deqh0d056"))}</th><th data-v-84c0b97c${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k9r7d4e018"))}</th><th data-v-84c0b97c${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1k79ec9057"))}</th><th data-v-84c0b97c${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1dexou6058"))}</th><th data-v-84c0b97c${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1b1nnaa059"))}</th><th data-v-84c0b97c${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1i8rtqt060"))}</th><th class="right" data-v-84c0b97c${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-84c0b97c${_scopeId}><!--[-->`);
449
451
  ssrRenderList(lineNodes.value, (n) => {
450
- _push(`<tr class="${ssrRenderClass({ "node-paused": !n.enabled })}" data-v-96633662${_scopeId}><td data-v-96633662${_scopeId}><span class="mono dim" data-v-96633662${_scopeId}>${ssrInterpolate(n.id.slice(0, 8))}</span><b data-v-96633662${_scopeId}>${ssrInterpolate(n.name)}</b><small class="mono ch" data-v-96633662${_scopeId}>${ssrInterpolate(dcwTemplateRefCh(n.templateRef))}</small></td><td data-v-96633662${_scopeId}><button class="${ssrRenderClass([{ on: n.enabled }, "ctrl-toggle"])}"${ssrIncludeBooleanAttr(togglingId.value === n.id) ? " disabled" : ""}${ssrRenderAttr("title", n.enabled ? "暂停该节点控制:下发将被拒绝" : "开启该节点控制:恢复可下发")} data-v-96633662${_scopeId}><span class="ct-dot" data-v-96633662${_scopeId}></span> ${ssrInterpolate(n.enabled ? _ctx.$t("dcwDetail.k3o3ib3159") : _ctx.$t("dcwDetail.k3n93ed062"))}</button></td><td data-v-96633662${_scopeId}>`);
451
- if (!n.enabled) _push(`<span class="st-pill paused" data-v-96633662${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3n93ed062"))}</span>`);
452
- else _push(`<span class="${ssrRenderClass([n.state, "st-pill"])}" data-v-96633662${_scopeId}>${ssrInterpolate(stateLabel[n.state] ?? n.state)}</span>`);
453
- _push(`</td><td class="mono val" data-v-96633662${_scopeId}>${ssrInterpolate(n.value != null ? n.value.toFixed(n.decimals) : "--")} <small data-v-96633662${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
454
- if (n.lastAckAt) _push(`<small class="dim" data-v-96633662${_scopeId}> · ${ssrInterpolate(n.lastAckAt.slice(11, 19))}</small>`);
452
+ _push(`<tr class="${ssrRenderClass({ "node-paused": !n.enabled })}" data-v-84c0b97c${_scopeId}><td data-v-84c0b97c${_scopeId}><span class="mono dim" data-v-84c0b97c${_scopeId}>${ssrInterpolate(n.id.slice(0, 8))}</span><b data-v-84c0b97c${_scopeId}>${ssrInterpolate(n.name)}</b><small class="mono ch" data-v-84c0b97c${_scopeId}>${ssrInterpolate(dcwTemplateRefCh(n.templateRef))}</small></td><td data-v-84c0b97c${_scopeId}><button class="${ssrRenderClass([{ on: n.enabled }, "ctrl-toggle"])}"${ssrIncludeBooleanAttr(togglingId.value === n.id) ? " disabled" : ""}${ssrRenderAttr("title", n.enabled ? _ctx.$t("dcwDetail.pauseCtrlTip") : _ctx.$t("dcwDetail.enableCtrlTip"))} data-v-84c0b97c${_scopeId}><span class="ct-dot" data-v-84c0b97c${_scopeId}></span> ${ssrInterpolate(n.enabled ? _ctx.$t("dcwDetail.k3o3ib3159") : _ctx.$t("dcwDetail.k3n93ed062"))}</button></td><td data-v-84c0b97c${_scopeId}>`);
453
+ if (!n.enabled) _push(`<span class="st-pill paused" data-v-84c0b97c${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3n93ed062"))}</span>`);
454
+ else _push(`<span class="${ssrRenderClass([n.state, "st-pill"])}" data-v-84c0b97c${_scopeId}>${ssrInterpolate(stateLabel.value[n.state] ?? n.state)}</span>`);
455
+ _push(`</td><td class="mono val" data-v-84c0b97c${_scopeId}>${ssrInterpolate(n.value != null ? n.value.toFixed(n.decimals) : "--")} <small data-v-84c0b97c${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
456
+ if (n.lastAckAt) _push(`<small class="dim" data-v-84c0b97c${_scopeId}> · ${ssrInterpolate(n.lastAckAt.slice(11, 19))}</small>`);
455
457
  else _push(`<!---->`);
456
- _push(`</td><td class="mono val" data-v-96633662${_scopeId}><span${ssrRenderAttr("title", n.lastReadError ?? _ctx.$t("dcwDetail.k9r7d4e019"))} class="${ssrRenderClass({ "read-stale": n.lastReadError })}" data-v-96633662${_scopeId}>${ssrInterpolate(n.readValue != null ? n.readValue.toFixed(n.decimals) : "--")}</span><small data-v-96633662${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
457
- if (n.lastReadAt) _push(`<small class="dim" data-v-96633662${_scopeId}> · ${ssrInterpolate(n.lastReadAt.slice(11, 19))}</small>`);
458
+ _push(`</td><td class="mono val" data-v-84c0b97c${_scopeId}><span${ssrRenderAttr("title", n.lastReadError ?? _ctx.$t("dcwDetail.k9r7d4e019"))} class="${ssrRenderClass({ "read-stale": n.lastReadError })}" data-v-84c0b97c${_scopeId}>${ssrInterpolate(n.readValue != null ? n.readValue.toFixed(n.decimals) : "--")}</span><small data-v-84c0b97c${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
459
+ if (n.lastReadAt) _push(`<small class="dim" data-v-84c0b97c${_scopeId}> · ${ssrInterpolate(n.lastReadAt.slice(11, 19))}</small>`);
458
460
  else _push(`<!---->`);
459
- _push(`<button class="mini-btn read-btn"${ssrIncludeBooleanAttr(readingId.value === n.id) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e020"))} data-v-96633662${_scopeId}>${ssrInterpolate(readingId.value === n.id ? "···" : _ctx.$t("dcwDetail.k9r7d4e021"))}</button></td><td data-v-96633662${_scopeId}><div class="write-row" data-v-96633662${_scopeId}><input${ssrRenderAttr("value", setInputs[n.id])} type="number" class="inp write-inp mono"${ssrRenderAttr("placeholder", `${n.min}~${n.max}`)}${ssrRenderAttr("min", n.min)}${ssrRenderAttr("max", n.max)}${ssrRenderAttr("step", 10 ** -n.decimals)}${ssrIncludeBooleanAttr(!n.enabled) ? " disabled" : ""}${ssrRenderAttr("title", !n.enabled ? "当前节点暂停:开启控制后方可设定" : "")} data-v-96633662${_scopeId}><button class="mini-btn write-btn"${ssrIncludeBooleanAttr(!n.enabled || writingId.value === n.id || setInputs[n.id] == null || setInputs[n.id] === "") ? " disabled" : ""}${ssrRenderAttr("title", !n.enabled ? "当前节点暂停:开启控制后方可设定" : "下发设定值")} data-v-96633662${_scopeId}>${ssrInterpolate(writingId.value === n.id ? _ctx.$t("dcwDetail.k3l3h80123") : _ctx.$t("dcwDetail.k3w6td174"))}</button></div></td><td class="mono dim" data-v-96633662${_scopeId}>${ssrInterpolate(n.min)} ~ ${ssrInterpolate(n.max)} ${ssrInterpolate(n.unit)}</td><td class="mono" data-v-96633662${_scopeId}>${ssrInterpolate(n.holdIntervalMs == null ? _ctx.$t("dcwDetail.k3zul4160") : `${n.holdIntervalMs}ms`)} <small class="dim"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e016"))} data-v-96633662${_scopeId}>· ${ssrInterpolate(n.readIntervalMs === 0 ? _ctx.$t("dcwDetail.k9r7d4e022") : n.readIntervalMs == null ? _ctx.$t("dcwDetail.k9r7d4e023") : `${n.readIntervalMs}ms`)}</small></td><td data-v-96633662${_scopeId}>${ssrInterpolate(nodeDeviceNames(n))}</td><td class="right" data-v-96633662${_scopeId}><button class="mini-btn danger" data-v-96633662${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></td></tr>`);
461
+ _push(`<button class="mini-btn read-btn"${ssrIncludeBooleanAttr(readingId.value === n.id) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e020"))} data-v-84c0b97c${_scopeId}>${ssrInterpolate(readingId.value === n.id ? "···" : _ctx.$t("dcwDetail.k9r7d4e021"))}</button></td><td data-v-84c0b97c${_scopeId}><div class="write-row" data-v-84c0b97c${_scopeId}><input${ssrRenderAttr("value", setInputs[n.id])} type="number" class="inp write-inp mono"${ssrRenderAttr("placeholder", `${n.min}~${n.max}`)}${ssrRenderAttr("min", n.min)}${ssrRenderAttr("max", n.max)}${ssrRenderAttr("step", 10 ** -n.decimals)}${ssrIncludeBooleanAttr(!n.enabled) ? " disabled" : ""}${ssrRenderAttr("title", !n.enabled ? _ctx.$t("dcwDetail.pausedTip") : "")} data-v-84c0b97c${_scopeId}><button class="mini-btn write-btn"${ssrIncludeBooleanAttr(!n.enabled || writingId.value === n.id || setInputs[n.id] == null || setInputs[n.id] === "") ? " disabled" : ""}${ssrRenderAttr("title", !n.enabled ? _ctx.$t("dcwDetail.pausedTip") : _ctx.$t("dcwDetail.writeTip"))} data-v-84c0b97c${_scopeId}>${ssrInterpolate(writingId.value === n.id ? _ctx.$t("dcwDetail.k3l3h80123") : _ctx.$t("dcwDetail.k3w6td174"))}</button></div></td><td class="mono dim" data-v-84c0b97c${_scopeId}>${ssrInterpolate(n.min)} ~ ${ssrInterpolate(n.max)} ${ssrInterpolate(n.unit)}</td><td class="mono" data-v-84c0b97c${_scopeId}>${ssrInterpolate(n.holdIntervalMs == null ? _ctx.$t("dcwDetail.k3zul4160") : `${n.holdIntervalMs}ms`)} <small class="dim"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e016"))} data-v-84c0b97c${_scopeId}>· ${ssrInterpolate(n.readIntervalMs === 0 ? _ctx.$t("dcwDetail.k9r7d4e022") : n.readIntervalMs == null ? _ctx.$t("dcwDetail.k9r7d4e023") : `${n.readIntervalMs}ms`)}</small></td><td data-v-84c0b97c${_scopeId}>${ssrInterpolate(nodeDeviceNames(n))}</td><td class="right" data-v-84c0b97c${_scopeId}><button class="mini-btn danger" data-v-84c0b97c${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></td></tr>`);
460
462
  });
461
463
  _push(`<!--]-->`);
462
- if (unref(dcw).loaded && lineNodes.value.length === 0) _push(`<tr data-v-96633662${_scopeId}><td colspan="9" data-v-96633662${_scopeId}><div class="pane-empty" style="${ssrRenderStyle({ "min-height": "120px" })}" data-v-96633662${_scopeId}><p class="pe-sub" data-v-96633662${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1wtecyw064"))}</p></div></td></tr>`);
464
+ if (unref(dcw).loaded && lineNodes.value.length === 0) _push(`<tr data-v-84c0b97c${_scopeId}><td colspan="9" data-v-84c0b97c${_scopeId}><div class="pane-empty" style="${ssrRenderStyle({ "min-height": "120px" })}" data-v-84c0b97c${_scopeId}><p class="pe-sub" data-v-84c0b97c${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1wtecyw064"))}</p></div></td></tr>`);
463
465
  else _push(`<!---->`);
464
466
  _push(`</tbody></table></section>`);
465
467
  } else return [createVNode("section", { class: "aw-tile table-card" }, [createVNode("table", { class: "nodes-table" }, [createVNode("thead", null, [createVNode("tr", null, [
@@ -486,7 +488,7 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
486
488
  createVNode("td", null, [createVNode("button", {
487
489
  class: ["ctrl-toggle", { on: n.enabled }],
488
490
  disabled: togglingId.value === n.id,
489
- title: n.enabled ? "暂停该节点控制:下发将被拒绝" : "开启该节点控制:恢复可下发",
491
+ title: n.enabled ? _ctx.$t("dcwDetail.pauseCtrlTip") : _ctx.$t("dcwDetail.enableCtrlTip"),
490
492
  onClick: ($event) => toggleControl(n.id, !n.enabled)
491
493
  }, [createVNode("span", { class: "ct-dot" }), createTextVNode(" " + toDisplayString(n.enabled ? _ctx.$t("dcwDetail.k3o3ib3159") : _ctx.$t("dcwDetail.k3n93ed062")), 1)], 10, [
492
494
  "disabled",
@@ -499,7 +501,7 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
499
501
  }, toDisplayString(_ctx.$t("dcwDetail.k3n93ed062")), 1)) : (openBlock(), createBlock("span", {
500
502
  key: 1,
501
503
  class: ["st-pill", n.state]
502
- }, toDisplayString(stateLabel[n.state] ?? n.state), 3))]),
504
+ }, toDisplayString(stateLabel.value[n.state] ?? n.state), 3))]),
503
505
  createVNode("td", { class: "mono val" }, [
504
506
  createTextVNode(toDisplayString(n.value != null ? n.value.toFixed(n.decimals) : "--") + " ", 1),
505
507
  createVNode("small", null, toDisplayString(n.unit), 1),
@@ -538,7 +540,7 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
538
540
  max: n.max,
539
541
  step: 10 ** -n.decimals,
540
542
  disabled: !n.enabled,
541
- title: !n.enabled ? "当前节点暂停:开启控制后方可设定" : ""
543
+ title: !n.enabled ? _ctx.$t("dcwDetail.pausedTip") : ""
542
544
  }, null, 8, [
543
545
  "onUpdate:modelValue",
544
546
  "placeholder",
@@ -555,7 +557,7 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
555
557
  ]]), createVNode("button", {
556
558
  class: "mini-btn write-btn",
557
559
  disabled: !n.enabled || writingId.value === n.id || setInputs[n.id] == null || setInputs[n.id] === "",
558
- title: !n.enabled ? "当前节点暂停:开启控制后方可设定" : "下发设定值",
560
+ title: !n.enabled ? _ctx.$t("dcwDetail.pausedTip") : _ctx.$t("dcwDetail.writeTip"),
559
561
  onClick: ($event) => doWrite(n.id, Number(setInputs[n.id]))
560
562
  }, toDisplayString(writingId.value === n.id ? _ctx.$t("dcwDetail.k3l3h80123") : _ctx.$t("dcwDetail.k3w6td174")), 9, [
561
563
  "disabled",
@@ -580,184 +582,184 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
580
582
  }),
581
583
  _: 1
582
584
  }, _parent));
583
- _push(`<section class="aw-tile recipe-card" data-v-96633662><div class="recipe-hd" data-v-96633662><h3 data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1j8w3hd065"))}</h3><span class="panel-tag mono" data-v-96633662>${ssrInterpolate(lineProducts.value.length)} ${ssrInterpolate(_ctx.$t("dcwDetail.k1av3wgs143"))} ${ssrInterpolate(visibleRecipes.value.length)} ${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><button class="pill-btn" style="${ssrRenderStyle({ "margin-left": "auto" })}" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1akm6dc066"))}</button><button class="mini-btn" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1aka0ki067"))}</button></div><p class="recipe-sub" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k6bl2q8068"))}</p>`);
585
+ _push(`<section class="aw-tile recipe-card" data-v-84c0b97c><div class="recipe-hd" data-v-84c0b97c><h3 data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1j8w3hd065"))}</h3><span class="panel-tag mono" data-v-84c0b97c>${ssrInterpolate(lineProducts.value.length)} ${ssrInterpolate(_ctx.$t("dcwDetail.k1av3wgs143"))} ${ssrInterpolate(visibleRecipes.value.length)} ${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><button class="pill-btn" style="${ssrRenderStyle({ "margin-left": "auto" })}" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1akm6dc066"))}</button><button class="mini-btn" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1aka0ki067"))}</button></div><p class="recipe-sub" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k6bl2q8068"))}</p>`);
584
586
  if (lineProducts.value.length) {
585
- _push(`<div class="product-row" data-v-96633662><button class="${ssrRenderClass([{ on: filterProductId.value === "" }, "prod-chip"])}" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4t1069"))}</button><!--[-->`);
587
+ _push(`<div class="product-row" data-v-84c0b97c><button class="${ssrRenderClass([{ on: filterProductId.value === "" }, "prod-chip"])}" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4t1069"))}</button><!--[-->`);
586
588
  ssrRenderList(lineProducts.value, (p) => {
587
- _push(`<button class="${ssrRenderClass([{ on: filterProductId.value === p.id }, "prod-chip"])}"${ssrRenderAttr("title", p.description)} data-v-96633662>${ssrInterpolate(p.name)} <span class="prod-del"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1bpfjgx012"))} data-v-96633662>×</span></button>`);
589
+ _push(`<button class="${ssrRenderClass([{ on: filterProductId.value === p.id }, "prod-chip"])}"${ssrRenderAttr("title", p.description)} data-v-84c0b97c>${ssrInterpolate(p.name)} <span class="prod-del"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1bpfjgx012"))} data-v-84c0b97c>×</span></button>`);
588
590
  });
589
591
  _push(`<!--]--></div>`);
590
592
  } else _push(`<p class="dim" style="${ssrRenderStyle({
591
593
  "margin": "6px 0 12px",
592
594
  "font-size": "12px"
593
- })}" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.knov3zg070"))}</p>`);
594
- _push(`<div class="recipe-grid" data-v-96633662><!--[-->`);
595
+ })}" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.knov3zg070"))}</p>`);
596
+ _push(`<div class="recipe-grid" data-v-84c0b97c><!--[-->`);
595
597
  ssrRenderList(visibleRecipes.value, (r) => {
596
- _push(`<div class="recipe-item" data-v-96633662><div class="recipe-name" data-v-96633662><b data-v-96633662>${ssrInterpolate(r.name)}</b>`);
597
- if (r.version) _push(`<span class="param-chip mono"${ssrRenderAttr("title", unref(t)("dcwDetail.histTitle"))} data-v-96633662>v${ssrInterpolate(r.version)}</span>`);
598
+ _push(`<div class="recipe-item" data-v-84c0b97c><div class="recipe-name" data-v-84c0b97c><b data-v-84c0b97c>${ssrInterpolate(r.name)}</b>`);
599
+ if (r.version) _push(`<span class="param-chip mono"${ssrRenderAttr("title", unref(t)("dcwDetail.histTitle"))} data-v-84c0b97c>v${ssrInterpolate(r.version)}</span>`);
598
600
  else _push(`<!---->`);
599
- _push(`<small class="dim" data-v-96633662>${ssrInterpolate(productName(r.productId))}</small><small class="mono dim" data-v-96633662>${ssrInterpolate(r.id)}</small></div>`);
600
- if (r.description) _push(`<p class="dim desc" data-v-96633662>${ssrInterpolate(r.description)}</p>`);
601
+ _push(`<small class="dim" data-v-84c0b97c>${ssrInterpolate(productName(r.productId))}</small><small class="mono dim" data-v-84c0b97c>${ssrInterpolate(r.id)}</small></div>`);
602
+ if (r.description) _push(`<p class="dim desc" data-v-84c0b97c>${ssrInterpolate(r.description)}</p>`);
601
603
  else _push(`<!---->`);
602
- _push(`<div class="recipe-params mono" data-v-96633662><!--[-->`);
604
+ _push(`<div class="recipe-params mono" data-v-84c0b97c><!--[-->`);
603
605
  ssrRenderList(r.params, (p, i) => {
604
- _push(`<span class="${ssrRenderClass([{ stale: paramStatus(p.nodeId, r.lineId) }, "param-chip"])}"${ssrRenderAttr("title", paramStatus(p.nodeId, r.lineId)?.label ?? "")} data-v-96633662>${ssrInterpolate(paramNodeName(p.nodeId))} = ${ssrInterpolate(p.value)}`);
605
- if (paramStatus(p.nodeId, r.lineId)) _push(`<span class="chip-stale-tag" data-v-96633662>${ssrInterpolate(paramStatus(p.nodeId, r.lineId).label)}</span>`);
606
+ _push(`<span class="${ssrRenderClass([{ stale: paramStatus(p.nodeId, r.lineId) }, "param-chip"])}"${ssrRenderAttr("title", paramStatus(p.nodeId, r.lineId)?.label ?? "")} data-v-84c0b97c>${ssrInterpolate(paramNodeName(p.nodeId))} = ${ssrInterpolate(p.value)}`);
607
+ if (paramStatus(p.nodeId, r.lineId)) _push(`<span class="chip-stale-tag" data-v-84c0b97c>${ssrInterpolate(paramStatus(p.nodeId, r.lineId).label)}</span>`);
606
608
  else _push(`<!---->`);
607
609
  _push(`</span>`);
608
610
  });
609
611
  _push(`<!--]--><!--[-->`);
610
612
  ssrRenderList(r.daqWindows, (w, i) => {
611
- _push(`<span class="${ssrRenderClass([{ stale: daqWindowStatus(w.nodeId, r.lineId) }, "param-chip daqwin"])}"${ssrRenderAttr("title", daqWindowStatus(w.nodeId, r.lineId)?.label ?? _ctx.$t("dcwDetail.k1l11api013"))} data-v-96633662> ◎ ${ssrInterpolate(daqNodeCh(w.nodeId))} ∈ [${ssrInterpolate(w.min ?? "-∞")}, ${ssrInterpolate(w.max ?? "+∞")}]`);
612
- if (daqWindowStatus(w.nodeId, r.lineId)) _push(`<span class="chip-stale-tag" data-v-96633662>${ssrInterpolate(daqWindowStatus(w.nodeId, r.lineId).label)}</span>`);
613
+ _push(`<span class="${ssrRenderClass([{ stale: daqWindowStatus(w.nodeId, r.lineId) }, "param-chip daqwin"])}"${ssrRenderAttr("title", daqWindowStatus(w.nodeId, r.lineId)?.label ?? _ctx.$t("dcwDetail.k1l11api013"))} data-v-84c0b97c> ◎ ${ssrInterpolate(daqNodeCh(w.nodeId))} ∈ [${ssrInterpolate(w.min ?? "-∞")}, ${ssrInterpolate(w.max ?? "+∞")}]`);
614
+ if (daqWindowStatus(w.nodeId, r.lineId)) _push(`<span class="chip-stale-tag" data-v-84c0b97c>${ssrInterpolate(daqWindowStatus(w.nodeId, r.lineId).label)}</span>`);
613
615
  else _push(`<!---->`);
614
616
  _push(`</span>`);
615
617
  });
616
- _push(`<!--]--></div><div class="recipe-actions" data-v-96633662><button class="pill-btn" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1497qvr071"))}</button><button class="mini-btn" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k45eb0072"))}</button><button class="mini-btn" data-v-96633662>${ssrInterpolate(unref(t)("dcwDetail.histBtn"))}`);
617
- if (r.version) _push(`<span class="mono" data-v-96633662>·v${ssrInterpolate(r.version)}</span>`);
618
+ _push(`<!--]--></div><div class="recipe-actions" data-v-84c0b97c><button class="pill-btn" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1497qvr071"))}</button><button class="mini-btn" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k45eb0072"))}</button><button class="mini-btn" data-v-84c0b97c>${ssrInterpolate(unref(t)("dcwDetail.histBtn"))}`);
619
+ if (r.version) _push(`<span class="mono" data-v-84c0b97c>·v${ssrInterpolate(r.version)}</span>`);
618
620
  else _push(`<!---->`);
619
- _push(`</button><button class="mini-btn danger" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></div></div>`);
621
+ _push(`</button><button class="mini-btn danger" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></div></div>`);
620
622
  });
621
623
  _push(`<!--]-->`);
622
- if (visibleRecipes.value.length === 0) _push(`<div class="pane-empty" style="${ssrRenderStyle({ "grid-column": "1 / -1" })}" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.keko1xy073"))}</div>`);
624
+ if (visibleRecipes.value.length === 0) _push(`<div class="pane-empty" style="${ssrRenderStyle({ "grid-column": "1 / -1" })}" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.keko1xy073"))}</div>`);
623
625
  else _push(`<!---->`);
624
626
  _push(`</div>`);
625
- if (applyResult.value) _push(`<div class="banner good" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1l3hrvp144"))} ${ssrInterpolate(applyResult.value.runId)} ${ssrInterpolate(_ctx.$t("dcwDetail.k1g3lh2v167"))}${ssrInterpolate(applyResult.value.ok)}/${ssrInterpolate(applyResult.value.total)} ${ssrInterpolate(_ctx.$t("dcwDetail.k1bqci06149"))} <button class="mini-btn" style="${ssrRenderStyle({ "margin-left": "10px" })}"${ssrIncludeBooleanAttr(runDataLoading.value) ? " disabled" : ""} data-v-96633662>${ssrInterpolate(runDataLoading.value ? _ctx.$t("dcwDetail.k1br0ij9161") : _ctx.$t("dcwDetail.kxwei5175"))}</button></div>`);
627
+ if (applyResult.value) _push(`<div class="banner good" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1l3hrvp144"))} ${ssrInterpolate(applyResult.value.runId)} ${ssrInterpolate(_ctx.$t("dcwDetail.k1g3lh2v167"))}${ssrInterpolate(applyResult.value.ok)}/${ssrInterpolate(applyResult.value.total)} ${ssrInterpolate(_ctx.$t("dcwDetail.k1bqci06149"))} <button class="mini-btn" style="${ssrRenderStyle({ "margin-left": "10px" })}"${ssrIncludeBooleanAttr(runDataLoading.value) ? " disabled" : ""} data-v-84c0b97c>${ssrInterpolate(runDataLoading.value ? _ctx.$t("dcwDetail.k1br0ij9161") : _ctx.$t("dcwDetail.kxwei5175"))}</button></div>`);
626
628
  else _push(`<!---->`);
627
629
  if (lineRuns.value.length) {
628
- _push(`<div class="runs" data-v-96633662><p class="sec-label" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1rjer8d074"))}</p><table class="nodes-table" data-v-96633662><thead data-v-96633662><tr data-v-96633662><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k400lb075"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k4497j076"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqhtmu077"))}</th><th class="right" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-96633662><!--[-->`);
630
+ _push(`<div class="runs" data-v-84c0b97c><p class="sec-label" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1rjer8d074"))}</p><table class="nodes-table" data-v-84c0b97c><thead data-v-84c0b97c><tr data-v-84c0b97c><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k400lb075"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k4497j076"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqhtmu077"))}</th><th class="right" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-84c0b97c><!--[-->`);
629
631
  ssrRenderList([...lineRuns.value].reverse().slice(0, 8), (run) => {
630
- _push(`<tr data-v-96633662><td class="mono" data-v-96633662>${ssrInterpolate(run.id)}</td><td data-v-96633662>${ssrInterpolate(run.recipeName)}</td><td class="mono dim" data-v-96633662>${ssrInterpolate(run.startedAt.slice(5, 19))} ~ ${ssrInterpolate(run.endedAt ? run.endedAt.slice(5, 19) : _ctx.$t("dcwDetail.k3vpfg9162"))}</td><td data-v-96633662><span class="${ssrRenderClass([run.results.every((r) => r.ok) ? "ok" : "warn", "st-pill"])}" data-v-96633662>${ssrInterpolate(run.results.filter((r) => r.ok).length)}/${ssrInterpolate(run.results.length)}</span></td><td class="right" data-v-96633662><button class="mini-btn"${ssrIncludeBooleanAttr(runDataLoading.value) ? " disabled" : ""} data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1dzwrdp078"))}</button>`);
631
- if (!run.endedAt) _push(`<button class="mini-btn" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1blr7y7079"))}</button>`);
632
+ _push(`<tr data-v-84c0b97c><td class="mono" data-v-84c0b97c>${ssrInterpolate(run.id)}</td><td data-v-84c0b97c>${ssrInterpolate(run.recipeName)}</td><td class="mono dim" data-v-84c0b97c>${ssrInterpolate(run.startedAt.slice(5, 19))} ~ ${ssrInterpolate(run.endedAt ? run.endedAt.slice(5, 19) : _ctx.$t("dcwDetail.k3vpfg9162"))}</td><td data-v-84c0b97c><span class="${ssrRenderClass([run.results.every((r) => r.ok) ? "ok" : "warn", "st-pill"])}" data-v-84c0b97c>${ssrInterpolate(run.results.filter((r) => r.ok).length)}/${ssrInterpolate(run.results.length)}</span></td><td class="right" data-v-84c0b97c><button class="mini-btn"${ssrIncludeBooleanAttr(runDataLoading.value) ? " disabled" : ""} data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1dzwrdp078"))}</button>`);
633
+ if (!run.endedAt) _push(`<button class="mini-btn" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1blr7y7079"))}</button>`);
632
634
  else _push(`<!---->`);
633
635
  _push(`</td></tr>`);
634
636
  });
635
637
  _push(`<!--]--></tbody></table></div>`);
636
638
  } else _push(`<!---->`);
637
639
  if (runDataView.value) {
638
- _push(`<div class="modal-mask" data-v-96633662><div class="modal" data-v-96633662><h3 class="m-title" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k11lq94k145"))} ${ssrInterpolate(runDataView.value.data.run.recipeName)}(${ssrInterpolate(runDataView.value.runId)}) </h3><p class="sec-label" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1me41w8080"))}</p><table class="nodes-table" data-v-96633662><thead data-v-96633662><tr data-v-96633662><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k40t11083"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3xuaw084"))}</th><th data-v-96633662>min ~ max</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k4118o085"))}</th></tr></thead><tbody data-v-96633662><!--[-->`);
640
+ _push(`<div class="modal-mask" data-v-84c0b97c><div class="modal" data-v-84c0b97c><h3 class="m-title" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k11lq94k145"))} ${ssrInterpolate(runDataView.value.data.run.recipeName)}(${ssrInterpolate(runDataView.value.runId)}) </h3><p class="sec-label" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1me41w8080"))}</p><table class="nodes-table" data-v-84c0b97c><thead data-v-84c0b97c><tr data-v-84c0b97c><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k40t11083"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3xuaw084"))}</th><th data-v-84c0b97c>min ~ max</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k4118o085"))}</th></tr></thead><tbody data-v-84c0b97c><!--[-->`);
639
641
  ssrRenderList(runDataView.value.data.daq, (d) => {
640
- _push(`<tr data-v-96633662><td data-v-96633662>${ssrInterpolate(d.ch)}<small class="mono dim" data-v-96633662>${ssrInterpolate(d.unit)}</small></td><td data-v-96633662>${ssrInterpolate(d.nodeName)}</td><td class="mono" data-v-96633662>${ssrInterpolate(d.latest)}</td><td class="mono" data-v-96633662>${ssrInterpolate(d.avg)}</td><td class="mono dim" data-v-96633662>${ssrInterpolate(d.min)} ~ ${ssrInterpolate(d.max)}</td><td class="mono dim" data-v-96633662>${ssrInterpolate(d.cnt)}</td></tr>`);
642
+ _push(`<tr data-v-84c0b97c><td data-v-84c0b97c>${ssrInterpolate(d.ch)}<small class="mono dim" data-v-84c0b97c>${ssrInterpolate(d.unit)}</small></td><td data-v-84c0b97c>${ssrInterpolate(d.nodeName)}</td><td class="mono" data-v-84c0b97c>${ssrInterpolate(d.latest)}</td><td class="mono" data-v-84c0b97c>${ssrInterpolate(d.avg)}</td><td class="mono dim" data-v-84c0b97c>${ssrInterpolate(d.min)} ~ ${ssrInterpolate(d.max)}</td><td class="mono dim" data-v-84c0b97c>${ssrInterpolate(d.cnt)}</td></tr>`);
641
643
  });
642
644
  _push(`<!--]-->`);
643
- if (runDataView.value.data.daq.length === 0) _push(`<tr data-v-96633662><td colspan="6" class="dim" style="${ssrRenderStyle({
645
+ if (runDataView.value.data.daq.length === 0) _push(`<tr data-v-84c0b97c><td colspan="6" class="dim" style="${ssrRenderStyle({
644
646
  "text-align": "center",
645
647
  "padding": "12px"
646
- })}" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kd457ry086"))}</td></tr>`);
648
+ })}" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.kd457ry086"))}</td></tr>`);
647
649
  else _push(`<!---->`);
648
- _push(`</tbody></table><p class="sec-label" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k12b7cxs087"))}</p><table class="nodes-table" data-v-96633662><thead data-v-96633662><tr data-v-96633662><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3xbjr088"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3ncbsh089"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3lh3mz090"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k454pg091"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k40ieu092"))}</th></tr></thead><tbody data-v-96633662><!--[-->`);
650
+ _push(`</tbody></table><p class="sec-label" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k12b7cxs087"))}</p><table class="nodes-table" data-v-84c0b97c><thead data-v-84c0b97c><tr data-v-84c0b97c><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3xbjr088"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3ncbsh089"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3lh3mz090"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k454pg091"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k40ieu092"))}</th></tr></thead><tbody data-v-84c0b97c><!--[-->`);
649
651
  ssrRenderList(runDataView.value.data.writes, (w, i) => {
650
- _push(`<tr data-v-96633662><td data-v-96633662>${ssrInterpolate(w.param)}</td><td data-v-96633662>${ssrInterpolate(w.nodeName)}</td><td class="mono" data-v-96633662>${ssrInterpolate(w.eng)}</td><td class="mono dim" data-v-96633662>${ssrInterpolate(w.raw)}</td><td data-v-96633662><span class="${ssrRenderClass([w.ok ? "ok" : "alarm", "st-pill"])}" data-v-96633662>${ssrInterpolate(w.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="mono dim" data-v-96633662>${ssrInterpolate(w.at.slice(5, 19))}</td></tr>`);
652
+ _push(`<tr data-v-84c0b97c><td data-v-84c0b97c>${ssrInterpolate(w.param)}</td><td data-v-84c0b97c>${ssrInterpolate(w.nodeName)}</td><td class="mono" data-v-84c0b97c>${ssrInterpolate(w.eng)}</td><td class="mono dim" data-v-84c0b97c>${ssrInterpolate(w.raw)}</td><td data-v-84c0b97c><span class="${ssrRenderClass([w.ok ? "ok" : "alarm", "st-pill"])}" data-v-84c0b97c>${ssrInterpolate(w.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="mono dim" data-v-84c0b97c>${ssrInterpolate(w.at.slice(5, 19))}</td></tr>`);
651
653
  });
652
654
  _push(`<!--]-->`);
653
- if (runDataView.value.data.writes.length === 0) _push(`<tr data-v-96633662><td colspan="6" class="dim" style="${ssrRenderStyle({
655
+ if (runDataView.value.data.writes.length === 0) _push(`<tr data-v-84c0b97c><td colspan="6" class="dim" style="${ssrRenderStyle({
654
656
  "text-align": "center",
655
657
  "padding": "12px"
656
- })}" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.knzcp8i093"))}</td></tr>`);
658
+ })}" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.knzcp8i093"))}</td></tr>`);
657
659
  else _push(`<!---->`);
658
- _push(`</tbody></table><div class="m-actions" data-v-96633662><button class="aw-pill outline" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3x62t043"))}</button></div></div></div>`);
660
+ _push(`</tbody></table><div class="m-actions" data-v-84c0b97c><button class="aw-pill outline" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3x62t043"))}</button></div></div></div>`);
659
661
  } else _push(`<!---->`);
660
662
  _push(`</section>`);
661
663
  if (recipeOpen.value) {
662
- _push(`<div class="modal-mask" data-v-96633662><div class="modal" data-v-96633662><h3 class="m-title" data-v-96633662>${ssrInterpolate(recipeEditing.value ? _ctx.$t("dcwDetail.k1iiwk0i163") : _ctx.$t("dcwDetail.k1efq0r9176"))}</h3><div class="f-grid" data-v-96633662><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1dw4fzf094"))}<em data-v-96633662>*</em></span><select class="inp" data-v-96633662><!--[-->`);
664
+ _push(`<div class="modal-mask" data-v-84c0b97c><div class="modal" data-v-84c0b97c><h3 class="m-title" data-v-84c0b97c>${ssrInterpolate(recipeEditing.value ? _ctx.$t("dcwDetail.k1iiwk0i163") : _ctx.$t("dcwDetail.k1efq0r9176"))}</h3><div class="f-grid" data-v-84c0b97c><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1dw4fzf094"))}<em data-v-84c0b97c>*</em></span><select class="inp" data-v-84c0b97c><!--[-->`);
663
665
  ssrRenderList(lineProducts.value, (p) => {
664
- _push(`<option${ssrRenderAttr("value", p.id)} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(recipeForm.productId) ? ssrLooseContain(recipeForm.productId, p.id) : ssrLooseEqual(recipeForm.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
666
+ _push(`<option${ssrRenderAttr("value", p.id)} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(recipeForm.productId) ? ssrLooseContain(recipeForm.productId, p.id) : ssrLooseEqual(recipeForm.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
665
667
  });
666
- _push(`<!--]--></select></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1l3f8so095"))}<em data-v-96633662>*</em></span><input${ssrRenderAttr("value", recipeForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", recipeForm.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-96633662></label></div><p class="sec-label" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.ka1kfgh097"))}</p><!--[-->`);
668
+ _push(`<!--]--></select></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1l3f8so095"))}<em data-v-84c0b97c>*</em></span><input${ssrRenderAttr("value", recipeForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", recipeForm.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-84c0b97c></label></div><p class="sec-label" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.ka1kfgh097"))}</p><!--[-->`);
667
669
  ssrRenderList(recipeForm.params, (p, i) => {
668
- _push(`<div class="param-row" data-v-96633662><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</span><select class="inp" data-v-96633662><!--[-->`);
670
+ _push(`<div class="param-row" data-v-84c0b97c><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</span><select class="inp" data-v-84c0b97c><!--[-->`);
669
671
  ssrRenderList(lineNodes.value, (n) => {
670
- _push(`<option${ssrRenderAttr("value", n.id)} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(p.nodeId) ? ssrLooseContain(p.nodeId, n.id) : ssrLooseEqual(p.nodeId, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}(${ssrInterpolate(dcwTemplateRefCh(n.templateRef))} · ${ssrInterpolate(n.min)}~${ssrInterpolate(n.max)} ${ssrInterpolate(n.unit)}) </option>`);
672
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(p.nodeId) ? ssrLooseContain(p.nodeId, n.id) : ssrLooseEqual(p.nodeId, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}(${ssrInterpolate(dcwTemplateRefCh(n.templateRef))} · ${ssrInterpolate(n.min)}~${ssrInterpolate(n.max)} ${ssrInterpolate(n.unit)}) </option>`);
671
673
  });
672
674
  _push(`<!--]--></select>`);
673
- if (paramStatus(p.nodeId, lineId.value)) _push(`<span class="row-stale" data-v-96633662>${ssrInterpolate(paramStatus(p.nodeId, lineId.value).label)}</span>`);
675
+ if (paramStatus(p.nodeId, lineId.value)) _push(`<span class="row-stale" data-v-84c0b97c>${ssrInterpolate(paramStatus(p.nodeId, lineId.value).label)}</span>`);
674
676
  else _push(`<!---->`);
675
- _push(`</label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3renp2098"))}<em data-v-96633662>*</em></span><input${ssrRenderAttr("value", p.value)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k134rw3b146"))}${ssrInterpolate(nodeMin(p.nodeId) ?? "-")})</span><input${ssrRenderAttr("value", p.min)} type="number" class="inp"${ssrRenderAttr("step", .1)}${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k5vew9z016"))} data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.khrv911147"))}${ssrInterpolate(nodeMax(p.nodeId) ?? "-")})</span><input${ssrRenderAttr("value", p.max)} type="number" class="inp"${ssrRenderAttr("step", .1)}${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kzoh5pr017"))} data-v-96633662></label><button class="mini-btn danger param-del" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
677
+ _push(`</label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3renp2098"))}<em data-v-84c0b97c>*</em></span><input${ssrRenderAttr("value", p.value)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k134rw3b146"))}${ssrInterpolate(nodeMin(p.nodeId) ?? "-")})</span><input${ssrRenderAttr("value", p.min)} type="number" class="inp"${ssrRenderAttr("step", .1)}${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k5vew9z016"))} data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.khrv911147"))}${ssrInterpolate(nodeMax(p.nodeId) ?? "-")})</span><input${ssrRenderAttr("value", p.max)} type="number" class="inp"${ssrRenderAttr("step", .1)}${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kzoh5pr017"))} data-v-84c0b97c></label><button class="mini-btn danger param-del" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
676
678
  });
677
- _push(`<!--]--><button class="mini-btn" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1broh7h100"))}</button><p class="sec-label" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1h5gues101"))}</p><!--[-->`);
679
+ _push(`<!--]--><button class="mini-btn" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1broh7h100"))}</button><p class="sec-label" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1h5gues101"))}</p><!--[-->`);
678
680
  ssrRenderList(recipeForm.daqWindows, (w, i) => {
679
- _push(`<div class="param-row" data-v-96633662><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1empnnb102"))}</span><select class="inp" data-v-96633662><!--[-->`);
681
+ _push(`<div class="param-row" data-v-84c0b97c><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1empnnb102"))}</span><select class="inp" data-v-84c0b97c><!--[-->`);
680
682
  ssrRenderList(lineDaqNodes.value, (n) => {
681
- _push(`<option${ssrRenderAttr("value", n.id)} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(w.nodeId) ? ssrLooseContain(w.nodeId, n.id) : ssrLooseEqual(w.nodeId, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}(${ssrInterpolate(n.min)}~${ssrInterpolate(n.max)} ${ssrInterpolate(n.unit)}) </option>`);
683
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(w.nodeId) ? ssrLooseContain(w.nodeId, n.id) : ssrLooseEqual(w.nodeId, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}(${ssrInterpolate(n.min)}~${ssrInterpolate(n.max)} ${ssrInterpolate(n.unit)}) </option>`);
682
684
  });
683
- _push(`<!--]--></select></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kqm08ap103"))}</span><input${ssrRenderAttr("value", w.min)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kpypf8g104"))}</span><input${ssrRenderAttr("value", w.max)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-96633662></label><button class="mini-btn danger param-del" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
685
+ _push(`<!--]--></select></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.kqm08ap103"))}</span><input${ssrRenderAttr("value", w.min)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.kpypf8g104"))}</span><input${ssrRenderAttr("value", w.max)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-84c0b97c></label><button class="mini-btn danger param-del" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
684
686
  });
685
- _push(`<!--]--><button class="mini-btn"${ssrIncludeBooleanAttr(lineDaqNodes.value.length === 0) ? " disabled" : ""}${ssrRenderAttr("title", lineDaqNodes.value.length === 0 ? "本产线暂无数采节点" : "")} data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kv1de1p105"))}</button>`);
686
- if (recipeStaleNote.value) _push(`<p class="m-note" data-v-96633662>${ssrInterpolate(recipeStaleNote.value)}</p>`);
687
+ _push(`<!--]--><button class="mini-btn"${ssrIncludeBooleanAttr(lineDaqNodes.value.length === 0) ? " disabled" : ""}${ssrRenderAttr("title", lineDaqNodes.value.length === 0 ? _ctx.$t("dcwDetail.noDaqTip") : "")} data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.kv1de1p105"))}</button>`);
688
+ if (recipeStaleNote.value) _push(`<p class="m-note" data-v-84c0b97c>${ssrInterpolate(recipeStaleNote.value)}</p>`);
687
689
  else _push(`<!---->`);
688
- if (recipeError.value) _push(`<p class="m-err" data-v-96633662>${ssrInterpolate(recipeError.value)}</p>`);
690
+ if (recipeError.value) _push(`<p class="m-err" data-v-84c0b97c>${ssrInterpolate(recipeError.value)}</p>`);
689
691
  else _push(`<!---->`);
690
- _push(`<div class="m-actions" data-v-96633662><button class="aw-pill outline" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(recipeSaving.value) ? " disabled" : ""} data-v-96633662>${ssrInterpolate(recipeSaving.value ? _ctx.$t("dcwDetail.k1b38d59164") : _ctx.$t("dcwDetail.k1b3kwg0177"))}</button></div></div></div>`);
692
+ _push(`<div class="m-actions" data-v-84c0b97c><button class="aw-pill outline" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(recipeSaving.value) ? " disabled" : ""} data-v-84c0b97c>${ssrInterpolate(recipeSaving.value ? _ctx.$t("dcwDetail.k1b38d59164") : _ctx.$t("dcwDetail.k1b3kwg0177"))}</button></div></div></div>`);
691
693
  } else _push(`<!---->`);
692
694
  if (verOpen.value) {
693
- _push(`<div class="modal-mask" data-v-96633662><div class="modal" style="${ssrRenderStyle({ "max-width": "760px" })}" data-v-96633662><div class="modal-head" data-v-96633662><h3 data-v-96633662>${ssrInterpolate(unref(t)("dcwDetail.histTitle"))}`);
695
+ _push(`<div class="modal-mask" data-v-84c0b97c><div class="modal" style="${ssrRenderStyle({ "max-width": "760px" })}" data-v-84c0b97c><div class="modal-head" data-v-84c0b97c><h3 data-v-84c0b97c>${ssrInterpolate(unref(t)("dcwDetail.histTitle"))}`);
694
696
  if (verRecipe.value) _push(`<span class="dim" style="${ssrRenderStyle({
695
697
  "margin-left": "8px",
696
698
  "font-size": "12px"
697
- })}" data-v-96633662>${ssrInterpolate(verRecipe.value.name)} · v${ssrInterpolate(verRecipe.value.version)}</span>`);
699
+ })}" data-v-84c0b97c>${ssrInterpolate(verRecipe.value.name)} · v${ssrInterpolate(verRecipe.value.version)}</span>`);
698
700
  else _push(`<!---->`);
699
- _push(`</h3><button class="mini-btn" data-v-96633662> ✕ </button></div>`);
700
- if (verMsg.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin": "6px 0" })}" data-v-96633662>${ssrInterpolate(verMsg.value)}</p>`);
701
+ _push(`</h3><button class="mini-btn" data-v-84c0b97c> ✕ </button></div>`);
702
+ if (verMsg.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin": "6px 0" })}" data-v-84c0b97c>${ssrInterpolate(verMsg.value)}</p>`);
701
703
  else _push(`<!---->`);
702
- if (verLoading.value) _push(`<p class="dim" data-v-96633662>${ssrInterpolate(unref(t)("dcwDetail.histLoading"))}</p>`);
703
- else if (verRows.value.length === 0) _push(`<div class="pane-empty" data-v-96633662>${ssrInterpolate(unref(t)("dcwDetail.histEmpty"))}</div>`);
704
+ if (verLoading.value) _push(`<p class="dim" data-v-84c0b97c>${ssrInterpolate(unref(t)("dcwDetail.histLoading"))}</p>`);
705
+ else if (verRows.value.length === 0) _push(`<div class="pane-empty" data-v-84c0b97c>${ssrInterpolate(unref(t)("dcwDetail.histEmpty"))}</div>`);
704
706
  else {
705
707
  _push(`<!--[-->`);
706
708
  ssrRenderList(verRows.value, (row, i) => {
707
- _push(`<div class="${ssrRenderClass([{ cur: row.current }, "ver-row"])}" data-v-96633662><div class="ver-head" data-v-96633662><span class="mono ver-v" data-v-96633662>v${ssrInterpolate(row.version)}</span><span class="${ssrRenderClass([row.by ?? (row.current ? "cur" : ""), "ver-src"])}" data-v-96633662>${ssrInterpolate(row.current ? unref(t)("dcwDetail.histCurrent") : verSrcLabel(row.by))}</span><span class="mono dim" data-v-96633662>${ssrInterpolate(row.at.slice(0, 19).replace("T", " "))}</span><span class="ver-actor" data-v-96633662>${ssrInterpolate(row.actorName || "—")}</span>`);
708
- if (!row.current) _push(`<button class="mini-btn" data-v-96633662>${ssrInterpolate(unref(t)("dcwDetail.revertTo"))}</button>`);
709
+ _push(`<div class="${ssrRenderClass([{ cur: row.current }, "ver-row"])}" data-v-84c0b97c><div class="ver-head" data-v-84c0b97c><span class="mono ver-v" data-v-84c0b97c>v${ssrInterpolate(row.version)}</span><span class="${ssrRenderClass([row.by ?? (row.current ? "cur" : ""), "ver-src"])}" data-v-84c0b97c>${ssrInterpolate(row.current ? unref(t)("dcwDetail.histCurrent") : verSrcLabel(row.by))}</span><span class="mono dim" data-v-84c0b97c>${ssrInterpolate(row.at.slice(0, 19).replace("T", " "))}</span><span class="ver-actor" data-v-84c0b97c>${ssrInterpolate(row.actorName || "—")}</span>`);
710
+ if (!row.current) _push(`<button class="mini-btn" data-v-84c0b97c>${ssrInterpolate(unref(t)("dcwDetail.revertTo"))}</button>`);
709
711
  else _push(`<!---->`);
710
712
  _push(`</div>`);
711
- if (row.description) _push(`<p class="ver-desc" data-v-96633662>${ssrInterpolate(row.description)}</p>`);
713
+ if (row.description) _push(`<p class="ver-desc" data-v-84c0b97c>${ssrInterpolate(row.description)}</p>`);
712
714
  else _push(`<!---->`);
713
- _push(`<p class="ver-diff mono" data-v-96633662>${ssrInterpolate(verDiff(row, i))}</p></div>`);
715
+ _push(`<p class="ver-diff mono" data-v-84c0b97c>${ssrInterpolate(verDiff(row, i))}</p></div>`);
714
716
  });
715
717
  _push(`<!--]-->`);
716
718
  }
717
719
  _push(`</div></div>`);
718
720
  } else _push(`<!---->`);
719
- _push(`<section class="aw-tile query-card" data-v-96633662><p class="sec-label" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1us3jse106"))}</p><div class="q-grid" data-v-96633662><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-96633662><option value="" data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(query.productId) ? ssrLooseContain(query.productId, "") : ssrLooseEqual(query.productId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkl1jx107"))}</option><!--[-->`);
721
+ _push(`<section class="aw-tile query-card" data-v-84c0b97c><p class="sec-label" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1us3jse106"))}</p><div class="q-grid" data-v-84c0b97c><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-84c0b97c><option value="" data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(query.productId) ? ssrLooseContain(query.productId, "") : ssrLooseEqual(query.productId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkl1jx107"))}</option><!--[-->`);
720
722
  ssrRenderList(lineProducts.value, (p) => {
721
- _push(`<option${ssrRenderAttr("value", p.id)} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(query.productId) ? ssrLooseContain(query.productId, p.id) : ssrLooseEqual(query.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
723
+ _push(`<option${ssrRenderAttr("value", p.id)} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(query.productId) ? ssrLooseContain(query.productId, p.id) : ssrLooseEqual(query.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
722
724
  });
723
- _push(`<!--]--></select></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!query.productId) ? " disabled" : ""} data-v-96633662><option value="" data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(query.recipeId) ? ssrLooseContain(query.recipeId, "") : ssrLooseEqual(query.recipeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7cr108"))}</option><!--[-->`);
725
+ _push(`<!--]--></select></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!query.productId) ? " disabled" : ""} data-v-84c0b97c><option value="" data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(query.recipeId) ? ssrLooseContain(query.recipeId, "") : ssrLooseEqual(query.recipeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7cr108"))}</option><!--[-->`);
724
726
  ssrRenderList(visibleRecipes.value, (r) => {
725
- _push(`<option${ssrRenderAttr("value", r.id)} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(query.recipeId) ? ssrLooseContain(query.recipeId, r.id) : ssrLooseEqual(query.recipeId, r.id)) ? " selected" : ""}>${ssrInterpolate(r.name)}</option>`);
727
+ _push(`<option${ssrRenderAttr("value", r.id)} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(query.recipeId) ? ssrLooseContain(query.recipeId, r.id) : ssrLooseEqual(query.recipeId, r.id)) ? " selected" : ""}>${ssrInterpolate(r.name)}</option>`);
726
728
  });
727
- _push(`<!--]--></select></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1demcae109"))}</span><select class="inp" data-v-96633662><option value="" data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(query.paramKey) ? ssrLooseContain(query.paramKey, "") : ssrLooseEqual(query.paramKey, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7ya110"))}</option><!--[-->`);
729
+ _push(`<!--]--></select></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1demcae109"))}</span><select class="inp" data-v-84c0b97c><option value="" data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(query.paramKey) ? ssrLooseContain(query.paramKey, "") : ssrLooseEqual(query.paramKey, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7ya110"))}</option><!--[-->`);
728
730
  ssrRenderList(daqParamKeys.value, (k) => {
729
- _push(`<option${ssrRenderAttr("value", k)} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(query.paramKey) ? ssrLooseContain(query.paramKey, k) : ssrLooseEqual(query.paramKey, k)) ? " selected" : ""}>${ssrInterpolate(k)}</option>`);
731
+ _push(`<option${ssrRenderAttr("value", k)} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(query.paramKey) ? ssrLooseContain(query.paramKey, k) : ssrLooseEqual(query.paramKey, k)) ? " selected" : ""}>${ssrInterpolate(k)}</option>`);
730
732
  });
731
- _push(`<!--]--></select></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</span><select class="inp" data-v-96633662><option value="" data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(query.nodeId) ? ssrLooseContain(query.nodeId, "") : ssrLooseEqual(query.nodeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkul3k111"))}</option><!--[-->`);
733
+ _push(`<!--]--></select></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</span><select class="inp" data-v-84c0b97c><option value="" data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(query.nodeId) ? ssrLooseContain(query.nodeId, "") : ssrLooseEqual(query.nodeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkul3k111"))}</option><!--[-->`);
732
734
  ssrRenderList(lineDaqNodes.value, (n) => {
733
- _push(`<option${ssrRenderAttr("value", n.id)} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(query.nodeId) ? ssrLooseContain(query.nodeId, n.id) : ssrLooseEqual(query.nodeId, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
735
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(query.nodeId) ? ssrLooseContain(query.nodeId, n.id) : ssrLooseEqual(query.nodeId, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
734
736
  });
735
- _push(`<!--]--></select></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kx2ojn0112"))}</span><input${ssrRenderAttr("value", query.lastMin)} type="number" min="1" max="10080" class="inp" data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kjvnvn4113"))}</span><input${ssrRenderAttr("value", query.bucketMs)} type="number" min="1000" step="500" class="inp" data-v-96633662></label><div class="f q-actions" data-v-96633662><button class="pill-btn"${ssrIncludeBooleanAttr(queryBusy.value) ? " disabled" : ""} data-v-96633662>${ssrInterpolate(queryBusy.value ? _ctx.$t("dcwDetail.k1eyx09r165") : _ctx.$t("dcwDetail.k416ek178"))}</button></div></div>`);
736
- if (queryError.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "8px" })}" data-v-96633662>${ssrInterpolate(queryError.value)}</p>`);
737
+ _push(`<!--]--></select></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.kx2ojn0112"))}</span><input${ssrRenderAttr("value", query.lastMin)} type="number" min="1" max="10080" class="inp" data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.kjvnvn4113"))}</span><input${ssrRenderAttr("value", query.bucketMs)} type="number" min="1000" step="500" class="inp" data-v-84c0b97c></label><div class="f q-actions" data-v-84c0b97c><button class="pill-btn"${ssrIncludeBooleanAttr(queryBusy.value) ? " disabled" : ""} data-v-84c0b97c>${ssrInterpolate(queryBusy.value ? _ctx.$t("dcwDetail.k1eyx09r165") : _ctx.$t("dcwDetail.k416ek178"))}</button></div></div>`);
738
+ if (queryError.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "8px" })}" data-v-84c0b97c>${ssrInterpolate(queryError.value)}</p>`);
737
739
  else _push(`<!---->`);
738
740
  if (queryResult.value) {
739
- _push(`<div class="q-result" data-v-96633662><table class="nodes-table" data-v-96633662><thead data-v-96633662><tr data-v-96633662><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k42kcu114"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k49ujb115"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k40pvw116"))}</th><th data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3xho3117"))}</th></tr></thead><tbody data-v-96633662><!--[-->`);
741
+ _push(`<div class="q-result" data-v-84c0b97c><table class="nodes-table" data-v-84c0b97c><thead data-v-84c0b97c><tr data-v-84c0b97c><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k42kcu114"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k49ujb115"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k40pvw116"))}</th><th data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3xho3117"))}</th></tr></thead><tbody data-v-84c0b97c><!--[-->`);
740
742
  ssrRenderList(queryResult.value.channels, (c) => {
741
- _push(`<tr data-v-96633662><td data-v-96633662>${ssrInterpolate(c.ch)}<small class="mono dim" data-v-96633662>${ssrInterpolate(c.unit)}</small></td><td data-v-96633662>${ssrInterpolate(c.nodeName)}</td><td class="mono" data-v-96633662>${ssrInterpolate(c.points.length)}</td><td class="mono" data-v-96633662>${ssrInterpolate(fmtPoint(c.points[0]))}</td><td class="mono" data-v-96633662>${ssrInterpolate(fmtPoint(c.points[c.points.length - 1]))}</td><td class="mono dim" data-v-96633662>${ssrInterpolate(new Date(c.points[0]?.at ?? 0).toLocaleTimeString())} ~ ${ssrInterpolate(new Date(c.points[c.points.length - 1]?.at ?? 0).toLocaleTimeString())}</td></tr>`);
743
+ _push(`<tr data-v-84c0b97c><td data-v-84c0b97c>${ssrInterpolate(c.ch)}<small class="mono dim" data-v-84c0b97c>${ssrInterpolate(c.unit)}</small></td><td data-v-84c0b97c>${ssrInterpolate(c.nodeName)}</td><td class="mono" data-v-84c0b97c>${ssrInterpolate(c.points.length)}</td><td class="mono" data-v-84c0b97c>${ssrInterpolate(fmtPoint(c.points[0]))}</td><td class="mono" data-v-84c0b97c>${ssrInterpolate(fmtPoint(c.points[c.points.length - 1]))}</td><td class="mono dim" data-v-84c0b97c>${ssrInterpolate(new Date(c.points[0]?.at ?? 0).toLocaleTimeString())} ~ ${ssrInterpolate(new Date(c.points[c.points.length - 1]?.at ?? 0).toLocaleTimeString())}</td></tr>`);
742
744
  });
743
745
  _push(`<!--]--></tbody></table></div>`);
744
746
  } else _push(`<!---->`);
745
747
  _push(`</section>`);
746
748
  if (lineHistory.value.length) {
747
- _push(`<section class="aw-tile table-card" data-v-96633662><p class="sec-label" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kw7ym9b148"))} ${ssrInterpolate(lineHistory.value.length)} ${ssrInterpolate(_ctx.$t("dcwDetail.k40bfz150"))}</p><table class="nodes-table" data-v-96633662><tbody data-v-96633662><!--[-->`);
749
+ _push(`<section class="aw-tile table-card" data-v-84c0b97c><p class="sec-label" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.kw7ym9b148"))} ${ssrInterpolate(lineHistory.value.length)} ${ssrInterpolate(_ctx.$t("dcwDetail.k40bfz150"))}</p><table class="nodes-table" data-v-84c0b97c><tbody data-v-84c0b97c><!--[-->`);
748
750
  ssrRenderList(lineHistory.value.slice(0, 12), (h) => {
749
- _push(`<tr data-v-96633662><td class="mono dim" data-v-96633662>${ssrInterpolate(h.at.slice(5, 19))}</td><td data-v-96633662>${ssrInterpolate(h.param)}</td><td data-v-96633662>${ssrInterpolate(h.nodeName)}</td><td class="mono" data-v-96633662>${ssrInterpolate(h.eng)}</td><td class="mono dim" data-v-96633662> raw ${ssrInterpolate(h.raw ?? "-")}</td><td data-v-96633662><span class="${ssrRenderClass([h.ok ? "ok" : "alarm", "st-pill"])}" data-v-96633662>${ssrInterpolate(h.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="dim" data-v-96633662>${ssrInterpolate(h.recipeRunId ? _ctx.$t("dcwDetail.k6vgks7181", { p0: h.recipeRunId }) : "手动")}</td></tr>`);
751
+ _push(`<tr data-v-84c0b97c><td class="mono dim" data-v-84c0b97c>${ssrInterpolate(h.at.slice(5, 19))}</td><td data-v-84c0b97c>${ssrInterpolate(h.param)}</td><td data-v-84c0b97c>${ssrInterpolate(h.nodeName)}</td><td class="mono" data-v-84c0b97c>${ssrInterpolate(h.eng)}</td><td class="mono dim" data-v-84c0b97c> raw ${ssrInterpolate(h.raw ?? "-")}</td><td data-v-84c0b97c><span class="${ssrRenderClass([h.ok ? "ok" : "alarm", "st-pill"])}" data-v-84c0b97c>${ssrInterpolate(h.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="dim" data-v-84c0b97c>${ssrInterpolate(h.recipeRunId ? _ctx.$t("dcwDetail.k6vgks7181", { p0: h.recipeRunId }) : _ctx.$t("dcwDetail.manualTag"))}</td></tr>`);
750
752
  });
751
753
  _push(`<!--]--></tbody></table></section>`);
752
754
  } else _push(`<!---->`);
753
755
  if (productOpen.value) {
754
- _push(`<div class="modal-mask" data-v-96633662><div class="modal" data-v-96633662><h3 class="m-title" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1efduyf118"))}</h3><div class="f-grid" data-v-96633662><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1avjrl6119"))}<em data-v-96633662>*</em></span><input${ssrRenderAttr("value", productForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-96633662></label><label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", productForm.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-96633662></label></div>`);
755
- if (productError.value) _push(`<p class="m-err" data-v-96633662>${ssrInterpolate(productError.value)}</p>`);
756
+ _push(`<div class="modal-mask" data-v-84c0b97c><div class="modal" data-v-84c0b97c><h3 class="m-title" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1efduyf118"))}</h3><div class="f-grid" data-v-84c0b97c><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1avjrl6119"))}<em data-v-84c0b97c>*</em></span><input${ssrRenderAttr("value", productForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-84c0b97c></label><label class="f" data-v-84c0b97c><span data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", productForm.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-84c0b97c></label></div>`);
757
+ if (productError.value) _push(`<p class="m-err" data-v-84c0b97c>${ssrInterpolate(productError.value)}</p>`);
756
758
  else _push(`<!---->`);
757
- _push(`<div class="m-actions" data-v-96633662><button class="aw-pill outline" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(productSaving.value) ? " disabled" : ""} data-v-96633662>${ssrInterpolate(productSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg4kn6179"))}</button></div></div></div>`);
759
+ _push(`<div class="m-actions" data-v-84c0b97c><button class="aw-pill outline" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(productSaving.value) ? " disabled" : ""} data-v-84c0b97c>${ssrInterpolate(productSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg4kn6179"))}</button></div></div></div>`);
758
760
  } else _push(`<!---->`);
759
761
  if (unref(dcw).error) {
760
- _push(`<p class="err" data-v-96633662>${ssrInterpolate(unref(dcw).error)}(`);
762
+ _push(`<p class="err" data-v-84c0b97c>${ssrInterpolate(unref(dcw).error)}(`);
761
763
  _push(ssrRenderComponent(_component_NuxtLink, { to: "/workshop" }, {
762
764
  default: withCtx((_, _push, _parent, _scopeId) => {
763
765
  if (_push) _push(`${ssrInterpolate(_ctx.$t("dcwDetail.k1bhhheq120"))}`);
@@ -767,19 +769,19 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
767
769
  }, _parent));
768
770
  _push(`) </p>`);
769
771
  } else _push(`<!---->`);
770
- _push(`<section class="aw-tile ledger-card" data-v-96633662><div class="ledger-head" data-v-96633662><b data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgt001"))}</b><select class="inp" data-v-96633662><option value="" data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, "") : ssrLooseEqual(ledgerNodeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgs001"))}</option><!--[-->`);
772
+ _push(`<section class="aw-tile ledger-card" data-v-84c0b97c><div class="ledger-head" data-v-84c0b97c><b data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgt001"))}</b><select class="inp" data-v-84c0b97c><option value="" data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, "") : ssrLooseEqual(ledgerNodeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgs001"))}</option><!--[-->`);
771
773
  ssrRenderList(lineNodes.value, (n) => {
772
- _push(`<option${ssrRenderAttr("value", n.id)} data-v-96633662${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, n.id) : ssrLooseEqual(ledgerNodeId.value, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
774
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-84c0b97c${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, n.id) : ssrLooseEqual(ledgerNodeId.value, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
773
775
  });
774
776
  _push(`<!--]--></select></div>`);
775
777
  if (ledger.value) {
776
- _push(`<!--[--><div class="ledger-tri" data-v-96633662><div class="tri-cell" data-v-96633662><small data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv001"))}</small><b class="mono" data-v-96633662>${ssrInterpolate(ledger.value.current ?? "--")}</b></div><div class="tri-cell" data-v-96633662><small data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv002"))}</small><b class="mono" data-v-96633662>${ssrInterpolate(ledger.value.recipeTarget ?? "--")}</b></div><div class="tri-cell" data-v-96633662><small data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv003"))}</small><b class="mono" data-v-96633662>${ssrInterpolate(ledger.value.lastGood ?? "--")}</b></div><button class="mini-btn" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga001"))}</button><button class="mini-btn danger" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga002"))}</button></div><div class="ledger-cols" data-v-96633662><div class="ledger-col" data-v-96633662><small class="sec-t" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgh001"))}</small><ul class="ledger-list mono" data-v-96633662><!--[-->`);
778
+ _push(`<!--[--><div class="ledger-tri" data-v-84c0b97c><div class="tri-cell" data-v-84c0b97c><small data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv001"))}</small><b class="mono" data-v-84c0b97c>${ssrInterpolate(ledger.value.current ?? "--")}</b></div><div class="tri-cell" data-v-84c0b97c><small data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv002"))}</small><b class="mono" data-v-84c0b97c>${ssrInterpolate(ledger.value.recipeTarget ?? "--")}</b></div><div class="tri-cell" data-v-84c0b97c><small data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv003"))}</small><b class="mono" data-v-84c0b97c>${ssrInterpolate(ledger.value.lastGood ?? "--")}</b></div><button class="mini-btn" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga001"))}</button><button class="mini-btn danger" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga002"))}</button></div><div class="ledger-cols" data-v-84c0b97c><div class="ledger-col" data-v-84c0b97c><small class="sec-t" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgh001"))}</small><ul class="ledger-list mono" data-v-84c0b97c><!--[-->`);
777
779
  ssrRenderList(ledger.value.journal, (a) => {
778
- _push(`<li data-v-96633662>${ssrInterpolate(a.at.slice(5, 16).replace("T", " "))} [${ssrInterpolate(a.source)}] ${ssrInterpolate(a.prevValue ?? "?")} → ${ssrInterpolate(a.newValue)}</li>`);
780
+ _push(`<li data-v-84c0b97c>${ssrInterpolate(a.at.slice(5, 16).replace("T", " "))} [${ssrInterpolate(a.source)}] ${ssrInterpolate(a.prevValue ?? "?")} → ${ssrInterpolate(a.newValue)}</li>`);
779
781
  });
780
- _push(`<!--]--></ul></div><div class="ledger-col" data-v-96633662><small class="sec-t" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgr001"))}</small><ul class="ledger-list" data-v-96633662><!--[-->`);
782
+ _push(`<!--]--></ul></div><div class="ledger-col" data-v-84c0b97c><small class="sec-t" data-v-84c0b97c>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgr001"))}</small><ul class="ledger-list" data-v-84c0b97c><!--[-->`);
781
783
  ssrRenderList(ledger.value.records, (r) => {
782
- _push(`<li class="ledger-rec" data-v-96633662><span class="${ssrRenderClass([r.status, "rec-st"])}" data-v-96633662>${ssrInterpolate(r.status)}</span><span class="mono" data-v-96633662>${ssrInterpolate(r.params[0]?.from ?? "?")} → ${ssrInterpolate(r.params[0]?.to)}</span><small data-v-96633662>${ssrInterpolate(r.judge ? `${r.judge.verdict}(${r.judge.by})` : r.status === "open" ? "open" : r.closedBy ?? "")}</small></li>`);
784
+ _push(`<li class="ledger-rec" data-v-84c0b97c><span class="${ssrRenderClass([r.status, "rec-st"])}" data-v-84c0b97c>${ssrInterpolate(r.status)}</span><span class="mono" data-v-84c0b97c>${ssrInterpolate(r.params[0]?.from ?? "?")} → ${ssrInterpolate(r.params[0]?.to)}</span><small data-v-84c0b97c>${ssrInterpolate(r.judge ? `${r.judge.verdict}(${r.judge.by})` : r.status === "open" ? "open" : r.closedBy ?? "")}</small></li>`);
783
785
  });
784
786
  _push(`<!--]--></ul></div></div><!--]-->`);
785
787
  } else _push(`<!---->`);
@@ -796,7 +798,7 @@ _id__vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
796
798
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/dcw/[id].vue");
797
799
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
798
800
  };
799
- var _id__default = /*#__PURE__*/ _plugin_vue_export_helper_default(_id__vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-96633662"]]);
801
+ var _id__default = /*#__PURE__*/ _plugin_vue_export_helper_default(_id__vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-84c0b97c"]]);
800
802
 
801
803
  export { _id__default as default };
802
- //# sourceMappingURL=_id_-BU1wfOID.mjs.map
804
+ //# sourceMappingURL=_id_-CVD_H0ir.mjs.map