agentworkshop 0.7.40 → 0.7.41

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 (116) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{CzOCSGLe.js → BN16aRdQ.js} +1 -1
  3. package/.output/public/_nuxt/BWVhZntO.js +1 -0
  4. package/.output/public/_nuxt/{Dihnimlk.js → C0ZrS1KL.js} +1 -1
  5. package/.output/public/_nuxt/{Dr9v6C0f.js → C4s_niy-.js} +2 -2
  6. package/.output/public/_nuxt/D6mbFA-a.js +1 -0
  7. package/.output/public/_nuxt/{DcsCcxp4.js → D98NH8kG.js} +1 -1
  8. package/.output/public/_nuxt/{C_iYD-EB.js → DGbd-UiG.js} +1 -1
  9. package/.output/public/_nuxt/{DCn7QZ5N.js → Dap5PmTL.js} +1 -1
  10. package/.output/public/_nuxt/DvLxILQP.js +1 -0
  11. package/.output/public/_nuxt/{DZshyNLa.js → IREZ1eC2.js} +1 -1
  12. package/.output/public/_nuxt/_id_.D9ymtHB5.css +1 -0
  13. package/.output/public/_nuxt/_id_.jf-_8E_c.css +1 -0
  14. package/.output/public/_nuxt/builds/latest.json +1 -1
  15. package/.output/public/_nuxt/builds/meta/78a295bb-2072-48a4-8b46-6d545fdae743.json +1 -0
  16. package/.output/public/_nuxt/ca4TJ3Op.js +1 -0
  17. package/.output/public/_nuxt/daq.DjSgY94l.css +1 -0
  18. package/.output/public/_nuxt/{BP-NyKVG.js → eqq3wWQF.js} +1 -1
  19. package/.output/server/chunks/_/nitro.mjs +886 -673
  20. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  21. package/.output/server/chunks/build/{TownView-BuLAsmpR.mjs → TownView--otsnr_7.mjs} +4 -4
  22. package/.output/server/chunks/build/{TownView-BuLAsmpR.mjs.map → TownView--otsnr_7.mjs.map} +1 -1
  23. package/.output/server/chunks/build/{_id_-BU1wfOID.mjs → _id_-Brv-JSvr.mjs} +141 -140
  24. package/.output/server/chunks/build/_id_-Brv-JSvr.mjs.map +1 -0
  25. package/.output/server/chunks/build/{_id_-BYsEua57.mjs → _id_-D9pl1OZy.mjs} +37 -36
  26. package/.output/server/chunks/build/_id_-D9pl1OZy.mjs.map +1 -0
  27. package/.output/server/chunks/build/{_wsId_-BxlDcJHg.mjs → _wsId_-BASfDf0s.mjs} +4 -4
  28. package/.output/server/chunks/build/{_wsId_-BxlDcJHg.mjs.map → _wsId_-BASfDf0s.mjs.map} +1 -1
  29. package/.output/server/chunks/build/{daq-cgyjKmJu.mjs → daq-DkMvD8sg.mjs} +93 -92
  30. package/.output/server/chunks/build/daq-DkMvD8sg.mjs.map +1 -0
  31. package/.output/server/chunks/build/{dcw-CoTxBlAZ.mjs → dcw-C1jgVJkO.mjs} +3 -3
  32. package/.output/server/chunks/build/{dcw-CoTxBlAZ.mjs.map → dcw-C1jgVJkO.mjs.map} +1 -1
  33. package/.output/server/chunks/build/{logs-BSOeZwwI.mjs → logs--dByNyhw.mjs} +2 -2
  34. package/.output/server/chunks/build/{logs-BSOeZwwI.mjs.map → logs--dByNyhw.mjs.map} +1 -1
  35. package/.output/server/chunks/build/{pages-DFxjn9Xa.mjs → pages-B0bUWnC6.mjs} +3 -3
  36. package/.output/server/chunks/build/{pages-DFxjn9Xa.mjs.map → pages-B0bUWnC6.mjs.map} +1 -1
  37. package/.output/server/chunks/build/{town-qMPql9Se.mjs → town-CoQdblbZ.mjs} +4 -4
  38. package/.output/server/chunks/build/{town-qMPql9Se.mjs.map → town-CoQdblbZ.mjs.map} +1 -1
  39. package/.output/server/chunks/build/{useDaqStream-CIBaiGAl.mjs → useDaqStream-DfCFpb3p.mjs} +9 -3
  40. package/.output/server/chunks/build/useDaqStream-DfCFpb3p.mjs.map +1 -0
  41. package/.output/server/chunks/build/{useDcwStream-CBbiYnWe.mjs → useDcwStream-UPiX-3iO.mjs} +11 -2
  42. package/.output/server/chunks/build/useDcwStream-UPiX-3iO.mjs.map +1 -0
  43. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
  44. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +3 -3
  45. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +1 -1
  46. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  47. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  48. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +1 -1
  49. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +1 -1
  50. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  51. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  52. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  53. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  54. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  55. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  56. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  57. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +3 -1
  58. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
  59. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +3 -1
  60. package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
  61. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  62. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  63. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  64. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  65. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
  66. package/.output/server/chunks/routes/renderer.mjs +2 -2
  67. package/.output/server/chunks/virtual/entry.mjs +9 -9
  68. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  69. package/.output/server/package.json +1 -1
  70. package/README-zh.md +5 -5
  71. package/README.md +6 -6
  72. package/app/composables/workshop/useDaqStream.ts +7 -4
  73. package/app/composables/workshop/useDcwStream.ts +8 -2
  74. package/app/pages/daq/[id].vue +9 -5
  75. package/app/pages/daq/index.vue +13 -10
  76. package/app/pages/dcw/[id].vue +8 -4
  77. package/docs/cli.en.md +2 -2
  78. package/docs/cli.md +2 -2
  79. package/docs/plugins.en.md +33 -1
  80. package/docs/plugins.md +29 -1
  81. package/docs/sdk.en.md +1 -1
  82. package/docs/sdk.md +1 -1
  83. package/package.json +3 -2
  84. package/scripts/_loop-biax-campaign.mjs +124 -0
  85. package/scripts/test-serial-bridge.mjs +418 -0
  86. package/scripts/ui/e2e-interactive.mjs +328 -0
  87. package/scripts/ui/seed-industrial-demo.mjs +171 -0
  88. package/server/api/workshop/daq/index.get.ts +3 -1
  89. package/server/api/workshop/dcw/index.get.ts +3 -0
  90. package/server/plugins/aw-plugins.ts +9 -7
  91. package/server/plugins-builtin/serial-bridge/client.mjs +210 -0
  92. package/server/plugins-builtin/serial-bridge/drivers.mjs +409 -0
  93. package/server/plugins-builtin/serial-bridge/i18n.json +62 -0
  94. package/server/plugins-builtin/serial-bridge/index.mjs +247 -0
  95. package/server/plugins-builtin/serial-bridge/lib.mjs +208 -0
  96. package/server/plugins-builtin/serial-bridge/rtu.mjs +168 -0
  97. package/server/services/workshop/daq/daq-controller.ts +7 -2
  98. package/server/services/workshop/daq/drivers.ts +78 -3
  99. package/server/services/workshop/dcw/dcw-controller.ts +5 -1
  100. package/server/services/workshop/dcw/drivers.ts +85 -2
  101. package/server/services/workshop/dcw/plugin-bridge.ts +45 -0
  102. package/server/services/workshop/plugins/host.mjs +30 -0
  103. package/shared/daq-protocol.ts +15 -0
  104. package/.output/public/_nuxt/BOt2SP4z.js +0 -1
  105. package/.output/public/_nuxt/ClILjvWH.js +0 -1
  106. package/.output/public/_nuxt/D8qvkfyY.js +0 -1
  107. package/.output/public/_nuxt/Du9ZJtnj.js +0 -1
  108. package/.output/public/_nuxt/_id_.CM4bIgKY.css +0 -1
  109. package/.output/public/_nuxt/_id_.bNV69Dtf.css +0 -1
  110. package/.output/public/_nuxt/builds/meta/f4707884-7cf4-4a31-80d2-e3d72b73745f.json +0 -1
  111. package/.output/public/_nuxt/daq.B0D3dPAc.css +0 -1
  112. package/.output/server/chunks/build/_id_-BU1wfOID.mjs.map +0 -1
  113. package/.output/server/chunks/build/_id_-BYsEua57.mjs.map +0 -1
  114. package/.output/server/chunks/build/daq-cgyjKmJu.mjs.map +0 -1
  115. package/.output/server/chunks/build/useDaqStream-CIBaiGAl.mjs.map +0 -1
  116. package/.output/server/chunks/build/useDcwStream-CBbiYnWe.mjs.map +0 -1
