agentworkshop 0.7.17 → 0.7.19

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 (38) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{BJem8_v5.js → BOJaHO5V.js} +4 -4
  3. package/.output/public/_nuxt/B_C3GLsD.js +1 -0
  4. package/.output/public/_nuxt/_id_.IbmpkhH4.css +1 -0
  5. package/.output/public/_nuxt/builds/latest.json +1 -1
  6. package/.output/public/_nuxt/builds/meta/7894c281-50fb-4f00-849f-32749ec2431c.json +1 -0
  7. package/.output/public/_nuxt/{entry.BNApuuEW.css → entry.DRUzDwmX.css} +1 -1
  8. package/.output/server/chunks/_/nitro.mjs +626 -571
  9. package/.output/server/chunks/build/{_id_-DvJZ5Qis.mjs → _id_-Bs-euJPu.mjs} +178 -131
  10. package/.output/server/chunks/build/_id_-Bs-euJPu.mjs.map +1 -0
  11. package/.output/server/chunks/routes/renderer.mjs +1 -1
  12. package/.output/server/chunks/virtual/entry.mjs +9 -1
  13. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  14. package/.output/server/package.json +1 -1
  15. package/app/pages/dcw/[id].vue +56 -6
  16. package/i18n/locales/en.ts +4 -0
  17. package/i18n/locales/zh-CN.ts +4 -0
  18. package/package.json +148 -148
  19. package/scripts/_dbg-live-line-e2e.mjs +279 -0
  20. package/scripts/_dbg-mqtt-publisher.mjs +17 -0
  21. package/scripts/_dbg-pg-tcp-probe.cjs +27 -0
  22. package/scripts/_dbg-recipe-stale-e2e.mjs +135 -0
  23. package/server/data/daqs.json +611 -86
  24. package/server/data/dcw-lines.json +28 -28
  25. package/server/data/dcw-products.json +28 -7
  26. package/server/data/dcw-recipes.json +109 -14
  27. package/server/data/dcw-rollback.json +1389 -9
  28. package/server/data/dcw-runs.json +625 -365
  29. package/server/data/dcw-writes.json +576 -0
  30. package/server/data/dcws.json +819 -316
  31. package/server/data/line-runs.json +54 -14
  32. package/server/services/workshop/agents/industrial-tools.ts +52 -18
  33. package/server/services/workshop/dcw/dcw-controller.ts +11 -1
  34. package/server/services/workshop/dcw/dcw-recipe.repo.ts +21 -6
  35. package/.output/public/_nuxt/DtM4RX5T.js +0 -1
  36. package/.output/public/_nuxt/_id_.pF-B9O6u.css +0 -1
  37. package/.output/public/_nuxt/builds/meta/6a0a88de-639e-4e7b-b7c1-7f4034e04787.json +0 -1
  38. package/.output/server/chunks/build/_id_-DvJZ5Qis.mjs.map +0 -1
@@ -241,6 +241,41 @@ 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
+ function paramStatus(nodeId, lineId) {
245
+ const node = dcw.nodes.find((n) => n.id === nodeId);
246
+ if (!node) return {
247
+ code: "deleted",
248
+ label: t("dcwDetail.staleDeleted")
249
+ };
250
+ if (!node.enabled) return {
251
+ code: "disabled",
252
+ label: t("dcwDetail.staleDisabled")
253
+ };
254
+ if (lineId && node.lineId !== lineId) return {
255
+ code: "unbound",
256
+ label: t("dcwDetail.staleUnbound")
257
+ };
258
+ return null;
259
+ }
260
+ function paramNodeName(nodeId) {
261
+ return dcw.nodes.find((n) => n.id === nodeId)?.name ?? nodeId;
262
+ }
263
+ function daqWindowStatus(nodeId, lineId) {
264
+ const node = daq.nodes.find((n) => n.id === nodeId);
265
+ if (!node) return {
266
+ code: "deleted",
267
+ label: t("dcwDetail.staleDeleted")
268
+ };
269
+ if (!node.enabled) return {
270
+ code: "disabled",
271
+ label: t("dcwDetail.staleDisabled")
272
+ };
273
+ if (lineId && node.lineId !== lineId) return {
274
+ code: "unbound",
275
+ label: t("dcwDetail.staleUnbound")
276
+ };
277
+ return null;
278
+ }
244
279
  const verOpen = ref(false);
245
280
  const verRecipe = ref(null);
246
281
  const verRows = ref([]);
@@ -273,6 +308,7 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
273
308
  const recipeEditing = ref(null);
274
309
  const recipeSaving = ref(false);
275
310
  const recipeError = ref("");
