agentworkshop 0.7.16 → 0.7.17

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 (81) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +105 -0
  2. package/.output/.AgentWorkShop/prompts/host-tools.json +105 -0
  3. package/.output/nitro.json +1 -1
  4. package/.output/public/_nuxt/{DMdVWIGz.js → B-E8fXAO.js} +1 -1
  5. package/.output/public/_nuxt/{DyisHHzD.js → BA3XzwiD.js} +1 -1
  6. package/.output/public/_nuxt/{CD1SlCoI.js → BJem8_v5.js} +4 -4
  7. package/.output/public/_nuxt/{6vYobj4F.js → BWC4HQHQ.js} +1 -1
  8. package/.output/public/_nuxt/{kkEthL84.js → Ba7YofCb.js} +1 -1
  9. package/.output/public/_nuxt/{DGVAuScD.js → C_2bTK0C.js} +1 -1
  10. package/.output/public/_nuxt/{B53Mp7lD.js → CgT5wMfz.js} +1 -1
  11. package/.output/public/_nuxt/{DT-Wg8r1.js → D4CLp1hc.js} +1 -1
  12. package/.output/public/_nuxt/{C6m-kenn.js → DAR70Lf5.js} +1 -1
  13. package/.output/public/_nuxt/{B3Psw_sL.js → DBXhDLgl.js} +1 -1
  14. package/.output/public/_nuxt/{Cj6139IM.js → DsOkkMX3.js} +1 -1
  15. package/.output/public/_nuxt/DtM4RX5T.js +1 -0
  16. package/.output/public/_nuxt/{DaE5saZg.js → QT54MQV9.js} +1 -1
  17. package/.output/public/_nuxt/{Bmpvki7M.js → UtviM1bg.js} +1 -1
  18. package/.output/public/_nuxt/_id_.pF-B9O6u.css +1 -0
  19. package/.output/public/_nuxt/builds/latest.json +1 -1
  20. package/.output/public/_nuxt/builds/meta/6a0a88de-639e-4e7b-b7c1-7f4034e04787.json +1 -0
  21. package/.output/server/chunks/_/nitro.mjs +1087 -746
  22. package/.output/server/chunks/build/{TownView-CunmEMzS.mjs → TownView-ql2eHZOg.mjs} +4 -4
  23. package/.output/server/chunks/build/{TownView-CunmEMzS.mjs.map → TownView-ql2eHZOg.mjs.map} +1 -1
  24. package/.output/server/chunks/build/{_id_-CVnMdSeG.mjs → _id_-CwR5oLu9.mjs} +4 -4
  25. package/.output/server/chunks/build/{_id_-CVnMdSeG.mjs.map → _id_-CwR5oLu9.mjs.map} +1 -1
  26. package/.output/server/chunks/build/{_id_-D265Wh_k.mjs → _id_-DvJZ5Qis.mjs} +168 -120
  27. package/.output/server/chunks/build/_id_-DvJZ5Qis.mjs.map +1 -0
  28. package/.output/server/chunks/build/{_wsId_-eNJmBp05.mjs → _wsId_-B3aB9bIp.mjs} +5 -5
  29. package/.output/server/chunks/build/{_wsId_-eNJmBp05.mjs.map → _wsId_-B3aB9bIp.mjs.map} +1 -1
  30. package/.output/server/chunks/build/{daq-DxaXk_8N.mjs → daq-epWL_sC7.mjs} +5 -5
  31. package/.output/server/chunks/build/{daq-DxaXk_8N.mjs.map → daq-epWL_sC7.mjs.map} +1 -1
  32. package/.output/server/chunks/build/{dcw-B0dtiHFG.mjs → dcw-CBPaFj2f.mjs} +2 -2
  33. package/.output/server/chunks/build/{dcw-B0dtiHFG.mjs.map → dcw-CBPaFj2f.mjs.map} +1 -1
  34. package/.output/server/chunks/build/{logs-UWXeNKy_.mjs → logs-Bz1p6x_5.mjs} +3 -3
  35. package/.output/server/chunks/build/{logs-UWXeNKy_.mjs.map → logs-Bz1p6x_5.mjs.map} +1 -1
  36. package/.output/server/chunks/build/{pages-Aexs6LjD.mjs → pages-Dq7_H4FK.mjs} +3 -3
  37. package/.output/server/chunks/build/{pages-Aexs6LjD.mjs.map → pages-Dq7_H4FK.mjs.map} +1 -1
  38. package/.output/server/chunks/build/{town-BbaR-8io.mjs → town-CstiKxf_.mjs} +5 -5
  39. package/.output/server/chunks/build/{town-BbaR-8io.mjs.map → town-CstiKxf_.mjs.map} +1 -1
  40. package/.output/server/chunks/build/{useDaqStream-BkmyQT06.mjs → useDaqStream-BOOZ-p-l.mjs} +2 -2
  41. package/.output/server/chunks/build/{useDaqStream-BkmyQT06.mjs.map → useDaqStream-BOOZ-p-l.mjs.map} +1 -1
  42. package/.output/server/chunks/build/{useDcwStream-DWVoU96J.mjs → useDcwStream-DyB2ufQI.mjs} +15 -1
  43. package/.output/server/chunks/build/{useDcwStream-DWVoU96J.mjs.map → useDcwStream-DyB2ufQI.mjs.map} +1 -1
  44. package/.output/server/chunks/build/{useDeviceTwins-34WGk9aN.mjs → useDeviceTwins-ZbT86L9O.mjs} +2 -2
  45. package/.output/server/chunks/build/{useDeviceTwins-34WGk9aN.mjs.map → useDeviceTwins-ZbT86L9O.mjs.map} +1 -1
  46. package/.output/server/chunks/build/{useOpsLog-C9zTzYof.mjs → useOpsLog-8HCYFb6n.mjs} +2 -2
  47. package/.output/server/chunks/build/{useOpsLog-C9zTzYof.mjs.map → useOpsLog-8HCYFb6n.mjs.map} +1 -1
  48. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +42 -0
  49. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs.map +1 -0
  50. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +29 -0
  51. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs.map +1 -0
  52. package/.output/server/chunks/routes/api/workshop/dcw/recipes/{_id_.patch.mjs → index.patch.mjs} +11 -6
  53. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs.map +1 -0
  54. package/.output/server/chunks/routes/renderer.mjs +1 -1
  55. package/.output/server/chunks/virtual/entry.mjs +34 -8
  56. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  57. package/.output/server/package.json +1 -1
  58. package/app/composables/workshop/useDcwStream.ts +12 -0
  59. package/app/pages/dcw/[id].vue +165 -1
  60. package/i18n/locales/en.ts +13 -0
  61. package/i18n/locales/zh-CN.ts +13 -0
  62. package/package.json +1 -1
  63. package/scripts/_dbg-recipe-e2e.mjs +176 -0
  64. package/server/api/workshop/dcw/recipes/{[id].patch.ts → [id]/index.patch.ts} +9 -3
  65. package/server/api/workshop/dcw/recipes/[id]/revert.post.ts +28 -0
  66. package/server/api/workshop/dcw/recipes/[id]/versions.get.ts +14 -0
  67. package/server/data/dcw-products.json +7 -0
  68. package/server/data/dcw-rollback.json +9 -9
  69. package/server/data/dcws.json +222 -222
  70. package/server/services/workshop/agents/host-tool-bridge.ts +21 -1
  71. package/server/services/workshop/agents/industrial-tools.ts +222 -4
  72. package/server/services/workshop/daq/drivers.ts +16 -3
  73. package/server/services/workshop/dcw/dcw-controller.ts +50 -2
  74. package/server/services/workshop/dcw/dcw-recipe.repo.ts +81 -3
  75. package/server/services/workshop/dcw/drivers.ts +2 -2
  76. package/shared/dcw-protocol.ts +14 -2
  77. package/.output/public/_nuxt/Bc3PiGGr.js +0 -1
  78. package/.output/public/_nuxt/_id_.DTvjd6VN.css +0 -1
  79. package/.output/public/_nuxt/builds/meta/cf0a8831-4514-493d-ad5a-4e371a089ef9.json +0 -1
  80. package/.output/server/chunks/build/_id_-D265Wh_k.mjs.map +0 -1
  81. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs.map +0 -1
@@ -1,9 +1,9 @@
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-DWVoU96J.mjs';
5
- import { u as useDaqStream } from './useDaqStream-BkmyQT06.mjs';
6
- import { u as useDeviceTwins } from './useDeviceTwins-34WGk9aN.mjs';
4
+ import { u as useDcwStream } from './useDcwStream-DyB2ufQI.mjs';
5
+ import { u as useDaqStream } from './useDaqStream-BOOZ-p-l.mjs';
6
+ import { u as useDeviceTwins } from './useDeviceTwins-ZbT86L9O.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';
@@ -241,6 +241,21 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
241
241
  const filterProductId = ref("");
242
242
  const visibleRecipes = computed(() => filterProductId.value ? lineRecipesAll.value.filter((r) => r.productId === filterProductId.value) : lineRecipesAll.value);
243
243
  const productName = (id) => dcw.products.find((p) => p.id === id)?.name ?? id;