@@ -1,13 +1,13 @@
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
7
  import { defineComponent, computed, ref, reactive, unref, mergeProps, withCtx, createTextVNode, toDisplayString, createVNode, openBlock, createBlock, Fragment, renderList, createCommentVNode, withDirectives, vModelText, useSSRContext } from 'vue';
8
8
  import { useRoute } from 'vue-router';
9
9
  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';
10
+ import { bw as DCW_DRIVERS } from '../_/nitro.mjs';
11
11
  import 'unhead/utils';
12
12
  import '../routes/renderer.mjs';
13
13
  import 'unhead/server';
@@ -178,7 +178,8 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
178
178
  const addTest = ref(null);
179
179
  const addSaving = ref(false);
180
180
  const addError = ref("");
181
- const addDriverMeta = computed(() => DCW_DRIVERS.find((d) => d.kind === addDriver.value));
181
+ const driverCatalog = computed(() => dcw.driverCatalog.length ? dcw.driverCatalog : DCW_DRIVERS.map((d) => ({ ...d })));
182
+ const addDriverMeta = computed(() => driverCatalog.value.find((d) => d.kind === addDriver.value));
182
183
  const addFields = computed(() => addDriverMeta.value?.configFields ?? []);
183
184
  function resetAddCfg() {
184
185
  const cfg = {};
@@ -331,7 +332,7 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
331
332
  const _component_NuxtLink = NuxtLink;
332
333
  const _component_a_spin = spin_default;
333
334
  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>`);
335
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-ff580c34><p class="banner bad" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k19337yp018"))}</p>`);
335
336
  _push(ssrRenderComponent(_component_NuxtLink, {
336
337
  class: "pill-btn",
337
338
  to: "/dcw"
@@ -344,122 +345,122 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
344
345
  }, _parent));
345
346
  _push(`</div>`);
346
347
  } 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>`);
348
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-ff580c34><div class="aw-page-head" data-v-ff580c34><div data-v-ff580c34><p class="aw-kicker" data-v-ff580c34><span class="line-chip" style="${ssrRenderStyle({ background: line.value?.color ?? "#3aa0ff" })}" data-v-ff580c34></span>AGENTWORKSHOP / LINE / ${ssrInterpolate(line.value?.name ?? lineId.value)}</p><h1 data-v-ff580c34>${ssrInterpolate(line.value?.name ?? _ctx.$t("dcwDetail.k1b2snna151"))} · ${ssrInterpolate(_ctx.$t("dcwDetail.k1l0iow1137"))}</h1><p class="sub" data-v-ff580c34>${ssrInterpolate(line.value?.description || _ctx.$t("dcwDetail.kzcbfki152"))}</p></div><div class="badges mono" data-v-ff580c34><span class="badge" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(lineNodes.value.length)}</span><span class="badge" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))} ${ssrInterpolate(lineProducts.value.length)}</span><span class="badge" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))} ${ssrInterpolate(lineRecipesAll.value.length)}</span></div></div><section class="aw-tile ctrl-card" data-v-ff580c34><div class="ctrl-left" data-v-ff580c34><button class="${ssrRenderClass([{ running: unref(dcw).controller.running }, "aw-pill"])}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1snap154"))} data-v-ff580c34><span class="${ssrRenderClass(unref(dcw).controller.running ? "i-tabler-player-pause" : "i-tabler-player-play")}" data-v-ff580c34></span> ${ssrInterpolate(unref(dcw).controller.running ? _ctx.$t("dcwDetail.kplrsg153") : _ctx.$t("dcwDetail.knxgni9169"))}</button></div><div class="ctrl-right" data-v-ff580c34><span class="ctrl-metrics mono" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(unref(dcw).controller.nodesOnline)}/${ssrInterpolate(unref(dcw).controller.nodesTotal)}</span><span class="sep" data-v-ff580c34>·</span><span${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3ygmn001"))} data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3wtib138"))} ${ssrInterpolate(unref(dcw).controller.writesTotal)}</span><span class="sep" data-v-ff580c34>·</span><span class="${ssrRenderClass({ warn: unref(dcw).controller.writesFailed > 0 })}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3znl0002"))} data-v-ff580c34>${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-ff580c34><span class="i-tabler-template" data-v-ff580c34></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1972dx9020"))}</button><button class="aw-pill add-btn" data-v-ff580c34><span class="i-tabler-plus" data-v-ff580c34></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</button></div></section>`);
349
+ if (writeError.value || writeOk.value) _push(`<p class="${ssrRenderClass([writeError.value ? "bad" : "good", "banner"])}" data-v-ff580c34>${ssrInterpolate(writeError.value || writeOk.value)}</p>`);
349
350
  else _push(`<!---->`);
350
351
  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><!--[-->`);
352
+ _push(`<section class="aw-tile adopt-card" data-v-ff580c34><b class="adopt-title" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.kaebkky022"))}</b><div class="adopt-list" data-v-ff580c34><!--[-->`);
352
353
  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>`);
354
+ _push(`<span class="adopt-chip" data-v-ff580c34>${ssrInterpolate(n.name)} <button class="mini-btn" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
354
355
  });
355
356
  _push(`<!--]--><!--[-->`);
356
357
  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>`);
358
+ _push(`<span class="adopt-chip" data-v-ff580c34>${ssrInterpolate(p.name)}(${ssrInterpolate(_ctx.$t("dcwDetail.k3km252140"))}<button class="mini-btn" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
358
359
  });
359
360
  _push(`<!--]--></div></section>`);
360
361
  } 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><!--[-->`);
362
+ _push(`<section class="aw-tile line-card" data-v-ff580c34><div class="line-status" data-v-ff580c34><span class="${ssrRenderClass([{ on: ls.value.active }, "line-dot"])}" data-v-ff580c34></span><div class="line-info" data-v-ff580c34><b data-v-ff580c34>${ssrInterpolate(ls.value.active ? _ctx.$t("dcwDetail.k1pxrhx0154") : _ctx.$t("dcwDetail.k1b2hxmx170"))}</b>`);
363
+ if (ls.value.active) _push(`<small class="mono dim" data-v-ff580c34>${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>`);
364
+ else _push(`<small class="dim" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k19pof14024"))}</small>`);
365
+ _push(`</div></div><div class="line-ctl" data-v-ff580c34><label class="ctl-sel" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-ff580c34><option value="" data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, "") : ssrLooseEqual(lineProductId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kuisodh026"))}</option><!--[-->`);
365
366
  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>`);
367
+ _push(`<option${ssrRenderAttr("value", p.id)} data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, p.id) : ssrLooseEqual(lineProductId.value, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
367
368
  });
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><!--[-->`);
369
+ _push(`<!--]--></select></label><label class="ctl-sel" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!lineProductId.value) ? " disabled" : ""} data-v-ff580c34><option value="" data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(lineRecipeId.value) ? ssrLooseContain(lineRecipeId.value, "") : ssrLooseEqual(lineRecipeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kutxzsz028"))}</option><!--[-->`);
369
370
  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>`);
371
+ _push(`<option${ssrRenderAttr("value", r.id)}${ssrIncludeBooleanAttr(r.params.length === 0) ? " disabled" : ""} data-v-ff580c34${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
372
  });