311
+ const recipeStaleNote = ref("");
276
312
  const recipeForm = reactive({
277
313
  productId: "",
278
314
  name: "",
@@ -292,7 +328,7 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
292
328
  const _component_NuxtLink = NuxtLink;
293
329
  const _component_a_spin = spin_default;
294
330
  if (unref(dcw).loaded && !line.value) {
295
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-51b1ce74><p class="banner bad" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k19337yp018"))}</p>`);
331
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-7b43b781><p class="banner bad" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k19337yp018"))}</p>`);
296
332
  _push(ssrRenderComponent(_component_NuxtLink, {
297
333
  class: "pill-btn",
298
334
  to: "/dcw"
@@ -305,122 +341,122 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
305
341
  }, _parent));
306
342
  _push(`</div>`);
307
343
  } else {
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>`);
344
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-7b43b781><div class="aw-page-head" data-v-7b43b781><div data-v-7b43b781><p class="aw-kicker" data-v-7b43b781><span class="line-chip" style="${ssrRenderStyle({ background: line.value?.color ?? "#3aa0ff" })}" data-v-7b43b781></span>AGENTWORKSHOP / LINE / ${ssrInterpolate(line.value?.name ?? lineId.value)}</p><h1 data-v-7b43b781>${ssrInterpolate(line.value?.name ?? _ctx.$t("dcwDetail.k1b2snna151"))} · ${ssrInterpolate(_ctx.$t("dcwDetail.k1l0iow1137"))}</h1><p class="sub" data-v-7b43b781>${ssrInterpolate(line.value?.description || _ctx.$t("dcwDetail.kzcbfki152"))}</p></div><div class="badges mono" data-v-7b43b781><span class="badge" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(lineNodes.value.length)}</span><span class="badge" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))} ${ssrInterpolate(lineProducts.value.length)}</span><span class="badge" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))} ${ssrInterpolate(lineRecipesAll.value.length)}</span></div></div><section class="aw-tile ctrl-card" data-v-7b43b781><div class="ctrl-left" data-v-7b43b781><button class="${ssrRenderClass([{ running: unref(dcw).controller.running }, "aw-pill"])}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1snap154"))} data-v-7b43b781><span class="${ssrRenderClass(unref(dcw).controller.running ? "i-tabler-player-pause" : "i-tabler-player-play")}" data-v-7b43b781></span> ${ssrInterpolate(unref(dcw).controller.running ? _ctx.$t("dcwDetail.kplrsg153") : _ctx.$t("dcwDetail.knxgni9169"))}</button></div><div class="ctrl-right" data-v-7b43b781><span class="ctrl-metrics mono" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(unref(dcw).controller.nodesOnline)}/${ssrInterpolate(unref(dcw).controller.nodesTotal)}</span><span class="sep" data-v-7b43b781>·</span><span${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3ygmn001"))} data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3wtib138"))} ${ssrInterpolate(unref(dcw).controller.writesTotal)}</span><span class="sep" data-v-7b43b781>·</span><span class="${ssrRenderClass({ warn: unref(dcw).controller.writesFailed > 0 })}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3znl0002"))} data-v-7b43b781>${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-7b43b781><span class="i-tabler-template" data-v-7b43b781></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1972dx9020"))}</button><button class="aw-pill add-btn" data-v-7b43b781><span class="i-tabler-plus" data-v-7b43b781></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</button></div></section>`);
345
+ if (writeError.value || writeOk.value) _push(`<p class="${ssrRenderClass([writeError.value ? "bad" : "good", "banner"])}" data-v-7b43b781>${ssrInterpolate(writeError.value || writeOk.value)}</p>`);
310
346
  else _push(`<!---->`);
311
347
  if (unassignedNodes.value.length || unassignedProducts.value.length) {
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><!--[-->`);
348
+ _push(`<section class="aw-tile adopt-card" data-v-7b43b781><b class="adopt-title" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.kaebkky022"))}</b><div class="adopt-list" data-v-7b43b781><!--[-->`);
313
349
  ssrRenderList(unassignedNodes.value, (n) => {
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>`);
350
+ _push(`<span class="adopt-chip" data-v-7b43b781>${ssrInterpolate(n.name)} <button class="mini-btn" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
315
351
  });
316
352
  _push(`<!--]--><!--[-->`);
317
353
  ssrRenderList(unassignedProducts.value, (p) => {
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>`);
354
+ _push(`<span class="adopt-chip" data-v-7b43b781>${ssrInterpolate(p.name)}(${ssrInterpolate(_ctx.$t("dcwDetail.k3km252140"))}<button class="mini-btn" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
319
355
  });
320
356
  _push(`<!--]--></div></section>`);
321
357
  } else _push(`<!---->`);
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><!--[-->`);
358
+ _push(`<section class="aw-tile line-card" data-v-7b43b781><div class="line-status" data-v-7b43b781><span class="${ssrRenderClass([{ on: ls.value.active }, "line-dot"])}" data-v-7b43b781></span><div class="line-info" data-v-7b43b781><b data-v-7b43b781>${ssrInterpolate(ls.value.active ? _ctx.$t("dcwDetail.k1pxrhx0154") : _ctx.$t("dcwDetail.k1b2hxmx170"))}</b>`);
359
+ if (ls.value.active) _push(`<small class="mono dim" data-v-7b43b781>${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>`);
360
+ else _push(`<small class="dim" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k19pof14024"))}</small>`);
361
+ _push(`</div></div><div class="line-ctl" data-v-7b43b781><label class="ctl-sel" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-7b43b781><option value="" data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, "") : ssrLooseEqual(lineProductId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kuisodh026"))}</option><!--[-->`);
326
362
  ssrRenderList(lineProducts.value, (p) => {
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>`);
363
+ _push(`<option${ssrRenderAttr("value", p.id)} data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, p.id) : ssrLooseEqual(lineProductId.value, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
328
364
  });
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><!--[-->`);
365
+ _push(`<!--]--></select></label><label class="ctl-sel" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!lineProductId.value) ? " disabled" : ""} data-v-7b43b781><option value="" data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(lineRecipeId.value) ? ssrLooseContain(lineRecipeId.value, "") : ssrLooseEqual(lineRecipeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kutxzsz028"))}</option><!--[-->`);
330
366
  ssrRenderList(lineRecipes.value, (r) => {
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>`);
367
+ _push(`<option${ssrRenderAttr("value", r.id)}${ssrIncludeBooleanAttr(r.params.length === 0) ? " disabled" : ""} data-v-7b43b781${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>`);
332
368
  });
333
369
  _push(`<!--]--></select></label>`);
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>`);
370
+ if (!ls.value.active) _push(`<button class="pill-btn"${ssrIncludeBooleanAttr(lineBusy.value || !lineRecipeId.value) ? " disabled" : ""}${ssrRenderAttr("title", !lineRecipeId.value ? "开跑前必须先设定配方" : "下发配方参数并开始打标数据采集")} data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.kfb8vml029"))}</button>`);
371
+ else _push(`<button class="pill-btn stop"${ssrIncludeBooleanAttr(lineBusy.value) ? " disabled" : ""} data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1xyhd2y030"))}</button>`);
336
372
  _push(`</div>`);
337
- if (lineErr.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-51b1ce74>${ssrInterpolate(lineErr.value)}</p>`);
373
+ if (lineErr.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-7b43b781>${ssrInterpolate(lineErr.value)}</p>`);
338
374
  else _push(`<!---->`);
339
- if (lineMsg.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-51b1ce74>${ssrInterpolate(lineMsg.value)}</p>`);
375
+ if (lineMsg.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-7b43b781>${ssrInterpolate(lineMsg.value)}</p>`);
340
376
  else _push(`<!---->`);
341
377
  _push(`</section>`);
342
378
  if (tplOpen.value) {
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><!--[-->`);
379
+ _push(`<div class="modal-mask" data-v-7b43b781><div class="modal" data-v-7b43b781><h3 class="m-title" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1x4vam0031"))} <small class="dim mono" data-v-7b43b781>${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-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.ke1iyud032"))}</p><div class="tpl-chips" data-v-7b43b781><!--[-->`);
344
380
  ssrRenderList(unref(dcw).templates, (t) => {
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>`);
381
+ _push(`<span class="tpl-chip"${ssrRenderAttr("title", `${t.code} · ${t.min}~${t.max} ${t.unit}${t.semantics ? ` · ${t.semantics}` : ""}`)} data-v-7b43b781>${ssrInterpolate(t.name)} <small class="mono" data-v-7b43b781>${ssrInterpolate(t.min)}~${ssrInterpolate(t.max)}${ssrInterpolate(t.unit)}</small><em class="${ssrRenderClass([{ builtin: t.builtin }, "tpl-tag"])}" data-v-7b43b781>${ssrInterpolate(t.builtin ? _ctx.$t("dcwDetail.k3x23c141") : _ctx.$t("dcwDetail.k3t616a142"))}</em></span>`);
346
382
  });
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><!--[-->`);
383
+ _push(`<!--]--></div><p class="sec-label" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k169eb4s033"))}</p><div class="f-grid tpl-form" data-v-7b43b781><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1f55q76034"))}<em data-v-7b43b781>*</em></span><input${ssrRenderAttr("value", tplForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1tooi3o004"))} data-v-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqk219035"))}</span><input${ssrRenderAttr("value", tplForm.ch)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k698qz0005"))} data-v-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1ayxrqb036"))}</span><input${ssrRenderAttr("value", tplForm.code)} class="inp" placeholder="如 MOTOR · I" data-v-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4ef037"))}<em data-v-7b43b781>*</em></span><input${ssrRenderAttr("value", tplForm.unit)} class="inp" placeholder="如 A" data-v-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv5m038"))}<em data-v-7b43b781>*</em></span><input${ssrRenderAttr("value", tplForm.min)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9174006"))} data-v-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv4p039"))}<em data-v-7b43b781>*</em></span><input${ssrRenderAttr("value", tplForm.max)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9167007"))} data-v-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3mxmcx040"))}</span><input${ssrRenderAttr("value", tplForm.decimals)} type="number" min="0" max="4" class="inp" data-v-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3xx56041"))}</span><select class="inp" data-v-7b43b781><!--[-->`);
348
384
  ssrRenderList(tplIcons, (ic) => {
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>`);
385
+ _push(`<option${ssrRenderAttr("value", ic.key)} data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(tplForm.icon) ? ssrLooseContain(tplForm.icon, ic.key) : ssrLooseEqual(tplForm.icon, ic.key)) ? " selected" : ""}>${ssrInterpolate(ic.label)}</option>`);
350
386
  });
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>`);
387
+ _push(`<!--]--></select></label></div><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.knjmyfr042"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1qdnfzc008"))} data-v-7b43b781>${ssrInterpolate(tplForm.semantics)}</textarea></label>`);
388
+ if (tplOk.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-7b43b781>${ssrInterpolate(tplOk.value)}</p>`);
353
389
  else _push(`<!---->`);
354
- if (tplError.value) _push(`<p class="m-err" data-v-51b1ce74>${ssrInterpolate(tplError.value)}</p>`);
390
+ if (tplError.value) _push(`<p class="m-err" data-v-7b43b781>${ssrInterpolate(tplError.value)}</p>`);
355
391
  else _push(`<!---->`);
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>`);
392
+ _push(`<div class="m-actions" data-v-7b43b781><button class="aw-pill outline" data-v-7b43b781>${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-7b43b781>${ssrInterpolate(tplSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg9nga171"))}</button></div></div></div>`);
357
393
  } else _push(`<!---->`);