244
+ const verOpen = ref(false);
245
+ const verRecipe = ref(null);
246
+ const verRows = ref([]);
247
+ const verLoading = ref(false);
248
+ const verMsg = ref("");
249
+ const verSrcLabel = (by) => by === "agent" ? "Agent" : by === "system" ? t("dcwDetail.srcSystem") : t("dcwDetail.srcUser");
250
+ function verDiff(row, idx) {
251
+ if (idx === 0) return t("dcwDetail.histInit");
252
+ const prev = verRows.value[idx - 1];
253
+ const changed = row.params.map((p) => ({
254
+ p,
255
+ old: prev.params.find((x) => x.nodeId === p.nodeId)
256
+ })).filter(({ p, old }) => !old || old.value !== p.value).map(({ p, old }) => `${dcw.nodes.find((n) => n.id === p.nodeId)?.name ?? p.nodeId}: ${old?.value ?? t("dcwDetail.histAdded")} → ${p.value}`);
257
+ return changed.length > 0 ? changed.join(";") : t("dcwDetail.histNoChange");
258
+ }
244
259
  const query = reactive({
245
260
  productId: "",
246
261
  recipeId: "",
@@ -277,7 +292,7 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
277
292
  const _component_NuxtLink = NuxtLink;
278
293
  const _component_a_spin = spin_default;
279
294
  if (unref(dcw).loaded && !line.value) {
280
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-366216bb><p class="banner bad" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k19337yp018"))}</p>`);
295
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-51b1ce74><p class="banner bad" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k19337yp018"))}</p>`);
281
296
  _push(ssrRenderComponent(_component_NuxtLink, {
282
297
  class: "pill-btn",
283
298
  to: "/dcw"
@@ -290,122 +305,122 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
290
305
  }, _parent));
291
306
  _push(`</div>`);
292
307
  } else {
293
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-366216bb><div class="aw-page-head" data-v-366216bb><div data-v-366216bb><p class="aw-kicker" data-v-366216bb><span class="line-chip" style="${ssrRenderStyle({ background: line.value?.color ?? "#3aa0ff" })}" data-v-366216bb></span>AGENTWORKSHOP / LINE / ${ssrInterpolate(line.value?.name ?? lineId.value)}</p><h1 data-v-366216bb>${ssrInterpolate(line.value?.name ?? _ctx.$t("dcwDetail.k1b2snna151"))} · ${ssrInterpolate(_ctx.$t("dcwDetail.k1l0iow1137"))}</h1><p class="sub" data-v-366216bb>${ssrInterpolate(line.value?.description || _ctx.$t("dcwDetail.kzcbfki152"))}</p></div><div class="badges mono" data-v-366216bb><span class="badge" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(lineNodes.value.length)}</span><span class="badge" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))} ${ssrInterpolate(lineProducts.value.length)}</span><span class="badge" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))} ${ssrInterpolate(lineRecipesAll.value.length)}</span></div></div><section class="aw-tile ctrl-card" data-v-366216bb><div class="ctrl-left" data-v-366216bb><button class="${ssrRenderClass([{ running: unref(dcw).controller.running }, "aw-pill"])}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1snap154"))} data-v-366216bb><span class="${ssrRenderClass(unref(dcw).controller.running ? "i-tabler-player-pause" : "i-tabler-player-play")}" data-v-366216bb></span> ${ssrInterpolate(unref(dcw).controller.running ? _ctx.$t("dcwDetail.kplrsg153") : _ctx.$t("dcwDetail.knxgni9169"))}</button></div><div class="ctrl-right" data-v-366216bb><span class="ctrl-metrics mono" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(unref(dcw).controller.nodesOnline)}/${ssrInterpolate(unref(dcw).controller.nodesTotal)}</span><span class="sep" data-v-366216bb>·</span><span${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3ygmn001"))} data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3wtib138"))} ${ssrInterpolate(unref(dcw).controller.writesTotal)}</span><span class="sep" data-v-366216bb>·</span><span class="${ssrRenderClass({ warn: unref(dcw).controller.writesFailed > 0 })}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3znl0002"))} data-v-366216bb>${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-366216bb><span class="i-tabler-template" data-v-366216bb></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1972dx9020"))}</button><button class="aw-pill add-btn" data-v-366216bb><span class="i-tabler-plus" data-v-366216bb></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</button></div></section>`);
294
- if (writeError.value || writeOk.value) _push(`<p class="${ssrRenderClass([writeError.value ? "bad" : "good", "banner"])}" data-v-366216bb>${ssrInterpolate(writeError.value || writeOk.value)}</p>`);
308
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-51b1ce74><div class="aw-page-head" data-v-51b1ce74><div data-v-51b1ce74><p class="aw-kicker" data-v-51b1ce74><span class="line-chip" style="${ssrRenderStyle({ background: line.value?.color ?? "#3aa0ff" })}" data-v-51b1ce74></span>AGENTWORKSHOP / LINE / ${ssrInterpolate(line.value?.name ?? lineId.value)}</p><h1 data-v-51b1ce74>${ssrInterpolate(line.value?.name ?? _ctx.$t("dcwDetail.k1b2snna151"))} · ${ssrInterpolate(_ctx.$t("dcwDetail.k1l0iow1137"))}</h1><p class="sub" data-v-51b1ce74>${ssrInterpolate(line.value?.description || _ctx.$t("dcwDetail.kzcbfki152"))}</p></div><div class="badges mono" data-v-51b1ce74><span class="badge" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(lineNodes.value.length)}</span><span class="badge" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))} ${ssrInterpolate(lineProducts.value.length)}</span><span class="badge" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))} ${ssrInterpolate(lineRecipesAll.value.length)}</span></div></div><section class="aw-tile ctrl-card" data-v-51b1ce74><div class="ctrl-left" data-v-51b1ce74><button class="${ssrRenderClass([{ running: unref(dcw).controller.running }, "aw-pill"])}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1snap154"))} data-v-51b1ce74><span class="${ssrRenderClass(unref(dcw).controller.running ? "i-tabler-player-pause" : "i-tabler-player-play")}" data-v-51b1ce74></span> ${ssrInterpolate(unref(dcw).controller.running ? _ctx.$t("dcwDetail.kplrsg153") : _ctx.$t("dcwDetail.knxgni9169"))}</button></div><div class="ctrl-right" data-v-51b1ce74><span class="ctrl-metrics mono" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(unref(dcw).controller.nodesOnline)}/${ssrInterpolate(unref(dcw).controller.nodesTotal)}</span><span class="sep" data-v-51b1ce74>·</span><span${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3ygmn001"))} data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3wtib138"))} ${ssrInterpolate(unref(dcw).controller.writesTotal)}</span><span class="sep" data-v-51b1ce74>·</span><span class="${ssrRenderClass({ warn: unref(dcw).controller.writesFailed > 0 })}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3znl0002"))} data-v-51b1ce74>${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-51b1ce74><span class="i-tabler-template" data-v-51b1ce74></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1972dx9020"))}</button><button class="aw-pill add-btn" data-v-51b1ce74><span class="i-tabler-plus" data-v-51b1ce74></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</button></div></section>`);
309
+ if (writeError.value || writeOk.value) _push(`<p class="${ssrRenderClass([writeError.value ? "bad" : "good", "banner"])}" data-v-51b1ce74>${ssrInterpolate(writeError.value || writeOk.value)}</p>`);
295
310
  else _push(`<!---->`);
296
311
  if (unassignedNodes.value.length || unassignedProducts.value.length) {
297
- _push(`<section class="aw-tile adopt-card" data-v-366216bb><b class="adopt-title" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.kaebkky022"))}</b><div class="adopt-list" data-v-366216bb><!--[-->`);
312
+ _push(`<section class="aw-tile adopt-card" data-v-51b1ce74><b class="adopt-title" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kaebkky022"))}</b><div class="adopt-list" data-v-51b1ce74><!--[-->`);
298
313
  ssrRenderList(unassignedNodes.value, (n) => {
299
- _push(`<span class="adopt-chip" data-v-366216bb>${ssrInterpolate(n.name)} <button class="mini-btn" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
314
+ _push(`<span class="adopt-chip" data-v-51b1ce74>${ssrInterpolate(n.name)} <button class="mini-btn" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
300
315
  });
301
316
  _push(`<!--]--><!--[-->`);
302
317
  ssrRenderList(unassignedProducts.value, (p) => {
303
- _push(`<span class="adopt-chip" data-v-366216bb>${ssrInterpolate(p.name)}(${ssrInterpolate(_ctx.$t("dcwDetail.k3km252140"))}<button class="mini-btn" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
318
+ _push(`<span class="adopt-chip" data-v-51b1ce74>${ssrInterpolate(p.name)}(${ssrInterpolate(_ctx.$t("dcwDetail.k3km252140"))}<button class="mini-btn" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
304
319
  });
305
320
  _push(`<!--]--></div></section>`);
306
321
  } else _push(`<!---->`);
307
- _push(`<section class="aw-tile line-card" data-v-366216bb><div class="line-status" data-v-366216bb><span class="${ssrRenderClass([{ on: ls.value.active }, "line-dot"])}" data-v-366216bb></span><div class="line-info" data-v-366216bb><b data-v-366216bb>${ssrInterpolate(ls.value.active ? _ctx.$t("dcwDetail.k1pxrhx0154") : _ctx.$t("dcwDetail.k1b2hxmx170"))}</b>`);
308
- if (ls.value.active) _push(`<small class="mono dim" data-v-366216bb>${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>`);
309
- else _push(`<small class="dim" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k19pof14024"))}</small>`);
310
- _push(`</div></div><div class="line-ctl" data-v-366216bb><label class="ctl-sel" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-366216bb><option value="" data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, "") : ssrLooseEqual(lineProductId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kuisodh026"))}</option><!--[-->`);
322
+ _push(`<section class="aw-tile line-card" data-v-51b1ce74><div class="line-status" data-v-51b1ce74><span class="${ssrRenderClass([{ on: ls.value.active }, "line-dot"])}" data-v-51b1ce74></span><div class="line-info" data-v-51b1ce74><b data-v-51b1ce74>${ssrInterpolate(ls.value.active ? _ctx.$t("dcwDetail.k1pxrhx0154") : _ctx.$t("dcwDetail.k1b2hxmx170"))}</b>`);
323
+ if (ls.value.active) _push(`<small class="mono dim" data-v-51b1ce74>${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>`);
324
+ else _push(`<small class="dim" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k19pof14024"))}</small>`);
325
+ _push(`</div></div><div class="line-ctl" data-v-51b1ce74><label class="ctl-sel" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-51b1ce74><option value="" data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, "") : ssrLooseEqual(lineProductId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kuisodh026"))}</option><!--[-->`);
311
326
  ssrRenderList(lineProducts.value, (p) => {
312
- _push(`<option${ssrRenderAttr("value", p.id)} data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, p.id) : ssrLooseEqual(lineProductId.value, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
327
+ _push(`<option${ssrRenderAttr("value", p.id)} data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, p.id) : ssrLooseEqual(lineProductId.value, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
313
328
  });
314
- _push(`<!--]--></select></label><label class="ctl-sel" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!lineProductId.value) ? " disabled" : ""} data-v-366216bb><option value="" data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(lineRecipeId.value) ? ssrLooseContain(lineRecipeId.value, "") : ssrLooseEqual(lineRecipeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kutxzsz028"))}</option><!--[-->`);
329
+ _push(`<!--]--></select></label><label class="ctl-sel" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!lineProductId.value) ? " disabled" : ""} data-v-51b1ce74><option value="" data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(lineRecipeId.value) ? ssrLooseContain(lineRecipeId.value, "") : ssrLooseEqual(lineRecipeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kutxzsz028"))}</option><!--[-->`);
315
330
  ssrRenderList(lineRecipes.value, (r) => {
316
- _push(`<option${ssrRenderAttr("value", r.id)}${ssrIncludeBooleanAttr(r.params.length === 0) ? " disabled" : ""} data-v-366216bb${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>`);
331
+ _push(`<option${ssrRenderAttr("value", r.id)}${ssrIncludeBooleanAttr(r.params.length === 0) ? " disabled" : ""} data-v-51b1ce74${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>`);
317
332
  });
318
333
  _push(`<!--]--></select></label>`);
319
- if (!ls.value.active) _push(`<button class="pill-btn"${ssrIncludeBooleanAttr(lineBusy.value || !lineRecipeId.value) ? " disabled" : ""}${ssrRenderAttr("title", !lineRecipeId.value ? "开跑前必须先设定配方" : "下发配方参数并开始打标数据采集")} data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.kfb8vml029"))}</button>`);
320
- else _push(`<button class="pill-btn stop"${ssrIncludeBooleanAttr(lineBusy.value) ? " disabled" : ""} data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1xyhd2y030"))}</button>`);
334
+ if (!ls.value.active) _push(`<button class="pill-btn"${ssrIncludeBooleanAttr(lineBusy.value || !lineRecipeId.value) ? " disabled" : ""}${ssrRenderAttr("title", !lineRecipeId.value ? "开跑前必须先设定配方" : "下发配方参数并开始打标数据采集")} data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kfb8vml029"))}</button>`);
335
+ else _push(`<button class="pill-btn stop"${ssrIncludeBooleanAttr(lineBusy.value) ? " disabled" : ""} data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1xyhd2y030"))}</button>`);
321
336
  _push(`</div>`);
322
- if (lineErr.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-366216bb>${ssrInterpolate(lineErr.value)}</p>`);
337
+ if (lineErr.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-51b1ce74>${ssrInterpolate(lineErr.value)}</p>`);
323
338
  else _push(`<!---->`);
324
- if (lineMsg.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-366216bb>${ssrInterpolate(lineMsg.value)}</p>`);
339
+ if (lineMsg.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-51b1ce74>${ssrInterpolate(lineMsg.value)}</p>`);
325
340
  else _push(`<!---->`);
326
341
  _push(`</section>`);
327
342
  if (tplOpen.value) {
328
- _push(`<div class="modal-mask" data-v-366216bb><div class="modal" data-v-366216bb><h3 class="m-title" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1x4vam0031"))} <small class="dim mono" data-v-366216bb>${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-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.ke1iyud032"))}</p><div class="tpl-chips" data-v-366216bb><!--[-->`);
343
+ _push(`<div class="modal-mask" data-v-51b1ce74><div class="modal" data-v-51b1ce74><h3 class="m-title" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1x4vam0031"))} <small class="dim mono" data-v-51b1ce74>${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-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.ke1iyud032"))}</p><div class="tpl-chips" data-v-51b1ce74><!--[-->`);
329
344
  ssrRenderList(unref(dcw).templates, (t) => {
330
- _push(`<span class="tpl-chip"${ssrRenderAttr("title", `${t.code} · ${t.min}~${t.max} ${t.unit}${t.semantics ? ` · ${t.semantics}` : ""}`)} data-v-366216bb>${ssrInterpolate(t.name)} <small class="mono" data-v-366216bb>${ssrInterpolate(t.min)}~${ssrInterpolate(t.max)}${ssrInterpolate(t.unit)}</small><em class="${ssrRenderClass([{ builtin: t.builtin }, "tpl-tag"])}" data-v-366216bb>${ssrInterpolate(t.builtin ? _ctx.$t("dcwDetail.k3x23c141") : _ctx.$t("dcwDetail.k3t616a142"))}</em></span>`);
345
+ _push(`<span class="tpl-chip"${ssrRenderAttr("title", `${t.code} · ${t.min}~${t.max} ${t.unit}${t.semantics ? ` · ${t.semantics}` : ""}`)} data-v-51b1ce74>${ssrInterpolate(t.name)} <small class="mono" data-v-51b1ce74>${ssrInterpolate(t.min)}~${ssrInterpolate(t.max)}${ssrInterpolate(t.unit)}</small><em class="${ssrRenderClass([{ builtin: t.builtin }, "tpl-tag"])}" data-v-51b1ce74>${ssrInterpolate(t.builtin ? _ctx.$t("dcwDetail.k3x23c141") : _ctx.$t("dcwDetail.k3t616a142"))}</em></span>`);
331
346
  });
332
- _push(`<!--]--></div><p class="sec-label" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k169eb4s033"))}</p><div class="f-grid tpl-form" data-v-366216bb><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1f55q76034"))}<em data-v-366216bb>*</em></span><input${ssrRenderAttr("value", tplForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1tooi3o004"))} data-v-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqk219035"))}</span><input${ssrRenderAttr("value", tplForm.ch)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k698qz0005"))} data-v-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1ayxrqb036"))}</span><input${ssrRenderAttr("value", tplForm.code)} class="inp" placeholder="如 MOTOR · I" data-v-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4ef037"))}<em data-v-366216bb>*</em></span><input${ssrRenderAttr("value", tplForm.unit)} class="inp" placeholder="如 A" data-v-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv5m038"))}<em data-v-366216bb>*</em></span><input${ssrRenderAttr("value", tplForm.min)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9174006"))} data-v-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv4p039"))}<em data-v-366216bb>*</em></span><input${ssrRenderAttr("value", tplForm.max)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9167007"))} data-v-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3mxmcx040"))}</span><input${ssrRenderAttr("value", tplForm.decimals)} type="number" min="0" max="4" class="inp" data-v-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3xx56041"))}</span><select class="inp" data-v-366216bb><!--[-->`);
347
+ _push(`<!--]--></div><p class="sec-label" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k169eb4s033"))}</p><div class="f-grid tpl-form" data-v-51b1ce74><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1f55q76034"))}<em data-v-51b1ce74>*</em></span><input${ssrRenderAttr("value", tplForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1tooi3o004"))} data-v-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqk219035"))}</span><input${ssrRenderAttr("value", tplForm.ch)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k698qz0005"))} data-v-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1ayxrqb036"))}</span><input${ssrRenderAttr("value", tplForm.code)} class="inp" placeholder="如 MOTOR · I" data-v-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4ef037"))}<em data-v-51b1ce74>*</em></span><input${ssrRenderAttr("value", tplForm.unit)} class="inp" placeholder="如 A" data-v-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv5m038"))}<em data-v-51b1ce74>*</em></span><input${ssrRenderAttr("value", tplForm.min)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9174006"))} data-v-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv4p039"))}<em data-v-51b1ce74>*</em></span><input${ssrRenderAttr("value", tplForm.max)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9167007"))} data-v-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3mxmcx040"))}</span><input${ssrRenderAttr("value", tplForm.decimals)} type="number" min="0" max="4" class="inp" data-v-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3xx56041"))}</span><select class="inp" data-v-51b1ce74><!--[-->`);
333
348
  ssrRenderList(tplIcons, (ic) => {
334
- _push(`<option${ssrRenderAttr("value", ic.key)} data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(tplForm.icon) ? ssrLooseContain(tplForm.icon, ic.key) : ssrLooseEqual(tplForm.icon, ic.key)) ? " selected" : ""}>${ssrInterpolate(ic.label)}</option>`);
349
+ _push(`<option${ssrRenderAttr("value", ic.key)} data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(tplForm.icon) ? ssrLooseContain(tplForm.icon, ic.key) : ssrLooseEqual(tplForm.icon, ic.key)) ? " selected" : ""}>${ssrInterpolate(ic.label)}</option>`);
335
350
  });
336
- _push(`<!--]--></select></label></div><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.knjmyfr042"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1qdnfzc008"))} data-v-366216bb>${ssrInterpolate(tplForm.semantics)}</textarea></label>`);
337
- if (tplOk.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-366216bb>${ssrInterpolate(tplOk.value)}</p>`);
351
+ _push(`<!--]--></select></label></div><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.knjmyfr042"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1qdnfzc008"))} data-v-51b1ce74>${ssrInterpolate(tplForm.semantics)}</textarea></label>`);
352
+ if (tplOk.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-51b1ce74>${ssrInterpolate(tplOk.value)}</p>`);
338
353
  else _push(`<!---->`);
339
- if (tplError.value) _push(`<p class="m-err" data-v-366216bb>${ssrInterpolate(tplError.value)}</p>`);
354
+ if (tplError.value) _push(`<p class="m-err" data-v-51b1ce74>${ssrInterpolate(tplError.value)}</p>`);
340
355
  else _push(`<!---->`);
341
- _push(`<div class="m-actions" data-v-366216bb><button class="aw-pill outline" data-v-366216bb>${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-366216bb>${ssrInterpolate(tplSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg9nga171"))}</button></div></div></div>`);
356
+ _push(`<div class="m-actions" data-v-51b1ce74><button class="aw-pill outline" data-v-51b1ce74>${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-51b1ce74>${ssrInterpolate(tplSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg9nga171"))}</button></div></div></div>`);
342
357
  } else _push(`<!---->`);
343
358
  if (addOpen.value) {
344
- _push(`<div class="modal-mask" data-v-366216bb><div class="modal" data-v-366216bb><h3 class="m-title" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</h3><div class="seg-row" data-v-366216bb><button class="${ssrRenderClass([{ on: addScenario.value === "mock" }, "seg"])}" data-v-366216bb> Mock 模拟 PLC </button><button class="${ssrRenderClass([{ on: addScenario.value === "real" }, "seg"])}" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.kyj8fen044"))}</button></div><div class="f-grid" data-v-366216bb><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1ejzwqp045"))}</span><select class="inp" data-v-366216bb><!--[-->`);
359
+ _push(`<div class="modal-mask" data-v-51b1ce74><div class="modal" data-v-51b1ce74><h3 class="m-title" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</h3><div class="seg-row" data-v-51b1ce74><button class="${ssrRenderClass([{ on: addScenario.value === "mock" }, "seg"])}" data-v-51b1ce74> Mock 模拟 PLC </button><button class="${ssrRenderClass([{ on: addScenario.value === "real" }, "seg"])}" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kyj8fen044"))}</button></div><div class="f-grid" data-v-51b1ce74><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1ejzwqp045"))}</span><select class="inp" data-v-51b1ce74><!--[-->`);
345
360
  ssrRenderList(unref(dcw).templates, (t) => {
346
- _push(`<option${ssrRenderAttr("value", t.key)} data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(addTemplate.value) ? ssrLooseContain(addTemplate.value, t.key) : ssrLooseEqual(addTemplate.value, t.key)) ? " selected" : ""}>${ssrInterpolate(t.name)} · ${ssrInterpolate(t.ch)}(${ssrInterpolate(t.min)}~${ssrInterpolate(t.max)} ${ssrInterpolate(t.unit)})${ssrInterpolate(t.builtin ? "" : _ctx.$t("dcwDetail.kr45rk9157"))}</option>`);
361
+ _push(`<option${ssrRenderAttr("value", t.key)} data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(addTemplate.value) ? ssrLooseContain(addTemplate.value, t.key) : ssrLooseEqual(addTemplate.value, t.key)) ? " selected" : ""}>${ssrInterpolate(t.name)} · ${ssrInterpolate(t.ch)}(${ssrInterpolate(t.min)}~${ssrInterpolate(t.max)} ${ssrInterpolate(t.unit)})${ssrInterpolate(t.builtin ? "" : _ctx.$t("dcwDetail.kr45rk9157"))}</option>`);
347
362
  });
348
- _push(`<!--]--></select></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1ce2k1y046"))}</span><input${ssrRenderAttr("value", addName.value)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kgpxzy3009"))} data-v-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${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-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${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-366216bb></label></div><div class="f-grid cal-form" data-v-366216bb><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.kiune1f048"))}</span><select class="inp" data-v-366216bb><option value="none" data-v-366216bb${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-366216bb${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-366216bb><span data-v-366216bb>scale / offset</span><div style="${ssrRenderStyle({
363
+ _push(`<!--]--></select></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1ce2k1y046"))}</span><input${ssrRenderAttr("value", addName.value)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kgpxzy3009"))} data-v-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${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-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${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-51b1ce74></label></div><div class="f-grid cal-form" data-v-51b1ce74><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kiune1f048"))}</span><select class="inp" data-v-51b1ce74><option value="none" data-v-51b1ce74${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-51b1ce74${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-51b1ce74><span data-v-51b1ce74>scale / offset</span><div style="${ssrRenderStyle({
349
364
  "display": "flex",
350
365
  "gap": "6px"
351
- })}" data-v-366216bb><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-366216bb><input${ssrRenderAttr("value", addTransform.offset)} type="number" step="0.1" class="inp"${ssrIncludeBooleanAttr(addTransform.kind !== "linear") ? " disabled" : ""} title="decoder 截距" data-v-366216bb></div></label></div>`);
366
+ })}" data-v-51b1ce74><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-51b1ce74><input${ssrRenderAttr("value", addTransform.offset)} type="number" step="0.1" class="inp"${ssrIncludeBooleanAttr(addTransform.kind !== "linear") ? " disabled" : ""} title="decoder 截距" data-v-51b1ce74></div></label></div>`);
352
367
  if (addScenario.value === "real") {
353
- _push(`<!--[--><div class="f-grid" data-v-366216bb><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1kt87rx050"))}</span><select class="inp" data-v-366216bb><!--[-->`);
368
+ _push(`<!--[--><div class="f-grid" data-v-51b1ce74><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1kt87rx050"))}</span><select class="inp" data-v-51b1ce74><!--[-->`);
354
369
  ssrRenderList(unref(DCW_DRIVERS).filter((x) => x.status !== "builtin"), (d) => {
355
- _push(`<option${ssrRenderAttr("value", d.kind)} data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(addDriver.value) ? ssrLooseContain(addDriver.value, d.kind) : ssrLooseEqual(addDriver.value, d.kind)) ? " selected" : ""}>${ssrInterpolate(d.label)}</option>`);
370
+ _push(`<option${ssrRenderAttr("value", d.kind)} data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(addDriver.value) ? ssrLooseContain(addDriver.value, d.kind) : ssrLooseEqual(addDriver.value, d.kind)) ? " selected" : ""}>${ssrInterpolate(d.label)}</option>`);
356
371
  });
357
372
  _push(`<!--]--></select></label></div>`);
358
373
  if (addFields.value.length) {
359
- _push(`<div class="f-grid driver-form" data-v-366216bb><!--[-->`);
374
+ _push(`<div class="f-grid driver-form" data-v-51b1ce74><!--[-->`);
360
375
  ssrRenderList(addFields.value, (f) => {
361
- _push(`<label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(f.label)}`);
376
+ _push(`<label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(f.label)}`);
362
377
  if (f.required) _push(`<em style="${ssrRenderStyle({
363
378
  "color": "var(--tone-danger-dot)",
364
379
  "font-style": "normal"
365
- })}" data-v-366216bb>*</em>`);
380
+ })}" data-v-51b1ce74>*</em>`);
366
381
  else _push(`<!---->`);
367
382
  _push(`</span>`);
368
383
  if (f.type === "select") {
369
- _push(`<select class="inp" data-v-366216bb><!--[-->`);
384
+ _push(`<select class="inp" data-v-51b1ce74><!--[-->`);
370
385
  ssrRenderList(f.options, (o) => {
371
- _push(`<option${ssrRenderAttr("value", o.value)} data-v-366216bb${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>`);
386
+ _push(`<option${ssrRenderAttr("value", o.value)} data-v-51b1ce74${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>`);
372
387
  });
373
388
  _push(`<!--]--></select>`);
374
- } 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-366216bb>`);
375
- if (f.hint) _push(`<small class="hint" data-v-366216bb>${ssrInterpolate(f.hint)}</small>`);
389
+ } 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-51b1ce74>`);
390
+ if (f.hint) _push(`<small class="hint" data-v-51b1ce74>${ssrInterpolate(f.hint)}</small>`);
376
391
  else _push(`<!---->`);