372
373
  _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>`);
374
+ if (!ls.value.active) _push(`<button class="pill-btn"${ssrIncludeBooleanAttr(lineBusy.value || !lineRecipeId.value) ? " disabled" : ""}${ssrRenderAttr("title", !lineRecipeId.value ? "开跑前必须先设定配方" : "下发配方参数并开始打标数据采集")} data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.kfb8vml029"))}</button>`);
375
+ else _push(`<button class="pill-btn stop"${ssrIncludeBooleanAttr(lineBusy.value) ? " disabled" : ""} data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1xyhd2y030"))}</button>`);
375
376
  _push(`</div>`);
376
- if (lineErr.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-96633662>${ssrInterpolate(lineErr.value)}</p>`);
377
+ if (lineErr.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-ff580c34>${ssrInterpolate(lineErr.value)}</p>`);
377
378
  else _push(`<!---->`);
378
- if (lineMsg.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-96633662>${ssrInterpolate(lineMsg.value)}</p>`);
379
+ if (lineMsg.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-ff580c34>${ssrInterpolate(lineMsg.value)}</p>`);
379
380
  else _push(`<!---->`);
380
381
  _push(`</section>`);
381
382
  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><!--[-->`);
383
+ _push(`<div class="modal-mask" data-v-ff580c34><div class="modal" data-v-ff580c34><h3 class="m-title" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1x4vam0031"))} <small class="dim mono" data-v-ff580c34>${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-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.ke1iyud032"))}</p><div class="tpl-chips" data-v-ff580c34><!--[-->`);
383
384
  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>`);
385
+ _push(`<span class="tpl-chip"${ssrRenderAttr("title", `${tpl.code} · ${tpl.min}~${tpl.max} ${tpl.unit}${tpl.semantics ? ` · ${tpl.semantics}` : ""}`)} data-v-ff580c34>${ssrInterpolate(tpl.name)} <small class="mono" data-v-ff580c34>${ssrInterpolate(tpl.min)}~${ssrInterpolate(tpl.max)}${ssrInterpolate(tpl.unit)}</small><em class="${ssrRenderClass([{ builtin: tpl.builtin }, "tpl-tag"])}" data-v-ff580c34>${ssrInterpolate(tpl.builtin ? _ctx.$t("dcwDetail.k3x23c141") : _ctx.$t("dcwDetail.k3t616a142"))}</em></span>`);
385
386
  });
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><!--[-->`);
387
+ _push(`<!--]--></div><p class="sec-label" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k169eb4s033"))}</p><div class="f-grid tpl-form" data-v-ff580c34><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1f55q76034"))}<em data-v-ff580c34>*</em></span><input${ssrRenderAttr("value", tplForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1tooi3o004"))} data-v-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqk219035"))}</span><input${ssrRenderAttr("value", tplForm.ch)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k698qz0005"))} data-v-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1ayxrqb036"))}</span><input${ssrRenderAttr("value", tplForm.code)} class="inp" placeholder="如 MOTOR · I" data-v-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4ef037"))}<em data-v-ff580c34>*</em></span><input${ssrRenderAttr("value", tplForm.unit)} class="inp" placeholder="如 A" data-v-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv5m038"))}<em data-v-ff580c34>*</em></span><input${ssrRenderAttr("value", tplForm.min)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9174006"))} data-v-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv4p039"))}<em data-v-ff580c34>*</em></span><input${ssrRenderAttr("value", tplForm.max)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9167007"))} data-v-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3mxmcx040"))}</span><input${ssrRenderAttr("value", tplForm.decimals)} type="number" min="0" max="4" class="inp" data-v-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3xx56041"))}</span><select class="inp" data-v-ff580c34><!--[-->`);
387
388
  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>`);
389
+ _push(`<option${ssrRenderAttr("value", ic.key)} data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(tplForm.icon) ? ssrLooseContain(tplForm.icon, ic.key) : ssrLooseEqual(tplForm.icon, ic.key)) ? " selected" : ""}>${ssrInterpolate(ic.label)}</option>`);
389
390
  });
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>`);
391
+ _push(`<!--]--></select></label></div><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.knjmyfr042"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1qdnfzc008"))} data-v-ff580c34>${ssrInterpolate(tplForm.semantics)}</textarea></label>`);
392
+ if (tplOk.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-ff580c34>${ssrInterpolate(tplOk.value)}</p>`);
392
393
  else _push(`<!---->`);
393
- if (tplError.value) _push(`<p class="m-err" data-v-96633662>${ssrInterpolate(tplError.value)}</p>`);
394
+ if (tplError.value) _push(`<p class="m-err" data-v-ff580c34>${ssrInterpolate(tplError.value)}</p>`);
394
395
  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>`);
396
+ _push(`<div class="m-actions" data-v-ff580c34><button class="aw-pill outline" data-v-ff580c34>${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-ff580c34>${ssrInterpolate(tplSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg9nga171"))}</button></div></div></div>`);
396
397
  } else _push(`<!---->`);
397
398
  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><!--[-->`);
399
+ _push(`<div class="modal-mask" data-v-ff580c34><div class="modal" data-v-ff580c34><h3 class="m-title" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</h3><div class="seg-row" data-v-ff580c34><button class="${ssrRenderClass([{ on: addScenario.value === "mock" }, "seg"])}" data-v-ff580c34> Mock 模拟 PLC </button><button class="${ssrRenderClass([{ on: addScenario.value === "real" }, "seg"])}" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.kyj8fen044"))}</button></div><div class="f-grid" data-v-ff580c34><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1ejzwqp045"))}</span><select class="inp" data-v-ff580c34><!--[-->`);
399
400
  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>`);
401
+ _push(`<option${ssrRenderAttr("value", tpl.key)} data-v-ff580c34${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>`);
401
402
  });
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({
403
+ _push(`<!--]--></select></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1ce2k1y046"))}</span><input${ssrRenderAttr("value", addName.value)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kgpxzy3009"))} data-v-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${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-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${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-ff580c34></label></div><div class="f-grid cal-form" data-v-ff580c34><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.kiune1f048"))}</span><select class="inp" data-v-ff580c34><option value="none" data-v-ff580c34${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-ff580c34${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-ff580c34><span data-v-ff580c34>scale / offset</span><div style="${ssrRenderStyle({
403
404
  "display": "flex",
404
405
  "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>`);
406
+ })}" data-v-ff580c34><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-ff580c34><input${ssrRenderAttr("value", addTransform.offset)} type="number" step="0.1" class="inp"${ssrIncludeBooleanAttr(addTransform.kind !== "linear") ? " disabled" : ""} title="decoder 截距" data-v-ff580c34></div></label></div>`);
406
407
  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>`);
408
+ _push(`<!--[--><div class="f-grid" data-v-ff580c34><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1kt87rx050"))}</span><select class="inp" data-v-ff580c34><!--[-->`);
409
+ ssrRenderList(driverCatalog.value.filter((x) => x.status !== "builtin"), (d) => {
410
+ _push(`<option${ssrRenderAttr("value", d.kind)} data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(addDriver.value) ? ssrLooseContain(addDriver.value, d.kind) : ssrLooseEqual(addDriver.value, d.kind)) ? " selected" : ""}>${ssrInterpolate(d.label)}${ssrInterpolate(d.plugin ? " ⌁" : "")}</option>`);
410
411
  });
411
412
  _push(`<!--]--></select></label></div>`);
412
413
  if (addFields.value.length) {
413
- _push(`<div class="f-grid driver-form" data-v-96633662><!--[-->`);
414
+ _push(`<div class="f-grid driver-form" data-v-ff580c34><!--[-->`);
414
415
  ssrRenderList(addFields.value, (f) => {
415
- _push(`<label class="f" data-v-96633662><span data-v-96633662>${ssrInterpolate(f.label)}`);
416
+ _push(`<label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(f.label)}`);
416
417
  if (f.required) _push(`<em style="${ssrRenderStyle({
417
418
  "color": "var(--tone-danger-dot)",
418
419
  "font-style": "normal"
419
- })}" data-v-96633662>*</em>`);
420
+ })}" data-v-ff580c34>*</em>`);
420
421
  else _push(`<!---->`);
421
422
  _push(`</span>`);
422
423
  if (f.type === "select") {
423
- _push(`<select class="inp" data-v-96633662><!--[-->`);
424
+ _push(`<select class="inp" data-v-ff580c34><!--[-->`);
424
425
  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>`);
426
+ _push(`<option${ssrRenderAttr("value", o.value)} data-v-ff580c34${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
427
  });
427
428
  _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>`);
429
+ } 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-ff580c34>`);
430
+ if (f.hint) _push(`<small class="hint" data-v-ff580c34>${ssrInterpolate(f.hint)}</small>`);
430
431
  else _push(`<!---->`);