358
394
  if (addOpen.value) {
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><!--[-->`);
395
+ _push(`<div class="modal-mask" data-v-7b43b781><div class="modal" data-v-7b43b781><h3 class="m-title" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</h3><div class="seg-row" data-v-7b43b781><button class="${ssrRenderClass([{ on: addScenario.value === "mock" }, "seg"])}" data-v-7b43b781> Mock 模拟 PLC </button><button class="${ssrRenderClass([{ on: addScenario.value === "real" }, "seg"])}" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.kyj8fen044"))}</button></div><div class="f-grid" data-v-7b43b781><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1ejzwqp045"))}</span><select class="inp" data-v-7b43b781><!--[-->`);
360
396
  ssrRenderList(unref(dcw).templates, (t) => {
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>`);
397
+ _push(`<option${ssrRenderAttr("value", t.key)} data-v-7b43b781${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>`);
362
398
  });
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({
399
+ _push(`<!--]--></select></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1ce2k1y046"))}</span><input${ssrRenderAttr("value", addName.value)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kgpxzy3009"))} data-v-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${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-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${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-7b43b781></label></div><div class="f-grid cal-form" data-v-7b43b781><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.kiune1f048"))}</span><select class="inp" data-v-7b43b781><option value="none" data-v-7b43b781${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-7b43b781${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-7b43b781><span data-v-7b43b781>scale / offset</span><div style="${ssrRenderStyle({
364
400
  "display": "flex",
365
401
  "gap": "6px"
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>`);
402
+ })}" data-v-7b43b781><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-7b43b781><input${ssrRenderAttr("value", addTransform.offset)} type="number" step="0.1" class="inp"${ssrIncludeBooleanAttr(addTransform.kind !== "linear") ? " disabled" : ""} title="decoder 截距" data-v-7b43b781></div></label></div>`);
367
403
  if (addScenario.value === "real") {
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><!--[-->`);
404
+ _push(`<!--[--><div class="f-grid" data-v-7b43b781><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1kt87rx050"))}</span><select class="inp" data-v-7b43b781><!--[-->`);
369
405
  ssrRenderList(unref(DCW_DRIVERS).filter((x) => x.status !== "builtin"), (d) => {
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>`);
406
+ _push(`<option${ssrRenderAttr("value", d.kind)} data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(addDriver.value) ? ssrLooseContain(addDriver.value, d.kind) : ssrLooseEqual(addDriver.value, d.kind)) ? " selected" : ""}>${ssrInterpolate(d.label)}</option>`);
371
407
  });
372
408
  _push(`<!--]--></select></label></div>`);
373
409
  if (addFields.value.length) {
374
- _push(`<div class="f-grid driver-form" data-v-51b1ce74><!--[-->`);
410
+ _push(`<div class="f-grid driver-form" data-v-7b43b781><!--[-->`);
375
411
  ssrRenderList(addFields.value, (f) => {
376
- _push(`<label class="f" data-v-51b1ce74><span data-v-51b1ce74>${ssrInterpolate(f.label)}`);
412
+ _push(`<label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(f.label)}`);
377
413
  if (f.required) _push(`<em style="${ssrRenderStyle({
378
414
  "color": "var(--tone-danger-dot)",
379
415
  "font-style": "normal"
380
- })}" data-v-51b1ce74>*</em>`);
416
+ })}" data-v-7b43b781>*</em>`);
381
417
  else _push(`<!---->`);
382
418
  _push(`</span>`);
383
419
  if (f.type === "select") {
384
- _push(`<select class="inp" data-v-51b1ce74><!--[-->`);
420
+ _push(`<select class="inp" data-v-7b43b781><!--[-->`);
385
421
  ssrRenderList(f.options, (o) => {
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>`);
422
+ _push(`<option${ssrRenderAttr("value", o.value)} data-v-7b43b781${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>`);
387
423
  });
388
424
  _push(`<!--]--></select>`);
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>`);
425
+ } 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-7b43b781>`);
426
+ if (f.hint) _push(`<small class="hint" data-v-7b43b781>${ssrInterpolate(f.hint)}</small>`);
391
427
  else _push(`<!---->`);
392
428
  _push(`</label>`);
393
429
  });
394
430
  _push(`<!--]--></div>`);
395
431
  } else _push(`<!---->`);
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>`);
432
+ _push(`<div class="test-row" data-v-7b43b781><button class="pill-btn outline"${ssrIncludeBooleanAttr(addTesting.value) ? " disabled" : ""} data-v-7b43b781>${ssrInterpolate(addTesting.value ? _ctx.$t("dcwDetail.k1fsh720158") : _ctx.$t("dcwDetail.k1fstglk172"))}</button>`);
433
+ if (addTest.value) _push(`<span class="${ssrRenderClass([addTest.value.ok ? "good" : "bad", "test-result"])}" data-v-7b43b781>${ssrInterpolate(addTest.value.ok ? "✓" : "✗")} ${ssrInterpolate(addTest.value.message)}</span>`);
398
434
  else _push(`<!---->`);
399
435
  _push(`</div><!--]-->`);
400
436
  } else _push(`<!---->`);
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>`);
437
+ _push(`<label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1hgizn7051"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12bnyt9011"))} data-v-7b43b781>${ssrInterpolate(addSemantics.value)}</textarea></label>`);
438
+ if (addError.value) _push(`<p class="m-err" data-v-7b43b781>${ssrInterpolate(addError.value)}</p>`);
403
439
  else _push(`<!---->`);
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>`);
440
+ _push(`<div class="m-actions" data-v-7b43b781><button class="aw-pill outline" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="aw-pill"${ssrIncludeBooleanAttr(addSaving.value) ? " disabled" : ""} data-v-7b43b781>${ssrInterpolate(addSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bge46t173"))}</button></div></div></div>`);
405
441
  } else _push(`<!---->`);