377
392
  _push(`</label>`);
378
393
  });
379
394
  _push(`<!--]--></div>`);
380
395
  } else _push(`<!---->`);
381
- _push(`<div class="test-row" data-v-366216bb><button class="pill-btn outline"${ssrIncludeBooleanAttr(addTesting.value) ? " disabled" : ""} data-v-366216bb>${ssrInterpolate(addTesting.value ? _ctx.$t("dcwDetail.k1fsh720158") : _ctx.$t("dcwDetail.k1fstglk172"))}</button>`);
382
- if (addTest.value) _push(`<span class="${ssrRenderClass([addTest.value.ok ? "good" : "bad", "test-result"])}" data-v-366216bb>${ssrInterpolate(addTest.value.ok ? "✓" : "✗")} ${ssrInterpolate(addTest.value.message)}</span>`);
396
+ _push(`<div class="test-row" data-v-51b1ce74><button class="pill-btn outline"${ssrIncludeBooleanAttr(addTesting.value) ? " disabled" : ""} data-v-51b1ce74>${ssrInterpolate(addTesting.value ? _ctx.$t("dcwDetail.k1fsh720158") : _ctx.$t("dcwDetail.k1fstglk172"))}</button>`);
397
+ if (addTest.value) _push(`<span class="${ssrRenderClass([addTest.value.ok ? "good" : "bad", "test-result"])}" data-v-51b1ce74>${ssrInterpolate(addTest.value.ok ? "✓" : "✗")} ${ssrInterpolate(addTest.value.message)}</span>`);
383
398
  else _push(`<!---->`);