431
432
  _push(`</label>`);
432
433
  });
433
434
  _push(`<!--]--></div>`);
434
435
  } 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>`);
436
+ _push(`<div class="test-row" data-v-ff580c34><button class="pill-btn outline"${ssrIncludeBooleanAttr(addTesting.value) ? " disabled" : ""} data-v-ff580c34>${ssrInterpolate(addTesting.value ? _ctx.$t("dcwDetail.k1fsh720158") : _ctx.$t("dcwDetail.k1fstglk172"))}</button>`);
437
+ if (addTest.value) _push(`<span class="${ssrRenderClass([addTest.value.ok ? "good" : "bad", "test-result"])}" data-v-ff580c34>${ssrInterpolate(addTest.value.ok ? "✓" : "✗")} ${ssrInterpolate(addTest.value.message)}</span>`);
437
438
  else _push(`<!---->`);
438
439
  _push(`</div><!--]-->`);
439
440
  } 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>`);
441
+ _push(`<label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1hgizn7051"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12bnyt9011"))} data-v-ff580c34>${ssrInterpolate(addSemantics.value)}</textarea></label>`);
442
+ if (addError.value) _push(`<p class="m-err" data-v-ff580c34>${ssrInterpolate(addError.value)}</p>`);
442
443
  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>`);
444
+ _push(`<div class="m-actions" data-v-ff580c34><button class="aw-pill outline" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="aw-pill"${ssrIncludeBooleanAttr(addSaving.value) ? " disabled" : ""} data-v-ff580c34>${ssrInterpolate(addSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bge46t173"))}</button></div></div></div>`);
444
445
  } else _push(`<!---->`);
445
446
  _push(ssrRenderComponent(_component_a_spin, { spinning: !unref(dcw).loaded && !unref(dcw).error }, {
446
447
  default: withCtx((_, _push, _parent, _scopeId) => {
447
448
  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}><!--[-->`);
449
+ _push(`<section class="aw-tile table-card" data-v-ff580c34${_scopeId}><table class="nodes-table" data-v-ff580c34${_scopeId}><thead data-v-ff580c34${_scopeId}><tr data-v-ff580c34${_scopeId}><th data-v-ff580c34${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</th><th data-v-ff580c34${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k403cy054"))}</th><th data-v-ff580c34${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k42w8s055"))}</th><th data-v-ff580c34${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1deqh0d056"))}</th><th data-v-ff580c34${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k9r7d4e018"))}</th><th data-v-ff580c34${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1k79ec9057"))}</th><th data-v-ff580c34${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1dexou6058"))}</th><th data-v-ff580c34${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1b1nnaa059"))}</th><th data-v-ff580c34${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1i8rtqt060"))}</th><th class="right" data-v-ff580c34${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-ff580c34${_scopeId}><!--[-->`);
449
450
  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>`);
451
+ _push(`<tr class="${ssrRenderClass({ "node-paused": !n.enabled })}" data-v-ff580c34${_scopeId}><td data-v-ff580c34${_scopeId}><span class="mono dim" data-v-ff580c34${_scopeId}>${ssrInterpolate(n.id.slice(0, 8))}</span><b data-v-ff580c34${_scopeId}>${ssrInterpolate(n.name)}</b><small class="mono ch" data-v-ff580c34${_scopeId}>${ssrInterpolate(dcwTemplateRefCh(n.templateRef))}</small></td><td data-v-ff580c34${_scopeId}><button class="${ssrRenderClass([{ on: n.enabled }, "ctrl-toggle"])}"${ssrIncludeBooleanAttr(togglingId.value === n.id) ? " disabled" : ""}${ssrRenderAttr("title", n.enabled ? "暂停该节点控制:下发将被拒绝" : "开启该节点控制:恢复可下发")} data-v-ff580c34${_scopeId}><span class="ct-dot" data-v-ff580c34${_scopeId}></span> ${ssrInterpolate(n.enabled ? _ctx.$t("dcwDetail.k3o3ib3159") : _ctx.$t("dcwDetail.k3n93ed062"))}</button></td><td data-v-ff580c34${_scopeId}>`);
452
+ if (!n.enabled) _push(`<span class="st-pill paused" data-v-ff580c34${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3n93ed062"))}</span>`);
453
+ else _push(`<span class="${ssrRenderClass([n.state, "st-pill"])}" data-v-ff580c34${_scopeId}>${ssrInterpolate(stateLabel[n.state] ?? n.state)}</span>`);
454
+ _push(`</td><td class="mono val" data-v-ff580c34${_scopeId}>${ssrInterpolate(n.value != null ? n.value.toFixed(n.decimals) : "--")} <small data-v-ff580c34${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
455
+ if (n.lastAckAt) _push(`<small class="dim" data-v-ff580c34${_scopeId}> · ${ssrInterpolate(n.lastAckAt.slice(11, 19))}</small>`);
455
456
  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>`);
457
+ _push(`</td><td class="mono val" data-v-ff580c34${_scopeId}><span${ssrRenderAttr("title", n.lastReadError ?? _ctx.$t("dcwDetail.k9r7d4e019"))} class="${ssrRenderClass({ "read-stale": n.lastReadError })}" data-v-ff580c34${_scopeId}>${ssrInterpolate(n.readValue != null ? n.readValue.toFixed(n.decimals) : "--")}</span><small data-v-ff580c34${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
458
+ if (n.lastReadAt) _push(`<small class="dim" data-v-ff580c34${_scopeId}> · ${ssrInterpolate(n.lastReadAt.slice(11, 19))}</small>`);
458
459
  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>`);
460
+ _push(`<button class="mini-btn read-btn"${ssrIncludeBooleanAttr(readingId.value === n.id) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e020"))} data-v-ff580c34${_scopeId}>${ssrInterpolate(readingId.value === n.id ? "···" : _ctx.$t("dcwDetail.k9r7d4e021"))}</button></td><td data-v-ff580c34${_scopeId}><div class="write-row" data-v-ff580c34${_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-ff580c34${_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-ff580c34${_scopeId}>${ssrInterpolate(writingId.value === n.id ? _ctx.$t("dcwDetail.k3l3h80123") : _ctx.$t("dcwDetail.k3w6td174"))}</button></div></td><td class="mono dim" data-v-ff580c34${_scopeId}>${ssrInterpolate(n.min)} ~ ${ssrInterpolate(n.max)} ${ssrInterpolate(n.unit)}</td><td class="mono" data-v-ff580c34${_scopeId}>${ssrInterpolate(n.holdIntervalMs == null ? _ctx.$t("dcwDetail.k3zul4160") : `${n.holdIntervalMs}ms`)} <small class="dim"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e016"))} data-v-ff580c34${_scopeId}>· ${ssrInterpolate(n.readIntervalMs === 0 ? _ctx.$t("dcwDetail.k9r7d4e022") : n.readIntervalMs == null ? _ctx.$t("dcwDetail.k9r7d4e023") : `${n.readIntervalMs}ms`)}</small></td><td data-v-ff580c34${_scopeId}>${ssrInterpolate(nodeDeviceNames(n))}</td><td class="right" data-v-ff580c34${_scopeId}><button class="mini-btn danger" data-v-ff580c34${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></td></tr>`);
460
461
  });
