agentworkshop 0.7.8 → 0.7.9
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/-6OnbLFb.js +1 -0
- package/.output/public/_nuxt/{BUxYN2mw.js → -nb2uqVg.js} +1 -1
- package/.output/public/_nuxt/{DM8DS9MA.js → 6PZPfFcO.js} +1 -1
- package/.output/public/_nuxt/91DZTUMJ.js +1 -0
- package/.output/public/_nuxt/B0HpdCKS.js +1 -0
- package/.output/public/_nuxt/B1g8pJmr.js +2 -0
- package/.output/public/_nuxt/B1kA8LhC.js +14 -0
- package/.output/public/_nuxt/{uBbDCfTz.js → B5S_UyaC.js} +1 -1
- package/.output/public/_nuxt/{DZk24ego.js → B7wL3pDk.js} +1 -1
- package/.output/public/_nuxt/B9MUiDFl.js +1 -0
- package/.output/public/_nuxt/B9dLFSYI.js +1 -0
- package/.output/public/_nuxt/BC8s1Guv.js +1 -0
- package/.output/public/_nuxt/{BSXx2vqR.js → BCJFMBQ6.js} +1 -1
- package/.output/public/_nuxt/{BYL0Rjqj.js → BDASpD_i.js} +3 -3
- package/.output/public/_nuxt/{VnIWJ0ts.js → BN_PdN3J.js} +1 -1
- package/.output/public/_nuxt/BUPj10t4.js +1 -0
- package/.output/public/_nuxt/BZGNTgTQ2.js +1 -0
- package/.output/public/_nuxt/{NIM0Wglj2.js → BaMkWl5i2.js} +1 -1
- package/.output/public/_nuxt/BmHvC_OU.js +1 -0
- package/.output/public/_nuxt/{BkfchkK62.js → Bp5luxkg2.js} +1 -1
- package/.output/public/_nuxt/{ZugRk0CM2.js → BuktKVqK2.js} +1 -1
- package/.output/public/_nuxt/By8BpbKH.js +1 -0
- package/.output/public/_nuxt/{pRQri7vQ2.js → BytVi9VX2.js} +1 -1
- package/.output/public/_nuxt/{D5KJ7_0V.js → C3tCneTM.js} +1 -1
- package/.output/public/_nuxt/{CblLEiCZ.js → C9cU_Ujd.js} +3 -3
- package/.output/public/_nuxt/{BJ-fxrSw.js → CBciOiTQ.js} +1 -1
- package/.output/public/_nuxt/CFn4vHwD.js +1 -0
- package/.output/public/_nuxt/{DCXIGxzT.js → CKfhtOt7.js} +2 -2
- package/.output/public/_nuxt/CUMdhxg9.js +1 -0
- package/.output/public/_nuxt/{ChEKFMxj.js → CUXCQXjG.js} +1 -1
- package/.output/public/_nuxt/CfVAr2nf.js +1 -0
- package/.output/public/_nuxt/{CvbHIGQY2.js → CgvGu2IO.js} +1 -1
- package/.output/public/_nuxt/CjDQPXfv.js +1 -0
- package/.output/public/_nuxt/{B4Fia4FB.js → CmHzfVc5.js} +1 -1
- package/.output/public/_nuxt/{Do88WZG2.js → Cn3J3NXR.js} +1 -1
- package/.output/public/_nuxt/{DNzaswei.js → Cst47G4-.js} +1 -1
- package/.output/public/_nuxt/{DYZBdSSg2.js → Ct68Z0232.js} +1 -1
- package/.output/public/_nuxt/{BsMpJf7S.js → D-Ca4BGY.js} +6 -6
- package/.output/public/_nuxt/D0Szyn_D.js +1 -0
- package/.output/public/_nuxt/{CsCpu2Zh.js → D1z7i2UP.js} +1 -1
- package/.output/public/_nuxt/{Du-eSpo2.js → D3VJ3lex.js} +1 -1
- package/.output/public/_nuxt/D8CqF0yy.js +1 -0
- package/.output/public/_nuxt/D8EfUxO2.js +1 -0
- package/.output/public/_nuxt/D8wyHvcz2.js +1 -0
- package/.output/public/_nuxt/{zwdqvGN_.js → DDdEnkdw.js} +1 -1
- package/.output/public/_nuxt/DM4CNkXz.js +1 -0
- package/.output/public/_nuxt/DN5RuZ8k.js +18 -0
- package/.output/public/_nuxt/DXRZPxGs.js +1 -0
- package/.output/public/_nuxt/{C2iWjzEC2.js → DoLasgPj2.js} +1 -1
- package/.output/public/_nuxt/{DRq09ZmT.js → DpojD719.js} +1 -1
- package/.output/public/_nuxt/Dqj2h40U.js +1 -0
- package/.output/public/_nuxt/{BCipft_k2.js → DsUUYP292.js} +1 -1
- package/.output/public/_nuxt/DtBu71ev.js +32 -0
- package/.output/public/_nuxt/{fQUs58kX2.js → DvgKXPgu2.js} +1 -1
- package/.output/public/_nuxt/{C_gFA2H_2.js → DxrgFxIr2.js} +1 -1
- package/.output/public/_nuxt/Dy-mxvXY2.js +1 -0
- package/.output/public/_nuxt/G0qIw7Gq2.js +1 -0
- package/.output/public/_nuxt/{DCEyMaN-.js → MyA0Oeqd.js} +3 -3
- package/.output/public/_nuxt/{tRBT-plo.js → OV6PBW2z.js} +1 -1
- package/.output/public/_nuxt/TownView.BHLKAjEu.css +1 -0
- package/.output/public/_nuxt/VLI2Zy4t.js +5 -0
- package/.output/public/_nuxt/_id_.DIxEKj88.css +1 -0
- package/.output/public/_nuxt/_id_.DTvjd6VN.css +1 -0
- package/.output/public/_nuxt/{_wsId_.COUzMXpP.css → _wsId_.BFyCuUwS.css} +1 -1
- package/.output/public/_nuxt/agents.CEbox5-D.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/92d6bd39-dbc5-46d5-90d8-8387f36715fa.json +1 -0
- package/.output/public/_nuxt/channel-templates.De5ZvrGz.css +1 -0
- package/.output/public/_nuxt/daq.6IrhVVfy.css +1 -0
- package/.output/public/_nuxt/dcw.DcDjwvqv.css +1 -0
- package/.output/public/_nuxt/{default.V3_hUJq1.css → default.BR3e5fPY.css} +1 -1
- package/.output/public/_nuxt/{Cyk3du4K2.js → kZV5TQvh2.js} +1 -1
- package/.output/public/_nuxt/logs.BO-BSyjm.css +1 -0
- package/.output/public/_nuxt/{D4qXvjuV.js → niDwBOZW.js} +2 -2
- package/.output/public/_nuxt/pKv_VWR4.js +1 -0
- package/.output/public/_nuxt/plugins.Clsky_kl.css +1 -0
- package/.output/public/_nuxt/rqZ-1SoP.js +2 -0
- package/.output/public/_nuxt/teams.CUMnbQGf.css +1 -0
- package/.output/public/_nuxt/tokens.BPLe9ioQ.css +1 -0
- package/.output/public/_nuxt/{C8dxXc6K.js → u7KWCGSb.js} +1 -1
- package/.output/public/_nuxt/{Bi6AiCuP.js → vJ4FPb-_.js} +1 -1
- package/.output/public/_nuxt/wirVyscc.js +1 -0
- package/.output/public/_nuxt/workshop.BIdoGfoC.css +1 -0
- package/.output/server/chunks/_/nitro.mjs +896 -882
- package/.output/server/chunks/build/{TownView-B5KifIaT.mjs → TownView-D8DSdO3H.mjs} +181 -180
- package/.output/server/chunks/build/{TownView-B5KifIaT.mjs.map → TownView-D8DSdO3H.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-Ct4Jhvl1.mjs → _id_-BV4FfiYd.mjs} +36 -35
- package/.output/server/chunks/build/_id_-BV4FfiYd.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-C-ewLgfl.mjs → _id_-TP9hvnBM.mjs} +125 -124
- package/.output/server/chunks/build/_id_-TP9hvnBM.mjs.map +1 -0
- package/.output/server/chunks/build/{_wsId_-CanI_6Su.mjs → _wsId_-Mm9sQSz2.mjs} +125 -124
- package/.output/server/chunks/build/{_wsId_-CanI_6Su.mjs.map → _wsId_-Mm9sQSz2.mjs.map} +1 -1
- package/.output/server/chunks/build/{agents-DSOptxXA.mjs → agents-To3a5xcZ.mjs} +16 -15
- package/.output/server/chunks/build/agents-To3a5xcZ.mjs.map +1 -0
- package/.output/server/chunks/build/api-error-dul30BYQ.mjs +47 -0
- package/.output/server/chunks/build/api-error-dul30BYQ.mjs.map +1 -0
- package/.output/server/chunks/build/{channel-templates-BK0KuPOd.mjs → channel-templates-DRsP-qxl.mjs} +23 -22
- package/.output/server/chunks/build/channel-templates-DRsP-qxl.mjs.map +1 -0
- package/.output/server/chunks/build/{daq-D9RA_uze.mjs → daq-_hCEaYLd.mjs} +111 -110
- package/.output/server/chunks/build/daq-_hCEaYLd.mjs.map +1 -0
- package/.output/server/chunks/build/{dcw-BTM5YU-B.mjs → dcw-C7pJ4Y0p.mjs} +46 -45
- package/.output/server/chunks/build/dcw-C7pJ4Y0p.mjs.map +1 -0
- package/.output/server/chunks/build/{default-BfWGTlbj.mjs → default-Dnjs36e8.mjs} +16 -15
- package/.output/server/chunks/build/{default-BfWGTlbj.mjs.map → default-Dnjs36e8.mjs.map} +1 -1
- package/.output/server/chunks/build/{logs-Dyk0I2I9.mjs → logs-C039TFW1.mjs} +38 -37
- package/.output/server/chunks/build/logs-C039TFW1.mjs.map +1 -0
- package/.output/server/chunks/build/{pages-DR2bzczM.mjs → pages-C_VSGSGo.mjs} +5 -4
- package/.output/server/chunks/build/pages-C_VSGSGo.mjs.map +1 -0
- package/.output/server/chunks/build/{plugins-DnOBIWGg.mjs → plugins-4FMWkN8d.mjs} +25 -22
- package/.output/server/chunks/build/plugins-4FMWkN8d.mjs.map +1 -0
- package/.output/server/chunks/build/table-Cswq-l2r.mjs +1 -1
- package/.output/server/chunks/build/{teams-BhSKBBBM.mjs → teams-DA1lkf1n.mjs} +19 -18
- package/.output/server/chunks/build/teams-DA1lkf1n.mjs.map +1 -0
- package/.output/server/chunks/build/{tokens-D_eyxmcv.mjs → tokens-DKMvvk3e.mjs} +18 -17
- package/.output/server/chunks/build/tokens-DKMvvk3e.mjs.map +1 -0
- package/.output/server/chunks/build/{town-DPtOPRRO.mjs → town-D0thZ7PK.mjs} +6 -5
- package/.output/server/chunks/build/town-D0thZ7PK.mjs.map +1 -0
- package/.output/server/chunks/build/{useDaqStream-hwkhJHFU.mjs → useDaqStream-BVTRw8_H.mjs} +4 -3
- package/.output/server/chunks/build/useDaqStream-BVTRw8_H.mjs.map +1 -0
- package/.output/server/chunks/build/{useDcwStream-Bdew_yrr.mjs → useDcwStream-DNsivqI_.mjs} +4 -3
- package/.output/server/chunks/build/useDcwStream-DNsivqI_.mjs.map +1 -0
- package/.output/server/chunks/build/{useDeviceTwins-C6EBg9oN.mjs → useDeviceTwins-WeIom7A6.mjs} +4 -3
- package/.output/server/chunks/build/useDeviceTwins-WeIom7A6.mjs.map +1 -0
- package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs +1 -1
- package/.output/server/chunks/build/{useOpsLog-DdCqKVVG.mjs → useOpsLog-DcKnPO43.mjs} +5 -4
- package/.output/server/chunks/build/useOpsLog-DcKnPO43.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkshopApi-D2gq06N2.mjs +1 -1
- package/.output/server/chunks/build/{workshop-D5CQj2A8.mjs → workshop-BhWnJMWs.mjs} +19 -18
- package/.output/server/chunks/build/workshop-BhWnJMWs.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +3 -3
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +3 -3
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/virtual/entry.mjs +48 -22
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/app/components/AppHeader.vue +1 -1
- package/app/components/workshop/A2aRpcDebugger.vue +1 -1
- package/app/components/workshop/AgentInspectorDrawer.vue +3 -3
- package/app/components/workshop/AgentLanesView.vue +6 -6
- package/app/components/workshop/AssetLibrary.vue +2 -2
- package/app/components/workshop/ChannelSessionList.vue +5 -5
- package/app/components/workshop/Composer.vue +1 -1
- package/app/components/workshop/DeviceTwinPanel.vue +2 -2
- package/app/components/workshop/TaskBoardView.vue +1 -1
- package/app/components/workshop/TaskInspectorDrawer.vue +2 -2
- package/app/components/workshop/town/TownView.vue +23 -23
- package/app/composables/workshop/apiClient.ts +1 -1
- package/app/composables/workshop/useCharacterAssets.ts +1 -1
- package/app/composables/workshop/useDaqStream.ts +1 -1
- package/app/composables/workshop/useDcwStream.ts +1 -1
- package/app/composables/workshop/useDeviceTwins.ts +1 -1
- package/app/composables/workshop/useOpsLog.ts +2 -2
- package/app/composables/workshop/useSceneLayouts.ts +1 -1
- package/app/pages/daq/[id].vue +1 -1
- package/app/pages/daq/index.vue +8 -8
- package/app/pages/dcw/[id].vue +13 -13
- package/app/pages/dcw/index.vue +7 -7
- package/app/pages/logs/index.vue +1 -1
- package/app/pages/plugins/index.vue +14 -6
- package/app/pages/tokens.vue +3 -3
- package/app/pages/workshop/agents.vue +2 -2
- package/app/pages/workshop/channel-templates.vue +3 -3
- package/app/pages/workshop/index.vue +4 -4
- package/app/pages/workshop/teams.vue +3 -3
- package/app/utils/api-error.ts +75 -0
- package/cli/commands/plugin.mjs +2 -2
- package/config.yml +1 -1
- package/i18n/locales/en.ts +16 -3
- package/i18n/locales/zh-CN.ts +16 -3
- package/package.json +1 -1
- package/scripts/_dbg-interval-config.mjs +17 -6
- package/scripts/_dbg-plugins-e2e.mjs +101 -0
- package/scripts/_dbg-repo-setup-verify.mjs +31 -0
- package/scripts/_dbg-setup-e2e.mjs +1 -1
- package/server/api/workshop/plugins/[name]/disable.post.ts +5 -3
- package/server/api/workshop/plugins/[name]/enable.post.ts +5 -3
- package/server/data/daqs.json +88 -44
- package/server/data/dcw-lines.json +21 -0
- package/server/data/dcw-products.json +119 -0
- package/server/data/dcw-recipes.json +422 -0
- package/server/data/dcw-rollback.json +193 -6
- package/server/data/dcw-runs.json +459 -348
- package/server/data/dcw-writes.json +204 -0
- package/server/data/dcws.json +730 -305
- package/server/data/line-runs.json +26 -6
- package/server/services/system-config.ts +5 -0
- package/server/services/workshop/daq/storage/sqlite.adapter.ts +10 -5
- package/server/services/workshop/plugins/host.mjs +2 -1
- package/server/services/workshop/settings.ts +10 -0
- package/.output/public/_nuxt/2LwEn9gX.js +0 -2
- package/.output/public/_nuxt/3612gD2V.js +0 -32
- package/.output/public/_nuxt/8eIQAVlb.js +0 -1
- package/.output/public/_nuxt/Ah9qOv1m.js +0 -1
- package/.output/public/_nuxt/B7aqqzkY.js +0 -1
- package/.output/public/_nuxt/BH0Z05CS.js +0 -1
- package/.output/public/_nuxt/BJvGPTpC.js +0 -1
- package/.output/public/_nuxt/BVZjSVs2.js +0 -1
- package/.output/public/_nuxt/BVzDoF8t.js +0 -1
- package/.output/public/_nuxt/BjVLsC3M.js +0 -1
- package/.output/public/_nuxt/BnVoQ74r.js +0 -1
- package/.output/public/_nuxt/Bnp4vIAf.js +0 -1
- package/.output/public/_nuxt/Bt_HDizI.js +0 -5
- package/.output/public/_nuxt/Bu-P92Pe.js +0 -18
- package/.output/public/_nuxt/ButLXkjo.js +0 -2
- package/.output/public/_nuxt/By-LNp3k.js +0 -1
- package/.output/public/_nuxt/CGdPdJPP.js +0 -1
- package/.output/public/_nuxt/CRGlf1Gb.js +0 -1
- package/.output/public/_nuxt/CS8R0_J3.js +0 -1
- package/.output/public/_nuxt/CUxV8Bw_.js +0 -1
- package/.output/public/_nuxt/Cd15nPnG2.js +0 -1
- package/.output/public/_nuxt/DNJSkm3Q.js +0 -1
- package/.output/public/_nuxt/DXK1U43I.js +0 -1
- package/.output/public/_nuxt/Dc46i75T.js +0 -14
- package/.output/public/_nuxt/Dk6pq9JB2.js +0 -1
- package/.output/public/_nuxt/GP2wXyuY.js +0 -1
- package/.output/public/_nuxt/PQLnLxYe.js +0 -1
- package/.output/public/_nuxt/R_Wv_Nd9.js +0 -1
- package/.output/public/_nuxt/TownView.Bt33bo1M.css +0 -1
- package/.output/public/_nuxt/_id_.BzKMZnLe.css +0 -1
- package/.output/public/_nuxt/_id_.CbpDAWRh.css +0 -1
- package/.output/public/_nuxt/agents.BlejnOOC.css +0 -1
- package/.output/public/_nuxt/builds/meta/e5bb1803-86d9-43b3-85be-dc787dc9a978.json +0 -1
- package/.output/public/_nuxt/channel-templates.lkqEYlWY.css +0 -1
- package/.output/public/_nuxt/daq.zZ8GR433.css +0 -1
- package/.output/public/_nuxt/dcw.C46dGiF_.css +0 -1
- package/.output/public/_nuxt/eHGLpQSg2.js +0 -1
- package/.output/public/_nuxt/logs.DaIsHWZE.css +0 -1
- package/.output/public/_nuxt/p7wSGMtc.js +0 -1
- package/.output/public/_nuxt/plugins.FTm0PcEe.css +0 -1
- package/.output/public/_nuxt/teams.B8JNbUZg.css +0 -1
- package/.output/public/_nuxt/tokens.CWOTXM-Z.css +0 -1
- package/.output/public/_nuxt/ubPfs9mQ.js +0 -1
- package/.output/public/_nuxt/workshop.3kAcLB_M.css +0 -1
- package/.output/server/chunks/build/_id_-C-ewLgfl.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-Ct4Jhvl1.mjs.map +0 -1
- package/.output/server/chunks/build/agents-DSOptxXA.mjs.map +0 -1
- package/.output/server/chunks/build/channel-templates-BK0KuPOd.mjs.map +0 -1
- package/.output/server/chunks/build/daq-D9RA_uze.mjs.map +0 -1
- package/.output/server/chunks/build/dcw-BTM5YU-B.mjs.map +0 -1
- package/.output/server/chunks/build/logs-Dyk0I2I9.mjs.map +0 -1
- package/.output/server/chunks/build/pages-DR2bzczM.mjs.map +0 -1
- package/.output/server/chunks/build/plugins-DnOBIWGg.mjs.map +0 -1
- package/.output/server/chunks/build/teams-BhSKBBBM.mjs.map +0 -1
- package/.output/server/chunks/build/tokens-D_eyxmcv.mjs.map +0 -1
- package/.output/server/chunks/build/town-DPtOPRRO.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqStream-hwkhJHFU.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwStream-Bdew_yrr.mjs.map +0 -1
- package/.output/server/chunks/build/useDeviceTwins-C6EBg9oN.mjs.map +0 -1
- package/.output/server/chunks/build/useOpsLog-DdCqKVVG.mjs.map +0 -1
- package/.output/server/chunks/build/workshop-D5CQj2A8.mjs.map +0 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { _ as _plugin_vue_export_helper_default, u as useI18n,
|
|
1
|
+
import { _ as _plugin_vue_export_helper_default, u as useI18n, as as useHttp } from '../virtual/entry.mjs';
|
|
2
2
|
import { u as useUserStore } from './user-Dk-ytEUV.mjs';
|
|
3
3
|
import { u as useWorkspacesStore } from './workspaces-IfORCDJE.mjs';
|
|
4
|
+
import { a as apiErrorMessage } from './api-error-dul30BYQ.mjs';
|
|
4
5
|
import { u as useEntitiesStore, a as useWorkshopWs } from './useWorkshopWs-B3j5wIAK.mjs';
|
|
5
6
|
import { s as setInterval, n as nowLocalIso } from './useLocalTime-9a4B-aHv.mjs';
|
|
6
7
|
import { u as useTownBus } from './useTownBus-D9SoIsAN.mjs';
|
|
7
|
-
import { u as useDcwStream } from './useDcwStream-
|
|
8
|
-
import { u as useDaqStream } from './useDaqStream-
|
|
9
|
-
import { u as useDeviceTwins } from './useDeviceTwins-
|
|
8
|
+
import { u as useDcwStream } from './useDcwStream-DNsivqI_.mjs';
|
|
9
|
+
import { u as useDaqStream } from './useDaqStream-BVTRw8_H.mjs';
|
|
10
|
+
import { u as useDeviceTwins } from './useDeviceTwins-WeIom7A6.mjs';
|
|
10
11
|
import { shallowRef, ref, computed, toValue, watch, nextTick, defineComponent, reactive, mergeProps, unref, readonly, getCurrentScope, onScopeDispose, getCurrentInstance, toRef, customRef, useSSRContext } from 'vue';
|
|
11
12
|
import { ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrRenderClass, ssrIncludeBooleanAttr, ssrRenderComponent, ssrRenderList, ssrRenderStyle, ssrLooseContain, ssrLooseEqual } from 'vue/server-renderer';
|
|
12
13
|
import { aV as DAQ_TEMPLATES } from '../_/nitro.mjs';
|
|
@@ -269,7 +270,7 @@ function createStore$1() {
|
|
|
269
270
|
store.error = "";
|
|
270
271
|
} catch (err) {
|
|
271
272
|
store.loaded = false;
|
|
272
|
-
store.error =
|
|
273
|
+
store.error = apiErrorMessage(err);
|
|
273
274
|
} finally {
|
|
274
275
|
store.loading = false;
|
|
275
276
|
}
|
|
@@ -599,8 +600,8 @@ var AssetLibrary_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
599
600
|
const deletingId = ref("");
|
|
600
601
|
const deleteMsg = ref("");
|
|
601
602
|
return (_ctx, _push, _parent, _attrs) => {
|
|
602
|
-
_push(`<aside${ssrRenderAttrs(mergeProps({ class: "asset-lib" }, _attrs))} data-v-
|
|
603
|
-
if (unref(dropActive)) _push(`<span class="drop-hint" data-v-
|
|
603
|
+
_push(`<aside${ssrRenderAttrs(mergeProps({ class: "asset-lib" }, _attrs))} data-v-effff4e2><div class="lib-head" data-v-effff4e2><span class="head-title" data-v-effff4e2>${ssrInterpolate(_ctx.$t("assetLibrary.k7la4x5001"))}</span><span class="head-hint" data-v-effff4e2>${ssrInterpolate(_ctx.$t("assetLibrary.kulif5b002"))}</span></div><div class="${ssrRenderClass([{ drop: unref(dropActive) }, "upload-box"])}" data-v-effff4e2><label class="upload-row" data-v-effff4e2><input type="file" accept=".glb,.gltf,.obj,.fbx" class="file-input" data-v-effff4e2><span class="upload-name" data-v-effff4e2><span class="i-tabler-plus upload-ico" data-v-effff4e2></span> ${ssrInterpolate(unref(uploadFile)?.name || _ctx.$t("assetLibrary.k1iiort6010"))}</span></label>`);
|
|
604
|
+
if (unref(dropActive)) _push(`<span class="drop-hint" data-v-effff4e2><span class="i-tabler-download" data-v-effff4e2></span> ${ssrInterpolate(_ctx.$t("assetLibrary.k5hg6jq003"))}</span>`);
|
|
604
605
|
else _push(`<!---->`);
|
|
605
606
|
if (unref(uploadFile)) {
|
|
606
607
|
_push(`<!--[-->`);
|
|
@@ -608,31 +609,31 @@ var AssetLibrary_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
608
609
|
"local-file": unref(uploadFile),
|
|
609
610
|
height: 92
|
|
610
611
|
}, null, _parent));
|
|
611
|
-
else _push(`<span class="upload-file-tag" data-v-
|
|
612
|
-
_push(`<div class="upload-actions" data-v-
|
|
613
|
-
} else if (unref(uploading)) _push(`<span class="mini-err" data-v-
|
|
612
|
+
else _push(`<span class="upload-file-tag" data-v-effff4e2>${ssrInterpolate(unref(uploadFile).name)} (${ssrInterpolate(_ctx.$t("assetLibrary.k1xz5wvk009"))}</span>`);
|
|
613
|
+
_push(`<div class="upload-actions" data-v-effff4e2><button class="upload-btn go"${ssrIncludeBooleanAttr(unref(uploading)) ? " disabled" : ""} data-v-effff4e2>${ssrInterpolate(unref(uploading) ? _ctx.$t("assetLibrary.k1ar7n8i005") : _ctx.$t("assetLibrary.k1hhga4h014"))}</button><button class="upload-btn"${ssrIncludeBooleanAttr(unref(uploading)) ? " disabled" : ""} data-v-effff4e2>${ssrInterpolate(_ctx.$t("assetLibrary.k3xdnn004"))}</button></div><!--]-->`);
|
|
614
|
+
} else if (unref(uploading)) _push(`<span class="mini-err" data-v-effff4e2>${ssrInterpolate(_ctx.$t("assetLibrary.k1ar7n8i005"))}</span>`);
|
|
614
615
|
else _push(`<!---->`);
|
|
615
|
-
if (unref(uploadError) && !unref(uploadFile)) _push(`<span class="mini-err" data-v-
|
|
616
|
+
if (unref(uploadError) && !unref(uploadFile)) _push(`<span class="mini-err" data-v-effff4e2>${ssrInterpolate(unref(uploadError))}</span>`);
|
|
616
617
|
else _push(`<!---->`);
|
|
617
|
-
_push(`</div><div class="lib-grid" data-v-
|
|
618
|
+
_push(`</div><div class="lib-grid" data-v-effff4e2><!--[-->`);
|
|
618
619
|
ssrRenderList(unref(deviceModels), (m) => {
|
|
619
|
-
_push(`<div class="model-card"${ssrRenderAttr("data-model-id", m.id)} draggable="true"${ssrRenderAttr("title", m.hint || _ctx.$t("assetLibrary.katn7lo015", { p0: m.name }))} data-v-
|
|
620
|
+
_push(`<div class="model-card"${ssrRenderAttr("data-model-id", m.id)} draggable="true"${ssrRenderAttr("title", m.hint || _ctx.$t("assetLibrary.katn7lo015", { p0: m.name }))} data-v-effff4e2>`);
|
|
620
621
|
if (isPreviewable(m.file)) _push(ssrRenderComponent(ModelPreview3D_default, {
|
|
621
622
|
file: m.file,
|
|
622
623
|
height: 76
|
|
623
624
|
}, null, _parent));
|
|
624
|
-
else _push(`<span class="model-img glb dev" data-v-
|
|
625
|
-
_push(`<span class="model-name" data-v-
|
|
626
|
-
if (m.file.includes("/assets/game/devices/")) _push(`<button class="card-btn danger"${ssrIncludeBooleanAttr(unref(deletingId) === m.id) ? " disabled" : ""} data-v-
|
|
625
|
+
else _push(`<span class="model-img glb dev" data-v-effff4e2><span class="i-tabler-cpu glb-cube" aria-hidden="true" data-v-effff4e2></span></span>`);
|
|
626
|
+
_push(`<span class="model-name" data-v-effff4e2>${ssrInterpolate(m.name)}</span><span class="model-badge" data-v-effff4e2>${ssrInterpolate(_ctx.$t("assetLibrary.k1n32zs0006"))}</span><div class="card-actions" data-v-effff4e2>`);
|
|
627
|
+
if (m.file.includes("/assets/game/devices/")) _push(`<button class="card-btn danger"${ssrIncludeBooleanAttr(unref(deletingId) === m.id) ? " disabled" : ""} data-v-effff4e2>${ssrInterpolate(unref(deletingId) === m.id ? "…" : _ctx.$t("assetLibrary.k498l011"))}</button>`);
|
|
627
628
|
else _push(`<!---->`);
|
|
628
629
|
_push(`</div></div>`);
|
|
629
630
|
});
|
|
630
631
|
_push(`<!--]-->`);
|
|
631
|
-
if (!unref(assets).loaded) _push(`<div class="lib-note" data-v-
|
|
632
|
-
else if (unref(deviceModels).length === 0) _push(`<div class="lib-note" data-v-
|
|
632
|
+
if (!unref(assets).loaded) _push(`<div class="lib-note" data-v-effff4e2><span class="loading-dot" data-v-effff4e2></span> ${ssrInterpolate(_ctx.$t("assetLibrary.k1kq2tmi007"))}</div>`);
|
|
633
|
+
else if (unref(deviceModels).length === 0) _push(`<div class="lib-note" data-v-effff4e2>${ssrInterpolate(_ctx.$t("assetLibrary.k15527e1008"))}</div>`);
|
|
633
634
|
else _push(`<!---->`);
|
|
634
635
|
_push(`</div>`);
|
|
635
|
-
if (unref(deleteMsg)) _push(`<span class="mini-msg" data-v-
|
|
636
|
+
if (unref(deleteMsg)) _push(`<span class="mini-msg" data-v-effff4e2>${ssrInterpolate(unref(deleteMsg))}</span>`);
|
|
636
637
|
else _push(`<!---->`);
|
|
637
638
|
_push(`</aside>`);
|
|
638
639
|
};
|
|
@@ -646,7 +647,7 @@ AssetLibrary_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) =>
|
|
|
646
647
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/AssetLibrary.vue");
|
|
647
648
|
return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
|
|
648
649
|
};
|
|
649
|
-
var AssetLibrary_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(AssetLibrary_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
650
|
+
var AssetLibrary_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(AssetLibrary_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-effff4e2"]]), { __name: "WorkshopAssetLibrary" });
|
|
650
651
|
//#endregion
|
|
651
652
|
//#region app/components/workshop/DeviceTwinPanel.vue?vue&type=script&setup=true&lang.ts
|
|
652
653
|
var DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
@@ -698,44 +699,44 @@ var DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
698
699
|
const dcwErrs = reactive({});
|
|
699
700
|
const dcwBusy = ref("");
|
|
700
701
|
return (_ctx, _push, _parent, _attrs) => {
|
|
701
|
-
_push(`<aside${ssrRenderAttrs(mergeProps({ class: "twin-panel" }, _attrs))} data-v-
|
|
702
|
-
if (unref(twins).error) _push(`<div class="twin-error" data-v-
|
|
702
|
+
_push(`<aside${ssrRenderAttrs(mergeProps({ class: "twin-panel" }, _attrs))} data-v-2eb2660e><div class="twin-head" data-v-2eb2660e><span class="twin-kicker" data-v-2eb2660e>${ssrInterpolate(_ctx.$t("deviceTwinPanel.k7k6evr002"))}</span><span class="twin-count" data-v-2eb2660e>${ssrInterpolate(unref(twins).twins.length)}</span></div>`);
|
|
703
|
+
if (unref(twins).error) _push(`<div class="twin-error" data-v-2eb2660e>${ssrInterpolate(unref(twins).error)}</div>`);
|
|
703
704
|
else _push(`<!---->`);
|
|
704
|
-
if (!unref(twins).loaded) _push(`<div class="twin-empty" data-v-
|
|
705
|
-
else if (unref(twins).twins.length === 0) _push(`<div class="twin-empty" data-v-
|
|
705
|
+
if (!unref(twins).loaded) _push(`<div class="twin-empty" data-v-2eb2660e>${ssrInterpolate(_ctx.$t("deviceTwinPanel.kkw7sn5003"))}</div>`);
|
|
706
|
+
else if (unref(twins).twins.length === 0) _push(`<div class="twin-empty" data-v-2eb2660e><div class="twin-empty-frame" data-v-2eb2660e><div class="twin-empty-title" data-v-2eb2660e>${ssrInterpolate(_ctx.$t("deviceTwinPanel.k13y2qmg004"))}</div><div class="twin-empty-sub" data-v-2eb2660e>${ssrInterpolate(_ctx.$t("deviceTwinPanel.kotf23l005"))}</div></div></div>`);
|
|
706
707
|
else {
|
|
707
|
-
_push(`<div class="twin-list" data-v-
|
|
708
|
+
_push(`<div class="twin-list" data-v-2eb2660e><!--[-->`);
|
|
708
709
|
ssrRenderList(unref(twins).twins, (t) => {
|
|
709
|
-
_push(`<button class="${ssrRenderClass([{ daq: isDaq(t) }, "twin-card"])}" type="button" data-v-
|
|
710
|
+
_push(`<button class="${ssrRenderClass([{ daq: isDaq(t) }, "twin-card"])}" type="button" data-v-2eb2660e><div class="twin-row" data-v-2eb2660e><span class="twin-model-tag" data-v-2eb2660e>${ssrInterpolate(modelTag(t.modelRef || t.name))}</span><div class="twin-idbar" data-v-2eb2660e><span class="twin-name" data-v-2eb2660e>${ssrInterpolate(t.name)}</span><span class="twin-code" data-v-2eb2660e>${ssrInterpolate(isDaq(t) ? "DAQ" : devNo(t.id))}</span></div><button class="${ssrRenderClass([{ armed: unref(armedId) === t.id }, "twin-del"])}"${ssrIncludeBooleanAttr(unref(busyId) === t.id) ? " disabled" : ""}${ssrRenderAttr("title", unref(armedId) === t.id ? "再次点击确认删除该设备实例" : "删除该设备实例")} data-v-2eb2660e>${ssrInterpolate(unref(armedId) === t.id ? _ctx.$t("deviceTwinPanel.k44653007") : "✕")}</button><span class="${ssrRenderClass([`s-${t.state}`, "twin-state"])}" data-v-2eb2660e><i class="twin-state-dot" style="${ssrRenderStyle({ background: stateColor[t.state] || "var(--hud-dim)" })}" data-v-2eb2660e></i> ${ssrInterpolate(stateLabel[t.state] || t.state)}</span></div>`);
|
|
710
711
|
if (Object.keys(t.telemetry).length) {
|
|
711
|
-
_push(`<div class="twin-tele" data-v-
|
|
712
|
+
_push(`<div class="twin-tele" data-v-2eb2660e><!--[-->`);
|
|
712
713
|
ssrRenderList(t.telemetry, (v, k) => {
|
|
713
|
-
_push(`<span class="tele-item" data-v-
|
|
714
|
+
_push(`<span class="tele-item" data-v-2eb2660e><em data-v-2eb2660e>${ssrInterpolate(k)}</em><b data-v-2eb2660e>${ssrInterpolate(fmt(v))}</b></span>`);
|
|
714
715
|
});
|
|
715
716
|
_push(`<!--]--></div>`);
|
|
716
717
|
} else _push(`<!---->`);
|
|
717
718
|
if (__props.daqLive?.[t.id]?.length) {
|
|
718
|
-
_push(`<div class="twin-daq" data-v-
|
|
719
|
+
_push(`<div class="twin-daq" data-v-2eb2660e><!--[-->`);
|
|
719
720
|
ssrRenderList(__props.daqLive[t.id], (d, i) => {
|
|
720
|
-
_push(`<span class="${ssrRenderClass([{ alarm: d.alarm }, "daq-item"])}" data-v-
|
|
721
|
+
_push(`<span class="${ssrRenderClass([{ alarm: d.alarm }, "daq-item"])}" data-v-2eb2660e><em data-v-2eb2660e>${ssrInterpolate(d.ch)}</em><b data-v-2eb2660e>${ssrInterpolate(d.value)}<i data-v-2eb2660e>${ssrInterpolate(d.unit)}</i></b></span>`);
|
|
721
722
|
});
|
|
722
723
|
_push(`<!--]--></div>`);
|
|
723
724
|
} else _push(`<!---->`);
|
|
724
725
|
if (__props.dcwLive?.[t.id]?.length) {
|
|
725
|
-
_push(`<div class="twin-dcw" data-v-
|
|
726
|
+
_push(`<div class="twin-dcw" data-v-2eb2660e><!--[-->`);
|
|
726
727
|
ssrRenderList(__props.dcwLive[t.id], (r) => {
|
|
727
|
-
_push(`<div class="dcw-item" data-v-
|
|
728
|
-
if (r.src === "recipe") _push(`<i class="dcw-src" data-v-
|
|
728
|
+
_push(`<div class="dcw-item" data-v-2eb2660e><div class="dcw-head" data-v-2eb2660e><em data-v-2eb2660e>${ssrInterpolate(r.ch)}`);
|
|
729
|
+
if (r.src === "recipe") _push(`<i class="dcw-src" data-v-2eb2660e>${ssrInterpolate(_ctx.$t("deviceTwinPanel.k48grv006"))}</i>`);
|
|
729
730
|
else _push(`<!---->`);
|
|
730
|
-
_push(`</em><b class="dcw-set" data-v-
|
|
731
|
+
_push(`</em><b class="dcw-set" data-v-2eb2660e>${ssrInterpolate(r.value != null ? r.value.toFixed(r.decimals) : "--")}<i data-v-2eb2660e>${ssrInterpolate(r.unit)}</i></b></div>`);
|
|
731
732
|
if (r.readValue != null || r.lastReadAt) {
|
|
732
|
-
_push(`<div class="dcw-act"${ssrRenderAttr("title", _ctx.$t("deviceTwinPanel.k9r7d4e030"))} data-v-
|
|
733
|
-
if (r.lastReadAt) _push(`<i class="dcw-act-at" data-v-
|
|
733
|
+
_push(`<div class="dcw-act"${ssrRenderAttr("title", _ctx.$t("deviceTwinPanel.k9r7d4e030"))} data-v-2eb2660e><em data-v-2eb2660e>ACT</em><b data-v-2eb2660e>${ssrInterpolate(r.readValue != null ? r.readValue.toFixed(r.decimals) : "--")}<i data-v-2eb2660e>${ssrInterpolate(r.unit)}</i></b>`);
|
|
734
|
+
if (r.lastReadAt) _push(`<i class="dcw-act-at" data-v-2eb2660e>${ssrInterpolate(r.lastReadAt.slice(11, 19))}</i>`);
|
|
734
735
|
else _push(`<!---->`);
|
|
735
736
|
_push(`</div>`);
|
|
736
737
|
} else _push(`<!---->`);
|
|
737
|
-
_push(`<div class="dcw-win" data-v-
|
|
738
|
-
if (unref(dcwErrs)[r.id]) _push(`<small class="dcw-err" data-v-
|
|
738
|
+
_push(`<div class="dcw-win" data-v-2eb2660e><span${ssrRenderAttr("title", r.src === "recipe" ? "当前运行配方工艺窗口" : "节点全局量程")} data-v-2eb2660e>${ssrInterpolate(dcwWinText(r))}</span></div><div class="dcw-ctrl" data-v-2eb2660e><input${ssrRenderAttr("value", unref(dcwDrafts)[r.id])} type="number" class="ctrl-input"${ssrRenderAttr("step", 10 ** -r.decimals)}${ssrRenderAttr("min", Number.isFinite(r.lo) ? r.lo : void 0)}${ssrRenderAttr("max", Number.isFinite(r.hi) ? r.hi : void 0)}${ssrRenderAttr("placeholder", `${Number.isFinite(r.lo) ? r.lo : ""} ~ ${Number.isFinite(r.hi) ? r.hi : ""}`)} data-v-2eb2660e><button class="ctrl-btn dcw-send"${ssrIncludeBooleanAttr(unref(dcwDrafts)[r.id] == null || unref(dcwDrafts)[r.id] === "" || unref(dcwBusy) === r.id) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("deviceTwinPanel.k1j04u8001"))} data-v-2eb2660e>${ssrInterpolate(unref(dcwBusy) === r.id ? "···" : "SET")}</button></div>`);
|
|
739
|
+
if (unref(dcwErrs)[r.id]) _push(`<small class="dcw-err" data-v-2eb2660e>${ssrInterpolate(unref(dcwErrs)[r.id])}</small>`);
|
|
739
740
|
else _push(`<!---->`);
|
|
740
741
|
_push(`</div>`);
|
|
741
742
|
});
|
|
@@ -745,7 +746,7 @@ var DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
745
746
|
});
|
|
746
747
|
_push(`<!--]--></div>`);
|
|
747
748
|
}
|
|
748
|
-
if (unref(ctrlMsg)) _push(`<span class="twin-err" data-v-
|
|
749
|
+
if (unref(ctrlMsg)) _push(`<span class="twin-err" data-v-2eb2660e>${ssrInterpolate(unref(ctrlMsg))}</span>`);
|
|
749
750
|
else _push(`<!---->`);
|
|
750
751
|
_push(`</aside>`);
|
|
751
752
|
};
|
|
@@ -759,7 +760,7 @@ DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx)
|
|
|
759
760
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/DeviceTwinPanel.vue");
|
|
760
761
|
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
|
|
761
762
|
};
|
|
762
|
-
var DeviceTwinPanel_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
763
|
+
var DeviceTwinPanel_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-2eb2660e"]]), { __name: "WorkshopDeviceTwinPanel" });
|
|
763
764
|
//#endregion
|
|
764
765
|
//#region app/composables/workshop/useSceneLayouts.ts
|
|
765
766
|
/**
|
|
@@ -855,7 +856,7 @@ function createStore() {
|
|
|
855
856
|
store.rev++;
|
|
856
857
|
return;
|
|
857
858
|
} catch (err) {
|
|
858
|
-
lastErr =
|
|
859
|
+
lastErr = apiErrorMessage(err);
|
|
859
860
|
if (attempt < 2) await sleep(400 * (attempt + 1));
|
|
860
861
|
}
|
|
861
862
|
store.loaded = false;
|
|
@@ -2295,82 +2296,82 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2295
2296
|
return (_ctx, _push, _parent, _attrs) => {
|
|
2296
2297
|
const _component_WorkshopAssetLibrary = AssetLibrary_default;
|
|
2297
2298
|
const _component_WorkshopDeviceTwinPanel = DeviceTwinPanel_default;
|
|
2298
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "town-view" }, _attrs))} data-v-
|
|
2299
|
-
if (unref(saveState) && unref(saveState).state !== "idle") _push(`<span class="${ssrRenderClass([`s-${unref(saveState).state}`, "save-chip"])}" data-v-
|
|
2299
|
+
_push(`<div${ssrRenderAttrs(mergeProps({ class: "town-view" }, _attrs))} data-v-33218c74><header class="topnav" data-v-33218c74><div class="brand" data-v-33218c74><svg class="brand-glyph" viewBox="0 0 32 32" fill="none" aria-hidden="true" data-v-33218c74><path d="M16 2.5 27.5 9v14L16 29.5 4.5 23V9L16 2.5Z" stroke="#35e0a0" stroke-width="1.6" data-v-33218c74></path><path d="M16 8.2 22.5 12v8L16 23.8 9.5 20v-8L16 8.2Z" stroke="#41c8f4" stroke-width="1.3" opacity=".85" data-v-33218c74></path><circle cx="16" cy="16" r="2.4" fill="#35e0a0" data-v-33218c74></circle><circle cx="25.5" cy="7.5" r="1.6" fill="#41c8f4" data-v-33218c74></circle></svg><div data-v-33218c74><div class="brand-name" data-v-33218c74> DIGITAL <em data-v-33218c74>TWIN</em></div><div class="brand-sub" data-v-33218c74> AGENTWORKSHOP · ${ssrInterpolate(_ctx.$t("townView.klyi8yg127"))}</div></div></div><nav class="nav-tabs"${ssrRenderAttr("aria-label", _ctx.$t("townView.k1c9jyta001"))} data-v-33218c74><div class="seg" data-v-33218c74><button class="${ssrRenderClass({ on: unref(mode) === "browse" })}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k48dwh027"))}</button><button class="${ssrRenderClass({ on: unref(mode) === "edit" })}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k45eb0028"))}</button></div><button class="nav-action"${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""}${ssrRenderAttr("title", unref(mode) === "edit" ? "把全部设备的位置/朝向/缩放写入数据库" : "运行模式只读")} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1b3bk8t029"))}</button>`);
|
|
2300
|
+
if (unref(saveState) && unref(saveState).state !== "idle") _push(`<span class="${ssrRenderClass([`s-${unref(saveState).state}`, "save-chip"])}" data-v-33218c74>${ssrInterpolate(unref(saveStateLabel))}</span>`);
|
|
2300
2301
|
else _push(`<!---->`);
|
|
2301
|
-
_push(`</nav><div class="nav-right" data-v-
|
|
2302
|
+
_push(`</nav><div class="nav-right" data-v-33218c74><span class="${ssrRenderClass([{ "nav-bell-warn": unref(activeAlarmCount) > 0 }, "nav-chip mono"])}"${ssrRenderAttr("title", _ctx.$t("townView.k1fsi3ir002"))} data-v-33218c74>◉ ${ssrInterpolate(unref(activeAlarmCount))}</span><span class="nav-chip mono" data-v-33218c74>${ssrInterpolate(unref(fps))} FPS</span><div class="avatar-chip"${ssrRenderAttr("title", _ctx.$t("townView.k1demf38003"))} data-v-33218c74><div class="avatar-fallback" data-v-33218c74>${ssrInterpolate((unref(userStore).user?.name ?? "OP").slice(0, 2).toUpperCase())}</div><span data-v-33218c74>${ssrInterpolate(unref(userStore).user?.name || _ctx.$t("townView.k1pub99m139"))}</span></div></div></header><div class="app" data-v-33218c74><aside class="rail rail-left" data-v-33218c74><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1k75lzy030"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(deviceModels).length)}</span></div>`);
|
|
2302
2303
|
_push(ssrRenderComponent(_component_WorkshopAssetLibrary, { class: "lib-embed" }, null, _parent));
|
|
2303
|
-
_push(`</section><section class="panel" data-v-
|
|
2304
|
+
_push(`</section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2gwyas031"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(daqTwins).length)}</span></div><div class="daq-ctrl" data-v-33218c74><button class="${ssrRenderClass([{ on: unref(daq).controller.running }, "daq-ctl-btn"])}"${ssrRenderAttr("title", unref(daq).controller.running ? "暂停全部采集:停止所有启用节点的采样(节点级启停独立)" : "恢复全部采集:仅启用节点恢复采集(手动停用的保持停用)")} data-v-33218c74>${ssrInterpolate(unref(daq).controller.running ? _ctx.$t("townView.k3w3j8f140") : _ctx.$t("townView.k3n93ed175"))}</button><label class="daq-ctl-cycle mono"${ssrRenderAttr("title", _ctx.$t("townView.khzlyf5004"))} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3xg3w032"))} <input type="number" min="200" max="60000" step="100"${ssrRenderAttr("value", unref(daq).controller.defaultIntervalMs)} data-v-33218c74>ms </label></div><div class="daq-list" data-v-33218c74><!--[-->`);
|
|
2304
2305
|
ssrRenderList(unref(daqTemplates), (tpl) => {
|
|
2305
|
-
_push(`<div class="daq-group" data-v-
|
|
2306
|
+
_push(`<div class="daq-group" data-v-33218c74><div class="${ssrRenderClass([{ open: !!unref(treeOpen)[`daq:${tpl.id}`] }, "daq-card tpl"])}" role="button" tabindex="0"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0001", {
|
|
2306
2307
|
p0: tpl.name,
|
|
2307
2308
|
p1: tpl.ch,
|
|
2308
2309
|
p2: tpl.min,
|
|
2309
2310
|
p3: tpl.max,
|
|
2310
2311
|
p4: tpl.unit
|
|
2311
|
-
}))} data-v-
|
|
2312
|
-
if (unref(mode) === "edit") _push(`<button class="daq-add"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0002", { p0: tpl.name }))} data-v-
|
|
2312
|
+
}))} data-v-33218c74><span class="daq-caret" data-v-33218c74>▶</span><span class="daq-ico" data-v-33218c74><svg class="daq-svg" viewBox="0 0 24 24" data-v-33218c74>${daqIcon(tpl.icon) ?? ""}</svg></span><div class="daq-meta" data-v-33218c74><span class="daq-name" data-v-33218c74>${ssrInterpolate(tpl.name)}</span><span class="daq-code" data-v-33218c74>${ssrInterpolate(tpl.code)}</span></div>`);
|
|
2313
|
+
if (unref(mode) === "edit") _push(`<button class="daq-add"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0002", { p0: tpl.name }))} data-v-33218c74> + </button>`);
|
|
2313
2314
|
else _push(`<!---->`);
|
|
2314
|
-
_push(`<span class="daq-count" data-v-
|
|
2315
|
+
_push(`<span class="daq-count" data-v-33218c74>×${ssrInterpolate(unref(daqNodesByTpl).get(tpl.id)?.length ?? 0)}</span></div>`);
|
|
2315
2316
|
if (unref(treeOpen)[`daq:${tpl.id}`]) {
|
|
2316
|
-
_push(`<div class="daq-children" data-v-
|
|
2317
|
+
_push(`<div class="daq-children" data-v-33218c74><!--[-->`);
|
|
2317
2318
|
ssrRenderList(unref(daqNodesByTpl).get(tpl.id) ?? [], (n) => {
|
|
2318
|
-
_push(`<div class="${ssrRenderClass([{ placed: typeof n.posX === "number" }, "daq-node"])}"${ssrRenderAttr("draggable", unref(mode) === "edit")}${ssrRenderAttr("title", typeof n.posX === "number" ? _ctx.$t("townView.k2tplxp0005") : _ctx.$t("townView.k2tplxp0006"))} data-v-
|
|
2319
|
-
if (typeof n.posX === "number") _push(`<span class="scene-cur" data-v-
|
|
2319
|
+
_push(`<div class="${ssrRenderClass([{ placed: typeof n.posX === "number" }, "daq-node"])}"${ssrRenderAttr("draggable", unref(mode) === "edit")}${ssrRenderAttr("title", typeof n.posX === "number" ? _ctx.$t("townView.k2tplxp0005") : _ctx.$t("townView.k2tplxp0006"))} data-v-33218c74><span class="${ssrRenderClass([daqLeafState(n), "node-dot"])}" data-v-33218c74></span><div class="daq-meta" data-v-33218c74><span class="daq-name" data-v-33218c74>${ssrInterpolate(n.name)}</span><span class="daq-node-sub" data-v-33218c74><span class="node-val mono" data-v-33218c74>${ssrInterpolate(n.value != null ? `${n.value.toFixed(tpl.decimals)} ${tpl.unit}` : "--")}</span><span class="node-dev" data-v-33218c74>${ssrInterpolate(n.deviceBindingId ? unref(deviceTwins).byId(n.deviceBindingId)?.name ?? _ctx.$t("townView.k3own4q148") : _ctx.$t("townView.k3own4q148"))}</span></span></div>`);
|
|
2320
|
+
if (typeof n.posX === "number") _push(`<span class="scene-cur" data-v-33218c74>✓</span>`);
|
|
2320
2321
|
else _push(`<!---->`);
|
|
2321
2322
|
_push(`</div>`);
|
|
2322
2323
|
});
|
|
2323
2324
|
_push(`<!--]-->`);
|
|
2324
|
-
if (!unref(daqNodesByTpl).get(tpl.id)?.length) _push(`<div class="daq-empty-hint" data-v-
|
|
2325
|
+
if (!unref(daqNodesByTpl).get(tpl.id)?.length) _push(`<div class="daq-empty-hint" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2tplxp0003"))}</div>`);
|
|
2325
2326
|
else _push(`<!---->`);
|
|
2326
2327
|
_push(`</div>`);
|
|
2327
2328
|
} else _push(`<!---->`);
|
|
2328
2329
|
_push(`</div>`);
|
|
2329
2330
|
});
|
|
2330
|
-
_push(`<!--]--></div></section><section class="panel" data-v-
|
|
2331
|
+
_push(`<!--]--></div></section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.km7ayhi033"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(dcw).nodes.length)}</span></div><div class="daq-list" data-v-33218c74><!--[-->`);
|
|
2331
2332
|
ssrRenderList(unref(dcwTemplates), (tpl) => {
|
|
2332
|
-
_push(`<div class="daq-group" data-v-
|
|
2333
|
+
_push(`<div class="daq-group" data-v-33218c74><div class="${ssrRenderClass([{ open: !!unref(treeOpen)[`dcw:${tpl.id}`] }, "daq-card tpl"])}" role="button" tabindex="0"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0001", {
|
|
2333
2334
|
p0: tpl.name,
|
|
2334
2335
|
p1: tpl.ch,
|
|
2335
2336
|
p2: tpl.min,
|
|
2336
2337
|
p3: tpl.max,
|
|
2337
2338
|
p4: tpl.unit
|
|
2338
|
-
}))} data-v-
|
|
2339
|
-
if (unref(mode) === "edit") _push(`<button class="daq-add"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0002", { p0: tpl.name }))} data-v-
|
|
2339
|
+
}))} data-v-33218c74><span class="daq-caret" data-v-33218c74>▶</span><span class="daq-ico" data-v-33218c74><svg class="daq-svg" viewBox="0 0 24 24" data-v-33218c74>${daqIcon(tpl.icon) ?? ""}</svg></span><div class="daq-meta" data-v-33218c74><span class="daq-name" data-v-33218c74>${ssrInterpolate(tpl.name)}</span><span class="daq-code" data-v-33218c74>${ssrInterpolate(tpl.code)}</span></div>`);
|
|
2340
|
+
if (unref(mode) === "edit") _push(`<button class="daq-add"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0002", { p0: tpl.name }))} data-v-33218c74> + </button>`);
|
|
2340
2341
|
else _push(`<!---->`);
|
|
2341
|
-
_push(`<span class="daq-count" data-v-
|
|
2342
|
+
_push(`<span class="daq-count" data-v-33218c74>×${ssrInterpolate(unref(dcwNodesByTpl).get(tpl.id)?.length ?? 0)}</span></div>`);
|
|
2342
2343
|
if (unref(treeOpen)[`dcw:${tpl.id}`]) {
|
|
2343
|
-
_push(`<div class="daq-children" data-v-
|
|
2344
|
+
_push(`<div class="daq-children" data-v-33218c74><!--[-->`);
|
|
2344
2345
|
ssrRenderList(unref(dcwNodesByTpl).get(tpl.id) ?? [], (n) => {
|
|
2345
|
-
_push(`<div class="${ssrRenderClass([{ placed: typeof n.posX === "number" }, "daq-node"])}"${ssrRenderAttr("draggable", unref(mode) === "edit")}${ssrRenderAttr("title", typeof n.posX === "number" ? _ctx.$t("townView.k2tplxp0005") : _ctx.$t("townView.k2tplxp0006"))} data-v-
|
|
2346
|
-
if (typeof n.posX === "number") _push(`<span class="scene-cur" data-v-
|
|
2346
|
+
_push(`<div class="${ssrRenderClass([{ placed: typeof n.posX === "number" }, "daq-node"])}"${ssrRenderAttr("draggable", unref(mode) === "edit")}${ssrRenderAttr("title", typeof n.posX === "number" ? _ctx.$t("townView.k2tplxp0005") : _ctx.$t("townView.k2tplxp0006"))} data-v-33218c74><span class="${ssrRenderClass([dcwLeafState(n), "node-dot"])}" data-v-33218c74></span><div class="daq-meta" data-v-33218c74><span class="daq-name" data-v-33218c74>${ssrInterpolate(n.name)}</span><span class="daq-node-sub" data-v-33218c74><span class="node-val mono" data-v-33218c74>${ssrInterpolate(n.value != null ? `${n.value.toFixed(tpl.decimals)} ${tpl.unit}` : "--")}</span><span class="node-dev" data-v-33218c74>${ssrInterpolate(n.deviceBindingId ? unref(deviceTwins).byId(n.deviceBindingId)?.name ?? _ctx.$t("townView.k3own4q148") : _ctx.$t("townView.k3own4q148"))}</span></span></div>`);
|
|
2347
|
+
if (typeof n.posX === "number") _push(`<span class="scene-cur" data-v-33218c74>✓</span>`);
|
|
2347
2348
|
else _push(`<!---->`);
|
|
2348
2349
|
_push(`</div>`);
|
|
2349
2350
|
});
|
|
2350
2351
|
_push(`<!--]-->`);
|
|
2351
|
-
if (!unref(dcwNodesByTpl).get(tpl.id)?.length) _push(`<div class="daq-empty-hint" data-v-
|
|
2352
|
+
if (!unref(dcwNodesByTpl).get(tpl.id)?.length) _push(`<div class="daq-empty-hint" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2tplxp0003"))}</div>`);
|
|
2352
2353
|
else _push(`<!---->`);
|
|
2353
2354
|
_push(`</div>`);
|
|
2354
2355
|
} else _push(`<!---->`);
|
|
2355
2356
|
_push(`</div>`);
|
|
2356
2357
|
});
|
|
2357
|
-
_push(`<!--]--></div></section><section class="panel" data-v-
|
|
2358
|
+
_push(`<!--]--></div></section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1c9n911034"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(dockChannels).length)}</span></div><div class="scene-list" data-v-33218c74><!--[-->`);
|
|
2358
2359
|
ssrRenderList(unref(dockChannels), (ch) => {
|
|
2359
|
-
_push(`<div class="${ssrRenderClass([{ active: ch.placed }, "scene-row"])}"${ssrRenderAttr("draggable", !ch.placed && unref(mode) === "edit")}${ssrRenderAttr("data-channel-id", ch.channelId)}${ssrRenderAttr("title", ch.placed ? "已在场景中,点击定位" : "拖拽到场景放置")} data-v-
|
|
2360
|
-
if (ch.placed) _push(`<span class="scene-cur" data-v-
|
|
2361
|
-
else _push(`<span class="scene-add" data-v-
|
|
2360
|
+
_push(`<div class="${ssrRenderClass([{ active: ch.placed }, "scene-row"])}"${ssrRenderAttr("draggable", !ch.placed && unref(mode) === "edit")}${ssrRenderAttr("data-channel-id", ch.channelId)}${ssrRenderAttr("title", ch.placed ? "已在场景中,点击定位" : "拖拽到场景放置")} data-v-33218c74><span class="scene-ico" style="${ssrRenderStyle({ "--ch": ch.color })}" data-v-33218c74></span><div class="scene-meta-wrap" data-v-33218c74><span class="scene-name" data-v-33218c74>${ssrInterpolate(ch.name)}</span><span class="scene-meta" data-v-33218c74>${ssrInterpolate(ch.agentCount)} ${ssrInterpolate(_ctx.$t("townView.k1brss7t128"))} ${ssrInterpolate(ch.placed ? _ctx.$t("townView.k3n94g3141") : _ctx.$t("townView.k3os7i3176"))}</span></div>`);
|
|
2361
|
+
if (ch.placed) _push(`<span class="scene-cur" data-v-33218c74>✓</span>`);
|
|
2362
|
+
else _push(`<span class="scene-add" data-v-33218c74>+</span>`);
|
|
2362
2363
|
_push(`</div>`);
|
|
2363
2364
|
});
|
|
2364
2365
|
_push(`<!--]-->`);
|
|
2365
|
-
if (unref(dockHint)) _push(`<div class="scene-hint" data-v-
|
|
2366
|
+
if (unref(dockHint)) _push(`<div class="scene-hint" data-v-33218c74>${ssrInterpolate(unref(dockHint))}</div>`);
|
|
2366
2367
|
else _push(`<!---->`);
|
|
2367
|
-
_push(`</div></section></aside><main class="stage-col" data-v-
|
|
2368
|
+
_push(`</div></section></aside><main class="stage-col" data-v-33218c74><div class="stage" data-v-33218c74><div id="town-host" class="town-host" data-v-33218c74></div><div class="stage-vignette" data-v-33218c74></div><div class="stage-top" data-v-33218c74><div class="vp-title" data-v-33218c74><h2 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1b0z4vr035"))}</h2><span class="vp-id" data-v-33218c74>CH · ${ssrInterpolate(unref(activeChannelName) || _ctx.$t("townView.k3lkuz3142"))}</span></div><div class="vp-tools" data-v-33218c74><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.k18d6wnb005"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><circle cx="12" cy="12" r="7" data-v-33218c74></circle><path d="M12 2v4M12 18v4M2 12h4M18 12h4" data-v-33218c74></path></svg></button><button class="${ssrRenderClass([{ on: unref(orbitOn) }, "vp-tool"])}"${ssrRenderAttr("title", _ctx.$t("townView.k1io51dn006"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><circle cx="12" cy="12" r="3.2" data-v-33218c74></circle><path d="M20.5 9a10 10 0 0 1 .3 4.5M3.5 15a10 10 0 0 1-.3-4.5" data-v-33218c74></path></svg></button><button class="${ssrRenderClass([{ on: unref(showCallouts) }, "vp-tool"])}"${ssrRenderAttr("title", _ctx.$t("townView.k1sgjlq8007"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M4 8h12l4 4-4 4H4z" data-v-33218c74></path><circle cx="8.5" cy="12" r="1.4" data-v-33218c74></circle></svg></button><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.k3wuf0008"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5" data-v-33218c74></path></svg></button></div></div><div class="angle-chip" data-v-33218c74><select${ssrRenderAttr("value", unref(viewPreset))}${ssrRenderAttr("aria-label", _ctx.$t("townView.k1k4j5i7009"))} data-v-33218c74><option value="std" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kv72860036"))}</option><option value="top" data-v-33218c74> 俯视 · TOP </option><option value="front" data-v-33218c74> 前视 · FRONT </option><option value="side" data-v-33218c74> 侧视 · SIDE </option></select></div>`);
|
|
2368
2369
|
if (unref(showCallouts)) {
|
|
2369
|
-
_push(`<!--[--><svg class="leaders" data-v-
|
|
2370
|
+
_push(`<!--[--><svg class="leaders" data-v-33218c74><!--[-->`);
|
|
2370
2371
|
ssrRenderList(unref(callouts), (c) => {
|
|
2371
|
-
_push(`<g class="${ssrRenderClass({ near: c.near })}" style="${ssrRenderStyle(c.leader ? null : { display: "none" })}" data-v-
|
|
2372
|
+
_push(`<g class="${ssrRenderClass({ near: c.near })}" style="${ssrRenderStyle(c.leader ? null : { display: "none" })}" data-v-33218c74><path${ssrRenderAttr("d", `M ${c.x} ${c.y - 8} L ${c.x} ${c.y - 2}`)}${ssrRenderAttr("stroke", c.warn ? "rgba(246,196,83,.8)" : "rgba(65,200,244,.55)")} stroke-width="1.3" fill="none" data-v-33218c74></path><circle${ssrRenderAttr("cx", c.x)}${ssrRenderAttr("cy", c.y)} r="2.6"${ssrRenderAttr("fill", c.warn ? "#f6c453" : "#41c8f4")} data-v-33218c74></circle></g>`);
|
|
2372
2373
|
});
|
|
2373
|
-
_push(`<!--]--></svg><div class="callout-layer" data-v-
|
|
2374
|
+
_push(`<!--]--></svg><div class="callout-layer" data-v-33218c74><!--[-->`);
|
|
2374
2375
|
ssrRenderList(unref(callouts), (c) => {
|
|
2375
2376
|
_push(`<div class="${ssrRenderClass([{
|
|
2376
2377
|
warn: c.warn,
|
|
@@ -2378,12 +2379,12 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2378
2379
|
}, "callout"])}" style="${ssrRenderStyle({
|
|
2379
2380
|
left: c.x + "px",
|
|
2380
2381
|
top: c.y + "px"
|
|
2381
|
-
})}"${ssrRenderAttr("title", _ctx.$t("townView.k1ejxiwp010"))} data-v-
|
|
2382
|
+
})}"${ssrRenderAttr("title", _ctx.$t("townView.k1ejxiwp010"))} data-v-33218c74><div class="co-label" data-v-33218c74><span class="co-dot" data-v-33218c74></span>${ssrInterpolate(c.label)}</div><div class="co-val" data-v-33218c74>${ssrInterpolate(c.value)}<small data-v-33218c74>${ssrInterpolate(c.unit)}</small></div><div class="co-range" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1faqmjb073"))} ${ssrInterpolate(c.lo.toFixed(Math.min(2, (String(c.lo).split(".")[1] ?? "").length + 1)))} – ${ssrInterpolate(c.hi.toFixed(Math.min(2, (String(c.hi).split(".")[1] ?? "").length + 1)))}</div></div>`);
|
|
2382
2383
|
});
|
|
2383
2384
|
_push(`<!--]--></div><!--]-->`);
|
|
2384
2385
|
} else _push(`<!---->`);
|
|
2385
|
-
_push(`<div class="kpi-strip" data-v-
|
|
2386
|
-
if (unref(sceneEmpty)) _push(`<div class="empty-hint" data-v-
|
|
2386
|
+
_push(`<div class="kpi-strip" data-v-33218c74><div class="kpi" data-v-33218c74><span class="kpi-ico c1" data-v-33218c74><svg class="kpi-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M4 8.5 12 4l8 4.5v7L12 20l-8-4.5v-7Z" data-v-33218c74></path><path d="M4 8.5l8 4.5 8-4.5M12 13v7" data-v-33218c74></path></svg></span><div class="kpi-meta" data-v-33218c74><div class="kpi-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1k6xemt037"))}</div><div class="kpi-val" data-v-33218c74>${ssrInterpolate(unref(deviceCount))}<small data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k49lh038"))}</small></div></div></div><div class="kpi" data-v-33218c74><span class="kpi-ico c2" data-v-33218c74><svg class="kpi-svg" viewBox="0 0 24 24" data-v-33218c74><path d="m5 12.5 4.5 4.5L19 7.5" data-v-33218c74></path></svg></span><div class="kpi-meta" data-v-33218c74><div class="kpi-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1l1a9t2039"))}</div><div class="kpi-val" data-v-33218c74>${ssrInterpolate(unref(runningCount))}<small data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k49lh038"))}</small></div></div></div><div class="kpi" data-v-33218c74><span class="kpi-ico c3" data-v-33218c74><svg class="kpi-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M12 3 22 20H2L12 3Z" data-v-33218c74></path><path d="M12 10v4M12 17v.2" data-v-33218c74></path></svg></span><div class="kpi-meta" data-v-33218c74><div class="kpi-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1fsi3ir002"))}</div><div class="kpi-val" data-v-33218c74>${ssrInterpolate(unref(activeAlarmCount))}<small data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k4dfq040"))}</small></div></div></div><div class="kpi" data-v-33218c74><span class="kpi-ico c4" data-v-33218c74><svg class="kpi-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M9.5 14.5 14.5 9.5" data-v-33218c74></path><path d="M11 6.5 12.8 4.7a4 4 0 0 1 5.6 5.6L16.5 12" data-v-33218c74></path><path d="m13 17.5-1.8 1.8a4 4 0 0 1-5.6-5.6L7.5 12" data-v-33218c74></path></svg></span><div class="kpi-meta" data-v-33218c74><div class="kpi-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1emsai1041"))}</div><div class="kpi-val" data-v-33218c74>${ssrInterpolate(unref(daqTwins).length)}<small data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k4l1w042"))}</small></div></div></div><div class="kpi" data-v-33218c74><span class="kpi-ico c5" data-v-33218c74><svg class="kpi-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M5 19a9 9 0 1 1 14 0" data-v-33218c74></path><path d="M12 13l3.5-3.5" data-v-33218c74></path><circle cx="12" cy="13" r="1.4" data-v-33218c74></circle></svg></span><div class="kpi-meta" data-v-33218c74><div class="kpi-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kbrxdq1043"))}</div><div class="kpi-val" data-v-33218c74>${ssrInterpolate(unref(healthPct))}<small data-v-33218c74>%</small></div></div></div></div>`);
|
|
2387
|
+
if (unref(sceneEmpty)) _push(`<div class="empty-hint" data-v-33218c74><b data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3rwxjc044"))}</b><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1sa1eaj045"))}</span></div>`);
|
|
2387
2388
|
else _push(`<!---->`);
|
|
2388
2389
|
if (unref(selectedChannel) && unref(boundaryDraft)) {
|
|
2389
2390
|
_push(`<div class="boundary-panel drag-panel" style="${ssrRenderStyle(unref(panelPos).boundary ? {
|
|
@@ -2391,111 +2392,111 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2391
2392
|
top: unref(panelPos).boundary.y + "px",
|
|
2392
2393
|
bottom: "auto",
|
|
2393
2394
|
transform: "none"
|
|
2394
|
-
} : void 0)}" data-v-
|
|
2395
|
-
if (unref(channelPanelTab) === "boundary") _push(`<!--[--><div class="bp-row" data-v-
|
|
2395
|
+
} : void 0)}" data-v-33218c74><div class="bp-title drag-grip"${ssrRenderAttr("title", _ctx.$t("townView.k1d0rl5z011"))} data-v-33218c74><span class="bp-name" data-v-33218c74>${ssrInterpolate(unref(entities).channels[unref(selectedChannel)]?.name ?? unref(selectedChannel).slice(0, 8))}</span><span class="bp-sub" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1mehlxs046"))}</span><div class="bp-tabs" data-v-33218c74><button class="${ssrRenderClass([{ on: unref(channelPanelTab) === "boundary" }, "bp-tab"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k489ka047"))}</button><button class="${ssrRenderClass([{ on: unref(channelPanelTab) === "members" }, "bp-tab"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3ztf1129"))} ${ssrInterpolate(unref(channelMembers).length)}</button></div></div>`);
|
|
2396
|
+
if (unref(channelPanelTab) === "boundary") _push(`<!--[--><div class="bp-row" data-v-33218c74><span class="bp-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3zhy5048"))}</span><div class="bp-seg" data-v-33218c74><button class="${ssrRenderClass([{ on: unref(boundaryDraft).shape === "ellipse" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k414bc049"))}</button><button class="${ssrRenderClass([{ on: unref(boundaryDraft).shape === "rect" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k43u0g050"))}</button></div></div><div class="bp-row" data-v-33218c74><span class="bp-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1fbz4s1051"))}</span><input${ssrRenderAttr("value", unref(boundaryDraft).radiusX)} class="bp-range" type="range" min="80" max="4000" step="8" style="${ssrRenderStyle({ "--fill": sliderPct(unref(boundaryDraft).radiusX, 80, 4e3) })}" data-v-33218c74><span class="bp-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(boundaryDraft).radiusX))}</span></div><div class="bp-row" data-v-33218c74><span class="bp-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1ighwgs052"))}</span><input${ssrRenderAttr("value", unref(boundaryDraft).radiusZ)} class="bp-range" type="range" min="60" max="4000" step="8" style="${ssrRenderStyle({ "--fill": sliderPct(unref(boundaryDraft).radiusZ, 60, 4e3) })}" data-v-33218c74><span class="bp-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(boundaryDraft).radiusZ))}</span></div><div class="bp-row" data-v-33218c74><span class="bp-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k40qab053"))}</span><input${ssrRenderAttr("value", unref(boundaryDraft).rotationY)} class="bp-range" type="range" min="0" max="360" step="5" style="${ssrRenderStyle({ "--fill": sliderPct(unref(boundaryDraft).rotationY ?? 0, 0, 360) })}" data-v-33218c74><span class="bp-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(boundaryDraft).rotationY ?? 0))}°</span></div><!--]-->`);
|
|
2396
2397
|
else {
|
|
2397
|
-
_push(`<!--[--><div class="bp-hint" data-v-
|
|
2398
|
+
_push(`<!--[--><div class="bp-hint" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kimxls2054"))}</div><div class="member-list" data-v-33218c74><!--[-->`);
|
|
2398
2399
|
ssrRenderList(unref(channelMembers), (m) => {
|
|
2399
|
-
_push(`<div class="member-row" data-v-
|
|
2400
|
+
_push(`<div class="member-row" data-v-33218c74><span class="member-ava" style="${ssrRenderStyle({ color: hashColor(unref(selectedChannel)) })}" data-v-33218c74>${ssrInterpolate(m.name.charAt(0).toUpperCase())}</span><div class="member-info" data-v-33218c74><span class="member-name" data-v-33218c74>${ssrInterpolate(m.name)}</span><span class="${ssrRenderClass([m.role === "lead" ? "r-lead" : "r-worker", "member-role"])}" data-v-33218c74>${ssrInterpolate(m.role === "lead" ? "Leader" : "Worker")}</span></div><select class="member-select"${ssrRenderAttr("value", (m.modelRef ?? "") || "hero-3d")} data-v-33218c74><!--[-->`);
|
|
2400
2401
|
ssrRenderList(unref(agentModels), (model) => {
|
|
2401
|
-
_push(`<option${ssrRenderAttr("value", model.id)} data-v-
|
|
2402
|
+
_push(`<option${ssrRenderAttr("value", model.id)} data-v-33218c74>${ssrInterpolate(model.name)}</option>`);
|
|
2402
2403
|
});
|
|
2403
2404
|
_push(`<!--]--></select></div>`);
|
|
2404
2405
|
});
|
|
2405
2406
|
_push(`<!--]-->`);
|
|
2406
|
-
if (unref(channelMembers).length === 0) _push(`<div class="bp-hint" data-v-
|
|
2407
|
+
if (unref(channelMembers).length === 0) _push(`<div class="bp-hint" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k419rbs055"))}</div>`);
|
|
2407
2408
|
else _push(`<!---->`);
|
|
2408
2409
|
_push(`</div><!--]-->`);
|
|
2409
2410
|
}
|
|
2410
|
-
_push(`<div class="bp-actions" data-v-
|
|
2411
|
-
if (unref(channelPanelTab) === "boundary") _push(`<button class="bp-btn save" data-v-
|
|
2411
|
+
_push(`<div class="bp-actions" data-v-33218c74>`);
|
|
2412
|
+
if (unref(channelPanelTab) === "boundary") _push(`<button class="bp-btn save" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1b3kp8f056"))}</button>`);
|
|
2412
2413
|
else _push(`<!---->`);
|
|
2413
|
-
_push(`<button class="bp-btn danger" data-v-
|
|
2414
|
+
_push(`<button class="bp-btn danger" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1hs45qg057"))}</button><button class="bp-btn" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3x62t058"))}</button></div></div>`);
|
|
2414
2415
|
} else _push(`<!---->`);
|
|
2415
|
-
if (unref(lastDropText)) _push(`<div class="drop-chip" data-v-
|
|
2416
|
+
if (unref(lastDropText)) _push(`<div class="drop-chip" data-v-33218c74>${ssrInterpolate(unref(lastDropText))}</div>`);
|
|
2416
2417
|
else _push(`<!---->`);
|
|
2417
|
-
if (unref(errorText)) _push(`<div class="error-chip" data-v-
|
|
2418
|
+
if (unref(errorText)) _push(`<div class="error-chip" data-v-33218c74>${ssrInterpolate(unref(errorText))}</div>`);
|
|
2418
2419
|
else _push(`<!---->`);
|
|
2419
|
-
if (!unref(ready)) _push(`<div data-hud="town-loading" class="loading-mask" data-v-
|
|
2420
|
+
if (!unref(ready)) _push(`<div data-hud="town-loading" class="loading-mask" data-v-33218c74><div class="loading-spinner" data-v-33218c74></div><span class="loading-text" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kvjdqfg059"))}</span></div>`);
|
|
2420
2421
|
else _push(`<!---->`);
|
|
2421
|
-
_push(`</div><div class="dock" data-v-
|
|
2422
|
+
_push(`</div><div class="dock" data-v-33218c74><section class="dock-card" data-v-33218c74><div class="dock-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1c9iq23060"))}</h3><span class="dock-mode" data-v-33218c74>${ssrInterpolate(unref(mode) === "edit" ? _ctx.$t("townView.k1iipfcs143") : _ctx.$t("townView.k1l147w1177"))}</span></div><p class="ctl-sec" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.secRender"))}</p><div class="ctl-row" data-v-33218c74><span class="ctl-name"${ssrRenderAttr("title", _ctx.$t("townView.qualityTip"))} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.qualityLabel"))}</span><div class="fps-seg" data-v-33218c74><!--[-->`);
|
|
2422
2423
|
ssrRenderList(QUALITY_OPTIONS, (o) => {
|
|
2423
|
-
_push(`<button class="${ssrRenderClass({ on: unref(qualityMode) === o.v })}" data-v-
|
|
2424
|
+
_push(`<button class="${ssrRenderClass({ on: unref(qualityMode) === o.v })}" data-v-33218c74>${ssrInterpolate(_ctx.$t(o.label))}</button>`);
|
|
2424
2425
|
});
|
|
2425
|
-
_push(`<!--]--></div><span class="ctl-val" data-v-
|
|
2426
|
+
_push(`<!--]--></div><span class="ctl-val" data-v-33218c74></span></div><div class="ctl-row" data-v-33218c74><span class="ctl-name"${ssrRenderAttr("title", _ctx.$t("townView.fpsCapTip"))} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.fpsCapLabel"))}</span><div class="fps-seg" data-v-33218c74><!--[-->`);
|
|
2426
2427
|
ssrRenderList(FPS_OPTIONS, (o) => {
|
|
2427
|
-
_push(`<button class="${ssrRenderClass({ on: unref(fpsCap) === o.v })}" data-v-
|
|
2428
|
+
_push(`<button class="${ssrRenderClass({ on: unref(fpsCap) === o.v })}" data-v-33218c74>${ssrInterpolate(o.label)}</button>`);
|
|
2428
2429
|
});
|
|
2429
|
-
_push(`<!--]--></div><span class="ctl-val" data-v-
|
|
2430
|
+
_push(`<!--]--></div><span class="ctl-val" data-v-33218c74></span></div><p class="ctl-sec" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.secEnv"))}</p><div class="ctl-row" data-v-33218c74><span class="ctl-name" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1gizopz061"))}</span><input class="ctl-range" type="range" min="30" max="220"${ssrRenderAttr("value", Math.round(unref(exposure) * 100))} style="${ssrRenderStyle({ "--fill": sliderPct(Math.round(unref(exposure) * 100), 30, 220) })}" data-v-33218c74><span class="ctl-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(exposure) * 100))}%</span></div><div class="ctl-row" data-v-33218c74><span class="ctl-name" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1bcpqto062"))}</span><input class="ctl-range" type="range" min="10" max="100"${ssrRenderAttr("value", Math.round(unref(tintOpacity) * 100))} style="${ssrRenderStyle({ "--fill": sliderPct(Math.round(unref(tintOpacity) * 100), 10, 100) })}" data-v-33218c74><span class="ctl-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(tintOpacity) * 100))}%</span></div><div class="ctl-row" data-v-33218c74><span class="ctl-name" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1bztha1063"))}</span><input class="ctl-range" type="range" min="60" max="120"${ssrRenderAttr("value", unref(threshPct))} style="${ssrRenderStyle({ "--fill": sliderPct(unref(threshPct), 60, 120) })}" data-v-33218c74><span class="ctl-val" data-v-33218c74>${ssrInterpolate(unref(threshPct))}%</span></div><div class="ctl-row" data-v-33218c74><span class="ctl-name"${ssrRenderAttr("title", _ctx.$t("townView.kz71l1f012"))} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.ka4i1s9064"))}</span><input class="ctl-range" type="range" min="0" max="3000" step="50"${ssrRenderAttr("value", unref(calloutNearDist))} style="${ssrRenderStyle({ "--fill": sliderPct(unref(calloutNearDist), 0, 3e3) })}" data-v-33218c74><span class="ctl-val" data-v-33218c74>${ssrInterpolate(unref(calloutNearDist) === 0 ? _ctx.$t("townView.k493s144") : `${unref(calloutNearDist)}`)}</span></div><p class="ctl-sec" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.secOps"))}</p><div class="ctl-row" data-v-33218c74><span class="ctl-name" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1idc6pa065"))}</span><button class="${ssrRenderClass([{ on: unref(snap) }, "snap-toggle"])}" data-v-33218c74>${ssrInterpolate(unref(snap) ? _ctx.$t("townView.k4bs5145") : _ctx.$t("townView.k493s144"))}</button><span class="ctl-val" data-v-33218c74></span></div><div class="ctl-btns" data-v-33218c74><button class="btn btn-primary" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1lap9bs024"))}</button><button class="btn btn-ghost"${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""}${ssrRenderAttr("title", unref(mode) === "edit" ? _ctx.$t("townView.ksavetip181") : _ctx.$t("townView.krotip182"))} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1b3bk8t029"))}</button><button class="${ssrRenderClass([{ armed: unref(estop) }, "btn btn-danger"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1i046wf066"))}</button></div></section><section class="dock-card" data-v-33218c74><div class="dock-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1kfoef9067"))}</h3><span class="dock-count mono" data-v-33218c74>${ssrInterpolate(unref(daqTwins).length)}</span><div class="${ssrRenderClass([{ expanded: unref(trendExpanded) }, "trend-legend"])}" data-v-33218c74><!--[-->`);
|
|
2430
2431
|
ssrRenderList(unref(trendChips), (t) => {
|
|
2431
|
-
_push(`<button class="${ssrRenderClass([{ off: !trendOn(t.id) }, "lg-chip"])}" data-v-
|
|
2432
|
+
_push(`<button class="${ssrRenderClass([{ off: !trendOn(t.id) }, "lg-chip"])}" data-v-33218c74><span class="lg-dot" style="${ssrRenderStyle({ background: trendColor(t.id) })}" data-v-33218c74></span>${ssrInterpolate(t.name)}</button>`);
|
|
2432
2433
|
});
|
|
2433
2434
|
_push(`<!--]-->`);
|
|
2434
|
-
if (unref(trendOverflow) > 0) _push(`<button class="lg-chip lg-more mono"${ssrRenderAttr("title", unref(trendExpanded) ? _ctx.$t("townView.trendCollapse") : _ctx.$t("townView.trendExpandAll", { p0: unref(daqTwins).length }))} data-v-
|
|
2435
|
+
if (unref(trendOverflow) > 0) _push(`<button class="lg-chip lg-more mono"${ssrRenderAttr("title", unref(trendExpanded) ? _ctx.$t("townView.trendCollapse") : _ctx.$t("townView.trendExpandAll", { p0: unref(daqTwins).length }))} data-v-33218c74>${ssrInterpolate(unref(trendExpanded) ? _ctx.$t("townView.trendCollapse") : `+${unref(trendOverflow)}`)}</button>`);
|
|
2435
2436
|
else _push(`<!---->`);
|
|
2436
|
-
_push(`</div></div><div class="trend-wrap" data-v-
|
|
2437
|
-
if (!unref(daqTwins).length) _push(`<span class="trend-empty" data-v-
|
|
2437
|
+
_push(`</div></div><div class="trend-wrap" data-v-33218c74><canvas class="trend-cv" data-v-33218c74></canvas>`);
|
|
2438
|
+
if (!unref(daqTwins).length) _push(`<span class="trend-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1uht2uv068"))}</span>`);
|
|
2438
2439
|
else _push(`<!---->`);
|
|
2439
|
-
_push(`</div></section></div></main><aside class="rail rail-right" data-v-
|
|
2440
|
+
_push(`</div></section></div></main><aside class="rail rail-right" data-v-33218c74>`);
|
|
2440
2441
|
if (unref(selected)) {
|
|
2441
|
-
_push(`<section class="panel inspector" data-v-
|
|
2442
|
-
if (unref(selected).kind === "device" && unref(selectedIsDaq)) _push(`<span class="ins-chip accent" data-v-
|
|
2443
|
-
else if (unref(selected).kind === "device" && unref(selectedIsDcw)) _push(`<span class="ins-chip accent" data-v-
|
|
2442
|
+
_push(`<section class="panel inspector" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(unref(selected).kind === "device" ? unref(selectedIsDcw) ? _ctx.$t("townView.k1ekqxlt146") : unref(selectedIsDaq) ? _ctx.$t("townView.k1empnnb178") : _ctx.$t("townView.k1k6wg8j185") : unref(selectedAgentRoleLabel))}</h3><button class="mini-btn"${ssrRenderAttr("title", _ctx.$t("townView.k1bsckft013"))} data-v-33218c74> ✕ </button></div><div class="ins-chip-row" data-v-33218c74><span class="ins-chip mono" data-v-33218c74>${ssrInterpolate(unref(selected).id.slice(0, 8))}</span>`);
|
|
2443
|
+
if (unref(selected).kind === "device" && unref(selectedIsDaq)) _push(`<span class="ins-chip accent" data-v-33218c74>DAQ</span>`);
|
|
2444
|
+
else if (unref(selected).kind === "device" && unref(selectedIsDcw)) _push(`<span class="ins-chip accent" data-v-33218c74>DCW</span>`);
|
|
2444
2445
|
else _push(`<!---->`);
|
|
2445
2446
|
_push(`</div>`);
|
|
2446
2447
|
if (unref(selected).kind === "device") {
|
|
2447
2448
|
_push(`<!--[-->`);
|
|
2448
2449
|
if (unref(selectedIsDcw)) {
|
|
2449
|
-
_push(`<div class="daq-info" data-v-
|
|
2450
|
-
if (unref(dcwWriteErrs)[unref(selected).id]) _push(`<p class="dcw-err" data-v-
|
|
2450
|
+
_push(`<div class="daq-info" data-v-33218c74><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1deqh0d069"))}</span><b class="cy" data-v-33218c74>${ssrInterpolate(unref(selectedDcwNode)?.value != null ? unref(selectedDcwNode).value.toFixed(unref(selectedDcwNode).decimals) : "--")} ${ssrInterpolate(unref(selectedDcwNode)?.unit)}</b></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(unref(selectedDcwWindow)?.src === "recipe" ? _ctx.$t("townView.kq2jssk147") : _ctx.$t("townView.k1iwj796179"))}</span><b class="${ssrRenderClass({ amber: unref(selectedDcwWindow)?.src === "recipe" })}" data-v-33218c74>${ssrInterpolate(dcwWinLabel(unref(selectedDcwNode)))}</b></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1i8rtqt070"))}</span><b data-v-33218c74>${ssrInterpolate(unref(selectedDcwDeviceName) || _ctx.$t("townView.k3own4q148"))}</b></div><div class="daq-bind-bar" data-v-33218c74><input${ssrRenderAttr("value", unref(dcwWriteDrafts)[unref(selected).id])} type="number" class="bind-select"${ssrRenderAttr("step", 10 ** -(unref(selectedDcwNode)?.decimals ?? 2))}${ssrRenderAttr("placeholder", dcwWinInputPh(unref(selectedDcwNode)))} data-v-33218c74><button class="bind-add-btn"${ssrIncludeBooleanAttr(unref(dcwWriteDrafts)[unref(selected).id] == null || unref(dcwWriteDrafts)[unref(selected).id] === "") ? " disabled" : ""} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kwrbtn180"))}</button></div>`);
|
|
2451
|
+
if (unref(dcwWriteErrs)[unref(selected).id]) _push(`<p class="dcw-err" data-v-33218c74>${ssrInterpolate(unref(dcwWriteErrs)[unref(selected).id])}</p>`);
|
|
2451
2452
|
else _push(`<!---->`);
|
|
2452
2453
|
if (unref(mode) === "edit") {
|
|
2453
|
-
_push(`<div class="daq-bind-bar" data-v-
|
|
2454
|
+
_push(`<div class="daq-bind-bar" data-v-33218c74><select class="bind-select" data-v-33218c74><option value="" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(dcwBindPick)) ? ssrLooseContain(unref(dcwBindPick), "") : ssrLooseEqual(unref(dcwBindPick), "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.kjo6ekr071"))}</option><!--[-->`);
|
|
2454
2455
|
ssrRenderList(unref(deviceTwins).twins.filter((x) => !isLegacyDaqTwin(x) && x.id !== (unref(selected)?.id ?? "")), (dv) => {
|
|
2455
|
-
_push(`<option${ssrRenderAttr("value", dv.id)} data-v-
|
|
2456
|
+
_push(`<option${ssrRenderAttr("value", dv.id)} data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(dcwBindPick)) ? ssrLooseContain(unref(dcwBindPick), dv.id) : ssrLooseEqual(unref(dcwBindPick), dv.id)) ? " selected" : ""}>${ssrInterpolate(dv.name)}</option>`);
|
|
2456
2457
|
});
|
|
2457
|
-
_push(`<!--]--></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(selectedDcwDeviceName) && !unref(dcwBindPick)) ? " disabled" : ""} data-v-
|
|
2458
|
+
_push(`<!--]--></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(selectedDcwDeviceName) && !unref(dcwBindPick)) ? " disabled" : ""} data-v-33218c74>${ssrInterpolate(unref(selectedDcwDeviceName) ? _ctx.$t("townView.k479eh149") : _ctx.$t("townView.k452a8102"))}</button></div>`);
|
|
2458
2459
|
} else _push(`<!---->`);
|
|
2459
2460
|
_push(`</div>`);
|
|
2460
2461
|
} else if (unref(selectedIsDaq)) {
|
|
2461
|
-
_push(`<div class="daq-info" data-v-
|
|
2462
|
+
_push(`<div class="daq-info" data-v-33218c74><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3mv305072"))}</span><b class="cy" data-v-33218c74>${ssrInterpolate(unref(selectedDaqSim) ? fmtDaq(unref(selectedDaqSim)) : "--")} ${ssrInterpolate(unref(selectedDaqSim)?.tpl.unit)}</b></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1faqmjb073"))}</span><b data-v-33218c74>${ssrInterpolate(unref(selectedDaqSim)?.tpl.min)} ~ ${ssrInterpolate(unref(selectedDaqSim)?.tpl.max)}</b></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1i8rtqt070"))}</span><b data-v-33218c74>${ssrInterpolate(unref(daqBoundDeviceName) || _ctx.$t("townView.k3own4q148"))}</b></div>`);
|
|
2462
2463
|
if (unref(mode) === "edit") {
|
|
2463
|
-
_push(`<div class="daq-bind-bar" data-v-
|
|
2464
|
+
_push(`<div class="daq-bind-bar" data-v-33218c74><select class="bind-select" data-v-33218c74><option value="" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(bindPick)) ? ssrLooseContain(unref(bindPick), "") : ssrLooseEqual(unref(bindPick), "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.kjo6ekr071"))}</option><!--[-->`);
|
|
2464
2465
|
ssrRenderList(unref(deviceTwins).twins.filter((x) => !isLegacyDaqTwin(x) && x.id !== (unref(selected)?.id ?? "")), (dv) => {
|
|
2465
|
-
_push(`<option${ssrRenderAttr("value", dv.id)} data-v-
|
|
2466
|
+
_push(`<option${ssrRenderAttr("value", dv.id)} data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(bindPick)) ? ssrLooseContain(unref(bindPick), dv.id) : ssrLooseEqual(unref(bindPick), dv.id)) ? " selected" : ""}>${ssrInterpolate(dv.name)}</option>`);
|
|
2466
2467
|
});
|
|
2467
|
-
_push(`<!--]--></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(daqBoundDeviceName) && !unref(bindPick)) ? " disabled" : ""} data-v-
|
|
2468
|
+
_push(`<!--]--></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(daqBoundDeviceName) && !unref(bindPick)) ? " disabled" : ""} data-v-33218c74>${ssrInterpolate(unref(daqBoundDeviceName) ? _ctx.$t("townView.k479eh149") : _ctx.$t("townView.k452a8102"))}</button></div>`);
|
|
2468
2469
|
} else _push(`<!---->`);
|
|
2469
|
-
if (unref(mode) === "edit" && unref(selectedDaqNode)) _push(`<div class="daq-node-ctl" data-v-
|
|
2470
|
-
else _push(`<div class="ins-empty" data-v-
|
|
2470
|
+
if (unref(mode) === "edit" && unref(selectedDaqNode)) _push(`<div class="daq-node-ctl" data-v-33218c74><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1l6g2ga074"))}</span><span class="daq-th-inputs" data-v-33218c74><input${ssrRenderAttr("value", unref(daqIntervalDraft))} type="number" min="200" max="60000" step="100" class="daq-num" data-v-33218c74><small data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1or92b075"))}</small></span></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3x5tpx076"))}</span><span class="daq-th-inputs" data-v-33218c74><input${ssrRenderAttr("value", unref(selectedDaqNode).warnLow)} type="number" step="any" class="daq-num" data-v-33218c74> ~ <input${ssrRenderAttr("value", unref(selectedDaqNode).warnHigh)} type="number" step="any" class="daq-num" data-v-33218c74></span></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1hjj0jf077"))}</span><span class="daq-th-inputs" data-v-33218c74><input${ssrRenderAttr("value", unref(selectedDaqNode).min)} type="number" step="any" class="daq-num" data-v-33218c74> ~ <input${ssrRenderAttr("value", unref(selectedDaqNode).max)} type="number" step="any" class="daq-num" data-v-33218c74></span></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k48tki078"))}</span><button class="${ssrRenderClass([{ warn: unref(selectedDaqNode).enabled }, "bind-add-btn"])}" data-v-33218c74>${ssrInterpolate(unref(selectedDaqNode).enabled ? _ctx.$t("townView.k1wv0nyo150") : _ctx.$t("townView.kh1586b180"))}</button></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3xakp079"))}</span><button class="bind-add-btn danger"${ssrRenderAttr("title", _ctx.$t("townView.kpwutri014"))} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1bpp30k080"))}</button></div></div>`);
|
|
2471
|
+
else _push(`<div class="ins-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kzk5dfx081"))}</div>`);
|
|
2471
2472
|
_push(`</div>`);
|
|
2472
2473
|
} else {
|
|
2473
|
-
_push(`<!--[--><div class="obj-row" data-v-
|
|
2474
|
+
_push(`<!--[--><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3xhia082"))}</span><input${ssrRenderAttr("value", unref(objNameDraft))} class="obj-input"${ssrRenderAttr("placeholder", _ctx.$t("townView.k1k6vbaf015"))}${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""}${ssrRenderAttr("title", unref(mode) === "edit" ? "设备名称" : "运行模式只读")} data-v-33218c74></div><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k41amp083"))}</span><select class="obj-select"${ssrRenderAttr("value", unref(scene3dRef)?.getDeviceModelRef?.(unref(selected).id) ?? "")}${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""} data-v-33218c74><!--[-->`);
|
|
2474
2475
|
ssrRenderList(unref(deviceModels), (m) => {
|
|
2475
|
-
_push(`<option${ssrRenderAttr("value", m.id)} data-v-
|
|
2476
|
+
_push(`<option${ssrRenderAttr("value", m.id)} data-v-33218c74>${ssrInterpolate(m.name)}</option>`);
|
|
2476
2477
|
});
|
|
2477
|
-
_push(`<!--]--></select></div><div class="sect-hd" data-v-
|
|
2478
|
+
_push(`<!--]--></select></div><div class="sect-hd" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1vtyk05130"))} ${ssrInterpolate(unref(boundDaqRows).length)} ${ssrInterpolate(_ctx.$t("townView.k3vfpz5138"))}</div><!--[-->`);
|
|
2478
2479
|
ssrRenderList(unref(boundDaqRows), (r) => {
|
|
2479
|
-
_push(`<div class="bind-row" data-v-
|
|
2480
|
-
if (unref(mode) === "edit") _push(`<button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-
|
|
2480
|
+
_push(`<div class="bind-row" data-v-33218c74><span class="bind-ico" data-v-33218c74><svg class="bind-svg" viewBox="0 0 24 24" data-v-33218c74>${daqIcon(r.icon) ?? ""}</svg></span><span class="bind-meta" data-v-33218c74><span class="bind-label" data-v-33218c74>${ssrInterpolate(r.ch)}</span><span class="bind-val" data-v-33218c74><b data-v-33218c74>${ssrInterpolate(r.value)}</b> ${ssrInterpolate(r.unit)} · ${ssrInterpolate(r.name)}</span></span><canvas class="bind-spark" width="56" height="20" data-v-33218c74></canvas>`);
|
|
2481
|
+
if (unref(mode) === "edit") _push(`<button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-33218c74> ✕ </button>`);
|
|
2481
2482
|
else _push(`<!---->`);
|
|
2482
2483
|
_push(`</div>`);
|
|
2483
2484
|
});
|
|
2484
2485
|
_push(`<!--]-->`);
|
|
2485
|
-
if (!unref(boundDaqRows).length) _push(`<div class="ins-empty" data-v-
|
|
2486
|
+
if (!unref(boundDaqRows).length) _push(`<div class="ins-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kgpuqhb084"))}</div>`);
|
|
2486
2487
|
else _push(`<!---->`);
|
|
2487
2488
|
if (unref(mode) === "edit") {
|
|
2488
|
-
_push(`<div class="bind-add-wrap" data-v-
|
|
2489
|
+
_push(`<div class="bind-add-wrap" data-v-33218c74><button class="bind-add" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kvm0lin085"))}</button>`);
|
|
2489
2490
|
if (unref(bindPopOpen)) {
|
|
2490
|
-
_push(`<div class="bind-pop" style="${ssrRenderStyle({ maxHeight: `${unref(bindPopMaxH)}px` })}" data-v-
|
|
2491
|
+
_push(`<div class="bind-pop" style="${ssrRenderStyle({ maxHeight: `${unref(bindPopMaxH)}px` })}" data-v-33218c74><!--[-->`);
|
|
2491
2492
|
ssrRenderList(unref(daqTemplates), (tpl) => {
|
|
2492
2493
|
_push(`<!--[-->`);
|
|
2493
2494
|
if (unref(daqBindChoices)[tpl.id]?.length) {
|
|
2494
|
-
_push(`<div class="bp-group" data-v-
|
|
2495
|
+
_push(`<div class="bp-group" data-v-33218c74><span class="bp-tpl" data-v-33218c74>${ssrInterpolate(tpl.name)} · ${ssrInterpolate(tpl.ch)}</span><!--[-->`);
|
|
2495
2496
|
ssrRenderList(unref(daqBindChoices)[tpl.id], (c) => {
|
|
2496
|
-
_push(`<button${ssrRenderAttr("data-node-id", c.id)}${ssrRenderAttr("title", c.devName ? _ctx.$t("townView.k2bindr0007", { p0: c.devName }) : _ctx.$t("townView.k2bindr0008"))} data-v-
|
|
2497
|
-
if (c.devName) _push(`<i class="bp-cur" data-v-
|
|
2498
|
-
else if (!c.placed) _push(`<i class="bp-cur" data-v-
|
|
2497
|
+
_push(`<button${ssrRenderAttr("data-node-id", c.id)}${ssrRenderAttr("title", c.devName ? _ctx.$t("townView.k2bindr0007", { p0: c.devName }) : _ctx.$t("townView.k2bindr0008"))} data-v-33218c74><svg class="bind-svg" viewBox="0 0 24 24" data-v-33218c74>${daqIcon(c.tpl.icon) ?? ""}</svg><span data-v-33218c74>${ssrInterpolate(c.name)}`);
|
|
2498
|
+
if (c.devName) _push(`<i class="bp-cur" data-v-33218c74>→ ${ssrInterpolate(c.devName)}</i>`);
|
|
2499
|
+
else if (!c.placed) _push(`<i class="bp-cur" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2bindr0009"))}</i>`);
|
|
2499
2500
|
else _push(`<!---->`);
|
|
2500
2501
|
_push(`</span></button>`);
|
|
2501
2502
|
});
|
|
@@ -2504,40 +2505,40 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2504
2505
|
_push(`<!--]-->`);
|
|
2505
2506
|
});
|
|
2506
2507
|
_push(`<!--]-->`);
|
|
2507
|
-
if (!unref(daqBindChoiceCount)) _push(`<div class="bp-empty" data-v-
|
|
2508
|
+
if (!unref(daqBindChoiceCount)) _push(`<div class="bp-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2bindr0010"))}</div>`);
|
|
2508
2509
|
else _push(`<!---->`);
|
|
2509
2510
|
_push(`</div>`);
|
|
2510
2511
|
} else _push(`<!---->`);
|
|
2511
2512
|
_push(`</div>`);
|
|
2512
2513
|
} else _push(`<!---->`);
|
|
2513
|
-
_push(`<div class="sect-hd" data-v-
|
|
2514
|
+
_push(`<div class="sect-hd" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.ktzir2t131"))} ${ssrInterpolate(unref(boundDcwRows).length)} ${ssrInterpolate(_ctx.$t("townView.k4l1w042"))}</div><!--[-->`);
|
|
2514
2515
|
ssrRenderList(unref(boundDcwRows), (r) => {
|
|
2515
|
-
_push(`<div class="dcw-row" data-v-
|
|
2516
|
-
if (r.rMin != null || r.rMax != null) _push(`<i class="dcw-tag" data-v-
|
|
2516
|
+
_push(`<div class="dcw-row" data-v-33218c74><div class="dcw-top" data-v-33218c74><span class="bind-ico" data-v-33218c74><svg class="bind-svg" viewBox="0 0 24 24" data-v-33218c74>${daqIcon(r.icon) ?? ""}</svg></span><span class="dcw-id" data-v-33218c74><span class="bind-label" data-v-33218c74>${ssrInterpolate(r.ch)}`);
|
|
2517
|
+
if (r.rMin != null || r.rMax != null) _push(`<i class="dcw-tag" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k48grv086"))}</i>`);
|
|
2517
2518
|
else _push(`<!---->`);
|
|
2518
|
-
_push(`</span><span class="dcw-name" data-v-
|
|
2519
|
-
if (unref(mode) === "edit") _push(`<button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-
|
|
2519
|
+
_push(`</span><span class="dcw-name" data-v-33218c74>${ssrInterpolate(r.name)}</span></span><span class="dcw-cur" data-v-33218c74><b data-v-33218c74>${ssrInterpolate(r.value != null ? r.value.toFixed(r.decimals) : "--")}</b><i data-v-33218c74>${ssrInterpolate(r.unit)}</i></span>`);
|
|
2520
|
+
if (unref(mode) === "edit") _push(`<button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-33218c74> ✕ </button>`);
|
|
2520
2521
|
else _push(`<!---->`);
|
|
2521
|
-
_push(`</div><div class="${ssrRenderClass([{ recipe: r.rMin != null || r.rMax != null }, "dcw-win"])}" data-v-
|
|
2522
|
-
if (unref(dcwWriteErrs)[r.dcwId]) _push(`<small class="dcw-err" data-v-
|
|
2522
|
+
_push(`</div><div class="${ssrRenderClass([{ recipe: r.rMin != null || r.rMax != null }, "dcw-win"])}" data-v-33218c74><em data-v-33218c74>${ssrInterpolate(r.rMin != null || r.rMax != null ? _ctx.$t("townView.k1l3m0hx151") : _ctx.$t("townView.k1bc6rqf181"))}</em><span class="dcw-win-num" data-v-33218c74>${ssrInterpolate(r.rMin ?? "-∞")}</span><span class="dcw-win-track" data-v-33218c74><i style="${ssrRenderStyle({ left: `${dcwMarkPct(r)}%` })}" data-v-33218c74></i></span><span class="dcw-win-num" data-v-33218c74>${ssrInterpolate(r.rMax ?? "+∞")}</span></div><div class="dcw-write" data-v-33218c74><input${ssrRenderAttr("value", unref(dcwWriteDrafts)[r.dcwId])} type="number"${ssrRenderAttr("step", 10 ** -r.decimals)}${ssrRenderAttr("placeholder", `${r.rMin ?? r.gMin} ~ ${r.rMax ?? r.gMax}`)} data-v-33218c74><button class="dcw-send"${ssrIncludeBooleanAttr(unref(dcwWriteDrafts)[r.dcwId] == null || unref(dcwWriteDrafts)[r.dcwId] === "") ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("townView.k15t7izc017"))} data-v-33218c74> write </button></div>`);
|
|
2523
|
+
if (unref(dcwWriteErrs)[r.dcwId]) _push(`<small class="dcw-err" data-v-33218c74>${ssrInterpolate(unref(dcwWriteErrs)[r.dcwId])}</small>`);
|
|
2523
2524
|
else _push(`<!---->`);
|
|
2524
2525
|
_push(`</div>`);
|
|
2525
2526
|
});
|
|
2526
2527
|
_push(`<!--]-->`);
|
|
2527
|
-
if (!unref(boundDcwRows).length) _push(`<div class="ins-empty" data-v-
|
|
2528
|
+
if (!unref(boundDcwRows).length) _push(`<div class="ins-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k10smf24087"))}</div>`);
|
|
2528
2529
|
else _push(`<!---->`);
|
|
2529
2530
|
if (unref(mode) === "edit") {
|
|
2530
|
-
_push(`<div class="bind-add-wrap" data-v-
|
|
2531
|
+
_push(`<div class="bind-add-wrap" data-v-33218c74><button class="bind-add" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kvk1vh5088"))}</button>`);
|
|
2531
2532
|
if (unref(dcwBindPopOpen)) {
|
|
2532
|
-
_push(`<div class="bind-pop" style="${ssrRenderStyle({ maxHeight: `${unref(bindPopMaxH)}px` })}" data-v-
|
|
2533
|
+
_push(`<div class="bind-pop" style="${ssrRenderStyle({ maxHeight: `${unref(bindPopMaxH)}px` })}" data-v-33218c74><!--[-->`);
|
|
2533
2534
|
ssrRenderList(unref(dcwTemplates), (tpl) => {
|
|
2534
2535
|
_push(`<!--[-->`);
|
|
2535
2536
|
if (unref(dcwBindChoices)[tpl.id]?.length) {
|
|
2536
|
-
_push(`<div class="bp-group" data-v-
|
|
2537
|
+
_push(`<div class="bp-group" data-v-33218c74><span class="bp-tpl" data-v-33218c74>${ssrInterpolate(tpl.name)} · ${ssrInterpolate(tpl.ch)}</span><!--[-->`);
|
|
2537
2538
|
ssrRenderList(unref(dcwBindChoices)[tpl.id], (c) => {
|
|
2538
|
-
_push(`<button${ssrRenderAttr("data-node-id", c.id)}${ssrRenderAttr("title", c.devName ? _ctx.$t("townView.k2bindr0007", { p0: c.devName }) : _ctx.$t("townView.k2bindr0008"))} data-v-
|
|
2539
|
-
if (c.devName) _push(`<i class="bp-cur" data-v-
|
|
2540
|
-
else if (!c.placed) _push(`<i class="bp-cur" data-v-
|
|
2539
|
+
_push(`<button${ssrRenderAttr("data-node-id", c.id)}${ssrRenderAttr("title", c.devName ? _ctx.$t("townView.k2bindr0007", { p0: c.devName }) : _ctx.$t("townView.k2bindr0008"))} data-v-33218c74><svg class="bind-svg" viewBox="0 0 24 24" data-v-33218c74>${daqIcon(c.tpl.icon) ?? ""}</svg><span data-v-33218c74>${ssrInterpolate(c.name)}`);
|
|
2540
|
+
if (c.devName) _push(`<i class="bp-cur" data-v-33218c74>→ ${ssrInterpolate(c.devName)}</i>`);
|
|
2541
|
+
else if (!c.placed) _push(`<i class="bp-cur" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2bindr0009"))}</i>`);
|
|
2541
2542
|
else _push(`<!---->`);
|
|
2542
2543
|
_push(`</span></button>`);
|
|
2543
2544
|
});
|
|
@@ -2546,121 +2547,121 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2546
2547
|
_push(`<!--]-->`);
|
|
2547
2548
|
});
|
|
2548
2549
|
_push(`<!--]-->`);
|
|
2549
|
-
if (!unref(dcwBindChoiceCount)) _push(`<div class="bp-empty" data-v-
|
|
2550
|
+
if (!unref(dcwBindChoiceCount)) _push(`<div class="bp-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2bindr0010"))}</div>`);
|
|
2550
2551
|
else _push(`<!---->`);
|
|
2551
2552
|
_push(`</div>`);
|
|
2552
2553
|
} else _push(`<!---->`);
|
|
2553
2554
|
_push(`</div>`);
|
|
2554
2555
|
} else _push(`<!---->`);
|
|
2555
|
-
if (unref(mode) === "edit") _push(`<!--[--><div class="sect-hd" data-v-
|
|
2556
|
-
else _push(`<div class="ins-empty" data-v-
|
|
2556
|
+
if (unref(mode) === "edit") _push(`<!--[--><div class="sect-hd" data-v-33218c74> 变换 · BLENDER </div><div class="xz-seg" data-v-33218c74><button class="${ssrRenderClass([{ on: unref(tMode) === "translate" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1hg3167089"))}</button><button class="${ssrRenderClass([{ on: unref(tMode) === "rotate" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1enlg7i090"))}</button><button class="${ssrRenderClass([{ on: unref(tMode) === "scale" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1ibjg3j091"))}</button></div><div class="scale-row" data-v-33218c74><span class="scale-min" data-v-33218c74>0.2×</span><input class="scale-range" type="range" min="0.2" max="5" step="0.05"${ssrRenderAttr("value", unref(selected).scale)} data-v-33218c74><span class="scale-max" data-v-33218c74>5×</span></div><div class="scale-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(selected).scale * 100))}% </div><div class="ins-foot" data-v-33218c74><button class="${ssrRenderClass([{ armed: unref(deviceDeleteArmed) === unref(selected).id }, "btn btn-danger ins-del"])}" data-v-33218c74>${ssrInterpolate(unref(deviceDeleteArmed) === unref(selected).id ? _ctx.$t("townView.k1w10xa5152") : _ctx.$t("townView.k121kfef182"))}</button></div><!--]-->`);
|
|
2557
|
+
else _push(`<div class="ins-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kt0i3y2092"))}</div>`);
|
|
2557
2558
|
_push(`<!--]-->`);
|
|
2558
2559
|
}
|
|
2559
2560
|
_push(`<!--]-->`);
|
|
2560
2561
|
} else if (unref(selected).kind === "agent") {
|
|
2561
|
-
_push(`<!--[--><div class="chat-id-row" data-v-
|
|
2562
|
-
if (unref(selectedAgentMeta)?.harness) _push(`<span class="chat-harness" data-v-
|
|
2562
|
+
_push(`<!--[--><div class="chat-id-row" data-v-33218c74><span class="chat-badge" style="${ssrRenderStyle({ "--p-acc": unref(agentChatColor) })}" data-v-33218c74>${ssrInterpolate(unref(agentChatTitle).slice(0, 1).toUpperCase())}</span><div class="chat-nameplate" data-v-33218c74><span class="chat-name" data-v-33218c74>${ssrInterpolate(unref(agentChatTitle))}</span><span class="chat-meta" data-v-33218c74><span class="${ssrRenderClass([unref(selectedAgentMeta)?.role === "lead" ? "r-lead" : "r-worker", "chat-role"])}" data-v-33218c74>${ssrInterpolate(unref(selectedAgentRoleTag))}</span><span class="${ssrRenderClass([`s-${unref(selectedAgentMeta)?.state ?? "idle"}`, "chat-state"])}" data-v-33218c74>${ssrInterpolate(unref(agentChatStateLabel))}</span>`);
|
|
2563
|
+
if (unref(selectedAgentMeta)?.harness) _push(`<span class="chat-harness" data-v-33218c74>${ssrInterpolate(unref(selectedAgentMeta).harness.toUpperCase())}</span>`);
|
|
2563
2564
|
else _push(`<!---->`);
|
|
2564
|
-
_push(`<span class="chat-count" data-v-
|
|
2565
|
+
_push(`<span class="chat-count" data-v-33218c74>${ssrInterpolate(unref(agentHistory).length + unref(agentChatRows).length)} ${ssrInterpolate(_ctx.$t("townView.k4dfq040"))}</span></span></div></div><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k41amp083"))}</span><select class="obj-select"${ssrRenderAttr("value", (unref(scene3dRef)?.getAgentModel?.(unref(selected).id) ?? "") || "hero-3d")}${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""} data-v-33218c74><!--[-->`);
|
|
2565
2566
|
ssrRenderList(unref(agentModels), (m) => {
|
|
2566
|
-
_push(`<option${ssrRenderAttr("value", m.id)} data-v-
|
|
2567
|
+
_push(`<option${ssrRenderAttr("value", m.id)} data-v-33218c74>${ssrInterpolate(m.name)}</option>`);
|
|
2567
2568
|
});
|
|
2568
|
-
_push(`<!--]--></select></div><div class="obj-sep" data-v-
|
|
2569
|
-
if (unref(mode) === "edit") _push(`<button class="${ssrRenderClass([{ on: unref(agentDrawingRange) }, "obj-mini"])}"${ssrRenderAttr("title", _ctx.$t("townView.k13enoy3018"))} data-v-
|
|
2569
|
+
_push(`<!--]--></select></div><div class="obj-sep" data-v-33218c74></div><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1fix3hb093"))}</span><span class="range-status" data-v-33218c74>${ssrInterpolate(unref(agentRangeStatusText))}</span>`);
|
|
2570
|
+
if (unref(mode) === "edit") _push(`<button class="${ssrRenderClass([{ on: unref(agentDrawingRange) }, "obj-mini"])}"${ssrRenderAttr("title", _ctx.$t("townView.k13enoy3018"))} data-v-33218c74>${ssrInterpolate(unref(agentDrawingRange) ? _ctx.$t("townView.k3slzhc153") : _ctx.$t("townView.k1f1xmci183"))}</button>`);
|
|
2570
2571
|
else _push(`<!---->`);
|
|
2571
|
-
_push(`</div><div class="obj-sep" data-v-
|
|
2572
|
+
_push(`</div><div class="obj-sep" data-v-33218c74></div><div class="sect-hd" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1p7nru2094"))}</div><!--[-->`);
|
|
2572
2573
|
ssrRenderList(unref(agentBindings), (b) => {
|
|
2573
|
-
_push(`<div class="bind-row" data-v-
|
|
2574
|
+
_push(`<div class="bind-row" data-v-33218c74><span class="${ssrRenderClass([b.kind === "dcw" ? "accent" : "", "ins-chip"])}" style="${ssrRenderStyle({ "flex": "none" })}" data-v-33218c74>${ssrInterpolate(b.kind === "dcw" ? _ctx.$t("townView.k40ifw097") : _ctx.$t("townView.k40rjw098"))}</span><span class="bind-meta" data-v-33218c74><span class="bind-label" data-v-33218c74>${ssrInterpolate(bindingNodeName(b))}</span><select class="bind-select" style="${ssrRenderStyle({ "margin-top": "3px" })}"${ssrRenderAttr("value", b.mode)}${ssrRenderAttr("title", _ctx.$t("townView.khqvwix019"))} data-v-33218c74><option value="auto" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1io1ylm095"))}</option><option value="manual" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1duyr8q096"))}</option></select></span><button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-33218c74> ✕ </button></div>`);
|
|
2574
2575
|
});
|
|
2575
2576
|
_push(`<!--]-->`);
|
|
2576
|
-
if (!unref(agentBindings).length) _push(`<div class="ins-empty" data-v-
|
|
2577
|
+
if (!unref(agentBindings).length) _push(`<div class="ins-empty" data-v-33218c74> 未绑定工业节点 —— 绑定后 Agent 可用 dcw_control / daq_query 工具 </div>`);
|
|
2577
2578
|
else _push(`<!---->`);
|
|
2578
2579
|
if (unref(mode) === "edit") {
|
|
2579
|
-
_push(`<div class="daq-bind-bar" style="${ssrRenderStyle({ "margin-bottom": "8px" })}" data-v-
|
|
2580
|
+
_push(`<div class="daq-bind-bar" style="${ssrRenderStyle({ "margin-bottom": "8px" })}" data-v-33218c74><select class="bind-select" style="${ssrRenderStyle({
|
|
2580
2581
|
"flex": "none",
|
|
2581
2582
|
"width": "62px"
|
|
2582
|
-
})}" data-v-
|
|
2583
|
+
})}" data-v-33218c74><option value="dcw" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindKind)) ? ssrLooseContain(unref(agentBindKind), "dcw") : ssrLooseEqual(unref(agentBindKind), "dcw")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.k40ifw097"))}</option><option value="daq" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindKind)) ? ssrLooseContain(unref(agentBindKind), "daq") : ssrLooseEqual(unref(agentBindKind), "daq")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.k40rjw098"))}</option></select><select class="bind-select" data-v-33218c74><option value="" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindNodeId)) ? ssrLooseContain(unref(agentBindNodeId), "") : ssrLooseEqual(unref(agentBindNodeId), "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.kurjldk099"))}</option>`);
|
|
2583
2584
|
if (unref(agentBindKind) === "dcw") {
|
|
2584
2585
|
_push(`<!--[-->`);
|
|
2585
2586
|
ssrRenderList(unref(dcw).nodes, (n) => {
|
|
2586
|
-
_push(`<option${ssrRenderAttr("value", n.id)} data-v-
|
|
2587
|
+
_push(`<option${ssrRenderAttr("value", n.id)} data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindNodeId)) ? ssrLooseContain(unref(agentBindNodeId), n.id) : ssrLooseEqual(unref(agentBindNodeId), n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
|
|
2587
2588
|
});
|
|
2588
2589
|
_push(`<!--]-->`);
|
|
2589
2590
|
} else {
|
|
2590
2591
|
_push(`<!--[-->`);
|
|
2591
2592
|
ssrRenderList(unref(daq).nodes, (n) => {
|
|
2592
|
-
_push(`<option${ssrRenderAttr("value", n.id)} data-v-
|
|
2593
|
+
_push(`<option${ssrRenderAttr("value", n.id)} data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindNodeId)) ? ssrLooseContain(unref(agentBindNodeId), n.id) : ssrLooseEqual(unref(agentBindNodeId), n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
|
|
2593
2594
|
});
|
|
2594
2595
|
_push(`<!--]-->`);
|
|
2595
2596
|
}
|
|
2596
2597
|
_push(`</select><select class="bind-select" style="${ssrRenderStyle({
|
|
2597
2598
|
"flex": "none",
|
|
2598
2599
|
"width": "76px"
|
|
2599
|
-
})}" data-v-
|
|
2600
|
+
})}" data-v-33218c74><option value="auto" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindMode)) ? ssrLooseContain(unref(agentBindMode), "auto") : ssrLooseEqual(unref(agentBindMode), "auto")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.k45kpj100"))}</option><option value="manual" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindMode)) ? ssrLooseContain(unref(agentBindMode), "manual") : ssrLooseEqual(unref(agentBindMode), "manual")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.k3zul4101"))}</option></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(agentBindNodeId)) ? " disabled" : ""} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k452a8102"))}</button></div>`);
|
|
2600
2601
|
} else _push(`<!---->`);
|
|
2601
2602
|
if (unref(pendingApprovals).length) {
|
|
2602
|
-
_push(`<!--[--><div class="sect-hd" style="${ssrRenderStyle({ "color": "var(--hud-amber)" })}" data-v-
|
|
2603
|
+
_push(`<!--[--><div class="sect-hd" style="${ssrRenderStyle({ "color": "var(--hud-amber)" })}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1gk2jg7132"))} ${ssrInterpolate(unref(pendingApprovals).length)}</div><!--[-->`);
|
|
2603
2604
|
ssrRenderList(unref(pendingApprovals), (ap) => {
|
|
2604
|
-
_push(`<div class="approval-card" data-v-
|
|
2605
|
+
_push(`<div class="approval-card" data-v-33218c74><div class="approval-detail" data-v-33218c74>${ssrInterpolate(ap.detail)}</div><div class="${ssrRenderClass([{ urgent: approvalRemainingSec(ap) <= 30 }, "approval-ttl"])}" data-v-33218c74> ⏱ ${ssrInterpolate(approvalRemainingSec(ap))}s ${ssrInterpolate(_ctx.$t("townView.hitlAutoReject"))}</div><input${ssrRenderAttr("value", unref(approvalComments)[ap.id])} class="dcw-write input-inline" style="${ssrRenderStyle({
|
|
2605
2606
|
"width": "100%",
|
|
2606
2607
|
"margin-top": "5px"
|
|
2607
|
-
})}"${ssrRenderAttr("placeholder", _ctx.$t("townView.keztqrn020"))} data-v-
|
|
2608
|
+
})}"${ssrRenderAttr("placeholder", _ctx.$t("townView.keztqrn020"))} data-v-33218c74><div class="daq-bind-bar" style="${ssrRenderStyle({ "margin-top": "5px" })}" data-v-33218c74><button class="bind-add-btn" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kslcozu103"))}</button><button class="bind-add-btn danger" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k14gu3rd104"))}</button></div></div>`);
|
|
2608
2609
|
});
|
|
2609
2610
|
_push(`<!--]--><!--]-->`);
|
|
2610
2611
|
} else _push(`<!---->`);
|
|
2611
|
-
if (unref(agentRangeDraft) && unref(mode) === "edit") _push(`<!--[--><div class="obj-row" data-v-
|
|
2612
|
-
else _push(`<div class="ins-empty" data-v-
|
|
2613
|
-
_push(`<div class="obj-sep" data-v-
|
|
2614
|
-
if (unref(historyLoading)) _push(`<div class="rpg-note" data-v-
|
|
2612
|
+
if (unref(agentRangeDraft) && unref(mode) === "edit") _push(`<!--[--><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3zhy5048"))}</span><div class="bp-seg" data-v-33218c74><button class="${ssrRenderClass([{ on: unref(agentRangeDraft).shape === "ellipse" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k414bc049"))}</button><button class="${ssrRenderClass([{ on: unref(agentRangeDraft).shape === "rect" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k43u0g050"))}</button></div></div><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k41lwj105"))}</span><input${ssrRenderAttr("value", unref(agentRangeDraft).radiusX)} class="obj-range" type="range" min="40" max="4000" step="8" data-v-33218c74><span class="bp-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(agentRangeDraft).radiusX))}</span></div><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k45bta106"))}</span><input${ssrRenderAttr("value", unref(agentRangeDraft).radiusZ)} class="obj-range" type="range" min="40" max="4000" step="8" data-v-33218c74><span class="bp-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(agentRangeDraft).radiusZ))}</span></div><button class="obj-mini danger" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1w45mzc107"))}</button><!--]-->`);
|
|
2613
|
+
else _push(`<div class="ins-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k14s8urm108"))}</div>`);
|
|
2614
|
+
_push(`<div class="obj-sep" data-v-33218c74></div><div class="sect-hd chat-sect" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1ghjbfc133"))} ${ssrInterpolate(unref(agentChatTitle))} <button class="mini-btn chat-refresh"${ssrRenderAttr("title", _ctx.$t("townView.k15avt7g021"))} data-v-33218c74>${ssrInterpolate(unref(historyLoading) ? "…" : "↻")}</button></div><div class="rpg-lines chat-embed" data-v-33218c74>`);
|
|
2615
|
+
if (unref(historyLoading)) _push(`<div class="rpg-note" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kkhlx5h109"))}</div>`);
|
|
2615
2616
|
else _push(`<!---->`);
|
|
2616
2617
|
if (unref(agentHistory).length) {
|
|
2617
|
-
_push(`<!--[--><div class="rpg-divider" data-v-
|
|
2618
|
+
_push(`<!--[--><div class="rpg-divider" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k768cnt134"))} ${ssrInterpolate(unref(agentHistory).length)}</div><!--[-->`);
|
|
2618
2619
|
ssrRenderList(unref(agentHistory), (r) => {
|
|
2619
|
-
_push(`<div class="rpg-line hist" data-v-
|
|
2620
|
-
if (chatKindLabel(r.kind)) _push(`<span class="${ssrRenderClass([`k-${r.kind}`, "rpg-kind"])}" data-v-
|
|
2620
|
+
_push(`<div class="rpg-line hist" data-v-33218c74><span class="rpg-time" data-v-33218c74>${ssrInterpolate(fmtTime(r.at))}</span><div class="rpg-bubble" data-v-33218c74>`);
|
|
2621
|
+
if (chatKindLabel(r.kind)) _push(`<span class="${ssrRenderClass([`k-${r.kind}`, "rpg-kind"])}" data-v-33218c74>${ssrInterpolate(chatKindLabel(r.kind))}</span>`);
|
|
2621
2622
|
else _push(`<!---->`);
|
|
2622
|
-
_push(`<span class="rpg-text" data-v-
|
|
2623
|
+
_push(`<span class="rpg-text" data-v-33218c74>${ssrInterpolate(r.text)}</span></div></div>`);
|
|
2623
2624
|
});
|
|
2624
2625
|
_push(`<!--]--><!--]-->`);
|
|
2625
2626
|
} else _push(`<!---->`);
|
|
2626
|
-
if (unref(agentChatRows).length) _push(`<div class="rpg-divider live" data-v-
|
|
2627
|
+
if (unref(agentChatRows).length) _push(`<div class="rpg-divider live" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1cwz73k135"))} ${ssrInterpolate(unref(agentChatRows).length)}</div>`);
|
|
2627
2628
|
else _push(`<!---->`);
|
|
2628
2629
|
_push(`<!--[-->`);
|
|
2629
2630
|
ssrRenderList(unref(agentChatRows), (r) => {
|
|
2630
|
-
_push(`<div class="rpg-line live" data-v-
|
|
2631
|
+
_push(`<div class="rpg-line live" data-v-33218c74><span class="rpg-time" data-v-33218c74>${ssrInterpolate(fmtTime(r.at))}</span><div class="rpg-bubble" data-v-33218c74><span class="rpg-text" data-v-33218c74>${ssrInterpolate(r.text)}</span></div></div>`);
|
|
2631
2632
|
});
|
|
2632
2633
|
_push(`<!--]-->`);
|
|
2633
|
-
if (unref(selectedAgentMeta)?.state === "busy") _push(`<div class="rpg-typing" data-v-
|
|
2634
|
+
if (unref(selectedAgentMeta)?.state === "busy") _push(`<div class="rpg-typing" data-v-33218c74><span class="ty-dot" data-v-33218c74></span><span class="ty-dot" data-v-33218c74></span><span class="ty-dot" data-v-33218c74></span><span class="ty-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3o5tz9110"))}</span></div>`);
|
|
2634
2635
|
else _push(`<!---->`);
|
|
2635
|
-
if (!unref(historyLoading) && !unref(agentHistory).length && !unref(agentChatRows).length) _push(`<div class="rpg-note" data-v-
|
|
2636
|
+
if (!unref(historyLoading) && !unref(agentHistory).length && !unref(agentChatRows).length) _push(`<div class="rpg-note" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1qkqld7111"))}</div>`);
|
|
2636
2637
|
else _push(`<!---->`);
|
|
2637
2638
|
_push(`</div><!--]-->`);
|
|
2638
2639
|
} else _push(`<!---->`);
|
|
2639
2640
|
_push(`</section>`);
|
|
2640
2641
|
} else _push(`<!---->`);
|
|
2641
|
-
_push(`<section class="panel" data-v-
|
|
2642
|
+
_push(`<section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k17dkhgd112"))}</h3></div><div class="health-body" data-v-33218c74><div class="donut-wrap" data-v-33218c74><canvas width="118" height="118" data-v-33218c74></canvas><div class="donut-center" data-v-33218c74><b style="${ssrRenderStyle({ color: unref(healthTone) })}" data-v-33218c74>${ssrInterpolate(unref(healthPct))}%</b><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k7h1nxo113"))}</span></div></div><div class="health-legend" data-v-33218c74><div class="hl-row" data-v-33218c74><span class="hl-dot" style="${ssrRenderStyle({ background: "var(--hud-accent)" })}" data-v-33218c74></span> ${ssrInterpolate(_ctx.$t("townView.k3vp67i114"))} <span class="n" data-v-33218c74>${ssrInterpolate(unref(runningCount))}</span></div><div class="hl-row" data-v-33218c74><span class="hl-dot" style="${ssrRenderStyle({ background: "var(--hud-amber)" })}" data-v-33218c74></span> ${ssrInterpolate(_ctx.$t("townView.k3zcvb115"))} <span class="n" data-v-33218c74>${ssrInterpolate(unref(idleCount))}</span></div><div class="hl-row" data-v-33218c74><span class="hl-dot" style="${ssrRenderStyle({ background: "var(--hud-danger)" })}" data-v-33218c74></span> ${ssrInterpolate(_ctx.$t("townView.k3xmid116"))} <span class="n" data-v-33218c74>${ssrInterpolate(unref(alarmCount))}</span></div><div class="hl-row" data-v-33218c74><span class="hl-dot" style="${ssrRenderStyle({ background: "#3a4a63" })}" data-v-33218c74></span> ${ssrInterpolate(_ctx.$t("townView.statesOffline"))} <span class="n" data-v-33218c74>${ssrInterpolate(unref(offlineCount))}</span></div></div></div></section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1q247fn117"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(deviceTwins).twins.length)}</span></div>`);
|
|
2642
2643
|
_push(ssrRenderComponent(_component_WorkshopDeviceTwinPanel, {
|
|
2643
2644
|
class: "kd-embed",
|
|
2644
2645
|
"daq-live": unref(daqLive),
|
|
2645
2646
|
"dcw-live": unref(dcwLive),
|
|
2646
2647
|
onFocusDevice
|
|
2647
2648
|
}, null, _parent));
|
|
2648
|
-
_push(`</section><section class="panel" data-v-
|
|
2649
|
+
_push(`</section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1cxf749118"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(activeAlarmCount))} ${ssrInterpolate(_ctx.$t("townView.k4dfq040"))}</span><button class="mini-btn"${ssrRenderAttr("title", _ctx.$t("townView.k1bkswpz022"))} data-v-33218c74> ✓ </button></div><div class="alarm-list" data-v-33218c74><!--[-->`);
|
|
2649
2650
|
ssrRenderList(unref(alarms).slice(0, 8), (a) => {
|
|
2650
|
-
_push(`<div class="al-row" data-v-
|
|
2651
|
+
_push(`<div class="al-row" data-v-33218c74><span class="${ssrRenderClass([a.state === 2 ? "info" : a.state === 1 ? "warn" : "crit", "al-ico"])}" data-v-33218c74><svg class="al-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M12 3 22 20H2L12 3Z" data-v-33218c74></path><path d="M12 10v4M12 17v.2" data-v-33218c74></path></svg></span><div class="al-body" data-v-33218c74><div class="al-txt" data-v-33218c74>${ssrInterpolate(a.txt)}</div><div class="al-src" data-v-33218c74>${ssrInterpolate(a.src)} · ${ssrInterpolate(a.time)}</div></div><button class="${ssrRenderClass([`s${a.state}`, "al-state"])}" data-v-33218c74>${ssrInterpolate(ALARM_STATES[a.state])}</button></div>`);
|
|
2651
2652
|
});
|
|
2652
2653
|
_push(`<!--]-->`);
|
|
2653
|
-
if (!unref(alarms).length) _push(`<div class="rail-empty" data-v-
|
|
2654
|
+
if (!unref(alarms).length) _push(`<div class="rail-empty" data-v-33218c74><svg class="re-ico" viewBox="0 0 24 24" data-v-33218c74><path d="M12 3l7 3v5c0 4.6-3 8.2-7 10-4-1.8-7-5.4-7-10V6l7-3Z" data-v-33218c74></path><path d="m9.2 12.2 2 2 3.6-4" data-v-33218c74></path></svg><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kjz544r119"))}</span></div>`);
|
|
2654
2655
|
else _push(`<!---->`);
|
|
2655
|
-
_push(`</div></section><section class="panel" data-v-
|
|
2656
|
+
_push(`</div></section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1cxdtq2120"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(ticker).length)}</span></div><div class="event-list" data-v-33218c74><!--[-->`);
|
|
2656
2657
|
ssrRenderList([...unref(ticker)].reverse(), (t, i) => {
|
|
2657
|
-
_push(`<div class="event-row" data-v-
|
|
2658
|
+
_push(`<div class="event-row" data-v-33218c74><span class="ev-time" data-v-33218c74>${ssrInterpolate(fmtTime(t.at))}</span><span class="ev-name"${ssrRenderAttr("title", t.agentName)} data-v-33218c74>${ssrInterpolate(t.agentName)}</span><span class="ev-text"${ssrRenderAttr("title", t.text)} data-v-33218c74>${ssrInterpolate(t.text)}</span></div>`);
|
|
2658
2659
|
});
|
|
2659
2660
|
_push(`<!--]-->`);
|
|
2660
|
-
if (!unref(ticker).length) _push(`<div class="rail-empty" data-v-
|
|
2661
|
+
if (!unref(ticker).length) _push(`<div class="rail-empty" data-v-33218c74><svg class="re-ico" viewBox="0 0 24 24" data-v-33218c74><path d="M3 12h3l2.5-6 4 12L15 12h6" data-v-33218c74></path></svg><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2uk6ua121"))}</span></div>`);
|
|
2661
2662
|
else _push(`<!---->`);
|
|
2662
|
-
_push(`</div></section><section class="panel" data-v-
|
|
2663
|
-
if (!unref(ready)) _push(`<div data-hud="town-loading" class="loading-mask" data-v-
|
|
2663
|
+
_push(`</div></section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kjug2jq122"))}</h3></div><div class="mm-body" data-v-33218c74><div class="mm-wrap"${ssrRenderAttr("title", _ctx.$t("townView.klfwiqg023"))} data-v-33218c74><canvas class="nav-cv" data-v-33218c74></canvas></div><div class="mm-col" data-v-33218c74><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.k1lap9bs024"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M3 12a9 9 0 1 0 3-6.7M3 4v5h5" data-v-33218c74></path></svg></button><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.kav8a8k025"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><circle cx="11" cy="11" r="6.5" data-v-33218c74></circle><path d="m16 16 4.5 4.5M8.5 11h5" data-v-33218c74></path></svg></button><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.k1u7uce9026"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><circle cx="11" cy="11" r="6.5" data-v-33218c74></circle><path d="m16 16 4.5 4.5M8.5 11h5M11 8.5v5" data-v-33218c74></path></svg></button></div></div><div class="mm-meta mono" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1gaaodq136"))}${ssrInterpolate(unref(navScale).toFixed(1))} · ${ssrInterpolate(unref(minimap)?.devices?.length ?? 0)} ${ssrInterpolate(_ctx.$t("townView.k47e16126"))}</div></section></aside></div><footer class="statusbar" data-v-33218c74><span data-v-33218c74><span class="${ssrRenderClass([{ red: unref(conn).state !== "open" }, "sb-dot"])}" data-v-33218c74></span>${ssrInterpolate(_ctx.$t("townView.k1i4g246123"))} <b data-v-33218c74>${ssrInterpolate(unref(conn).state === "open" ? _ctx.$t("townView.k41k5c154") : unref(syncing) ? _ctx.$t("townView.k3lmtk3184") : _ctx.$t("townView.k44c2n186"))}</b></span><span class="sb-stats" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k4a0jt124"))} <b data-v-33218c74>${ssrInterpolate(unref(blockCount))}</b><i data-v-33218c74>·</i>${ssrInterpolate(_ctx.$t("townView.k3xdvm125"))} <b data-v-33218c74>${ssrInterpolate(unref(agentCount))}</b><i data-v-33218c74>·</i>${ssrInterpolate(_ctx.$t("townView.k47e16126"))} <b data-v-33218c74>${ssrInterpolate(unref(deviceCount))}</b></span><span class="sb-lat mono" data-v-33218c74>${ssrInterpolate(unref(fps))} FPS </span><span class="copy" data-v-33218c74> © 2026 ABO · DIGITAL TWIN · ${ssrInterpolate(_ctx.$t("townView.k1h5gxpf137"))}</span></footer>`);
|
|
2664
|
+
if (!unref(ready)) _push(`<div data-hud="town-loading" class="loading-mask" data-v-33218c74><div class="loading-spinner" data-v-33218c74></div><span class="loading-text" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kvjdqfg059"))}</span></div>`);
|
|
2664
2665
|
else _push(`<!---->`);
|
|
2665
2666
|
_push(`</div>`);
|
|
2666
2667
|
};
|
|
@@ -2674,7 +2675,7 @@ TownView_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
|
2674
2675
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/town/TownView.vue");
|
|
2675
2676
|
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
2676
2677
|
};
|
|
2677
|
-
var TownView_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(TownView_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
2678
|
+
var TownView_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(TownView_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-33218c74"]]), { __name: "WorkshopTownView" });
|
|
2678
2679
|
|
|
2679
2680
|
export { TownView_default as T, useStorage as u };
|
|
2680
|
-
//# sourceMappingURL=TownView-
|
|
2681
|
+
//# sourceMappingURL=TownView-D8DSdO3H.mjs.map
|