384
399
  _push(`</div><!--]-->`);
385
400
  } else _push(`<!---->`);
386
- _push(`<label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1hgizn7051"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12bnyt9011"))} data-v-366216bb>${ssrInterpolate(addSemantics.value)}</textarea></label>`);
387
- if (addError.value) _push(`<p class="m-err" data-v-366216bb>${ssrInterpolate(addError.value)}</p>`);
401
+ _push(`<label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1hgizn7051"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12bnyt9011"))} data-v-51b1ce74>${ssrInterpolate(addSemantics.value)}</textarea></label>`);
402
+ if (addError.value) _push(`<p class="m-err" data-v-51b1ce74>${ssrInterpolate(addError.value)}</p>`);
388
403
  else _push(`<!---->`);
389
- _push(`<div class="m-actions" data-v-366216bb><button class="aw-pill outline" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="aw-pill"${ssrIncludeBooleanAttr(addSaving.value) ? " disabled" : ""} data-v-366216bb>${ssrInterpolate(addSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bge46t173"))}</button></div></div></div>`);
404
+ _push(`<div class="m-actions" data-v-51b1ce74><button class="aw-pill outline" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="aw-pill"${ssrIncludeBooleanAttr(addSaving.value) ? " disabled" : ""} data-v-51b1ce74>${ssrInterpolate(addSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bge46t173"))}</button></div></div></div>`);
390
405
  } else _push(`<!---->`);