461
462
  _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>`);
463
+ if (unref(dcw).loaded && lineNodes.value.length === 0) _push(`<tr data-v-ff580c34${_scopeId}><td colspan="9" data-v-ff580c34${_scopeId}><div class="pane-empty" style="${ssrRenderStyle({ "min-height": "120px" })}" data-v-ff580c34${_scopeId}><p class="pe-sub" data-v-ff580c34${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1wtecyw064"))}</p></div></td></tr>`);
463
464
  else _push(`<!---->`);
464
465
  _push(`</tbody></table></section>`);
465
466
  } else return [createVNode("section", { class: "aw-tile table-card" }, [createVNode("table", { class: "nodes-table" }, [createVNode("thead", null, [createVNode("tr", null, [
@@ -580,184 +581,184 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
580
581
  }),
581
582
  _: 1
582
583
  }, _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>`);
584
+ _push(`<section class="aw-tile recipe-card" data-v-ff580c34><div class="recipe-hd" data-v-ff580c34><h3 data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1j8w3hd065"))}</h3><span class="panel-tag mono" data-v-ff580c34>${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-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1akm6dc066"))}</button><button class="mini-btn" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1aka0ki067"))}</button></div><p class="recipe-sub" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k6bl2q8068"))}</p>`);
584
585
  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><!--[-->`);
586
+ _push(`<div class="product-row" data-v-ff580c34><button class="${ssrRenderClass([{ on: filterProductId.value === "" }, "prod-chip"])}" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4t1069"))}</button><!--[-->`);
586
587
  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>`);
588
+ _push(`<button class="${ssrRenderClass([{ on: filterProductId.value === p.id }, "prod-chip"])}"${ssrRenderAttr("title", p.description)} data-v-ff580c34>${ssrInterpolate(p.name)} <span class="prod-del"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1bpfjgx012"))} data-v-ff580c34>×</span></button>`);
588
589
  });
589
590
  _push(`<!--]--></div>`);
590
591
  } else _push(`<p class="dim" style="${ssrRenderStyle({
591
592
  "margin": "6px 0 12px",
592
593
  "font-size": "12px"
593
- })}" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.knov3zg070"))}</p>`);
594
- _push(`<div class="recipe-grid" data-v-96633662><!--[-->`);
594
+ })}" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.knov3zg070"))}</p>`);
595
+ _push(`<div class="recipe-grid" data-v-ff580c34><!--[-->`);
595
596
  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>`);
597
+ _push(`<div class="recipe-item" data-v-ff580c34><div class="recipe-name" data-v-ff580c34><b data-v-ff580c34>${ssrInterpolate(r.name)}</b>`);
598
+ if (r.version) _push(`<span class="param-chip mono"${ssrRenderAttr("title", unref(t)("dcwDetail.histTitle"))} data-v-ff580c34>v${ssrInterpolate(r.version)}</span>`);
598
599
  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>`);
600
+ _push(`<small class="dim" data-v-ff580c34>${ssrInterpolate(productName(r.productId))}</small><small class="mono dim" data-v-ff580c34>${ssrInterpolate(r.id)}</small></div>`);
601
+ if (r.description) _push(`<p class="dim desc" data-v-ff580c34>${ssrInterpolate(r.description)}</p>`);
601
602
  else _push(`<!---->`);
602
- _push(`<div class="recipe-params mono" data-v-96633662><!--[-->`);
603
+ _push(`<div class="recipe-params mono" data-v-ff580c34><!--[-->`);
603
604
  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>`);
605
+ _push(`<span class="${ssrRenderClass([{ stale: paramStatus(p.nodeId, r.lineId) }, "param-chip"])}"${ssrRenderAttr("title", paramStatus(p.nodeId, r.lineId)?.label ?? "")} data-v-ff580c34>${ssrInterpolate(paramNodeName(p.nodeId))} = ${ssrInterpolate(p.value)}`);
606
+ if (paramStatus(p.nodeId, r.lineId)) _push(`<span class="chip-stale-tag" data-v-ff580c34>${ssrInterpolate(paramStatus(p.nodeId, r.lineId).label)}</span>`);
606
607
  else _push(`<!---->`);
607
608
  _push(`</span>`);
608
609
  });
609
610
  _push(`<!--]--><!--[-->`);
610
611
  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>`);
612
+ _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-ff580c34> ◎ ${ssrInterpolate(daqNodeCh(w.nodeId))} ∈ [${ssrInterpolate(w.min ?? "-∞")}, ${ssrInterpolate(w.max ?? "+∞")}]`);
613
+ if (daqWindowStatus(w.nodeId, r.lineId)) _push(`<span class="chip-stale-tag" data-v-ff580c34>${ssrInterpolate(daqWindowStatus(w.nodeId, r.lineId).label)}</span>`);
613
614
  else _push(`<!---->`);
614
615
  _push(`</span>`);
615
616
  });
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>`);
617
+ _push(`<!--]--></div><div class="recipe-actions" data-v-ff580c34><button class="pill-btn" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1497qvr071"))}</button><button class="mini-btn" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k45eb0072"))}</button><button class="mini-btn" data-v-ff580c34>${ssrInterpolate(unref(t)("dcwDetail.histBtn"))}`);
618
+ if (r.version) _push(`<span class="mono" data-v-ff580c34>·v${ssrInterpolate(r.version)}</span>`);
618
619
  else _push(`<!---->`);
619
- _push(`</button><button class="mini-btn danger" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></div></div>`);
620
+ _push(`</button><button class="mini-btn danger" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></div></div>`);
620
621
  });
621
622
  _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>`);
623
+ if (visibleRecipes.value.length === 0) _push(`<div class="pane-empty" style="${ssrRenderStyle({ "grid-column": "1 / -1" })}" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.keko1xy073"))}</div>`);
623
624
  else _push(`<!---->`);
624
625
  _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>`);
626
+ if (applyResult.value) _push(`<div class="banner good" data-v-ff580c34>${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-ff580c34>${ssrInterpolate(runDataLoading.value ? _ctx.$t("dcwDetail.k1br0ij9161") : _ctx.$t("dcwDetail.kxwei5175"))}</button></div>`);
626
627
  else _push(`<!---->`);
627
628
  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><!--[-->`);
629
+ _push(`<div class="runs" data-v-ff580c34><p class="sec-label" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1rjer8d074"))}</p><table class="nodes-table" data-v-ff580c34><thead data-v-ff580c34><tr data-v-ff580c34><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k400lb075"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k4497j076"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqhtmu077"))}</th><th class="right" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-ff580c34><!--[-->`);
629
630
  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>`);
631
+ _push(`<tr data-v-ff580c34><td class="mono" data-v-ff580c34>${ssrInterpolate(run.id)}</td><td data-v-ff580c34>${ssrInterpolate(run.recipeName)}</td><td class="mono dim" data-v-ff580c34>${ssrInterpolate(run.startedAt.slice(5, 19))} ~ ${ssrInterpolate(run.endedAt ? run.endedAt.slice(5, 19) : _ctx.$t("dcwDetail.k3vpfg9162"))}</td><td data-v-ff580c34><span class="${ssrRenderClass([run.results.every((r) => r.ok) ? "ok" : "warn", "st-pill"])}" data-v-ff580c34>${ssrInterpolate(run.results.filter((r) => r.ok).length)}/${ssrInterpolate(run.results.length)}</span></td><td class="right" data-v-ff580c34><button class="mini-btn"${ssrIncludeBooleanAttr(runDataLoading.value) ? " disabled" : ""} data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1dzwrdp078"))}</button>`);
632
+ if (!run.endedAt) _push(`<button class="mini-btn" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1blr7y7079"))}</button>`);
632
633
  else _push(`<!---->`);