406
442
  _push(ssrRenderComponent(_component_a_spin, { spinning: !unref(dcw).loaded && !unref(dcw).error }, {
407
443
  default: withCtx((_, _push, _parent, _scopeId) => {
408
444
  if (_push) {
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}><!--[-->`);
445
+ _push(`<section class="aw-tile table-card" data-v-7b43b781${_scopeId}><table class="nodes-table" data-v-7b43b781${_scopeId}><thead data-v-7b43b781${_scopeId}><tr data-v-7b43b781${_scopeId}><th data-v-7b43b781${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</th><th data-v-7b43b781${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k403cy054"))}</th><th data-v-7b43b781${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k42w8s055"))}</th><th data-v-7b43b781${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1deqh0d056"))}</th><th data-v-7b43b781${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k9r7d4e018"))}</th><th data-v-7b43b781${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1k79ec9057"))}</th><th data-v-7b43b781${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1dexou6058"))}</th><th data-v-7b43b781${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1b1nnaa059"))}</th><th data-v-7b43b781${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1i8rtqt060"))}</th><th class="right" data-v-7b43b781${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-7b43b781${_scopeId}><!--[-->`);
410
446
  ssrRenderList(lineNodes.value, (n) => {
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>`);
447
+ _push(`<tr class="${ssrRenderClass({ "node-paused": !n.enabled })}" data-v-7b43b781${_scopeId}><td data-v-7b43b781${_scopeId}><span class="mono dim" data-v-7b43b781${_scopeId}>${ssrInterpolate(n.id.slice(0, 8))}</span><b data-v-7b43b781${_scopeId}>${ssrInterpolate(n.name)}</b><small class="mono ch" data-v-7b43b781${_scopeId}>${ssrInterpolate(dcwTemplateRefCh(n.templateRef))}</small></td><td data-v-7b43b781${_scopeId}><button class="${ssrRenderClass([{ on: n.enabled }, "ctrl-toggle"])}"${ssrIncludeBooleanAttr(togglingId.value === n.id) ? " disabled" : ""}${ssrRenderAttr("title", n.enabled ? "暂停该节点控制:下发将被拒绝" : "开启该节点控制:恢复可下发")} data-v-7b43b781${_scopeId}><span class="ct-dot" data-v-7b43b781${_scopeId}></span> ${ssrInterpolate(n.enabled ? _ctx.$t("dcwDetail.k3o3ib3159") : _ctx.$t("dcwDetail.k3n93ed062"))}</button></td><td data-v-7b43b781${_scopeId}>`);
448
+ if (!n.enabled) _push(`<span class="st-pill paused" data-v-7b43b781${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3n93ed062"))}</span>`);
449
+ else _push(`<span class="${ssrRenderClass([n.state, "st-pill"])}" data-v-7b43b781${_scopeId}>${ssrInterpolate(stateLabel[n.state] ?? n.state)}</span>`);
450
+ _push(`</td><td class="mono val" data-v-7b43b781${_scopeId}>${ssrInterpolate(n.value != null ? n.value.toFixed(n.decimals) : "--")} <small data-v-7b43b781${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
451
+ if (n.lastAckAt) _push(`<small class="dim" data-v-7b43b781${_scopeId}> · ${ssrInterpolate(n.lastAckAt.slice(11, 19))}</small>`);
416
452
  else _push(`<!---->`);
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>`);
453
+ _push(`</td><td class="mono val" data-v-7b43b781${_scopeId}><span${ssrRenderAttr("title", n.lastReadError ?? _ctx.$t("dcwDetail.k9r7d4e019"))} class="${ssrRenderClass({ "read-stale": n.lastReadError })}" data-v-7b43b781${_scopeId}>${ssrInterpolate(n.readValue != null ? n.readValue.toFixed(n.decimals) : "--")}</span><small data-v-7b43b781${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
454
+ if (n.lastReadAt) _push(`<small class="dim" data-v-7b43b781${_scopeId}> · ${ssrInterpolate(n.lastReadAt.slice(11, 19))}</small>`);
419
455
  else _push(`<!---->`);
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>`);
456
+ _push(`<button class="mini-btn read-btn"${ssrIncludeBooleanAttr(readingId.value === n.id) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e020"))} data-v-7b43b781${_scopeId}>${ssrInterpolate(readingId.value === n.id ? "···" : _ctx.$t("dcwDetail.k9r7d4e021"))}</button></td><td data-v-7b43b781${_scopeId}><div class="write-row" data-v-7b43b781${_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-7b43b781${_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-7b43b781${_scopeId}>${ssrInterpolate(writingId.value === n.id ? _ctx.$t("dcwDetail.k3l3h80123") : _ctx.$t("dcwDetail.k3w6td174"))}</button></div></td><td class="mono dim" data-v-7b43b781${_scopeId}>${ssrInterpolate(n.min)} ~ ${ssrInterpolate(n.max)} ${ssrInterpolate(n.unit)}</td><td class="mono" data-v-7b43b781${_scopeId}>${ssrInterpolate(n.holdIntervalMs == null ? _ctx.$t("dcwDetail.k3zul4160") : `${n.holdIntervalMs}ms`)} <small class="dim"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e016"))} data-v-7b43b781${_scopeId}>· ${ssrInterpolate(n.readIntervalMs === 0 ? _ctx.$t("dcwDetail.k9r7d4e022") : n.readIntervalMs == null ? _ctx.$t("dcwDetail.k9r7d4e023") : `${n.readIntervalMs}ms`)}</small></td><td data-v-7b43b781${_scopeId}>${ssrInterpolate(deviceName(n.deviceBindingId))}</td><td class="right" data-v-7b43b781${_scopeId}><button class="mini-btn danger" data-v-7b43b781${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></td></tr>`);
421
457
  });
422
458
  _push(`<!--]-->`);
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>`);
459
+ if (unref(dcw).loaded && lineNodes.value.length === 0) _push(`<tr data-v-7b43b781${_scopeId}><td colspan="9" data-v-7b43b781${_scopeId}><div class="pane-empty" style="${ssrRenderStyle({ "min-height": "120px" })}" data-v-7b43b781${_scopeId}><p class="pe-sub" data-v-7b43b781${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1wtecyw064"))}</p></div></td></tr>`);
424
460
  else _push(`<!---->`);
425
461
  _push(`</tbody></table></section>`);
426
462
  } else return [createVNode("section", { class: "aw-tile table-card" }, [createVNode("table", { class: "nodes-table" }, [createVNode("thead", null, [createVNode("tr", null, [
@@ -541,173 +577,184 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
541
577
  }),
542
578
  _: 1
543
579
  }, _parent));
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>`);
580
+ _push(`<section class="aw-tile recipe-card" data-v-7b43b781><div class="recipe-hd" data-v-7b43b781><h3 data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1j8w3hd065"))}</h3><span class="panel-tag mono" data-v-7b43b781>${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-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1akm6dc066"))}</button><button class="mini-btn" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1aka0ki067"))}</button></div><p class="recipe-sub" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k6bl2q8068"))}</p>`);
545
581
  if (lineProducts.value.length) {
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><!--[-->`);
582
+ _push(`<div class="product-row" data-v-7b43b781><button class="${ssrRenderClass([{ on: filterProductId.value === "" }, "prod-chip"])}" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4t1069"))}</button><!--[-->`);
547
583
  ssrRenderList(lineProducts.value, (p) => {
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>`);
584
+ _push(`<button class="${ssrRenderClass([{ on: filterProductId.value === p.id }, "prod-chip"])}"${ssrRenderAttr("title", p.description)} data-v-7b43b781>${ssrInterpolate(p.name)} <span class="prod-del"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1bpfjgx012"))} data-v-7b43b781>×</span></button>`);
549
585
  });
550
586
  _push(`<!--]--></div>`);