391
406
  _push(ssrRenderComponent(_component_a_spin, { spinning: !unref(dcw).loaded && !unref(dcw).error }, {
392
407
  default: withCtx((_, _push, _parent, _scopeId) => {
393
408
  if (_push) {
394
- _push(`<section class="aw-tile table-card" data-v-366216bb${_scopeId}><table class="nodes-table" data-v-366216bb${_scopeId}><thead data-v-366216bb${_scopeId}><tr data-v-366216bb${_scopeId}><th data-v-366216bb${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</th><th data-v-366216bb${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k403cy054"))}</th><th data-v-366216bb${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k42w8s055"))}</th><th data-v-366216bb${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1deqh0d056"))}</th><th data-v-366216bb${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k9r7d4e018"))}</th><th data-v-366216bb${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1k79ec9057"))}</th><th data-v-366216bb${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1dexou6058"))}</th><th data-v-366216bb${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1b1nnaa059"))}</th><th data-v-366216bb${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1i8rtqt060"))}</th><th class="right" data-v-366216bb${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-366216bb${_scopeId}><!--[-->`);
409
+ _push(`<section class="aw-tile table-card" data-v-51b1ce74${_scopeId}><table class="nodes-table" data-v-51b1ce74${_scopeId}><thead data-v-51b1ce74${_scopeId}><tr data-v-51b1ce74${_scopeId}><th data-v-51b1ce74${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</th><th data-v-51b1ce74${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k403cy054"))}</th><th data-v-51b1ce74${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k42w8s055"))}</th><th data-v-51b1ce74${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1deqh0d056"))}</th><th data-v-51b1ce74${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k9r7d4e018"))}</th><th data-v-51b1ce74${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1k79ec9057"))}</th><th data-v-51b1ce74${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1dexou6058"))}</th><th data-v-51b1ce74${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1b1nnaa059"))}</th><th data-v-51b1ce74${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1i8rtqt060"))}</th><th class="right" data-v-51b1ce74${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-51b1ce74${_scopeId}><!--[-->`);
395
410
  ssrRenderList(lineNodes.value, (n) => {
396
- _push(`<tr class="${ssrRenderClass({ "node-paused": !n.enabled })}" data-v-366216bb${_scopeId}><td data-v-366216bb${_scopeId}><span class="mono dim" data-v-366216bb${_scopeId}>${ssrInterpolate(n.id.slice(0, 8))}</span><b data-v-366216bb${_scopeId}>${ssrInterpolate(n.name)}</b><small class="mono ch" data-v-366216bb${_scopeId}>${ssrInterpolate(dcwTemplateRefCh(n.templateRef))}</small></td><td data-v-366216bb${_scopeId}><button class="${ssrRenderClass([{ on: n.enabled }, "ctrl-toggle"])}"${ssrIncludeBooleanAttr(togglingId.value === n.id) ? " disabled" : ""}${ssrRenderAttr("title", n.enabled ? "暂停该节点控制:下发将被拒绝" : "开启该节点控制:恢复可下发")} data-v-366216bb${_scopeId}><span class="ct-dot" data-v-366216bb${_scopeId}></span> ${ssrInterpolate(n.enabled ? _ctx.$t("dcwDetail.k3o3ib3159") : _ctx.$t("dcwDetail.k3n93ed062"))}</button></td><td data-v-366216bb${_scopeId}>`);
397
- if (!n.enabled) _push(`<span class="st-pill paused" data-v-366216bb${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3n93ed062"))}</span>`);
398
- else _push(`<span class="${ssrRenderClass([n.state, "st-pill"])}" data-v-366216bb${_scopeId}>${ssrInterpolate(stateLabel[n.state] ?? n.state)}</span>`);
399
- _push(`</td><td class="mono val" data-v-366216bb${_scopeId}>${ssrInterpolate(n.value != null ? n.value.toFixed(n.decimals) : "--")} <small data-v-366216bb${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
400
- if (n.lastAckAt) _push(`<small class="dim" data-v-366216bb${_scopeId}> · ${ssrInterpolate(n.lastAckAt.slice(11, 19))}</small>`);
411
+ _push(`<tr class="${ssrRenderClass({ "node-paused": !n.enabled })}" data-v-51b1ce74${_scopeId}><td data-v-51b1ce74${_scopeId}><span class="mono dim" data-v-51b1ce74${_scopeId}>${ssrInterpolate(n.id.slice(0, 8))}</span><b data-v-51b1ce74${_scopeId}>${ssrInterpolate(n.name)}</b><small class="mono ch" data-v-51b1ce74${_scopeId}>${ssrInterpolate(dcwTemplateRefCh(n.templateRef))}</small></td><td data-v-51b1ce74${_scopeId}><button class="${ssrRenderClass([{ on: n.enabled }, "ctrl-toggle"])}"${ssrIncludeBooleanAttr(togglingId.value === n.id) ? " disabled" : ""}${ssrRenderAttr("title", n.enabled ? "暂停该节点控制:下发将被拒绝" : "开启该节点控制:恢复可下发")} data-v-51b1ce74${_scopeId}><span class="ct-dot" data-v-51b1ce74${_scopeId}></span> ${ssrInterpolate(n.enabled ? _ctx.$t("dcwDetail.k3o3ib3159") : _ctx.$t("dcwDetail.k3n93ed062"))}</button></td><td data-v-51b1ce74${_scopeId}>`);
412
+ if (!n.enabled) _push(`<span class="st-pill paused" data-v-51b1ce74${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3n93ed062"))}</span>`);
413
+ else _push(`<span class="${ssrRenderClass([n.state, "st-pill"])}" data-v-51b1ce74${_scopeId}>${ssrInterpolate(stateLabel[n.state] ?? n.state)}</span>`);
414
+ _push(`</td><td class="mono val" data-v-51b1ce74${_scopeId}>${ssrInterpolate(n.value != null ? n.value.toFixed(n.decimals) : "--")} <small data-v-51b1ce74${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
415
+ if (n.lastAckAt) _push(`<small class="dim" data-v-51b1ce74${_scopeId}> · ${ssrInterpolate(n.lastAckAt.slice(11, 19))}</small>`);
401
416
  else _push(`<!---->`);
402
- _push(`</td><td class="mono val" data-v-366216bb${_scopeId}><span${ssrRenderAttr("title", n.lastReadError ?? _ctx.$t("dcwDetail.k9r7d4e019"))} class="${ssrRenderClass({ "read-stale": n.lastReadError })}" data-v-366216bb${_scopeId}>${ssrInterpolate(n.readValue != null ? n.readValue.toFixed(n.decimals) : "--")}</span><small data-v-366216bb${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
403
- if (n.lastReadAt) _push(`<small class="dim" data-v-366216bb${_scopeId}> · ${ssrInterpolate(n.lastReadAt.slice(11, 19))}</small>`);
417
+ _push(`</td><td class="mono val" data-v-51b1ce74${_scopeId}><span${ssrRenderAttr("title", n.lastReadError ?? _ctx.$t("dcwDetail.k9r7d4e019"))} class="${ssrRenderClass({ "read-stale": n.lastReadError })}" data-v-51b1ce74${_scopeId}>${ssrInterpolate(n.readValue != null ? n.readValue.toFixed(n.decimals) : "--")}</span><small data-v-51b1ce74${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
418
+ if (n.lastReadAt) _push(`<small class="dim" data-v-51b1ce74${_scopeId}> · ${ssrInterpolate(n.lastReadAt.slice(11, 19))}</small>`);
404
419
  else _push(`<!---->`);
405
- _push(`<button class="mini-btn read-btn"${ssrIncludeBooleanAttr(readingId.value === n.id) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e020"))} data-v-366216bb${_scopeId}>${ssrInterpolate(readingId.value === n.id ? "···" : _ctx.$t("dcwDetail.k9r7d4e021"))}</button></td><td data-v-366216bb${_scopeId}><div class="write-row" data-v-366216bb${_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-366216bb${_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-366216bb${_scopeId}>${ssrInterpolate(writingId.value === n.id ? _ctx.$t("dcwDetail.k3l3h80123") : _ctx.$t("dcwDetail.k3w6td174"))}</button></div></td><td class="mono dim" data-v-366216bb${_scopeId}>${ssrInterpolate(n.min)} ~ ${ssrInterpolate(n.max)} ${ssrInterpolate(n.unit)}</td><td class="mono" data-v-366216bb${_scopeId}>${ssrInterpolate(n.holdIntervalMs == null ? _ctx.$t("dcwDetail.k3zul4160") : `${n.holdIntervalMs}ms`)} <small class="dim"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e016"))} data-v-366216bb${_scopeId}>· ${ssrInterpolate(n.readIntervalMs === 0 ? _ctx.$t("dcwDetail.k9r7d4e022") : n.readIntervalMs == null ? _ctx.$t("dcwDetail.k9r7d4e023") : `${n.readIntervalMs}ms`)}</small></td><td data-v-366216bb${_scopeId}>${ssrInterpolate(deviceName(n.deviceBindingId))}</td><td class="right" data-v-366216bb${_scopeId}><button class="mini-btn danger" data-v-366216bb${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></td></tr>`);
420
+ _push(`<button class="mini-btn read-btn"${ssrIncludeBooleanAttr(readingId.value === n.id) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e020"))} data-v-51b1ce74${_scopeId}>${ssrInterpolate(readingId.value === n.id ? "···" : _ctx.$t("dcwDetail.k9r7d4e021"))}</button></td><td data-v-51b1ce74${_scopeId}><div class="write-row" data-v-51b1ce74${_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-51b1ce74${_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-51b1ce74${_scopeId}>${ssrInterpolate(writingId.value === n.id ? _ctx.$t("dcwDetail.k3l3h80123") : _ctx.$t("dcwDetail.k3w6td174"))}</button></div></td><td class="mono dim" data-v-51b1ce74${_scopeId}>${ssrInterpolate(n.min)} ~ ${ssrInterpolate(n.max)} ${ssrInterpolate(n.unit)}</td><td class="mono" data-v-51b1ce74${_scopeId}>${ssrInterpolate(n.holdIntervalMs == null ? _ctx.$t("dcwDetail.k3zul4160") : `${n.holdIntervalMs}ms`)} <small class="dim"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e016"))} data-v-51b1ce74${_scopeId}>· ${ssrInterpolate(n.readIntervalMs === 0 ? _ctx.$t("dcwDetail.k9r7d4e022") : n.readIntervalMs == null ? _ctx.$t("dcwDetail.k9r7d4e023") : `${n.readIntervalMs}ms`)}</small></td><td data-v-51b1ce74${_scopeId}>${ssrInterpolate(deviceName(n.deviceBindingId))}</td><td class="right" data-v-51b1ce74${_scopeId}><button class="mini-btn danger" data-v-51b1ce74${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></td></tr>`);
406
421
  });
407
422
  _push(`<!--]-->`);
408
- if (unref(dcw).loaded && lineNodes.value.length === 0) _push(`<tr data-v-366216bb${_scopeId}><td colspan="9" data-v-366216bb${_scopeId}><div class="pane-empty" style="${ssrRenderStyle({ "min-height": "120px" })}" data-v-366216bb${_scopeId}><p class="pe-sub" data-v-366216bb${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1wtecyw064"))}</p></div></td></tr>`);
423
+ if (unref(dcw).loaded && lineNodes.value.length === 0) _push(`<tr data-v-51b1ce74${_scopeId}><td colspan="9" data-v-51b1ce74${_scopeId}><div class="pane-empty" style="${ssrRenderStyle({ "min-height": "120px" })}" data-v-51b1ce74${_scopeId}><p class="pe-sub" data-v-51b1ce74${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1wtecyw064"))}</p></div></td></tr>`);
409
424
  else _push(`<!---->`);
410
425
  _push(`</tbody></table></section>`);
411
426
  } else return [createVNode("section", { class: "aw-tile table-card" }, [createVNode("table", { class: "nodes-table" }, [createVNode("thead", null, [createVNode("tr", null, [
@@ -526,140 +541,173 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
526
541
  }),
527
542
  _: 1
528
543
  }, _parent));
529
- _push(`<section class="aw-tile recipe-card" data-v-366216bb><div class="recipe-hd" data-v-366216bb><h3 data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1j8w3hd065"))}</h3><span class="panel-tag mono" data-v-366216bb>${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-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1akm6dc066"))}</button><button class="mini-btn" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1aka0ki067"))}</button></div><p class="recipe-sub" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k6bl2q8068"))}</p>`);
544
+ _push(`<section class="aw-tile recipe-card" data-v-51b1ce74><div class="recipe-hd" data-v-51b1ce74><h3 data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1j8w3hd065"))}</h3><span class="panel-tag mono" data-v-51b1ce74>${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-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1akm6dc066"))}</button><button class="mini-btn" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1aka0ki067"))}</button></div><p class="recipe-sub" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k6bl2q8068"))}</p>`);
530
545
  if (lineProducts.value.length) {
531
- _push(`<div class="product-row" data-v-366216bb><button class="${ssrRenderClass([{ on: filterProductId.value === "" }, "prod-chip"])}" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4t1069"))}</button><!--[-->`);
546
+ _push(`<div class="product-row" data-v-51b1ce74><button class="${ssrRenderClass([{ on: filterProductId.value === "" }, "prod-chip"])}" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4t1069"))}</button><!--[-->`);
532
547
  ssrRenderList(lineProducts.value, (p) => {
533
- _push(`<button class="${ssrRenderClass([{ on: filterProductId.value === p.id }, "prod-chip"])}"${ssrRenderAttr("title", p.description)} data-v-366216bb>${ssrInterpolate(p.name)} <span class="prod-del"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1bpfjgx012"))} data-v-366216bb>×</span></button>`);
548
+ _push(`<button class="${ssrRenderClass([{ on: filterProductId.value === p.id }, "prod-chip"])}"${ssrRenderAttr("title", p.description)} data-v-51b1ce74>${ssrInterpolate(p.name)} <span class="prod-del"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1bpfjgx012"))} data-v-51b1ce74>×</span></button>`);
534
549
  });
535
550
  _push(`<!--]--></div>`);
536
551
  } else _push(`<p class="dim" style="${ssrRenderStyle({
537
552
  "margin": "6px 0 12px",
538
553
  "font-size": "12px"
539
- })}" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.knov3zg070"))}</p>`);
540
- _push(`<div class="recipe-grid" data-v-366216bb><!--[-->`);
554
+ })}" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.knov3zg070"))}</p>`);
555
+ _push(`<div class="recipe-grid" data-v-51b1ce74><!--[-->`);
541
556
  ssrRenderList(visibleRecipes.value, (r) => {
542
- _push(`<div class="recipe-item" data-v-366216bb><div class="recipe-name" data-v-366216bb><b data-v-366216bb>${ssrInterpolate(r.name)}</b><small class="dim" data-v-366216bb>${ssrInterpolate(productName(r.productId))}</small><small class="mono dim" data-v-366216bb>${ssrInterpolate(r.id)}</small></div>`);
543
- if (r.description) _push(`<p class="dim desc" data-v-366216bb>${ssrInterpolate(r.description)}</p>`);
557
+ _push(`<div class="recipe-item" data-v-51b1ce74><div class="recipe-name" data-v-51b1ce74><b data-v-51b1ce74>${ssrInterpolate(r.name)}</b>`);
558
+ if (r.version) _push(`<span class="param-chip mono"${ssrRenderAttr("title", unref(t)("dcwDetail.histTitle"))} data-v-51b1ce74>v${ssrInterpolate(r.version)}</span>`);
559
+ else _push(`<!---->`);
560
+ _push(`<small class="dim" data-v-51b1ce74>${ssrInterpolate(productName(r.productId))}</small><small class="mono dim" data-v-51b1ce74>${ssrInterpolate(r.id)}</small></div>`);
561
+ if (r.description) _push(`<p class="dim desc" data-v-51b1ce74>${ssrInterpolate(r.description)}</p>`);
544
562
  else _push(`<!---->`);
545
- _push(`<div class="recipe-params mono" data-v-366216bb><!--[-->`);
563
+ _push(`<div class="recipe-params mono" data-v-51b1ce74><!--[-->`);
546
564
  ssrRenderList(r.params, (p, i) => {
547
- _push(`<span class="param-chip" data-v-366216bb>${ssrInterpolate(unref(dcw).templates.find((t) => t.key === (p.templateRef ?? "").replace("dcw-", ""))?.ch ?? p.templateRef)} = ${ssrInterpolate(p.value)}</span>`);
565
+ _push(`<span class="param-chip" data-v-51b1ce74>${ssrInterpolate(unref(dcw).templates.find((t) => t.key === (p.templateRef ?? "").replace("dcw-", ""))?.ch ?? p.templateRef)} = ${ssrInterpolate(p.value)}</span>`);
548
566
  });
549
567
  _push(`<!--]--><!--[-->`);
550
568
  ssrRenderList(r.daqWindows, (w, i) => {
551
- _push(`<span class="param-chip daqwin"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1l11api013"))} data-v-366216bb> ◎ ${ssrInterpolate(daqNodeCh(w.nodeId))} ∈ [${ssrInterpolate(w.min ?? "-∞")}, ${ssrInterpolate(w.max ?? "+∞")}] </span>`);
569
+ _push(`<span class="param-chip daqwin"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1l11api013"))} data-v-51b1ce74> ◎ ${ssrInterpolate(daqNodeCh(w.nodeId))} ∈ [${ssrInterpolate(w.min ?? "-∞")}, ${ssrInterpolate(w.max ?? "+∞")}] </span>`);
552
570
  });
553
- _push(`<!--]--></div><div class="recipe-actions" data-v-366216bb><button class="pill-btn" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1497qvr071"))}</button><button class="mini-btn" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k45eb0072"))}</button><button class="mini-btn danger" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></div></div>`);
571
+ _push(`<!--]--></div><div class="recipe-actions" data-v-51b1ce74><button class="pill-btn" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1497qvr071"))}</button><button class="mini-btn" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k45eb0072"))}</button><button class="mini-btn" data-v-51b1ce74>${ssrInterpolate(unref(t)("dcwDetail.histBtn"))}`);
572
+ if (r.version) _push(`<span class="mono" data-v-51b1ce74>·v${ssrInterpolate(r.version)}</span>`);
573
+ else _push(`<!---->`);
574
+ _push(`</button><button class="mini-btn danger" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></div></div>`);
554
575
  });
555
576
  _push(`<!--]-->`);
556
- if (visibleRecipes.value.length === 0) _push(`<div class="pane-empty" style="${ssrRenderStyle({ "grid-column": "1 / -1" })}" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.keko1xy073"))}</div>`);
577
+ if (visibleRecipes.value.length === 0) _push(`<div class="pane-empty" style="${ssrRenderStyle({ "grid-column": "1 / -1" })}" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.keko1xy073"))}</div>`);
557
578
  else _push(`<!---->`);
558
579
  _push(`</div>`);
559
- if (applyResult.value) _push(`<div class="banner good" data-v-366216bb>${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-366216bb>${ssrInterpolate(runDataLoading.value ? _ctx.$t("dcwDetail.k1br0ij9161") : _ctx.$t("dcwDetail.kxwei5175"))}</button></div>`);
580
+ if (applyResult.value) _push(`<div class="banner good" data-v-51b1ce74>${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-51b1ce74>${ssrInterpolate(runDataLoading.value ? _ctx.$t("dcwDetail.k1br0ij9161") : _ctx.$t("dcwDetail.kxwei5175"))}</button></div>`);
560
581
  else _push(`<!---->`);
561
582
  if (lineRuns.value.length) {
562
- _push(`<div class="runs" data-v-366216bb><p class="sec-label" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1rjer8d074"))}</p><table class="nodes-table" data-v-366216bb><thead data-v-366216bb><tr data-v-366216bb><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k400lb075"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k4497j076"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqhtmu077"))}</th><th class="right" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-366216bb><!--[-->`);
583
+ _push(`<div class="runs" data-v-51b1ce74><p class="sec-label" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1rjer8d074"))}</p><table class="nodes-table" data-v-51b1ce74><thead data-v-51b1ce74><tr data-v-51b1ce74><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k400lb075"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k4497j076"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqhtmu077"))}</th><th class="right" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-51b1ce74><!--[-->`);
563
584
  ssrRenderList([...lineRuns.value].reverse().slice(0, 8), (run) => {
564
- _push(`<tr data-v-366216bb><td class="mono" data-v-366216bb>${ssrInterpolate(run.id)}</td><td data-v-366216bb>${ssrInterpolate(run.recipeName)}</td><td class="mono dim" data-v-366216bb>${ssrInterpolate(run.startedAt.slice(5, 19))} ~ ${ssrInterpolate(run.endedAt ? run.endedAt.slice(5, 19) : _ctx.$t("dcwDetail.k3vpfg9162"))}</td><td data-v-366216bb><span class="${ssrRenderClass([run.results.every((r) => r.ok) ? "ok" : "warn", "st-pill"])}" data-v-366216bb>${ssrInterpolate(run.results.filter((r) => r.ok).length)}/${ssrInterpolate(run.results.length)}</span></td><td class="right" data-v-366216bb><button class="mini-btn"${ssrIncludeBooleanAttr(runDataLoading.value) ? " disabled" : ""} data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1dzwrdp078"))}</button>`);
565
- if (!run.endedAt) _push(`<button class="mini-btn" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1blr7y7079"))}</button>`);
585
+ _push(`<tr data-v-51b1ce74><td class="mono" data-v-51b1ce74>${ssrInterpolate(run.id)}</td><td data-v-51b1ce74>${ssrInterpolate(run.recipeName)}</td><td class="mono dim" data-v-51b1ce74>${ssrInterpolate(run.startedAt.slice(5, 19))} ~ ${ssrInterpolate(run.endedAt ? run.endedAt.slice(5, 19) : _ctx.$t("dcwDetail.k3vpfg9162"))}</td><td data-v-51b1ce74><span class="${ssrRenderClass([run.results.every((r) => r.ok) ? "ok" : "warn", "st-pill"])}" data-v-51b1ce74>${ssrInterpolate(run.results.filter((r) => r.ok).length)}/${ssrInterpolate(run.results.length)}</span></td><td class="right" data-v-51b1ce74><button class="mini-btn"${ssrIncludeBooleanAttr(runDataLoading.value) ? " disabled" : ""} data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1dzwrdp078"))}</button>`);
586
+ if (!run.endedAt) _push(`<button class="mini-btn" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1blr7y7079"))}</button>`);
566
587
  else _push(`<!---->`);
567
588
  _push(`</td></tr>`);
568
589
  });
569
590
  _push(`<!--]--></tbody></table></div>`);
570
591
  } else _push(`<!---->`);
571
592
  if (runDataView.value) {
572
- _push(`<div class="modal-mask" data-v-366216bb><div class="modal" data-v-366216bb><h3 class="m-title" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k11lq94k145"))} ${ssrInterpolate(runDataView.value.data.run.recipeName)}(${ssrInterpolate(runDataView.value.runId)}) </h3><p class="sec-label" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1me41w8080"))}</p><table class="nodes-table" data-v-366216bb><thead data-v-366216bb><tr data-v-366216bb><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k40t11083"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3xuaw084"))}</th><th data-v-366216bb>min ~ max</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k4118o085"))}</th></tr></thead><tbody data-v-366216bb><!--[-->`);
593
+ _push(`<div class="modal-mask" data-v-51b1ce74><div class="modal" data-v-51b1ce74><h3 class="m-title" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k11lq94k145"))} ${ssrInterpolate(runDataView.value.data.run.recipeName)}(${ssrInterpolate(runDataView.value.runId)}) </h3><p class="sec-label" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1me41w8080"))}</p><table class="nodes-table" data-v-51b1ce74><thead data-v-51b1ce74><tr data-v-51b1ce74><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k40t11083"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3xuaw084"))}</th><th data-v-51b1ce74>min ~ max</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k4118o085"))}</th></tr></thead><tbody data-v-51b1ce74><!--[-->`);
573
594
  ssrRenderList(runDataView.value.data.daq, (d) => {
574
- _push(`<tr data-v-366216bb><td data-v-366216bb>${ssrInterpolate(d.ch)}<small class="mono dim" data-v-366216bb>${ssrInterpolate(d.unit)}</small></td><td data-v-366216bb>${ssrInterpolate(d.nodeName)}</td><td class="mono" data-v-366216bb>${ssrInterpolate(d.latest)}</td><td class="mono" data-v-366216bb>${ssrInterpolate(d.avg)}</td><td class="mono dim" data-v-366216bb>${ssrInterpolate(d.min)} ~ ${ssrInterpolate(d.max)}</td><td class="mono dim" data-v-366216bb>${ssrInterpolate(d.cnt)}</td></tr>`);
595
+ _push(`<tr data-v-51b1ce74><td data-v-51b1ce74>${ssrInterpolate(d.ch)}<small class="mono dim" data-v-51b1ce74>${ssrInterpolate(d.unit)}</small></td><td data-v-51b1ce74>${ssrInterpolate(d.nodeName)}</td><td class="mono" data-v-51b1ce74>${ssrInterpolate(d.latest)}</td><td class="mono" data-v-51b1ce74>${ssrInterpolate(d.avg)}</td><td class="mono dim" data-v-51b1ce74>${ssrInterpolate(d.min)} ~ ${ssrInterpolate(d.max)}</td><td class="mono dim" data-v-51b1ce74>${ssrInterpolate(d.cnt)}</td></tr>`);
575
596
  });
576
597
  _push(`<!--]-->`);
577
- if (runDataView.value.data.daq.length === 0) _push(`<tr data-v-366216bb><td colspan="6" class="dim" style="${ssrRenderStyle({
598
+ if (runDataView.value.data.daq.length === 0) _push(`<tr data-v-51b1ce74><td colspan="6" class="dim" style="${ssrRenderStyle({
578
599
  "text-align": "center",
579
600
  "padding": "12px"
580
- })}" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.kd457ry086"))}</td></tr>`);
601
+ })}" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kd457ry086"))}</td></tr>`);
581
602
  else _push(`<!---->`);
582
- _push(`</tbody></table><p class="sec-label" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k12b7cxs087"))}</p><table class="nodes-table" data-v-366216bb><thead data-v-366216bb><tr data-v-366216bb><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3xbjr088"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3ncbsh089"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3lh3mz090"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k454pg091"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k40ieu092"))}</th></tr></thead><tbody data-v-366216bb><!--[-->`);
603
+ _push(`</tbody></table><p class="sec-label" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k12b7cxs087"))}</p><table class="nodes-table" data-v-51b1ce74><thead data-v-51b1ce74><tr data-v-51b1ce74><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3xbjr088"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3ncbsh089"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3lh3mz090"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k454pg091"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k40ieu092"))}</th></tr></thead><tbody data-v-51b1ce74><!--[-->`);
583
604
  ssrRenderList(runDataView.value.data.writes, (w, i) => {
584
- _push(`<tr data-v-366216bb><td data-v-366216bb>${ssrInterpolate(w.param)}</td><td data-v-366216bb>${ssrInterpolate(w.nodeName)}</td><td class="mono" data-v-366216bb>${ssrInterpolate(w.eng)}</td><td class="mono dim" data-v-366216bb>${ssrInterpolate(w.raw)}</td><td data-v-366216bb><span class="${ssrRenderClass([w.ok ? "ok" : "alarm", "st-pill"])}" data-v-366216bb>${ssrInterpolate(w.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="mono dim" data-v-366216bb>${ssrInterpolate(w.at.slice(5, 19))}</td></tr>`);
605
+ _push(`<tr data-v-51b1ce74><td data-v-51b1ce74>${ssrInterpolate(w.param)}</td><td data-v-51b1ce74>${ssrInterpolate(w.nodeName)}</td><td class="mono" data-v-51b1ce74>${ssrInterpolate(w.eng)}</td><td class="mono dim" data-v-51b1ce74>${ssrInterpolate(w.raw)}</td><td data-v-51b1ce74><span class="${ssrRenderClass([w.ok ? "ok" : "alarm", "st-pill"])}" data-v-51b1ce74>${ssrInterpolate(w.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="mono dim" data-v-51b1ce74>${ssrInterpolate(w.at.slice(5, 19))}</td></tr>`);
585
606
  });
586
607
  _push(`<!--]-->`);
587
- if (runDataView.value.data.writes.length === 0) _push(`<tr data-v-366216bb><td colspan="6" class="dim" style="${ssrRenderStyle({
608
+ if (runDataView.value.data.writes.length === 0) _push(`<tr data-v-51b1ce74><td colspan="6" class="dim" style="${ssrRenderStyle({
588
609
  "text-align": "center",
589
610
  "padding": "12px"
590
- })}" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.knzcp8i093"))}</td></tr>`);
611
+ })}" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.knzcp8i093"))}</td></tr>`);
591
612
  else _push(`<!---->`);