633
634
  _push(`</td></tr>`);
634
635
  });
635
636
  _push(`<!--]--></tbody></table></div>`);
636
637
  } else _push(`<!---->`);
637
638
  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><!--[-->`);
639
+ _push(`<div class="modal-mask" data-v-ff580c34><div class="modal" data-v-ff580c34><h3 class="m-title" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k11lq94k145"))} ${ssrInterpolate(runDataView.value.data.run.recipeName)}(${ssrInterpolate(runDataView.value.runId)}) </h3><p class="sec-label" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1me41w8080"))}</p><table class="nodes-table" data-v-ff580c34><thead data-v-ff580c34><tr data-v-ff580c34><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k40t11083"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3xuaw084"))}</th><th data-v-ff580c34>min ~ max</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k4118o085"))}</th></tr></thead><tbody data-v-ff580c34><!--[-->`);
639
640
  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>`);
641
+ _push(`<tr data-v-ff580c34><td data-v-ff580c34>${ssrInterpolate(d.ch)}<small class="mono dim" data-v-ff580c34>${ssrInterpolate(d.unit)}</small></td><td data-v-ff580c34>${ssrInterpolate(d.nodeName)}</td><td class="mono" data-v-ff580c34>${ssrInterpolate(d.latest)}</td><td class="mono" data-v-ff580c34>${ssrInterpolate(d.avg)}</td><td class="mono dim" data-v-ff580c34>${ssrInterpolate(d.min)} ~ ${ssrInterpolate(d.max)}</td><td class="mono dim" data-v-ff580c34>${ssrInterpolate(d.cnt)}</td></tr>`);
641
642
  });
642
643
  _push(`<!--]-->`);
643
- if (runDataView.value.data.daq.length === 0) _push(`<tr data-v-96633662><td colspan="6" class="dim" style="${ssrRenderStyle({
644
+ if (runDataView.value.data.daq.length === 0) _push(`<tr data-v-ff580c34><td colspan="6" class="dim" style="${ssrRenderStyle({
644
645
  "text-align": "center",
645
646
  "padding": "12px"
646
- })}" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.kd457ry086"))}</td></tr>`);
647
+ })}" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.kd457ry086"))}</td></tr>`);
647
648
  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><!--[-->`);
649
+ _push(`</tbody></table><p class="sec-label" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k12b7cxs087"))}</p><table class="nodes-table" data-v-ff580c34><thead data-v-ff580c34><tr data-v-ff580c34><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3xbjr088"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3ncbsh089"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3lh3mz090"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k454pg091"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k40ieu092"))}</th></tr></thead><tbody data-v-ff580c34><!--[-->`);
649
650
  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>`);
651
+ _push(`<tr data-v-ff580c34><td data-v-ff580c34>${ssrInterpolate(w.param)}</td><td data-v-ff580c34>${ssrInterpolate(w.nodeName)}</td><td class="mono" data-v-ff580c34>${ssrInterpolate(w.eng)}</td><td class="mono dim" data-v-ff580c34>${ssrInterpolate(w.raw)}</td><td data-v-ff580c34><span class="${ssrRenderClass([w.ok ? "ok" : "alarm", "st-pill"])}" data-v-ff580c34>${ssrInterpolate(w.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="mono dim" data-v-ff580c34>${ssrInterpolate(w.at.slice(5, 19))}</td></tr>`);
651
652
  });
652
653
  _push(`<!--]-->`);
653
- if (runDataView.value.data.writes.length === 0) _push(`<tr data-v-96633662><td colspan="6" class="dim" style="${ssrRenderStyle({
654
+ if (runDataView.value.data.writes.length === 0) _push(`<tr data-v-ff580c34><td colspan="6" class="dim" style="${ssrRenderStyle({
654
655
  "text-align": "center",
655
656
  "padding": "12px"
656
- })}" data-v-96633662>${ssrInterpolate(_ctx.$t("dcwDetail.knzcp8i093"))}</td></tr>`);
657
+ })}" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.knzcp8i093"))}</td></tr>`);
657
658
  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>`);
659
+ _push(`</tbody></table><div class="m-actions" data-v-ff580c34><button class="aw-pill outline" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3x62t043"))}</button></div></div></div>`);
659
660
  } else _push(`<!---->`);
660
661
  _push(`</section>`);
661
662
  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><!--[-->`);
663
+ _push(`<div class="modal-mask" data-v-ff580c34><div class="modal" data-v-ff580c34><h3 class="m-title" data-v-ff580c34>${ssrInterpolate(recipeEditing.value ? _ctx.$t("dcwDetail.k1iiwk0i163") : _ctx.$t("dcwDetail.k1efq0r9176"))}</h3><div class="f-grid" data-v-ff580c34><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1dw4fzf094"))}<em data-v-ff580c34>*</em></span><select class="inp" data-v-ff580c34><!--[-->`);
663
664
  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>`);
665
+ _push(`<option${ssrRenderAttr("value", p.id)} data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(recipeForm.productId) ? ssrLooseContain(recipeForm.productId, p.id) : ssrLooseEqual(recipeForm.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
665
666
  });
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><!--[-->`);
667
+ _push(`<!--]--></select></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1l3f8so095"))}<em data-v-ff580c34>*</em></span><input${ssrRenderAttr("value", recipeForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", recipeForm.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-ff580c34></label></div><p class="sec-label" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.ka1kfgh097"))}</p><!--[-->`);
667
668
  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><!--[-->`);
669
+ _push(`<div class="param-row" data-v-ff580c34><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</span><select class="inp" data-v-ff580c34><!--[-->`);
669
670
  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>`);
671
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-ff580c34${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
672
  });
672
673
  _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>`);
674
+ if (paramStatus(p.nodeId, lineId.value)) _push(`<span class="row-stale" data-v-ff580c34>${ssrInterpolate(paramStatus(p.nodeId, lineId.value).label)}</span>`);
674
675
  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>`);
676
+ _push(`</label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3renp2098"))}<em data-v-ff580c34>*</em></span><input${ssrRenderAttr("value", p.value)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${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-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${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-ff580c34></label><button class="mini-btn danger param-del" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
676
677
  });
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><!--[-->`);
678
+ _push(`<!--]--><button class="mini-btn" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1broh7h100"))}</button><p class="sec-label" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1h5gues101"))}</p><!--[-->`);
678
679
  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><!--[-->`);
680
+ _push(`<div class="param-row" data-v-ff580c34><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1empnnb102"))}</span><select class="inp" data-v-ff580c34><!--[-->`);
680
681
  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>`);
682
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-ff580c34${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
683
  });
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>`);
684
+ _push(`<!--]--></select></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.kqm08ap103"))}</span><input${ssrRenderAttr("value", w.min)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.kpypf8g104"))}</span><input${ssrRenderAttr("value", w.max)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-ff580c34></label><button class="mini-btn danger param-del" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
684
685
  });
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>`);
686
+ _push(`<!--]--><button class="mini-btn"${ssrIncludeBooleanAttr(lineDaqNodes.value.length === 0) ? " disabled" : ""}${ssrRenderAttr("title", lineDaqNodes.value.length === 0 ? "本产线暂无数采节点" : "")} data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.kv1de1p105"))}</button>`);
687
+ if (recipeStaleNote.value) _push(`<p class="m-note" data-v-ff580c34>${ssrInterpolate(recipeStaleNote.value)}</p>`);
687
688
  else _push(`<!---->`);