551
587
  } else _push(`<p class="dim" style="${ssrRenderStyle({
552
588
  "margin": "6px 0 12px",
553
589
  "font-size": "12px"
554
- })}" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.knov3zg070"))}</p>`);
555
- _push(`<div class="recipe-grid" data-v-51b1ce74><!--[-->`);
590
+ })}" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.knov3zg070"))}</p>`);
591
+ _push(`<div class="recipe-grid" data-v-7b43b781><!--[-->`);
556
592
  ssrRenderList(visibleRecipes.value, (r) => {
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>`);
593
+ _push(`<div class="recipe-item" data-v-7b43b781><div class="recipe-name" data-v-7b43b781><b data-v-7b43b781>${ssrInterpolate(r.name)}</b>`);
594
+ if (r.version) _push(`<span class="param-chip mono"${ssrRenderAttr("title", unref(t)("dcwDetail.histTitle"))} data-v-7b43b781>v${ssrInterpolate(r.version)}</span>`);
559
595
  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>`);
596
+ _push(`<small class="dim" data-v-7b43b781>${ssrInterpolate(productName(r.productId))}</small><small class="mono dim" data-v-7b43b781>${ssrInterpolate(r.id)}</small></div>`);
597
+ if (r.description) _push(`<p class="dim desc" data-v-7b43b781>${ssrInterpolate(r.description)}</p>`);
562
598
  else _push(`<!---->`);
563
- _push(`<div class="recipe-params mono" data-v-51b1ce74><!--[-->`);
599
+ _push(`<div class="recipe-params mono" data-v-7b43b781><!--[-->`);
564
600
  ssrRenderList(r.params, (p, i) => {
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>`);
601
+ _push(`<span class="${ssrRenderClass([{ stale: paramStatus(p.nodeId, r.lineId) }, "param-chip"])}"${ssrRenderAttr("title", paramStatus(p.nodeId, r.lineId)?.label ?? "")} data-v-7b43b781>${ssrInterpolate(paramNodeName(p.nodeId))} = ${ssrInterpolate(p.value)}`);
602
+ if (paramStatus(p.nodeId, r.lineId)) _push(`<span class="chip-stale-tag" data-v-7b43b781>${ssrInterpolate(paramStatus(p.nodeId, r.lineId).label)}</span>`);
603
+ else _push(`<!---->`);
604
+ _push(`</span>`);
566
605
  });
567
606
  _push(`<!--]--><!--[-->`);
568
607
  ssrRenderList(r.daqWindows, (w, i) => {
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>`);
608
+ _push(`<span class="${ssrRenderClass([{ stale: daqWindowStatus(w.nodeId, r.lineId) }, "param-chip daqwin"])}"${ssrRenderAttr("title", daqWindowStatus(w.nodeId, r.lineId)?.label ?? _ctx.$t("dcwDetail.k1l11api013"))} data-v-7b43b781> ◎ ${ssrInterpolate(daqNodeCh(w.nodeId))} ∈ [${ssrInterpolate(w.min ?? "-∞")}, ${ssrInterpolate(w.max ?? "+∞")}]`);
609
+ if (daqWindowStatus(w.nodeId, r.lineId)) _push(`<span class="chip-stale-tag" data-v-7b43b781>${ssrInterpolate(daqWindowStatus(w.nodeId, r.lineId).label)}</span>`);
610
+ else _push(`<!---->`);
611
+ _push(`</span>`);
570
612
  });
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>`);
613
+ _push(`<!--]--></div><div class="recipe-actions" data-v-7b43b781><button class="pill-btn" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1497qvr071"))}</button><button class="mini-btn" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k45eb0072"))}</button><button class="mini-btn" data-v-7b43b781>${ssrInterpolate(unref(t)("dcwDetail.histBtn"))}`);
614
+ if (r.version) _push(`<span class="mono" data-v-7b43b781>·v${ssrInterpolate(r.version)}</span>`);
573
615
  else _push(`<!---->`);
574
- _push(`</button><button class="mini-btn danger" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></div></div>`);
616
+ _push(`</button><button class="mini-btn danger" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></div></div>`);
575
617
  });
576
618
  _push(`<!--]-->`);
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>`);
619
+ if (visibleRecipes.value.length === 0) _push(`<div class="pane-empty" style="${ssrRenderStyle({ "grid-column": "1 / -1" })}" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.keko1xy073"))}</div>`);
578
620
  else _push(`<!---->`);
579
621
  _push(`</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>`);
622
+ if (applyResult.value) _push(`<div class="banner good" data-v-7b43b781>${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-7b43b781>${ssrInterpolate(runDataLoading.value ? _ctx.$t("dcwDetail.k1br0ij9161") : _ctx.$t("dcwDetail.kxwei5175"))}</button></div>`);
581
623
  else _push(`<!---->`);
582
624
  if (lineRuns.value.length) {
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><!--[-->`);
625
+ _push(`<div class="runs" data-v-7b43b781><p class="sec-label" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1rjer8d074"))}</p><table class="nodes-table" data-v-7b43b781><thead data-v-7b43b781><tr data-v-7b43b781><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k400lb075"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k4497j076"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqhtmu077"))}</th><th class="right" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-7b43b781><!--[-->`);
584
626
  ssrRenderList([...lineRuns.value].reverse().slice(0, 8), (run) => {
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>`);
627
+ _push(`<tr data-v-7b43b781><td class="mono" data-v-7b43b781>${ssrInterpolate(run.id)}</td><td data-v-7b43b781>${ssrInterpolate(run.recipeName)}</td><td class="mono dim" data-v-7b43b781>${ssrInterpolate(run.startedAt.slice(5, 19))} ~ ${ssrInterpolate(run.endedAt ? run.endedAt.slice(5, 19) : _ctx.$t("dcwDetail.k3vpfg9162"))}</td><td data-v-7b43b781><span class="${ssrRenderClass([run.results.every((r) => r.ok) ? "ok" : "warn", "st-pill"])}" data-v-7b43b781>${ssrInterpolate(run.results.filter((r) => r.ok).length)}/${ssrInterpolate(run.results.length)}</span></td><td class="right" data-v-7b43b781><button class="mini-btn"${ssrIncludeBooleanAttr(runDataLoading.value) ? " disabled" : ""} data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1dzwrdp078"))}</button>`);
628
+ if (!run.endedAt) _push(`<button class="mini-btn" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1blr7y7079"))}</button>`);
587
629
  else _push(`<!---->`);
588
630
  _push(`</td></tr>`);
589
631
  });
590
632
  _push(`<!--]--></tbody></table></div>`);
591
633
  } else _push(`<!---->`);