592
- _push(`</tbody></table><div class="m-actions" data-v-366216bb><button class="aw-pill outline" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3x62t043"))}</button></div></div></div>`);
613
+ _push(`</tbody></table><div class="m-actions" data-v-51b1ce74><button class="aw-pill outline" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3x62t043"))}</button></div></div></div>`);
593
614
  } else _push(`<!---->`);
594
615
  _push(`</section>`);
595
616
  if (recipeOpen.value) {
596
- _push(`<div class="modal-mask" data-v-366216bb><div class="modal" data-v-366216bb><h3 class="m-title" data-v-366216bb>${ssrInterpolate(recipeEditing.value ? _ctx.$t("dcwDetail.k1iiwk0i163") : _ctx.$t("dcwDetail.k1efq0r9176"))}</h3><div class="f-grid" data-v-366216bb><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1dw4fzf094"))}<em data-v-366216bb>*</em></span><select class="inp" data-v-366216bb><!--[-->`);
617
+ _push(`<div class="modal-mask" data-v-51b1ce74><div class="modal" data-v-51b1ce74><h3 class="m-title" data-v-51b1ce74>${ssrInterpolate(recipeEditing.value ? _ctx.$t("dcwDetail.k1iiwk0i163") : _ctx.$t("dcwDetail.k1efq0r9176"))}</h3><div class="f-grid" data-v-51b1ce74><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1dw4fzf094"))}<em data-v-51b1ce74>*</em></span><select class="inp" data-v-51b1ce74><!--[-->`);
597
618
  ssrRenderList(lineProducts.value, (p) => {
598
- _push(`<option${ssrRenderAttr("value", p.id)} data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(recipeForm.productId) ? ssrLooseContain(recipeForm.productId, p.id) : ssrLooseEqual(recipeForm.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
619
+ _push(`<option${ssrRenderAttr("value", p.id)} data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(recipeForm.productId) ? ssrLooseContain(recipeForm.productId, p.id) : ssrLooseEqual(recipeForm.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
599
620
  });
600
- _push(`<!--]--></select></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1l3f8so095"))}<em data-v-366216bb>*</em></span><input${ssrRenderAttr("value", recipeForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", recipeForm.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-366216bb></label></div><p class="sec-label" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.ka1kfgh097"))}</p><!--[-->`);
621
+ _push(`<!--]--></select></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1l3f8so095"))}<em data-v-51b1ce74>*</em></span><input${ssrRenderAttr("value", recipeForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", recipeForm.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-51b1ce74></label></div><p class="sec-label" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.ka1kfgh097"))}</p><!--[-->`);
601
622
  ssrRenderList(recipeForm.params, (p, i) => {
602
- _push(`<div class="param-row" data-v-366216bb><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</span><select class="inp" data-v-366216bb><!--[-->`);
623
+ _push(`<div class="param-row" data-v-51b1ce74><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</span><select class="inp" data-v-51b1ce74><!--[-->`);
603
624
  ssrRenderList(lineNodes.value, (n) => {
604
- _push(`<option${ssrRenderAttr("value", n.id)} data-v-366216bb${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>`);
625
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-51b1ce74${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>`);
605
626
  });
606
- _push(`<!--]--></select></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3renp2098"))}<em data-v-366216bb>*</em></span><input${ssrRenderAttr("value", p.value)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${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-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${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-366216bb></label><button class="mini-btn danger param-del" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
627
+ _push(`<!--]--></select></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3renp2098"))}<em data-v-51b1ce74>*</em></span><input${ssrRenderAttr("value", p.value)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${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-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${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-51b1ce74></label><button class="mini-btn danger param-del" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
607
628
  });
608
- _push(`<!--]--><button class="mini-btn" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1broh7h100"))}</button><p class="sec-label" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1h5gues101"))}</p><!--[-->`);
629
+ _push(`<!--]--><button class="mini-btn" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1broh7h100"))}</button><p class="sec-label" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1h5gues101"))}</p><!--[-->`);
609
630
  ssrRenderList(recipeForm.daqWindows, (w, i) => {
610
- _push(`<div class="param-row" data-v-366216bb><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1empnnb102"))}</span><select class="inp" data-v-366216bb><!--[-->`);
631
+ _push(`<div class="param-row" data-v-51b1ce74><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1empnnb102"))}</span><select class="inp" data-v-51b1ce74><!--[-->`);
611
632
  ssrRenderList(lineDaqNodes.value, (n) => {
612
- _push(`<option${ssrRenderAttr("value", n.id)} data-v-366216bb${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>`);
633
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-51b1ce74${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>`);
613
634
  });
614
- _push(`<!--]--></select></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.kqm08ap103"))}</span><input${ssrRenderAttr("value", w.min)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.kpypf8g104"))}</span><input${ssrRenderAttr("value", w.max)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-366216bb></label><button class="mini-btn danger param-del" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
635
+ _push(`<!--]--></select></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kqm08ap103"))}</span><input${ssrRenderAttr("value", w.min)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kpypf8g104"))}</span><input${ssrRenderAttr("value", w.max)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-51b1ce74></label><button class="mini-btn danger param-del" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
615
636
  });
616
- _push(`<!--]--><button class="mini-btn"${ssrIncludeBooleanAttr(lineDaqNodes.value.length === 0) ? " disabled" : ""}${ssrRenderAttr("title", lineDaqNodes.value.length === 0 ? "本产线暂无数采节点" : "")} data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.kv1de1p105"))}</button>`);
617
- if (recipeError.value) _push(`<p class="m-err" data-v-366216bb>${ssrInterpolate(recipeError.value)}</p>`);
637
+ _push(`<!--]--><button class="mini-btn"${ssrIncludeBooleanAttr(lineDaqNodes.value.length === 0) ? " disabled" : ""}${ssrRenderAttr("title", lineDaqNodes.value.length === 0 ? "本产线暂无数采节点" : "")} data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kv1de1p105"))}</button>`);
638
+ if (recipeError.value) _push(`<p class="m-err" data-v-51b1ce74>${ssrInterpolate(recipeError.value)}</p>`);
639
+ else _push(`<!---->`);
640
+ _push(`<div class="m-actions" data-v-51b1ce74><button class="aw-pill outline" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(recipeSaving.value) ? " disabled" : ""} data-v-51b1ce74>${ssrInterpolate(recipeSaving.value ? _ctx.$t("dcwDetail.k1b38d59164") : _ctx.$t("dcwDetail.k1b3kwg0177"))}</button></div></div></div>`);
641
+ } else _push(`<!---->`);
642
+ if (verOpen.value) {
643
+ _push(`<div class="modal-mask" data-v-51b1ce74><div class="modal" style="${ssrRenderStyle({ "max-width": "760px" })}" data-v-51b1ce74><div class="modal-head" data-v-51b1ce74><h3 data-v-51b1ce74>${ssrInterpolate(unref(t)("dcwDetail.histTitle"))}`);
644
+ if (verRecipe.value) _push(`<span class="dim" style="${ssrRenderStyle({
645
+ "margin-left": "8px",
646
+ "font-size": "12px"
647
+ })}" data-v-51b1ce74>${ssrInterpolate(verRecipe.value.name)} · v${ssrInterpolate(verRecipe.value.version)}</span>`);
618
648
  else _push(`<!---->`);
619
- _push(`<div class="m-actions" data-v-366216bb><button class="aw-pill outline" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(recipeSaving.value) ? " disabled" : ""} data-v-366216bb>${ssrInterpolate(recipeSaving.value ? _ctx.$t("dcwDetail.k1b38d59164") : _ctx.$t("dcwDetail.k1b3kwg0177"))}</button></div></div></div>`);
649
+ _push(`</h3><button class="mini-btn" data-v-51b1ce74> ✕ </button></div>`);
650
+ if (verMsg.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin": "6px 0" })}" data-v-51b1ce74>${ssrInterpolate(verMsg.value)}</p>`);
651
+ else _push(`<!---->`);
652
+ if (verLoading.value) _push(`<p class="dim" data-v-51b1ce74>${ssrInterpolate(unref(t)("dcwDetail.histLoading"))}</p>`);
653
+ else if (verRows.value.length === 0) _push(`<div class="pane-empty" data-v-51b1ce74>${ssrInterpolate(unref(t)("dcwDetail.histEmpty"))}</div>`);
654
+ else {
655
+ _push(`<!--[-->`);
656
+ ssrRenderList(verRows.value, (row, i) => {
657
+ _push(`<div class="${ssrRenderClass([{ cur: row.current }, "ver-row"])}" data-v-51b1ce74><div class="ver-head" data-v-51b1ce74><span class="mono ver-v" data-v-51b1ce74>v${ssrInterpolate(row.version)}</span><span class="${ssrRenderClass([row.by ?? (row.current ? "cur" : ""), "ver-src"])}" data-v-51b1ce74>${ssrInterpolate(row.current ? unref(t)("dcwDetail.histCurrent") : verSrcLabel(row.by))}</span><span class="mono dim" data-v-51b1ce74>${ssrInterpolate(row.at.slice(0, 19).replace("T", " "))}</span><span class="ver-actor" data-v-51b1ce74>${ssrInterpolate(row.actorName || "—")}</span>`);
658
+ if (!row.current) _push(`<button class="mini-btn" data-v-51b1ce74>${ssrInterpolate(unref(t)("dcwDetail.revertTo"))}</button>`);
659
+ else _push(`<!---->`);
660
+ _push(`</div>`);
661
+ if (row.description) _push(`<p class="ver-desc" data-v-51b1ce74>${ssrInterpolate(row.description)}</p>`);
662
+ else _push(`<!---->`);
663
+ _push(`<p class="ver-diff mono" data-v-51b1ce74>${ssrInterpolate(verDiff(row, i))}</p></div>`);
664
+ });
665
+ _push(`<!--]-->`);
666
+ }
667
+ _push(`</div></div>`);
620
668
  } else _push(`<!---->`);
621
- _push(`<section class="aw-tile query-card" data-v-366216bb><p class="sec-label" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1us3jse106"))}</p><div class="q-grid" data-v-366216bb><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-366216bb><option value="" data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(query.productId) ? ssrLooseContain(query.productId, "") : ssrLooseEqual(query.productId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkl1jx107"))}</option><!--[-->`);
669
+ _push(`<section class="aw-tile query-card" data-v-51b1ce74><p class="sec-label" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1us3jse106"))}</p><div class="q-grid" data-v-51b1ce74><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-51b1ce74><option value="" data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(query.productId) ? ssrLooseContain(query.productId, "") : ssrLooseEqual(query.productId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkl1jx107"))}</option><!--[-->`);
622
670
  ssrRenderList(lineProducts.value, (p) => {
623
- _push(`<option${ssrRenderAttr("value", p.id)} data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(query.productId) ? ssrLooseContain(query.productId, p.id) : ssrLooseEqual(query.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
671
+ _push(`<option${ssrRenderAttr("value", p.id)} data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(query.productId) ? ssrLooseContain(query.productId, p.id) : ssrLooseEqual(query.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
624
672
  });
625
- _push(`<!--]--></select></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!query.productId) ? " disabled" : ""} data-v-366216bb><option value="" data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(query.recipeId) ? ssrLooseContain(query.recipeId, "") : ssrLooseEqual(query.recipeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7cr108"))}</option><!--[-->`);
673
+ _push(`<!--]--></select></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!query.productId) ? " disabled" : ""} data-v-51b1ce74><option value="" data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(query.recipeId) ? ssrLooseContain(query.recipeId, "") : ssrLooseEqual(query.recipeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7cr108"))}</option><!--[-->`);
626
674
  ssrRenderList(visibleRecipes.value, (r) => {
627
- _push(`<option${ssrRenderAttr("value", r.id)} data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(query.recipeId) ? ssrLooseContain(query.recipeId, r.id) : ssrLooseEqual(query.recipeId, r.id)) ? " selected" : ""}>${ssrInterpolate(r.name)}</option>`);
675
+ _push(`<option${ssrRenderAttr("value", r.id)} data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(query.recipeId) ? ssrLooseContain(query.recipeId, r.id) : ssrLooseEqual(query.recipeId, r.id)) ? " selected" : ""}>${ssrInterpolate(r.name)}</option>`);
628
676
  });
629
- _push(`<!--]--></select></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1demcae109"))}</span><select class="inp" data-v-366216bb><option value="" data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(query.paramKey) ? ssrLooseContain(query.paramKey, "") : ssrLooseEqual(query.paramKey, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7ya110"))}</option><!--[-->`);
677
+ _push(`<!--]--></select></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1demcae109"))}</span><select class="inp" data-v-51b1ce74><option value="" data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(query.paramKey) ? ssrLooseContain(query.paramKey, "") : ssrLooseEqual(query.paramKey, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7ya110"))}</option><!--[-->`);
630
678
  ssrRenderList(daqParamKeys.value, (k) => {
631
- _push(`<option${ssrRenderAttr("value", k)} data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(query.paramKey) ? ssrLooseContain(query.paramKey, k) : ssrLooseEqual(query.paramKey, k)) ? " selected" : ""}>${ssrInterpolate(k)}</option>`);
679
+ _push(`<option${ssrRenderAttr("value", k)} data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(query.paramKey) ? ssrLooseContain(query.paramKey, k) : ssrLooseEqual(query.paramKey, k)) ? " selected" : ""}>${ssrInterpolate(k)}</option>`);
632
680
  });
633
- _push(`<!--]--></select></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</span><select class="inp" data-v-366216bb><option value="" data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(query.nodeId) ? ssrLooseContain(query.nodeId, "") : ssrLooseEqual(query.nodeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkul3k111"))}</option><!--[-->`);
681
+ _push(`<!--]--></select></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</span><select class="inp" data-v-51b1ce74><option value="" data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(query.nodeId) ? ssrLooseContain(query.nodeId, "") : ssrLooseEqual(query.nodeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkul3k111"))}</option><!--[-->`);
634
682
  ssrRenderList(lineDaqNodes.value, (n) => {
635
- _push(`<option${ssrRenderAttr("value", n.id)} data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(query.nodeId) ? ssrLooseContain(query.nodeId, n.id) : ssrLooseEqual(query.nodeId, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
683
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(query.nodeId) ? ssrLooseContain(query.nodeId, n.id) : ssrLooseEqual(query.nodeId, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
636
684
  });
637
- _push(`<!--]--></select></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.kx2ojn0112"))}</span><input${ssrRenderAttr("value", query.lastMin)} type="number" min="1" max="10080" class="inp" data-v-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.kjvnvn4113"))}</span><input${ssrRenderAttr("value", query.bucketMs)} type="number" min="1000" step="500" class="inp" data-v-366216bb></label><div class="f q-actions" data-v-366216bb><button class="pill-btn"${ssrIncludeBooleanAttr(queryBusy.value) ? " disabled" : ""} data-v-366216bb>${ssrInterpolate(queryBusy.value ? _ctx.$t("dcwDetail.k1eyx09r165") : _ctx.$t("dcwDetail.k416ek178"))}</button></div></div>`);
638
- if (queryError.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "8px" })}" data-v-366216bb>${ssrInterpolate(queryError.value)}</p>`);
685
+ _push(`<!--]--></select></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kx2ojn0112"))}</span><input${ssrRenderAttr("value", query.lastMin)} type="number" min="1" max="10080" class="inp" data-v-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kjvnvn4113"))}</span><input${ssrRenderAttr("value", query.bucketMs)} type="number" min="1000" step="500" class="inp" data-v-51b1ce74></label><div class="f q-actions" data-v-51b1ce74><button class="pill-btn"${ssrIncludeBooleanAttr(queryBusy.value) ? " disabled" : ""} data-v-51b1ce74>${ssrInterpolate(queryBusy.value ? _ctx.$t("dcwDetail.k1eyx09r165") : _ctx.$t("dcwDetail.k416ek178"))}</button></div></div>`);
686
+ if (queryError.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "8px" })}" data-v-51b1ce74>${ssrInterpolate(queryError.value)}</p>`);
639
687
  else _push(`<!---->`);