688
- if (recipeError.value) _push(`<p class="m-err" data-v-96633662>${ssrInterpolate(recipeError.value)}</p>`);
689
+ if (recipeError.value) _push(`<p class="m-err" data-v-ff580c34>${ssrInterpolate(recipeError.value)}</p>`);
689
690
  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>`);
691
+ _push(`<div class="m-actions" data-v-ff580c34><button class="aw-pill outline" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(recipeSaving.value) ? " disabled" : ""} data-v-ff580c34>${ssrInterpolate(recipeSaving.value ? _ctx.$t("dcwDetail.k1b38d59164") : _ctx.$t("dcwDetail.k1b3kwg0177"))}</button></div></div></div>`);
691
692
  } else _push(`<!---->`);
692
693
  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"))}`);
694
+ _push(`<div class="modal-mask" data-v-ff580c34><div class="modal" style="${ssrRenderStyle({ "max-width": "760px" })}" data-v-ff580c34><div class="modal-head" data-v-ff580c34><h3 data-v-ff580c34>${ssrInterpolate(unref(t)("dcwDetail.histTitle"))}`);
694
695
  if (verRecipe.value) _push(`<span class="dim" style="${ssrRenderStyle({
695
696
  "margin-left": "8px",
696
697
  "font-size": "12px"
697
- })}" data-v-96633662>${ssrInterpolate(verRecipe.value.name)} · v${ssrInterpolate(verRecipe.value.version)}</span>`);
698
+ })}" data-v-ff580c34>${ssrInterpolate(verRecipe.value.name)} · v${ssrInterpolate(verRecipe.value.version)}</span>`);
698
699
  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>`);
700
+ _push(`</h3><button class="mini-btn" data-v-ff580c34> ✕ </button></div>`);
701
+ if (verMsg.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin": "6px 0" })}" data-v-ff580c34>${ssrInterpolate(verMsg.value)}</p>`);
701
702
  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>`);
703
+ if (verLoading.value) _push(`<p class="dim" data-v-ff580c34>${ssrInterpolate(unref(t)("dcwDetail.histLoading"))}</p>`);
704
+ else if (verRows.value.length === 0) _push(`<div class="pane-empty" data-v-ff580c34>${ssrInterpolate(unref(t)("dcwDetail.histEmpty"))}</div>`);
704
705
  else {
705
706
  _push(`<!--[-->`);
706
707
  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>`);
708
+ _push(`<div class="${ssrRenderClass([{ cur: row.current }, "ver-row"])}" data-v-ff580c34><div class="ver-head" data-v-ff580c34><span class="mono ver-v" data-v-ff580c34>v${ssrInterpolate(row.version)}</span><span class="${ssrRenderClass([row.by ?? (row.current ? "cur" : ""), "ver-src"])}" data-v-ff580c34>${ssrInterpolate(row.current ? unref(t)("dcwDetail.histCurrent") : verSrcLabel(row.by))}</span><span class="mono dim" data-v-ff580c34>${ssrInterpolate(row.at.slice(0, 19).replace("T", " "))}</span><span class="ver-actor" data-v-ff580c34>${ssrInterpolate(row.actorName || "—")}</span>`);
709
+ if (!row.current) _push(`<button class="mini-btn" data-v-ff580c34>${ssrInterpolate(unref(t)("dcwDetail.revertTo"))}</button>`);
709
710
  else _push(`<!---->`);
710
711
  _push(`</div>`);
711
- if (row.description) _push(`<p class="ver-desc" data-v-96633662>${ssrInterpolate(row.description)}</p>`);
712
+ if (row.description) _push(`<p class="ver-desc" data-v-ff580c34>${ssrInterpolate(row.description)}</p>`);
712
713
  else _push(`<!---->`);
713
- _push(`<p class="ver-diff mono" data-v-96633662>${ssrInterpolate(verDiff(row, i))}</p></div>`);
714
+ _push(`<p class="ver-diff mono" data-v-ff580c34>${ssrInterpolate(verDiff(row, i))}</p></div>`);
714
715
  });
715
716
  _push(`<!--]-->`);
716
717
  }
717
718
  _push(`</div></div>`);
718
719
  } 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><!--[-->`);
720
+ _push(`<section class="aw-tile query-card" data-v-ff580c34><p class="sec-label" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1us3jse106"))}</p><div class="q-grid" data-v-ff580c34><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-ff580c34><option value="" data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(query.productId) ? ssrLooseContain(query.productId, "") : ssrLooseEqual(query.productId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkl1jx107"))}</option><!--[-->`);
720
721
  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>`);
722
+ _push(`<option${ssrRenderAttr("value", p.id)} data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(query.productId) ? ssrLooseContain(query.productId, p.id) : ssrLooseEqual(query.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
722
723
  });
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><!--[-->`);
724
+ _push(`<!--]--></select></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!query.productId) ? " disabled" : ""} data-v-ff580c34><option value="" data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(query.recipeId) ? ssrLooseContain(query.recipeId, "") : ssrLooseEqual(query.recipeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7cr108"))}</option><!--[-->`);
724
725
  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>`);
726
+ _push(`<option${ssrRenderAttr("value", r.id)} data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(query.recipeId) ? ssrLooseContain(query.recipeId, r.id) : ssrLooseEqual(query.recipeId, r.id)) ? " selected" : ""}>${ssrInterpolate(r.name)}</option>`);
726
727
  });
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><!--[-->`);
728
+ _push(`<!--]--></select></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1demcae109"))}</span><select class="inp" data-v-ff580c34><option value="" data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(query.paramKey) ? ssrLooseContain(query.paramKey, "") : ssrLooseEqual(query.paramKey, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7ya110"))}</option><!--[-->`);
728
729
  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>`);
730
+ _push(`<option${ssrRenderAttr("value", k)} data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(query.paramKey) ? ssrLooseContain(query.paramKey, k) : ssrLooseEqual(query.paramKey, k)) ? " selected" : ""}>${ssrInterpolate(k)}</option>`);
730
731
  });
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><!--[-->`);
732
+ _push(`<!--]--></select></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</span><select class="inp" data-v-ff580c34><option value="" data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(query.nodeId) ? ssrLooseContain(query.nodeId, "") : ssrLooseEqual(query.nodeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkul3k111"))}</option><!--[-->`);
732
733
  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>`);
734
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(query.nodeId) ? ssrLooseContain(query.nodeId, n.id) : ssrLooseEqual(query.nodeId, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
734
735
  });
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>`);
736
+ _push(`<!--]--></select></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.kx2ojn0112"))}</span><input${ssrRenderAttr("value", query.lastMin)} type="number" min="1" max="10080" class="inp" data-v-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.kjvnvn4113"))}</span><input${ssrRenderAttr("value", query.bucketMs)} type="number" min="1000" step="500" class="inp" data-v-ff580c34></label><div class="f q-actions" data-v-ff580c34><button class="pill-btn"${ssrIncludeBooleanAttr(queryBusy.value) ? " disabled" : ""} data-v-ff580c34>${ssrInterpolate(queryBusy.value ? _ctx.$t("dcwDetail.k1eyx09r165") : _ctx.$t("dcwDetail.k416ek178"))}</button></div></div>`);
737
+ if (queryError.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "8px" })}" data-v-ff580c34>${ssrInterpolate(queryError.value)}</p>`);
737
738
  else _push(`<!---->`);
738
739
  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><!--[-->`);
740
+ _push(`<div class="q-result" data-v-ff580c34><table class="nodes-table" data-v-ff580c34><thead data-v-ff580c34><tr data-v-ff580c34><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k42kcu114"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k49ujb115"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k40pvw116"))}</th><th data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3xho3117"))}</th></tr></thead><tbody data-v-ff580c34><!--[-->`);
740
741
  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>`);