592
634
  if (runDataView.value) {
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><!--[-->`);
635
+ _push(`<div class="modal-mask" data-v-7b43b781><div class="modal" data-v-7b43b781><h3 class="m-title" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k11lq94k145"))} ${ssrInterpolate(runDataView.value.data.run.recipeName)}(${ssrInterpolate(runDataView.value.runId)}) </h3><p class="sec-label" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1me41w8080"))}</p><table class="nodes-table" data-v-7b43b781><thead data-v-7b43b781><tr data-v-7b43b781><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k40t11083"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3xuaw084"))}</th><th data-v-7b43b781>min ~ max</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k4118o085"))}</th></tr></thead><tbody data-v-7b43b781><!--[-->`);
594
636
  ssrRenderList(runDataView.value.data.daq, (d) => {
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>`);
637
+ _push(`<tr data-v-7b43b781><td data-v-7b43b781>${ssrInterpolate(d.ch)}<small class="mono dim" data-v-7b43b781>${ssrInterpolate(d.unit)}</small></td><td data-v-7b43b781>${ssrInterpolate(d.nodeName)}</td><td class="mono" data-v-7b43b781>${ssrInterpolate(d.latest)}</td><td class="mono" data-v-7b43b781>${ssrInterpolate(d.avg)}</td><td class="mono dim" data-v-7b43b781>${ssrInterpolate(d.min)} ~ ${ssrInterpolate(d.max)}</td><td class="mono dim" data-v-7b43b781>${ssrInterpolate(d.cnt)}</td></tr>`);
596
638
  });
597
639
  _push(`<!--]-->`);
598
- if (runDataView.value.data.daq.length === 0) _push(`<tr data-v-51b1ce74><td colspan="6" class="dim" style="${ssrRenderStyle({
640
+ if (runDataView.value.data.daq.length === 0) _push(`<tr data-v-7b43b781><td colspan="6" class="dim" style="${ssrRenderStyle({
599
641
  "text-align": "center",
600
642
  "padding": "12px"
601
- })}" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.kd457ry086"))}</td></tr>`);
643
+ })}" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.kd457ry086"))}</td></tr>`);
602
644
  else _push(`<!---->`);
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><!--[-->`);
645
+ _push(`</tbody></table><p class="sec-label" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k12b7cxs087"))}</p><table class="nodes-table" data-v-7b43b781><thead data-v-7b43b781><tr data-v-7b43b781><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3xbjr088"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3ncbsh089"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3lh3mz090"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k454pg091"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k40ieu092"))}</th></tr></thead><tbody data-v-7b43b781><!--[-->`);
604
646
  ssrRenderList(runDataView.value.data.writes, (w, i) => {
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>`);
647
+ _push(`<tr data-v-7b43b781><td data-v-7b43b781>${ssrInterpolate(w.param)}</td><td data-v-7b43b781>${ssrInterpolate(w.nodeName)}</td><td class="mono" data-v-7b43b781>${ssrInterpolate(w.eng)}</td><td class="mono dim" data-v-7b43b781>${ssrInterpolate(w.raw)}</td><td data-v-7b43b781><span class="${ssrRenderClass([w.ok ? "ok" : "alarm", "st-pill"])}" data-v-7b43b781>${ssrInterpolate(w.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="mono dim" data-v-7b43b781>${ssrInterpolate(w.at.slice(5, 19))}</td></tr>`);
606
648
  });
607
649
  _push(`<!--]-->`);
608
- if (runDataView.value.data.writes.length === 0) _push(`<tr data-v-51b1ce74><td colspan="6" class="dim" style="${ssrRenderStyle({
650
+ if (runDataView.value.data.writes.length === 0) _push(`<tr data-v-7b43b781><td colspan="6" class="dim" style="${ssrRenderStyle({
609
651
  "text-align": "center",
610
652
  "padding": "12px"
611
- })}" data-v-51b1ce74>${ssrInterpolate(_ctx.$t("dcwDetail.knzcp8i093"))}</td></tr>`);
653
+ })}" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.knzcp8i093"))}</td></tr>`);
612
654
  else _push(`<!---->`);
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>`);
655
+ _push(`</tbody></table><div class="m-actions" data-v-7b43b781><button class="aw-pill outline" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3x62t043"))}</button></div></div></div>`);
614
656
  } else _push(`<!---->`);
615
657
  _push(`</section>`);
616
658
  if (recipeOpen.value) {
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><!--[-->`);
659
+ _push(`<div class="modal-mask" data-v-7b43b781><div class="modal" data-v-7b43b781><h3 class="m-title" data-v-7b43b781>${ssrInterpolate(recipeEditing.value ? _ctx.$t("dcwDetail.k1iiwk0i163") : _ctx.$t("dcwDetail.k1efq0r9176"))}</h3><div class="f-grid" data-v-7b43b781><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1dw4fzf094"))}<em data-v-7b43b781>*</em></span><select class="inp" data-v-7b43b781><!--[-->`);
618
660
  ssrRenderList(lineProducts.value, (p) => {
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>`);
661
+ _push(`<option${ssrRenderAttr("value", p.id)} data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(recipeForm.productId) ? ssrLooseContain(recipeForm.productId, p.id) : ssrLooseEqual(recipeForm.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
620
662
  });
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><!--[-->`);
663
+ _push(`<!--]--></select></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1l3f8so095"))}<em data-v-7b43b781>*</em></span><input${ssrRenderAttr("value", recipeForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", recipeForm.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-7b43b781></label></div><p class="sec-label" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.ka1kfgh097"))}</p><!--[-->`);
622
664
  ssrRenderList(recipeForm.params, (p, i) => {
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><!--[-->`);
665
+ _push(`<div class="param-row" data-v-7b43b781><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</span><select class="inp" data-v-7b43b781><!--[-->`);
624
666
  ssrRenderList(lineNodes.value, (n) => {
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>`);
667
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-7b43b781${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>`);
626
668
  });
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>`);
669
+ _push(`<!--]--></select>`);
670
+ if (paramStatus(p.nodeId, lineId.value)) _push(`<span class="row-stale" data-v-7b43b781>${ssrInterpolate(paramStatus(p.nodeId, lineId.value).label)}</span>`);
671
+ else _push(`<!---->`);
672
+ _push(`</label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3renp2098"))}<em data-v-7b43b781>*</em></span><input${ssrRenderAttr("value", p.value)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${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-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${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-7b43b781></label><button class="mini-btn danger param-del" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
628
673
  });
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><!--[-->`);
674
+ _push(`<!--]--><button class="mini-btn" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1broh7h100"))}</button><p class="sec-label" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1h5gues101"))}</p><!--[-->`);
630
675
  ssrRenderList(recipeForm.daqWindows, (w, i) => {
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><!--[-->`);
676
+ _push(`<div class="param-row" data-v-7b43b781><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1empnnb102"))}</span><select class="inp" data-v-7b43b781><!--[-->`);
632
677
  ssrRenderList(lineDaqNodes.value, (n) => {
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>`);
678
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-7b43b781${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>`);
634
679
  });
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>`);
680
+ _push(`<!--]--></select></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.kqm08ap103"))}</span><input${ssrRenderAttr("value", w.min)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.kpypf8g104"))}</span><input${ssrRenderAttr("value", w.max)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-7b43b781></label><button class="mini-btn danger param-del" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
636
681
  });
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>`);
682
+ _push(`<!--]--><button class="mini-btn"${ssrIncludeBooleanAttr(lineDaqNodes.value.length === 0) ? " disabled" : ""}${ssrRenderAttr("title", lineDaqNodes.value.length === 0 ? "本产线暂无数采节点" : "")} data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.kv1de1p105"))}</button>`);
683
+ if (recipeStaleNote.value) _push(`<p class="m-note" data-v-7b43b781>${ssrInterpolate(recipeStaleNote.value)}</p>`);
684
+ else _push(`<!---->`);
685
+ if (recipeError.value) _push(`<p class="m-err" data-v-7b43b781>${ssrInterpolate(recipeError.value)}</p>`);
639
686
  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>`);
687
+ _push(`<div class="m-actions" data-v-7b43b781><button class="aw-pill outline" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(recipeSaving.value) ? " disabled" : ""} data-v-7b43b781>${ssrInterpolate(recipeSaving.value ? _ctx.$t("dcwDetail.k1b38d59164") : _ctx.$t("dcwDetail.k1b3kwg0177"))}</button></div></div></div>`);
641
688
  } else _push(`<!---->`);
642
689
  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"))}`);