640
688
  if (queryResult.value) {
641
- _push(`<div class="q-result" data-v-366216bb><table class="nodes-table" data-v-366216bb><thead data-v-366216bb><tr data-v-366216bb><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k42kcu114"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k49ujb115"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k40pvw116"))}</th><th data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3xho3117"))}</th></tr></thead><tbody data-v-366216bb><!--[-->`);
689
+ _push(`<div class="q-result" data-v-51b1ce74><table class="nodes-table" data-v-51b1ce74><thead data-v-51b1ce74><tr data-v-51b1ce74><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k42kcu114"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k49ujb115"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k40pvw116"))}</th><th data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3xho3117"))}</th></tr></thead><tbody data-v-51b1ce74><!--[-->`);
642
690
  ssrRenderList(queryResult.value.channels, (c) => {
643
- _push(`<tr data-v-366216bb><td data-v-366216bb>${ssrInterpolate(c.ch)}<small class="mono dim" data-v-366216bb>${ssrInterpolate(c.unit)}</small></td><td data-v-366216bb>${ssrInterpolate(c.nodeName)}</td><td class="mono" data-v-366216bb>${ssrInterpolate(c.points.length)}</td><td class="mono" data-v-366216bb>${ssrInterpolate(fmtPoint(c.points[0]))}</td><td class="mono" data-v-366216bb>${ssrInterpolate(fmtPoint(c.points[c.points.length - 1]))}</td><td class="mono dim" data-v-366216bb>${ssrInterpolate(new Date(c.points[0]?.at ?? 0).toLocaleTimeString())} ~ ${ssrInterpolate(new Date(c.points[c.points.length - 1]?.at ?? 0).toLocaleTimeString())}</td></tr>`);
691
+ _push(`<tr data-v-51b1ce74><td data-v-51b1ce74>${ssrInterpolate(c.ch)}<small class="mono dim" data-v-51b1ce74>${ssrInterpolate(c.unit)}</small></td><td data-v-51b1ce74>${ssrInterpolate(c.nodeName)}</td><td class="mono" data-v-51b1ce74>${ssrInterpolate(c.points.length)}</td><td class="mono" data-v-51b1ce74>${ssrInterpolate(fmtPoint(c.points[0]))}</td><td class="mono" data-v-51b1ce74>${ssrInterpolate(fmtPoint(c.points[c.points.length - 1]))}</td><td class="mono dim" data-v-51b1ce74>${ssrInterpolate(new Date(c.points[0]?.at ?? 0).toLocaleTimeString())} ~ ${ssrInterpolate(new Date(c.points[c.points.length - 1]?.at ?? 0).toLocaleTimeString())}</td></tr>`);
644
692
  });
645
693
  _push(`<!--]--></tbody></table></div>`);
646
694
  } else _push(`<!---->`);