742
+ _push(`<tr data-v-ff580c34><td data-v-ff580c34>${ssrInterpolate(c.ch)}<small class="mono dim" data-v-ff580c34>${ssrInterpolate(c.unit)}</small></td><td data-v-ff580c34>${ssrInterpolate(c.nodeName)}</td><td class="mono" data-v-ff580c34>${ssrInterpolate(c.points.length)}</td><td class="mono" data-v-ff580c34>${ssrInterpolate(fmtPoint(c.points[0]))}</td><td class="mono" data-v-ff580c34>${ssrInterpolate(fmtPoint(c.points[c.points.length - 1]))}</td><td class="mono dim" data-v-ff580c34>${ssrInterpolate(new Date(c.points[0]?.at ?? 0).toLocaleTimeString())} ~ ${ssrInterpolate(new Date(c.points[c.points.length - 1]?.at ?? 0).toLocaleTimeString())}</td></tr>`);
742
743
  });
743
744
  _push(`<!--]--></tbody></table></div>`);
744
745
  } else _push(`<!---->`);
745
746
  _push(`</section>`);
746
747
  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><!--[-->`);
748
+ _push(`<section class="aw-tile table-card" data-v-ff580c34><p class="sec-label" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.kw7ym9b148"))} ${ssrInterpolate(lineHistory.value.length)} ${ssrInterpolate(_ctx.$t("dcwDetail.k40bfz150"))}</p><table class="nodes-table" data-v-ff580c34><tbody data-v-ff580c34><!--[-->`);
748
749
  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>`);
750
+ _push(`<tr data-v-ff580c34><td class="mono dim" data-v-ff580c34>${ssrInterpolate(h.at.slice(5, 19))}</td><td data-v-ff580c34>${ssrInterpolate(h.param)}</td><td data-v-ff580c34>${ssrInterpolate(h.nodeName)}</td><td class="mono" data-v-ff580c34>${ssrInterpolate(h.eng)}</td><td class="mono dim" data-v-ff580c34> raw ${ssrInterpolate(h.raw ?? "-")}</td><td data-v-ff580c34><span class="${ssrRenderClass([h.ok ? "ok" : "alarm", "st-pill"])}" data-v-ff580c34>${ssrInterpolate(h.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="dim" data-v-ff580c34>${ssrInterpolate(h.recipeRunId ? _ctx.$t("dcwDetail.k6vgks7181", { p0: h.recipeRunId }) : "手动")}</td></tr>`);
750
751
  });
751
752
  _push(`<!--]--></tbody></table></section>`);
752
753
  } else _push(`<!---->`);
753
754
  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>`);
755
+ _push(`<div class="modal-mask" data-v-ff580c34><div class="modal" data-v-ff580c34><h3 class="m-title" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1efduyf118"))}</h3><div class="f-grid" data-v-ff580c34><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1avjrl6119"))}<em data-v-ff580c34>*</em></span><input${ssrRenderAttr("value", productForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-ff580c34></label><label class="f" data-v-ff580c34><span data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", productForm.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-ff580c34></label></div>`);
756
+ if (productError.value) _push(`<p class="m-err" data-v-ff580c34>${ssrInterpolate(productError.value)}</p>`);
756
757
  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>`);
758
+ _push(`<div class="m-actions" data-v-ff580c34><button class="aw-pill outline" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(productSaving.value) ? " disabled" : ""} data-v-ff580c34>${ssrInterpolate(productSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg4kn6179"))}</button></div></div></div>`);
758
759
  } else _push(`<!---->`);
759
760
  if (unref(dcw).error) {
760
- _push(`<p class="err" data-v-96633662>${ssrInterpolate(unref(dcw).error)}(`);
761
+ _push(`<p class="err" data-v-ff580c34>${ssrInterpolate(unref(dcw).error)}(`);
761
762
  _push(ssrRenderComponent(_component_NuxtLink, { to: "/workshop" }, {
762
763
  default: withCtx((_, _push, _parent, _scopeId) => {
763
764
  if (_push) _push(`${ssrInterpolate(_ctx.$t("dcwDetail.k1bhhheq120"))}`);
@@ -767,19 +768,19 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
767
768
  }, _parent));
768
769
  _push(`) </p>`);
769
770
  } 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><!--[-->`);
771
+ _push(`<section class="aw-tile ledger-card" data-v-ff580c34><div class="ledger-head" data-v-ff580c34><b data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgt001"))}</b><select class="inp" data-v-ff580c34><option value="" data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, "") : ssrLooseEqual(ledgerNodeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgs001"))}</option><!--[-->`);
771
772
  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>`);
773
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-ff580c34${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, n.id) : ssrLooseEqual(ledgerNodeId.value, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
773
774
  });
774
775
  _push(`<!--]--></select></div>`);
775
776
  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><!--[-->`);
777
+ _push(`<!--[--><div class="ledger-tri" data-v-ff580c34><div class="tri-cell" data-v-ff580c34><small data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv001"))}</small><b class="mono" data-v-ff580c34>${ssrInterpolate(ledger.value.current ?? "--")}</b></div><div class="tri-cell" data-v-ff580c34><small data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv002"))}</small><b class="mono" data-v-ff580c34>${ssrInterpolate(ledger.value.recipeTarget ?? "--")}</b></div><div class="tri-cell" data-v-ff580c34><small data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv003"))}</small><b class="mono" data-v-ff580c34>${ssrInterpolate(ledger.value.lastGood ?? "--")}</b></div><button class="mini-btn" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga001"))}</button><button class="mini-btn danger" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga002"))}</button></div><div class="ledger-cols" data-v-ff580c34><div class="ledger-col" data-v-ff580c34><small class="sec-t" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgh001"))}</small><ul class="ledger-list mono" data-v-ff580c34><!--[-->`);
777
778
  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>`);
779
+ _push(`<li data-v-ff580c34>${ssrInterpolate(a.at.slice(5, 16).replace("T", " "))} [${ssrInterpolate(a.source)}] ${ssrInterpolate(a.prevValue ?? "?")} → ${ssrInterpolate(a.newValue)}</li>`);
779
780
  });
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><!--[-->`);
781
+ _push(`<!--]--></ul></div><div class="ledger-col" data-v-ff580c34><small class="sec-t" data-v-ff580c34>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgr001"))}</small><ul class="ledger-list" data-v-ff580c34><!--[-->`);
781
782
  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>`);
783
+ _push(`<li class="ledger-rec" data-v-ff580c34><span class="${ssrRenderClass([r.status, "rec-st"])}" data-v-ff580c34>${ssrInterpolate(r.status)}</span><span class="mono" data-v-ff580c34>${ssrInterpolate(r.params[0]?.from ?? "?")} → ${ssrInterpolate(r.params[0]?.to)}</span><small data-v-ff580c34>${ssrInterpolate(r.judge ? `${r.judge.verdict}(${r.judge.by})` : r.status === "open" ? "open" : r.closedBy ?? "")}</small></li>`);
783
784
  });
784
785
  _push(`<!--]--></ul></div></div><!--]-->`);
785
786
  } else _push(`<!---->`);
@@ -796,7 +797,7 @@ _id__vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
796
797
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/dcw/[id].vue");
797
798
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
798
799
  };
799
- var _id__default = /*#__PURE__*/ _plugin_vue_export_helper_default(_id__vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-96633662"]]);
800
+ var _id__default = /*#__PURE__*/ _plugin_vue_export_helper_default(_id__vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-ff580c34"]]);
800
801
 
801
802
  export { _id__default as default };
802
- //# sourceMappingURL=_id_-BU1wfOID.mjs.map
803
+ //# sourceMappingURL=_id_-Brv-JSvr.mjs.map