690
+ _push(`<div class="modal-mask" data-v-7b43b781><div class="modal" style="${ssrRenderStyle({ "max-width": "760px" })}" data-v-7b43b781><div class="modal-head" data-v-7b43b781><h3 data-v-7b43b781>${ssrInterpolate(unref(t)("dcwDetail.histTitle"))}`);
644
691
  if (verRecipe.value) _push(`<span class="dim" style="${ssrRenderStyle({
645
692
  "margin-left": "8px",
646
693
  "font-size": "12px"
647
- })}" data-v-51b1ce74>${ssrInterpolate(verRecipe.value.name)} · v${ssrInterpolate(verRecipe.value.version)}</span>`);
694
+ })}" data-v-7b43b781>${ssrInterpolate(verRecipe.value.name)} · v${ssrInterpolate(verRecipe.value.version)}</span>`);
648
695
  else _push(`<!---->`);
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>`);
696
+ _push(`</h3><button class="mini-btn" data-v-7b43b781> ✕ </button></div>`);
697
+ if (verMsg.value) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin": "6px 0" })}" data-v-7b43b781>${ssrInterpolate(verMsg.value)}</p>`);
651
698
  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>`);
699
+ if (verLoading.value) _push(`<p class="dim" data-v-7b43b781>${ssrInterpolate(unref(t)("dcwDetail.histLoading"))}</p>`);
700
+ else if (verRows.value.length === 0) _push(`<div class="pane-empty" data-v-7b43b781>${ssrInterpolate(unref(t)("dcwDetail.histEmpty"))}</div>`);
654
701
  else {
655
702
  _push(`<!--[-->`);
656
703
  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>`);
704
+ _push(`<div class="${ssrRenderClass([{ cur: row.current }, "ver-row"])}" data-v-7b43b781><div class="ver-head" data-v-7b43b781><span class="mono ver-v" data-v-7b43b781>v${ssrInterpolate(row.version)}</span><span class="${ssrRenderClass([row.by ?? (row.current ? "cur" : ""), "ver-src"])}" data-v-7b43b781>${ssrInterpolate(row.current ? unref(t)("dcwDetail.histCurrent") : verSrcLabel(row.by))}</span><span class="mono dim" data-v-7b43b781>${ssrInterpolate(row.at.slice(0, 19).replace("T", " "))}</span><span class="ver-actor" data-v-7b43b781>${ssrInterpolate(row.actorName || "—")}</span>`);
705
+ if (!row.current) _push(`<button class="mini-btn" data-v-7b43b781>${ssrInterpolate(unref(t)("dcwDetail.revertTo"))}</button>`);
659
706
  else _push(`<!---->`);
660
707
  _push(`</div>`);
661
- if (row.description) _push(`<p class="ver-desc" data-v-51b1ce74>${ssrInterpolate(row.description)}</p>`);
708
+ if (row.description) _push(`<p class="ver-desc" data-v-7b43b781>${ssrInterpolate(row.description)}</p>`);
662
709
  else _push(`<!---->`);
663
- _push(`<p class="ver-diff mono" data-v-51b1ce74>${ssrInterpolate(verDiff(row, i))}</p></div>`);
710
+ _push(`<p class="ver-diff mono" data-v-7b43b781>${ssrInterpolate(verDiff(row, i))}</p></div>`);
664
711
  });
665
712
  _push(`<!--]-->`);
666
713
  }
667
714
  _push(`</div></div>`);
668
715
  } else _push(`<!---->`);
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><!--[-->`);
716
+ _push(`<section class="aw-tile query-card" data-v-7b43b781><p class="sec-label" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1us3jse106"))}</p><div class="q-grid" data-v-7b43b781><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-7b43b781><option value="" data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(query.productId) ? ssrLooseContain(query.productId, "") : ssrLooseEqual(query.productId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkl1jx107"))}</option><!--[-->`);
670
717
  ssrRenderList(lineProducts.value, (p) => {
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>`);
718
+ _push(`<option${ssrRenderAttr("value", p.id)} data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(query.productId) ? ssrLooseContain(query.productId, p.id) : ssrLooseEqual(query.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
672
719
  });
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><!--[-->`);
720
+ _push(`<!--]--></select></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!query.productId) ? " disabled" : ""} data-v-7b43b781><option value="" data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(query.recipeId) ? ssrLooseContain(query.recipeId, "") : ssrLooseEqual(query.recipeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7cr108"))}</option><!--[-->`);
674
721
  ssrRenderList(visibleRecipes.value, (r) => {
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>`);
722
+ _push(`<option${ssrRenderAttr("value", r.id)} data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(query.recipeId) ? ssrLooseContain(query.recipeId, r.id) : ssrLooseEqual(query.recipeId, r.id)) ? " selected" : ""}>${ssrInterpolate(r.name)}</option>`);
676
723
  });
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><!--[-->`);
724
+ _push(`<!--]--></select></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1demcae109"))}</span><select class="inp" data-v-7b43b781><option value="" data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(query.paramKey) ? ssrLooseContain(query.paramKey, "") : ssrLooseEqual(query.paramKey, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7ya110"))}</option><!--[-->`);
678
725
  ssrRenderList(daqParamKeys.value, (k) => {
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>`);
726
+ _push(`<option${ssrRenderAttr("value", k)} data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(query.paramKey) ? ssrLooseContain(query.paramKey, k) : ssrLooseEqual(query.paramKey, k)) ? " selected" : ""}>${ssrInterpolate(k)}</option>`);
680
727
  });
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><!--[-->`);
728
+ _push(`<!--]--></select></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</span><select class="inp" data-v-7b43b781><option value="" data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(query.nodeId) ? ssrLooseContain(query.nodeId, "") : ssrLooseEqual(query.nodeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkul3k111"))}</option><!--[-->`);
682
729
  ssrRenderList(lineDaqNodes.value, (n) => {
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>`);
730
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(query.nodeId) ? ssrLooseContain(query.nodeId, n.id) : ssrLooseEqual(query.nodeId, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
684
731
  });
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>`);
732
+ _push(`<!--]--></select></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.kx2ojn0112"))}</span><input${ssrRenderAttr("value", query.lastMin)} type="number" min="1" max="10080" class="inp" data-v-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.kjvnvn4113"))}</span><input${ssrRenderAttr("value", query.bucketMs)} type="number" min="1000" step="500" class="inp" data-v-7b43b781></label><div class="f q-actions" data-v-7b43b781><button class="pill-btn"${ssrIncludeBooleanAttr(queryBusy.value) ? " disabled" : ""} data-v-7b43b781>${ssrInterpolate(queryBusy.value ? _ctx.$t("dcwDetail.k1eyx09r165") : _ctx.$t("dcwDetail.k416ek178"))}</button></div></div>`);
733
+ if (queryError.value) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "8px" })}" data-v-7b43b781>${ssrInterpolate(queryError.value)}</p>`);
687
734
  else _push(`<!---->`);
688
735
  if (queryResult.value) {
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><!--[-->`);
736
+ _push(`<div class="q-result" data-v-7b43b781><table class="nodes-table" data-v-7b43b781><thead data-v-7b43b781><tr data-v-7b43b781><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k42kcu114"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k49ujb115"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k40pvw116"))}</th><th data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3xho3117"))}</th></tr></thead><tbody data-v-7b43b781><!--[-->`);
690
737
  ssrRenderList(queryResult.value.channels, (c) => {
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>`);
738
+ _push(`<tr data-v-7b43b781><td data-v-7b43b781>${ssrInterpolate(c.ch)}<small class="mono dim" data-v-7b43b781>${ssrInterpolate(c.unit)}</small></td><td data-v-7b43b781>${ssrInterpolate(c.nodeName)}</td><td class="mono" data-v-7b43b781>${ssrInterpolate(c.points.length)}</td><td class="mono" data-v-7b43b781>${ssrInterpolate(fmtPoint(c.points[0]))}</td><td class="mono" data-v-7b43b781>${ssrInterpolate(fmtPoint(c.points[c.points.length - 1]))}</td><td class="mono dim" data-v-7b43b781>${ssrInterpolate(new Date(c.points[0]?.at ?? 0).toLocaleTimeString())} ~ ${ssrInterpolate(new Date(c.points[c.points.length - 1]?.at ?? 0).toLocaleTimeString())}</td></tr>`);
692
739
  });