647
695
  _push(`</section>`);
648
696
  if (lineHistory.value.length) {
649
- _push(`<section class="aw-tile table-card" data-v-366216bb><p class="sec-label" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.kw7ym9b148"))} ${ssrInterpolate(lineHistory.value.length)} ${ssrInterpolate(_ctx.$t("dcwDetail.k40bfz150"))}</p><table class="nodes-table" data-v-366216bb><tbody data-v-366216bb><!--[-->`);
697
+ _push(`<section class="aw-tile table-card" data-v-51b1ce74><p class="sec-label" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kw7ym9b148"))} ${ssrInterpolate(lineHistory.value.length)} ${ssrInterpolate(_ctx.$t("dcwDetail.k40bfz150"))}</p><table class="nodes-table" data-v-51b1ce74><tbody data-v-51b1ce74><!--[-->`);
650
698
  ssrRenderList(lineHistory.value.slice(0, 12), (h) => {
651
- _push(`<tr data-v-366216bb><td class="mono dim" data-v-366216bb>${ssrInterpolate(h.at.slice(5, 19))}</td><td data-v-366216bb>${ssrInterpolate(h.param)}</td><td data-v-366216bb>${ssrInterpolate(h.nodeName)}</td><td class="mono" data-v-366216bb>${ssrInterpolate(h.eng)}</td><td class="mono dim" data-v-366216bb> raw ${ssrInterpolate(h.raw ?? "-")}</td><td data-v-366216bb><span class="${ssrRenderClass([h.ok ? "ok" : "alarm", "st-pill"])}" data-v-366216bb>${ssrInterpolate(h.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="dim" data-v-366216bb>${ssrInterpolate(h.recipeRunId ? _ctx.$t("dcwDetail.k6vgks7181", { p0: h.recipeRunId }) : "手动")}</td></tr>`);
699
+ _push(`<tr data-v-51b1ce74><td class="mono dim" data-v-51b1ce74>${ssrInterpolate(h.at.slice(5, 19))}</td><td data-v-51b1ce74>${ssrInterpolate(h.param)}</td><td data-v-51b1ce74>${ssrInterpolate(h.nodeName)}</td><td class="mono" data-v-51b1ce74>${ssrInterpolate(h.eng)}</td><td class="mono dim" data-v-51b1ce74> raw ${ssrInterpolate(h.raw ?? "-")}</td><td data-v-51b1ce74><span class="${ssrRenderClass([h.ok ? "ok" : "alarm", "st-pill"])}" data-v-51b1ce74>${ssrInterpolate(h.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="dim" data-v-51b1ce74>${ssrInterpolate(h.recipeRunId ? _ctx.$t("dcwDetail.k6vgks7181", { p0: h.recipeRunId }) : "手动")}</td></tr>`);
652
700
  });
653
701
  _push(`<!--]--></tbody></table></section>`);
654
702
  } else _push(`<!---->`);
655
703
  if (productOpen.value) {
656
- _push(`<div class="modal-mask" data-v-366216bb><div class="modal" data-v-366216bb><h3 class="m-title" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1efduyf118"))}</h3><div class="f-grid" data-v-366216bb><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1avjrl6119"))}<em data-v-366216bb>*</em></span><input${ssrRenderAttr("value", productForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-366216bb></label><label class="f" data-v-366216bb><span data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", productForm.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-366216bb></label></div>`);
657
- if (productError.value) _push(`<p class="m-err" data-v-366216bb>${ssrInterpolate(productError.value)}</p>`);
704
+ _push(`<div class="modal-mask" data-v-51b1ce74><div class="modal" data-v-51b1ce74><h3 class="m-title" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1efduyf118"))}</h3><div class="f-grid" data-v-51b1ce74><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1avjrl6119"))}<em data-v-51b1ce74>*</em></span><input${ssrRenderAttr("value", productForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-51b1ce74></label><label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", productForm.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-51b1ce74></label></div>`);
705
+ if (productError.value) _push(`<p class="m-err" data-v-51b1ce74>${ssrInterpolate(productError.value)}</p>`);
658
706
  else _push(`<!---->`);
659
- _push(`<div class="m-actions" data-v-366216bb><button class="aw-pill outline" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(productSaving.value) ? " disabled" : ""} data-v-366216bb>${ssrInterpolate(productSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg4kn6179"))}</button></div></div></div>`);
707
+ _push(`<div class="m-actions" data-v-51b1ce74><button class="aw-pill outline" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(productSaving.value) ? " disabled" : ""} data-v-51b1ce74>${ssrInterpolate(productSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg4kn6179"))}</button></div></div></div>`);
660
708
  } else _push(`<!---->`);
661
709
  if (unref(dcw).error) {
662
- _push(`<p class="err" data-v-366216bb>${ssrInterpolate(unref(dcw).error)}(`);
710
+ _push(`<p class="err" data-v-51b1ce74>${ssrInterpolate(unref(dcw).error)}(`);
663
711
  _push(ssrRenderComponent(_component_NuxtLink, { to: "/workshop" }, {
664
712
  default: withCtx((_, _push, _parent, _scopeId) => {
665
713
  if (_push) _push(`${ssrInterpolate(_ctx.$t("dcwDetail.k1bhhheq120"))}`);
@@ -669,19 +717,19 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
669
717
  }, _parent));
670
718
  _push(`) </p>`);
671
719
  } else _push(`<!---->`);
672
- _push(`<section class="aw-tile ledger-card" data-v-366216bb><div class="ledger-head" data-v-366216bb><b data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgt001"))}</b><select class="inp" data-v-366216bb><option value="" data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, "") : ssrLooseEqual(ledgerNodeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgs001"))}</option><!--[-->`);
720
+ _push(`<section class="aw-tile ledger-card" data-v-51b1ce74><div class="ledger-head" data-v-51b1ce74><b data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgt001"))}</b><select class="inp" data-v-51b1ce74><option value="" data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, "") : ssrLooseEqual(ledgerNodeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgs001"))}</option><!--[-->`);
673
721
  ssrRenderList(lineNodes.value, (n) => {
674
- _push(`<option${ssrRenderAttr("value", n.id)} data-v-366216bb${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, n.id) : ssrLooseEqual(ledgerNodeId.value, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
722
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-51b1ce74${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, n.id) : ssrLooseEqual(ledgerNodeId.value, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
675
723
  });
676
724
  _push(`<!--]--></select></div>`);
677
725
  if (ledger.value) {
678
- _push(`<!--[--><div class="ledger-tri" data-v-366216bb><div class="tri-cell" data-v-366216bb><small data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv001"))}</small><b class="mono" data-v-366216bb>${ssrInterpolate(ledger.value.current ?? "--")}</b></div><div class="tri-cell" data-v-366216bb><small data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv002"))}</small><b class="mono" data-v-366216bb>${ssrInterpolate(ledger.value.recipeTarget ?? "--")}</b></div><div class="tri-cell" data-v-366216bb><small data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv003"))}</small><b class="mono" data-v-366216bb>${ssrInterpolate(ledger.value.lastGood ?? "--")}</b></div><button class="mini-btn" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga001"))}</button><button class="mini-btn danger" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga002"))}</button></div><div class="ledger-cols" data-v-366216bb><div class="ledger-col" data-v-366216bb><small class="sec-t" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgh001"))}</small><ul class="ledger-list mono" data-v-366216bb><!--[-->`);
726
+ _push(`<!--[--><div class="ledger-tri" data-v-51b1ce74><div class="tri-cell" data-v-51b1ce74><small data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv001"))}</small><b class="mono" data-v-51b1ce74>${ssrInterpolate(ledger.value.current ?? "--")}</b></div><div class="tri-cell" data-v-51b1ce74><small data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv002"))}</small><b class="mono" data-v-51b1ce74>${ssrInterpolate(ledger.value.recipeTarget ?? "--")}</b></div><div class="tri-cell" data-v-51b1ce74><small data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv003"))}</small><b class="mono" data-v-51b1ce74>${ssrInterpolate(ledger.value.lastGood ?? "--")}</b></div><button class="mini-btn" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga001"))}</button><button class="mini-btn danger" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga002"))}</button></div><div class="ledger-cols" data-v-51b1ce74><div class="ledger-col" data-v-51b1ce74><small class="sec-t" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgh001"))}</small><ul class="ledger-list mono" data-v-51b1ce74><!--[-->`);
679
727
  ssrRenderList(ledger.value.journal, (a) => {
680
- _push(`<li data-v-366216bb>${ssrInterpolate(a.at.slice(5, 16).replace("T", " "))} [${ssrInterpolate(a.source)}] ${ssrInterpolate(a.prevValue ?? "?")} → ${ssrInterpolate(a.newValue)}</li>`);
728
+ _push(`<li data-v-51b1ce74>${ssrInterpolate(a.at.slice(5, 16).replace("T", " "))} [${ssrInterpolate(a.source)}] ${ssrInterpolate(a.prevValue ?? "?")} → ${ssrInterpolate(a.newValue)}</li>`);
681
729
  });
682
- _push(`<!--]--></ul></div><div class="ledger-col" data-v-366216bb><small class="sec-t" data-v-366216bb>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgr001"))}</small><ul class="ledger-list" data-v-366216bb><!--[-->`);
730
+ _push(`<!--]--></ul></div><div class="ledger-col" data-v-51b1ce74><small class="sec-t" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgr001"))}</small><ul class="ledger-list" data-v-51b1ce74><!--[-->`);
683
731
  ssrRenderList(ledger.value.records, (r) => {
684
- _push(`<li class="ledger-rec" data-v-366216bb><span class="${ssrRenderClass([r.status, "rec-st"])}" data-v-366216bb>${ssrInterpolate(r.status)}</span><span class="mono" data-v-366216bb>${ssrInterpolate(r.params[0]?.from ?? "?")} → ${ssrInterpolate(r.params[0]?.to)}</span><small data-v-366216bb>${ssrInterpolate(r.judge ? `${r.judge.verdict}(${r.judge.by})` : r.status === "open" ? "open" : r.closedBy ?? "")}</small></li>`);
732
+ _push(`<li class="ledger-rec" data-v-51b1ce74><span class="${ssrRenderClass([r.status, "rec-st"])}" data-v-51b1ce74>${ssrInterpolate(r.status)}</span><span class="mono" data-v-51b1ce74>${ssrInterpolate(r.params[0]?.from ?? "?")} → ${ssrInterpolate(r.params[0]?.to)}</span><small data-v-51b1ce74>${ssrInterpolate(r.judge ? `${r.judge.verdict}(${r.judge.by})` : r.status === "open" ? "open" : r.closedBy ?? "")}</small></li>`);
685
733
  });
686
734
  _push(`<!--]--></ul></div></div><!--]-->`);
687
735
  } else _push(`<!---->`);
@@ -698,7 +746,7 @@ _id__vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
698
746
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/dcw/[id].vue");
699
747
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
700
748
  };
701
- var _id__default = /*#__PURE__*/ _plugin_vue_export_helper_default(_id__vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-366216bb"]]);
749
+ var _id__default = /*#__PURE__*/ _plugin_vue_export_helper_default(_id__vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-51b1ce74"]]);
702
750
 
703
751
  export { _id__default as default };
704
- //# sourceMappingURL=_id_-D265Wh_k.mjs.map
752
+ //# sourceMappingURL=_id_-DvJZ5Qis.mjs.map