agentworkshop 0.7.23 → 0.7.27
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.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/0jKrzLuM.js +19 -0
- package/.output/public/_nuxt/2jaJHWIJ.js +1 -0
- package/.output/public/_nuxt/{Cor9siSf.js → 6PZPfFcO.js} +1 -1
- package/.output/public/_nuxt/B7gZokg82.js +209 -0
- package/.output/public/_nuxt/B8kt898d.js +1 -0
- package/.output/public/_nuxt/{B-xskWta.js → BCJFMBQ6.js} +1 -1
- package/.output/public/_nuxt/BFGpEo8S.js +1 -0
- package/.output/public/_nuxt/BG4zduPf.js +14 -0
- package/.output/public/_nuxt/{DNxVTfhe.js → BGhOrgle.js} +1 -1
- package/.output/public/_nuxt/{n3vMFfrv.js → BHcpzI2n.js} +3 -3
- package/.output/public/_nuxt/{CEHmSufQ.js → BTLEvDxM.js} +1 -1
- package/.output/public/_nuxt/{CYBq3kS7.js → BWyR3awA.js} +1 -1
- package/.output/public/_nuxt/Bc89zKq2.js +1 -0
- package/.output/public/_nuxt/BetmGSO4.js +1 -0
- package/.output/public/_nuxt/{DAR70Lf5.js → BgCrZKv_2.js} +1 -1
- package/.output/public/_nuxt/BowTbasd.js +1 -0
- package/.output/public/_nuxt/BvtknqSC2.js +1 -0
- package/.output/public/_nuxt/CJviSvm-.js +1 -0
- package/.output/public/_nuxt/CTfqWGdy.js +1 -0
- package/.output/public/_nuxt/Cb3SnTM8.js +1 -0
- package/.output/public/_nuxt/Chc5pfAA.js +1 -0
- package/.output/public/_nuxt/CmHzfVc5.js +3 -0
- package/.output/public/_nuxt/Cn3J3NXR.js +23 -0
- package/.output/public/_nuxt/CobSUzQv.js +2 -0
- package/.output/public/_nuxt/{kZV5TQvh2.js → CucID8qg2.js} +1 -1
- package/.output/public/_nuxt/{CfVAr2nf.js → Cz9gD2Yo.js} +1 -1
- package/.output/public/_nuxt/{E88a-JCG.js → DGAOugLt.js} +1 -1
- package/.output/public/_nuxt/DHbTyoAV.js +1 -0
- package/.output/public/_nuxt/{BxtpDtzC.js → DNQF_TXX.js} +1 -1
- package/.output/public/_nuxt/DfLUN8kY.js +1 -0
- package/.output/public/_nuxt/DjU9Dx5Y.js +1 -0
- package/.output/public/_nuxt/DnziMlcX.js +1 -0
- package/.output/public/_nuxt/{BBwMH_hG.js → DoAlYsiF.js} +1 -1
- package/.output/public/_nuxt/{DA4lxCWC2.js → DosOJEmZ2.js} +2 -2
- package/.output/public/_nuxt/{DWcEk1ur2.js → DvgKXPgu2.js} +1 -1
- package/.output/public/_nuxt/{ed5qX-x5.js → Q_SJDSgx.js} +1 -1
- package/.output/public/_nuxt/{TownView.zu2rU5nS.css → TownView.CtskuMXS.css} +1 -1
- package/.output/public/_nuxt/XY2z78rj.js +1 -0
- package/.output/public/_nuxt/_id_.DdbYeLqn.css +1 -0
- package/.output/public/_nuxt/bFnZa2yd.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/f7a8e33d-5422-45ac-895d-27168f97e3ad.json +1 -0
- package/.output/public/_nuxt/daq.DGV9QS8d.css +1 -0
- package/.output/public/_nuxt/entry.BN02X8iR.css +1 -0
- package/.output/public/_nuxt/monitor.B--1dPzs.css +1 -0
- package/.output/public/_nuxt/permissions.B1pjGChZ.css +1 -0
- package/.output/public/_nuxt/plugins.DpCuwaJt.css +1 -0
- package/.output/public/_nuxt/rkVgzg62.js +1 -0
- package/.output/public/_nuxt/settings.W6qrYAui.css +1 -0
- package/.output/public/_nuxt/teams.BBXVkyKq.css +1 -0
- package/.output/public/_nuxt/tokens.xRb1fSPU.css +1 -0
- package/.output/public/_nuxt/users.DuAt_Zwf.css +1 -0
- package/.output/public/_nuxt/workshop.BJg84pOK.css +1 -0
- package/.output/public/assets/game/character/yangyang-walk.glb +0 -0
- package/.output/server/chunks/_/host-bindings.mjs +1 -1
- package/.output/server/chunks/_/nitro.mjs +1073 -925
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/build/{OmpTerminalPanel-Ban3yJZ4.mjs → OmpTerminalPanel-Cw_Vw9oO.mjs} +3 -3
- package/.output/server/chunks/build/{OmpTerminalPanel-Ban3yJZ4.mjs.map → OmpTerminalPanel-Cw_Vw9oO.mjs.map} +1 -1
- package/.output/server/chunks/build/{TownView-DxeQe1Bl.mjs → TownView-ftIylqiD.mjs} +178 -151
- package/.output/server/chunks/build/{TownView-DxeQe1Bl.mjs.map → TownView-ftIylqiD.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-DQDqj-cZ.mjs → _id_-3Axz2-gV.mjs} +35 -35
- package/.output/server/chunks/build/{_id_-DQDqj-cZ.mjs.map → _id_-3Axz2-gV.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-DY6v6sqB.mjs → _id_-CahfkmEt.mjs} +5 -5
- package/.output/server/chunks/build/{_id_-DY6v6sqB.mjs.map → _id_-CahfkmEt.mjs.map} +1 -1
- package/.output/server/chunks/build/{_wsId_-C2O5zZsI.mjs → _wsId_-BymlQhzS.mjs} +13 -15
- package/.output/server/chunks/build/{_wsId_-C2O5zZsI.mjs.map → _wsId_-BymlQhzS.mjs.map} +1 -1
- package/.output/server/chunks/build/{agents--6bzGtES.mjs → agents-DuMiSWKp.mjs} +7 -9
- package/.output/server/chunks/build/agents-DuMiSWKp.mjs.map +1 -0
- package/.output/server/chunks/build/button-DEcZFcqN.mjs +1 -1
- package/.output/server/chunks/build/{card-CCPQoKlh.mjs → card-Dipvaykh.mjs} +4 -4
- package/.output/server/chunks/build/{card-CCPQoKlh.mjs.map → card-Dipvaykh.mjs.map} +1 -1
- package/.output/server/chunks/build/{channel-templates-C1Bb-U75.mjs → channel-templates-BStqJ-of.mjs} +5 -7
- package/.output/server/chunks/build/channel-templates-BStqJ-of.mjs.map +1 -0
- package/.output/server/chunks/build/{checkbox-Dv1kjaUZ.mjs → checkbox-C1gABOca.mjs} +5 -5
- package/.output/server/chunks/build/{checkbox-Dv1kjaUZ.mjs.map → checkbox-C1gABOca.mjs.map} +1 -1
- package/.output/server/chunks/build/{daq-B-3xCp_2.mjs → daq-ChYCABz1.mjs} +312 -426
- package/.output/server/chunks/build/daq-ChYCABz1.mjs.map +1 -0
- package/.output/server/chunks/build/{dcw-BL2dhuz7.mjs → dcw-CcQNGggh.mjs} +3 -3
- package/.output/server/chunks/build/{dcw-BL2dhuz7.mjs.map → dcw-CcQNGggh.mjs.map} +1 -1
- package/.output/server/chunks/build/{default-DdV642BY.mjs → default-95-zOTPt.mjs} +3 -4
- package/.output/server/chunks/build/{default-DdV642BY.mjs.map → default-95-zOTPt.mjs.map} +1 -1
- package/.output/server/chunks/build/dropdown-vhn1NPFs.mjs +1 -1
- package/.output/server/chunks/build/{input-number-CZ3ZrCsy.mjs → input-number-Bd55elNN.mjs} +3 -3
- package/.output/server/chunks/build/{input-number-CZ3ZrCsy.mjs.map → input-number-Bd55elNN.mjs.map} +1 -1
- package/.output/server/chunks/build/{input-DxDqeyQW.mjs → input-sf_BT6o6.mjs} +553 -5
- package/.output/server/chunks/build/input-sf_BT6o6.mjs.map +1 -0
- package/.output/server/chunks/build/{logs-Dto_umFY.mjs → logs-D-2UyGtE.mjs} +3 -3
- package/.output/server/chunks/build/{logs-Dto_umFY.mjs.map → logs-D-2UyGtE.mjs.map} +1 -1
- package/.output/server/chunks/build/menu-WCrlpYVh.mjs +2 -2
- package/.output/server/chunks/build/modal-yvUquPj5.mjs +2 -2
- package/.output/server/chunks/build/{monitor-miqq9xHB.mjs → monitor-mfG5jBtz.mjs} +70 -192
- package/.output/server/chunks/build/monitor-mfG5jBtz.mjs.map +1 -0
- package/.output/server/chunks/build/{pages-D9tOoJsf.mjs → pages-Dfosfchr.mjs} +5 -6
- package/.output/server/chunks/build/pages-Dfosfchr.mjs.map +1 -0
- package/.output/server/chunks/build/{permissions-CxEgXic0.mjs → permissions-B-hhZuzm.mjs} +288 -194
- package/.output/server/chunks/build/permissions-B-hhZuzm.mjs.map +1 -0
- package/.output/server/chunks/build/{plugins-wLIKHcIE.mjs → plugins-DZR0T4Mh.mjs} +17 -17
- package/.output/server/chunks/build/{plugins-wLIKHcIE.mjs.map → plugins-DZR0T4Mh.mjs.map} +1 -1
- package/.output/server/chunks/build/popconfirm-CRaHcz5O.mjs +1 -1
- package/.output/server/chunks/build/{segmented-ChmQZwz6.mjs → segmented-LPPREMtZ.mjs} +336 -5
- package/.output/server/chunks/build/{segmented-ChmQZwz6.mjs.map → segmented-LPPREMtZ.mjs.map} +1 -1
- package/.output/server/chunks/build/{settings-BPBll_7K.mjs → settings-BajN9TQW.mjs} +254 -27
- package/.output/server/chunks/build/settings-BajN9TQW.mjs.map +1 -0
- package/.output/server/chunks/build/space-CCBYAkXt.mjs +1 -1
- package/.output/server/chunks/build/switch-CelRXpcy.mjs +1 -1
- package/.output/server/chunks/build/{table-BtksyDlQ.mjs → table-Bf1r2JjE.mjs} +5 -5
- package/.output/server/chunks/build/{table-BtksyDlQ.mjs.map → table-Bf1r2JjE.mjs.map} +1 -1
- package/.output/server/chunks/build/{tabs-DQv-_-R6.mjs → tabs-BM3tAh_J.mjs} +2 -2
- package/.output/server/chunks/build/{tabs-DQv-_-R6.mjs.map → tabs-BM3tAh_J.mjs.map} +1 -1
- package/.output/server/chunks/build/{tag-A0tZ2Ouq.mjs → tag-NO9jEqKy.mjs} +3 -3
- package/.output/server/chunks/build/{tag-A0tZ2Ouq.mjs.map → tag-NO9jEqKy.mjs.map} +1 -1
- package/.output/server/chunks/build/{teams-DD8ZXTKL.mjs → teams-t2SkRlJP.mjs} +349 -51
- package/.output/server/chunks/build/teams-t2SkRlJP.mjs.map +1 -0
- package/.output/server/chunks/build/{tokens-Dxnuw96_.mjs → tokens-DiCojbN8.mjs} +296 -200
- package/.output/server/chunks/build/tokens-DiCojbN8.mjs.map +1 -0
- package/.output/server/chunks/build/{town-Dsh0jlwZ.mjs → town-C7QM8DYK.mjs} +5 -5
- package/.output/server/chunks/build/{town-Dsh0jlwZ.mjs.map → town-C7QM8DYK.mjs.map} +1 -1
- package/.output/server/chunks/build/{useDaqStream-DkRL3tEW.mjs → useDaqStream-BeA2X8KR.mjs} +26 -11
- package/.output/server/chunks/build/useDaqStream-BeA2X8KR.mjs.map +1 -0
- package/.output/server/chunks/build/{useDcwStream-DyB2ufQI.mjs → useDcwStream-BJW_MitY.mjs} +14 -6
- package/.output/server/chunks/build/useDcwStream-BJW_MitY.mjs.map +1 -0
- package/.output/server/chunks/build/{useDeviceTwins-ZbT86L9O.mjs → useDeviceTwins-Dwz_EY_i.mjs} +2 -2
- package/.output/server/chunks/build/{useDeviceTwins-ZbT86L9O.mjs.map → useDeviceTwins-Dwz_EY_i.mjs.map} +1 -1
- package/.output/server/chunks/build/{useOpsLog-8HCYFb6n.mjs → useOpsLog-Dm8QEb1I.mjs} +2 -2
- package/.output/server/chunks/build/{useOpsLog-8HCYFb6n.mjs.map → useOpsLog-Dm8QEb1I.mjs.map} +1 -1
- package/.output/server/chunks/build/{useWorkshopApi-D2gq06N2.mjs → useWorkshopApi-B-L3MmIX.mjs} +9 -2
- package/.output/server/chunks/build/{useWorkshopApi-D2gq06N2.mjs.map → useWorkshopApi-B-L3MmIX.mjs.map} +1 -1
- package/.output/server/chunks/build/{users-D6RNylrW.mjs → users-B9SAdEtH.mjs} +12 -13
- package/.output/server/chunks/build/users-B9SAdEtH.mjs.map +1 -0
- package/.output/server/chunks/build/{workshop-CTcYDq2i.mjs → workshop-81xhz368.mjs} +21 -22
- package/.output/server/chunks/build/workshop-81xhz368.mjs.map +1 -0
- package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +14 -2
- package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +40 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +21 -9
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +33 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +15 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs +3 -3
- package/.output/server/chunks/virtual/entry.mjs +381 -438
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/app/app.vue +7 -0
- package/app/assets/css/main.css +12 -1
- package/app/components/workshop/DaqNodeRow.vue +398 -0
- package/app/components/workshop/town/ModelPreview3D.vue +26 -4
- package/app/components/workshop/town/TownScene3D.ts +60 -12
- package/app/components/workshop/town/TownView.vue +4 -3
- package/app/composables/workshop/useCharacterAssets.ts +1 -0
- package/app/composables/workshop/useDaqStream.ts +24 -5
- package/app/composables/workshop/useDcwStream.ts +13 -4
- package/app/composables/workshop/useWorkshopApi.ts +294 -259
- package/app/pages/daq/[id].vue +27 -3
- package/app/pages/daq/index.vue +8 -355
- package/app/pages/monitor.vue +56 -68
- package/app/pages/permissions/index.vue +86 -82
- package/app/pages/plugins/index.vue +12 -7
- package/app/pages/settings.vue +253 -2
- package/app/pages/tokens.vue +94 -96
- package/app/pages/users.vue +10 -18
- package/app/pages/workshop/index.vue +34 -5
- package/app/pages/workshop/teams.vue +212 -2
- package/i18n/dicts/_en.json +361 -1
- package/i18n/dicts/plugins.json +10 -0
- package/i18n/dicts/settings.json +1 -0
- package/i18n/dicts/teamPlugins.json +10 -0
- package/i18n/locales/en.ts +1861 -1901
- package/i18n/locales/zh-CN.ts +1789 -1830
- package/package.json +149 -148
- package/public/assets/game/character/yangyang-walk.glb +0 -0
- package/scripts/_dbg-cpu-profile.mjs +53 -0
- package/scripts/_dbg-logs-ui-e2e.py +3 -2
- package/scripts/_dbg-render-perf.mjs +142 -0
- package/scripts/_dbg-render-regression.mjs +130 -0
- package/scripts/_dbg-ui-survey.py +52 -0
- package/scripts/i18n-merge.mjs +152 -30
- package/scripts/production-closed-loop-e2e.mjs +254 -0
- package/scripts/team-plugins-api-smoke.mjs +149 -0
- package/scripts/three-system-e2e.mjs +448 -0
- package/server/api/plugins/[name]/[...path].ts +46 -31
- package/server/api/workshop/channels/[id]/plugins/index.get.ts +35 -0
- package/server/api/workshop/channels/[id]/plugins/index.put.ts +39 -0
- package/server/api/workshop/channels.post.ts +17 -0
- package/server/data/dcw-lines.json +14 -0
- package/server/data/dcw-products.json +14 -0
- package/server/data/dcw-recipes.json +23 -1
- package/server/data/dcw-rollback.json +585 -10
- package/server/data/dcw-runs.json +27 -27
- package/server/data/dcw-writes.json +96 -0
- package/server/data/dcws.json +394 -366
- package/server/data/scene-layouts.json +66 -0
- package/server/plugins/aw-plugins.ts +35 -27
- package/server/plugins-builtin/diag-bridge/index.mjs +556 -0
- package/server/plugins-builtin/rag-bridge/index.mjs +364 -0
- package/server/services/workshop/agents/host-tool-bridge.ts +659 -642
- package/server/services/workshop/agents/omp-agent.ts +1178 -1178
- package/server/services/workshop/agents/plugin-tools.ts +10 -1
- package/server/services/workshop/db/channel-plugins.repo.ts +65 -0
- package/server/services/workshop/plugins/host.mjs +52 -4
- package/server/services/workshop/runtime/manager.ts +2976 -2968
- package/shared/config/schema.json +4 -0
- package/.output/public/_nuxt/BJbhwS5o.js +0 -1
- package/.output/public/_nuxt/BUcmySDa2.js +0 -209
- package/.output/public/_nuxt/BWC4HQHQ.js +0 -1
- package/.output/public/_nuxt/BbZAzXjZ2.js +0 -1
- package/.output/public/_nuxt/BgOhoDTI.js +0 -1
- package/.output/public/_nuxt/Bo8t5fkJ.js +0 -1
- package/.output/public/_nuxt/BuiGDfMB.js +0 -1
- package/.output/public/_nuxt/BxPPAkGA.js +0 -3
- package/.output/public/_nuxt/C53drffV.js +0 -1
- package/.output/public/_nuxt/CcwJ2mrD2.js +0 -1
- package/.output/public/_nuxt/Cr9DkD1d.js +0 -1
- package/.output/public/_nuxt/DTYBfjRY.js +0 -1
- package/.output/public/_nuxt/DVoWWlUW.js +0 -1
- package/.output/public/_nuxt/Dc32T41C.js +0 -1
- package/.output/public/_nuxt/Dhqra7NB.js +0 -1
- package/.output/public/_nuxt/DlRO_q5L.js +0 -1
- package/.output/public/_nuxt/DsUUYP292.js +0 -1
- package/.output/public/_nuxt/Dsdy4Ua-.js +0 -1
- package/.output/public/_nuxt/DtzZqC0z.js +0 -1
- package/.output/public/_nuxt/Ko9mMsJj.js +0 -14
- package/.output/public/_nuxt/RzXYI9FM.js +0 -23
- package/.output/public/_nuxt/UtviM1bg.js +0 -1
- package/.output/public/_nuxt/_id_.C-YXjn8Q.css +0 -1
- package/.output/public/_nuxt/bAFueD6a.js +0 -1
- package/.output/public/_nuxt/builds/meta/1adc96e0-8bbd-4a79-ac7e-b6952556fef8.json +0 -1
- package/.output/public/_nuxt/daq.3OKj58HH.css +0 -1
- package/.output/public/_nuxt/dbi5bHkY.js +0 -2
- package/.output/public/_nuxt/eHYnGew0.js +0 -19
- package/.output/public/_nuxt/entry.OR_psZHp.css +0 -1
- package/.output/public/_nuxt/jyQyulh-.js +0 -1
- package/.output/public/_nuxt/monitor.CmwpEUCI.css +0 -1
- package/.output/public/_nuxt/permissions.DTRtZeTw.css +0 -1
- package/.output/public/_nuxt/plugins.BcSEwwGb.css +0 -1
- package/.output/public/_nuxt/settings.BqMF2nfj.css +0 -1
- package/.output/public/_nuxt/teams.DN0pAGGu.css +0 -1
- package/.output/public/_nuxt/tokens.BVXU1jOK.css +0 -1
- package/.output/public/_nuxt/users.D8lcLE62.css +0 -1
- package/.output/public/_nuxt/workshop.CbymC2LY.css +0 -1
- package/.output/public/_nuxt/zVkqCZ78.js +0 -1
- package/.output/server/chunks/build/Col-biaNnEPf.mjs +0 -338
- package/.output/server/chunks/build/Col-biaNnEPf.mjs.map +0 -1
- package/.output/server/chunks/build/agents--6bzGtES.mjs.map +0 -1
- package/.output/server/chunks/build/channel-templates-C1Bb-U75.mjs.map +0 -1
- package/.output/server/chunks/build/daq-B-3xCp_2.mjs.map +0 -1
- package/.output/server/chunks/build/hasIn-vQ9LWt-J.mjs +0 -554
- package/.output/server/chunks/build/hasIn-vQ9LWt-J.mjs.map +0 -1
- package/.output/server/chunks/build/input-DxDqeyQW.mjs.map +0 -1
- package/.output/server/chunks/build/monitor-miqq9xHB.mjs.map +0 -1
- package/.output/server/chunks/build/pages-D9tOoJsf.mjs.map +0 -1
- package/.output/server/chunks/build/permissions-CxEgXic0.mjs.map +0 -1
- package/.output/server/chunks/build/settings-BPBll_7K.mjs.map +0 -1
- package/.output/server/chunks/build/teams-DD8ZXTKL.mjs.map +0 -1
- package/.output/server/chunks/build/tokens-Dxnuw96_.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqStream-DkRL3tEW.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwStream-DyB2ufQI.mjs.map +0 -1
- package/.output/server/chunks/build/useSiteConfig-DJe_KMVr.mjs +0 -27
- package/.output/server/chunks/build/useSiteConfig-DJe_KMVr.mjs.map +0 -1
- package/.output/server/chunks/build/users-D6RNylrW.mjs.map +0 -1
- package/.output/server/chunks/build/workshop-CTcYDq2i.mjs.map +0 -1
- /package/.output/public/_nuxt/{CNs_Ozdc.js → CNs_Ozdc2.js} +0 -0
- /package/.output/public/_nuxt/{Cno6kYiO.js → Cno6kYiO2.js} +0 -0
- /package/.output/public/_nuxt/{ORt9oDIy2.js → ORt9oDIy.js} +0 -0
|
@@ -2,13 +2,13 @@ import { _ as _plugin_vue_export_helper_default, u as useI18n, c as useHead$1, a
|
|
|
2
2
|
import { s as spin_default } from './spin-HVY81X_L.mjs';
|
|
3
3
|
import { a as apiErrorMessage } from './api-error-dul30BYQ.mjs';
|
|
4
4
|
import { a as useWorkshopWs } from './useWorkshopWs-CprkZEdq.mjs';
|
|
5
|
-
import { u as useDcwStream } from './useDcwStream-
|
|
6
|
-
import { u as useDaqStream } from './useDaqStream-
|
|
7
|
-
import { u as useDeviceTwins } from './useDeviceTwins-
|
|
8
|
-
import { u as useOpsLog } from './useOpsLog-
|
|
5
|
+
import { u as useDcwStream } from './useDcwStream-BJW_MitY.mjs';
|
|
6
|
+
import { u as useDaqStream } from './useDaqStream-BeA2X8KR.mjs';
|
|
7
|
+
import { u as useDeviceTwins } from './useDeviceTwins-Dwz_EY_i.mjs';
|
|
8
|
+
import { u as useOpsLog } from './useOpsLog-Dm8QEb1I.mjs';
|
|
9
9
|
import { defineComponent, computed, reactive, ref, watch, mergeProps, unref, withCtx, createTextVNode, toDisplayString, createVNode, openBlock, createBlock, withDirectives, Fragment, renderList, vModelSelect, vModelText, createCommentVNode, useSSRContext } from 'vue';
|
|
10
10
|
import { ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrRenderClass, ssrRenderComponent, ssrIncludeBooleanAttr, ssrRenderList, ssrLooseContain, ssrLooseEqual, ssrRenderDynamicModel, ssrRenderStyle } from 'vue/server-renderer';
|
|
11
|
-
import {
|
|
11
|
+
import { b2 as DAQ_TEMPLATES, b5 as DAQ_DRIVERS, b4 as daqKeyFromRef, b7 as DAQ_TEMPLATE_ICONS } from '../_/nitro.mjs';
|
|
12
12
|
import 'unhead/utils';
|
|
13
13
|
import '../routes/renderer.mjs';
|
|
14
14
|
import 'unhead/server';
|
|
@@ -41,73 +41,43 @@ import 'node:sqlite';
|
|
|
41
41
|
import 'node:module';
|
|
42
42
|
import 'node:zlib';
|
|
43
43
|
|
|
44
|
-
//#region app/
|
|
44
|
+
//#region app/components/workshop/DaqNodeRow.vue?vue&type=script&setup=true&lang.ts
|
|
45
|
+
/** 数据新鲜度:超过 max(4×有效周期, 12s) 无新样本视为「采不到数据」(容忍 5s REST 刷新拍与时钟偏差) */
|
|
45
46
|
var TREND_W = 120;
|
|
46
47
|
var TREND_H = 26;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
__name: "index",
|
|
48
|
+
var DaqNodeRow_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
49
|
+
__name: "DaqNodeRow",
|
|
50
50
|
__ssrInlineRender: true,
|
|
51
|
+
props: { n: {} },
|
|
51
52
|
setup(__props) {
|
|
52
53
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
54
|
+
* DaqNodeRow —— 数采节点表格行(渲染隔离单元)。
|
|
55
|
+
*
|
|
56
|
+
* 行级派生态(pill/趋势串/限值线/产线运行态/节拍文案)全部在本组件 computed 内求值,
|
|
57
|
+
* 只追踪「本行节点」的响应式依赖:其它行/其它节点的 WS 读数帧失效不再波及本行 patch
|
|
58
|
+
* (等价 v-memo 的隔离效果,但 v-memo 在 SSR 编译产物引用未定义的 _cache 导致 500,
|
|
59
|
+
* 子组件 props 身份跳过是 SSR 安全形态)。父层 v-for 传稳定节点引用,依赖不变零重渲。
|
|
56
60
|
*/
|
|
57
|
-
const
|
|
58
|
-
|
|
61
|
+
const props = __props;
|
|
62
|
+
const { t } = useI18n();
|
|
59
63
|
const daq = useDaqStream();
|
|
60
64
|
const dcw = useDcwStream();
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const lineId = e.target.value;
|
|
67
|
-
try {
|
|
68
|
-
await daq.patchNode(id, { lineId });
|
|
69
|
-
const n = daq.nodes.find((x) => x.id === id);
|
|
70
|
-
if (n) n.lineId = lineId;
|
|
71
|
-
} catch (err) {
|
|
72
|
-
api$1.error(apiErrorMessage(err));
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
/** 节点绑定设备(多对多:add 挂新设备 / remove 摘除一台;server 落库,与数字孪生同一 deviceIds 链路) */
|
|
76
|
-
async function addNodeDevice(id, e) {
|
|
77
|
-
const deviceId = e.target.value;
|
|
78
|
-
if (!deviceId) return;
|
|
79
|
-
const node = daq.nodes.find((n) => n.id === id);
|
|
80
|
-
if (!node) return;
|
|
81
|
-
if (node.deviceIds?.includes(deviceId)) return;
|
|
82
|
-
try {
|
|
83
|
-
await daq.setNodeBindings(id, [...node.deviceIds ?? [], deviceId]);
|
|
84
|
-
} catch (err) {
|
|
85
|
-
api$1.error(apiErrorMessage(err));
|
|
86
|
-
}
|
|
87
|
-
e.target.value = "";
|
|
65
|
+
const deviceTwins = useDeviceTwins();
|
|
66
|
+
function staleOf(n) {
|
|
67
|
+
if (!n.lastAt) return true;
|
|
68
|
+
const iv = n.intervalMs ?? daq.controller.defaultIntervalMs;
|
|
69
|
+
return Date.now() - Date.parse(n.lastAt) > Math.max(iv * 4, 12e3);
|
|
88
70
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
if (!
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
api$1.error(apiErrorMessage(err));
|
|
96
|
-
}
|
|
71
|
+
function rowStateOf(n) {
|
|
72
|
+
if (!n.enabled) return "disabled";
|
|
73
|
+
if (!n.lineId) return "unassigned";
|
|
74
|
+
if (!dcw.lineStateOf(n.lineId).active) return "idle";
|
|
75
|
+
if (!daq.controller.running || staleOf(n)) return "offline";
|
|
76
|
+
return n.state;
|
|
97
77
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
async function toggleNodeEnabled(n) {
|
|
102
|
-
const next = !n.enabled;
|
|
103
|
-
try {
|
|
104
|
-
await daq.patchNode(n.id, { enabled: next });
|
|
105
|
-
n.enabled = next;
|
|
106
|
-
if (!next) n.state = "offline";
|
|
107
|
-
api$1.success(next ? tt("daq.k1nodestart147") : tt("daq.k1nodestop146"));
|
|
108
|
-
} catch (err) {
|
|
109
|
-
api$1.error(apiErrorMessage(err));
|
|
110
|
-
}
|
|
78
|
+
function isLive(n) {
|
|
79
|
+
const s = rowStateOf(n);
|
|
80
|
+
return s === "ok" || s === "warn" || s === "alarm";
|
|
111
81
|
}
|
|
112
82
|
/** 活动配方对该节点的数采监控窗口(本线活动批次;不同 Recipe 不同窗口) */
|
|
113
83
|
function recipeWinOf(n) {
|
|
@@ -122,22 +92,21 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
122
92
|
if (!w || n.value == null) return false;
|
|
123
93
|
return w.min != null && n.value < w.min || w.max != null && n.value > w.max;
|
|
124
94
|
}
|
|
125
|
-
|
|
126
|
-
function
|
|
95
|
+
/** 行内趋势的有效限值:活动配方窗口优先,节点预警带兜底,皆无 → 不画限值线 */
|
|
96
|
+
function limitOf(n) {
|
|
97
|
+
const w = recipeWinOf(n);
|
|
98
|
+
if (w && (w.min != null || w.max != null)) return {
|
|
99
|
+
min: w.min,
|
|
100
|
+
max: w.max
|
|
101
|
+
};
|
|
102
|
+
if (n.warnLow != null || n.warnHigh != null) return {
|
|
103
|
+
min: n.warnLow,
|
|
104
|
+
max: n.warnHigh
|
|
105
|
+
};
|
|
127
106
|
return {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
line: tt("logs.kind.line"),
|
|
132
|
-
recipe: tt("logs.kind.recipe"),
|
|
133
|
-
rollback: tt("logs.kind.rollback"),
|
|
134
|
-
daq: tt("logs.kind.daq"),
|
|
135
|
-
system: tt("logs.kind.system")
|
|
136
|
-
}[kind] ?? (kind || tt("logs.kind.system"));
|
|
137
|
-
}
|
|
138
|
-
function opsTime(at) {
|
|
139
|
-
const d = new Date(at);
|
|
140
|
-
return Number.isFinite(d.getTime()) ? `${String(d.getHours()).padStart(2, "0")}:${String(d.getMinutes()).padStart(2, "0")}:${String(d.getSeconds()).padStart(2, "0")}` : "";
|
|
107
|
+
min: null,
|
|
108
|
+
max: null
|
|
109
|
+
};
|
|
141
110
|
}
|
|
142
111
|
function trendPath(hist) {
|
|
143
112
|
const vals = hist.filter(Number.isFinite);
|
|
@@ -155,24 +124,181 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
155
124
|
const span = Math.max(...vals, limit) - min || 1;
|
|
156
125
|
return Number((TREND_H - (limit - min) / span * 24 - 1).toFixed(1));
|
|
157
126
|
}
|
|
158
|
-
/**
|
|
159
|
-
function
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
127
|
+
/** 状态 pill(含诚实的原因提示;配方越限标签仅在数据新鲜时展示) */
|
|
128
|
+
function statePillOf(n) {
|
|
129
|
+
const s = rowStateOf(n);
|
|
130
|
+
const offlineLabel = t("daq.k44c2n065");
|
|
131
|
+
if (s === "offline") {
|
|
132
|
+
if (n.lastError) return {
|
|
133
|
+
key: s,
|
|
134
|
+
label: offlineLabel,
|
|
135
|
+
tip: n.lastError
|
|
136
|
+
};
|
|
137
|
+
return {
|
|
138
|
+
key: s,
|
|
139
|
+
label: offlineLabel,
|
|
140
|
+
tip: !daq.controller.running ? t("daq.k1gateoff140") : t("daq.k1staled129", { p0: Math.round(Math.max((n.intervalMs ?? daq.controller.defaultIntervalMs) * 4, 12e3) / 1e3) })
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
const labels = {
|
|
144
|
+
ok: t("daq.k41k5c062"),
|
|
145
|
+
warn: t("daq.k49z8v063"),
|
|
146
|
+
alarm: t("daq.k3xmid064"),
|
|
147
|
+
offline: offlineLabel,
|
|
148
|
+
idle: t("daq.k3ozyqz117"),
|
|
149
|
+
disabled: t("daq.k1disabl130"),
|
|
150
|
+
unassigned: t("daq.k3ootr6053")
|
|
165
151
|
};
|
|
166
|
-
if (
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
152
|
+
if (s === "idle") return {
|
|
153
|
+
key: s,
|
|
154
|
+
label: labels.idle,
|
|
155
|
+
tip: t("daq.k1idlehin139")
|
|
156
|
+
};
|
|
157
|
+
if ((s === "ok" || s === "warn" || s === "alarm") && recipeAlarm(n)) {
|
|
158
|
+
const w = recipeWinOf(n);
|
|
159
|
+
return {
|
|
160
|
+
key: "alarm",
|
|
161
|
+
label: t("daq.k1l3pt51104"),
|
|
162
|
+
tip: t("daq.k1hrrqa1122", {
|
|
163
|
+
p0: w?.min ?? "-∞",
|
|
164
|
+
p1: w?.max ?? "+∞",
|
|
165
|
+
p2: ""
|
|
166
|
+
})
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
return {
|
|
170
|
+
key: s,
|
|
171
|
+
label: labels[s],
|
|
172
|
+
tip: ""
|
|
170
173
|
};
|
|
174
|
+
}
|
|
175
|
+
/** 模板通道语义(server 目录为唯一事实源;模板已删除 → 显示 templateRef 原文降级) */
|
|
176
|
+
function daqTemplateRefCh(templateRef) {
|
|
177
|
+
const tpl = daq.templates.find((x) => x.key === daqKeyFromRef(templateRef));
|
|
178
|
+
return tpl ? `${tpl.name} · ${tpl.ch}` : templateRef || "-";
|
|
179
|
+
}
|
|
180
|
+
const intervalOf = (intervalMs) => {
|
|
181
|
+
if (intervalMs == null) return t("daq.k9vnp9h124", { p0: daq.controller.defaultIntervalMs });
|
|
182
|
+
return `${intervalMs}ms`;
|
|
183
|
+
};
|
|
184
|
+
/** WS 下发节拍展示(null=跟随全局;0=每帧;>0 独立间隔) */
|
|
185
|
+
const publishOf = (v) => {
|
|
186
|
+
if (v == null) return t("daq.k9vnp9h124", { p0: daq.controller.defaultPublishIntervalMs });
|
|
187
|
+
if (v === 0) return t("daq.k41mvv078");
|
|
188
|
+
return `${v}ms`;
|
|
189
|
+
};
|
|
190
|
+
/** 驱动是否为预留协议(meta status=planned) */
|
|
191
|
+
const driverPlanned = (kind) => daq.meta.drivers.find((d) => d.kind === kind)?.status === "planned";
|
|
192
|
+
const nodeDeviceIds = (n) => n.deviceIds ?? (n.deviceBindingId ? [n.deviceBindingId] : []);
|
|
193
|
+
const deviceNameById = (id) => deviceTwins.twins.find((x) => x.id === id)?.name ?? id;
|
|
194
|
+
/** 绑定设备下拉选项:全部真实设备孪生(剔除 daq/dcw 伪孪生) */
|
|
195
|
+
const bindableDeviceTwins = computed(() => deviceTwins.twins.filter((x) => x.kind !== "daq" && !(x.modelRef ?? "").startsWith("daq-") && !(x.modelRef ?? "").startsWith("dcw-")));
|
|
196
|
+
const ctx = computed(() => {
|
|
197
|
+
const n = props.n;
|
|
198
|
+
const lim = limitOf(n);
|
|
199
|
+
const ls = n.lineId ? dcw.lineStateOf(n.lineId) : null;
|
|
171
200
|
return {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
201
|
+
tpl: daqTemplateRefCh(n.templateRef),
|
|
202
|
+
pill: statePillOf(n),
|
|
203
|
+
alarm: recipeAlarm(n),
|
|
204
|
+
live: isLive(n),
|
|
205
|
+
trend: trendPath(n.hist),
|
|
206
|
+
limMin: limitY(n.hist, lim.min),
|
|
207
|
+
limMax: limitY(n.hist, lim.max),
|
|
208
|
+
interval: intervalOf(n.intervalMs),
|
|
209
|
+
publish: publishOf(n.publishIntervalMs),
|
|
210
|
+
lineActive: !!ls?.active,
|
|
211
|
+
lineProduct: ls?.productName ?? "",
|
|
212
|
+
lineRecipe: ls?.recipeName ?? ""
|
|
175
213
|
};
|
|
214
|
+
});
|
|
215
|
+
return (_ctx, _push, _parent, _attrs) => {
|
|
216
|
+
const _component_NuxtLink = NuxtLink;
|
|
217
|
+
_push(`<tr${ssrRenderAttrs(mergeProps({ class: { "row-recipe-alarm": ctx.value.alarm } }, _attrs))}><td><span class="mono dim">${ssrInterpolate(__props.n.id.slice(0, 8))}</span><b>${ssrInterpolate(__props.n.name)}</b><small class="mono ch">${ssrInterpolate(ctx.value.tpl)}</small></td><td><span class="${ssrRenderClass([[ctx.value.pill.key], "st-pill"])}"${ssrRenderAttr("title", ctx.value.pill.tip)}>${ssrInterpolate(ctx.value.pill.label)}</span></td><td class="${ssrRenderClass([{
|
|
218
|
+
"stale": !ctx.value.live,
|
|
219
|
+
"val-alarm": __props.n.state === "alarm" || ctx.value.alarm
|
|
220
|
+
}, "mono val"])}"${ssrRenderAttr("title", ctx.value.live ? void 0 : ctx.value.pill.tip)}>${ssrInterpolate(__props.n.value != null ? __props.n.value.toFixed(__props.n.decimals) : "--")} <small>${ssrInterpolate(__props.n.unit)}</small></td><td class="trend-cell"><svg class="trend" viewBox="0 0 120 26" preserveAspectRatio="none"${ssrRenderAttr("title", _ctx.$t("daq.k1trnd002"))}>`);
|
|
221
|
+
if (ctx.value.limMin != null) _push(`<line class="lim" x1="0"${ssrRenderAttr("y1", ctx.value.limMin)} x2="120"${ssrRenderAttr("y2", ctx.value.limMin)}></line>`);
|
|
222
|
+
else _push(`<!---->`);
|
|
223
|
+
if (ctx.value.limMax != null) _push(`<line class="lim max" x1="0"${ssrRenderAttr("y1", ctx.value.limMax)} x2="120"${ssrRenderAttr("y2", ctx.value.limMax)}></line>`);
|
|
224
|
+
else _push(`<!---->`);
|
|
225
|
+
_push(`<polyline class="${ssrRenderClass([{ alarm: __props.n.state === "alarm" || ctx.value.alarm }, "trace"])}"${ssrRenderAttr("points", ctx.value.trend)}></polyline></svg></td><td class="mono">${ssrInterpolate(ctx.value.interval)}</td><td class="mono">${ssrInterpolate(ctx.value.publish)}</td><td><span class="${ssrRenderClass([{ planned: driverPlanned(__props.n.driver) }, "drv-tag"])}"${ssrRenderAttr("title", driverPlanned(__props.n.driver) ? _ctx.$t("daq.k1plndrv138") : "")}>${ssrInterpolate(__props.n.driver)}</span></td><td><select class="line-sel"${ssrRenderAttr("value", __props.n.lineId)}${ssrRenderAttr("title", _ctx.$t("daq.k3q23v3010"))}><option value="">${ssrInterpolate(_ctx.$t("daq.k3ootr6053"))}</option><!--[-->`);
|
|
226
|
+
ssrRenderList(unref(dcw).lines, (l) => {
|
|
227
|
+
_push(`<option${ssrRenderAttr("value", l.id)}>${ssrInterpolate(l.name)}</option>`);
|
|
228
|
+
});
|
|
229
|
+
_push(`<!--]--></select></td><td>`);
|
|
230
|
+
if (__props.n.lineId) _push(`<span class="${ssrRenderClass([{ on: ctx.value.lineActive }, "run-pill"])}"${ssrRenderAttr("title", _ctx.$t("daq.k1runtipc131"))}><span class="rp-dot"></span> ${ssrInterpolate(ctx.value.lineActive ? _ctx.$t("daq.k3vp67i096") : _ctx.$t("daq.k3ozyqz117"))}</span>`);
|
|
231
|
+
else _push(`<span class="run-pill na">${ssrInterpolate(_ctx.$t("daq.k3ootr6053"))}</span>`);
|
|
232
|
+
_push(`</td><td class="prod-cell">`);
|
|
233
|
+
if (__props.n.lineId && ctx.value.lineActive) _push(`<!--[--><b${ssrRenderAttr("title", _ctx.$t("daq.k1prdrtip132"))}>${ssrInterpolate(ctx.value.lineProduct || "--")}</b><small class="mono"${ssrRenderAttr("title", _ctx.$t("daq.k1prdrtip132"))}>${ssrInterpolate(ctx.value.lineRecipe || "--")}</small><!--]-->`);
|
|
234
|
+
else _push(`<span class="dim">--</span>`);
|
|
235
|
+
_push(`</td><td><div class="dev-binds"><!--[-->`);
|
|
236
|
+
ssrRenderList(nodeDeviceIds(__props.n), (did) => {
|
|
237
|
+
_push(`<span class="dev-bind-chip"${ssrRenderAttr("title", _ctx.$t("daq.k2bindtip137"))}>${ssrInterpolate(deviceNameById(did))} <span class="dev-unbind" title="unbind">✕</span></span>`);
|
|
238
|
+
});
|
|
239
|
+
_push(`<!--]--><select class="line-sel dev-add"${ssrRenderAttr("value", "")}${ssrRenderAttr("title", _ctx.$t("daq.k2bindtip137"))}><option value="">${ssrInterpolate(_ctx.$t("daq.k3own4q056"))}</option><!--[-->`);
|
|
240
|
+
ssrRenderList(bindableDeviceTwins.value, (d) => {
|
|
241
|
+
_push(`<option${ssrRenderAttr("value", d.id)}${ssrIncludeBooleanAttr((__props.n.deviceIds ?? []).includes(d.id)) ? " disabled" : ""}>${ssrInterpolate(deviceNameById(d.id))}</option>`);
|
|
242
|
+
});
|
|
243
|
+
_push(`<!--]--></select></div></td><td class="right"><button class="${ssrRenderClass([{ off: !__props.n.enabled }, "node-toggle"])}"${ssrRenderAttr("title", __props.n.enabled ? _ctx.$t("daq.k1nodestop146") : _ctx.$t("daq.k1nodestart147"))}><span class="${ssrRenderClass(__props.n.enabled ? "i-tabler-player-pause" : "i-tabler-player-play")}"></span> ${ssrInterpolate(__props.n.enabled ? _ctx.$t("daq.k1nodestop146") : _ctx.$t("daq.k1nodestart147"))}</button>`);
|
|
244
|
+
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
245
|
+
class: "console-link",
|
|
246
|
+
to: `/daq/${__props.n.id}`
|
|
247
|
+
}, {
|
|
248
|
+
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
249
|
+
if (_push) _push(`<span class="i-tabler-dashboard"${_scopeId}></span> ${ssrInterpolate(_ctx.$t("daq.k3o3jg2074"))}`);
|
|
250
|
+
else return [createVNode("span", { class: "i-tabler-dashboard" }), createTextVNode(" " + toDisplayString(_ctx.$t("daq.k3o3jg2074")), 1)];
|
|
251
|
+
}),
|
|
252
|
+
_: 1
|
|
253
|
+
}, _parent));
|
|
254
|
+
_push(`</td></tr>`);
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
//#endregion
|
|
259
|
+
//#region app/components/workshop/DaqNodeRow.vue
|
|
260
|
+
var _sfc_setup$1 = DaqNodeRow_vue_vue_type_script_setup_true_lang_default.setup;
|
|
261
|
+
DaqNodeRow_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
262
|
+
const ssrContext = useSSRContext();
|
|
263
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/DaqNodeRow.vue");
|
|
264
|
+
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
|
|
265
|
+
};
|
|
266
|
+
var DaqNodeRow_default = Object.assign(DaqNodeRow_vue_vue_type_script_setup_true_lang_default, { __name: "WorkshopDaqNodeRow" });
|
|
267
|
+
//#endregion
|
|
268
|
+
//#region app/pages/daq/index.vue?vue&type=script&setup=true&lang.ts
|
|
269
|
+
/** 数据新鲜度:超过 max(4×有效周期, 12s) 无新样本视为「采不到数据」(容忍 5s REST 刷新拍与时钟偏差) */
|
|
270
|
+
var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
271
|
+
__name: "index",
|
|
272
|
+
__ssrInlineRender: true,
|
|
273
|
+
setup(__props) {
|
|
274
|
+
/**
|
|
275
|
+
* 数采中心(DAQ Console)—— server 驱动数采的总控面。
|
|
276
|
+
* 后端能力自描述(tsdb/queue/驱动族 + 管线指标)、控制器全局启停/周期、
|
|
277
|
+
* 节点清单(状态/实时值/周期/绑定/驱动),点进 /daq/[id] 进入单节点专业控制台。
|
|
278
|
+
*/
|
|
279
|
+
const { t: tt } = useI18n();
|
|
280
|
+
useHead$1({ title: () => tt("titles.daq") });
|
|
281
|
+
const daq = useDaqStream();
|
|
282
|
+
const dcw = useDcwStream();
|
|
283
|
+
useWorkshopWs();
|
|
284
|
+
/** 是否存在任意运行中的产线(横幅判定) */
|
|
285
|
+
const anyLineActive = computed(() => dcw.lines.some((l) => dcw.lineStateOf(l.id).active));
|
|
286
|
+
const opsLog = useOpsLog();
|
|
287
|
+
function opsKindLabel(kind) {
|
|
288
|
+
return {
|
|
289
|
+
write: tt("logs.kind.write"),
|
|
290
|
+
manual: tt("logs.kind.manual"),
|
|
291
|
+
alarm: tt("logs.kind.alarm"),
|
|
292
|
+
line: tt("logs.kind.line"),
|
|
293
|
+
recipe: tt("logs.kind.recipe"),
|
|
294
|
+
rollback: tt("logs.kind.rollback"),
|
|
295
|
+
daq: tt("logs.kind.daq"),
|
|
296
|
+
system: tt("logs.kind.system")
|
|
297
|
+
}[kind] ?? (kind || tt("logs.kind.system"));
|
|
298
|
+
}
|
|
299
|
+
function opsTime(at) {
|
|
300
|
+
const d = new Date(at);
|
|
301
|
+
return Number.isFinite(d.getTime()) ? `${String(d.getHours()).padStart(2, "0")}:${String(d.getMinutes()).padStart(2, "0")}:${String(d.getSeconds()).padStart(2, "0")}` : "";
|
|
176
302
|
}
|
|
177
303
|
/** 未确认报警确认(失败 toast 后端可读原因;成功后 fetchAlarms 已由 store 内部刷新) */
|
|
178
304
|
async function ackOne(id) {
|
|
@@ -303,59 +429,6 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
303
429
|
if (!daq.controller.running || staleOf(n)) return "offline";
|
|
304
430
|
return n.state;
|
|
305
431
|
}
|
|
306
|
-
/** 数据是否在线(实时值列据此区分「实时值」与「最后值」) */
|
|
307
|
-
function isLive(n) {
|
|
308
|
-
const s = rowStateOf(n);
|
|
309
|
-
return s === "ok" || s === "warn" || s === "alarm";
|
|
310
|
-
}
|
|
311
|
-
const rowLabel = {
|
|
312
|
-
ok: tt("daq.k41k5c062"),
|
|
313
|
-
warn: tt("daq.k49z8v063"),
|
|
314
|
-
alarm: tt("daq.k3xmid064"),
|
|
315
|
-
offline: tt("daq.k44c2n065"),
|
|
316
|
-
idle: tt("daq.k3ozyqz117"),
|
|
317
|
-
disabled: tt("daq.k1disabl130"),
|
|
318
|
-
unassigned: tt("daq.k3ootr6053")
|
|
319
|
-
};
|
|
320
|
-
/** 状态 pill(含诚实的原因提示;配方越限标签仅在数据新鲜时展示) */
|
|
321
|
-
function statePillOf(n) {
|
|
322
|
-
const s = rowStateOf(n);
|
|
323
|
-
if (s === "offline") {
|
|
324
|
-
if (n.lastError) return {
|
|
325
|
-
key: s,
|
|
326
|
-
label: rowLabel.offline,
|
|
327
|
-
tip: n.lastError
|
|
328
|
-
};
|
|
329
|
-
const tip = !daq.controller.running ? tt("daq.k1gateoff140") : tt("daq.k1staled129", { p0: Math.round(Math.max((n.intervalMs ?? daq.controller.defaultIntervalMs) * 4, 12e3) / 1e3) });
|
|
330
|
-
return {
|
|
331
|
-
key: s,
|
|
332
|
-
label: rowLabel.offline,
|
|
333
|
-
tip
|
|
334
|
-
};
|
|
335
|
-
}
|
|
336
|
-
if (s === "idle") return {
|
|
337
|
-
key: s,
|
|
338
|
-
label: rowLabel.idle,
|
|
339
|
-
tip: tt("daq.k1idlehin139")
|
|
340
|
-
};
|
|
341
|
-
if ((s === "ok" || s === "warn" || s === "alarm") && recipeAlarm(n)) {
|
|
342
|
-
const w = recipeWinOf(n);
|
|
343
|
-
return {
|
|
344
|
-
key: "alarm",
|
|
345
|
-
label: tt("daq.k1l3pt51104"),
|
|
346
|
-
tip: tt("daq.k1hrrqa1122", {
|
|
347
|
-
p0: w?.min ?? "-∞",
|
|
348
|
-
p1: w?.max ?? "+∞",
|
|
349
|
-
p2: ""
|
|
350
|
-
})
|
|
351
|
-
};
|
|
352
|
-
}
|
|
353
|
-
return {
|
|
354
|
-
key: s,
|
|
355
|
-
label: rowLabel[s],
|
|
356
|
-
tip: ""
|
|
357
|
-
};
|
|
358
|
-
}
|
|
359
432
|
const filteredNodes = computed(() => daq.nodes.filter((n) => {
|
|
360
433
|
if (filters.lineId && (filters.lineId === "none" ? !!n.lineId : (n.lineId ?? "") !== filters.lineId)) return false;
|
|
361
434
|
const nodeDevIds = n.deviceIds ?? (n.deviceBindingId ? [n.deviceBindingId] : []);
|
|
@@ -368,33 +441,6 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
368
441
|
if (!searchMatch(n)) return false;
|
|
369
442
|
return true;
|
|
370
443
|
}));
|
|
371
|
-
/** 行渲染上下文预计算:状态 pill/配方越限/在离线/模板名 每行只算一次,
|
|
372
|
-
* 模板里 11 次函数调用/行(102 行 = 1100+ 次/渲染,含多次 .find)收敛为 1 次查表 */
|
|
373
|
-
const rowCtx = computed(() => {
|
|
374
|
-
const m = /* @__PURE__ */ new Map();
|
|
375
|
-
for (const n of filteredNodes.value) m.set(n.id, {
|
|
376
|
-
pill: statePillOf(n),
|
|
377
|
-
alarm: recipeAlarm(n),
|
|
378
|
-
live: isLive(n),
|
|
379
|
-
tpl: daqTemplateRefCh(n.templateRef)
|
|
380
|
-
});
|
|
381
|
-
return m;
|
|
382
|
-
});
|
|
383
|
-
const EMPTY_CTX = {
|
|
384
|
-
pill: {
|
|
385
|
-
key: "offline",
|
|
386
|
-
label: "",
|
|
387
|
-
tip: ""
|
|
388
|
-
},
|
|
389
|
-
alarm: false,
|
|
390
|
-
live: false,
|
|
391
|
-
tpl: "-"
|
|
392
|
-
};
|
|
393
|
-
/** 行渲染视图:节点 + 预计算上下文成对交付,模板零函数调用 */
|
|
394
|
-
const filteredRows = computed(() => filteredNodes.value.map((n) => ({
|
|
395
|
-
n,
|
|
396
|
-
c: rowCtx.value.get(n.id) ?? EMPTY_CTX
|
|
397
|
-
})));
|
|
398
444
|
const deviceTwins = useDeviceTwins();
|
|
399
445
|
const nodeDevices = /* @__PURE__ */ new Map();
|
|
400
446
|
watch(() => deviceTwins.twins, (list) => {
|
|
@@ -403,18 +449,6 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
403
449
|
immediate: true,
|
|
404
450
|
deep: true
|
|
405
451
|
});
|
|
406
|
-
/** 绑定设备下拉选项:全部真实设备孪生(剔除 daq/dcw 伪孪生) */
|
|
407
|
-
const bindableDeviceTwins = computed(() => deviceTwins.twins.filter((t) => t.kind !== "daq" && !(t.modelRef ?? "").startsWith("daq-") && !(t.modelRef ?? "").startsWith("dcw-")));
|
|
408
|
-
const intervalOf = (intervalMs) => {
|
|
409
|
-
if (intervalMs == null) return tt("daq.k9vnp9h124", { p0: daq.controller.defaultIntervalMs });
|
|
410
|
-
return `${intervalMs}ms`;
|
|
411
|
-
};
|
|
412
|
-
/** WS 下发节拍展示(null=跟随全局;0=每帧;>0 独立间隔) */
|
|
413
|
-
const publishOf = (v) => {
|
|
414
|
-
if (v == null) return tt("daq.k9vnp9h124", { p0: daq.controller.defaultPublishIntervalMs });
|
|
415
|
-
if (v === 0) return tt("daq.k41mvv078");
|
|
416
|
-
return `${v}ms`;
|
|
417
|
-
};
|
|
418
452
|
const addOpen = ref(false);
|
|
419
453
|
const addScenario = ref("mock");
|
|
420
454
|
const addTemplate = ref(DAQ_TEMPLATES[0]?.key ?? "temp-tc");
|
|
@@ -472,16 +506,15 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
472
506
|
};
|
|
473
507
|
const customTpls = computed(() => daq.templates.filter((t) => !t.builtin));
|
|
474
508
|
const builtinTpls = computed(() => daq.templates.filter((t) => t.builtin));
|
|
475
|
-
/** 驱动是否为预留协议(meta status=planned) */
|
|
476
|
-
const driverPlanned = (kind) => daq.meta.drivers.find((d) => d.kind === kind)?.status === "planned";
|
|
477
509
|
const reconnecting = ref(false);
|
|
478
510
|
return (_ctx, _push, _parent, _attrs) => {
|
|
479
511
|
const _component_NuxtLink = NuxtLink;
|
|
480
512
|
const _component_a_spin = spin_default;
|
|
481
|
-
|
|
513
|
+
const _component_WorkshopDaqNodeRow = DaqNodeRow_default;
|
|
514
|
+
_push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-10e5bd50><div class="aw-page-head" data-v-10e5bd50><div data-v-10e5bd50><p class="aw-kicker" data-v-10e5bd50> AGENTWORKSHOP / DAQ CONSOLE </p><h1 data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1emg364011"))}</h1><p class="sub" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1wmg2bz012"))}</p></div><div class="badges mono" data-v-10e5bd50><span class="badge"${ssrRenderAttr("title", _ctx.$t("daq.k1tsdbtip133"))} data-v-10e5bd50>TSDB · ${ssrInterpolate(unref(daq).meta.tsdb)}</span><span class="badge"${ssrRenderAttr("title", _ctx.$t("daq.k1queuet134"))} data-v-10e5bd50>QUEUE · ${ssrInterpolate(unref(daq).meta.queue)}</span></div></div>`);
|
|
482
515
|
if (unref(daq).loaded && filteredLine.value && filteredLineState.value) {
|
|
483
|
-
_push(`<div class="${ssrRenderClass([{ good: filteredLineState.value.active }, "infra-banner"])}" data-v-
|
|
484
|
-
if (filteredLineState.value.active) _push(`<!--[-->${ssrInterpolate(_ctx.$t("daq.k3ktxbr085"))}${ssrInterpolate(filteredLine.value.name)}」${ssrInterpolate(_ctx.$t("daq.k15lvw0o105"))}<b data-v-
|
|
516
|
+
_push(`<div class="${ssrRenderClass([{ good: filteredLineState.value.active }, "infra-banner"])}" data-v-10e5bd50><span class="${ssrRenderClass(filteredLineState.value.active ? "i-tabler-circle-check" : "i-tabler-info-circle")}" data-v-10e5bd50></span><span class="txt" data-v-10e5bd50>`);
|
|
517
|
+
if (filteredLineState.value.active) _push(`<!--[-->${ssrInterpolate(_ctx.$t("daq.k3ktxbr085"))}${ssrInterpolate(filteredLine.value.name)}」${ssrInterpolate(_ctx.$t("daq.k15lvw0o105"))}<b data-v-10e5bd50>${ssrInterpolate(filteredLineState.value.productName)}</b> · Recipe:<b data-v-10e5bd50>${ssrInterpolate(filteredLineState.value.recipeName)}</b><small class="mono" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k400lb086"))} ${ssrInterpolate(filteredLineState.value.runId?.slice(0, 8))} · ${ssrInterpolate(_ctx.$t("daq.k3zkt2106"))} ${ssrInterpolate(filteredLineState.value.startedAt?.slice(11, 19))} ${ssrInterpolate(_ctx.$t("daq.k69vag8108"))} ${ssrInterpolate(filteredLineState.value.taggedSamples)} ${ssrInterpolate(_ctx.$t("daq.k4118o092"))}</small><!--]-->`);
|
|
485
518
|
else _push(`<!--[-->${ssrInterpolate(_ctx.$t("daq.k3ktxbr085"))}${ssrInterpolate(filteredLine.value.name)}」${ssrInterpolate(_ctx.$t("daq.k12uge2o107"))}<!--]-->`);
|
|
486
519
|
_push(`</span>`);
|
|
487
520
|
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
@@ -496,7 +529,7 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
496
529
|
}, _parent));
|
|
497
530
|
_push(`</div>`);
|
|
498
531
|
} else if (unref(daq).loaded && !anyLineActive.value) {
|
|
499
|
-
_push(`<div class="infra-banner" data-v-
|
|
532
|
+
_push(`<div class="infra-banner" data-v-10e5bd50><span class="i-tabler-info-circle" data-v-10e5bd50></span><span class="txt" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k19onw5w013"))}`);
|
|
500
533
|
_push(ssrRenderComponent(_component_NuxtLink, { to: "/dcw" }, {
|
|
501
534
|
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
502
535
|
if (_push) _push(`${ssrInterpolate(_ctx.$t("daq.k1b2tk5c014"))}`);
|
|
@@ -506,19 +539,19 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
506
539
|
}, _parent));
|
|
507
540
|
_push(`${ssrInterpolate(_ctx.$t("daq.k1u9wnlg015"))}</span></div>`);
|
|
508
541
|
} else _push(`<!---->`);
|
|
509
|
-
if (unref(daq).meta.infra?.degraded) _push(`<div class="infra-banner" data-v-
|
|
542
|
+
if (unref(daq).meta.infra?.degraded) _push(`<div class="infra-banner" data-v-10e5bd50><span class="i-tabler-alert-triangle" data-v-10e5bd50></span><span class="txt" data-v-10e5bd50>${ssrInterpolate(unref(daq).meta.infra.warning)}</span><button class="pill-btn"${ssrIncludeBooleanAttr(reconnecting.value) ? " disabled" : ""} data-v-10e5bd50>${ssrInterpolate(reconnecting.value ? _ctx.$t("daq.k1ld43ur094") : _ctx.$t("daq.kzg9805110"))}</button></div>`);
|
|
510
543
|
else _push(`<!---->`);
|
|
511
544
|
if (unref(daq).alarms.length) {
|
|
512
|
-
_push(`<div class="alarm-bar" data-v-
|
|
545
|
+
_push(`<div class="alarm-bar" data-v-10e5bd50><span class="bar-label" data-v-10e5bd50><span class="i-tabler-bell-ringing bell" data-v-10e5bd50></span> ${ssrInterpolate(_ctx.$t("daq.k1alarm141"))} <b class="mono" data-v-10e5bd50>${ssrInterpolate(unref(daq).alarms.length)}</b></span><div class="alarm-scroll" data-v-10e5bd50><!--[-->`);
|
|
513
546
|
ssrRenderList(unref(daq).alarms, (a) => {
|
|
514
|
-
_push(`<span class="alarm-item"${ssrRenderAttr("title", _ctx.$t("daq.k1esc143", { p0: a.escalation }))} data-v-
|
|
515
|
-
if (a.escalation > 0) _push(`<small class="esc mono" data-v-
|
|
547
|
+
_push(`<span class="alarm-item"${ssrRenderAttr("title", _ctx.$t("daq.k1esc143", { p0: a.escalation }))} data-v-10e5bd50><b data-v-10e5bd50>${ssrInterpolate(a.nodeName)}</b><span class="mono dim" data-v-10e5bd50>${ssrInterpolate(a.metric)}</span><span class="mono" data-v-10e5bd50>${ssrInterpolate(a.value)} ${ssrInterpolate(a.rule === "lt-min" ? "<" : ">")} ${ssrInterpolate(a.threshold)}</span>`);
|
|
548
|
+
if (a.escalation > 0) _push(`<small class="esc mono" data-v-10e5bd50>+${ssrInterpolate(a.escalation)}</small>`);
|
|
516
549
|
else _push(`<!---->`);
|
|
517
|
-
_push(`<button class="mini-btn ack" data-v-
|
|
550
|
+
_push(`<button class="mini-btn ack" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1ack142"))}</button></span>`);
|
|
518
551
|
});
|
|
519
552
|
_push(`<!--]--></div></div>`);
|
|
520
553
|
} else _push(`<!---->`);
|
|
521
|
-
_push(`<section class="aw-tile ctrl-card" data-v-
|
|
554
|
+
_push(`<section class="aw-tile ctrl-card" data-v-10e5bd50><div class="ctrl-row" data-v-10e5bd50><div class="ctrl-left" data-v-10e5bd50><button class="${ssrRenderClass([{ running: unref(daq).controller.running }, "aw-pill"])}"${ssrRenderAttr("title", _ctx.$t("daq.k1snap145"))} data-v-10e5bd50><span class="${ssrRenderClass(unref(daq).controller.running ? "i-tabler-player-pause" : "i-tabler-player-play")}" data-v-10e5bd50></span> ${ssrInterpolate(unref(daq).controller.running ? _ctx.$t("daq.kpui00095") : _ctx.$t("daq.knxpdpt111"))}</button><label class="cycle mono" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1ifahxj016"))} <input${ssrRenderAttr("value", unref(daq).controller.defaultIntervalMs)} type="number" min="200" max="60000" step="100" data-v-10e5bd50>ms </label><label class="cycle mono"${ssrRenderAttr("title", _ctx.$t("daq.k1e8lcoo001"))} data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1if98n0017"))} <input${ssrRenderAttr("value", unref(daq).controller.defaultPublishIntervalMs)} type="number" min="0" max="60000" step="100" data-v-10e5bd50>ms </label></div><div class="ctrl-right" data-v-10e5bd50><span class="ctrl-metrics mono" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k45uio067"))} ${ssrInterpolate(unref(daq).controller.nodesOnline)}/${ssrInterpolate(unref(daq).controller.nodesTotal)}</span><span class="sep" data-v-10e5bd50>·</span><span${ssrRenderAttr("title", _ctx.$t("daq.k1yztsu4002"))} data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k3xagp087"))} ${ssrInterpolate(unref(daq).meta.produced)}</span><span class="sep" data-v-10e5bd50>·</span><span${ssrRenderAttr("title", _ctx.$t("daq.ko09iha003"))} data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k427eu088"))} ${ssrInterpolate(unref(daq).meta.consumed)}</span><span class="sep" data-v-10e5bd50>·</span><span class="${ssrRenderClass({ warn: (unref(daq).meta.dropped ?? 0) > 0 })}"${ssrRenderAttr("title", _ctx.$t("daq.k1droptip135"))} data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k3w8go089"))} ${ssrInterpolate(unref(daq).meta.dropped)}</span><span class="sep" data-v-10e5bd50>·</span><span${ssrRenderAttr("title", _ctx.$t("daq.kj1jbmw004"))} data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k3wusd090"))} ${ssrInterpolate(unref(daq).meta.samplesStored)}</span></span><button class="aw-pill outline add-btn" data-v-10e5bd50><span class="i-tabler-adjustments-horizontal" data-v-10e5bd50></span> ${ssrInterpolate(_ctx.$t("daq.k1f5cv0s018"))}</button><button class="aw-pill add-btn" data-v-10e5bd50><span class="i-tabler-plus" data-v-10e5bd50></span> ${ssrInterpolate(_ctx.$t("daq.k1fn0ukb019"))}</button></div></div><div class="line-strip" data-v-10e5bd50><span class="strip-label" data-v-10e5bd50><span class="i-tabler-route" data-v-10e5bd50></span> ${ssrInterpolate(_ctx.$t("daq.k1b2o3b6020"))}<small class="mono" data-v-10e5bd50>${ssrInterpolate(unref(dcw).lines.length)}</small></span><div class="strip-scroll" data-v-10e5bd50><!--[-->`);
|
|
522
555
|
ssrRenderList(unref(dcw).lines, (l) => {
|
|
523
556
|
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
524
557
|
key: l.id,
|
|
@@ -533,9 +566,9 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
533
566
|
}, {
|
|
534
567
|
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
535
568
|
if (_push) {
|
|
536
|
-
_push(`<span class="lp-dot" data-v-
|
|
537
|
-
if (unref(dcw).lineStateOf(l.id).active) _push(`<small class="lp-run" data-v-
|
|
538
|
-
else _push(`<small class="lp-idle" data-v-
|
|
569
|
+
_push(`<span class="lp-dot" data-v-10e5bd50${_scopeId}></span><b data-v-10e5bd50${_scopeId}>${ssrInterpolate(l.name)}</b>`);
|
|
570
|
+
if (unref(dcw).lineStateOf(l.id).active) _push(`<small class="lp-run" data-v-10e5bd50${_scopeId}>${ssrInterpolate(unref(dcw).lineStateOf(l.id).recipeName ?? _ctx.$t("daq.k3vp67i096"))}</small>`);
|
|
571
|
+
else _push(`<small class="lp-idle" data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k3zgkk021"))}</small>`);
|
|
539
572
|
} else return [
|
|
540
573
|
createVNode("span", { class: "lp-dot" }),
|
|
541
574
|
createVNode("b", null, toDisplayString(l.name), 1),
|
|
@@ -557,7 +590,7 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
557
590
|
to: "/dcw"
|
|
558
591
|
}, {
|
|
559
592
|
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
560
|
-
if (_push) _push(`<span class="lp-dot" data-v-
|
|
593
|
+
if (_push) _push(`<span class="lp-dot" data-v-10e5bd50${_scopeId}></span><b data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1el12b1022"))}</b><small class="lp-idle" data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k8jxxe8023"))}</small>`);
|
|
561
594
|
else return [
|
|
562
595
|
createVNode("span", { class: "lp-dot" }),
|
|
563
596
|
createVNode("b", null, toDisplayString(_ctx.$t("daq.k1el12b1022")), 1),
|
|
@@ -569,101 +602,101 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
569
602
|
else _push(`<!---->`);
|
|
570
603
|
_push(`</div></div></section>`);
|
|
571
604
|
if (addOpen.value) {
|
|
572
|
-
_push(`<div class="modal-mask" data-v-
|
|
605
|
+
_push(`<div class="modal-mask" data-v-10e5bd50><div class="modal" data-v-10e5bd50><h3 class="m-title" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k19rioqa024"))}</h3><div class="seg-row" data-v-10e5bd50><button class="${ssrRenderClass([{ on: addScenario.value === "mock" }, "seg"])}" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1p5c1un025"))}</button><button class="${ssrRenderClass([{ on: addScenario.value === "real" }, "seg"])}" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1cbcp3o026"))}</button></div><div class="f-grid" data-v-10e5bd50><label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1fsgerc027"))}</span><select class="inp" data-v-10e5bd50><!--[-->`);
|
|
573
606
|
ssrRenderList(unref(daq).templates, (t) => {
|
|
574
|
-
_push(`<option${ssrRenderAttr("value", t.key)} data-v-
|
|
607
|
+
_push(`<option${ssrRenderAttr("value", t.key)} data-v-10e5bd50${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("daq.kr45rk9097"))}</option>`);
|
|
575
608
|
});
|
|
576
|
-
_push(`<!--]--></select></label><label class="f" data-v-
|
|
577
|
-
if (addScenario.value === "real") _push(`<label class="f" data-v-
|
|
609
|
+
_push(`<!--]--></select></label><label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1ce2k1y028"))}</span><input${ssrRenderAttr("value", addName.value)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("daq.kgpxzy3005"))} data-v-10e5bd50></label>`);
|
|
610
|
+
if (addScenario.value === "real") _push(`<label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k13mfsfc029"))}</span><input${ssrRenderAttr("value", addInterval.value)} type="number" min="1000" max="60000" step="500" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("daq.k1eg1000a136"))} data-v-10e5bd50></label>`);
|
|
578
611
|
else _push(`<!---->`);
|
|
579
612
|
_push(`</div>`);
|
|
580
613
|
if (addScenario.value === "real") {
|
|
581
|
-
_push(`<!--[--><div class="f-grid" data-v-
|
|
614
|
+
_push(`<!--[--><div class="f-grid" data-v-10e5bd50><label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1kt87rx030"))}</span><select class="inp" data-v-10e5bd50><!--[-->`);
|
|
582
615
|
ssrRenderList(unref(DAQ_DRIVERS).filter((x) => x.status !== "planned"), (d) => {
|
|
583
|
-
_push(`<option${ssrRenderAttr("value", d.kind)} data-v-
|
|
616
|
+
_push(`<option${ssrRenderAttr("value", d.kind)} data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(addDriver.value) ? ssrLooseContain(addDriver.value, d.kind) : ssrLooseEqual(addDriver.value, d.kind)) ? " selected" : ""}>${ssrInterpolate(d.label)}${ssrInterpolate(driverReady(d.kind) ? "" : _ctx.$t("daq.kjbqphp098"))}</option>`);
|
|
584
617
|
});
|
|
585
618
|
_push(`<!--]--></select></label></div>`);
|
|
586
619
|
if (addFields.value.length) {
|
|
587
|
-
_push(`<div class="f-grid driver-form" data-v-
|
|
620
|
+
_push(`<div class="f-grid driver-form" data-v-10e5bd50><!--[-->`);
|
|
588
621
|
ssrRenderList(addFields.value, (f) => {
|
|
589
|
-
_push(`<label class="f" data-v-
|
|
590
|
-
if (f.required) _push(`<em data-v-
|
|
622
|
+
_push(`<label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(f.label)}`);
|
|
623
|
+
if (f.required) _push(`<em data-v-10e5bd50>*</em>`);
|
|
591
624
|
else _push(`<!---->`);
|
|
592
625
|
_push(`</span>`);
|
|
593
626
|
if (f.type === "select") {
|
|
594
|
-
_push(`<select class="inp" data-v-
|
|
627
|
+
_push(`<select class="inp" data-v-10e5bd50><!--[-->`);
|
|
595
628
|
ssrRenderList(f.options, (o) => {
|
|
596
|
-
_push(`<option${ssrRenderAttr("value", o.value)} data-v-
|
|
629
|
+
_push(`<option${ssrRenderAttr("value", o.value)} data-v-10e5bd50${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>`);
|
|
597
630
|
});
|
|
598
631
|
_push(`<!--]--></select>`);
|
|
599
|
-
} 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-
|
|
600
|
-
if (f.hint) _push(`<small class="hint" data-v-
|
|
632
|
+
} 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-10e5bd50>`);
|
|
633
|
+
if (f.hint) _push(`<small class="hint" data-v-10e5bd50>${ssrInterpolate(f.hint)}</small>`);
|
|
601
634
|
else _push(`<!---->`);
|
|
602
635
|
_push(`</label>`);
|
|
603
636
|
});
|
|
604
637
|
_push(`<!--]--></div>`);
|
|
605
638
|
} else _push(`<!---->`);
|
|
606
|
-
_push(`<div class="test-row" data-v-
|
|
639
|
+
_push(`<div class="test-row" data-v-10e5bd50><button class="pill-btn"${ssrIncludeBooleanAttr(addTesting.value) ? " disabled" : ""} data-v-10e5bd50>${ssrInterpolate(addTesting.value ? _ctx.$t("daq.k1fsh720099") : _ctx.$t("daq.k1fstglk112"))}</button>`);
|
|
607
640
|
if (addTest.value) {
|
|
608
|
-
_push(`<span class="${ssrRenderClass([addTest.value.ok ? "ok" : "bad", "test-result"])}" data-v-
|
|
641
|
+
_push(`<span class="${ssrRenderClass([addTest.value.ok ? "ok" : "bad", "test-result"])}" data-v-10e5bd50>${ssrInterpolate(addTest.value.ok ? "✓" : "✗")} ${ssrInterpolate(addTest.value.message)}`);
|
|
609
642
|
if (addTest.value.latencyMs != null) _push(`<!--[-->(${ssrInterpolate(addTest.value.latencyMs)}ms)<!--]-->`);
|
|
610
643
|
else _push(`<!---->`);
|
|
611
644
|
_push(`</span>`);
|
|
612
645
|
} else _push(`<!---->`);
|
|
613
646
|
_push(`</div><!--]-->`);
|
|
614
647
|
} else _push(`<!---->`);
|
|
615
|
-
if (addError.value) _push(`<p class="m-err" data-v-
|
|
648
|
+
if (addError.value) _push(`<p class="m-err" data-v-10e5bd50>${ssrInterpolate(addError.value)}</p>`);
|
|
616
649
|
else _push(`<!---->`);
|
|
617
|
-
_push(`<div class="m-actions" data-v-
|
|
650
|
+
_push(`<div class="m-actions" data-v-10e5bd50><button class="aw-pill outline" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k3xdnn031"))}</button><button class="aw-pill"${ssrIncludeBooleanAttr(addSaving.value || addScenario.value === "real" && addTest.value != null && !addTest.value.ok) ? " disabled" : ""}${ssrRenderAttr("title", addScenario.value === "real" && !(addTest.value && addTest.value.ok) ? _ctx.$t("daq.k1needtst137") : "")} data-v-10e5bd50>${ssrInterpolate(addSaving.value ? _ctx.$t("daq.k1bg4759100") : addScenario.value === "real" ? _ctx.$t("daq.k7pxjxo113") : _ctx.$t("daq.k1bge46t118"))}</button></div></div></div>`);
|
|
618
651
|
} else _push(`<!---->`);
|
|
619
652
|
if (tplOpen.value) {
|
|
620
|
-
_push(`<div class="modal-mask" data-v-
|
|
653
|
+
_push(`<div class="modal-mask" data-v-10e5bd50><div class="modal" data-v-10e5bd50><h3 class="m-title" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k11mv96s032"))}</h3><p class="sec-label" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.ktji4ky033"))}</p><table class="tpl-table" data-v-10e5bd50><tbody data-v-10e5bd50><!--[-->`);
|
|
621
654
|
ssrRenderList(customTpls.value, (t) => {
|
|
622
|
-
_push(`<tr data-v-
|
|
655
|
+
_push(`<tr data-v-10e5bd50><td data-v-10e5bd50><b data-v-10e5bd50>${ssrInterpolate(t.name)}</b><small class="mono dim" data-v-10e5bd50>${ssrInterpolate(t.code)}</small></td><td class="mono range" data-v-10e5bd50>${ssrInterpolate(t.min)}~${ssrInterpolate(t.max)} ${ssrInterpolate(t.unit)} · ${ssrInterpolate(t.decimals)} ${ssrInterpolate(_ctx.$t("daq.k48oi091"))}</td><td class="right actions" data-v-10e5bd50><button class="mini-btn" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k45eb0034"))}</button><button class="mini-btn danger" data-v-10e5bd50>${ssrInterpolate(confirmingDel.value === t.key ? _ctx.$t("daq.k1hhheu3101") : _ctx.$t("daq.k3xakp114"))}</button></td></tr>`);
|
|
623
656
|
});
|
|
624
657
|
_push(`<!--]-->`);
|
|
625
|
-
if (!customTpls.value.length) _push(`<tr data-v-
|
|
658
|
+
if (!customTpls.value.length) _push(`<tr data-v-10e5bd50><td colspan="3" class="empty" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.kztvzbo035"))}</td></tr>`);
|
|
626
659
|
else _push(`<!---->`);
|
|
627
|
-
_push(`</tbody></table><p class="sec-label" data-v-
|
|
660
|
+
_push(`</tbody></table><p class="sec-label" data-v-10e5bd50>${ssrInterpolate(tplEditing.value ? _ctx.$t("daq.k1iiph0s102") : _ctx.$t("daq.k1efixrj115"))}</p><div class="f-grid" data-v-10e5bd50><label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k3xhia036"))}<em data-v-10e5bd50>*</em></span><input${ssrRenderAttr("value", unref(tplForm).name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("daq.k5opd2t006"))} data-v-10e5bd50></label><label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k3x4ef037"))}<em data-v-10e5bd50>*</em></span><input${ssrRenderAttr("value", unref(tplForm).unit)} class="inp" placeholder="如 %RH" data-v-10e5bd50></label><label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1l477m0038"))}</span><input${ssrRenderAttr("value", unref(tplForm).ch)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("daq.kk8o4tl007"))} data-v-10e5bd50></label><label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1ayxrqb039"))}</span><input${ssrRenderAttr("value", unref(tplForm).code)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("daq.kzn3l7l008"))} data-v-10e5bd50></label><label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1l9jv5m040"))}<em data-v-10e5bd50>*</em></span><input${ssrRenderAttr("value", unref(tplForm).min)} type="number" class="inp" data-v-10e5bd50></label><label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1l9jv4p041"))}<em data-v-10e5bd50>*</em></span><input${ssrRenderAttr("value", unref(tplForm).max)} type="number" class="inp" data-v-10e5bd50></label><label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k3mxmcx042"))}</span><input${ssrRenderAttr("value", unref(tplForm).decimals)} type="number" min="0" max="4" class="inp" data-v-10e5bd50></label><label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k3xx56043"))}</span><select class="inp" data-v-10e5bd50><!--[-->`);
|
|
628
661
|
ssrRenderList(unref(DAQ_TEMPLATE_ICONS), (ic) => {
|
|
629
|
-
_push(`<option${ssrRenderAttr("value", ic)} data-v-
|
|
662
|
+
_push(`<option${ssrRenderAttr("value", ic)} data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(tplForm).icon) ? ssrLooseContain(unref(tplForm).icon, ic) : ssrLooseEqual(unref(tplForm).icon, ic)) ? " selected" : ""}>${ssrInterpolate(ICON_LABEL[ic])}</option>`);
|
|
630
663
|
});
|
|
631
|
-
_push(`<!--]--></select></label><label class="f" data-v-
|
|
632
|
-
if (tplError.value) _push(`<p class="m-err" data-v-
|
|
664
|
+
_push(`<!--]--></select></label><label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1f4eknv044"))}</span><input${ssrRenderAttr("value", unref(tplForm).base)} type="number" class="inp" data-v-10e5bd50><small class="hint" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.kytd15s045"))}</small></label><label class="f" data-v-10e5bd50><span data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1f4ifpo046"))}</span><input${ssrRenderAttr("value", unref(tplForm).amp)} type="number" class="inp" data-v-10e5bd50><small class="hint" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.ksp2aji047"))}</small></label></div>`);
|
|
665
|
+
if (tplError.value) _push(`<p class="m-err" data-v-10e5bd50>${ssrInterpolate(tplError.value)}</p>`);
|
|
633
666
|
else _push(`<!---->`);
|
|
634
|
-
_push(`<div class="m-actions" data-v-
|
|
667
|
+
_push(`<div class="m-actions" data-v-10e5bd50><button class="aw-pill outline" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k48p40048"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(tplSaving.value) ? " disabled" : ""} data-v-10e5bd50>${ssrInterpolate(tplSaving.value ? _ctx.$t("daq.k1b38d59103") : tplEditing.value ? _ctx.$t("daq.k1b39281116") : _ctx.$t("daq.k1b3dtga119"))}</button></div><p class="sec-label" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1w8s84s049"))}</p><table class="tpl-table" data-v-10e5bd50><tbody data-v-10e5bd50><!--[-->`);
|
|
635
668
|
ssrRenderList(builtinTpls.value, (t) => {
|
|
636
|
-
_push(`<tr data-v-
|
|
669
|
+
_push(`<tr data-v-10e5bd50><td data-v-10e5bd50><b data-v-10e5bd50>${ssrInterpolate(t.name)}</b><small class="mono dim" data-v-10e5bd50>${ssrInterpolate(t.code)}</small></td><td class="mono range" data-v-10e5bd50>${ssrInterpolate(t.min)}~${ssrInterpolate(t.max)} ${ssrInterpolate(t.unit)} · ${ssrInterpolate(t.decimals)} ${ssrInterpolate(_ctx.$t("daq.k48oi091"))}</td><td class="right actions" data-v-10e5bd50><button class="mini-btn" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k3y694050"))}</button></td></tr>`);
|
|
637
670
|
});
|
|
638
671
|
_push(`<!--]--></tbody></table></div></div>`);
|
|
639
672
|
} else _push(`<!---->`);
|
|
640
|
-
_push(`<section class="aw-tile opt-card" data-v-
|
|
673
|
+
_push(`<section class="aw-tile opt-card" data-v-10e5bd50><button class="opt-head" data-v-10e5bd50><span class="i-tabler-flask" data-v-10e5bd50></span><b data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1optt001"))}</b><span class="opt-count mono" data-v-10e5bd50>${ssrInterpolate(unref(dcw).optimizations.length)}</span><span class="${ssrRenderClass([{ open: optOpen.value }, "opt-chevron"])}" data-v-10e5bd50></span></button><div class="${ssrRenderClass([{ open: optOpen.value }, "opt-body"])}" data-v-10e5bd50>`);
|
|
641
674
|
if (optMounted.value) {
|
|
642
|
-
_push(`<!--[--><div class="opt-filters" data-v-
|
|
675
|
+
_push(`<!--[--><div class="opt-filters" data-v-10e5bd50><select class="inp-sel" data-v-10e5bd50><option value="" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(optFilterLine.value) ? ssrLooseContain(optFilterLine.value, "") : ssrLooseEqual(optFilterLine.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("daq.k1optf001"))}</option><!--[-->`);
|
|
643
676
|
ssrRenderList(unref(dcw).lines, (l) => {
|
|
644
|
-
_push(`<option${ssrRenderAttr("value", l.id)} data-v-
|
|
677
|
+
_push(`<option${ssrRenderAttr("value", l.id)} data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(optFilterLine.value) ? ssrLooseContain(optFilterLine.value, l.id) : ssrLooseEqual(optFilterLine.value, l.id)) ? " selected" : ""}>${ssrInterpolate(l.name)}</option>`);
|
|
645
678
|
});
|
|
646
|
-
_push(`<!--]--></select><select class="inp-sel" data-v-
|
|
679
|
+
_push(`<!--]--></select><select class="inp-sel" data-v-10e5bd50><option value="" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(optFilterRecipe.value) ? ssrLooseContain(optFilterRecipe.value, "") : ssrLooseEqual(optFilterRecipe.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("daq.k1optf004"))}</option><!--[-->`);
|
|
647
680
|
ssrRenderList(optRecipeOptions.value, (r) => {
|
|
648
|
-
_push(`<option${ssrRenderAttr("value", r.id)} data-v-
|
|
681
|
+
_push(`<option${ssrRenderAttr("value", r.id)} data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(optFilterRecipe.value) ? ssrLooseContain(optFilterRecipe.value, r.id) : ssrLooseEqual(optFilterRecipe.value, r.id)) ? " selected" : ""}>${ssrInterpolate(r.name)}</option>`);
|
|
649
682
|
});
|
|
650
|
-
_push(`<!--]--></select><button class="mini-act" data-v-
|
|
651
|
-
if (unref(dcw).optimizations.length === 0) _push(`<p class="opt-empty" data-v-
|
|
683
|
+
_push(`<!--]--></select><button class="mini-act" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1optf002"))}</button></div>`);
|
|
684
|
+
if (unref(dcw).optimizations.length === 0) _push(`<p class="opt-empty" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1opte001"))}</p>`);
|
|
652
685
|
else _push(`<!---->`);
|
|
653
|
-
_push(`<ul class="opt-list" data-v-
|
|
686
|
+
_push(`<ul class="opt-list" data-v-10e5bd50><!--[-->`);
|
|
654
687
|
ssrRenderList(unref(dcw).optimizations.slice(0, 30), (r) => {
|
|
655
|
-
_push(`<li class="${ssrRenderClass([r.status, "opt-row"])}" data-v-
|
|
656
|
-
if (!optSeriesOf.value[r.id]) _push(`<button class="mini-act"${ssrIncludeBooleanAttr(optSeriesLoading.value === r.id) ? " disabled" : ""} data-v-
|
|
688
|
+
_push(`<li class="${ssrRenderClass([r.status, "opt-row"])}" data-v-10e5bd50><div class="opt-line1" data-v-10e5bd50><span class="${ssrRenderClass([r.status, "opt-status"])}" data-v-10e5bd50>${ssrInterpolate(_ctx.$t(optStatusKey(r.status)))}</span><b class="opt-node" data-v-10e5bd50>${ssrInterpolate(r.nodeName)}</b><span class="mono opt-params" data-v-10e5bd50>${ssrInterpolate(r.params[0]?.from ?? "?")} → ${ssrInterpolate(r.params[0]?.to)}</span><span class="mono opt-time" data-v-10e5bd50>${ssrInterpolate(r.setAt.slice(5, 16).replace("T", " "))}</span>`);
|
|
689
|
+
if (!optSeriesOf.value[r.id]) _push(`<button class="mini-act"${ssrIncludeBooleanAttr(optSeriesLoading.value === r.id) ? " disabled" : ""} data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1opta001"))}</button>`);
|
|
657
690
|
else _push(`<!---->`);
|
|
658
|
-
if (r.status === "open") _push(`<button class="mini-act danger" data-v-
|
|
691
|
+
if (r.status === "open") _push(`<button class="mini-act danger" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1opta002"))}</button>`);
|
|
659
692
|
else _push(`<!---->`);
|
|
660
|
-
_push(`</div><div class="opt-line2 mono" data-v-
|
|
661
|
-
if (r.judge) _push(`<span class="${ssrRenderClass([r.judge.verdict, "opt-judge"])}" data-v-
|
|
662
|
-
else if (r.status === "open") _push(`<span class="opt-open-hint" data-v-
|
|
693
|
+
_push(`</div><div class="opt-line2 mono" data-v-10e5bd50>`);
|
|
694
|
+
if (r.judge) _push(`<span class="${ssrRenderClass([r.judge.verdict, "opt-judge"])}" data-v-10e5bd50>${ssrInterpolate(r.judge.verdict)}(${ssrInterpolate(r.judge.by)}): ${ssrInterpolate(r.judge.reason.slice(0, 70))}</span>`);
|
|
695
|
+
else if (r.status === "open") _push(`<span class="opt-open-hint" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1opto001"))}</span>`);
|
|
663
696
|
else _push(`<!---->`);
|
|
664
|
-
if (r.aggPending) _push(`<span class="opt-agg" data-v-
|
|
697
|
+
if (r.aggPending) _push(`<span class="opt-agg" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1optw001"))}</span>`);
|
|
665
698
|
else if (r.windowAgg && r.windowAgg.channels.length) {
|
|
666
|
-
_push(`<span class="opt-agg" data-v-
|
|
699
|
+
_push(`<span class="opt-agg" data-v-10e5bd50><!--[-->`);
|
|
667
700
|
ssrRenderList(r.windowAgg.channels, (c) => {
|
|
668
701
|
_push(`<!--[-->${ssrInterpolate(c.ch)} ${ssrInterpolate(fmtPoint(c.min))}~${ssrInterpolate(fmtPoint(c.max))}(${ssrInterpolate(_ctx.$t("daq.k1optw002"))}${ssrInterpolate(c.breaches < 0 ? "-" : c.breaches)}) <!--]-->`);
|
|
669
702
|
});
|
|
@@ -671,12 +704,12 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
671
704
|
} else _push(`<!---->`);
|
|
672
705
|
_push(`</div>`);
|
|
673
706
|
if (optSeriesOf.value[r.id]) {
|
|
674
|
-
_push(`<div class="opt-series" data-v-
|
|
707
|
+
_push(`<div class="opt-series" data-v-10e5bd50><!--[-->`);
|
|
675
708
|
ssrRenderList(optSeriesOf.value[r.id].channels, (ch) => {
|
|
676
|
-
_push(`<div class="opt-ch" data-v-
|
|
709
|
+
_push(`<div class="opt-ch" data-v-10e5bd50><svg class="opt-spark" viewBox="0 0 240 36" preserveAspectRatio="none" data-v-10e5bd50><polyline${ssrRenderAttr("points", seriesPath(ch.points))} data-v-10e5bd50></polyline></svg><span class="mono" data-v-10e5bd50>${ssrInterpolate(ch.ch)} ${ssrInterpolate(fmtPoint(ch.points.at(-1)?.value ?? ch.points.at(-1)?.avg))}${ssrInterpolate(ch.unit)}</span></div>`);
|
|
677
710
|
});
|
|
678
711
|
_push(`<!--]-->`);
|
|
679
|
-
if (optSeriesOf.value[r.id].channels.length === 0) _push(`<p class="opt-empty" data-v-
|
|
712
|
+
if (optSeriesOf.value[r.id].channels.length === 0) _push(`<p class="opt-empty" data-v-10e5bd50>${ssrInterpolate(_ctx.$t("daq.k1opte002"))}</p>`);
|
|
680
713
|
else _push(`<!---->`);
|
|
681
714
|
_push(`</div>`);
|
|
682
715
|
} else _push(`<!---->`);
|
|
@@ -688,101 +721,67 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
688
721
|
_push(ssrRenderComponent(_component_a_spin, { spinning: !unref(daq).loaded && !unref(daq).error }, {
|
|
689
722
|
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
690
723
|
if (_push) {
|
|
691
|
-
_push(`<section class="aw-tile table-card" data-v-
|
|
724
|
+
_push(`<section class="aw-tile table-card" data-v-10e5bd50${_scopeId}><div class="tbl-toolbar" data-v-10e5bd50${_scopeId}><div class="filters" data-v-10e5bd50${_scopeId}><label class="flt" data-v-10e5bd50${_scopeId}><span data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k3wj9n051"))}</span><select class="inp-sel" data-v-10e5bd50${_scopeId}><option value="" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).lineId) ? ssrLooseContain(unref(filters).lineId, "") : ssrLooseEqual(unref(filters).lineId, "")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1bkl9uj052"))}</option><!--[-->`);
|
|
692
725
|
ssrRenderList(unref(dcw).lines, (l) => {
|
|
693
|
-
_push(`<option${ssrRenderAttr("value", l.id)} data-v-
|
|
726
|
+
_push(`<option${ssrRenderAttr("value", l.id)} data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).lineId) ? ssrLooseContain(unref(filters).lineId, l.id) : ssrLooseEqual(unref(filters).lineId, l.id)) ? " selected" : ""}${_scopeId}>${ssrInterpolate(l.name)}</option>`);
|
|
694
727
|
});
|
|
695
|
-
_push(`<!--]--><option value="none" data-v-
|
|
728
|
+
_push(`<!--]--><option value="none" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).lineId) ? ssrLooseContain(unref(filters).lineId, "none") : ssrLooseEqual(unref(filters).lineId, "none")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k3ootr6053"))}</option></select></label><label class="flt" data-v-10e5bd50${_scopeId}><span data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1i8rtqt054"))}</span><select class="inp-sel" data-v-10e5bd50${_scopeId}><option value="" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).deviceId) ? ssrLooseContain(unref(filters).deviceId, "") : ssrLooseEqual(unref(filters).deviceId, "")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1bkw4m2055"))}</option><!--[-->`);
|
|
696
729
|
ssrRenderList(boundDevices.value, (d) => {
|
|
697
|
-
_push(`<option${ssrRenderAttr("value", d.id)} data-v-
|
|
730
|
+
_push(`<option${ssrRenderAttr("value", d.id)} data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).deviceId) ? ssrLooseContain(unref(filters).deviceId, d.id) : ssrLooseEqual(unref(filters).deviceId, d.id)) ? " selected" : ""}${_scopeId}>${ssrInterpolate(d.name)}(${ssrInterpolate(d.count)}) </option>`);
|
|
698
731
|
});
|
|
699
|
-
_push(`<!--]--><option value="none" data-v-
|
|
732
|
+
_push(`<!--]--><option value="none" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).deviceId) ? ssrLooseContain(unref(filters).deviceId, "none") : ssrLooseEqual(unref(filters).deviceId, "none")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k3own4q056"))}</option></select></label><label class="flt"${ssrRenderAttr("title", _ctx.$t("daq.khb8mru009"))} data-v-10e5bd50${_scopeId}><span data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1b2tkyv057"))}</span><select class="inp-sel" data-v-10e5bd50${_scopeId}><option value="" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).lineRun) ? ssrLooseContain(unref(filters).lineRun, "") : ssrLooseEqual(unref(filters).lineRun, "")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k3x4t1058"))}</option><option value="on" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).lineRun) ? ssrLooseContain(unref(filters).lineRun, "on") : ssrLooseEqual(unref(filters).lineRun, "on")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1nxm3p7059"))}</option><option value="off" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).lineRun) ? ssrLooseContain(unref(filters).lineRun, "off") : ssrLooseEqual(unref(filters).lineRun, "off")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1ulx34e060"))}</option></select></label><label class="flt" data-v-10e5bd50${_scopeId}><span data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1iwdfef061"))}</span><select class="inp-sel" data-v-10e5bd50${_scopeId}><option value="" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).state) ? ssrLooseContain(unref(filters).state, "") : ssrLooseEqual(unref(filters).state, "")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k3x4t1058"))}</option><option value="ok" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).state) ? ssrLooseContain(unref(filters).state, "ok") : ssrLooseEqual(unref(filters).state, "ok")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k41k5c062"))}</option><option value="warn" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).state) ? ssrLooseContain(unref(filters).state, "warn") : ssrLooseEqual(unref(filters).state, "warn")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k49z8v063"))}</option><option value="alarm" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).state) ? ssrLooseContain(unref(filters).state, "alarm") : ssrLooseEqual(unref(filters).state, "alarm")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k3xmid064"))}</option><option value="offline" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).state) ? ssrLooseContain(unref(filters).state, "offline") : ssrLooseEqual(unref(filters).state, "offline")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k44c2n065"))}</option></select></label><label class="flt" data-v-10e5bd50${_scopeId}><span data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1flttpl010"))}</span><select class="inp-sel" data-v-10e5bd50${_scopeId}><option value="" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).template) ? ssrLooseContain(unref(filters).template, "") : ssrLooseEqual(unref(filters).template, "")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1flttpl011"))}</option><!--[-->`);
|
|
700
733
|
ssrRenderList(templateOptions.value, (t) => {
|
|
701
|
-
_push(`<option${ssrRenderAttr("value", t.ref)} data-v-
|
|
734
|
+
_push(`<option${ssrRenderAttr("value", t.ref)} data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).template) ? ssrLooseContain(unref(filters).template, t.ref) : ssrLooseEqual(unref(filters).template, t.ref)) ? " selected" : ""}${_scopeId}>${ssrInterpolate(t.label)}(${ssrInterpolate(t.count)}) </option>`);
|
|
702
735
|
});
|
|
703
|
-
_push(`<!--]--></select></label><label class="flt" data-v-
|
|
736
|
+
_push(`<!--]--></select></label><label class="flt" data-v-10e5bd50${_scopeId}><span data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1fltdrv012"))}</span><select class="inp-sel" data-v-10e5bd50${_scopeId}><option value="" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).driver) ? ssrLooseContain(unref(filters).driver, "") : ssrLooseEqual(unref(filters).driver, "")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1fltdrv013"))}</option><!--[-->`);
|
|
704
737
|
ssrRenderList(driverOptions.value, (d) => {
|
|
705
|
-
_push(`<option${ssrRenderAttr("value", d.kind)} data-v-
|
|
738
|
+
_push(`<option${ssrRenderAttr("value", d.kind)} data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).driver) ? ssrLooseContain(unref(filters).driver, d.kind) : ssrLooseEqual(unref(filters).driver, d.kind)) ? " selected" : ""}${_scopeId}>${ssrInterpolate(d.label)}(${ssrInterpolate(d.count)}) </option>`);
|
|
706
739
|
});
|
|
707
|
-
_push(`<!--]--></select></label><label class="flt"${ssrRenderAttr("title", _ctx.$t("daq.k1flttim014"))} data-v-
|
|
708
|
-
if (hasFilters.value) _push(`<button class="mini-btn clear-btn" data-v-
|
|
740
|
+
_push(`<!--]--></select></label><label class="flt"${ssrRenderAttr("title", _ctx.$t("daq.k1flttim014"))} data-v-10e5bd50${_scopeId}><span data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1flttim015"))}</span><select class="inp-sel" data-v-10e5bd50${_scopeId}><option value="" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).time) ? ssrLooseContain(unref(filters).time, "") : ssrLooseEqual(unref(filters).time, "")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1flttim016"))}</option><option value="live" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).time) ? ssrLooseContain(unref(filters).time, "live") : ssrLooseEqual(unref(filters).time, "live")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1timlv017"))}</option><option value="hour" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).time) ? ssrLooseContain(unref(filters).time, "hour") : ssrLooseEqual(unref(filters).time, "hour")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1timhr018"))}</option><option value="day" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).time) ? ssrLooseContain(unref(filters).time, "day") : ssrLooseEqual(unref(filters).time, "day")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1timdy019"))}</option><option value="old" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).time) ? ssrLooseContain(unref(filters).time, "old") : ssrLooseEqual(unref(filters).time, "old")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1timld020"))}</option><option value="never" data-v-10e5bd50${ssrIncludeBooleanAttr(Array.isArray(unref(filters).time) ? ssrLooseContain(unref(filters).time, "never") : ssrLooseEqual(unref(filters).time, "never")) ? " selected" : ""}${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1timnv021"))}</option></select></label><label class="flt" data-v-10e5bd50${_scopeId}><span data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1fltsrc022"))}</span><input${ssrRenderAttr("value", unref(filters).search)} class="inp-sel flt-search" type="search"${ssrRenderAttr("placeholder", _ctx.$t("daq.k1fltsph023"))} data-v-10e5bd50${_scopeId}></label>`);
|
|
741
|
+
if (hasFilters.value) _push(`<button class="mini-btn clear-btn" data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1fygck2066"))}</button>`);
|
|
709
742
|
else _push(`<!---->`);
|
|
710
|
-
_push(`</div><span class="count mono" data-v-
|
|
711
|
-
if (unref(daq).alarms.length === 0) _push(`<p class="panel-empty" data-v-
|
|
743
|
+
_push(`</div><span class="count mono" data-v-10e5bd50${_scopeId}>${ssrInterpolate(filteredNodes.value.length)} / ${ssrInterpolate(unref(daq).nodes.length)} ${ssrInterpolate(_ctx.$t("daq.k45uio067"))}</span></div><div class="ops-panels" data-v-10e5bd50${_scopeId}><div class="${ssrRenderClass([{ live: unref(daq).alarms.length > 0 }, "ops-panel alarm-panel"])}" data-v-10e5bd50${_scopeId}><div class="panel-head" data-v-10e5bd50${_scopeId}><span class="i-tabler-bell-ringing bell" data-v-10e5bd50${_scopeId}></span><b data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1alarm141"))}</b><span class="${ssrRenderClass([{ hot: unref(daq).alarms.length > 0 }, "mono cnt"])}" data-v-10e5bd50${_scopeId}>${ssrInterpolate(unref(daq).alarms.length)}</span></div><div class="panel-body" data-v-10e5bd50${_scopeId}>`);
|
|
744
|
+
if (unref(daq).alarms.length === 0) _push(`<p class="panel-empty" data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1evt001"))}</p>`);
|
|
712
745
|
else {
|
|
713
746
|
_push(`<!--[-->`);
|
|
714
747
|
ssrRenderList(unref(daq).alarms, (a) => {
|
|
715
|
-
_push(`<div class="alarm-row" data-v-
|
|
716
|
-
if (a.escalation > 0) _push(`<small class="esc mono" data-v-
|
|
748
|
+
_push(`<div class="alarm-row" data-v-10e5bd50${_scopeId}><span class="i-tabler-alert-triangle tri" data-v-10e5bd50${_scopeId}></span><b data-v-10e5bd50${_scopeId}>${ssrInterpolate(a.nodeName)}</b><span class="mono dim" data-v-10e5bd50${_scopeId}>${ssrInterpolate(a.metric)}</span><span class="mono" data-v-10e5bd50${_scopeId}>${ssrInterpolate(a.value)} ${ssrInterpolate(a.rule === "lt-min" ? "<" : ">")} ${ssrInterpolate(a.threshold)}</span>`);
|
|
749
|
+
if (a.escalation > 0) _push(`<small class="esc mono" data-v-10e5bd50${_scopeId}>+${ssrInterpolate(a.escalation)}</small>`);
|
|
717
750
|
else _push(`<!---->`);
|
|
718
|
-
_push(`<button class="mini-btn ack" data-v-
|
|
751
|
+
_push(`<button class="mini-btn ack" data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1ack142"))}</button></div>`);
|
|
719
752
|
});
|
|
720
753
|
_push(`<!--]-->`);
|
|
721
754
|
}
|
|
722
|
-
_push(`</div></div><div class="ops-panel event-panel" data-v-
|
|
755
|
+
_push(`</div></div><div class="ops-panel event-panel" data-v-10e5bd50${_scopeId}><div class="panel-head" data-v-10e5bd50${_scopeId}><span class="i-tabler-activity" data-v-10e5bd50${_scopeId}></span><b data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1evt002"))}</b>`);
|
|
723
756
|
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
724
757
|
class: "panel-link",
|
|
725
758
|
to: "/logs"
|
|
726
759
|
}, {
|
|
727
760
|
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
728
|
-
if (_push) _push(`${ssrInterpolate(_ctx.$t("daq.k1evt003"))}<span class="i-tabler-arrow-right" data-v-
|
|
761
|
+
if (_push) _push(`${ssrInterpolate(_ctx.$t("daq.k1evt003"))}<span class="i-tabler-arrow-right" data-v-10e5bd50${_scopeId}></span>`);
|
|
729
762
|
else return [createTextVNode(toDisplayString(_ctx.$t("daq.k1evt003")), 1), createVNode("span", { class: "i-tabler-arrow-right" })];
|
|
730
763
|
}),
|
|
731
764
|
_: 1
|
|
732
765
|
}, _parent, _scopeId));
|
|
733
|
-
_push(`</div><div class="panel-body" data-v-
|
|
734
|
-
if (unref(opsLog).recent.length === 0) _push(`<p class="panel-empty" data-v-
|
|
766
|
+
_push(`</div><div class="panel-body" data-v-10e5bd50${_scopeId}>`);
|
|
767
|
+
if (unref(opsLog).recent.length === 0) _push(`<p class="panel-empty" data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1evt004"))}</p>`);
|
|
735
768
|
else {
|
|
736
769
|
_push(`<!--[-->`);
|
|
737
770
|
ssrRenderList(unref(opsLog).recent, (r, i) => {
|
|
738
|
-
_push(`<div class="evt-row" data-v-
|
|
771
|
+
_push(`<div class="evt-row" data-v-10e5bd50${_scopeId}><span class="mono dim t" data-v-10e5bd50${_scopeId}>${ssrInterpolate(opsTime(r.at))}</span><span class="${ssrRenderClass([r.actorKind, "src-badge"])}" data-v-10e5bd50${_scopeId}>${ssrInterpolate(r.actorKind === "agent" ? "Agent" : r.actorKind === "user" ? _ctx.$t("logs.src.user") : _ctx.$t("logs.src.system"))}</span><span class="${ssrRenderClass([r.kind, "kind-chip"])}" data-v-10e5bd50${_scopeId}>${ssrInterpolate(opsKindLabel(r.kind))}</span><span class="txt"${ssrRenderAttr("title", r.summary)} data-v-10e5bd50${_scopeId}>${ssrInterpolate(r.summary)}</span></div>`);
|
|
739
772
|
});
|
|
740
773
|
_push(`<!--]-->`);
|
|
741
774
|
}
|
|
742
|
-
_push(`</div></div></div><table class="nodes-table" data-v-
|
|
743
|
-
ssrRenderList(
|
|
744
|
-
_push(
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
},
|
|
748
|
-
if (limitY(n.hist, limitOf(n).min) != null) _push(`<line class="lim" x1="0"${ssrRenderAttr("y1", limitY(n.hist, limitOf(n).min))} x2="120"${ssrRenderAttr("y2", limitY(n.hist, limitOf(n).min))} data-v-1dcb778c${_scopeId}></line>`);
|
|
749
|
-
else _push(`<!---->`);
|
|
750
|
-
if (limitY(n.hist, limitOf(n).max) != null) _push(`<line class="lim max" x1="0"${ssrRenderAttr("y1", limitY(n.hist, limitOf(n).max))} x2="120"${ssrRenderAttr("y2", limitY(n.hist, limitOf(n).max))} data-v-1dcb778c${_scopeId}></line>`);
|
|
751
|
-
else _push(`<!---->`);
|
|
752
|
-
_push(`<polyline class="${ssrRenderClass([{ alarm: n.state === "alarm" || c.alarm }, "trace"])}"${ssrRenderAttr("points", trendPath(n.hist))} data-v-1dcb778c${_scopeId}></polyline></svg></td><td class="mono" data-v-1dcb778c${_scopeId}>${ssrInterpolate(intervalOf(n.intervalMs))}</td><td class="mono" data-v-1dcb778c${_scopeId}>${ssrInterpolate(publishOf(n.publishIntervalMs))}</td><td data-v-1dcb778c${_scopeId}><span class="${ssrRenderClass([{ planned: driverPlanned(n.driver) }, "drv-tag"])}"${ssrRenderAttr("title", driverPlanned(n.driver) ? _ctx.$t("daq.k1plndrv138") : "")} data-v-1dcb778c${_scopeId}>${ssrInterpolate(n.driver)}</span></td><td data-v-1dcb778c${_scopeId}><select class="line-sel"${ssrRenderAttr("value", n.lineId)}${ssrRenderAttr("title", _ctx.$t("daq.k3q23v3010"))} data-v-1dcb778c${_scopeId}><option value="" data-v-1dcb778c${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k3ootr6053"))}</option><!--[-->`);
|
|
753
|
-
ssrRenderList(unref(dcw).lines, (l) => {
|
|
754
|
-
_push(`<option${ssrRenderAttr("value", l.id)} data-v-1dcb778c${_scopeId}>${ssrInterpolate(l.name)}</option>`);
|
|
755
|
-
});
|
|
756
|
-
_push(`<!--]--></select></td><td data-v-1dcb778c${_scopeId}>`);
|
|
757
|
-
if (n.lineId) _push(`<span class="${ssrRenderClass([{ on: unref(dcw).lineStateOf(n.lineId).active }, "run-pill"])}"${ssrRenderAttr("title", _ctx.$t("daq.k1runtipc131"))} data-v-1dcb778c${_scopeId}><span class="rp-dot" data-v-1dcb778c${_scopeId}></span> ${ssrInterpolate(unref(dcw).lineStateOf(n.lineId).active ? _ctx.$t("daq.k3vp67i096") : _ctx.$t("daq.k3ozyqz117"))}</span>`);
|
|
758
|
-
else _push(`<span class="run-pill na" data-v-1dcb778c${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k3ootr6053"))}</span>`);
|
|
759
|
-
_push(`</td><td class="prod-cell" data-v-1dcb778c${_scopeId}>`);
|
|
760
|
-
if (n.lineId && unref(dcw).lineStateOf(n.lineId).active) _push(`<!--[--><b${ssrRenderAttr("title", _ctx.$t("daq.k1prdrtip132"))} data-v-1dcb778c${_scopeId}>${ssrInterpolate(unref(dcw).lineStateOf(n.lineId).productName || "--")}</b><small class="mono"${ssrRenderAttr("title", _ctx.$t("daq.k1prdrtip132"))} data-v-1dcb778c${_scopeId}>${ssrInterpolate(unref(dcw).lineStateOf(n.lineId).recipeName || "--")}</small><!--]-->`);
|
|
761
|
-
else _push(`<span class="dim" data-v-1dcb778c${_scopeId}>--</span>`);
|
|
762
|
-
_push(`</td><td data-v-1dcb778c${_scopeId}><div class="dev-binds" data-v-1dcb778c${_scopeId}><!--[-->`);
|
|
763
|
-
ssrRenderList(nodeDeviceIds(n), (did) => {
|
|
764
|
-
_push(`<span class="dev-bind-chip"${ssrRenderAttr("title", _ctx.$t("daq.k2bindtip137"))} data-v-1dcb778c${_scopeId}>${ssrInterpolate(deviceNameById(did))} <span class="dev-unbind" title="unbind" data-v-1dcb778c${_scopeId}>✕</span></span>`);
|
|
765
|
-
});
|
|
766
|
-
_push(`<!--]--><select class="line-sel dev-add"${ssrRenderAttr("value", "")}${ssrRenderAttr("title", _ctx.$t("daq.k2bindtip137"))} data-v-1dcb778c${_scopeId}><option value="" data-v-1dcb778c${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k3own4q056"))}</option><!--[-->`);
|
|
767
|
-
ssrRenderList(bindableDeviceTwins.value, (d) => {
|
|
768
|
-
_push(`<option${ssrRenderAttr("value", d.id)}${ssrIncludeBooleanAttr((n.deviceIds ?? []).includes(d.id)) ? " disabled" : ""} data-v-1dcb778c${_scopeId}>${ssrInterpolate(unref(nodeDevices).get(d.id) ?? d.name)}</option>`);
|
|
769
|
-
});
|
|
770
|
-
_push(`<!--]--></select></div></td><td class="right" data-v-1dcb778c${_scopeId}><button class="${ssrRenderClass([{ off: !n.enabled }, "node-toggle"])}"${ssrRenderAttr("title", n.enabled ? _ctx.$t("daq.k1nodestop146") : _ctx.$t("daq.k1nodestart147"))} data-v-1dcb778c${_scopeId}><span class="${ssrRenderClass(n.enabled ? "i-tabler-player-pause" : "i-tabler-player-play")}" data-v-1dcb778c${_scopeId}></span> ${ssrInterpolate(n.enabled ? _ctx.$t("daq.k1nodestop146") : _ctx.$t("daq.k1nodestart147"))}</button>`);
|
|
771
|
-
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
772
|
-
class: "console-link",
|
|
773
|
-
to: `/daq/${n.id}`
|
|
774
|
-
}, {
|
|
775
|
-
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
776
|
-
if (_push) _push(`<span class="i-tabler-dashboard" data-v-1dcb778c${_scopeId}></span> ${ssrInterpolate(_ctx.$t("daq.k3o3jg2074"))}`);
|
|
777
|
-
else return [createVNode("span", { class: "i-tabler-dashboard" }), createTextVNode(" " + toDisplayString(_ctx.$t("daq.k3o3jg2074")), 1)];
|
|
778
|
-
}),
|
|
779
|
-
_: 2
|
|
780
|
-
}, _parent, _scopeId));
|
|
781
|
-
_push(`</td></tr>`);
|
|
775
|
+
_push(`</div></div></div><table class="nodes-table" data-v-10e5bd50${_scopeId}><thead data-v-10e5bd50${_scopeId}><tr data-v-10e5bd50${_scopeId}><th data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k45uio067"))}</th><th data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k42w8s068"))}</th><th data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k3mv305069"))}</th><th data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1trnd001"))}</th><th data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1l6g2ga070"))}</th><th data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k3zi0nf071"))}</th><th data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k4a0la072"))}</th><th data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k3wj9n051"))}</th><th${ssrRenderAttr("title", _ctx.$t("daq.k1runtipc131"))} data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1b2tkyv057"))}</th><th${ssrRenderAttr("title", _ctx.$t("daq.k1prdrtip132"))} data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1prodrc128"))}</th><th data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1i8rtqt054"))}</th><th class="right" data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k40aa6073"))}</th></tr></thead><tbody data-v-10e5bd50${_scopeId}><!--[-->`);
|
|
776
|
+
ssrRenderList(filteredNodes.value, (n) => {
|
|
777
|
+
_push(ssrRenderComponent(_component_WorkshopDaqNodeRow, {
|
|
778
|
+
key: n.id,
|
|
779
|
+
n
|
|
780
|
+
}, null, _parent, _scopeId));
|
|
782
781
|
});
|
|
783
782
|
_push(`<!--]-->`);
|
|
784
|
-
if (unref(daq).loaded && unref(daq).nodes.length === 0) _push(`<tr data-v-
|
|
785
|
-
else if (unref(daq).loaded && filteredNodes.value.length === 0) _push(`<tr data-v-
|
|
783
|
+
if (unref(daq).loaded && unref(daq).nodes.length === 0) _push(`<tr data-v-10e5bd50${_scopeId}><td colspan="11" data-v-10e5bd50${_scopeId}><div class="pane-empty" style="${ssrRenderStyle({ "min-height": "120px" })}" data-v-10e5bd50${_scopeId}><p class="pe-sub" data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.kvhjyc3075"))}</p></div></td></tr>`);
|
|
784
|
+
else if (unref(daq).loaded && filteredNodes.value.length === 0) _push(`<tr data-v-10e5bd50${_scopeId}><td colspan="11" data-v-10e5bd50${_scopeId}><div class="pane-empty" style="${ssrRenderStyle({ "min-height": "90px" })}" data-v-10e5bd50${_scopeId}><p class="pe-sub" data-v-10e5bd50${_scopeId}>${ssrInterpolate(_ctx.$t("daq.k1w20qew076"))}</p></div></td></tr>`);
|
|
786
785
|
else _push(`<!---->`);
|
|
787
786
|
_push(`</tbody></table></section>`);
|
|
788
787
|
} else return [createVNode("section", { class: "aw-tile table-card" }, [
|
|
@@ -943,124 +942,11 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
943
942
|
createVNode("th", { title: _ctx.$t("daq.k1prdrtip132") }, toDisplayString(_ctx.$t("daq.k1prodrc128")), 9, ["title"]),
|
|
944
943
|
createVNode("th", null, toDisplayString(_ctx.$t("daq.k1i8rtqt054")), 1),
|
|
945
944
|
createVNode("th", { class: "right" }, toDisplayString(_ctx.$t("daq.k40aa6073")), 1)
|
|
946
|
-
])]), createVNode("tbody", null, [(openBlock(true), createBlock(Fragment, null, renderList(
|
|
947
|
-
return openBlock(), createBlock(
|
|
945
|
+
])]), createVNode("tbody", null, [(openBlock(true), createBlock(Fragment, null, renderList(filteredNodes.value, (n) => {
|
|
946
|
+
return openBlock(), createBlock(_component_WorkshopDaqNodeRow, {
|
|
948
947
|
key: n.id,
|
|
949
|
-
|
|
950
|
-
}, [
|
|
951
|
-
createVNode("td", null, [
|
|
952
|
-
createVNode("span", { class: "mono dim" }, toDisplayString(n.id.slice(0, 8)), 1),
|
|
953
|
-
createVNode("b", null, toDisplayString(n.name), 1),
|
|
954
|
-
createVNode("small", { class: "mono ch" }, toDisplayString(c.tpl), 1)
|
|
955
|
-
]),
|
|
956
|
-
createVNode("td", null, [createVNode("span", {
|
|
957
|
-
class: ["st-pill", [c.pill.key]],
|
|
958
|
-
title: c.pill.tip
|
|
959
|
-
}, toDisplayString(c.pill.label), 11, ["title"])]),
|
|
960
|
-
createVNode("td", {
|
|
961
|
-
class: ["mono val", {
|
|
962
|
-
"stale": !c.live,
|
|
963
|
-
"val-alarm": n.state === "alarm" || c.alarm
|
|
964
|
-
}],
|
|
965
|
-
title: c.live ? void 0 : c.pill.tip
|
|
966
|
-
}, [createTextVNode(toDisplayString(n.value != null ? n.value.toFixed(n.decimals) : "--") + " ", 1), createVNode("small", null, toDisplayString(n.unit), 1)], 10, ["title"]),
|
|
967
|
-
createVNode("td", { class: "trend-cell" }, [(openBlock(), createBlock("svg", {
|
|
968
|
-
class: "trend",
|
|
969
|
-
viewBox: "0 0 120 26",
|
|
970
|
-
preserveAspectRatio: "none",
|
|
971
|
-
title: _ctx.$t("daq.k1trnd002")
|
|
972
|
-
}, [
|
|
973
|
-
limitY(n.hist, limitOf(n).min) != null ? (openBlock(), createBlock("line", {
|
|
974
|
-
key: 0,
|
|
975
|
-
class: "lim",
|
|
976
|
-
x1: "0",
|
|
977
|
-
y1: limitY(n.hist, limitOf(n).min),
|
|
978
|
-
x2: "120",
|
|
979
|
-
y2: limitY(n.hist, limitOf(n).min)
|
|
980
|
-
}, null, 8, ["y1", "y2"])) : createCommentVNode("", true),
|
|
981
|
-
limitY(n.hist, limitOf(n).max) != null ? (openBlock(), createBlock("line", {
|
|
982
|
-
key: 1,
|
|
983
|
-
class: "lim max",
|
|
984
|
-
x1: "0",
|
|
985
|
-
y1: limitY(n.hist, limitOf(n).max),
|
|
986
|
-
x2: "120",
|
|
987
|
-
y2: limitY(n.hist, limitOf(n).max)
|
|
988
|
-
}, null, 8, ["y1", "y2"])) : createCommentVNode("", true),
|
|
989
|
-
createVNode("polyline", {
|
|
990
|
-
class: ["trace", { alarm: n.state === "alarm" || c.alarm }],
|
|
991
|
-
points: trendPath(n.hist)
|
|
992
|
-
}, null, 10, ["points"])
|
|
993
|
-
], 8, ["title"]))]),
|
|
994
|
-
createVNode("td", { class: "mono" }, toDisplayString(intervalOf(n.intervalMs)), 1),
|
|
995
|
-
createVNode("td", { class: "mono" }, toDisplayString(publishOf(n.publishIntervalMs)), 1),
|
|
996
|
-
createVNode("td", null, [createVNode("span", {
|
|
997
|
-
class: ["drv-tag", { planned: driverPlanned(n.driver) }],
|
|
998
|
-
title: driverPlanned(n.driver) ? _ctx.$t("daq.k1plndrv138") : ""
|
|
999
|
-
}, toDisplayString(n.driver), 11, ["title"])]),
|
|
1000
|
-
createVNode("td", null, [createVNode("select", {
|
|
1001
|
-
class: "line-sel",
|
|
1002
|
-
value: n.lineId,
|
|
1003
|
-
title: _ctx.$t("daq.k3q23v3010"),
|
|
1004
|
-
onChange: ($event) => setNodeLine(n.id, $event)
|
|
1005
|
-
}, [createVNode("option", { value: "" }, toDisplayString(_ctx.$t("daq.k3ootr6053")), 1), (openBlock(true), createBlock(Fragment, null, renderList(unref(dcw).lines, (l) => {
|
|
1006
|
-
return openBlock(), createBlock("option", {
|
|
1007
|
-
key: l.id,
|
|
1008
|
-
value: l.id
|
|
1009
|
-
}, toDisplayString(l.name), 9, ["value"]);
|
|
1010
|
-
}), 128))], 40, [
|
|
1011
|
-
"value",
|
|
1012
|
-
"title",
|
|
1013
|
-
"onChange"
|
|
1014
|
-
])]),
|
|
1015
|
-
createVNode("td", null, [n.lineId ? (openBlock(), createBlock("span", {
|
|
1016
|
-
key: 0,
|
|
1017
|
-
class: ["run-pill", { on: unref(dcw).lineStateOf(n.lineId).active }],
|
|
1018
|
-
title: _ctx.$t("daq.k1runtipc131")
|
|
1019
|
-
}, [createVNode("span", { class: "rp-dot" }), createTextVNode(" " + toDisplayString(unref(dcw).lineStateOf(n.lineId).active ? _ctx.$t("daq.k3vp67i096") : _ctx.$t("daq.k3ozyqz117")), 1)], 10, ["title"])) : (openBlock(), createBlock("span", {
|
|
1020
|
-
key: 1,
|
|
1021
|
-
class: "run-pill na"
|
|
1022
|
-
}, toDisplayString(_ctx.$t("daq.k3ootr6053")), 1))]),
|
|
1023
|
-
createVNode("td", { class: "prod-cell" }, [n.lineId && unref(dcw).lineStateOf(n.lineId).active ? (openBlock(), createBlock(Fragment, { key: 0 }, [createVNode("b", { title: _ctx.$t("daq.k1prdrtip132") }, toDisplayString(unref(dcw).lineStateOf(n.lineId).productName || "--"), 9, ["title"]), createVNode("small", {
|
|
1024
|
-
class: "mono",
|
|
1025
|
-
title: _ctx.$t("daq.k1prdrtip132")
|
|
1026
|
-
}, toDisplayString(unref(dcw).lineStateOf(n.lineId).recipeName || "--"), 9, ["title"])], 64)) : (openBlock(), createBlock("span", {
|
|
1027
|
-
key: 1,
|
|
1028
|
-
class: "dim"
|
|
1029
|
-
}, "--"))]),
|
|
1030
|
-
createVNode("td", null, [createVNode("div", { class: "dev-binds" }, [(openBlock(true), createBlock(Fragment, null, renderList(nodeDeviceIds(n), (did) => {
|
|
1031
|
-
return openBlock(), createBlock("span", {
|
|
1032
|
-
key: did,
|
|
1033
|
-
class: "dev-bind-chip",
|
|
1034
|
-
title: _ctx.$t("daq.k2bindtip137")
|
|
1035
|
-
}, [createTextVNode(toDisplayString(deviceNameById(did)) + " ", 1), createVNode("span", {
|
|
1036
|
-
class: "dev-unbind",
|
|
1037
|
-
title: "unbind",
|
|
1038
|
-
onClick: ($event) => removeNodeDevice(n.id, did)
|
|
1039
|
-
}, "✕", 8, ["onClick"])], 8, ["title"]);
|
|
1040
|
-
}), 128)), createVNode("select", {
|
|
1041
|
-
class: "line-sel dev-add",
|
|
1042
|
-
value: "",
|
|
1043
|
-
title: _ctx.$t("daq.k2bindtip137"),
|
|
1044
|
-
onChange: ($event) => addNodeDevice(n.id, $event)
|
|
1045
|
-
}, [createVNode("option", { value: "" }, toDisplayString(_ctx.$t("daq.k3own4q056")), 1), (openBlock(true), createBlock(Fragment, null, renderList(bindableDeviceTwins.value, (d) => {
|
|
1046
|
-
return openBlock(), createBlock("option", {
|
|
1047
|
-
key: d.id,
|
|
1048
|
-
value: d.id,
|
|
1049
|
-
disabled: (n.deviceIds ?? []).includes(d.id)
|
|
1050
|
-
}, toDisplayString(unref(nodeDevices).get(d.id) ?? d.name), 9, ["value", "disabled"]);
|
|
1051
|
-
}), 128))], 40, ["title", "onChange"])])]),
|
|
1052
|
-
createVNode("td", { class: "right" }, [createVNode("button", {
|
|
1053
|
-
class: ["node-toggle", { off: !n.enabled }],
|
|
1054
|
-
title: n.enabled ? _ctx.$t("daq.k1nodestop146") : _ctx.$t("daq.k1nodestart147"),
|
|
1055
|
-
onClick: ($event) => toggleNodeEnabled(n)
|
|
1056
|
-
}, [createVNode("span", { class: n.enabled ? "i-tabler-player-pause" : "i-tabler-player-play" }, null, 2), createTextVNode(" " + toDisplayString(n.enabled ? _ctx.$t("daq.k1nodestop146") : _ctx.$t("daq.k1nodestart147")), 1)], 10, ["title", "onClick"]), createVNode(_component_NuxtLink, {
|
|
1057
|
-
class: "console-link",
|
|
1058
|
-
to: `/daq/${n.id}`
|
|
1059
|
-
}, {
|
|
1060
|
-
default: withCtx(() => [createVNode("span", { class: "i-tabler-dashboard" }), createTextVNode(" " + toDisplayString(_ctx.$t("daq.k3o3jg2074")), 1)]),
|
|
1061
|
-
_: 1
|
|
1062
|
-
}, 8, ["to"])])
|
|
1063
|
-
], 2);
|
|
948
|
+
n
|
|
949
|
+
}, null, 8, ["n"]);
|
|
1064
950
|
}), 128)), unref(daq).loaded && unref(daq).nodes.length === 0 ? (openBlock(), createBlock("tr", { key: 0 }, [createVNode("td", { colspan: "11" }, [createVNode("div", {
|
|
1065
951
|
class: "pane-empty",
|
|
1066
952
|
style: { "min-height": "120px" }
|
|
@@ -1073,7 +959,7 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
1073
959
|
_: 1
|
|
1074
960
|
}, _parent));
|
|
1075
961
|
if (unref(daq).error) {
|
|
1076
|
-
_push(`<p class="err" data-v-
|
|
962
|
+
_push(`<p class="err" data-v-10e5bd50>${ssrInterpolate(unref(daq).error)}(`);
|
|
1077
963
|
_push(ssrRenderComponent(_component_NuxtLink, { to: "/workshop" }, {
|
|
1078
964
|
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
1079
965
|
if (_push) _push(`${ssrInterpolate(_ctx.$t("daq.k1bhhheq077"))}`);
|
|
@@ -1095,7 +981,7 @@ index_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
|
1095
981
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/daq/index.vue");
|
|
1096
982
|
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
1097
983
|
};
|
|
1098
|
-
var daq_default = /*#__PURE__*/ _plugin_vue_export_helper_default(index_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
984
|
+
var daq_default = /*#__PURE__*/ _plugin_vue_export_helper_default(index_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-10e5bd50"]]);
|
|
1099
985
|
|
|
1100
986
|
export { daq_default as default };
|
|
1101
|
-
//# sourceMappingURL=daq-
|
|
987
|
+
//# sourceMappingURL=daq-ChYCABz1.mjs.map
|