693
740
  _push(`<!--]--></tbody></table></div>`);
694
741
  } else _push(`<!---->`);
695
742
  _push(`</section>`);
696
743
  if (lineHistory.value.length) {
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><!--[-->`);
744
+ _push(`<section class="aw-tile table-card" data-v-7b43b781><p class="sec-label" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.kw7ym9b148"))} ${ssrInterpolate(lineHistory.value.length)} ${ssrInterpolate(_ctx.$t("dcwDetail.k40bfz150"))}</p><table class="nodes-table" data-v-7b43b781><tbody data-v-7b43b781><!--[-->`);
698
745
  ssrRenderList(lineHistory.value.slice(0, 12), (h) => {
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>`);
746
+ _push(`<tr data-v-7b43b781><td class="mono dim" data-v-7b43b781>${ssrInterpolate(h.at.slice(5, 19))}</td><td data-v-7b43b781>${ssrInterpolate(h.param)}</td><td data-v-7b43b781>${ssrInterpolate(h.nodeName)}</td><td class="mono" data-v-7b43b781>${ssrInterpolate(h.eng)}</td><td class="mono dim" data-v-7b43b781> raw ${ssrInterpolate(h.raw ?? "-")}</td><td data-v-7b43b781><span class="${ssrRenderClass([h.ok ? "ok" : "alarm", "st-pill"])}" data-v-7b43b781>${ssrInterpolate(h.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="dim" data-v-7b43b781>${ssrInterpolate(h.recipeRunId ? _ctx.$t("dcwDetail.k6vgks7181", { p0: h.recipeRunId }) : "手动")}</td></tr>`);
700
747
  });
701
748
  _push(`<!--]--></tbody></table></section>`);
702
749
  } else _push(`<!---->`);
703
750
  if (productOpen.value) {
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>`);
751
+ _push(`<div class="modal-mask" data-v-7b43b781><div class="modal" data-v-7b43b781><h3 class="m-title" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1efduyf118"))}</h3><div class="f-grid" data-v-7b43b781><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1avjrl6119"))}<em data-v-7b43b781>*</em></span><input${ssrRenderAttr("value", productForm.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-7b43b781></label><label class="f" data-v-7b43b781><span data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", productForm.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-7b43b781></label></div>`);
752
+ if (productError.value) _push(`<p class="m-err" data-v-7b43b781>${ssrInterpolate(productError.value)}</p>`);
706
753
  else _push(`<!---->`);
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>`);
754
+ _push(`<div class="m-actions" data-v-7b43b781><button class="aw-pill outline" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(productSaving.value) ? " disabled" : ""} data-v-7b43b781>${ssrInterpolate(productSaving.value ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg4kn6179"))}</button></div></div></div>`);
708
755
  } else _push(`<!---->`);
709
756
  if (unref(dcw).error) {
710
- _push(`<p class="err" data-v-51b1ce74>${ssrInterpolate(unref(dcw).error)}(`);
757
+ _push(`<p class="err" data-v-7b43b781>${ssrInterpolate(unref(dcw).error)}(`);
711
758
  _push(ssrRenderComponent(_component_NuxtLink, { to: "/workshop" }, {
712
759
  default: withCtx((_, _push, _parent, _scopeId) => {
713
760
  if (_push) _push(`${ssrInterpolate(_ctx.$t("dcwDetail.k1bhhheq120"))}`);
@@ -717,19 +764,19 @@ var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
717
764
  }, _parent));
718
765
  _push(`) </p>`);
719
766
  } else _push(`<!---->`);
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><!--[-->`);
767
+ _push(`<section class="aw-tile ledger-card" data-v-7b43b781><div class="ledger-head" data-v-7b43b781><b data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgt001"))}</b><select class="inp" data-v-7b43b781><option value="" data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, "") : ssrLooseEqual(ledgerNodeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgs001"))}</option><!--[-->`);
721
768
  ssrRenderList(lineNodes.value, (n) => {
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>`);
769
+ _push(`<option${ssrRenderAttr("value", n.id)} data-v-7b43b781${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, n.id) : ssrLooseEqual(ledgerNodeId.value, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
723
770
  });
724
771
  _push(`<!--]--></select></div>`);
725
772
  if (ledger.value) {
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><!--[-->`);
773
+ _push(`<!--[--><div class="ledger-tri" data-v-7b43b781><div class="tri-cell" data-v-7b43b781><small data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv001"))}</small><b class="mono" data-v-7b43b781>${ssrInterpolate(ledger.value.current ?? "--")}</b></div><div class="tri-cell" data-v-7b43b781><small data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv002"))}</small><b class="mono" data-v-7b43b781>${ssrInterpolate(ledger.value.recipeTarget ?? "--")}</b></div><div class="tri-cell" data-v-7b43b781><small data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv003"))}</small><b class="mono" data-v-7b43b781>${ssrInterpolate(ledger.value.lastGood ?? "--")}</b></div><button class="mini-btn" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga001"))}</button><button class="mini-btn danger" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga002"))}</button></div><div class="ledger-cols" data-v-7b43b781><div class="ledger-col" data-v-7b43b781><small class="sec-t" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgh001"))}</small><ul class="ledger-list mono" data-v-7b43b781><!--[-->`);
727
774
  ssrRenderList(ledger.value.journal, (a) => {
728
- _push(`<li data-v-51b1ce74>${ssrInterpolate(a.at.slice(5, 16).replace("T", " "))} [${ssrInterpolate(a.source)}] ${ssrInterpolate(a.prevValue ?? "?")} → ${ssrInterpolate(a.newValue)}</li>`);
775
+ _push(`<li data-v-7b43b781>${ssrInterpolate(a.at.slice(5, 16).replace("T", " "))} [${ssrInterpolate(a.source)}] ${ssrInterpolate(a.prevValue ?? "?")} → ${ssrInterpolate(a.newValue)}</li>`);
729
776
  });
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><!--[-->`);
777
+ _push(`<!--]--></ul></div><div class="ledger-col" data-v-7b43b781><small class="sec-t" data-v-7b43b781>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgr001"))}</small><ul class="ledger-list" data-v-7b43b781><!--[-->`);
731
778
  ssrRenderList(ledger.value.records, (r) => {
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>`);
779
+ _push(`<li class="ledger-rec" data-v-7b43b781><span class="${ssrRenderClass([r.status, "rec-st"])}" data-v-7b43b781>${ssrInterpolate(r.status)}</span><span class="mono" data-v-7b43b781>${ssrInterpolate(r.params[0]?.from ?? "?")} → ${ssrInterpolate(r.params[0]?.to)}</span><small data-v-7b43b781>${ssrInterpolate(r.judge ? `${r.judge.verdict}(${r.judge.by})` : r.status === "open" ? "open" : r.closedBy ?? "")}</small></li>`);
733
780
  });
734
781
  _push(`<!--]--></ul></div></div><!--]-->`);
735
782
  } else _push(`<!---->`);
@@ -746,7 +793,7 @@ _id__vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
746
793
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/dcw/[id].vue");
747
794
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
748
795
  };
749
- var _id__default = /*#__PURE__*/ _plugin_vue_export_helper_default(_id__vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-51b1ce74"]]);
796
+ var _id__default = /*#__PURE__*/ _plugin_vue_export_helper_default(_id__vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-7b43b781"]]);
750
797
 
751
798
  export { _id__default as default };
752
- //# sourceMappingURL=_id_-DvJZ5Qis.mjs.map
799
+ //# sourceMappingURL=_id_-Bs-euJPu.mjs.map