agentworkshop 0.7.39 → 0.7.40
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/.AgentWorkShop/prompts/host-tools.json +55 -0
- package/.output/.AgentWorkShop/prompts/host-tools.json +55 -0
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/88GOowgO2.js +1 -0
- package/.output/public/_nuxt/{BNT8gYU92.js → BC9wjTJK2.js} +2 -2
- package/.output/public/_nuxt/BOt2SP4z.js +1 -0
- package/.output/public/_nuxt/BP-NyKVG.js +18 -0
- package/.output/public/_nuxt/{HBLJ-wei.js → BXxH0UQE.js} +1 -1
- package/.output/public/_nuxt/{zIGh7R49.js → BneN7fbu.js} +1 -1
- package/.output/public/_nuxt/BsROmY89.js +1 -0
- package/.output/public/_nuxt/{C_OLzD09.js → C4oW1HsE.js} +1 -1
- package/.output/public/_nuxt/CFxtLwjp.js +1 -0
- package/.output/public/_nuxt/{Cec0Ua3F.js → CS50LB_l.js} +1 -1
- package/.output/public/_nuxt/C_iYD-EB.js +1 -0
- package/.output/public/_nuxt/{DAe0h2MB.js → ClILjvWH.js} +1 -1
- package/.output/public/_nuxt/CssgYAAL2.js +1 -0
- package/.output/public/_nuxt/{CY9LbPCI.js → CzOCSGLe.js} +1 -1
- package/.output/public/_nuxt/D8qvkfyY.js +1 -0
- package/.output/public/_nuxt/DCn7QZ5N.js +2 -0
- package/.output/public/_nuxt/DGIuvyRN2.js +1 -0
- package/.output/public/_nuxt/{CojCTLKD.js → DGj-WEBg.js} +1 -1
- package/.output/public/_nuxt/{DDShH71m.js → DS8qj8EL.js} +1 -1
- package/.output/public/_nuxt/DTFCy6h-.js +1 -0
- package/.output/public/_nuxt/{DrYV5i68.js → DUjW5Yq5.js} +1 -1
- package/.output/public/_nuxt/DZshyNLa.js +1 -0
- package/.output/public/_nuxt/{45zuyAso.js → D_OTvQza.js} +1 -1
- package/.output/public/_nuxt/DcsCcxp4.js +1 -0
- package/.output/public/_nuxt/{DUrecWPx.js → Dihnimlk.js} +2 -2
- package/.output/public/_nuxt/Dqw1lpr-.js +1 -0
- package/.output/public/_nuxt/{CUDwzgLV.js → Dr9v6C0f.js} +9 -9
- package/.output/public/_nuxt/{8NMOXZOV.js → Du9ZJtnj.js} +1 -1
- package/.output/public/_nuxt/TownView.f-YOdXRs.css +1 -0
- package/.output/public/_nuxt/_id_.CM4bIgKY.css +1 -0
- package/.output/public/_nuxt/_id_.bNV69Dtf.css +1 -0
- package/.output/public/_nuxt/_wsId_.B4WiqkIS.css +1 -0
- package/.output/public/_nuxt/agents.ZD0rVdHE.css +1 -0
- package/.output/public/_nuxt/aml.BN8ZEW4h.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/f4707884-7cf4-4a31-80d2-e3d72b73745f.json +1 -0
- package/.output/public/_nuxt/channel-templates.BOtahzPi.css +1 -0
- package/.output/public/_nuxt/daq.B0D3dPAc.css +1 -0
- package/.output/public/_nuxt/dcw.8Y7FqCVN.css +1 -0
- package/.output/public/_nuxt/default.J32SgqFY.css +1 -0
- package/.output/public/_nuxt/entry.bdm0tv6M.css +1 -0
- package/.output/public/_nuxt/logs.BpKzmKsh.css +1 -0
- package/.output/public/_nuxt/monitor.D9pe7qN6.css +1 -0
- package/.output/public/_nuxt/pages.D7aSDlUI.css +1 -0
- package/.output/public/_nuxt/permissions.DwTVlFe6.css +1 -0
- package/.output/public/_nuxt/plugins.sb4nDGqr.css +1 -0
- package/.output/public/_nuxt/{Cbq-mryP.js → qr6R6Ha1.js} +1 -1
- package/.output/public/_nuxt/settings.BTgR-NiE.css +1 -0
- package/.output/public/_nuxt/teams.CxnxKVVs.css +1 -0
- package/.output/public/_nuxt/tokens.BFY7qv4f.css +1 -0
- package/.output/public/_nuxt/{town.DKIAhKnx.css → town.BBXZmeoP.css} +1 -1
- package/.output/public/_nuxt/users.DLgZ1D0h.css +1 -0
- package/.output/public/_nuxt/workshop.CR_QzeAN.css +1 -0
- package/.output/public/_nuxt/{BzHEilTt.js → xh3_vYcu.js} +1 -1
- package/.output/public/_nuxt/yF0aYMF1.js +4 -0
- package/.output/server/chunks/_/entity.mjs.map +1 -1
- package/.output/server/chunks/_/nitro.mjs +2225 -1445
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/build/{TownView-jVazYOjN.mjs → TownView-BuLAsmpR.mjs} +288 -206
- package/.output/server/chunks/build/TownView-BuLAsmpR.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-CfVosNg3.mjs → _id_-BU1wfOID.mjs} +138 -138
- package/.output/server/chunks/build/{_id_-CfVosNg3.mjs.map → _id_-BU1wfOID.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-Hwr4rZpr.mjs → _id_-BYsEua57.mjs} +33 -32
- package/.output/server/chunks/build/_id_-BYsEua57.mjs.map +1 -0
- package/.output/server/chunks/build/{_wsId_-BVg3bB77.mjs → _wsId_-BxlDcJHg.mjs} +293 -259
- package/.output/server/chunks/build/{_wsId_-BVg3bB77.mjs.map → _wsId_-BxlDcJHg.mjs.map} +1 -1
- package/.output/server/chunks/build/{agents-Bvin73QY.mjs → agents-CLQqJF2y.mjs} +21 -27
- package/.output/server/chunks/build/agents-CLQqJF2y.mjs.map +1 -0
- package/.output/server/chunks/build/{aml-BCSJCdX7.mjs → aml-_7FdFL2p.mjs} +109 -109
- package/.output/server/chunks/build/{aml-BCSJCdX7.mjs.map → aml-_7FdFL2p.mjs.map} +1 -1
- package/.output/server/chunks/build/api-error-dul30BYQ.mjs.map +1 -1
- package/.output/server/chunks/build/{channel-templates-BTq8570n.mjs → channel-templates-p6SZNjlM.mjs} +19 -19
- package/.output/server/chunks/build/{channel-templates-BTq8570n.mjs.map → channel-templates-p6SZNjlM.mjs.map} +1 -1
- package/.output/server/chunks/build/{daq-C03Uu5UE.mjs → daq-cgyjKmJu.mjs} +188 -122
- package/.output/server/chunks/build/daq-cgyjKmJu.mjs.map +1 -0
- package/.output/server/chunks/build/{dcw-6vEYVeje.mjs → dcw-CoTxBlAZ.mjs} +45 -45
- package/.output/server/chunks/build/{dcw-6vEYVeje.mjs.map → dcw-CoTxBlAZ.mjs.map} +1 -1
- package/.output/server/chunks/build/{default-CZmZFpqH.mjs → default-BE4r0FZN.mjs} +152 -58
- package/.output/server/chunks/build/{default-CZmZFpqH.mjs.map → default-BE4r0FZN.mjs.map} +1 -1
- package/.output/server/chunks/build/{logs-B-xhuqln.mjs → logs-BSOeZwwI.mjs} +34 -34
- package/.output/server/chunks/build/{logs-B-xhuqln.mjs.map → logs-BSOeZwwI.mjs.map} +1 -1
- package/.output/server/chunks/build/{monitor-CyfDt4nR.mjs → monitor-C0okQaXz.mjs} +33 -33
- package/.output/server/chunks/build/{monitor-CyfDt4nR.mjs.map → monitor-C0okQaXz.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-BO7yZsXA.mjs → pages-DFxjn9Xa.mjs} +33 -17
- package/.output/server/chunks/build/pages-DFxjn9Xa.mjs.map +1 -0
- package/.output/server/chunks/build/{permissions-B52oOmaO.mjs → permissions-68SsNjex.mjs} +12 -12
- package/.output/server/chunks/build/{permissions-B52oOmaO.mjs.map → permissions-68SsNjex.mjs.map} +1 -1
- package/.output/server/chunks/build/{plugins-CUWmMdyt.mjs → plugins-lGlUr1lj.mjs} +17 -17
- package/.output/server/chunks/build/{plugins-CUWmMdyt.mjs.map → plugins-lGlUr1lj.mjs.map} +1 -1
- package/.output/server/chunks/build/{settings-DoQ2Oq3P.mjs → settings-Ddd1qx2Z.mjs} +50 -47
- package/.output/server/chunks/build/settings-Ddd1qx2Z.mjs.map +1 -0
- package/.output/server/chunks/build/{teams-2kz3CusY.mjs → teams-MEDLZdMn.mjs} +38 -34
- package/.output/server/chunks/build/teams-MEDLZdMn.mjs.map +1 -0
- package/.output/server/chunks/build/{tokens-BbWLqtVz.mjs → tokens-C7fTM5C2.mjs} +14 -14
- package/.output/server/chunks/build/{tokens-BbWLqtVz.mjs.map → tokens-C7fTM5C2.mjs.map} +1 -1
- package/.output/server/chunks/build/{town-BOl6hs9B.mjs → town-qMPql9Se.mjs} +36 -10
- package/.output/server/chunks/build/town-qMPql9Se.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqStream-CIBaiGAl.mjs +1 -1
- package/.output/server/chunks/build/useDcwStream-CBbiYnWe.mjs +1 -1
- package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs +49 -0
- package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs.map +1 -0
- package/.output/server/chunks/build/{users-fohSmF-J.mjs → users-Cfd5-l2-.mjs} +6 -6
- package/.output/server/chunks/build/{users-fohSmF-J.mjs.map → users-Cfd5-l2-.mjs.map} +1 -1
- package/.output/server/chunks/build/{workshop-DX5-ldc4.mjs → workshop-BL5bhfs0.mjs} +15 -15
- package/.output/server/chunks/build/{workshop-DX5-ldc4.mjs.map → workshop-BL5bhfs0.mjs.map} +1 -1
- package/.output/server/chunks/build/{workspaces-BuydxM-3.mjs → workspaces-Bgz5Ekwp.mjs} +18 -3
- package/.output/server/chunks/build/workspaces-Bgz5Ekwp.mjs.map +1 -0
- package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/settings/events.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +6 -2
- package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +3 -3
- package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +3 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +8 -6
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +5 -5
- package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +14 -4
- package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +4 -4
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +4 -3
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +31 -0
- package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +28 -0
- package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +32 -0
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +34 -0
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +33 -0
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +34 -0
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.get.mjs +2 -0
- package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index9.get.mjs +3 -1
- package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs +3 -3
- package/.output/server/chunks/virtual/entry.mjs +51 -25
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +199 -35
- package/README.md +739 -591
- package/app/app.vue +9 -3
- package/app/assets/css/main.css +517 -7
- package/app/components/AppHeader.vue +98 -7
- package/app/components/AppSidebar.vue +117 -11
- package/app/components/AwChart.vue +2 -1
- package/app/components/workshop/AgentInspectorDrawer.vue +6 -6
- package/app/components/workshop/AgentLanesView.vue +52 -1
- package/app/components/workshop/AssetLibrary.vue +4 -2
- package/app/components/workshop/ChannelSessionList.vue +4 -2
- package/app/components/workshop/Composer.vue +96 -0
- package/app/components/workshop/DaqNodeRow.vue +19 -0
- package/app/components/workshop/DaqTemplateIcon.vue +33 -0
- package/app/components/workshop/DeviceTwinPanel.vue +37 -35
- package/app/components/workshop/EventBlock.vue +3 -3
- package/app/components/workshop/InspectorPanel.vue +47 -11
- package/app/components/workshop/LiveAgentBar.vue +34 -0
- package/app/components/workshop/TaskBoardView.vue +83 -33
- package/app/components/workshop/TranscriptTimeline.vue +56 -0
- package/app/components/workshop/blocks/ClusterError.vue +1 -1
- package/app/components/workshop/blocks/ClusterRoute.vue +3 -1
- package/app/components/workshop/blocks/ClusterStatus.vue +2 -2
- package/app/components/workshop/blocks/ClusterStream.vue +8 -2
- package/app/components/workshop/town/ModelPreview3D.vue +1 -1
- package/app/components/workshop/town/TownView.vue +507 -82
- package/app/composables/useResponsive.ts +88 -0
- package/app/composables/useRouteMeta.ts +3 -0
- package/app/composables/workshop/useDcwStream.ts +1 -1
- package/app/composables/workshop/useVisibleInterval.ts +2 -2
- package/app/composables/workshop/useWorkshopApi.ts +1 -1
- package/app/layouts/default.vue +46 -2
- package/app/pages/aml/index.vue +712 -616
- package/app/pages/daq/[id].vue +3 -2
- package/app/pages/daq/index.vue +209 -9
- package/app/pages/dcw/[id].vue +109 -28
- package/app/pages/dcw/index.vue +83 -23
- package/app/pages/index.vue +35 -1
- package/app/pages/logs/index.vue +147 -13
- package/app/pages/monitor.vue +56 -12
- package/app/pages/permissions/index.vue +34 -0
- package/app/pages/plugins/index.vue +35 -4
- package/app/pages/settings.vue +90 -21
- package/app/pages/tokens.vue +23 -0
- package/app/pages/town.vue +50 -5
- package/app/pages/users.vue +23 -0
- package/app/pages/workshop/agents.vue +92 -2
- package/app/pages/workshop/channel-templates.vue +53 -0
- package/app/pages/workshop/index.vue +14 -0
- package/app/pages/workshop/teams.vue +66 -6
- package/app/pages/workshop/w/[wsId].vue +202 -14
- package/app/plugins/aw-plugins.client.ts +13 -8
- package/app/stores/app.ts +33 -1
- package/app/stores/workshop/user.ts +1 -1
- package/app/stores/workshop/workspaces.ts +18 -2
- package/app/utils/api-error.ts +1 -1
- package/cli/commands/build.mjs +8 -1
- package/docker-compose.yml +6 -0
- package/i18n/locales/en.ts +2 -0
- package/i18n/locales/zh-CN.ts +2 -0
- package/nuxt.config.ts +31 -0
- package/package.json +9 -1
- package/scripts/_dbg-param-map-e2e.ts +242 -0
- package/scripts/_dbg-param-map-rest-smoke.mjs +73 -0
- package/scripts/_dbg-param-real-scenario.mjs +153 -0
- package/scripts/api-live-e2e.mjs +40 -8
- package/scripts/capture-walkthrough.mjs +232 -0
- package/scripts/render-walkthrough-figure.mjs +46 -0
- package/scripts/seed-walkthrough-fixture.mjs +143 -0
- package/scripts/test-plugin-hardening.mjs +8 -0
- package/scripts/ui/admin-shots.mjs +46 -0
- package/scripts/ui/audit-layout.mjs +301 -0
- package/scripts/ui/bump-microfont.mjs +39 -0
- package/scripts/ui/lib.mjs +198 -0
- package/scripts/ui/linkcheck2.mjs +37 -0
- package/scripts/ui/live-render-check.mjs +72 -0
- package/scripts/ui/md-lint.mjs +80 -0
- package/scripts/ui/perf-audit.mjs +132 -0
- package/scripts/ui/readme-assets.mjs +30 -0
- package/scripts/ui/readme-shots.mjs +42 -0
- package/scripts/ui/record.mjs +225 -0
- package/scripts/ui/seed-admin.mjs +68 -0
- package/scripts/ui/seed-demo.mjs +83 -0
- package/scripts/ui/shot-hero.mjs +25 -0
- package/scripts/ui/shots.mjs +75 -0
- package/scripts/ui/sim-ui-shot.mjs +16 -0
- package/scripts/ui/verify-nav.mjs +51 -0
- package/scripts/ui/verify-responsive.mjs +285 -0
- package/server/api/system/config-groups/[id].patch.ts +1 -1
- package/server/api/system/config-groups/index.post.ts +1 -1
- package/server/api/system/settings/events.get.ts +1 -1
- package/server/api/system/settings/index.patch.ts +1 -1
- package/server/api/workshop/agent-tools/invoke.post.ts +16 -2
- package/server/api/workshop/aml/datasets/[id].get.ts +8 -1
- package/server/api/workshop/daq/infra/reconnect.post.ts +1 -1
- package/server/api/workshop/daq/templates/[key].delete.ts +1 -0
- package/server/api/workshop/daq/templates/[key].patch.ts +1 -0
- package/server/api/workshop/daq/templates/index.post.ts +1 -0
- package/server/api/workshop/dcw/[id]/write.post.ts +10 -2
- package/server/api/workshop/dcw/[id].delete.ts +5 -2
- package/server/api/workshop/dcw/index.get.ts +2 -0
- package/server/api/workshop/dcw/lines/[id].patch.ts +1 -1
- package/server/api/workshop/dcw/params/[id]/read.post.ts +17 -0
- package/server/api/workshop/dcw/params/[id]/write.post.ts +21 -0
- package/server/api/workshop/dcw/params/[id].delete.ts +19 -0
- package/server/api/workshop/dcw/params/[id].patch.ts +23 -0
- package/server/api/workshop/dcw/params/index.get.ts +27 -0
- package/server/api/workshop/dcw/params/index.post.ts +25 -0
- package/server/api/workshop/permissions/index.get.ts +3 -1
- package/server/plugins/aw-plugins.ts +14 -3
- package/server/plugins/dev-stability-guard.ts +3 -1
- package/server/plugins/system-config.ts +6 -1
- package/server/services/system-config.ts +28 -9
- package/server/services/workshop/agents/adapters/one-shot-cli-agent.ts +2 -1
- package/server/services/workshop/agents/agent-interface.ts +8 -6
- package/server/services/workshop/agents/base-agent.ts +18 -4
- package/server/services/workshop/agents/claude-agent.ts +7 -3
- package/server/services/workshop/agents/codex-agent.ts +3 -3
- package/server/services/workshop/agents/dsh-agent.ts +3 -3
- package/server/services/workshop/agents/goose-agent.ts +0 -1
- package/server/services/workshop/agents/harness-terminal.ts +14 -1
- package/server/services/workshop/agents/hermes-agent.ts +4 -2
- package/server/services/workshop/agents/host-tool-bridge.ts +5 -1
- package/server/services/workshop/agents/industrial-context.ts +4 -1
- package/server/services/workshop/agents/industrial-tools.ts +164 -6
- package/server/services/workshop/agents/omp-agent.ts +15 -9
- package/server/services/workshop/agents/opencode-agent.ts +47 -21
- package/server/services/workshop/agents/qwen-agent.ts +10 -5
- package/server/services/workshop/aml/entity.ts +3 -1
- package/server/services/workshop/aml/python-runtime.ts +3 -2
- package/server/services/workshop/daq/bus/mqtt.adapter.ts +8 -4
- package/server/services/workshop/daq/daq-controller.ts +18 -3
- package/server/services/workshop/daq/daq-runtime.ts +5 -3
- package/server/services/workshop/daq/drivers.ts +63 -8
- package/server/services/workshop/daq/host-ports.ts +3 -2
- package/server/services/workshop/daq/storage/timescale.adapter.ts +3 -1
- package/server/services/workshop/db/channel.repo.ts +4 -0
- package/server/services/workshop/db/ops.repo.ts +5 -2
- package/server/services/workshop/db/retention.ts +8 -3
- package/server/services/workshop/dcw/dcw-controller.ts +143 -16
- package/server/services/workshop/dcw/dcw-product.repo.ts +38 -1
- package/server/services/workshop/dcw/dcw-runtime.ts +3 -2
- package/server/services/workshop/dcw/drivers.ts +5 -2
- package/server/services/workshop/dcw/param-conversion.ts +78 -0
- package/server/services/workshop/dcw/param-limits.ts +142 -0
- package/server/services/workshop/dcw/param-map.repo.ts +305 -0
- package/server/services/workshop/dcw/recipe-rollback-manager.ts +13 -7
- package/server/services/workshop/runtime/agent-runtime.ts +4 -0
- package/server/services/workshop/runtime/manager.ts +9 -2
- package/server/services/workshop/settings.ts +4 -2
- package/server/types/pg.d.ts +49 -0
- package/server/utils/stability-severity.ts +13 -2
- package/shared/config/groups.mjs +22 -1
- package/shared/config/home.d.mts +28 -0
- package/shared/dcw-protocol.ts +136 -0
- package/uno.config.ts +12 -1
- package/.output/public/_nuxt/BFkgkW8u.js +0 -4
- package/.output/public/_nuxt/C5gUkRwn.js +0 -1
- package/.output/public/_nuxt/CM12FuB42.js +0 -1
- package/.output/public/_nuxt/CZiw7sEV.js +0 -1
- package/.output/public/_nuxt/Cc_9VzD42.js +0 -1
- package/.output/public/_nuxt/CdPzkOMV.js +0 -1
- package/.output/public/_nuxt/CmsOtOAA2.js +0 -1
- package/.output/public/_nuxt/D1YDxZpZ.js +0 -1
- package/.output/public/_nuxt/D20Yamr4.js +0 -1
- package/.output/public/_nuxt/DmqknNvV.js +0 -18
- package/.output/public/_nuxt/DnUuIR83.js +0 -1
- package/.output/public/_nuxt/S_fVQwJK.js +0 -1
- package/.output/public/_nuxt/TownView.0oLiQgTC.css +0 -1
- package/.output/public/_nuxt/_id_.D-SYuyZb.css +0 -1
- package/.output/public/_nuxt/_id_.hma_BU6T.css +0 -1
- package/.output/public/_nuxt/_wsId_.B12v3PhY.css +0 -1
- package/.output/public/_nuxt/agents.BV70ioCv.css +0 -1
- package/.output/public/_nuxt/ahgEJu2R.js +0 -1
- package/.output/public/_nuxt/aml.COEKNNqK.css +0 -1
- package/.output/public/_nuxt/builds/meta/4457d63f-0866-4cea-b320-04a321f24795.json +0 -1
- package/.output/public/_nuxt/channel-templates.C-M5nKcC.css +0 -1
- package/.output/public/_nuxt/daq.B3265ZDn.css +0 -1
- package/.output/public/_nuxt/dcw.DLYZqEhT.css +0 -1
- package/.output/public/_nuxt/default.BXI_fZUi.css +0 -1
- package/.output/public/_nuxt/entry.BB-Eeh-J.css +0 -1
- package/.output/public/_nuxt/logs.CqFyMrJw.css +0 -1
- package/.output/public/_nuxt/monitor.B--1dPzs.css +0 -1
- package/.output/public/_nuxt/pages.ooEzrMm9.css +0 -1
- package/.output/public/_nuxt/permissions.B1pjGChZ.css +0 -1
- package/.output/public/_nuxt/plugins.5e5chZ67.css +0 -1
- package/.output/public/_nuxt/pz2JDAM7.js +0 -2
- package/.output/public/_nuxt/settings.Dm3M0RLy.css +0 -1
- package/.output/public/_nuxt/teams.BC75EGnR.css +0 -1
- package/.output/public/_nuxt/tokens.xRb1fSPU.css +0 -1
- package/.output/public/_nuxt/users.CXnP2E08.css +0 -1
- package/.output/public/_nuxt/workshop.Jk5HxWPE.css +0 -1
- package/.output/server/chunks/build/TownView-jVazYOjN.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-Hwr4rZpr.mjs.map +0 -1
- package/.output/server/chunks/build/agents-Bvin73QY.mjs.map +0 -1
- package/.output/server/chunks/build/daq-C03Uu5UE.mjs.map +0 -1
- package/.output/server/chunks/build/pages-BO7yZsXA.mjs.map +0 -1
- package/.output/server/chunks/build/settings-DoQ2Oq3P.mjs.map +0 -1
- package/.output/server/chunks/build/teams-2kz3CusY.mjs.map +0 -1
- package/.output/server/chunks/build/town-BOl6hs9B.mjs.map +0 -1
- package/.output/server/chunks/build/workspaces-BuydxM-3.mjs.map +0 -1
- /package/.output/public/_nuxt/{36oeS8_R2.js → 36oeS8_R.js} +0 -0
- /package/.output/public/_nuxt/{CYWVXZTS.js → CYWVXZTS2.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as e,I as t,L as n,M as r,N as i,P as a,bt as o,c as s,ft as c,ht as l,j as u,lt as d,mt as f,s as p,ut as m,vt as h,xt as g,yt as _}from"./BU83-NnX.js";import{$ as v,B as y,C as b,D as x,H as S,M as C,O as w,P as T,R as E,S as D,_t as O,b as k,c as A,d as j,dt as M,et as N,gt as P,ht as F,i as I,j as L,nt as R,pt as z,u as ee,vt as te,y as ne,z as re}from"./CSkxz2NX.js";import{t as B,u as V}from"./D6uzXueg.js";import{$ as H,At as U,D as ie,F as W,L as ae,O as oe,Ot as se,Q as G,R as ce,St as K,Tt as le,X as q,Y as J,_ as ue,at as de,ct as fe,d as pe,et as Y,f as me,gt as he,h as ge,it as _e,jt as X,m as ve,n as ye,o as be,p as xe,st as Se,t as Z,tt as Q,u as Ce,ut as we,wt as $,xt as Te,yt as Ee,z as De}from"./4sIEbgcl.js";import{O as Oe,Q as ke,T as Ae,i as je,j as Me,k as Ne,n as Pe,p as Fe,r as Ie,t as Le,u as Re,w as ze}from"./DYr1VMiQ.js";import{a as Be,n as Ve,o as He,t as Ue}from"./aWWIh8YL.js";import{T as We,d as Ge,m as Ke,s as qe,t as Je}from"./DBHNsT1Y.js";import{a as Ye,n as Xe}from"./BCGafdXT.js";import{t as Ze}from"./CzlMDL5H.js";import{r as Qe}from"./C3gwHTz0.js";import{n as $e}from"./JCoYF4IJ.js";import{t as et}from"./Crod5z2f.js";import{r as tt,t as nt}from"./CYWVXZTS.js";import{t as rt}from"./C4DWUZ6d2.js";import{t as it}from"./DZtm4l-P2.js";import{t as at}from"./kZl6yT-12.js";var ot=e=>({color:e.colorLink,textDecoration:`none`,outline:`none`,cursor:`pointer`,transition:`color ${e.motionDurationSlow}`,"&:focus, &:hover":{color:e.colorLinkHover},"&:active":{color:e.colorLinkActive}});function st(e,t,n,r){let i=n-t;return e/=r/2,e<1?i/2*e*e*e+t:i/2*((e-=2)*e*e+2)+t}function ct(e){return e!=null&&e===e.window}function lt(e,t){if(typeof window>`u`)return 0;let n=t?`scrollTop`:`scrollLeft`,r=0;return ct(e)?r=e[t?`scrollY`:`scrollX`]:e instanceof Document?r=e.documentElement[n]:(e instanceof HTMLElement||e)&&(r=e[n]),e&&!ct(e)&&typeof r!=`number`&&(r=(e.ownerDocument??e).documentElement?.[n]),r}function ut(e){let{getContainer:t=()=>window,callback:n,duration:r=450}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=t(),a=lt(i,!0),o=Date.now(),s=()=>{let t=Date.now()-o,c=st(t>r?r:t,a,e,r);ct(i)?i.scrollTo(window.scrollX,c):i instanceof Document?i.documentElement.scrollTop=c:i.scrollTop=c,t<r?g(s):typeof n==`function`&&n()};g(s)}function dt(e){for(var t=-1,n=e==null?0:e.length,r={};++t<n;){var i=e[t];We(r,i[0],i[1])}return r}function ft(){let e=F({}),t=null,n=Qe();return E(()=>{t=n.value.subscribe(t=>{e.value=t})}),re(()=>{n.value.unsubscribe(t)}),e}function pt(e){let t=F();return N(()=>{t.value=e()},{flush:`sync`}),t}var mt=Symbol(`TreeContextKey`),ht=D({compatConfig:{MODE:3},name:`TreeContext`,props:{value:{type:Object}},setup(e,t){let{slots:n}=t;return S(mt,j(()=>e.value)),()=>n.default?.call(n)}}),gt=()=>x(mt,j(()=>({}))),_t=Symbol(`KeysStateKey`),vt=e=>{S(_t,e)},yt=()=>x(_t,{expandedKeys:F([]),selectedKeys:F([]),loadedKeys:F([]),loadingKeys:F([]),checkedKeys:F([]),halfCheckedKeys:F([]),expandedKeysSet:j(()=>new Set),selectedKeysSet:j(()=>new Set),loadedKeysSet:j(()=>new Set),loadingKeysSet:j(()=>new Set),checkedKeysSet:j(()=>new Set),halfCheckedKeysSet:j(()=>new Set),flattenNodes:F([])}),bt=e=>{let{prefixCls:t,level:n,isStart:r,isEnd:i}=e,a=`${t}-indent-unit`,o=[];for(let e=0;e<n;e+=1)o.push(k(`span`,{key:e,class:{[a]:!0,[`${a}-start`]:r[e],[`${a}-end`]:i[e]}},null));return k(`span`,{"aria-hidden":`true`,class:`${t}-indent`},[o])},xt={eventKey:[String,Number],prefixCls:String,title:Z.any,data:{type:Object,default:void 0},parent:{type:Object,default:void 0},isStart:{type:Array},isEnd:{type:Array},active:{type:Boolean,default:void 0},onMousemove:{type:Function},isLeaf:{type:Boolean,default:void 0},checkable:{type:Boolean,default:void 0},selectable:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},disableCheckbox:{type:Boolean,default:void 0},icon:Z.any,switcherIcon:Z.any,domRef:{type:Function}},St={prefixCls:{type:String},motion:{type:Object},focusable:{type:Boolean},activeItem:{type:Object},focused:{type:Boolean},tabindex:{type:Number},checkable:{type:Boolean},selectable:{type:Boolean},disabled:{type:Boolean},height:{type:Number},itemHeight:{type:Number},virtual:{type:Boolean},onScroll:{type:Function},onKeydown:{type:Function},onFocus:{type:Function},onBlur:{type:Function},onActiveChange:{type:Function},onContextmenu:{type:Function},onListChangeStart:{type:Function},onListChangeEnd:{type:Function}},Ct=()=>({prefixCls:String,focusable:{type:Boolean,default:void 0},activeKey:[Number,String],tabindex:Number,children:Z.any,treeData:{type:Array},fieldNames:{type:Object},showLine:{type:[Boolean,Object],default:void 0},showIcon:{type:Boolean,default:void 0},icon:Z.any,selectable:{type:Boolean,default:void 0},expandAction:[String,Boolean],disabled:{type:Boolean,default:void 0},multiple:{type:Boolean,default:void 0},checkable:{type:Boolean,default:void 0},checkStrictly:{type:Boolean,default:void 0},draggable:{type:[Function,Boolean]},defaultExpandParent:{type:Boolean,default:void 0},autoExpandParent:{type:Boolean,default:void 0},defaultExpandAll:{type:Boolean,default:void 0},defaultExpandedKeys:{type:Array},expandedKeys:{type:Array},defaultCheckedKeys:{type:Array},checkedKeys:{type:[Object,Array]},defaultSelectedKeys:{type:Array},selectedKeys:{type:Array},allowDrop:{type:Function},dropIndicatorRender:{type:Function},onFocus:{type:Function},onBlur:{type:Function},onKeydown:{type:Function},onContextmenu:{type:Function},onClick:{type:Function},onDblclick:{type:Function},onScroll:{type:Function},onExpand:{type:Function},onCheck:{type:Function},onSelect:{type:Function},onLoad:{type:Function},loadData:{type:Function},loadedKeys:{type:Array},onMouseenter:{type:Function},onMouseleave:{type:Function},onRightClick:{type:Function},onDragstart:{type:Function},onDragenter:{type:Function},onDragover:{type:Function},onDragleave:{type:Function},onDragend:{type:Function},onDrop:{type:Function},onActiveChange:{type:Function},filterTreeNode:{type:Function},motion:Z.any,switcherIcon:Z.any,height:Number,itemHeight:Number,virtual:{type:Boolean,default:void 0},direction:{type:String},rootClassName:String,rootStyle:Object}),wt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Tt=`open`,Et=`close`,Dt=`---`,Ot=D({compatConfig:{MODE:3},name:`ATreeNode`,inheritAttrs:!1,props:xt,isTreeNode:1,setup(e,t){let{attrs:n,slots:r,expose:a}=t;`slots`in e.data,`${Object.keys(e.data.slots||{}).map(e=>"`v-slot:"+e+"` ")}`;let o=F(!1),s=gt(),{expandedKeysSet:c,selectedKeysSet:l,loadedKeysSet:u,loadingKeysSet:d,checkedKeysSet:f,halfCheckedKeysSet:p}=yt(),{dragOverNodeKey:m,dropPosition:h,keyEntities:g}=s.value,_=j(()=>Jt(e.eventKey,{expandedKeysSet:c.value,selectedKeysSet:l.value,loadedKeysSet:u.value,loadingKeysSet:d.value,checkedKeysSet:f.value,halfCheckedKeysSet:p.value,dragOverNodeKey:m,dropPosition:h,keyEntities:g})),v=pt(()=>_.value.expanded),x=pt(()=>_.value.selected),S=pt(()=>_.value.checked),C=pt(()=>_.value.loaded),w=pt(()=>_.value.loading),T=pt(()=>_.value.halfChecked),D=pt(()=>_.value.dragOver),O=pt(()=>_.value.dragOverGapTop),A=pt(()=>_.value.dragOverGapBottom),N=pt(()=>_.value.pos),P=F(),I=j(()=>{let{eventKey:t}=e,{keyEntities:n}=s.value,{children:r}=n[t]||{};return!!(r||[]).length}),L=j(()=>{let{isLeaf:t}=e,{loadData:n}=s.value,r=I.value;return t===!1?!1:t||!n&&!r||n&&C.value&&!r}),R=j(()=>L.value?null:v.value?Tt:Et),z=j(()=>{let{disabled:t}=e,{disabled:n}=s.value;return!!(n||t)}),ee=j(()=>{let{checkable:t}=e,{checkable:n}=s.value;return!n||t===!1?!1:n}),te=j(()=>{let{selectable:t}=e,{selectable:n}=s.value;return typeof t==`boolean`?t:n}),ne=j(()=>{let{data:t,active:n,checkable:r,disableCheckbox:i,disabled:a,selectable:o}=e;return U(U({active:n,checkable:r,disableCheckbox:i,disabled:a,selectable:o},t),{dataRef:t,data:t,isLeaf:L.value,checked:S.value,expanded:v.value,loading:w.value,selected:x.value,halfChecked:T.value})}),re=b(),B=j(()=>{let{eventKey:t}=e,{keyEntities:n}=s.value,{parent:r}=n[t]||{};return U(U({},Yt(U({},e,_.value))),{parent:r})}),V=M({eventData:B,eventKey:j(()=>e.eventKey),selectHandle:P,pos:N,key:re.vnode.key});a(V);let H=e=>{let{onNodeDoubleClick:t}=s.value;t(e,B.value)},ie=e=>{if(z.value)return;let{onNodeSelect:t}=s.value;e.preventDefault(),t(e,B.value)},W=t=>{if(z.value)return;let{disableCheckbox:n}=e,{onNodeCheck:r}=s.value;if(!ee.value||n)return;t.preventDefault();let i=!S.value;r(t,B.value,i)},ae=e=>{let{onNodeClick:t}=s.value;t(e,B.value),te.value?ie(e):W(e)},oe=e=>{let{onNodeMouseEnter:t}=s.value;t(e,B.value)},se=e=>{let{onNodeMouseLeave:t}=s.value;t(e,B.value)},G=e=>{let{onNodeContextMenu:t}=s.value;t(e,B.value)},ce=e=>{let{onNodeDragStart:t}=s.value;e.stopPropagation(),o.value=!0,t(e,V);try{e.dataTransfer.setData(`text/plain`,``)}catch{}},K=e=>{let{onNodeDragEnter:t}=s.value;e.preventDefault(),e.stopPropagation(),t(e,V)},le=e=>{let{onNodeDragOver:t}=s.value;e.preventDefault(),e.stopPropagation(),t(e,V)},q=e=>{let{onNodeDragLeave:t}=s.value;e.stopPropagation(),t(e,V)},J=e=>{let{onNodeDragEnd:t}=s.value;e.stopPropagation(),o.value=!1,t(e,V)},ue=e=>{let{onNodeDrop:t}=s.value;e.preventDefault(),e.stopPropagation(),o.value=!1,t(e,V)},de=e=>{let{onNodeExpand:t}=s.value;w.value||t(e,B.value)},fe=()=>{let{data:t}=e,{draggable:n}=s.value;return!!(n&&(!n.nodeDraggable||n.nodeDraggable(t)))},pe=()=>{let{draggable:e,prefixCls:t}=s.value;return e&&e?.icon?k(`span`,{class:`${t}-draggable-icon`},[e.icon]):null},Y=()=>{let{switcherIcon:t=r.switcherIcon||s.value.slots?.[e.data?.slots?.switcherIcon]}=e,{switcherIcon:n}=s.value,i=t||n;return typeof i==`function`?i(ne.value):i},me=()=>{let{loadData:e,onNodeLoad:t}=s.value;w.value||e&&v.value&&!L.value&&!I.value&&!C.value&&t(B.value)};E(()=>{me()}),y(()=>{me()});let he=()=>{let{prefixCls:e}=s.value,t=Y();if(L.value)return t===!1?null:k(`span`,{class:$(`${e}-switcher`,`${e}-switcher-noop`)},[t]);let n=$(`${e}-switcher`,`${e}-switcher_${v.value?Tt:Et}`);return t===!1?null:k(`span`,{onClick:de,class:n},[t])},ge=()=>{var t;let{disableCheckbox:n}=e,{prefixCls:r}=s.value,i=z.value;return ee.value?k(`span`,{class:$(`${r}-checkbox`,S.value&&`${r}-checkbox-checked`,!S.value&&T.value&&`${r}-checkbox-indeterminate`,(i||n)&&`${r}-checkbox-disabled`),onClick:W},[(t=s.value).customCheckable?.call(t)]):null},_e=()=>{let{prefixCls:e}=s.value;return k(`span`,{class:$(`${e}-iconEle`,`${e}-icon__${R.value||`docu`}`,w.value&&`${e}-icon_loading`)},null)},ve=()=>{let{disabled:t,eventKey:n}=e,{draggable:r,dropLevelOffset:i,dropPosition:a,prefixCls:o,indent:c,dropIndicatorRender:l,dragOverNodeKey:u,direction:d}=s.value;return!t&&r!==!1&&u===n?l({dropPosition:a,dropLevelOffset:i,indent:c,prefixCls:o,direction:d}):null},ye=()=>{let{icon:t=r.icon,data:n}=e,i=r.title||s.value.slots?.[e.data?.slots?.title]||s.value.slots?.title||e.title,{prefixCls:a,showIcon:c,icon:l,loadData:u}=s.value,d=z.value,f=`${a}-node-content-wrapper`,p;if(c){let e=t||s.value.slots?.[n?.slots?.icon]||l;p=e?k(`span`,{class:$(`${a}-iconEle`,`${a}-icon__customize`)},[typeof e==`function`?e(ne.value):e]):_e()}else u&&w.value&&(p=_e());let m;m=typeof i==`function`?i(ne.value):i,m=m===void 0?Dt:m;let h=k(`span`,{class:`${a}-title`},[m]);return k(`span`,{ref:P,title:typeof i==`string`?i:``,class:$(`${f}`,`${f}-${R.value||`normal`}`,!d&&(x.value||o.value)&&`${a}-node-selected`),onMouseenter:oe,onMouseleave:se,onContextmenu:G,onClick:ae,onDblclick:H},[p,h,ve()])};return()=>{let t=U(U({},e),n),{eventKey:r,isLeaf:a,isStart:o,isEnd:c,domRef:l,active:u,data:d,onMousemove:f,selectable:p}=t,m=wt(t,[`eventKey`,`isLeaf`,`isStart`,`isEnd`,`domRef`,`active`,`data`,`onMousemove`,`selectable`]),{prefixCls:h,filterTreeNode:g,keyEntities:_,dropContainerKey:y,dropTargetKey:b,draggingNodeKey:C}=s.value,E=z.value,j=i(m,{aria:!0,data:!0}),{level:M}=_[r]||{},N=c[c.length-1],P=fe(),F=!E&&P,I=C===r,L=p===void 0?void 0:{"aria-selected":!!p};return k(`div`,X(X({ref:l,class:$(n.class,`${h}-treenode`,{[`${h}-treenode-disabled`]:E,[`${h}-treenode-switcher-${v.value?`open`:`close`}`]:!a,[`${h}-treenode-checkbox-checked`]:S.value,[`${h}-treenode-checkbox-indeterminate`]:T.value,[`${h}-treenode-selected`]:x.value,[`${h}-treenode-loading`]:w.value,[`${h}-treenode-active`]:u,[`${h}-treenode-leaf-last`]:N,[`${h}-treenode-draggable`]:F,dragging:I,"drop-target":b===r,"drop-container":y===r,"drag-over":!E&&D.value,"drag-over-gap-top":!E&&O.value,"drag-over-gap-bottom":!E&&A.value,"filter-node":g&&g(B.value)}),style:n.style,draggable:F,"aria-grabbed":I,onDragstart:F?ce:void 0,onDragenter:P?K:void 0,onDragover:P?le:void 0,onDragleave:P?q:void 0,onDrop:P?ue:void 0,onDragend:P?J:void 0,onMousemove:f},L),j),[k(bt,{prefixCls:h,level:M,isStart:o,isEnd:c},null),pe(),he(),ge(),ye()])}}});function kt(e,t){if(!e)return[];let n=e.slice(),r=n.indexOf(t);return r>=0&&n.splice(r,1),n}function At(e,t){let n=(e||[]).slice();return n.indexOf(t)===-1&&n.push(t),n}function jt(e){return e.split(`-`)}function Mt(e,t){return`${e}-${t}`}function Nt(e){return e&&e.type&&e.type.isTreeNode}function Pt(e,t){let n=[],r=t[e];function i(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(e=>{let{key:t,children:r}=e;n.push(t),i(r)})}return i(r.children),n}function Ft(e){if(e.parent){let t=jt(e.pos);return Number(t[t.length-1])===e.parent.children.length-1}return!1}function It(e){let t=jt(e.pos);return Number(t[t.length-1])===0}function Lt(e,t,n,r,i,a,o,s,c,l){let{clientX:u,clientY:d}=e,{top:f,height:p}=e.target.getBoundingClientRect(),m=((l===`rtl`?-1:1)*((i?.x||0)-u)-12)/r,h=s[n.eventKey];if(d<f+p/2){let e=o.findIndex(e=>e.key===h.key);h=s[o[e<=0?0:e-1].key]}let g=h.key,_=h,v=h.key,y=0,b=0;if(!c.has(g))for(let e=0;e<m&&Ft(h);e+=1)h=h.parent,b+=1;let x=t.eventData,S=h.node,C=!0;return It(h)&&h.level===0&&d<f+p/2&&a({dragNode:x,dropNode:S,dropPosition:-1})&&h.key===n.eventKey?y=-1:(_.children||[]).length&&c.has(v)?a({dragNode:x,dropNode:S,dropPosition:0})?y=0:C=!1:b===0?m>-1.5?a({dragNode:x,dropNode:S,dropPosition:1})?y=1:C=!1:a({dragNode:x,dropNode:S,dropPosition:0})?y=0:a({dragNode:x,dropNode:S,dropPosition:1})?y=1:C=!1:a({dragNode:x,dropNode:S,dropPosition:1})?y=1:C=!1,{dropPosition:y,dropLevelOffset:b,dropTargetKey:h.key,dropTargetPos:h.pos,dragOverNodeKey:v,dropContainerKey:y===0?null:h.parent?.key||null,dropAllowed:C}}function Rt(e,t){if(!e)return;let{multiple:n}=t;return n?e.slice():e.length?[e[0]]:e}function zt(e){if(!e)return null;let t;if(Array.isArray(e))t={checkedKeys:e,halfCheckedKeys:void 0};else if(typeof e==`object`)t={checkedKeys:e.checked||void 0,halfCheckedKeys:e.halfChecked||void 0};else return null;return t}function Bt(e,t){let n=new Set;function r(e){if(n.has(e))return;let i=t[e];if(!i)return;n.add(e);let{parent:a,node:o}=i;o.disabled||a&&r(a.key)}return(e||[]).forEach(e=>{r(e)}),[...n]}var Vt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};function Ht(e,t){return e??t}function Ut(e){let{title:t,_title:n,key:r,children:i}=e||{},a=t||`title`;return{title:a,_title:n||[a],key:r||`key`,children:i||`children`}}function Wt(e){function t(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return de(e).map(e=>{if(!Nt(e))return null;let n=e.children||{},r=e.key,i={};for(let[t,n]of Object.entries(e.props))i[le(t)]=n;let{isLeaf:a,checkable:o,selectable:s,disabled:c,disableCheckbox:l}=i,u={isLeaf:a||a===``||void 0,checkable:o||o===``||void 0,selectable:s||s===``||void 0,disabled:c||c===``||void 0,disableCheckbox:l||l===``||void 0},d=U(U({},i),u),{title:f=n.title?.call(n,d),icon:p=n.icon?.call(n,d),switcherIcon:m=n.switcherIcon?.call(n,d)}=i,h=Vt(i,[`title`,`icon`,`switcherIcon`]),g=n.default?.call(n),_=U(U(U({},h),{title:f,icon:p,switcherIcon:m,key:r,isLeaf:a}),u),v=t(g);return v.length&&(_.children=v),_})}return t(e)}function Gt(e,t,n){let{_title:r,key:i,children:a}=Ut(n),o=new Set(t===!0?[]:t),s=[];function c(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.map((u,d)=>{let f=Mt(n?n.pos:`0`,d),p=Ht(u[i],f),m;for(let e=0;e<r.length;e+=1){let t=r[e];if(u[t]!==void 0){m=u[t];break}}let h=U(U({},l(u,[...r,i,a])),{title:m,key:p,parent:n,pos:f,children:null,data:u,isStart:[...n?n.isStart:[],d===0],isEnd:[...n?n.isEnd:[],d===e.length-1]});return s.push(h),h.children=t===!0||o.has(p)?c(u[a]||[],h):[],h})}return c(e),s}function Kt(e,t,n){let r={};r=typeof n==`object`?n:{externalGetKey:n},r||={};let{childrenPropName:i,externalGetKey:a,fieldNames:o}=r,{key:s,children:c}=Ut(o),l=i||c,u;a?typeof a==`string`?u=e=>e[a]:typeof a==`function`&&(u=e=>a(e)):u=(e,t)=>Ht(e[s],t);function d(n,r,i,a){let o=n?n[l]:e,s=n?Mt(i.pos,r):`0`,c=n?[...a,n]:[];n&&t({node:n,index:r,pos:s,key:u(n,s),parentPos:i.node?i.pos:null,level:i.level+1,nodes:c}),o&&o.forEach((e,t)=>{d(e,t,{node:n,pos:s,level:i?i.level+1:-1},c)})}d(null)}function qt(e){let{initWrapper:t,processEntity:n,onProcessFinished:r,externalGetKey:i,childrenPropName:a,fieldNames:o}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0,c=i||s,l={},u={},d={posEntities:l,keyEntities:u};return t&&(d=t(d)||d),Kt(e,e=>{let{node:t,index:r,pos:i,key:a,parentPos:o,level:s,nodes:c}=e,f={node:t,nodes:c,index:r,key:a,pos:i,level:s},p=Ht(a,i);l[i]=f,u[p]=f,f.parent=l[o],f.parent&&(f.parent.children=f.parent.children||[],f.parent.children.push(f)),n&&n(f,d)},{externalGetKey:c,childrenPropName:a,fieldNames:o}),r&&r(d),d}function Jt(e,t){let{expandedKeysSet:n,selectedKeysSet:r,loadedKeysSet:i,loadingKeysSet:a,checkedKeysSet:o,halfCheckedKeysSet:s,dragOverNodeKey:c,dropPosition:l,keyEntities:u}=t,d=u[e];return{eventKey:e,expanded:n.has(e),selected:r.has(e),loaded:i.has(e),loading:a.has(e),checked:o.has(e),halfChecked:s.has(e),pos:String(d?d.pos:``),parent:d.parent,dragOver:c===e&&l===0,dragOverGapTop:c===e&&l===-1,dragOverGapBottom:c===e&&l===1}}function Yt(e){let{data:t,expanded:n,selected:r,checked:i,loaded:a,loading:o,halfChecked:s,dragOver:c,dragOverGapTop:l,dragOverGapBottom:u,pos:d,active:f,eventKey:p}=e,m=U(U({dataRef:t},t),{expanded:n,selected:r,checked:i,loaded:a,loading:o,halfChecked:s,dragOver:c,dragOverGapTop:l,dragOverGapBottom:u,pos:d,active:f,eventKey:p,key:p});return`props`in m||Object.defineProperty(m,"props",{get(){return e}}),m}function Xt(e,t){let n=new Set;return e.forEach(e=>{t.has(e)||n.add(e)}),n}function Zt(e){let{disabled:t,disableCheckbox:n,checkable:r}=e||{};return!!(t||n)||r===!1}function Qt(e,t,n,r){let i=new Set(e),a=new Set;for(let e=0;e<=n;e+=1)(t.get(e)||new Set).forEach(e=>{let{key:t,node:n,children:a=[]}=e;i.has(t)&&!r(n)&&a.filter(e=>!r(e.node)).forEach(e=>{i.add(e.key)})});let o=new Set;for(let e=n;e>=0;--e)(t.get(e)||new Set).forEach(e=>{let{parent:t,node:n}=e;if(r(n)||!e.parent||o.has(e.parent.key))return;if(r(e.parent.node)){o.add(t.key);return}let s=!0,c=!1;(t.children||[]).filter(e=>!r(e.node)).forEach(e=>{let{key:t}=e,n=i.has(t);s&&!n&&(s=!1),!c&&(n||a.has(t))&&(c=!0)}),s&&i.add(t.key),c&&a.add(t.key),o.add(t.key)});return{checkedKeys:Array.from(i),halfCheckedKeys:Array.from(Xt(a,i))}}function $t(e,t,n,r,i){let a=new Set(e),o=new Set(t);for(let e=0;e<=r;e+=1)(n.get(e)||new Set).forEach(e=>{let{key:t,node:n,children:r=[]}=e;!a.has(t)&&!o.has(t)&&!i(n)&&r.filter(e=>!i(e.node)).forEach(e=>{a.delete(e.key)})});o=new Set;let s=new Set;for(let e=r;e>=0;--e)(n.get(e)||new Set).forEach(e=>{let{parent:t,node:n}=e;if(i(n)||!e.parent||s.has(e.parent.key))return;if(i(e.parent.node)){s.add(t.key);return}let r=!0,c=!1;(t.children||[]).filter(e=>!i(e.node)).forEach(e=>{let{key:t}=e,n=a.has(t);r&&!n&&(r=!1),!c&&(n||o.has(t))&&(c=!0)}),r||a.delete(t.key),c&&o.add(t.key),s.add(t.key)});return{checkedKeys:Array.from(a),halfCheckedKeys:Array.from(Xt(o,a))}}function en(e,t,n,r,i,a){let o=[],s;s=a||Zt;let c=new Set(e.filter(e=>{let t=!!n[e];return t||o.push(e),t}));o.length,`${o.slice(0,100).map(e=>`'${e}'`).join(`, `)}`;let l;return l=t===!0?Qt(c,i,r,s):$t(c,t.halfCheckedKeys,i,r,s),l}function tn(e){let t=z(0),n=F();return N(()=>{let r=new Map,i=0,a=e.value||{};for(let e in a)if(Object.prototype.hasOwnProperty.call(a,e)){let t=a[e],{level:n}=t,o=r.get(n);o||(o=new Set,r.set(n,o)),o.add(t),i=Math.max(i,n)}t.value=i,n.value=r}),{maxLevel:t,levelEntities:n}}var nn={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z`}}]},name:`double-left`,theme:`outlined`};function rn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){an(e,t,n[t])})}return e}function an(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var on=function(e,t){var n=rn({},e,t.attrs);return k(u,rn({},n,{icon:nn}),null)};on.displayName=`DoubleLeftOutlined`,on.inheritAttrs=!1;var sn={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z`}}]},name:`double-right`,theme:`outlined`};function cn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){ln(e,t,n[t])})}return e}function ln(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var un=function(e,t){var n=cn({},e,t.attrs);return k(u,cn({},n,{icon:sn}),null)};un.displayName=`DoubleRightOutlined`,un.inheritAttrs=!1;var dn=D({name:`MiniSelect`,compatConfig:{MODE:3},inheritAttrs:!1,props:Ve(),Option:Ue.Option,setup(e,t){let{attrs:n,slots:r}=t;return()=>{let t=U(U(U({},e),{size:`small`}),n);return k(Ue,t,r)}}}),fn=D({name:`MiddleSelect`,inheritAttrs:!1,props:Ve(),Option:Ue.Option,setup(e,t){let{attrs:n,slots:r}=t;return()=>{let t=U(U(U({},e),{size:`middle`}),n);return k(Ue,t,r)}}}),pn=D({compatConfig:{MODE:3},name:`Pager`,inheritAttrs:!1,props:{rootPrefixCls:String,page:Number,active:{type:Boolean,default:void 0},last:{type:Boolean,default:void 0},locale:Z.object,showTitle:{type:Boolean,default:void 0},itemRender:{type:Function,default:()=>{}},onClick:{type:Function},onKeypress:{type:Function}},eimt:[`click`,`keypress`],setup(e,t){let{emit:n,attrs:r}=t,i=()=>{n(`click`,e.page)},a=t=>{n(`keypress`,t,i,e.page)};return()=>{let{showTitle:t,page:n,itemRender:o}=e,{class:s,style:c}=r,l=`${e.rootPrefixCls}-item`,u=$(l,`${l}-${e.page}`,{[`${l}-active`]:e.active,[`${l}-disabled`]:!e.page},s);return k(`li`,{onClick:i,onKeypress:a,title:t?String(n):null,tabindex:`0`,class:u,style:c},[o({page:n,type:`page`,originalElement:k(`a`,{rel:`nofollow`},[n])})])}}}),mn={ZERO:48,NINE:57,NUMPAD_ZERO:96,NUMPAD_NINE:105,BACKSPACE:8,DELETE:46,ENTER:13,ARROW_UP:38,ARROW_DOWN:40},hn=D({compatConfig:{MODE:3},props:{disabled:{type:Boolean,default:void 0},changeSize:Function,quickGo:Function,selectComponentClass:Z.any,current:Number,pageSizeOptions:Z.array.def([`10`,`20`,`50`,`100`]),pageSize:Number,buildOptionText:Function,locale:Z.object,rootPrefixCls:String,selectPrefixCls:String,goButton:Z.any},setup(e){let t=z(``),n=j(()=>!t.value||isNaN(t.value)?void 0:Number(t.value)),r=t=>`${t.value} ${e.locale.items_per_page}`,i=e=>{let{value:n}=e.target;t.value!==n&&(t.value=n)},a=r=>{let{goButton:i,quickGo:a,rootPrefixCls:o}=e;if(!(i||t.value===``)){if(r.relatedTarget&&(r.relatedTarget.className.indexOf(`${o}-item-link`)>=0||r.relatedTarget.className.indexOf(`${o}-item`)>=0)){t.value=``;return}a(n.value),t.value=``}},o=r=>{t.value!==``&&(r.keyCode===mn.ENTER||r.type===`click`)&&(e.quickGo(n.value),t.value=``)},s=j(()=>{let{pageSize:t,pageSizeOptions:n}=e;return n.some(e=>e.toString()===t.toString())?n:n.concat([t.toString()]).sort((e,t)=>(isNaN(Number(e))?0:Number(e))-(isNaN(Number(t))?0:Number(t)))});return()=>{let{rootPrefixCls:n,locale:c,changeSize:l,quickGo:u,goButton:d,selectComponentClass:f,selectPrefixCls:p,pageSize:m,disabled:h}=e,g=`${n}-options`,_=null,v=null,y=null;if(!l&&!u)return null;if(l&&f){let t=e.buildOptionText||r,n=s.value.map((e,n)=>k(f.Option,{key:n,value:e},{default:()=>[t({value:e})]}));_=k(f,{disabled:h,prefixCls:p,showSearch:!1,class:`${g}-size-changer`,optionLabelProp:`children`,value:(m||s.value[0]).toString(),onChange:e=>l(Number(e)),getPopupContainer:e=>e.parentNode},{default:()=>[n]})}return u&&(d&&(y=typeof d==`boolean`?k(`button`,{type:`button`,onClick:o,onKeyup:o,disabled:h,class:`${g}-quick-jumper-button`},[c.jump_to_confirm]):k(`span`,{onClick:o,onKeyup:o},[d])),v=k(`div`,{class:`${g}-quick-jumper`},[c.jump_to,k(Oe,{disabled:h,type:`text`,value:t.value,onInput:i,onChange:i,onKeyup:o,onBlur:a},null),c.page,y])),k(`li`,{class:`${g}`},[_,v])}}}),gn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};function _n(e){return typeof e==`number`&&isFinite(e)&&Math.floor(e)===e}function vn(e){let{originalElement:t}=e;return t}function yn(e,t,n){let r=e===void 0?t.statePageSize:e;return Math.floor((n.total-1)/r)+1}var bn=D({compatConfig:{MODE:3},name:`Pagination`,mixins:[Me],inheritAttrs:!1,props:{disabled:{type:Boolean,default:void 0},prefixCls:Z.string.def(`rc-pagination`),selectPrefixCls:Z.string.def(`rc-select`),current:Number,defaultCurrent:Z.number.def(1),total:Z.number.def(0),pageSize:Number,defaultPageSize:Z.number.def(10),hideOnSinglePage:{type:Boolean,default:!1},showSizeChanger:{type:Boolean,default:void 0},showLessItems:{type:Boolean,default:!1},selectComponentClass:Z.any,showPrevNextJumpers:{type:Boolean,default:!0},showQuickJumper:Z.oneOfType([Z.looseBool,Z.object]).def(!1),showTitle:{type:Boolean,default:!0},pageSizeOptions:Z.arrayOf(Z.oneOfType([Z.number,Z.string])),buildOptionText:Function,showTotal:Function,simple:{type:Boolean,default:void 0},locale:Z.object.def(at),itemRender:Z.func.def(vn),prevIcon:Z.any,nextIcon:Z.any,jumpPrevIcon:Z.any,jumpNextIcon:Z.any,totalBoundaryShowSizeChanger:Z.number.def(50)},data(){let e=this.$props,t=Re([this.current,this.defaultCurrent]),n=Re([this.pageSize,this.defaultPageSize]);return t=Math.min(t,yn(n,void 0,e)),{stateCurrent:t,stateCurrentInputValue:t,statePageSize:n}},watch:{current(e){this.setState({stateCurrent:e,stateCurrentInputValue:e})},pageSize(e){let t={},n=this.stateCurrent,r=yn(e,this.$data,this.$props);n=n>r?r:n,he(this,`current`)||(t.stateCurrent=n,t.stateCurrentInputValue=n),t.statePageSize=e,this.setState(t)},stateCurrent(e,t){this.$nextTick(()=>{if(this.$refs.paginationNode){let e=this.$refs.paginationNode.querySelector(`.${this.prefixCls}-item-${t}`);e&&document.activeElement===e&&e.blur()}})},total(){let e={},t=yn(this.pageSize,this.$data,this.$props);if(he(this,`current`)){let n=Math.min(this.current,t);e.stateCurrent=n,e.stateCurrentInputValue=n}else{let n=this.stateCurrent;n=n===0&&t>0?1:Math.min(this.stateCurrent,t),e.stateCurrent=n}this.setState(e)}},methods:{getJumpPrevPage(){return Math.max(1,this.stateCurrent-(this.showLessItems?3:5))},getJumpNextPage(){return Math.min(yn(void 0,this.$data,this.$props),this.stateCurrent+(this.showLessItems?3:5))},getItemIcon(e,t){let{prefixCls:n}=this.$props;return we(this,e,this.$props)||k(`button`,{type:`button`,"aria-label":t,class:`${n}-item-link`},null)},getValidValue(e){let t=e.target.value,n=yn(void 0,this.$data,this.$props),{stateCurrentInputValue:r}=this.$data,i;return i=t===``?t:isNaN(Number(t))?r:t>=n?n:Number(t),i},isValid(e){return _n(e)&&e!==this.stateCurrent},shouldDisplayQuickJumper(){let{showQuickJumper:e,pageSize:t,total:n}=this.$props;return n<=t?!1:e},handleKeyDown(e){(e.keyCode===mn.ARROW_UP||e.keyCode===mn.ARROW_DOWN)&&e.preventDefault()},handleKeyUp(e){let t=this.getValidValue(e);t!==this.stateCurrentInputValue&&this.setState({stateCurrentInputValue:t}),e.keyCode===mn.ENTER?this.handleChange(t):e.keyCode===mn.ARROW_UP?this.handleChange(t-1):e.keyCode===mn.ARROW_DOWN&&this.handleChange(t+1)},changePageSize(e){let t=this.stateCurrent,n=t,r=yn(e,this.$data,this.$props);t=t>r?r:t,r===0&&(t=this.stateCurrent),typeof e==`number`&&(he(this,`pageSize`)||this.setState({statePageSize:e}),he(this,`current`)||this.setState({stateCurrent:t,stateCurrentInputValue:t})),this.__emit(`update:pageSize`,e),t!==n&&this.__emit(`update:current`,t),this.__emit(`showSizeChange`,t,e),this.__emit(`change`,t,e)},handleChange(e){let{disabled:t}=this.$props,n=e;if(this.isValid(n)&&!t){let e=yn(void 0,this.$data,this.$props);return n>e?n=e:n<1&&(n=1),he(this,`current`)||this.setState({stateCurrent:n,stateCurrentInputValue:n}),this.__emit(`update:current`,n),this.__emit(`change`,n,this.statePageSize),n}return this.stateCurrent},prev(){this.hasPrev()&&this.handleChange(this.stateCurrent-1)},next(){this.hasNext()&&this.handleChange(this.stateCurrent+1)},jumpPrev(){this.handleChange(this.getJumpPrevPage())},jumpNext(){this.handleChange(this.getJumpNextPage())},hasPrev(){return this.stateCurrent>1},hasNext(){return this.stateCurrent<yn(void 0,this.$data,this.$props)},getShowSizeChanger(){let{showSizeChanger:e,total:t,totalBoundaryShowSizeChanger:n}=this.$props;return e===void 0?t>n:e},runIfEnter(e,t){(e.key===`Enter`||e.charCode===13)&&(e.preventDefault(),t(...[...arguments].slice(2)))},runIfEnterPrev(e){this.runIfEnter(e,this.prev)},runIfEnterNext(e){this.runIfEnter(e,this.next)},runIfEnterJumpPrev(e){this.runIfEnter(e,this.jumpPrev)},runIfEnterJumpNext(e){this.runIfEnter(e,this.jumpNext)},handleGoTO(e){(e.keyCode===mn.ENTER||e.type===`click`)&&this.handleChange(this.stateCurrentInputValue)},renderPrev(e){let{itemRender:t}=this.$props,n=t({page:e,type:`prev`,originalElement:this.getItemIcon(`prevIcon`,`prev page`)}),r=!this.hasPrev();return Ee(n)?m(n,r?{disabled:r}:{}):n},renderNext(e){let{itemRender:t}=this.$props,n=t({page:e,type:`next`,originalElement:this.getItemIcon(`nextIcon`,`next page`)}),r=!this.hasNext();return Ee(n)?m(n,r?{disabled:r}:{}):n}},render(){let{prefixCls:e,disabled:t,hideOnSinglePage:n,total:r,locale:i,showQuickJumper:a,showLessItems:o,showTitle:s,showTotal:c,simple:l,itemRender:u,showPrevNextJumpers:d,jumpPrevIcon:f,jumpNextIcon:p,selectComponentClass:m,selectPrefixCls:h,pageSizeOptions:g}=this.$props,{stateCurrent:_,statePageSize:v}=this,y=Te(this.$attrs).extraAttrs,{class:b}=y,x=gn(y,[`class`]);if(n===!0&&this.total<=v)return null;let S=yn(void 0,this.$data,this.$props),C=[],w=null,T=null,E=null,D=null,O=null,A=a&&a.goButton,j=o?1:2,M=_-1>0?_-1:0,N=_+1<S?_+1:S,P=this.hasPrev(),F=this.hasNext();if(l)return A&&(O=typeof A==`boolean`?k(`button`,{type:`button`,onClick:this.handleGoTO,onKeyup:this.handleGoTO},[i.jump_to_confirm]):k(`span`,{onClick:this.handleGoTO,onKeyup:this.handleGoTO},[A]),O=k(`li`,{title:s?`${i.jump_to}${_}/${S}`:null,class:`${e}-simple-pager`},[O])),k(`ul`,X({class:$(`${e} ${e}-simple`,{[`${e}-disabled`]:t},b)},x),[k(`li`,{title:s?i.prev_page:null,onClick:this.prev,tabindex:P?0:null,onKeypress:this.runIfEnterPrev,class:$(`${e}-prev`,{[`${e}-disabled`]:!P}),"aria-disabled":!P},[this.renderPrev(M)]),k(`li`,{title:s?`${_}/${S}`:null,class:`${e}-simple-pager`},[k(Oe,{type:`text`,value:this.stateCurrentInputValue,disabled:t,onKeydown:this.handleKeyDown,onKeyup:this.handleKeyUp,onInput:this.handleKeyUp,onChange:this.handleKeyUp,size:`3`},null),k(`span`,{class:`${e}-slash`},[ne(`/`)]),S]),k(`li`,{title:s?i.next_page:null,onClick:this.next,tabindex:F?0:null,onKeypress:this.runIfEnterNext,class:$(`${e}-next`,{[`${e}-disabled`]:!F}),"aria-disabled":!F},[this.renderNext(N)]),O]);if(S<=3+j*2){let t={locale:i,rootPrefixCls:e,showTitle:s,itemRender:u,onClick:this.handleChange,onKeypress:this.runIfEnter};S||C.push(k(pn,X(X({},t),{},{key:`noPager`,page:1,class:`${e}-item-disabled`}),null));for(let e=1;e<=S;e+=1){let n=_===e;C.push(k(pn,X(X({},t),{},{key:e,page:e,active:n}),null))}}else{let t=o?i.prev_3:i.prev_5,n=o?i.next_3:i.next_5;d&&(w=k(`li`,{title:this.showTitle?t:null,key:`prev`,onClick:this.jumpPrev,tabindex:`0`,onKeypress:this.runIfEnterJumpPrev,class:$(`${e}-jump-prev`,{[`${e}-jump-prev-custom-icon`]:!!f})},[u({page:this.getJumpPrevPage(),type:`jump-prev`,originalElement:this.getItemIcon(`jumpPrevIcon`,`prev page`)})]),T=k(`li`,{title:this.showTitle?n:null,key:`next`,tabindex:`0`,onClick:this.jumpNext,onKeypress:this.runIfEnterJumpNext,class:$(`${e}-jump-next`,{[`${e}-jump-next-custom-icon`]:!!p})},[u({page:this.getJumpNextPage(),type:`jump-next`,originalElement:this.getItemIcon(`jumpNextIcon`,`next page`)})])),D=k(pn,{locale:i,last:!0,rootPrefixCls:e,onClick:this.handleChange,onKeypress:this.runIfEnter,key:S,page:S,active:!1,showTitle:s,itemRender:u},null),E=k(pn,{locale:i,rootPrefixCls:e,onClick:this.handleChange,onKeypress:this.runIfEnter,key:1,page:1,active:!1,showTitle:s,itemRender:u},null);let r=Math.max(1,_-j),a=Math.min(_+j,S);_-1<=j&&(a=1+j*2),S-_<=j&&(r=S-j*2);for(let t=r;t<=a;t+=1){let n=_===t;C.push(k(pn,{locale:i,rootPrefixCls:e,onClick:this.handleChange,onKeypress:this.runIfEnter,key:t,page:t,active:n,showTitle:s,itemRender:u},null))}_-1>=j*2&&_!==3&&(C[0]=k(pn,{locale:i,rootPrefixCls:e,onClick:this.handleChange,onKeypress:this.runIfEnter,key:r,page:r,class:`${e}-item-after-jump-prev`,active:!1,showTitle:this.showTitle,itemRender:u},null),C.unshift(w)),S-_>=j*2&&_!==S-2&&(C[C.length-1]=k(pn,{locale:i,rootPrefixCls:e,onClick:this.handleChange,onKeypress:this.runIfEnter,key:a,page:a,class:`${e}-item-before-jump-next`,active:!1,showTitle:this.showTitle,itemRender:u},null),C.push(T)),r!==1&&C.unshift(E),a!==S&&C.push(D)}let I=null;c&&(I=k(`li`,{class:`${e}-total-text`},[c(r,[r===0?0:(_-1)*v+1,_*v>r?r:_*v])]));let L=!P||!S,R=!F||!S,z=this.buildOptionText||this.$slots.buildOptionText;return k(`ul`,X(X({unselectable:`on`,ref:`paginationNode`},x),{},{class:$({[`${e}`]:!0,[`${e}-disabled`]:t},b)}),[I,k(`li`,{title:s?i.prev_page:null,onClick:this.prev,tabindex:L?null:0,onKeypress:this.runIfEnterPrev,class:$(`${e}-prev`,{[`${e}-disabled`]:L}),"aria-disabled":L},[this.renderPrev(M)]),C,k(`li`,{title:s?i.next_page:null,onClick:this.next,tabindex:R?null:0,onKeypress:this.runIfEnterNext,class:$(`${e}-next`,{[`${e}-disabled`]:R}),"aria-disabled":R},[this.renderNext(N)]),k(hn,{disabled:t,locale:i,rootPrefixCls:e,selectComponentClass:m,selectPrefixCls:h,changeSize:this.getShowSizeChanger()?this.changePageSize:null,current:_,pageSize:v,pageSizeOptions:g,buildOptionText:z||null,quickGo:this.shouldDisplayQuickJumper()?this.handleChange:null,goButton:A},null)])}}),xn=e=>{let{componentCls:t}=e;return{[`${t}-disabled`]:{"&, &:hover":{cursor:`not-allowed`,[`${t}-item-link`]:{color:e.colorTextDisabled,cursor:`not-allowed`}},"&:focus-visible":{cursor:`not-allowed`,[`${t}-item-link`]:{color:e.colorTextDisabled,cursor:`not-allowed`}}},[`&${t}-disabled`]:{cursor:`not-allowed`,[`&${t}-mini`]:{[`
|
|
1
|
+
import{A as e,I as t,L as n,M as r,N as i,P as a,bt as o,c as s,ft as c,ht as l,j as u,lt as d,mt as f,s as p,ut as m,vt as h,xt as g,yt as _}from"./BU83-NnX.js";import{$ as v,B as y,C as b,D as x,H as S,M as C,O as w,P as T,R as E,S as D,_t as O,b as k,c as A,d as j,dt as M,et as N,gt as P,ht as F,i as I,j as L,nt as R,pt as z,u as ee,vt as te,y as ne,z as re}from"./CSkxz2NX.js";import{t as B,u as V}from"./D6uzXueg.js";import{$ as H,At as U,D as ie,F as W,L as ae,O as oe,Ot as se,Q as G,R as ce,St as K,Tt as le,X as q,Y as J,_ as ue,at as de,ct as fe,d as pe,et as Y,f as me,gt as he,h as ge,it as _e,jt as X,m as ve,n as ye,o as be,p as xe,st as Se,t as Z,tt as Q,u as Ce,ut as we,wt as $,xt as Te,yt as Ee,z as De}from"./4sIEbgcl.js";import{O as Oe,Q as ke,T as Ae,i as je,j as Me,k as Ne,n as Pe,p as Fe,r as Ie,t as Le,u as Re,w as ze}from"./DYr1VMiQ.js";import{a as Be,n as Ve,o as He,t as Ue}from"./aWWIh8YL.js";import{T as We,d as Ge,m as Ke,s as qe,t as Je}from"./DBHNsT1Y.js";import{a as Ye,n as Xe}from"./BCGafdXT.js";import{t as Ze}from"./CzlMDL5H.js";import{r as Qe}from"./C3gwHTz0.js";import{n as $e}from"./JCoYF4IJ.js";import{t as et}from"./Crod5z2f.js";import{r as tt,t as nt}from"./CYWVXZTS2.js";import{t as rt}from"./C4DWUZ6d2.js";import{t as it}from"./DZtm4l-P2.js";import{t as at}from"./kZl6yT-12.js";var ot=e=>({color:e.colorLink,textDecoration:`none`,outline:`none`,cursor:`pointer`,transition:`color ${e.motionDurationSlow}`,"&:focus, &:hover":{color:e.colorLinkHover},"&:active":{color:e.colorLinkActive}});function st(e,t,n,r){let i=n-t;return e/=r/2,e<1?i/2*e*e*e+t:i/2*((e-=2)*e*e+2)+t}function ct(e){return e!=null&&e===e.window}function lt(e,t){if(typeof window>`u`)return 0;let n=t?`scrollTop`:`scrollLeft`,r=0;return ct(e)?r=e[t?`scrollY`:`scrollX`]:e instanceof Document?r=e.documentElement[n]:(e instanceof HTMLElement||e)&&(r=e[n]),e&&!ct(e)&&typeof r!=`number`&&(r=(e.ownerDocument??e).documentElement?.[n]),r}function ut(e){let{getContainer:t=()=>window,callback:n,duration:r=450}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=t(),a=lt(i,!0),o=Date.now(),s=()=>{let t=Date.now()-o,c=st(t>r?r:t,a,e,r);ct(i)?i.scrollTo(window.scrollX,c):i instanceof Document?i.documentElement.scrollTop=c:i.scrollTop=c,t<r?g(s):typeof n==`function`&&n()};g(s)}function dt(e){for(var t=-1,n=e==null?0:e.length,r={};++t<n;){var i=e[t];We(r,i[0],i[1])}return r}function ft(){let e=F({}),t=null,n=Qe();return E(()=>{t=n.value.subscribe(t=>{e.value=t})}),re(()=>{n.value.unsubscribe(t)}),e}function pt(e){let t=F();return N(()=>{t.value=e()},{flush:`sync`}),t}var mt=Symbol(`TreeContextKey`),ht=D({compatConfig:{MODE:3},name:`TreeContext`,props:{value:{type:Object}},setup(e,t){let{slots:n}=t;return S(mt,j(()=>e.value)),()=>n.default?.call(n)}}),gt=()=>x(mt,j(()=>({}))),_t=Symbol(`KeysStateKey`),vt=e=>{S(_t,e)},yt=()=>x(_t,{expandedKeys:F([]),selectedKeys:F([]),loadedKeys:F([]),loadingKeys:F([]),checkedKeys:F([]),halfCheckedKeys:F([]),expandedKeysSet:j(()=>new Set),selectedKeysSet:j(()=>new Set),loadedKeysSet:j(()=>new Set),loadingKeysSet:j(()=>new Set),checkedKeysSet:j(()=>new Set),halfCheckedKeysSet:j(()=>new Set),flattenNodes:F([])}),bt=e=>{let{prefixCls:t,level:n,isStart:r,isEnd:i}=e,a=`${t}-indent-unit`,o=[];for(let e=0;e<n;e+=1)o.push(k(`span`,{key:e,class:{[a]:!0,[`${a}-start`]:r[e],[`${a}-end`]:i[e]}},null));return k(`span`,{"aria-hidden":`true`,class:`${t}-indent`},[o])},xt={eventKey:[String,Number],prefixCls:String,title:Z.any,data:{type:Object,default:void 0},parent:{type:Object,default:void 0},isStart:{type:Array},isEnd:{type:Array},active:{type:Boolean,default:void 0},onMousemove:{type:Function},isLeaf:{type:Boolean,default:void 0},checkable:{type:Boolean,default:void 0},selectable:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},disableCheckbox:{type:Boolean,default:void 0},icon:Z.any,switcherIcon:Z.any,domRef:{type:Function}},St={prefixCls:{type:String},motion:{type:Object},focusable:{type:Boolean},activeItem:{type:Object},focused:{type:Boolean},tabindex:{type:Number},checkable:{type:Boolean},selectable:{type:Boolean},disabled:{type:Boolean},height:{type:Number},itemHeight:{type:Number},virtual:{type:Boolean},onScroll:{type:Function},onKeydown:{type:Function},onFocus:{type:Function},onBlur:{type:Function},onActiveChange:{type:Function},onContextmenu:{type:Function},onListChangeStart:{type:Function},onListChangeEnd:{type:Function}},Ct=()=>({prefixCls:String,focusable:{type:Boolean,default:void 0},activeKey:[Number,String],tabindex:Number,children:Z.any,treeData:{type:Array},fieldNames:{type:Object},showLine:{type:[Boolean,Object],default:void 0},showIcon:{type:Boolean,default:void 0},icon:Z.any,selectable:{type:Boolean,default:void 0},expandAction:[String,Boolean],disabled:{type:Boolean,default:void 0},multiple:{type:Boolean,default:void 0},checkable:{type:Boolean,default:void 0},checkStrictly:{type:Boolean,default:void 0},draggable:{type:[Function,Boolean]},defaultExpandParent:{type:Boolean,default:void 0},autoExpandParent:{type:Boolean,default:void 0},defaultExpandAll:{type:Boolean,default:void 0},defaultExpandedKeys:{type:Array},expandedKeys:{type:Array},defaultCheckedKeys:{type:Array},checkedKeys:{type:[Object,Array]},defaultSelectedKeys:{type:Array},selectedKeys:{type:Array},allowDrop:{type:Function},dropIndicatorRender:{type:Function},onFocus:{type:Function},onBlur:{type:Function},onKeydown:{type:Function},onContextmenu:{type:Function},onClick:{type:Function},onDblclick:{type:Function},onScroll:{type:Function},onExpand:{type:Function},onCheck:{type:Function},onSelect:{type:Function},onLoad:{type:Function},loadData:{type:Function},loadedKeys:{type:Array},onMouseenter:{type:Function},onMouseleave:{type:Function},onRightClick:{type:Function},onDragstart:{type:Function},onDragenter:{type:Function},onDragover:{type:Function},onDragleave:{type:Function},onDragend:{type:Function},onDrop:{type:Function},onActiveChange:{type:Function},filterTreeNode:{type:Function},motion:Z.any,switcherIcon:Z.any,height:Number,itemHeight:Number,virtual:{type:Boolean,default:void 0},direction:{type:String},rootClassName:String,rootStyle:Object}),wt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Tt=`open`,Et=`close`,Dt=`---`,Ot=D({compatConfig:{MODE:3},name:`ATreeNode`,inheritAttrs:!1,props:xt,isTreeNode:1,setup(e,t){let{attrs:n,slots:r,expose:a}=t;`slots`in e.data,`${Object.keys(e.data.slots||{}).map(e=>"`v-slot:"+e+"` ")}`;let o=F(!1),s=gt(),{expandedKeysSet:c,selectedKeysSet:l,loadedKeysSet:u,loadingKeysSet:d,checkedKeysSet:f,halfCheckedKeysSet:p}=yt(),{dragOverNodeKey:m,dropPosition:h,keyEntities:g}=s.value,_=j(()=>Jt(e.eventKey,{expandedKeysSet:c.value,selectedKeysSet:l.value,loadedKeysSet:u.value,loadingKeysSet:d.value,checkedKeysSet:f.value,halfCheckedKeysSet:p.value,dragOverNodeKey:m,dropPosition:h,keyEntities:g})),v=pt(()=>_.value.expanded),x=pt(()=>_.value.selected),S=pt(()=>_.value.checked),C=pt(()=>_.value.loaded),w=pt(()=>_.value.loading),T=pt(()=>_.value.halfChecked),D=pt(()=>_.value.dragOver),O=pt(()=>_.value.dragOverGapTop),A=pt(()=>_.value.dragOverGapBottom),N=pt(()=>_.value.pos),P=F(),I=j(()=>{let{eventKey:t}=e,{keyEntities:n}=s.value,{children:r}=n[t]||{};return!!(r||[]).length}),L=j(()=>{let{isLeaf:t}=e,{loadData:n}=s.value,r=I.value;return t===!1?!1:t||!n&&!r||n&&C.value&&!r}),R=j(()=>L.value?null:v.value?Tt:Et),z=j(()=>{let{disabled:t}=e,{disabled:n}=s.value;return!!(n||t)}),ee=j(()=>{let{checkable:t}=e,{checkable:n}=s.value;return!n||t===!1?!1:n}),te=j(()=>{let{selectable:t}=e,{selectable:n}=s.value;return typeof t==`boolean`?t:n}),ne=j(()=>{let{data:t,active:n,checkable:r,disableCheckbox:i,disabled:a,selectable:o}=e;return U(U({active:n,checkable:r,disableCheckbox:i,disabled:a,selectable:o},t),{dataRef:t,data:t,isLeaf:L.value,checked:S.value,expanded:v.value,loading:w.value,selected:x.value,halfChecked:T.value})}),re=b(),B=j(()=>{let{eventKey:t}=e,{keyEntities:n}=s.value,{parent:r}=n[t]||{};return U(U({},Yt(U({},e,_.value))),{parent:r})}),V=M({eventData:B,eventKey:j(()=>e.eventKey),selectHandle:P,pos:N,key:re.vnode.key});a(V);let H=e=>{let{onNodeDoubleClick:t}=s.value;t(e,B.value)},ie=e=>{if(z.value)return;let{onNodeSelect:t}=s.value;e.preventDefault(),t(e,B.value)},W=t=>{if(z.value)return;let{disableCheckbox:n}=e,{onNodeCheck:r}=s.value;if(!ee.value||n)return;t.preventDefault();let i=!S.value;r(t,B.value,i)},ae=e=>{let{onNodeClick:t}=s.value;t(e,B.value),te.value?ie(e):W(e)},oe=e=>{let{onNodeMouseEnter:t}=s.value;t(e,B.value)},se=e=>{let{onNodeMouseLeave:t}=s.value;t(e,B.value)},G=e=>{let{onNodeContextMenu:t}=s.value;t(e,B.value)},ce=e=>{let{onNodeDragStart:t}=s.value;e.stopPropagation(),o.value=!0,t(e,V);try{e.dataTransfer.setData(`text/plain`,``)}catch{}},K=e=>{let{onNodeDragEnter:t}=s.value;e.preventDefault(),e.stopPropagation(),t(e,V)},le=e=>{let{onNodeDragOver:t}=s.value;e.preventDefault(),e.stopPropagation(),t(e,V)},q=e=>{let{onNodeDragLeave:t}=s.value;e.stopPropagation(),t(e,V)},J=e=>{let{onNodeDragEnd:t}=s.value;e.stopPropagation(),o.value=!1,t(e,V)},ue=e=>{let{onNodeDrop:t}=s.value;e.preventDefault(),e.stopPropagation(),o.value=!1,t(e,V)},de=e=>{let{onNodeExpand:t}=s.value;w.value||t(e,B.value)},fe=()=>{let{data:t}=e,{draggable:n}=s.value;return!!(n&&(!n.nodeDraggable||n.nodeDraggable(t)))},pe=()=>{let{draggable:e,prefixCls:t}=s.value;return e&&e?.icon?k(`span`,{class:`${t}-draggable-icon`},[e.icon]):null},Y=()=>{let{switcherIcon:t=r.switcherIcon||s.value.slots?.[e.data?.slots?.switcherIcon]}=e,{switcherIcon:n}=s.value,i=t||n;return typeof i==`function`?i(ne.value):i},me=()=>{let{loadData:e,onNodeLoad:t}=s.value;w.value||e&&v.value&&!L.value&&!I.value&&!C.value&&t(B.value)};E(()=>{me()}),y(()=>{me()});let he=()=>{let{prefixCls:e}=s.value,t=Y();if(L.value)return t===!1?null:k(`span`,{class:$(`${e}-switcher`,`${e}-switcher-noop`)},[t]);let n=$(`${e}-switcher`,`${e}-switcher_${v.value?Tt:Et}`);return t===!1?null:k(`span`,{onClick:de,class:n},[t])},ge=()=>{var t;let{disableCheckbox:n}=e,{prefixCls:r}=s.value,i=z.value;return ee.value?k(`span`,{class:$(`${r}-checkbox`,S.value&&`${r}-checkbox-checked`,!S.value&&T.value&&`${r}-checkbox-indeterminate`,(i||n)&&`${r}-checkbox-disabled`),onClick:W},[(t=s.value).customCheckable?.call(t)]):null},_e=()=>{let{prefixCls:e}=s.value;return k(`span`,{class:$(`${e}-iconEle`,`${e}-icon__${R.value||`docu`}`,w.value&&`${e}-icon_loading`)},null)},ve=()=>{let{disabled:t,eventKey:n}=e,{draggable:r,dropLevelOffset:i,dropPosition:a,prefixCls:o,indent:c,dropIndicatorRender:l,dragOverNodeKey:u,direction:d}=s.value;return!t&&r!==!1&&u===n?l({dropPosition:a,dropLevelOffset:i,indent:c,prefixCls:o,direction:d}):null},ye=()=>{let{icon:t=r.icon,data:n}=e,i=r.title||s.value.slots?.[e.data?.slots?.title]||s.value.slots?.title||e.title,{prefixCls:a,showIcon:c,icon:l,loadData:u}=s.value,d=z.value,f=`${a}-node-content-wrapper`,p;if(c){let e=t||s.value.slots?.[n?.slots?.icon]||l;p=e?k(`span`,{class:$(`${a}-iconEle`,`${a}-icon__customize`)},[typeof e==`function`?e(ne.value):e]):_e()}else u&&w.value&&(p=_e());let m;m=typeof i==`function`?i(ne.value):i,m=m===void 0?Dt:m;let h=k(`span`,{class:`${a}-title`},[m]);return k(`span`,{ref:P,title:typeof i==`string`?i:``,class:$(`${f}`,`${f}-${R.value||`normal`}`,!d&&(x.value||o.value)&&`${a}-node-selected`),onMouseenter:oe,onMouseleave:se,onContextmenu:G,onClick:ae,onDblclick:H},[p,h,ve()])};return()=>{let t=U(U({},e),n),{eventKey:r,isLeaf:a,isStart:o,isEnd:c,domRef:l,active:u,data:d,onMousemove:f,selectable:p}=t,m=wt(t,[`eventKey`,`isLeaf`,`isStart`,`isEnd`,`domRef`,`active`,`data`,`onMousemove`,`selectable`]),{prefixCls:h,filterTreeNode:g,keyEntities:_,dropContainerKey:y,dropTargetKey:b,draggingNodeKey:C}=s.value,E=z.value,j=i(m,{aria:!0,data:!0}),{level:M}=_[r]||{},N=c[c.length-1],P=fe(),F=!E&&P,I=C===r,L=p===void 0?void 0:{"aria-selected":!!p};return k(`div`,X(X({ref:l,class:$(n.class,`${h}-treenode`,{[`${h}-treenode-disabled`]:E,[`${h}-treenode-switcher-${v.value?`open`:`close`}`]:!a,[`${h}-treenode-checkbox-checked`]:S.value,[`${h}-treenode-checkbox-indeterminate`]:T.value,[`${h}-treenode-selected`]:x.value,[`${h}-treenode-loading`]:w.value,[`${h}-treenode-active`]:u,[`${h}-treenode-leaf-last`]:N,[`${h}-treenode-draggable`]:F,dragging:I,"drop-target":b===r,"drop-container":y===r,"drag-over":!E&&D.value,"drag-over-gap-top":!E&&O.value,"drag-over-gap-bottom":!E&&A.value,"filter-node":g&&g(B.value)}),style:n.style,draggable:F,"aria-grabbed":I,onDragstart:F?ce:void 0,onDragenter:P?K:void 0,onDragover:P?le:void 0,onDragleave:P?q:void 0,onDrop:P?ue:void 0,onDragend:P?J:void 0,onMousemove:f},L),j),[k(bt,{prefixCls:h,level:M,isStart:o,isEnd:c},null),pe(),he(),ge(),ye()])}}});function kt(e,t){if(!e)return[];let n=e.slice(),r=n.indexOf(t);return r>=0&&n.splice(r,1),n}function At(e,t){let n=(e||[]).slice();return n.indexOf(t)===-1&&n.push(t),n}function jt(e){return e.split(`-`)}function Mt(e,t){return`${e}-${t}`}function Nt(e){return e&&e.type&&e.type.isTreeNode}function Pt(e,t){let n=[],r=t[e];function i(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(e=>{let{key:t,children:r}=e;n.push(t),i(r)})}return i(r.children),n}function Ft(e){if(e.parent){let t=jt(e.pos);return Number(t[t.length-1])===e.parent.children.length-1}return!1}function It(e){let t=jt(e.pos);return Number(t[t.length-1])===0}function Lt(e,t,n,r,i,a,o,s,c,l){let{clientX:u,clientY:d}=e,{top:f,height:p}=e.target.getBoundingClientRect(),m=((l===`rtl`?-1:1)*((i?.x||0)-u)-12)/r,h=s[n.eventKey];if(d<f+p/2){let e=o.findIndex(e=>e.key===h.key);h=s[o[e<=0?0:e-1].key]}let g=h.key,_=h,v=h.key,y=0,b=0;if(!c.has(g))for(let e=0;e<m&&Ft(h);e+=1)h=h.parent,b+=1;let x=t.eventData,S=h.node,C=!0;return It(h)&&h.level===0&&d<f+p/2&&a({dragNode:x,dropNode:S,dropPosition:-1})&&h.key===n.eventKey?y=-1:(_.children||[]).length&&c.has(v)?a({dragNode:x,dropNode:S,dropPosition:0})?y=0:C=!1:b===0?m>-1.5?a({dragNode:x,dropNode:S,dropPosition:1})?y=1:C=!1:a({dragNode:x,dropNode:S,dropPosition:0})?y=0:a({dragNode:x,dropNode:S,dropPosition:1})?y=1:C=!1:a({dragNode:x,dropNode:S,dropPosition:1})?y=1:C=!1,{dropPosition:y,dropLevelOffset:b,dropTargetKey:h.key,dropTargetPos:h.pos,dragOverNodeKey:v,dropContainerKey:y===0?null:h.parent?.key||null,dropAllowed:C}}function Rt(e,t){if(!e)return;let{multiple:n}=t;return n?e.slice():e.length?[e[0]]:e}function zt(e){if(!e)return null;let t;if(Array.isArray(e))t={checkedKeys:e,halfCheckedKeys:void 0};else if(typeof e==`object`)t={checkedKeys:e.checked||void 0,halfCheckedKeys:e.halfChecked||void 0};else return null;return t}function Bt(e,t){let n=new Set;function r(e){if(n.has(e))return;let i=t[e];if(!i)return;n.add(e);let{parent:a,node:o}=i;o.disabled||a&&r(a.key)}return(e||[]).forEach(e=>{r(e)}),[...n]}var Vt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};function Ht(e,t){return e??t}function Ut(e){let{title:t,_title:n,key:r,children:i}=e||{},a=t||`title`;return{title:a,_title:n||[a],key:r||`key`,children:i||`children`}}function Wt(e){function t(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return de(e).map(e=>{if(!Nt(e))return null;let n=e.children||{},r=e.key,i={};for(let[t,n]of Object.entries(e.props))i[le(t)]=n;let{isLeaf:a,checkable:o,selectable:s,disabled:c,disableCheckbox:l}=i,u={isLeaf:a||a===``||void 0,checkable:o||o===``||void 0,selectable:s||s===``||void 0,disabled:c||c===``||void 0,disableCheckbox:l||l===``||void 0},d=U(U({},i),u),{title:f=n.title?.call(n,d),icon:p=n.icon?.call(n,d),switcherIcon:m=n.switcherIcon?.call(n,d)}=i,h=Vt(i,[`title`,`icon`,`switcherIcon`]),g=n.default?.call(n),_=U(U(U({},h),{title:f,icon:p,switcherIcon:m,key:r,isLeaf:a}),u),v=t(g);return v.length&&(_.children=v),_})}return t(e)}function Gt(e,t,n){let{_title:r,key:i,children:a}=Ut(n),o=new Set(t===!0?[]:t),s=[];function c(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.map((u,d)=>{let f=Mt(n?n.pos:`0`,d),p=Ht(u[i],f),m;for(let e=0;e<r.length;e+=1){let t=r[e];if(u[t]!==void 0){m=u[t];break}}let h=U(U({},l(u,[...r,i,a])),{title:m,key:p,parent:n,pos:f,children:null,data:u,isStart:[...n?n.isStart:[],d===0],isEnd:[...n?n.isEnd:[],d===e.length-1]});return s.push(h),h.children=t===!0||o.has(p)?c(u[a]||[],h):[],h})}return c(e),s}function Kt(e,t,n){let r={};r=typeof n==`object`?n:{externalGetKey:n},r||={};let{childrenPropName:i,externalGetKey:a,fieldNames:o}=r,{key:s,children:c}=Ut(o),l=i||c,u;a?typeof a==`string`?u=e=>e[a]:typeof a==`function`&&(u=e=>a(e)):u=(e,t)=>Ht(e[s],t);function d(n,r,i,a){let o=n?n[l]:e,s=n?Mt(i.pos,r):`0`,c=n?[...a,n]:[];n&&t({node:n,index:r,pos:s,key:u(n,s),parentPos:i.node?i.pos:null,level:i.level+1,nodes:c}),o&&o.forEach((e,t)=>{d(e,t,{node:n,pos:s,level:i?i.level+1:-1},c)})}d(null)}function qt(e){let{initWrapper:t,processEntity:n,onProcessFinished:r,externalGetKey:i,childrenPropName:a,fieldNames:o}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0,c=i||s,l={},u={},d={posEntities:l,keyEntities:u};return t&&(d=t(d)||d),Kt(e,e=>{let{node:t,index:r,pos:i,key:a,parentPos:o,level:s,nodes:c}=e,f={node:t,nodes:c,index:r,key:a,pos:i,level:s},p=Ht(a,i);l[i]=f,u[p]=f,f.parent=l[o],f.parent&&(f.parent.children=f.parent.children||[],f.parent.children.push(f)),n&&n(f,d)},{externalGetKey:c,childrenPropName:a,fieldNames:o}),r&&r(d),d}function Jt(e,t){let{expandedKeysSet:n,selectedKeysSet:r,loadedKeysSet:i,loadingKeysSet:a,checkedKeysSet:o,halfCheckedKeysSet:s,dragOverNodeKey:c,dropPosition:l,keyEntities:u}=t,d=u[e];return{eventKey:e,expanded:n.has(e),selected:r.has(e),loaded:i.has(e),loading:a.has(e),checked:o.has(e),halfChecked:s.has(e),pos:String(d?d.pos:``),parent:d.parent,dragOver:c===e&&l===0,dragOverGapTop:c===e&&l===-1,dragOverGapBottom:c===e&&l===1}}function Yt(e){let{data:t,expanded:n,selected:r,checked:i,loaded:a,loading:o,halfChecked:s,dragOver:c,dragOverGapTop:l,dragOverGapBottom:u,pos:d,active:f,eventKey:p}=e,m=U(U({dataRef:t},t),{expanded:n,selected:r,checked:i,loaded:a,loading:o,halfChecked:s,dragOver:c,dragOverGapTop:l,dragOverGapBottom:u,pos:d,active:f,eventKey:p,key:p});return`props`in m||Object.defineProperty(m,"props",{get(){return e}}),m}function Xt(e,t){let n=new Set;return e.forEach(e=>{t.has(e)||n.add(e)}),n}function Zt(e){let{disabled:t,disableCheckbox:n,checkable:r}=e||{};return!!(t||n)||r===!1}function Qt(e,t,n,r){let i=new Set(e),a=new Set;for(let e=0;e<=n;e+=1)(t.get(e)||new Set).forEach(e=>{let{key:t,node:n,children:a=[]}=e;i.has(t)&&!r(n)&&a.filter(e=>!r(e.node)).forEach(e=>{i.add(e.key)})});let o=new Set;for(let e=n;e>=0;--e)(t.get(e)||new Set).forEach(e=>{let{parent:t,node:n}=e;if(r(n)||!e.parent||o.has(e.parent.key))return;if(r(e.parent.node)){o.add(t.key);return}let s=!0,c=!1;(t.children||[]).filter(e=>!r(e.node)).forEach(e=>{let{key:t}=e,n=i.has(t);s&&!n&&(s=!1),!c&&(n||a.has(t))&&(c=!0)}),s&&i.add(t.key),c&&a.add(t.key),o.add(t.key)});return{checkedKeys:Array.from(i),halfCheckedKeys:Array.from(Xt(a,i))}}function $t(e,t,n,r,i){let a=new Set(e),o=new Set(t);for(let e=0;e<=r;e+=1)(n.get(e)||new Set).forEach(e=>{let{key:t,node:n,children:r=[]}=e;!a.has(t)&&!o.has(t)&&!i(n)&&r.filter(e=>!i(e.node)).forEach(e=>{a.delete(e.key)})});o=new Set;let s=new Set;for(let e=r;e>=0;--e)(n.get(e)||new Set).forEach(e=>{let{parent:t,node:n}=e;if(i(n)||!e.parent||s.has(e.parent.key))return;if(i(e.parent.node)){s.add(t.key);return}let r=!0,c=!1;(t.children||[]).filter(e=>!i(e.node)).forEach(e=>{let{key:t}=e,n=a.has(t);r&&!n&&(r=!1),!c&&(n||o.has(t))&&(c=!0)}),r||a.delete(t.key),c&&o.add(t.key),s.add(t.key)});return{checkedKeys:Array.from(a),halfCheckedKeys:Array.from(Xt(o,a))}}function en(e,t,n,r,i,a){let o=[],s;s=a||Zt;let c=new Set(e.filter(e=>{let t=!!n[e];return t||o.push(e),t}));o.length,`${o.slice(0,100).map(e=>`'${e}'`).join(`, `)}`;let l;return l=t===!0?Qt(c,i,r,s):$t(c,t.halfCheckedKeys,i,r,s),l}function tn(e){let t=z(0),n=F();return N(()=>{let r=new Map,i=0,a=e.value||{};for(let e in a)if(Object.prototype.hasOwnProperty.call(a,e)){let t=a[e],{level:n}=t,o=r.get(n);o||(o=new Set,r.set(n,o)),o.add(t),i=Math.max(i,n)}t.value=i,n.value=r}),{maxLevel:t,levelEntities:n}}var nn={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z`}}]},name:`double-left`,theme:`outlined`};function rn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){an(e,t,n[t])})}return e}function an(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var on=function(e,t){var n=rn({},e,t.attrs);return k(u,rn({},n,{icon:nn}),null)};on.displayName=`DoubleLeftOutlined`,on.inheritAttrs=!1;var sn={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z`}}]},name:`double-right`,theme:`outlined`};function cn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){ln(e,t,n[t])})}return e}function ln(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var un=function(e,t){var n=cn({},e,t.attrs);return k(u,cn({},n,{icon:sn}),null)};un.displayName=`DoubleRightOutlined`,un.inheritAttrs=!1;var dn=D({name:`MiniSelect`,compatConfig:{MODE:3},inheritAttrs:!1,props:Ve(),Option:Ue.Option,setup(e,t){let{attrs:n,slots:r}=t;return()=>{let t=U(U(U({},e),{size:`small`}),n);return k(Ue,t,r)}}}),fn=D({name:`MiddleSelect`,inheritAttrs:!1,props:Ve(),Option:Ue.Option,setup(e,t){let{attrs:n,slots:r}=t;return()=>{let t=U(U(U({},e),{size:`middle`}),n);return k(Ue,t,r)}}}),pn=D({compatConfig:{MODE:3},name:`Pager`,inheritAttrs:!1,props:{rootPrefixCls:String,page:Number,active:{type:Boolean,default:void 0},last:{type:Boolean,default:void 0},locale:Z.object,showTitle:{type:Boolean,default:void 0},itemRender:{type:Function,default:()=>{}},onClick:{type:Function},onKeypress:{type:Function}},eimt:[`click`,`keypress`],setup(e,t){let{emit:n,attrs:r}=t,i=()=>{n(`click`,e.page)},a=t=>{n(`keypress`,t,i,e.page)};return()=>{let{showTitle:t,page:n,itemRender:o}=e,{class:s,style:c}=r,l=`${e.rootPrefixCls}-item`,u=$(l,`${l}-${e.page}`,{[`${l}-active`]:e.active,[`${l}-disabled`]:!e.page},s);return k(`li`,{onClick:i,onKeypress:a,title:t?String(n):null,tabindex:`0`,class:u,style:c},[o({page:n,type:`page`,originalElement:k(`a`,{rel:`nofollow`},[n])})])}}}),mn={ZERO:48,NINE:57,NUMPAD_ZERO:96,NUMPAD_NINE:105,BACKSPACE:8,DELETE:46,ENTER:13,ARROW_UP:38,ARROW_DOWN:40},hn=D({compatConfig:{MODE:3},props:{disabled:{type:Boolean,default:void 0},changeSize:Function,quickGo:Function,selectComponentClass:Z.any,current:Number,pageSizeOptions:Z.array.def([`10`,`20`,`50`,`100`]),pageSize:Number,buildOptionText:Function,locale:Z.object,rootPrefixCls:String,selectPrefixCls:String,goButton:Z.any},setup(e){let t=z(``),n=j(()=>!t.value||isNaN(t.value)?void 0:Number(t.value)),r=t=>`${t.value} ${e.locale.items_per_page}`,i=e=>{let{value:n}=e.target;t.value!==n&&(t.value=n)},a=r=>{let{goButton:i,quickGo:a,rootPrefixCls:o}=e;if(!(i||t.value===``)){if(r.relatedTarget&&(r.relatedTarget.className.indexOf(`${o}-item-link`)>=0||r.relatedTarget.className.indexOf(`${o}-item`)>=0)){t.value=``;return}a(n.value),t.value=``}},o=r=>{t.value!==``&&(r.keyCode===mn.ENTER||r.type===`click`)&&(e.quickGo(n.value),t.value=``)},s=j(()=>{let{pageSize:t,pageSizeOptions:n}=e;return n.some(e=>e.toString()===t.toString())?n:n.concat([t.toString()]).sort((e,t)=>(isNaN(Number(e))?0:Number(e))-(isNaN(Number(t))?0:Number(t)))});return()=>{let{rootPrefixCls:n,locale:c,changeSize:l,quickGo:u,goButton:d,selectComponentClass:f,selectPrefixCls:p,pageSize:m,disabled:h}=e,g=`${n}-options`,_=null,v=null,y=null;if(!l&&!u)return null;if(l&&f){let t=e.buildOptionText||r,n=s.value.map((e,n)=>k(f.Option,{key:n,value:e},{default:()=>[t({value:e})]}));_=k(f,{disabled:h,prefixCls:p,showSearch:!1,class:`${g}-size-changer`,optionLabelProp:`children`,value:(m||s.value[0]).toString(),onChange:e=>l(Number(e)),getPopupContainer:e=>e.parentNode},{default:()=>[n]})}return u&&(d&&(y=typeof d==`boolean`?k(`button`,{type:`button`,onClick:o,onKeyup:o,disabled:h,class:`${g}-quick-jumper-button`},[c.jump_to_confirm]):k(`span`,{onClick:o,onKeyup:o},[d])),v=k(`div`,{class:`${g}-quick-jumper`},[c.jump_to,k(Oe,{disabled:h,type:`text`,value:t.value,onInput:i,onChange:i,onKeyup:o,onBlur:a},null),c.page,y])),k(`li`,{class:`${g}`},[_,v])}}}),gn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};function _n(e){return typeof e==`number`&&isFinite(e)&&Math.floor(e)===e}function vn(e){let{originalElement:t}=e;return t}function yn(e,t,n){let r=e===void 0?t.statePageSize:e;return Math.floor((n.total-1)/r)+1}var bn=D({compatConfig:{MODE:3},name:`Pagination`,mixins:[Me],inheritAttrs:!1,props:{disabled:{type:Boolean,default:void 0},prefixCls:Z.string.def(`rc-pagination`),selectPrefixCls:Z.string.def(`rc-select`),current:Number,defaultCurrent:Z.number.def(1),total:Z.number.def(0),pageSize:Number,defaultPageSize:Z.number.def(10),hideOnSinglePage:{type:Boolean,default:!1},showSizeChanger:{type:Boolean,default:void 0},showLessItems:{type:Boolean,default:!1},selectComponentClass:Z.any,showPrevNextJumpers:{type:Boolean,default:!0},showQuickJumper:Z.oneOfType([Z.looseBool,Z.object]).def(!1),showTitle:{type:Boolean,default:!0},pageSizeOptions:Z.arrayOf(Z.oneOfType([Z.number,Z.string])),buildOptionText:Function,showTotal:Function,simple:{type:Boolean,default:void 0},locale:Z.object.def(at),itemRender:Z.func.def(vn),prevIcon:Z.any,nextIcon:Z.any,jumpPrevIcon:Z.any,jumpNextIcon:Z.any,totalBoundaryShowSizeChanger:Z.number.def(50)},data(){let e=this.$props,t=Re([this.current,this.defaultCurrent]),n=Re([this.pageSize,this.defaultPageSize]);return t=Math.min(t,yn(n,void 0,e)),{stateCurrent:t,stateCurrentInputValue:t,statePageSize:n}},watch:{current(e){this.setState({stateCurrent:e,stateCurrentInputValue:e})},pageSize(e){let t={},n=this.stateCurrent,r=yn(e,this.$data,this.$props);n=n>r?r:n,he(this,`current`)||(t.stateCurrent=n,t.stateCurrentInputValue=n),t.statePageSize=e,this.setState(t)},stateCurrent(e,t){this.$nextTick(()=>{if(this.$refs.paginationNode){let e=this.$refs.paginationNode.querySelector(`.${this.prefixCls}-item-${t}`);e&&document.activeElement===e&&e.blur()}})},total(){let e={},t=yn(this.pageSize,this.$data,this.$props);if(he(this,`current`)){let n=Math.min(this.current,t);e.stateCurrent=n,e.stateCurrentInputValue=n}else{let n=this.stateCurrent;n=n===0&&t>0?1:Math.min(this.stateCurrent,t),e.stateCurrent=n}this.setState(e)}},methods:{getJumpPrevPage(){return Math.max(1,this.stateCurrent-(this.showLessItems?3:5))},getJumpNextPage(){return Math.min(yn(void 0,this.$data,this.$props),this.stateCurrent+(this.showLessItems?3:5))},getItemIcon(e,t){let{prefixCls:n}=this.$props;return we(this,e,this.$props)||k(`button`,{type:`button`,"aria-label":t,class:`${n}-item-link`},null)},getValidValue(e){let t=e.target.value,n=yn(void 0,this.$data,this.$props),{stateCurrentInputValue:r}=this.$data,i;return i=t===``?t:isNaN(Number(t))?r:t>=n?n:Number(t),i},isValid(e){return _n(e)&&e!==this.stateCurrent},shouldDisplayQuickJumper(){let{showQuickJumper:e,pageSize:t,total:n}=this.$props;return n<=t?!1:e},handleKeyDown(e){(e.keyCode===mn.ARROW_UP||e.keyCode===mn.ARROW_DOWN)&&e.preventDefault()},handleKeyUp(e){let t=this.getValidValue(e);t!==this.stateCurrentInputValue&&this.setState({stateCurrentInputValue:t}),e.keyCode===mn.ENTER?this.handleChange(t):e.keyCode===mn.ARROW_UP?this.handleChange(t-1):e.keyCode===mn.ARROW_DOWN&&this.handleChange(t+1)},changePageSize(e){let t=this.stateCurrent,n=t,r=yn(e,this.$data,this.$props);t=t>r?r:t,r===0&&(t=this.stateCurrent),typeof e==`number`&&(he(this,`pageSize`)||this.setState({statePageSize:e}),he(this,`current`)||this.setState({stateCurrent:t,stateCurrentInputValue:t})),this.__emit(`update:pageSize`,e),t!==n&&this.__emit(`update:current`,t),this.__emit(`showSizeChange`,t,e),this.__emit(`change`,t,e)},handleChange(e){let{disabled:t}=this.$props,n=e;if(this.isValid(n)&&!t){let e=yn(void 0,this.$data,this.$props);return n>e?n=e:n<1&&(n=1),he(this,`current`)||this.setState({stateCurrent:n,stateCurrentInputValue:n}),this.__emit(`update:current`,n),this.__emit(`change`,n,this.statePageSize),n}return this.stateCurrent},prev(){this.hasPrev()&&this.handleChange(this.stateCurrent-1)},next(){this.hasNext()&&this.handleChange(this.stateCurrent+1)},jumpPrev(){this.handleChange(this.getJumpPrevPage())},jumpNext(){this.handleChange(this.getJumpNextPage())},hasPrev(){return this.stateCurrent>1},hasNext(){return this.stateCurrent<yn(void 0,this.$data,this.$props)},getShowSizeChanger(){let{showSizeChanger:e,total:t,totalBoundaryShowSizeChanger:n}=this.$props;return e===void 0?t>n:e},runIfEnter(e,t){(e.key===`Enter`||e.charCode===13)&&(e.preventDefault(),t(...[...arguments].slice(2)))},runIfEnterPrev(e){this.runIfEnter(e,this.prev)},runIfEnterNext(e){this.runIfEnter(e,this.next)},runIfEnterJumpPrev(e){this.runIfEnter(e,this.jumpPrev)},runIfEnterJumpNext(e){this.runIfEnter(e,this.jumpNext)},handleGoTO(e){(e.keyCode===mn.ENTER||e.type===`click`)&&this.handleChange(this.stateCurrentInputValue)},renderPrev(e){let{itemRender:t}=this.$props,n=t({page:e,type:`prev`,originalElement:this.getItemIcon(`prevIcon`,`prev page`)}),r=!this.hasPrev();return Ee(n)?m(n,r?{disabled:r}:{}):n},renderNext(e){let{itemRender:t}=this.$props,n=t({page:e,type:`next`,originalElement:this.getItemIcon(`nextIcon`,`next page`)}),r=!this.hasNext();return Ee(n)?m(n,r?{disabled:r}:{}):n}},render(){let{prefixCls:e,disabled:t,hideOnSinglePage:n,total:r,locale:i,showQuickJumper:a,showLessItems:o,showTitle:s,showTotal:c,simple:l,itemRender:u,showPrevNextJumpers:d,jumpPrevIcon:f,jumpNextIcon:p,selectComponentClass:m,selectPrefixCls:h,pageSizeOptions:g}=this.$props,{stateCurrent:_,statePageSize:v}=this,y=Te(this.$attrs).extraAttrs,{class:b}=y,x=gn(y,[`class`]);if(n===!0&&this.total<=v)return null;let S=yn(void 0,this.$data,this.$props),C=[],w=null,T=null,E=null,D=null,O=null,A=a&&a.goButton,j=o?1:2,M=_-1>0?_-1:0,N=_+1<S?_+1:S,P=this.hasPrev(),F=this.hasNext();if(l)return A&&(O=typeof A==`boolean`?k(`button`,{type:`button`,onClick:this.handleGoTO,onKeyup:this.handleGoTO},[i.jump_to_confirm]):k(`span`,{onClick:this.handleGoTO,onKeyup:this.handleGoTO},[A]),O=k(`li`,{title:s?`${i.jump_to}${_}/${S}`:null,class:`${e}-simple-pager`},[O])),k(`ul`,X({class:$(`${e} ${e}-simple`,{[`${e}-disabled`]:t},b)},x),[k(`li`,{title:s?i.prev_page:null,onClick:this.prev,tabindex:P?0:null,onKeypress:this.runIfEnterPrev,class:$(`${e}-prev`,{[`${e}-disabled`]:!P}),"aria-disabled":!P},[this.renderPrev(M)]),k(`li`,{title:s?`${_}/${S}`:null,class:`${e}-simple-pager`},[k(Oe,{type:`text`,value:this.stateCurrentInputValue,disabled:t,onKeydown:this.handleKeyDown,onKeyup:this.handleKeyUp,onInput:this.handleKeyUp,onChange:this.handleKeyUp,size:`3`},null),k(`span`,{class:`${e}-slash`},[ne(`/`)]),S]),k(`li`,{title:s?i.next_page:null,onClick:this.next,tabindex:F?0:null,onKeypress:this.runIfEnterNext,class:$(`${e}-next`,{[`${e}-disabled`]:!F}),"aria-disabled":!F},[this.renderNext(N)]),O]);if(S<=3+j*2){let t={locale:i,rootPrefixCls:e,showTitle:s,itemRender:u,onClick:this.handleChange,onKeypress:this.runIfEnter};S||C.push(k(pn,X(X({},t),{},{key:`noPager`,page:1,class:`${e}-item-disabled`}),null));for(let e=1;e<=S;e+=1){let n=_===e;C.push(k(pn,X(X({},t),{},{key:e,page:e,active:n}),null))}}else{let t=o?i.prev_3:i.prev_5,n=o?i.next_3:i.next_5;d&&(w=k(`li`,{title:this.showTitle?t:null,key:`prev`,onClick:this.jumpPrev,tabindex:`0`,onKeypress:this.runIfEnterJumpPrev,class:$(`${e}-jump-prev`,{[`${e}-jump-prev-custom-icon`]:!!f})},[u({page:this.getJumpPrevPage(),type:`jump-prev`,originalElement:this.getItemIcon(`jumpPrevIcon`,`prev page`)})]),T=k(`li`,{title:this.showTitle?n:null,key:`next`,tabindex:`0`,onClick:this.jumpNext,onKeypress:this.runIfEnterJumpNext,class:$(`${e}-jump-next`,{[`${e}-jump-next-custom-icon`]:!!p})},[u({page:this.getJumpNextPage(),type:`jump-next`,originalElement:this.getItemIcon(`jumpNextIcon`,`next page`)})])),D=k(pn,{locale:i,last:!0,rootPrefixCls:e,onClick:this.handleChange,onKeypress:this.runIfEnter,key:S,page:S,active:!1,showTitle:s,itemRender:u},null),E=k(pn,{locale:i,rootPrefixCls:e,onClick:this.handleChange,onKeypress:this.runIfEnter,key:1,page:1,active:!1,showTitle:s,itemRender:u},null);let r=Math.max(1,_-j),a=Math.min(_+j,S);_-1<=j&&(a=1+j*2),S-_<=j&&(r=S-j*2);for(let t=r;t<=a;t+=1){let n=_===t;C.push(k(pn,{locale:i,rootPrefixCls:e,onClick:this.handleChange,onKeypress:this.runIfEnter,key:t,page:t,active:n,showTitle:s,itemRender:u},null))}_-1>=j*2&&_!==3&&(C[0]=k(pn,{locale:i,rootPrefixCls:e,onClick:this.handleChange,onKeypress:this.runIfEnter,key:r,page:r,class:`${e}-item-after-jump-prev`,active:!1,showTitle:this.showTitle,itemRender:u},null),C.unshift(w)),S-_>=j*2&&_!==S-2&&(C[C.length-1]=k(pn,{locale:i,rootPrefixCls:e,onClick:this.handleChange,onKeypress:this.runIfEnter,key:a,page:a,class:`${e}-item-before-jump-next`,active:!1,showTitle:this.showTitle,itemRender:u},null),C.push(T)),r!==1&&C.unshift(E),a!==S&&C.push(D)}let I=null;c&&(I=k(`li`,{class:`${e}-total-text`},[c(r,[r===0?0:(_-1)*v+1,_*v>r?r:_*v])]));let L=!P||!S,R=!F||!S,z=this.buildOptionText||this.$slots.buildOptionText;return k(`ul`,X(X({unselectable:`on`,ref:`paginationNode`},x),{},{class:$({[`${e}`]:!0,[`${e}-disabled`]:t},b)}),[I,k(`li`,{title:s?i.prev_page:null,onClick:this.prev,tabindex:L?null:0,onKeypress:this.runIfEnterPrev,class:$(`${e}-prev`,{[`${e}-disabled`]:L}),"aria-disabled":L},[this.renderPrev(M)]),C,k(`li`,{title:s?i.next_page:null,onClick:this.next,tabindex:R?null:0,onKeypress:this.runIfEnterNext,class:$(`${e}-next`,{[`${e}-disabled`]:R}),"aria-disabled":R},[this.renderNext(N)]),k(hn,{disabled:t,locale:i,rootPrefixCls:e,selectComponentClass:m,selectPrefixCls:h,changeSize:this.getShowSizeChanger()?this.changePageSize:null,current:_,pageSize:v,pageSizeOptions:g,buildOptionText:z||null,quickGo:this.shouldDisplayQuickJumper()?this.handleChange:null,goButton:A},null)])}}),xn=e=>{let{componentCls:t}=e;return{[`${t}-disabled`]:{"&, &:hover":{cursor:`not-allowed`,[`${t}-item-link`]:{color:e.colorTextDisabled,cursor:`not-allowed`}},"&:focus-visible":{cursor:`not-allowed`,[`${t}-item-link`]:{color:e.colorTextDisabled,cursor:`not-allowed`}}},[`&${t}-disabled`]:{cursor:`not-allowed`,[`&${t}-mini`]:{[`
|
|
2
2
|
&:hover ${t}-item:not(${t}-item-active),
|
|
3
3
|
&:active ${t}-item:not(${t}-item-active),
|
|
4
4
|
&:hover ${t}-item-link,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,c as t,n}from"./BU83-NnX.js";import{S as r,Ut as i,V as a,Vt as ee,W as o,b as s,ct as c,d as l,dt as te,f as u,h as d,i as f,m as p,p as m,pt as h,tt as g,xt as _,y as v}from"./CSkxz2NX.js";import{d as ne}from"./BJHKLJJU.js";import{n as y}from"./DtYHUi5Z.js";import{n as b}from"./KZQX7xoM.js";import{n as re,r as ie,t as ae}from"./DDgJcSET.js";import{t as oe}from"./aWWIh8YL.js";import{t as se}from"./DBHNsT1Y.js";import{i as ce,n as le,t as ue}from"./BCGafdXT.js";import{r as de,t as fe}from"./CzlMDL5H.js";import{t as pe}from"./jZsY8yYz.js";import{n as me,t as he}from"./CYWVXZTS2.js";import{t as ge}from"./C4DWUZ6d2.js";import{t as _e}from"./DZtm4l-P2.js";import{t as ve}from"./CClOy-Hz2.js";import{t as x}from"./DIaZ2PTo2.js";import{t as S}from"./BDNMzG2s2.js";import{t as C}from"./D0ZBQrN_2.js";import{t as ye}from"./BN6iuJEg2.js";import{t as be}from"./CNs_Ozdc2.js";var xe={class:`page`},Se={class:`head`},Ce={class:`sub`},we={class:`toolbar`},Te={key:0,class:`admin-note`},Ee={class:`grid`},De={class:`card-head`},Oe={class:`name`},ke={class:`owner`},Ae={class:`members`},je={class:`member-name`},Me={class:`member-harness`},Ne=[`onClick`],Pe={class:`aw-mono`},Fe={key:0,class:`plug-builtin-tag`},Ie={class:`plug-hint`},Le={class:`plug-source`},Re={class:`plug-text`},ze={class:`plug-name`},Be={class:`aw-mono`},Ve={key:0,class:`plug-builtin-tag`},He={class:`plug-desc`},Ue={key:0,class:`plug-hint`},w=S(r({__name:`teams`,setup(r){let{t:S}=b();be({layout:`default`});let w=ye(),T=x(),E=h([]),D=h([]),We=h([]),O=h(!1),k=async()=>{O.value=!0;try{let[e,t,n]=await Promise.all([w.listTeams(),w.listTemplates(),w.listChannels()]);E.value=e?.data??[],D.value=t?.data??[],We.value=n?.data??[]}finally{O.value=!1}};k();let A=h({});(async()=>{try{let e=(await w.listHarnesses())?.data?.harnesses;if(Array.isArray(e)){let t={};for(let n of e)t[n.id]=n.available!==!1;A.value=t}}catch{}})();let Ge=e=>A.value[e.harness]===!1,Ke=l(()=>D.value.map(e=>{let t=Ge(e);return{value:e.id,label:t?`${e.name}(${e.harness} · ${S(`agents.notInstalled`)})`:`${e.name}(${e.harness})`,disabled:t}})),j=h(`all`),qe=l(()=>{let e=T.user?.id;switch(j.value){case`mine`:return E.value.filter(t=>t.ownerUserId===e);case`public`:return E.value.filter(e=>e.visibility===`public`);case`builtin`:return E.value.filter(e=>e.isBuiltin);default:return E.value}}),M=e=>!e.isBuiltin&&(e.ownerUserId===T.user?.id||T.isAdmin),N=e=>e.isBuiltin?{text:S(`teams.k3x23c018`),color:`default`,icon:`i-tabler-lock`}:e.visibility===`public`?{text:S(`teams.k3wv1t019`),color:`green`}:{text:S(`teams.k447jj020`),color:`default`},P=h(!1),F=te({name:``,description:``,visibility:`private`}),I=h([]),L=h({});(async()=>{try{let e=await w.listPlugins(),t=e?.plugins??e?.data?.plugins??[],n=(Array.isArray(t)?t:[]).filter(e=>e.enabled!==!1);I.value=n;let r={};for(let e of n)r[e.name]=!0;L.value=r}catch{}})();let R=l({get:()=>Object.entries(L.value).filter(([,e])=>e).map(([e])=>e),set:e=>{let t={};for(let n of I.value)t[n.name]=e.includes(n.name);L.value=t}}),Je=async()=>{if(!F.name.trim()){e.warning(S(`teams.k1bvcdo2021`));return}let t=Object.entries(L.value).map(([e,t])=>({name:e,enabled:t}));await w.createTeam({name:F.name.trim(),description:F.description||void 0,visibility:F.visibility,plugins:t}),e.success(S(`teams.k3n5hak022`)),P.value=!1,F.name=``,F.description=``,F.visibility=`private`,L.value=Object.fromEntries(Object.entries(L.value).map(([e])=>[e,!0])),k()},Ye=async(t,n)=>{try{await w.updateTeam(t.id,{visibility:n?`public`:`private`}),e.success(S(n?`teams.k1globhp023`:`teams.k1xxabaf024`)),k()}catch(t){e.error(C(t))}},z=h(!1),B=h(null),V=h(``),H=h(`worker`),Xe=e=>{B.value=e,V.value=``,H.value=`worker`,z.value=!0},Ze=async()=>{if(!B.value||!V.value){e.warning(S(`teams.k1kw4rtj025`));return}try{await w.addTeamMember(B.value.id,{agentId:V.value,role:H.value}),e.success(S(`teams.k3n5hzw026`)),z.value=!1,k()}catch(t){e.error(C(t))}},Qe=async(e,t)=>{await w.removeTeamMember(e.id,t),k()},U=h(!1),W=h(null),G=h(``),K=h(!1),$e=e=>{W.value=e,G.value=``,U.value=!0},et=async()=>{if(!W.value||!G.value){e.warning(`选择目标 Channel`);return}K.value=!0;try{let t=(await w.deployTeam(W.value.id,G.value))?.data?.agents?.length??0;e.success(S(`teams.kh90glh031`,{p0:t})),U.value=!1}catch(t){e.error(C(t))}finally{K.value=!1}},tt=async t=>{await w.deleteTeam(t.id),e.success(S(`teams.k1oxjrxx027`)),k()},q=h(!1),J=h(null),Y=h([]),X=h(`default`),Z=h(!1),Q=h(null),nt=e=>{J.value=e,Y.value=[],X.value=`default`,q.value=!0,$(e)},$=async t=>{Z.value=!0;try{let e=(await w.listTeamPlugins(t.id))?.data??{};Y.value=e.plugins??[],X.value=e.source===`explicit`?`explicit`:`default`}catch(t){e.error(C(t))}finally{Z.value=!1}},rt=async(t,n)=>{if(!J.value||Q.value)return;let r=J.value.id;Q.value=t.name;try{let i=Y.value.map(e=>({name:e.name,enabled:e.name===t.name?n:e.enabled})),a=(await w.putTeamPlugins(r,{plugins:i}))?.data??{};Y.value=a.plugins??i.map(e=>({...e})),X.value=a.source===`explicit`?`explicit`:`default`,e.success(S(`teams.k1plugon043`))}catch(t){e.error(C(t))}finally{Q.value=null}};return y({title:()=>S(`titles.teams`)}),(e,r)=>{let l=t,te=pe,h=ae,y=ue,b=ve,x=de,S=fe,C=ge,ye=_e,be=se,w=ie,D=le,k=ce,A=he,Ge=me,L=re,$=n,it=oe;return a(),d(`div`,xe,[u(`div`,Se,[u(`div`,null,[u(`h2`,null,`AgentTeam `+i(e.$t(`teams.k3svl8y028`)),1),u(`p`,Ce,i(e.$t(`teams.k12gl4wn008`)),1)]),s(te,null,{default:g(()=>[s(l,{onClick:r[0]||=t=>(`navigateTo`in e?e.navigateTo:_(ne))(`/workshop`)},{default:g(()=>[v(i(e.$t(`teams.krpx6qa009`)),1)]),_:1}),s(l,{type:`primary`,onClick:r[1]||=e=>P.value=!0},{default:g(()=>[v(i(e.$t(`teams.k1efmuyx002`)),1)]),_:1})]),_:1})]),u(`div`,we,[s(h,{value:_(j),"onUpdate:value":r[2]||=e=>c(j)?j.value=e:null,size:`small`,options:[{value:`all`,label:e.$t(`chips.chipAll`,{n:_(E).length})},{value:`mine`,label:e.$t(`chips.mine`)},{value:`public`,label:e.$t(`chips.public`)},{value:`builtin`,label:e.$t(`chips.builtin`)}]},null,8,[`value`,`options`]),_(T).isAdmin?(a(),d(`span`,Te,[r[15]||=u(`span`,{class:`i-tabler-shield-check`},null,-1),v(` `+i(e.$t(`teams.k1bpgi8h010`)),1)])):p(``,!0)]),s(ye,{spinning:_(O)},{default:g(()=>[u(`div`,Ee,[(a(!0),d(f,null,o(_(qe),t=>(a(),d(`div`,{key:t.id,class:`card`},[u(`div`,De,[u(`span`,Oe,i(t.name),1),s(y,{color:N(t).color,class:`vis-tag`},{default:g(()=>[N(t).icon?(a(),d(`span`,{key:0,class:ee(N(t).icon)},null,2)):p(``,!0),v(i(N(t).text),1)]),_:2},1032,[`color`]),!t.isBuiltin&&M(t)?(a(),m(b,{key:0,checked:t.visibility===`public`,size:`small`,title:t.visibility===`public`?`点击转为私有`:`点击公开(全员可部署)`,onChange:e=>Ye(t,e===!0)},null,8,[`checked`,`title`,`onChange`])):p(``,!0),u(`span`,ke,i(t.ownerName??`-`),1),M(t)?(a(),m(C,{key:1},{overlay:g(()=>[s(S,null,{default:g(()=>[s(x,{onClick:e=>$e(t)},{default:g(()=>[...r[16]||=[v(` 部署到 Channel… `,-1)]]),_:1},8,[`onClick`]),s(x,{onClick:e=>nt(t)},{default:g(()=>[v(i(e.$t(`teams.k1plugon047`)),1)]),_:1},8,[`onClick`]),s(x,{danger:``,onClick:e=>tt(t)},{default:g(()=>[v(i(e.$t(`teams.k1bpojhf011`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),default:g(()=>[r[17]||=u(`span`,{class:`i-tabler-dots op`},null,-1)]),_:2},1024)):(a(),m(l,{key:2,class:`deploy-btn`,size:`small`,type:`default`,title:e.$t(`teams.kxheuf1001`),onClick:e=>$e(t)},{default:g(()=>[v(i(e.$t(`teams.k48ja7012`)),1)]),_:1},8,[`title`,`onClick`]))]),u(`div`,Ae,[(a(!0),d(f,null,o(t.members,e=>(a(),d(`div`,{key:e.templateId,class:`member`},[s(y,{color:e.role===`lead`?`gold`:`blue`,class:`role`},{default:g(()=>[v(i(e.role),1)]),_:2},1032,[`color`]),u(`span`,je,i(e.name),1),u(`span`,Me,i(e.harness),1),M(t)?(a(),d(`span`,{key:0,class:`i-tabler-x rm`,onClick:n=>Qe(t,e.templateId)},null,8,Ne)):p(``,!0)]))),128)),M(t)?(a(),m(l,{key:0,size:`small`,type:`dashed`,block:``,onClick:e=>Xe(t)},{default:g(()=>[v(i(e.$t(`teams.krt2oib013`)),1)]),_:1},8,[`onClick`])):p(``,!0)])]))),128)),_(qe).length===0?(a(),d(`div`,{key:0,class:`card placeholder`,onClick:r[3]||=e=>P.value=!0},[r[18]||=u(`span`,{class:`i-tabler-plus big`},null,-1),u(`span`,null,i(e.$t(`teams.k6cbbgf014`)),1)])):p(``,!0)])]),_:1},8,[`spinning`]),s($,{open:_(P),"onUpdate:open":r[8]||=e=>c(P)?P.value=e:null,title:e.$t(`teams.k1efmuyx002`),"ok-text":`创建`,"cancel-text":`取消`,onOk:Je},{default:g(()=>[s(L,{layout:`vertical`},{default:g(()=>[s(w,{label:e.$t(`teams.k3xhia003`)},{default:g(()=>[s(be,{value:_(F).name,"onUpdate:value":r[4]||=e=>_(F).name=e},null,8,[`value`])]),_:1},8,[`label`]),s(w,{label:e.$t(`teams.k40gkk004`)},{default:g(()=>[s(be,{value:_(F).description,"onUpdate:value":r[5]||=e=>_(F).description=e},null,8,[`value`])]),_:1},8,[`label`]),s(w,{label:e.$t(`teams.k3lrqn0005`)},{default:g(()=>[s(k,{value:_(F).visibility,"onUpdate:value":r[6]||=e=>_(F).visibility=e},{default:g(()=>[s(D,{value:`private`},{default:g(()=>[v(i(e.$t(`teams.k17jfge3015`)),1)]),_:1}),s(D,{value:`public`},{default:g(()=>[v(i(e.$t(`teams.k1h2lq0o016`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`]),_(I).length?(a(),m(w,{key:0,label:e.$t(`teams.k1plugon041`)},{default:g(()=>[s(Ge,{value:_(R),"onUpdate:value":r[7]||=e=>c(R)?R.value=e:null,class:`plug-create-group`},{default:g(()=>[(a(!0),d(f,null,o(_(I),t=>(a(),m(A,{key:t.name,value:t.name},{default:g(()=>[u(`span`,Pe,i(t.name),1),t.builtin?(a(),d(`span`,Fe,i(e.$t(`teams.k3x23c018`)),1)):p(``,!0)]),_:2},1032,[`value`]))),128))]),_:1},8,[`value`]),u(`div`,Ie,i(e.$t(`teams.k1plugon042`)),1)]),_:1},8,[`label`])):p(``,!0)]),_:1})]),_:1},8,[`open`,`title`]),s($,{open:_(z),"onUpdate:open":r[11]||=e=>c(z)?z.value=e:null,title:e.$t(`teams.k6ljhyv029`,{p0:_(B)?.name??``}),"ok-text":`加入`,"cancel-text":`取消`,onOk:Ze},{default:g(()=>[s(L,{layout:`vertical`},{default:g(()=>[s(w,{label:e.$t(`teams.k41ds5006`)},{default:g(()=>[s(it,{value:_(V),"onUpdate:value":r[9]||=e=>c(V)?V.value=e:null,options:_(Ke)},null,8,[`value`,`options`])]),_:1},8,[`label`]),s(w,{label:e.$t(`teams.k479op007`)},{default:g(()=>[s(k,{value:_(H),"onUpdate:value":r[10]||=e=>c(H)?H.value=e:null},{default:g(()=>[s(D,{value:`worker`},{default:g(()=>[...r[19]||=[v(` worker `,-1)]]),_:1}),s(D,{value:`lead`},{default:g(()=>[v(i(e.$t(`teams.keowzlv017`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`open`,`title`]),s($,{open:_(U),"onUpdate:open":r[13]||=e=>c(U)?U.value=e:null,title:e.$t(`teams.k1c0o6oe030`,{p0:_(W)?.name??``}),"confirm-loading":_(K),"ok-text":`部署`,"cancel-text":`取消`,onOk:et},{default:g(()=>[s(L,{layout:`vertical`},{default:g(()=>[s(w,{label:`目标 Channel(须无 lead 冲突)`},{default:g(()=>[s(it,{value:_(G),"onUpdate:value":r[12]||=e=>c(G)?G.value=e:null,options:_(We).map(e=>({value:e.id,label:e.name}))},null,8,[`value`,`options`])]),_:1})]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`]),s($,{open:_(q),"onUpdate:open":r[14]||=e=>c(q)?q.value=e:null,title:e.$t(`teams.k1plugon040`,{p0:_(J)?.name??``}),footer:null},{default:g(()=>[s(ye,{spinning:_(Z)},{default:g(()=>[u(`p`,Le,[_(X)===`explicit`?(a(),d(f,{key:0},[v(i(e.$t(`teams.k1plugon045`)),1)],64)):(a(),d(f,{key:1},[v(i(e.$t(`teams.k1plugon044`)),1)],64))]),(a(!0),d(f,null,o(_(Y),t=>(a(),d(`div`,{key:t.name,class:`plug-row`},[u(`div`,Re,[u(`div`,ze,[u(`span`,Be,i(t.name),1),t.builtin?(a(),d(`span`,Ve,i(e.$t(`teams.k3x23c018`)),1)):p(``,!0)]),u(`div`,He,i(t.description||`—`),1)]),s(b,{checked:t.enabled,size:`small`,loading:_(Q)===t.name,onChange:e=>rt(t,e===!0)},null,8,[`checked`,`loading`,`onChange`])]))),128)),_(Y).length===0&&!_(Z)?(a(),d(`div`,Ue,i(e.$t(`teams.k1plugon046`)),1)):p(``,!0)]),_:1},8,[`spinning`])]),_:1},8,[`open`,`title`])])}}}),[[`__scopeId`,`data-v-5a420f71`]]);export{w as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,c as t,n}from"./BU83-NnX.js";import{$ as r,S as i,Ut as a,V as o,Vt as s,b as c,ct as l,d as u,f as d,h as f,i as p,m,p as h,pt as g,tt as _,xt as v,y}from"./CSkxz2NX.js";import{d as b}from"./D6uzXueg.js";import{d as x}from"./BJHKLJJU.js";import{n as S}from"./DtYHUi5Z.js";import{n as C}from"./KZQX7xoM.js";import{t as ee}from"./
|
|
1
|
+
import{a as e,c as t,n}from"./BU83-NnX.js";import{$ as r,S as i,Ut as a,V as o,Vt as s,b as c,ct as l,d as u,f as d,h as f,i as p,m,p as h,pt as g,tt as _,xt as v,y}from"./CSkxz2NX.js";import{d as b}from"./D6uzXueg.js";import{d as x}from"./BJHKLJJU.js";import{n as S}from"./DtYHUi5Z.js";import{n as C}from"./KZQX7xoM.js";import{t as ee}from"./BneN7fbu.js";import{t as te}from"./DBHNsT1Y.js";import{t as ne}from"./BCGafdXT.js";import{t as re}from"./pdk8jLGT.js";import{t as ie}from"./BYhEUx8t.js";import{t as ae}from"./jZsY8yYz.js";import{t as w}from"./DZtm4l-P2.js";import{t as T}from"./DIaZ2PTo2.js";import{t as E}from"./BDNMzG2s2.js";import{t as D}from"./D0ZBQrN_2.js";import{t as O}from"./CNs_Ozdc2.js";var oe={class:`page`},se={key:0,class:`auth-gate`},ce={class:`sub`},le={class:`aw-page-head`},ue={class:`sub`},de={class:`font-medium`},fe={key:1,class:`tok-cell`},pe=[`title`],me={class:`once-banner`},he={class:`raw-row`},ge={class:`raw`},_e=[`title`],ve=[`title`],ye={class:`once-meta`},k=E(i({__name:`tokens`,setup(i){let{t:E}=C();O({layout:`default`});let k=T(),A=g([]),j=g(!1),M=g(!1),N=g(``),P=g(!1),F=g(``),I=g(``),L=g(!1),R=g(``),z=g(``),B=g(!1),V=async()=>{if(k.isLoggedIn){j.value=!0;try{A.value=await k.listTokens()}catch(t){e.error(t instanceof Error?t.message:E(`tokens.k19jvk54013`))}finally{j.value=!1}}};r(()=>k.isLoggedIn,e=>{e?V():A.value=[]},{immediate:!0});let H=async()=>{P.value=!0;try{let e=await k.createToken(N.value);F.value=e.token,I.value=N.value,M.value=!1,N.value=``,await V()}catch(t){e.error(D(t))}finally{P.value=!1}},U=async()=>{if(!z.value.trim()){e.warning(E(`tokens.k169z26g014`));return}B.value=!0;try{await k.renameToken(R.value,z.value),L.value=!1,await V(),e.success(E(`tokens.k3n9aij015`))}catch(t){e.error(D(t))}finally{B.value=!1}},be=t=>{let n=t.id;if(!n)return;let r=n===k.user?.tokenId;(async()=>{try{if(await k.revokeToken(n),e.success(E(`tokens.k3n64kh016`)),r)return;await V()}catch(t){e.error(D(t))}})()},W=g(!1),G=g(!1),xe=u(()=>{let e=F.value;return e?`${e.slice(0,6)}${`•`.repeat(Math.max(12,e.length-10))}${e.slice(-4)}`:``}),Se=()=>{W.value=!W.value},K=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch{try{let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);return document.body.removeChild(t),n}catch{return!1}}},Ce=async()=>{await K(F.value)?(G.value=!0,setTimeout(()=>{G.value=!1},1600)):e.error(E(`tokens.kjtcn2h017`))},q=()=>{F.value=``,W.value=!1,G.value=!1},J=g({}),Y=g(``),X=g(``),Z=e=>e in J.value,we=e=>Z(e.id)?J.value[e.id]:e.preview??`ut-${`•`.repeat(14)}`,Q=async t=>{if(Z(t.id)){Reflect.deleteProperty(J.value,t.id);return}if(!t.hasPlain){e.warning(E(`tokens.kkpgzo8018`));return}Y.value=t.id;try{let e=await k.revealToken(t.id);e&&(J.value[t.id]=e)}catch(t){e.error(t instanceof Error?t.message:E(`tokens.k1gj9ls019`))}finally{Y.value=``}},Te=async t=>{let n=J.value[t.id]??null;if(!n){if(!t.hasPlain){e.warning(E(`tokens.kr5ovor020`));return}Y.value=t.id;try{n=await k.revealToken(t.id)}catch(t){e.error(t instanceof Error?t.message:E(`tokens.kubtby5021`));return}finally{Y.value=``}}n&&await K(n)?(X.value=t.id,setTimeout(()=>{X.value=``},1600)):e.error(E(`tokens.kgkfcr0022`))},$=e=>e?e.replace(`T`,` `).slice(0,19):`-`,Ee=e=>{R.value=e.id??``,z.value=e.label??``,L.value=!0},De=[{title:E(`tokens.k41416002`),key:`label`,dataIndex:`label`},{title:`Token`,key:`token`,width:360},{title:E(`tokens.k1bg95gk023`),key:`createdAt`,dataIndex:`createdAt`,width:170},{title:E(`tokens.k1euotul024`),key:`lastUsedAt`,dataIndex:`lastUsedAt`,width:200},{title:E(`tokens.k40aa6025`),key:`action`,width:170}];return S({title:()=>E(`titles.tokens`)}),(e,r)=>{let i=t,u=ie,g=ne,S=ae,C=re,T=ee,E=w,D=te,O=n;return o(),f(`div`,oe,[v(k).isLoggedIn?(o(),f(p,{key:1},[d(`div`,le,[d(`div`,null,[r[6]||=d(`p`,{class:`aw-kicker`},` agentworkshop / api tokens `,-1),r[7]||=d(`h1`,null,`API Token`,-1),d(`p`,ue,a(v(k).user?.name)+` · `+a(e.$t(`tokens.k1upppaw026`)),1)]),c(S,{class:`head-actions`},{default:_(()=>[v(k).user?.tokenId?(o(),h(g,{key:0,color:`green`},{default:_(()=>[y(a(e.$t(`tokens.khcxmsc006`)),1)]),_:1})):m(``,!0),c(i,{type:`primary`,onClick:r[1]||=e=>M.value=!0},{default:_(()=>[r[8]||=d(`span`,{class:`i-tabler-plus`},null,-1),y(` `+a(e.$t(`chips.issue`)),1)]),_:1})]),_:1})]),c(u,{bordered:!1,class:`table-card`},{default:_(()=>[c(E,{spinning:v(j)},{default:_(()=>[c(T,{columns:De,"data-source":v(A),pagination:!1,"row-key":`id`},{bodyCell:_(({column:t,record:n})=>[t.key===`label`?(o(),h(S,{key:0},{default:_(()=>[r[9]||=d(`span`,{class:`i-tabler-key text-primary`},null,-1),d(`span`,de,a(n.label||e.$t(`tokens.kj3mklm028`)),1),n.id===v(k).user?.tokenId?(o(),h(g,{key:0,color:`green`},{default:_(()=>[y(a(e.$t(`tokens.k1defr98007`)),1)]),_:1})):m(``,!0)]),_:2},1024)):t.key===`token`?(o(),f(`div`,fe,[d(`code`,{class:s([`tok-val`,{revealed:Z(n.id)}]),title:Z(n.id)?`已显示明文,点击眼睛遮回`:`掩码预览`},a(we(n)),11,pe),n.hasPlain?(o(),h(i,{key:0,type:`text`,size:`small`,class:`tok-op`,loading:v(Y)===n.id,title:Z(n.id)?`遮回`:`查看明文`,onClick:e=>Q(n)},{default:_(()=>[d(`span`,{class:s(Z(n.id)?`i-tabler-eye-off`:`i-tabler-eye`)},null,2)]),_:2},1032,[`loading`,`title`,`onClick`])):m(``,!0),n.hasPlain?(o(),h(i,{key:1,type:`text`,size:`small`,class:s([`tok-op`,{ok:v(X)===n.id}]),title:v(X)===n.id?`已复制`:`复制明文`,onClick:e=>Te(n)},{default:_(()=>[d(`span`,{class:s(v(X)===n.id?`i-tabler-check`:`i-tabler-copy`)},null,2)]),_:2},1032,[`class`,`title`,`onClick`])):m(``,!0)])):t.key===`createdAt`?(o(),f(p,{key:2},[y(a($(n.createdAt)),1)],64)):t.key===`lastUsedAt`?(o(),f(p,{key:3},[y(a($(n.lastUsedAt)),1)],64)):t.key===`action`?(o(),h(S,{key:4},{default:_(()=>[c(i,{type:`link`,size:`small`,onClick:e=>Ee(n)},{default:_(()=>[r[10]||=d(`span`,{class:`i-tabler-edit`},null,-1),y(` `+a(e.$t(`tokens.k3vrpcs009`)),1)]),_:1},8,[`onClick`]),c(C,{title:n.id===v(k).user?.tokenId?`吊销当前会话 token 将退出登录`:`吊销后立即失效`,"ok-text":`吊销`,"cancel-text":`取消`,onConfirm:e=>be(n)},{default:_(()=>[c(i,{type:`text`,size:`small`,class:`tok-revoke`},{default:_(()=>[r[11]||=d(`span`,{class:`i-tabler-trash`},null,-1),y(` `+a(e.$t(`tokens.k3xmrz010`)),1)]),_:1})]),_:1},8,[`title`,`onConfirm`])]),_:2},1024)):m(``,!0)]),_:1},8,[`data-source`])]),_:1},8,[`spinning`])]),_:1}),c(O,{open:v(M),"onUpdate:open":r[3]||=e=>l(M)?M.value=e:null,title:e.$t(`chips.issueTitle`),"confirm-loading":v(P),"ok-text":`创建`,"cancel-text":`取消`,onOk:H},{default:_(()=>[c(D,{value:v(N),"onUpdate:value":r[2]||=e=>l(N)?N.value=e:null,placeholder:e.$t(`tokens.k1hlqknl001`),onKeydown:b(H,[`enter`])},null,8,[`value`,`placeholder`])]),_:1},8,[`open`,`title`,`confirm-loading`]),c(O,{open:v(F)!==``,title:`Token 已创建`,footer:null,"mask-closable":!1,onCancel:q,onAfterClose:q},{default:_(()=>[d(`div`,me,[r[12]||=d(`span`,{class:`i-tabler-circle-check`},null,-1),d(`span`,null,a(e.$t(`tokens.k12149oy011`)),1)]),d(`div`,he,[d(`code`,ge,a(v(W)?v(F):v(xe)),1),d(`button`,{class:`raw-op`,title:v(W)?`隐藏明文`:`显示明文`,onClick:Se},[d(`span`,{class:s(v(W)?`i-tabler-eye-off`:`i-tabler-eye`)},null,2)],8,_e),d(`button`,{class:s([`raw-op`,{ok:v(G)}]),title:v(G)?`已复制`:`复制`,onClick:Ce},[d(`span`,{class:s(v(G)?`i-tabler-check`:`i-tabler-copy`)},null,2)],10,ve)]),d(`div`,ye,[d(`span`,null,a(e.$t(`tokens.k3p0p44027`))+a(v(I)||e.$t(`tokens.kj3mklm028`)),1),r[13]||=d(`span`,null,`用法:Authorization: Bearer <token>`,-1)]),c(i,{type:`primary`,block:``,onClick:q},{default:_(()=>[y(a(e.$t(`tokens.k1s5f5zd012`)),1)]),_:1})]),_:1},8,[`open`]),c(O,{open:v(L),"onUpdate:open":r[5]||=e=>l(L)?L.value=e:null,title:`重命名 Token`,"confirm-loading":v(B),"ok-text":`保存`,"cancel-text":`取消`,onOk:U},{default:_(()=>[c(D,{value:v(z),"onUpdate:value":r[4]||=e=>l(z)?z.value=e:null,placeholder:e.$t(`tokens.k41416002`),onKeydown:b(U,[`enter`])},null,8,[`value`,`placeholder`])]),_:1},8,[`open`,`confirm-loading`])],64)):(o(),f(`div`,se,[c(u,{class:`auth-card`},{default:_(()=>[d(`h2`,null,a(e.$t(`tokens.k1k6z0r8003`)),1),d(`p`,ce,a(e.$t(`tokens.k1gjnree004`)),1),c(i,{type:`primary`,block:``,onClick:r[0]||=t=>(`navigateTo`in e?e.navigateTo:v(x))(`/workshop`)},{default:_(()=>[y(a(e.$t(`tokens.k1bhhheq005`)),1)]),_:1})]),_:1})]))])}}}),[[`__scopeId`,`data-v-e4f73755`]]);export{k as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{dt as e}from"./CSkxz2NX.js";import{t}from"./36oeS8_R.js";import{t as n}from"./D0ZBQrN_2.js";import{t as r}from"./BDmh31hl.js";var i=40,a=(e,t)=>r({base:`/api/workshop/ops-logs`,path:e,init:t});function o(e){return{id:0,actor:e.actor,actorName:e.actorName||e.actor,actorKind:e.actorKind,action:e.action,targetKind:e.targetKind,targetId:e.targetId,detailJson:``,at:e.at,lineId:e.lineId,productId:e.productId,recipeId:e.recipeId,kind:e.kind,summary:e.summary}}var s=()=>{let r=e([]),s=e([]),c=e({list:!1,posting:!1}),l=e({list:``,post:``}),u=0,d=null;function f(){u++,u===1&&(m(),d=t().subscribe(p));let e=!1;return()=>{e||(e=!0,--u===0&&(d?.(),d=null))}}function p(e){if(e.type===`ops.log`){let t=o(e.payload);r.some(e=>e.at===t.at&&e.actor===t.actor&&e.action===t.action)||(r.unshift(t),r.length>i&&r.splice(i))}}async function m(){try{let e=await a(`?limit=15`);for(let t of(e.logs??[]).reverse())r.some(e=>e.at===t.at&&e.actor===t.actor&&e.action===t.action)||r.unshift(t)}catch{}}async function h(e={}){c.list=!0,l.list=``;try{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))r!=null&&r!==``&&t.set(n,String(r));let n=await a(`?${t.toString()}`);s.splice(0,s.length,...n.logs??[])}catch(e){l.list=n(e)}finally{c.list=!1}}async function g(e){c.posting=!0,l.post=``;try{await a(``,{method:`POST`,body:JSON.stringify(e)})}catch(e){throw l.post=n(e),e}finally{c.posting=!1}}return e({recent:r,results:s,loading:c,error:l,ensureLive:f,fetchLogs:h,postManual:g})},c=`__opsLogStream`;function l(){let e=globalThis;return e[c]||(e[c]=s()),e[c]}export{l as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,c as t}from"./BU83-NnX.js";import{$ as n,R as r,S as i,Ut as a,V as o,W as s,b as c,d as l,dt as u,f as d,h as f,i as p,m,p as h,pt as g,tt as _,y as v}from"./CSkxz2NX.js";import{f as y}from"./D6uzXueg.js";import{d as b}from"./BJHKLJJU.js";import{s as x}from"./YnQxK3eG.js";import{n as S}from"./KZQX7xoM.js";import{n as C,t as w}from"./
|
|
1
|
+
import{a as e,c as t}from"./BU83-NnX.js";import{$ as n,R as r,S as i,Ut as a,V as o,W as s,b as c,d as l,dt as u,f as d,h as f,i as p,m,p as h,pt as g,tt as _,y as v}from"./CSkxz2NX.js";import{f as y}from"./D6uzXueg.js";import{d as b}from"./BJHKLJJU.js";import{s as x}from"./YnQxK3eG.js";import{n as S}from"./KZQX7xoM.js";import{n as C,t as w}from"./BneN7fbu.js";import{i as ee}from"./DBHNsT1Y.js";import{i as te,r as ne,t as re}from"./BCGafdXT.js";import{t as T}from"./BYhEUx8t.js";import{t as E}from"./Dz_Q3Lpw2.js";import{t as D}from"./DIaZ2PTo2.js";import{t as O}from"./BDNMzG2s2.js";import{t as k}from"./D0ZBQrN_2.js";var A={class:`perm-page`},j={class:`aw-page-head`},ie={class:`pg-sub`},ae=[`onClick`],M={key:0,class:`dim`},N={class:`sec`},P={class:`detail`},F={class:`sec`},I={key:0,class:`ch-list`},L={key:1,class:`dim`},R={class:`sec`},z={class:`hint`},B={class:`matrix`},V=[`title`],H=O(i({__name:`index`,setup(i){let{t:O}=S(),H=D(),U=g([]),W=g([]),G=g(!1),K=g(``),q=g(!1),J=g(null),Y=u({}),X=g(!1);function Z(){let e=H.token;return e?{authorization:`Bearer ${e}`}:{}}async function oe(){G.value=!0;try{let e=await x(`/api/workshop/permissions`,{headers:Z()});if(e.code!==0||!e.data)throw Error(`load fail`);U.value=e.data.lines??[],W.value=e.data.users??[]}catch(t){e.error(k(t,O(`permissions.loadFail`)))}finally{G.value=!1}}let se=l(()=>{let e=K.value.trim().toLowerCase();return e?W.value.filter(t=>`${t.name} ${t.email}`.toLowerCase().includes(e)):W.value});function Q(e){J.value=e,ce(e),q.value=!0}function ce(e){for(let e of Object.keys(Y))Reflect.deleteProperty(Y,e);for(let t of U.value){let n=e.grants.find(e=>e.lineId===t.id);Y[t.id]=n?.mode===`readonly`||n?.mode===`operate`?n.mode:`none`}}let $=l(()=>{if(!J.value)return 0;let e=0;for(let t of U.value){let n=J.value.grants.find(e=>e.lineId===t.id),r=n?.mode===`readonly`||n?.mode===`operate`?n.mode:`none`;(Y[t.id]??`none`)!==r&&e++}return e});async function le(){if(J.value){X.value=!0;try{let t=U.value.filter(e=>(Y[e.id]??`none`)!==`none`).map(e=>({lineId:e.id,mode:Y[e.id]})),n=U.value.filter(e=>(Y[e.id]??`none`)===`none`&&J.value.grants.some(t=>t.lineId===e.id)).map(e=>({lineId:e.id,mode:null})),r=await x(`/api/workshop/permissions`,{method:`PUT`,headers:Z(),body:{userId:J.value.id,grants:[...t,...n]}});if(r.code!==0||!r.data)throw Error(`save fail`);J.value.grants=r.data.grants;let i=W.value.find(e=>e.id===J.value?.id);i&&(i.grants=r.data.grants),e.success(O(`permissions.saved`,{n:t.length+n.length}))}catch(t){e.error(k(t,O(`permissions.saveFail`)))}finally{X.value=!1}}}function ue(e){return O(e===`operate`?`permissions.operate`:e===`readonly`?`permissions.readonly`:`permissions.none`)}return n(()=>H.isLoggedIn,e=>{e&&!H.isAdmin&&b(`/`)},{immediate:!0}),r(oe),(e,n)=>{let r=ee,i=C,l=re,u=t,g=w,b=T,x=ne,S=te,D=E;return o(),f(`div`,A,[d(`header`,j,[d(`div`,null,[n[2]||=d(`p`,{class:`aw-kicker`},` agentworkshop / permissions `,-1),d(`h1`,null,a(e.$t(`permissions.title`)),1),d(`p`,ie,a(e.$t(`permissions.subtitle`)),1)]),c(r,{value:K.value,"onUpdate:value":n[0]||=e=>K.value=e,placeholder:e.$t(`permissions.search`),style:{"max-width":`260px`},"allow-clear":``},null,8,[`value`,`placeholder`])]),c(b,{bordered:!1,class:`table-card`},{default:_(()=>[c(g,{"data-source":se.value,loading:G.value,"row-key":`id`,size:`middle`,pagination:{pageSize:12,showSizeChanger:!1}},{default:_(()=>[c(i,{title:e.$t(`permissions.colUser`),"data-index":`name`},{default:_(({record:e})=>[d(`a`,{onClick:y(t=>Q(e),[`prevent`])},a(e.name),9,ae)]),_:1},8,[`title`]),c(i,{title:e.$t(`permissions.colEmail`),"data-index":`email`},null,8,[`title`]),c(i,{title:e.$t(`permissions.colRole`),"data-index":`role`},{default:_(({record:e})=>[c(l,{color:e.role===`admin`?`green`:e.role===`editor`?`blue`:`default`},{default:_(()=>[v(a(e.role),1)]),_:2},1032,[`color`])]),_:1},8,[`title`]),c(i,{title:e.$t(`permissions.colStatus`),"data-index":`status`},{default:_(({record:t})=>[c(l,{color:t.status===`active`?`cyan`:`red`},{default:_(()=>[v(a(t.status===`active`?e.$t(`permissions.active`):t.status),1)]),_:2},1032,[`color`])]),_:1},8,[`title`]),c(i,{title:e.$t(`permissions.colChannels`),"data-index":`channels`},{default:_(({record:e})=>[v(a(e.channels.length),1)]),_:1},8,[`title`]),c(i,{title:e.$t(`permissions.colGrants`),"data-index":`grants`},{default:_(({record:e})=>[(o(!0),f(p,null,s(e.grants,e=>(o(),h(l,{key:e.lineId,style:{"margin-bottom":`2px`}},{default:_(()=>[v(a((U.value.find(t=>t.id===e.lineId)?.name??e.lineId).slice(0,14))+` · `+a(ue(e.mode)),1)]),_:2},1024))),128)),e.grants.length?m(``,!0):(o(),f(`span`,M,`—`))]),_:1},8,[`title`]),c(i,{title:e.$t(`permissions.colOps`),width:90},{default:_(({record:t})=>[c(u,{size:`small`,onClick:e=>Q(t)},{default:_(()=>[v(a(e.$t(`permissions.manage`)),1)]),_:1},8,[`onClick`])]),_:1},8,[`title`])]),_:1},8,[`data-source`,`loading`])]),_:1}),c(D,{open:q.value,"onUpdate:open":n[1]||=e=>q.value=e,title:J.value?`${J.value.name} · ${e.$t(`permissions.detail`)}`:``,width:`560`},{default:_(()=>[J.value?(o(),f(p,{key:0},[d(`h4`,N,a(e.$t(`permissions.secProfile`)),1),d(`dl`,P,[n[3]||=d(`dt`,null,`email`,-1),d(`dd`,null,a(J.value.email),1),n[4]||=d(`dt`,null,`role`,-1),d(`dd`,null,a(J.value.role),1),n[5]||=d(`dt`,null,`status`,-1),d(`dd`,null,a(J.value.status),1),n[6]||=d(`dt`,null,`created`,-1),d(`dd`,null,a(J.value.createdAt),1)]),d(`h4`,F,a(e.$t(`permissions.secChannels`))+`(`+a(J.value.channels.length)+`) `,1),J.value.channels.length?(o(),f(`div`,I,[(o(!0),f(p,null,s(J.value.channels,e=>(o(),f(`code`,{key:e.id},a(e.name||e.id.slice(0,8)),1))),128))])):(o(),f(`p`,L,a(e.$t(`permissions.noChannels`)),1)),d(`h4`,R,[v(a(e.$t(`permissions.secMatrix`))+` `,1),c(u,{type:`primary`,size:`small`,loading:X.value,disabled:$.value===0,style:{"margin-left":`12px`},onClick:le},{default:_(()=>[v(a(e.$t(`permissions.save`,{n:$.value})),1)]),_:1},8,[`loading`,`disabled`])]),d(`p`,z,a(e.$t(`permissions.matrixHint`)),1),d(`div`,B,[(o(!0),f(p,null,s(U.value,t=>(o(),f(`div`,{key:t.id,class:`row`},[d(`span`,{class:`line-name`,title:t.id},a(t.name),9,V),c(S,{value:Y[t.id],"onUpdate:value":e=>Y[t.id]=e,size:`small`},{default:_(()=>[c(x,{value:`none`},{default:_(()=>[v(a(e.$t(`permissions.none`)),1)]),_:1}),c(x,{value:`readonly`},{default:_(()=>[v(a(e.$t(`permissions.readonly`)),1)]),_:1}),c(x,{value:`operate`},{default:_(()=>[v(a(e.$t(`permissions.operate`)),1)]),_:1})]),_:1},8,[`value`,`onUpdate:value`])]))),128))])],64)):m(``,!0)]),_:1},8,[`open`,`title`])])}}}),[[`__scopeId`,`data-v-0e401f84`]]);export{H as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,P as t,R as n,S as r,Ut as i,V as a,d as o,f as s,h as c,p as l,pt as u,xt as d,y as f}from"./CSkxz2NX.js";import{d as p}from"./BJHKLJJU.js";import{t as m}from"./YnQxK3eG.js";import{t as h}from"./DIaZ2PTo2.js";import{t as g}from"./BDNMzG2s2.js";import{t as _}from"./CssgYAAL2.js";import{n as v,t as y}from"./BC9wjTJK2.js";import{t as b}from"./CNs_Ozdc2.js";import{t as x}from"./DCn7QZ5N.js";var S={class:`town-page`},C={key:0,"data-hud":`town-empty`,class:`pane-empty`},w={class:`pe-title`},T={class:`pe-sub`},E={key:2,"data-hud":`town-loading`,class:`pane-loading`},D=g(r({__name:`town`,setup(r){b({layout:`town`,title:`Digital Twin`});let g=h(),D=v(),O=_(),{subscribe:k,unsubscribe:A}=y(),j=m(`token`),M=u(!1);e(()=>g.isLoggedIn,async e=>{if(!e){M.value=!1;return}if(await g.refresh(),g.isLoggedIn)try{await O.load(),M.value=!0}catch{}},{immediate:!0}),n(()=>{!g.isLoggedIn&&!j.value&&p(`/workshop`)}),e(j,e=>{!e&&!g.isLoggedIn&&p(`/workshop`)});let N=o(()=>{let e=[];for(let t of O.workspaces)for(let n of t.channelIds??[])e.includes(n)||e.push(n);return e});e(()=>N.value.join(`,`),()=>{for(let e of N.value)k(e)},{immediate:!0}),t(()=>{for(let e of N.value)A(e)});let P=o(()=>{let e=N.value[0];if(e&&D.channels[e])return e;for(let e of O.workspaces)for(let t of e.channelIds??[])if(D.channels[t])return t;return N.value[0]??void 0}),F=o(()=>N.value.length>0);return(e,t)=>{let n=x;return a(),c(`div`,S,[d(M)&&!d(F)?(a(),c(`div`,C,[t[0]||=s(`span`,{class:`pe-icon i-tabler-map-2`},null,-1),s(`div`,w,i(e.$t(`town.k1wm8wtr001`)),1),s(`div`,T,[f(i(e.$t(`town.k47e4s002`))+` `,1),s(`b`,null,`Agent `+i(e.$t(`town.k3n4mae005`)),1),f(` `+i(e.$t(`town.k17rerba003`)),1)])])):d(P)?(a(),l(n,{key:1,"channel-id":d(P),"all-channels":!0},null,8,[`channel-id`])):(a(),c(`div`,E,i(e.$t(`town.k1uc5mup004`)),1))])}}}),[[`__scopeId`,`data-v-83876687`]]);export{D as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,P as t,R as n,S as r,Ut as i,V as a,Vt as o,W as s,b as c,d as l,dt as ee,f as u,h as d,i as f,m as p,nt as m,pt as h,tt as te,xt as g,y as _}from"./CSkxz2NX.js";import{c as v,f as ne,l as y,s as re}from"./D6uzXueg.js";import{a as ie}from"./C__m4EhR.js";import{t as ae}from"./BHA40aHa.js";import{n as oe}from"./KZQX7xoM.js";import{t as se}from"./CWoJjWmZ.js";import{t as b}from"./BDNMzG2s2.js";import{t as ce}from"./D0ZBQrN_2.js";import{t as le}from"./CNs_Ozdc2.js";import{a as ue,n as x,t as de}from"./D1YDxZpZ.js";import{t as fe}from"./D20Yamr4.js";import{t as pe}from"./C3J6FYKa.js";var me={class:`page`},he={class:`aw-kicker`},ge={class:`aw-page-head`},_e={key:0,class:`err`},ve={key:1,class:`grid`},ye={class:`col-live`},be={class:`aw-tile value-card`},xe={class:`aw-kicker`},Se={class:`big-val mono`},Ce={class:`facts mono`},we={class:`col-form aw-tile pad`},Te={class:`sec`},Ee={class:`field`},De={class:`field`},Oe={value:``},ke=[`value`],Ae={class:`field`},je=[`value`,`disabled`],Me={class:`field row`},Ne=[`disabled`],Pe={class:`field row`},Fe=[`disabled`],Ie=[`disabled`],Le={class:`field row`},Re=[`disabled`],ze={class:`field`},Be={class:`field`},Ve={class:`field-row`},He={class:`field`},Ue={class:`field`},We={class:`field`},Ge={class:`field`},Ke=[`disabled`],qe={class:`sec mt`},Je={class:`driver-grid`},Ye={key:0},Xe=[`onUpdate:modelValue`],Ze=[`value`],Qe=[`onUpdate:modelValue`,`type`,`placeholder`],$e={class:`test-row`},et=[`disabled`],tt={class:`sec mt`},nt={class:`bind-row`},rt={value:``},it=[`value`],at={class:`col-hist aw-tile pad`},ot={class:`hist-hd`},st={class:`sec`},ct={class:`hist-ctl mono`},lt=[`value`],ut=[`title`],dt=[`placeholder`],ft={class:`raw-table mono`},pt={key:2,class:`aw-tile pad frames-tile`},mt={class:`hist-hd`},ht={class:`sec`},gt={class:`mono frames-n`},_t=[`viewBox`],vt=[`points`],yt={class:`raw-table mono`},bt={key:0,class:`gal`},xt=[`title`,`onClick`],St=[`src`],Ct={class:`mono`},wt={key:1,class:`frames-empty`},Tt=[`src`],S=320,Et=84,Dt=`#35e0a0`,Ot=`rgba(120,135,160,0.18)`,kt=`rgba(140,155,175,0.8)`,At=b(r({__name:`[id]`,setup(r){let{t:b}=oe();le({layout:`default`});let At=ie(),C=l(()=>String(At.params.id??``)),w=de(),jt=fe();jt.load();let T=pe(),E=l(()=>w.nodeById(C.value)??null),D=l(()=>{let e=E.value?ue(E.value.templateRef):``;return w.templates.find(t=>t.key===e)??null}),Mt={ok:b(`daqDetail.k41k5c026`),warn:b(`daqDetail.k49z8v027`),alarm:b(`daqDetail.k3xmid028`),offline:b(`daqDetail.k44c2n029`)},O=()=>{let e=E.value;return!e||!w.controller.running||!e.enabled?`offline`:e.state},Nt=null;n(()=>{Nt=w.ensureWsFeed(),w.load(),T.load(),A.value&&M()}),t(()=>Nt?.());let k=l(()=>D.value?.signalKind??`scalar`),A=l(()=>k.value!==`scalar`),j=l(()=>w.framesOf(C.value));async function M(){C.value&&await w.fetchFrames(C.value,{limit:24}).catch(()=>{})}e(C,()=>{A.value&&M()});let Pt=e=>new Date(e).toLocaleTimeString(`zh-CN`,{hour12:!1}),Ft=e=>Object.entries(e.metrics??{}).slice(0,3).map(([e,t])=>`${e}=${t}`).join(` `),It=l(()=>j.value.find(e=>e.kind===`vector`&&e.points?.length)),Lt=l(()=>{let e=It.value?.points??[];if(e.length<2)return``;let t=Math.min(...e),n=Math.max(...e)-t||1;return e.map((r,i)=>`${(i/(e.length-1)*S).toFixed(1)},${(78-(r-t)/n*72).toFixed(1)}`).join(` `)}),N=h(null);function Rt(e){return e==null?b(`daqDetail.k9vnp9h053`,{p0:w.controller.defaultPublishIntervalMs}):e===0?b(`daqDetail.k1m1zwux030`):`${e}ms`}let P=ee({enabled:!0,driver:`mock`,lineId:``,followGlobal:!0,intervalMs:5e3,calKind:`none`,calScale:1,calOffset:0,publishFollow:!0,publishEveryFrame:!1,publishMs:1e3,unit:``,decimals:1,min:0,max:100,warnLow:null,warnHigh:null});e(E,e=>{e&&(P.enabled=e.enabled,P.lineId=e.lineId??``,P.driver=e.driver,P.followGlobal=e.intervalMs==null,P.intervalMs=e.intervalMs??w.controller.defaultIntervalMs,P.publishFollow=e.publishIntervalMs==null,P.publishEveryFrame=e.publishIntervalMs===0,P.publishMs=e.publishIntervalMs==null?w.controller.defaultPublishIntervalMs:e.publishIntervalMs,P.unit=e.unit,P.decimals=e.decimals,P.min=e.min,P.max=e.max,P.warnLow=e.warnLow,P.warnHigh=e.warnHigh)},{immediate:!0});let F=h({}),I=l(()=>x.find(e=>e.kind===P.driver)?.configFields??[]);e(E,e=>{e&&(F.value={...e.driverConfig})},{immediate:!0}),e(()=>P.driver,()=>{if(I.value.length&&Object.keys(F.value).length===0){let e={};for(let t of I.value)t.default!==void 0&&(e[t.key]=t.default);F.value=e}},{immediate:!0});let L=h(!1),R=h(null);async function zt(){L.value=!0,R.value=null;try{await w.patchNode(C.value,{driver:P.driver,driverConfig:{...F.value}}),R.value=await w.testNode(C.value)}catch(e){R.value={ok:!1,message:ce(e)}}finally{L.value=!1}}let z=h(!1);async function Bt(){let e=E.value;if(!(!e||z.value)){z.value=!0;try{await w.patchNode(e.id,{enabled:P.enabled,driver:P.driver,lineId:P.lineId,driverConfig:{...F.value},intervalMs:P.followGlobal?null:Math.max(1e3,Math.min(6e4,Math.round(P.intervalMs))),publishIntervalMs:P.publishFollow?null:P.publishEveryFrame?0:Math.max(0,Math.min(6e4,Math.round(P.publishMs))),unit:P.unit,decimals:Math.max(0,Math.min(6,Math.round(P.decimals))),min:P.min,max:P.max,warnLow:P.warnLow,warnHigh:P.warnHigh})}finally{z.value=!1}}}function Vt(e){return w.meta.drivers.find(t=>t.kind===e)?.status===`planned`}let B=h(``),Ht=l(()=>(E.value?.deviceIds??(E.value?.deviceBindingId?[E.value.deviceBindingId]:[])).map(e=>T.twins.find(t=>t.id===e)?.name??`${e.slice(0,8)}…`).join(` / `));function Ut(){w.bindNode(C.value,E.value?.deviceBindingId?null:B.value||null)}let Wt=l(()=>T.twins.filter(e=>e.kind!==`daq`&&e.id!==E.value?.id)),V=h([]),H=h(15e3),U=h(!1),Gt=[{label:`1s 桶`,ms:1e3},{label:`5s 桶`,ms:5e3},{label:`15s 桶(默认)`,ms:15e3},{label:`30s 桶`,ms:3e4},{label:`1min 桶`,ms:6e4}];async function W(){if(C.value){U.value=!0;try{let e=await w.samplesOf(C.value,{toMs:Date.now(),bucketMs:H.value||void 0,limit:400});V.value=[...e].reverse()}finally{U.value=!1,qt()}}}let Kt=h(null);function qt(){let e=Kt.value;if(!e)return;let t=Math.min(window.devicePixelRatio||1,2),n=e.clientWidth,r=e.clientHeight;(e.width!==n*t||e.height!==r*t)&&(e.width=n*t,e.height=r*t);let i=e.getContext(`2d`);if(!i)return;i.setTransform(t,0,0,t,0,0),i.clearRect(0,0,n,r);for(let e=1;e<4;e++)i.strokeStyle=Ot,i.beginPath(),i.moveTo(0,r/4*e),i.lineTo(n,r/4*e),i.stroke();let a=V.value;if(a.length<2)return;let o=1/0,s=-1/0;for(let e of a){let t=e.value??e.avg??e.min??0;o=Math.min(o,t),s=Math.max(s,t)}let c=Math.max(s-o,1e-9);i.strokeStyle=kt,i.font=`10px monospace`,i.fillStyle=kt,i.fillText(s.toFixed(2),4,11),i.fillText(o.toFixed(2),4,r-4),i.strokeStyle=Dt,i.lineWidth=1.6,i.beginPath(),a.forEach((e,t)=>{let s=t/(a.length-1)*n,l=r-((e.value??e.avg??0)-o)/c*(r-16)-8;t===0?i.moveTo(s,l):i.lineTo(s,l)}),i.stroke()}let G=h(null),K=null,q=``;function J(){let e=G.value,t=E.value;if(!e||!t||t.hist.length<2)return;let n=`${t.hist.length}:${t.hist[t.hist.length-1]}:${t.hist[0]}`;if(n===q)return;q=n;let r=Math.min(window.devicePixelRatio||1,2),i=e.clientWidth,a=e.clientHeight;(e.width!==i*r||e.height!==a*r)&&(e.width=i*r,e.height=a*r);let o=e.getContext(`2d`);if(!o)return;o.setTransform(r,0,0,r,0,0),o.clearRect(0,0,i,a);let s=Math.max(...t.hist),c=Math.min(...t.hist),l=Math.max(s-c,1e-9);o.strokeStyle=`rgba(65,200,244,0.9)`,o.lineWidth=1.5,o.beginPath(),t.hist.forEach((e,n)=>{let r=n/(t.hist.length-1)*i,s=a-(e-c)/l*(a-6)-3;n===0?o.moveTo(r,s):o.lineTo(r,s)}),o.stroke()}let Y=null,X=!1;function Jt(){X=document.hidden,X||(J(),Q.value&&W())}let Z=h(0),Q=l(()=>{let e=w.controller.minQueryDisplayIntervalMs??500,t=Z.value>0?Z.value:w.controller.queryDisplayIntervalMs??0;return t>0?Math.max(e,t):0}),$=null;function Yt(){$&&=(clearInterval($),null);let e=Q.value;e&&($=se(()=>{document.hidden||U.value||W()},e))}return n(()=>{W(),K=se(()=>{X||J()},800),document.addEventListener(`visibilitychange`,Jt),typeof ResizeObserver<`u`&&(Y=new ResizeObserver(()=>{q=``,J(),qt()}),G.value&&Y.observe(G.value)),Yt()}),t(()=>{K&&clearInterval(K),$&&clearInterval($),document.removeEventListener(`visibilitychange`,Jt),Y?.disconnect(),Y=null}),e(H,()=>void W()),e(Q,()=>Yt()),(e,t)=>{let n=ae;return a(),d(`div`,me,[u(`p`,he,[c(n,{to:`/daq`,class:`back`},{default:te(()=>[_(i(e.$t(`daqDetail.k1emg364001`)),1)]),_:1}),_(` / NODE `+i(C.value.slice(0,8).toUpperCase()),1)]),u(`div`,ge,[u(`h1`,null,i(E.value?.name??C.value),1),u(`span`,{class:o([`st-pill`,[O()]])},i(Mt[O()]),3)]),!E.value&&g(w).error?(a(),d(`p`,_e,[_(i(g(w).error)+`(`,1),c(n,{to:`/workshop`},{default:te(()=>[_(i(e.$t(`daqDetail.k1bhhheq002`)),1)]),_:1}),t[21]||=_(`) `,-1)])):p(``,!0),E.value?(a(),d(`div`,ve,[u(`section`,ye,[u(`div`,be,[u(`p`,xe,i(e.$t(`daqDetail.k1fx2vik032`))+` `+i(D.value?.ch??`-`),1),u(`div`,Se,[_(i(E.value.value==null?`--`:E.value.value.toFixed(E.value.decimals)),1),u(`small`,null,i(E.value.unit),1)]),u(`canvas`,{ref_key:`liveCanvas`,ref:G,class:`live-canvas`},null,512),u(`dl`,Ce,[u(`div`,null,[u(`dt`,null,i(e.$t(`daqDetail.k4a0la003`)),1),u(`dd`,null,i(E.value.driver)+i(Vt(E.value.driver)?e.$t(`daqDetail.kz8zr9v035`):``),1)]),u(`div`,null,[u(`dt`,null,i(e.$t(`daqDetail.k3xg3w004`)),1),u(`dd`,null,i(E.value.intervalMs??e.$t(`daqDetail.k9vnp9h053`,{p0:g(w).controller.defaultIntervalMs})),1)]),u(`div`,null,[u(`dt`,null,i(e.$t(`daqDetail.k3w6td005`)),1),u(`dd`,null,i(Rt(E.value.publishIntervalMs)),1)]),u(`div`,null,[u(`dt`,null,i(e.$t(`daqDetail.k3x5tpx006`)),1),u(`dd`,null,i(E.value.warnLow??`-∞`)+` ~ `+i(E.value.warnHigh??`+∞`),1)]),u(`div`,null,[u(`dt`,null,i(e.$t(`daqDetail.k1hjj0jf007`)),1),u(`dd`,null,i(E.value.min)+` ~ `+i(E.value.max),1)]),u(`div`,null,[u(`dt`,null,i(e.$t(`daqDetail.k1i8rtqt008`)),1),u(`dd`,null,i(Ht.value||e.$t(`daqDetail.k3own4q036`)),1)])])])]),u(`section`,we,[u(`h3`,Te,i(e.$t(`daqDetail.kd9d69j009`)),1),u(`form`,{class:`form-grid`,onSubmit:ne(Bt,[`prevent`])},[u(`label`,Ee,[u(`span`,null,i(e.$t(`daqDetail.k1iw7tbf010`)),1),u(`button`,{type:`button`,class:o([`toggle`,{on:P.enabled}]),onClick:t[0]||=e=>P.enabled=!P.enabled},i(P.enabled?e.$t(`daqDetail.k3w3j8f037`):e.$t(`daqDetail.k3n5aaj045`)),3)]),u(`label`,De,[u(`span`,null,i(e.$t(`daqDetail.k12k23od011`)),1),m(u(`select`,{"onUpdate:modelValue":t[1]||=e=>P.lineId=e,class:`input`},[u(`option`,Oe,i(e.$t(`daqDetail.k3ootr6012`)),1),(a(!0),d(f,null,s(g(jt).lines,e=>(a(),d(`option`,{key:e.id,value:e.id},i(e.name),9,ke))),128))],512),[[v,P.lineId]])]),u(`label`,Ae,[u(`span`,null,i(e.$t(`daqDetail.k1l6smxo013`)),1),m(u(`select`,{"onUpdate:modelValue":t[2]||=e=>P.driver=e,class:`input`},[(a(!0),d(f,null,s(g(x),t=>(a(),d(`option`,{key:t.kind,value:t.kind,disabled:t.status===`planned`},i(t.label)+i(t.status===`planned`?e.$t(`daqDetail.kz8zr9v035`):``),9,je))),128))],512),[[v,P.driver]])]),u(`label`,Me,[u(`button`,{type:`button`,class:o([`toggle slim`,{on:P.followGlobal}]),onClick:t[3]||=e=>P.followGlobal=!P.followGlobal},i(P.followGlobal?e.$t(`daqDetail.k1k2ueyq038`):e.$t(`daqDetail.k1cgi8fy046`)),3),m(u(`input`,{"onUpdate:modelValue":t[4]||=e=>P.intervalMs=e,type:`number`,min:`1000`,max:`60000`,step:`500`,class:`input`,disabled:P.followGlobal},null,8,Ne),[[y,P.intervalMs,void 0,{number:!0}]]),t[22]||=u(`small`,null,`ms`,-1)]),u(`label`,Pe,[u(`button`,{type:`button`,class:o([`toggle slim`,{on:P.calKind===`linear`}]),title:`采集标定 decoder:物理值 = scale × PLC采集值 + offset`,onClick:t[5]||=e=>P.calKind=P.calKind===`linear`?`none`:`linear`},i(P.calKind===`linear`?e.$t(`daqDetail.k1eru4r1039`):e.$t(`daqDetail.k3oktae047`)),3),m(u(`input`,{"onUpdate:modelValue":t[6]||=e=>P.calScale=e,type:`number`,step:`0.1`,class:`input`,disabled:P.calKind!==`linear`,title:`decode 斜率(≠0)`},null,8,Fe),[[y,P.calScale,void 0,{number:!0}]]),m(u(`input`,{"onUpdate:modelValue":t[7]||=e=>P.calOffset=e,type:`number`,step:`0.1`,class:`input`,disabled:P.calKind!==`linear`,title:`decode 截距`},null,8,Ie),[[y,P.calOffset,void 0,{number:!0}]]),t[23]||=u(`small`,null,`decoder`,-1)]),u(`label`,Le,[u(`button`,{type:`button`,class:o([`toggle slim`,{on:P.publishFollow}]),onClick:t[8]||=e=>P.publishFollow=!P.publishFollow},i(P.publishFollow?e.$t(`daqDetail.k1k2t5o7040`):e.$t(`daqDetail.k1cggz5f048`)),3),u(`span`,{class:o([`toggle slim`,{on:P.publishEveryFrame}]),style:{cursor:`pointer`},onClick:t[9]||=e=>P.publishEveryFrame=!P.publishEveryFrame},i(P.publishEveryFrame?e.$t(`daqDetail.k41mvv041`):e.$t(`daqDetail.k3n42dj049`)),3),m(u(`input`,{"onUpdate:modelValue":t[10]||=e=>P.publishMs=e,type:`number`,min:`0`,max:`60000`,step:`100`,class:`input`,disabled:P.publishFollow||P.publishEveryFrame},null,8,Re),[[y,P.publishMs,void 0,{number:!0}]]),t[24]||=u(`small`,null,`ms`,-1)]),u(`label`,ze,[u(`span`,null,i(e.$t(`daqDetail.k3x4ef014`)),1),m(u(`input`,{"onUpdate:modelValue":t[11]||=e=>P.unit=e,class:`input`},null,512),[[y,P.unit]])]),u(`label`,Be,[u(`span`,null,i(e.$t(`daqDetail.k3mxmcx015`)),1),m(u(`input`,{"onUpdate:modelValue":t[12]||=e=>P.decimals=e,type:`number`,min:`0`,max:`6`,class:`input`},null,512),[[y,P.decimals,void 0,{number:!0}]])]),u(`div`,Ve,[u(`label`,He,[u(`span`,null,i(e.$t(`daqDetail.k1l9jv5m016`)),1),m(u(`input`,{"onUpdate:modelValue":t[13]||=e=>P.min=e,type:`number`,step:`any`,class:`input`},null,512),[[y,P.min,void 0,{number:!0}]])]),u(`label`,Ue,[u(`span`,null,i(e.$t(`daqDetail.k1md63hm017`)),1),m(u(`input`,{"onUpdate:modelValue":t[14]||=e=>P.warnLow=e,type:`number`,step:`any`,class:`input`},null,512),[[y,P.warnLow,void 0,{number:!0}]])]),u(`label`,We,[u(`span`,null,i(e.$t(`daqDetail.k1md63gp018`)),1),m(u(`input`,{"onUpdate:modelValue":t[15]||=e=>P.warnHigh=e,type:`number`,step:`any`,class:`input`},null,512),[[y,P.warnHigh,void 0,{number:!0}]])]),u(`label`,Ge,[u(`span`,null,i(e.$t(`daqDetail.k1l9jv4p019`)),1),m(u(`input`,{"onUpdate:modelValue":t[16]||=e=>P.max=e,type:`number`,step:`any`,class:`input`},null,512),[[y,P.max,void 0,{number:!0}]])])]),u(`button`,{class:`aw-pill`,type:`submit`,disabled:z.value},i(z.value?e.$t(`daqDetail.k1as0g50042`):e.$t(`daqDetail.ksn9cgo050`)),9,Ke)],32),I.value.length?(a(),d(f,{key:0},[u(`h3`,qe,i(e.$t(`daqDetail.k1p9gioa033`))+` `+i(g(x).find(e=>e.kind===P.driver)?.label),1),u(`div`,Je,[(a(!0),d(f,null,s(I.value,e=>(a(),d(`label`,{key:e.key,class:`field`},[u(`span`,null,[_(i(e.label),1),e.required?(a(),d(`em`,Ye,`*`)):p(``,!0)]),e.type===`select`?m((a(),d(`select`,{key:0,"onUpdate:modelValue":t=>F.value[e.key]=t,class:`input`},[(a(!0),d(f,null,s(e.options,e=>(a(),d(`option`,{key:e.value,value:e.value},i(e.label),9,Ze))),128))],8,Xe)),[[v,F.value[e.key]]]):m((a(),d(`input`,{key:1,"onUpdate:modelValue":t=>F.value[e.key]=t,type:e.type===`number`?`number`:`text`,placeholder:e.placeholder,class:`input`},null,8,Qe)),[[re,F.value[e.key]]])]))),128))]),u(`div`,$e,[u(`button`,{class:`pill-btn`,disabled:L.value,onClick:zt},i(L.value?e.$t(`daqDetail.k1fsh720043`):e.$t(`daqDetail.k1fstglk051`)),9,et),R.value?(a(),d(`span`,{key:0,class:o([`test-out mono`,R.value.ok?`ok`:`bad`])},i(R.value.ok?`✓`:`✗`)+` `+i(R.value.message),3)):p(``,!0)])],64)):p(``,!0),u(`h3`,tt,i(e.$t(`daqDetail.k1ie6qju020`)),1),u(`div`,nt,[m(u(`select`,{"onUpdate:modelValue":t[17]||=e=>B.value=e,class:`input grow`},[u(`option`,rt,i(e.$t(`daqDetail.kjobzu3021`)),1),(a(!0),d(f,null,s(Wt.value,e=>(a(),d(`option`,{key:e.id,value:e.id},i(e.name),9,it))),128))],512),[[v,B.value]]),u(`button`,{class:`pill-btn`,onClick:Ut},i(Ht.value?e.$t(`daqDetail.k479eh044`):e.$t(`daqDetail.k452a8052`)),1)])]),u(`section`,at,[u(`div`,ot,[u(`h3`,st,i(e.$t(`daqDetail.k1i535i5034`))+i(g(w).meta.tsdb)+`) `,1),u(`div`,ct,[m(u(`select`,{"onUpdate:modelValue":t[18]||=e=>H.value=e,class:`input`},[(a(),d(f,null,s(Gt,e=>u(`option`,{key:e.ms,value:e.ms},i(e.label),9,lt)),64))],512),[[v,H.value,void 0,{number:!0}]]),u(`label`,{class:`refresh-ctl`,title:e.$t(`daqDetail.k1rfrshint001`,{p0:g(w).controller.minQueryDisplayIntervalMs??500})},[t[25]||=u(`span`,{class:`i-tabler-refresh`},null,-1),m(u(`input`,{"onUpdate:modelValue":t[19]||=e=>Z.value=e,type:`number`,min:0,max:`600000`,step:`500`,placeholder:String(g(w).controller.queryDisplayIntervalMs??5e3)},null,8,dt),[[y,Z.value,void 0,{number:!0}]]),t[26]||=_(`ms `,-1)],8,ut),u(`button`,{class:`pill-btn`,onClick:W},i(e.$t(`daqDetail.k3x1jg022`)),1)])]),u(`canvas`,{ref_key:`chartCanvas`,ref:Kt,class:`hist-canvas`},null,512),u(`table`,ft,[u(`thead`,null,[u(`tr`,null,[u(`th`,null,i(e.$t(`daqDetail.k40vsf023`)),1),u(`th`,null,i(e.$t(`daqDetail.k48v5024`)),1),u(`th`,null,i(e.$t(`daqDetail.k4bza025`)),1)])]),u(`tbody`,null,[(a(!0),d(f,null,s(V.value.filter(e=>e.value!=null).slice(-12).reverse(),(e,t)=>(a(),d(`tr`,{key:t},[u(`td`,null,i(new Date(e.at).toLocaleTimeString(`zh-CN`,{hour12:!1})),1),u(`td`,null,i(e.value.toFixed(E.value?.decimals??2)),1),u(`td`,null,i(e.state),1)]))),128))])])])])):p(``,!0),A.value?(a(),d(`section`,pt,[u(`div`,mt,[u(`h3`,ht,[_(i(k.value===`image`?e.$t(`daqDetail.kfrm0001`):e.$t(`daqDetail.kfrm0002`))+` `,1),u(`span`,gt,i(j.value.length),1)]),u(`button`,{class:`pill-btn`,onClick:M},i(e.$t(`daqDetail.k3x1jg022`)),1)]),k.value===`vector`?(a(),d(f,{key:0},[(a(),d(`svg`,{class:`vec-svg`,viewBox:`0 0 ${S} ${Et}`,preserveAspectRatio:`none`},[u(`polyline`,{points:Lt.value,fill:`none`,stroke:`var(--accent)`,"stroke-width":`1.5`},null,8,vt)],8,_t)),u(`table`,yt,[u(`thead`,null,[u(`tr`,null,[u(`th`,null,i(e.$t(`daqDetail.k40vsf023`)),1),u(`th`,null,i(e.$t(`daqDetail.kfrm0004`)),1),u(`th`,null,i(e.$t(`daqDetail.kfrm0005`)),1)])]),u(`tbody`,null,[(a(!0),d(f,null,s(j.value.filter(e=>e.kind===`vector`).slice(0,12),e=>(a(),d(`tr`,{key:e.at},[u(`td`,null,i(Pt(e.at)),1),u(`td`,null,i(e.points?.length??0),1),u(`td`,null,i(Ft(e)),1)]))),128))])])],64)):(a(),d(f,{key:1},[j.value.length?(a(),d(`div`,bt,[(a(!0),d(f,null,s(j.value,t=>(a(),d(`figure`,{key:t.at,class:`gal-item`,title:e.$t(`daqDetail.kfrm0006`),onClick:e=>N.value=t},[u(`img`,{src:t.thumbUrl,loading:`lazy`,alt:`daq frame`},null,8,St),u(`figcaption`,Ct,i(Pt(t.at))+` · `+i(Ft(t)),1)],8,xt))),128))])):(a(),d(`p`,wt,i(e.$t(`daqDetail.kfrm0003`)),1)),N.value?(a(),d(`div`,{key:2,class:`gal-full`,onClick:t[20]||=e=>N.value=null},[u(`img`,{src:N.value.contentUrl??N.value.thumbUrl,alt:`daq frame full`},null,8,Tt)])):p(``,!0)],64))])):p(``,!0)])}}}),[[`__scopeId`,`data-v-1365f679`]]);export{At as default};
|
|
1
|
+
import{$ as e,P as t,R as n,S as r,Ut as i,V as a,Vt as o,W as s,b as c,d as l,dt as ee,f as u,h as d,i as f,m as p,nt as m,pt as h,tt as te,xt as g,y as _}from"./CSkxz2NX.js";import{c as v,f as ne,l as y,s as re}from"./D6uzXueg.js";import{a as ie}from"./C__m4EhR.js";import{t as ae}from"./BHA40aHa.js";import{n as oe}from"./KZQX7xoM.js";import{t as se}from"./CWoJjWmZ.js";import{t as b}from"./BDNMzG2s2.js";import{t as ce}from"./D0ZBQrN_2.js";import{t as le}from"./CNs_Ozdc2.js";import{a as ue,n as x,t as de}from"./DcsCcxp4.js";import{t as fe}from"./D8qvkfyY.js";import{t as pe}from"./C3J6FYKa.js";var me={class:`page`},he={class:`aw-kicker`},ge={class:`aw-page-head`},_e={key:0,class:`err`},ve={key:1,class:`grid`},ye={class:`col-live`},be={class:`aw-tile value-card`},xe={class:`aw-kicker`},Se={class:`big-val mono`},Ce={class:`facts mono`},we={class:`col-form aw-tile pad`},Te={class:`sec`},Ee={class:`field`},De={class:`field`},Oe={value:``},ke=[`value`],Ae={class:`field`},je=[`value`,`disabled`],Me={class:`field row`},Ne=[`disabled`],Pe={class:`field row`},Fe=[`disabled`],Ie=[`disabled`],Le={class:`field row`},Re=[`disabled`],ze={class:`field`},Be={class:`field`},Ve={class:`field-row`},He={class:`field`},Ue={class:`field`},We={class:`field`},Ge={class:`field`},Ke=[`disabled`],qe={class:`sec mt`},Je={class:`driver-grid`},Ye={key:0},Xe=[`onUpdate:modelValue`],Ze=[`value`],Qe=[`onUpdate:modelValue`,`type`,`placeholder`],$e={class:`test-row`},et=[`disabled`],tt={class:`sec mt`},nt={class:`bind-row`},rt={value:``},it=[`value`],at={class:`col-hist aw-tile pad`},ot={class:`hist-hd`},st={class:`sec`},ct={class:`hist-ctl mono`},lt=[`value`],ut=[`title`],dt=[`placeholder`],ft={class:`raw-table mono`},pt={key:2,class:`aw-tile pad frames-tile`},mt={class:`hist-hd`},ht={class:`sec`},gt={class:`mono frames-n`},_t=[`viewBox`],vt=[`points`],yt={class:`raw-table mono`},bt={key:0,class:`gal`},xt=[`title`,`onClick`],St=[`src`],Ct={class:`mono`},wt={key:1,class:`frames-empty`},Tt=[`src`],S=320,Et=84,Dt=`#35e0a0`,Ot=`rgba(120,135,160,0.18)`,kt=`rgba(140,155,175,0.8)`,At=b(r({__name:`[id]`,setup(r){let{t:b}=oe();le({layout:`default`});let At=ie(),C=l(()=>String(At.params.id??``)),w=de(),jt=fe();jt.load();let T=pe(),E=l(()=>w.nodeById(C.value)??null),D=l(()=>{let e=E.value?ue(E.value.templateRef):``;return w.templates.find(t=>t.key===e)??null}),Mt={ok:b(`daqDetail.k41k5c026`),warn:b(`daqDetail.k49z8v027`),alarm:b(`daqDetail.k3xmid028`),offline:b(`daqDetail.k44c2n029`)},O=()=>{let e=E.value;return!e||!w.controller.running||!e.enabled?`offline`:e.state},Nt=null;n(()=>{Nt=w.ensureWsFeed(),w.load(),T.load(),A.value&&M()}),t(()=>Nt?.());let k=l(()=>D.value?.signalKind??`scalar`),A=l(()=>k.value!==`scalar`),j=l(()=>w.framesOf(C.value));async function M(){C.value&&await w.fetchFrames(C.value,{limit:24}).catch(()=>{})}e(C,()=>{A.value&&M()});let Pt=e=>new Date(e).toLocaleTimeString(`zh-CN`,{hour12:!1}),Ft=e=>Object.entries(e.metrics??{}).slice(0,3).map(([e,t])=>`${e}=${t}`).join(` `),It=l(()=>j.value.find(e=>e.kind===`vector`&&e.points?.length)),Lt=l(()=>{let e=It.value?.points??[];if(e.length<2)return``;let t=Math.min(...e),n=Math.max(...e)-t||1;return e.map((r,i)=>`${(i/(e.length-1)*S).toFixed(1)},${(78-(r-t)/n*72).toFixed(1)}`).join(` `)}),N=h(null);function Rt(e){return e==null?b(`daqDetail.k9vnp9h053`,{p0:w.controller.defaultPublishIntervalMs}):e===0?b(`daqDetail.k1m1zwux030`):`${e}ms`}let P=ee({enabled:!0,driver:`mock`,lineId:``,followGlobal:!0,intervalMs:5e3,calKind:`none`,calScale:1,calOffset:0,publishFollow:!0,publishEveryFrame:!1,publishMs:1e3,unit:``,decimals:1,min:0,max:100,warnLow:null,warnHigh:null});e(E,e=>{e&&(P.enabled=e.enabled,P.lineId=e.lineId??``,P.driver=e.driver,P.followGlobal=e.intervalMs==null,P.intervalMs=e.intervalMs??w.controller.defaultIntervalMs,P.publishFollow=e.publishIntervalMs==null,P.publishEveryFrame=e.publishIntervalMs===0,P.publishMs=e.publishIntervalMs==null?w.controller.defaultPublishIntervalMs:e.publishIntervalMs,P.unit=e.unit,P.decimals=e.decimals,P.min=e.min,P.max=e.max,P.warnLow=e.warnLow,P.warnHigh=e.warnHigh)},{immediate:!0});let F=h({}),I=l(()=>x.find(e=>e.kind===P.driver)?.configFields??[]);e(E,e=>{e&&(F.value={...e.driverConfig})},{immediate:!0}),e(()=>P.driver,()=>{if(I.value.length&&Object.keys(F.value).length===0){let e={};for(let t of I.value)t.default!==void 0&&(e[t.key]=t.default);F.value=e}},{immediate:!0});let L=h(!1),R=h(null);async function zt(){L.value=!0,R.value=null;try{await w.patchNode(C.value,{driver:P.driver,driverConfig:{...F.value}}),R.value=await w.testNode(C.value)}catch(e){R.value={ok:!1,message:ce(e)}}finally{L.value=!1}}let z=h(!1);async function Bt(){let e=E.value;if(!(!e||z.value)){z.value=!0;try{await w.patchNode(e.id,{enabled:P.enabled,driver:P.driver,lineId:P.lineId,driverConfig:{...F.value},intervalMs:P.followGlobal?null:Math.max(1e3,Math.min(6e4,Math.round(P.intervalMs))),publishIntervalMs:P.publishFollow?null:P.publishEveryFrame?0:Math.max(0,Math.min(6e4,Math.round(P.publishMs))),unit:P.unit,decimals:Math.max(0,Math.min(6,Math.round(P.decimals))),min:P.min,max:P.max,warnLow:P.warnLow,warnHigh:P.warnHigh})}finally{z.value=!1}}}function Vt(e){return w.meta.drivers.find(t=>t.kind===e)?.status===`planned`}let B=h(``),Ht=l(()=>(E.value?.deviceIds??(E.value?.deviceBindingId?[E.value.deviceBindingId]:[])).map(e=>T.twins.find(t=>t.id===e)?.name??`${e.slice(0,8)}…`).join(` / `));function Ut(){w.bindNode(C.value,E.value?.deviceBindingId?null:B.value||null)}let Wt=l(()=>T.twins.filter(e=>e.kind!==`daq`&&e.id!==E.value?.id)),V=h([]),H=h(15e3),U=h(!1),Gt=[{label:`1s 桶`,ms:1e3},{label:`5s 桶`,ms:5e3},{label:`15s 桶(默认)`,ms:15e3},{label:`30s 桶`,ms:3e4},{label:`1min 桶`,ms:6e4}];async function W(){if(C.value){U.value=!0;try{let e=await w.samplesOf(C.value,{toMs:Date.now(),bucketMs:H.value||void 0,limit:400});V.value=[...e].reverse()}finally{U.value=!1,qt()}}}let Kt=h(null);function qt(){let e=Kt.value;if(!e)return;let t=Math.min(window.devicePixelRatio||1,2),n=e.clientWidth,r=e.clientHeight;(e.width!==n*t||e.height!==r*t)&&(e.width=n*t,e.height=r*t);let i=e.getContext(`2d`);if(!i)return;i.setTransform(t,0,0,t,0,0),i.clearRect(0,0,n,r);for(let e=1;e<4;e++)i.strokeStyle=Ot,i.beginPath(),i.moveTo(0,r/4*e),i.lineTo(n,r/4*e),i.stroke();let a=V.value;if(a.length<2)return;let o=1/0,s=-1/0;for(let e of a){let t=e.value??e.avg??e.min??0;o=Math.min(o,t),s=Math.max(s,t)}let c=Math.max(s-o,1e-9);i.strokeStyle=kt,i.font=`10px monospace`,i.fillStyle=kt,i.fillText(s.toFixed(2),4,11),i.fillText(o.toFixed(2),4,r-4),i.strokeStyle=Dt,i.lineWidth=1.6,i.beginPath(),a.forEach((e,t)=>{let s=t/(a.length-1)*n,l=r-((e.value??e.avg??0)-o)/c*(r-16)-8;t===0?i.moveTo(s,l):i.lineTo(s,l)}),i.stroke()}let G=h(null),K=null,q=``;function J(){let e=G.value,t=E.value;if(!e||!t||t.hist.length<2)return;let n=`${t.hist.length}:${t.hist[t.hist.length-1]}:${t.hist[0]}`;if(n===q)return;q=n;let r=Math.min(window.devicePixelRatio||1,2),i=e.clientWidth,a=e.clientHeight;(e.width!==i*r||e.height!==a*r)&&(e.width=i*r,e.height=a*r);let o=e.getContext(`2d`);if(!o)return;o.setTransform(r,0,0,r,0,0),o.clearRect(0,0,i,a);let s=Math.max(...t.hist),c=Math.min(...t.hist),l=Math.max(s-c,1e-9);o.strokeStyle=`rgba(65,200,244,0.9)`,o.lineWidth=1.5,o.beginPath(),t.hist.forEach((e,n)=>{let r=n/(t.hist.length-1)*i,s=a-(e-c)/l*(a-6)-3;n===0?o.moveTo(r,s):o.lineTo(r,s)}),o.stroke()}let Y=null,X=!1;function Jt(){X=document.hidden,X||(J(),Q.value&&W())}let Z=h(0),Q=l(()=>{let e=w.controller.minQueryDisplayIntervalMs??500,t=Z.value>0?Z.value:w.controller.queryDisplayIntervalMs??0;return t>0?Math.max(e,t):0}),$=null;function Yt(){$&&=(clearInterval($),null);let e=Q.value;e&&($=se(()=>{document.hidden||U.value||W()},e))}return n(()=>{W(),K=se(()=>{X||J()},800),document.addEventListener(`visibilitychange`,Jt),typeof ResizeObserver<`u`&&(Y=new ResizeObserver(()=>{q=``,J(),qt()}),G.value&&Y.observe(G.value)),Yt()}),t(()=>{K&&clearInterval(K),$&&clearInterval($),document.removeEventListener(`visibilitychange`,Jt),Y?.disconnect(),Y=null}),e(H,()=>void W()),e(Q,()=>Yt()),(e,t)=>{let n=ae;return a(),d(`div`,me,[u(`p`,he,[c(n,{to:`/daq`,class:`back`},{default:te(()=>[_(i(e.$t(`daqDetail.k1emg364001`)),1)]),_:1}),_(` / NODE `+i(C.value.slice(0,8).toUpperCase()),1)]),u(`div`,ge,[u(`h1`,null,i(E.value?.name??C.value),1),u(`span`,{class:o([`st-pill`,[O()]])},i(Mt[O()]),3)]),!E.value&&g(w).error?(a(),d(`p`,_e,[_(i(g(w).error)+`(`,1),c(n,{to:`/workshop`},{default:te(()=>[_(i(e.$t(`daqDetail.k1bhhheq002`)),1)]),_:1}),t[21]||=_(`) `,-1)])):p(``,!0),E.value?(a(),d(`div`,ve,[u(`section`,ye,[u(`div`,be,[u(`p`,xe,i(e.$t(`daqDetail.k1fx2vik032`))+` `+i(D.value?.ch??`-`),1),u(`div`,Se,[_(i(E.value.value==null?`--`:E.value.value.toFixed(E.value.decimals)),1),u(`small`,null,i(E.value.unit),1)]),u(`canvas`,{ref_key:`liveCanvas`,ref:G,class:`live-canvas`},null,512),u(`dl`,Ce,[u(`div`,null,[u(`dt`,null,i(e.$t(`daqDetail.k4a0la003`)),1),u(`dd`,null,i(E.value.driver)+i(Vt(E.value.driver)?e.$t(`daqDetail.kz8zr9v035`):``),1)]),u(`div`,null,[u(`dt`,null,i(e.$t(`daqDetail.k3xg3w004`)),1),u(`dd`,null,i(E.value.intervalMs??e.$t(`daqDetail.k9vnp9h053`,{p0:g(w).controller.defaultIntervalMs})),1)]),u(`div`,null,[u(`dt`,null,i(e.$t(`daqDetail.k3w6td005`)),1),u(`dd`,null,i(Rt(E.value.publishIntervalMs)),1)]),u(`div`,null,[u(`dt`,null,i(e.$t(`daqDetail.k3x5tpx006`)),1),u(`dd`,null,i(E.value.warnLow??`-∞`)+` ~ `+i(E.value.warnHigh??`+∞`),1)]),u(`div`,null,[u(`dt`,null,i(e.$t(`daqDetail.k1hjj0jf007`)),1),u(`dd`,null,i(E.value.min)+` ~ `+i(E.value.max),1)]),u(`div`,null,[u(`dt`,null,i(e.$t(`daqDetail.k1i8rtqt008`)),1),u(`dd`,null,i(Ht.value||e.$t(`daqDetail.k3own4q036`)),1)])])])]),u(`section`,we,[u(`h3`,Te,i(e.$t(`daqDetail.kd9d69j009`)),1),u(`form`,{class:`form-grid`,onSubmit:ne(Bt,[`prevent`])},[u(`label`,Ee,[u(`span`,null,i(e.$t(`daqDetail.k1iw7tbf010`)),1),u(`button`,{type:`button`,class:o([`toggle`,{on:P.enabled}]),onClick:t[0]||=e=>P.enabled=!P.enabled},i(P.enabled?e.$t(`daqDetail.k3w3j8f037`):e.$t(`daqDetail.k3n5aaj045`)),3)]),u(`label`,De,[u(`span`,null,i(e.$t(`daqDetail.k12k23od011`)),1),m(u(`select`,{"onUpdate:modelValue":t[1]||=e=>P.lineId=e,class:`input`},[u(`option`,Oe,i(e.$t(`daqDetail.k3ootr6012`)),1),(a(!0),d(f,null,s(g(jt).lines,e=>(a(),d(`option`,{key:e.id,value:e.id},i(e.name),9,ke))),128))],512),[[v,P.lineId]])]),u(`label`,Ae,[u(`span`,null,i(e.$t(`daqDetail.k1l6smxo013`)),1),m(u(`select`,{"onUpdate:modelValue":t[2]||=e=>P.driver=e,class:`input`},[(a(!0),d(f,null,s(g(x),t=>(a(),d(`option`,{key:t.kind,value:t.kind,disabled:t.status===`planned`},i(t.label)+i(t.status===`planned`?e.$t(`daqDetail.kz8zr9v035`):``),9,je))),128))],512),[[v,P.driver]])]),u(`label`,Me,[u(`button`,{type:`button`,class:o([`toggle slim`,{on:P.followGlobal}]),onClick:t[3]||=e=>P.followGlobal=!P.followGlobal},i(P.followGlobal?e.$t(`daqDetail.k1k2ueyq038`):e.$t(`daqDetail.k1cgi8fy046`)),3),m(u(`input`,{"onUpdate:modelValue":t[4]||=e=>P.intervalMs=e,type:`number`,min:`1000`,max:`60000`,step:`500`,class:`input`,disabled:P.followGlobal},null,8,Ne),[[y,P.intervalMs,void 0,{number:!0}]]),t[22]||=u(`small`,null,`ms`,-1)]),u(`label`,Pe,[u(`button`,{type:`button`,class:o([`toggle slim`,{on:P.calKind===`linear`}]),title:`采集标定 decoder:物理值 = scale × PLC采集值 + offset`,onClick:t[5]||=e=>P.calKind=P.calKind===`linear`?`none`:`linear`},i(P.calKind===`linear`?e.$t(`daqDetail.k1eru4r1039`):e.$t(`daqDetail.k3oktae047`)),3),m(u(`input`,{"onUpdate:modelValue":t[6]||=e=>P.calScale=e,type:`number`,step:`0.1`,class:`input`,disabled:P.calKind!==`linear`,title:`decode 斜率(≠0)`},null,8,Fe),[[y,P.calScale,void 0,{number:!0}]]),m(u(`input`,{"onUpdate:modelValue":t[7]||=e=>P.calOffset=e,type:`number`,step:`0.1`,class:`input`,disabled:P.calKind!==`linear`,title:`decode 截距`},null,8,Ie),[[y,P.calOffset,void 0,{number:!0}]]),t[23]||=u(`small`,null,`decoder`,-1)]),u(`label`,Le,[u(`button`,{type:`button`,class:o([`toggle slim`,{on:P.publishFollow}]),onClick:t[8]||=e=>P.publishFollow=!P.publishFollow},i(P.publishFollow?e.$t(`daqDetail.k1k2t5o7040`):e.$t(`daqDetail.k1cggz5f048`)),3),u(`span`,{class:o([`toggle slim`,{on:P.publishEveryFrame}]),style:{cursor:`pointer`},onClick:t[9]||=e=>P.publishEveryFrame=!P.publishEveryFrame},i(P.publishEveryFrame?e.$t(`daqDetail.k41mvv041`):e.$t(`daqDetail.k3n42dj049`)),3),m(u(`input`,{"onUpdate:modelValue":t[10]||=e=>P.publishMs=e,type:`number`,min:`0`,max:`60000`,step:`100`,class:`input`,disabled:P.publishFollow||P.publishEveryFrame},null,8,Re),[[y,P.publishMs,void 0,{number:!0}]]),t[24]||=u(`small`,null,`ms`,-1)]),u(`label`,ze,[u(`span`,null,i(e.$t(`daqDetail.k3x4ef014`)),1),m(u(`input`,{"onUpdate:modelValue":t[11]||=e=>P.unit=e,class:`input`},null,512),[[y,P.unit]])]),u(`label`,Be,[u(`span`,null,i(e.$t(`daqDetail.k3mxmcx015`)),1),m(u(`input`,{"onUpdate:modelValue":t[12]||=e=>P.decimals=e,type:`number`,min:`0`,max:`6`,class:`input`},null,512),[[y,P.decimals,void 0,{number:!0}]])]),u(`div`,Ve,[u(`label`,He,[u(`span`,null,i(e.$t(`daqDetail.k1l9jv5m016`)),1),m(u(`input`,{"onUpdate:modelValue":t[13]||=e=>P.min=e,type:`number`,step:`any`,class:`input`},null,512),[[y,P.min,void 0,{number:!0}]])]),u(`label`,Ue,[u(`span`,null,i(e.$t(`daqDetail.k1md63hm017`)),1),m(u(`input`,{"onUpdate:modelValue":t[14]||=e=>P.warnLow=e,type:`number`,step:`any`,class:`input`},null,512),[[y,P.warnLow,void 0,{number:!0}]])]),u(`label`,We,[u(`span`,null,i(e.$t(`daqDetail.k1md63gp018`)),1),m(u(`input`,{"onUpdate:modelValue":t[15]||=e=>P.warnHigh=e,type:`number`,step:`any`,class:`input`},null,512),[[y,P.warnHigh,void 0,{number:!0}]])]),u(`label`,Ge,[u(`span`,null,i(e.$t(`daqDetail.k1l9jv4p019`)),1),m(u(`input`,{"onUpdate:modelValue":t[16]||=e=>P.max=e,type:`number`,step:`any`,class:`input`},null,512),[[y,P.max,void 0,{number:!0}]])])]),u(`button`,{class:`aw-pill`,type:`submit`,disabled:z.value},i(z.value?e.$t(`daqDetail.k1as0g50042`):e.$t(`daqDetail.ksn9cgo050`)),9,Ke)],32),I.value.length?(a(),d(f,{key:0},[u(`h3`,qe,i(e.$t(`daqDetail.k1p9gioa033`))+` `+i(g(x).find(e=>e.kind===P.driver)?.label),1),u(`div`,Je,[(a(!0),d(f,null,s(I.value,e=>(a(),d(`label`,{key:e.key,class:`field`},[u(`span`,null,[_(i(e.label),1),e.required?(a(),d(`em`,Ye,`*`)):p(``,!0)]),e.type===`select`?m((a(),d(`select`,{key:0,"onUpdate:modelValue":t=>F.value[e.key]=t,class:`input`},[(a(!0),d(f,null,s(e.options,e=>(a(),d(`option`,{key:e.value,value:e.value},i(e.label),9,Ze))),128))],8,Xe)),[[v,F.value[e.key]]]):m((a(),d(`input`,{key:1,"onUpdate:modelValue":t=>F.value[e.key]=t,type:e.type===`number`?`number`:`text`,placeholder:e.placeholder,class:`input`},null,8,Qe)),[[re,F.value[e.key]]])]))),128))]),u(`div`,$e,[u(`button`,{class:`pill-btn`,disabled:L.value,onClick:zt},i(L.value?e.$t(`daqDetail.k1fsh720043`):e.$t(`daqDetail.k1fstglk051`)),9,et),R.value?(a(),d(`span`,{key:0,class:o([`test-out mono`,R.value.ok?`ok`:`bad`])},i(R.value.ok?`✓`:`✗`)+` `+i(R.value.message),3)):p(``,!0)])],64)):p(``,!0),u(`h3`,tt,i(e.$t(`daqDetail.k1ie6qju020`)),1),u(`div`,nt,[m(u(`select`,{"onUpdate:modelValue":t[17]||=e=>B.value=e,class:`input grow`},[u(`option`,rt,i(e.$t(`daqDetail.kjobzu3021`)),1),(a(!0),d(f,null,s(Wt.value,e=>(a(),d(`option`,{key:e.id,value:e.id},i(e.name),9,it))),128))],512),[[v,B.value]]),u(`button`,{class:`pill-btn`,onClick:Ut},i(Ht.value?e.$t(`daqDetail.k479eh044`):e.$t(`daqDetail.k452a8052`)),1)])]),u(`section`,at,[u(`div`,ot,[u(`h3`,st,i(e.$t(`daqDetail.k1i535i5034`))+i(g(w).meta.tsdb)+`) `,1),u(`div`,ct,[m(u(`select`,{"onUpdate:modelValue":t[18]||=e=>H.value=e,class:`input`},[(a(),d(f,null,s(Gt,e=>u(`option`,{key:e.ms,value:e.ms},i(e.label),9,lt)),64))],512),[[v,H.value,void 0,{number:!0}]]),u(`label`,{class:`refresh-ctl`,title:e.$t(`daqDetail.k1rfrshint001`,{p0:g(w).controller.minQueryDisplayIntervalMs??500})},[t[25]||=u(`span`,{class:`i-tabler-refresh`},null,-1),m(u(`input`,{"onUpdate:modelValue":t[19]||=e=>Z.value=e,type:`number`,min:0,max:`600000`,step:`500`,placeholder:String(g(w).controller.queryDisplayIntervalMs??5e3)},null,8,dt),[[y,Z.value,void 0,{number:!0}]]),t[26]||=_(`ms `,-1)],8,ut),u(`button`,{class:`pill-btn`,onClick:W},i(e.$t(`daqDetail.k3x1jg022`)),1)])]),u(`canvas`,{ref_key:`chartCanvas`,ref:Kt,class:`hist-canvas`},null,512),u(`table`,ft,[u(`thead`,null,[u(`tr`,null,[u(`th`,null,i(e.$t(`daqDetail.k40vsf023`)),1),u(`th`,null,i(e.$t(`daqDetail.k48v5024`)),1),u(`th`,null,i(e.$t(`daqDetail.k4bza025`)),1)])]),u(`tbody`,null,[(a(!0),d(f,null,s(V.value.filter(e=>e.value!=null).slice(-12).reverse(),(e,t)=>(a(),d(`tr`,{key:t},[u(`td`,null,i(new Date(e.at).toLocaleTimeString(`zh-CN`,{hour12:!1})),1),u(`td`,null,i(e.value.toFixed(E.value?.decimals??2)),1),u(`td`,null,i(e.state),1)]))),128))])])])])):p(``,!0),A.value?(a(),d(`section`,pt,[u(`div`,mt,[u(`h3`,ht,[_(i(k.value===`image`?e.$t(`daqDetail.kfrm0001`):e.$t(`daqDetail.kfrm0002`))+` `,1),u(`span`,gt,i(j.value.length),1)]),u(`button`,{class:`pill-btn`,onClick:M},i(e.$t(`daqDetail.k3x1jg022`)),1)]),k.value===`vector`?(a(),d(f,{key:0},[(a(),d(`svg`,{class:`vec-svg`,viewBox:`0 0 ${S} ${Et}`,preserveAspectRatio:`none`},[u(`polyline`,{points:Lt.value,fill:`none`,stroke:`var(--accent)`,"stroke-width":`1.5`},null,8,vt)],8,_t)),u(`table`,yt,[u(`thead`,null,[u(`tr`,null,[u(`th`,null,i(e.$t(`daqDetail.k40vsf023`)),1),u(`th`,null,i(e.$t(`daqDetail.kfrm0004`)),1),u(`th`,null,i(e.$t(`daqDetail.kfrm0005`)),1)])]),u(`tbody`,null,[(a(!0),d(f,null,s(j.value.filter(e=>e.kind===`vector`).slice(0,12),e=>(a(),d(`tr`,{key:e.at},[u(`td`,null,i(Pt(e.at)),1),u(`td`,null,i(e.points?.length??0),1),u(`td`,null,i(Ft(e)),1)]))),128))])])],64)):(a(),d(f,{key:1},[j.value.length?(a(),d(`div`,bt,[(a(!0),d(f,null,s(j.value,t=>(a(),d(`figure`,{key:t.at,class:`gal-item`,title:e.$t(`daqDetail.kfrm0006`),onClick:e=>N.value=t},[u(`img`,{src:t.thumbUrl,loading:`lazy`,alt:`daq frame`},null,8,St),u(`figcaption`,Ct,i(Pt(t.at))+` · `+i(Ft(t)),1)],8,xt))),128))])):(a(),d(`p`,wt,i(e.$t(`daqDetail.kfrm0003`)),1)),N.value?(a(),d(`div`,{key:2,class:`gal-full`,onClick:t[20]||=e=>N.value=null},[u(`img`,{src:N.value.contentUrl??N.value.thumbUrl,alt:`daq frame full`},null,8,Tt)])):p(``,!0)],64))])):p(``,!0)])}}}),[[`__scopeId`,`data-v-680686c6`]]);export{At as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,s as t}from"./YnQxK3eG.js";import{t as n}from"./DIaZ2PTo2.js";async function r(e,r={}){let i=n().token;return await t(e,{...r,headers:{authorization:`Bearer ${i}`,...r.headers}})}var i=`workshop.activeChannel`,a=`workshop.activeWorkspace`,o=()=>typeof localStorage<`u`;function s(){if(!o())return{};try{return JSON.parse(localStorage.getItem(i)??`{}`)}catch{return{}}}function c(e){o()&&localStorage.setItem(i,JSON.stringify(e))}var l=e(`workshop.workspaces`,{state:()=>({workspaces:[],loaded:!1}),getters:{activeWorkspaceId(e){return o()?localStorage.getItem(a)??e.workspaces[0]?.id??null:e.workspaces[0]?.id??null}},actions:{setActiveWorkspaceId(e){o()&&localStorage.setItem(a,e??``)},async load(){let e=await r(`/api/workshop/workspaces`);if(e.code!==0)throw Error(e.message??`加载失败`);let t=s();this.workspaces=(e.data??[]).map(e=>{let n=e.channelIds??[],r=t[e.id],i=r&&n.includes(r)?r:void 0;return r!==i&&(i?t[e.id]=i:Reflect.deleteProperty(t,e.id)),{id:e.id,name:e.name,channelIds:n,activeChannelId:i}}),c(t),this.loaded=!0},async create(e){let t=await r(`/api/workshop/workspaces`,{method:`POST`,body:{name:e}});if(t.code!==0||!t.data)throw Error(t.message??`创建失败`);let n={id:t.data.id,name:t.data.name,channelIds:[]};return this.workspaces.push(n),n},async remove(e){await r(`/api/workshop/workspaces/${e}`,{method:`DELETE`}),this.workspaces=this.workspaces.filter(t=>t.id!==e)},async rename(e,t){let n=this.workspaces.find(t=>t.id===e);n&&(n.name=t)},async mountChannel(e,t){let n=this.workspaces.find(t=>t.id===e);!n||n.channelIds.includes(t)||(await r(`/api/workshop/workspaces/${e}/channels/${t}`,{method:`POST`}),n.channelIds.push(t),n.activeChannelId||(n.activeChannelId=t,this.persistActive(n)))},async unmountChannel(e,t){let n=this.workspaces.find(t=>t.id===e);n&&(await r(`/api/workshop/workspaces/${e}/channels/${t}`,{method:`DELETE`}),n.channelIds=n.channelIds.filter(e=>e!==t),n.activeChannelId===t&&(n.activeChannelId=n.channelIds[0]),this.persistActive(n))},setActiveChannel(e,t){let n=this.workspaces.find(t=>t.id===e);n&&n.channelIds.includes(t)&&(n.activeChannelId=t,this.persistActive(n))},persistActive(e){let t=s();e.activeChannelId?t[e.id]=e.activeChannelId:Reflect.deleteProperty(t,e.id),c(t)}}});export{l as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ht as e,S as t,Ut as n,V as r,Vt as i,W as a,b as o,d as s,dt as c,f as l,h as u,i as d,m as f,nt as p,pt as m,tt as h,xt as g,y as _}from"./CSkxz2NX.js";import{c as v,f as y,l as b,o as ee,t as x}from"./D6uzXueg.js";import{t as te}from"./BHA40aHa.js";import{n as ne}from"./KZQX7xoM.js";import{t as S}from"./BDNMzG2s2.js";import{t as C}from"./D0ZBQrN_2.js";import{r as w,t as re}from"./D20Yamr4.js";var ie={class:`page`},ae={class:`aw-page-head`},oe={class:`sub`},se={class:`badges mono`},ce=[`title`],le={class:`badge`},ue={key:0,class:`banner bad`},de={class:`fleet-filter`},fe={class:`aw-seg`},pe=[`placeholder`],me={class:`line-grid aw-stagger`},he={class:`lc-head`},ge={class:`lc-name`},_e=[`title`,`onClick`],ve=[`title`,`onClick`],ye={key:0,class:`lc-run mono`},be={class:`lc-stats mono`},xe={class:`lc-ctl`},Se=[`onUpdate:modelValue`,`disabled`,`title`],Ce={value:``},we=[`value`,`disabled`],Te=[`disabled`,`onClick`],Ee=[`disabled`,`onClick`],De={key:1,class:`banner`},Oe={key:2,class:`banner`},ke={class:`modal`},Ae={class:`m-title`},je={class:`f`},Me=[`placeholder`],Ne={class:`f`},Pe=[`placeholder`],Fe={class:`f`},Ie={class:`color-row`},Le=[`onClick`],Re={class:`dim`},ze={key:0,class:`m-err`},Be={class:`m-actions`},Ve=[`disabled`],He={class:`modal`},Ue={class:`m-title`},We={class:`f`},Ge=[`placeholder`],Ke={class:`f`},qe=[`placeholder`],Je={class:`f`},Ye={class:`color-row`},Xe=[`onClick`],Ze={class:`dim`},Qe={key:0,class:`m-err`},$e={class:`m-actions`},et=[`disabled`],tt={class:`modal`},nt={class:`m-title danger-title`},rt={class:`del-summary`},it={class:`del-purge`},at={key:0,class:`m-err`},ot={class:`m-actions`},st=[`disabled`],ct={class:`modal wide`},lt={class:`m-title`},ut={class:`dim mono`},dt={class:`dim tpl-hint`},ft={class:`tpl-list`},pt=[`title`],mt={class:`mono dim`},ht={key:0,class:`tpl-sem`},gt=[`onClick`],_t={class:`sec-label`},vt={class:`tpl-form`},yt={class:`f`},bt=[`placeholder`],xt={class:`f`},St=[`placeholder`],Ct={class:`f`},wt={class:`f`},Tt={class:`f`},Et={class:`f`},Dt={class:`f`},Ot={class:`f`},kt=[`value`],At={class:`f`},jt=[`placeholder`],Mt={key:0,class:`m-err`},Nt={class:`m-actions`},Pt=[`disabled`],Ft={key:3,class:`banner bad`},T=S(t({__name:`index`,setup(t){let{t:S}=ne(),T=re();T.load();let E=s(()=>T.lines.map(e=>({line:e,nodes:T.nodes.filter(t=>t.lineId===e.id).length,products:T.products.filter(t=>t.lineId===e.id).length,recipes:T.recipes.filter(t=>t.lineId===e.id).length}))),D=s(()=>T.nodes.filter(e=>!e.lineId).length+T.products.filter(e=>!e.lineId).length),O=m(`all`),k=m(``),A=s(()=>E.value.filter(e=>T.lineStateOf(e.line.id).active).length),j=s(()=>E.value.filter(e=>{let t=T.lineStateOf(e.line.id).active;if(O.value===`running`&&!t||O.value===`idle`&&t)return!1;let n=k.value.trim().toLowerCase();return!(n&&!e.line.name.toLowerCase().includes(n)&&!(e.line.description??``).toLowerCase().includes(n))})),M=m(!1),N=m(!1),P=m(``),F=c({name:``,description:``,color:``}),I=s(()=>w[T.lines.length%w.length]??`#3aa0ff`);function It(){F.name=``,F.description=``,F.color=``,P.value=``,M.value=!0}async function Lt(){N.value=!0,P.value=``;try{await T.createLine({name:F.name.trim(),description:F.description.trim(),color:F.color||void 0}),M.value=!1}catch(e){P.value=C(e)}finally{N.value=!1}}let L=m(``),R=m(``),z=c({});async function Rt(e){L.value=e.line.id,R.value=``;try{let t=z[e.line.id]??``;if(!t)throw Error(S(`dcw.k188cswn039`));await T.startLine(e.line.id,t)}catch(e){R.value=C(e)}finally{L.value=``}}async function zt(e){L.value=e.line.id,R.value=``;try{await T.stopLine(e.line.id)}catch(e){R.value=C(e)}finally{L.value=``}}function B(e){return T.recipes.filter(t=>t.lineId===e)}let V=m(!1),H=m(!1),U=m(``),W=m(!0),G=m(null);function Bt(e){G.value=e,W.value=!0,U.value=``,V.value=!0}async function Vt(){if(G.value){H.value=!0,U.value=``;try{await T.removeLine(G.value.line.id,W.value),V.value=!1}catch(e){U.value=C(e)}finally{H.value=!1}}}let K=m(!1),q=m(!1),J=m(``),Y=c({id:``,name:``,description:``,color:``});function Ht(e){Y.id=e.line.id,Y.name=e.line.name,Y.description=e.line.description,Y.color=e.line.color,J.value=``,K.value=!0}async function Ut(){q.value=!0,J.value=``;try{await T.updateLine(Y.id,{name:Y.name.trim(),description:Y.description.trim(),color:Y.color||void 0}),K.value=!1}catch(e){J.value=C(e)}finally{q.value=!1}}let X=m(!1),Z=m(``),Q=c({name:``,ch:``,code:``,unit:``,min:``,max:``,decimals:1,icon:`gateway`,semantics:``}),Wt=[{key:`thermo`,label:S(`dcw.k422b8040`)},{key:`pressure`,label:S(`dcw.k3x6ff041`)},{key:`tension`,label:S(`dcw.k3z9xc042`)},{key:`encoder`,label:S(`dcw.kjb3vhs043`)},{key:`camera`,label:S(`dcw.k47atw044`)},{key:`gateway`,label:S(`dcw.k48c07045`)}];async function Gt(){Z.value=``;try{if(!Q.name.trim())throw Error(S(`dcw.k6ugbw2046`));if(Q.min===``||Q.max===``)throw Error(S(`dcw.k13awowo047`));await T.createTemplate({name:Q.name.trim(),ch:Q.ch.trim()||Q.name.trim(),code:Q.code.trim()||`CUSTOM`,unit:Q.unit.trim()||`-`,min:Number(Q.min),max:Number(Q.max),decimals:Number(Q.decimals)||0,icon:Q.icon,semantics:Q.semantics.trim()||void 0}),Q.name=``,Q.ch=``,Q.code=``,Q.unit=``,Q.min=``,Q.max=``}catch(e){Z.value=C(e)}}async function Kt(e){Z.value=``;try{await fetch(`/api/workshop/dcw/templates/${e}`,{method:`DELETE`,headers:{authorization:`Bearer ${document.cookie.match(/(?:^|;\s*)token=([^;]+)/)?.[1]??``}`}}).then(async e=>{let t=await e.json().catch(()=>({}));if(t?.code!==0)throw Error(t?.message??S(`dcw.k1bphrb3048`))});let t=T.templates.findIndex(t=>t.key===e);t>=0&&T.templates.splice(t,1)}catch(e){Z.value=C(e)}}let $=s(()=>T.templates.filter(e=>e.builtin).length);return(t,s)=>{let c=te;return r(),u(`div`,ie,[l(`div`,ae,[l(`div`,null,[s[27]||=l(`p`,{class:`aw-kicker`},` AGENTWORKSHOP / LINE OPERATIONS `,-1),l(`h1`,null,n(t.$t(`dcw.k1b2tk5c009`)),1),l(`p`,oe,n(t.$t(`dcw.k5q0aqi010`)),1)]),l(`div`,se,[D.value?(r(),u(`span`,{key:0,class:`badge warn-badge`,title:t.$t(`dcw.k1i5a9vw001`)},n(t.$t(`dcw.k3ootr6049`))+` `+n(D.value),9,ce)):f(``,!0),l(`span`,le,n(t.$t(`dcw.k3wj9n050`))+` `+n(g(T).lines.length),1),l(`button`,{class:`badge tpl-btn`,onClick:s[0]||=e=>X.value=!0},n(t.$t(`dcw.k11nndsp051`))+` `+n(g(T).templates.length),1)])]),R.value?(r(),u(`p`,ue,n(R.value),1)):f(``,!0),l(`div`,de,[l(`div`,fe,[l(`button`,{class:i({on:O.value===`all`}),onClick:s[1]||=e=>O.value=`all`},n(t.$t(`common.all`))+` `+n(E.value.length),3),l(`button`,{class:i({on:O.value===`running`}),onClick:s[2]||=e=>O.value=`running`},n(t.$t(`dcw.k1eox1el055`))+` `+n(A.value),3),l(`button`,{class:i({on:O.value===`idle`}),onClick:s[3]||=e=>O.value=`idle`},n(t.$t(`dcw.k149r6y7059`))+` `+n(E.value.length-A.value),3)]),p(l(`input`,{"onUpdate:modelValue":s[4]||=e=>k.value=e,class:`inp fleet-search`,type:`search`,placeholder:t.$t(`dcw.filterSearchPh`)},null,8,pe),[[b,k.value]])]),l(`div`,me,[(r(!0),u(d,null,a(j.value,f=>(r(),u(`div`,{key:f.line.id,class:i([`line-card aw-liftable`,{idle:!g(T).lineStateOf(f.line.id).active}]),style:e({"--lc":f.line.color})},[l(`div`,he,[s[30]||=l(`span`,{class:`lc-dot`},null,-1),l(`b`,ge,n(f.line.name),1),l(`span`,{class:i([`lc-state`,{on:g(T).lineStateOf(f.line.id).active}])},n(g(T).lineStateOf(f.line.id).active?t.$t(`dcw.k1eox1el055`):t.$t(`dcw.k149r6y7059`)),3),l(`button`,{class:`lc-act`,title:t.$t(`common.edit`),onClick:e=>Ht(f)},[...s[28]||=[l(`span`,{class:`i-tabler-pencil`},null,-1)]],8,_e),l(`button`,{class:`lc-act danger`,title:t.$t(`dcw.k3xakp026`),onClick:e=>Bt(f)},[...s[29]||=[l(`span`,{class:`i-tabler-trash`},null,-1)]],8,ve)]),g(T).lineStateOf(f.line.id).active?(r(),u(`small`,ye,n(g(T).lineStateOf(f.line.id).productName)+` · `+n(g(T).lineStateOf(f.line.id).recipeName)+` · `+n(t.$t(`dcw.k3zz0f052`))+` `+n(g(T).lineStateOf(f.line.id).taggedSamples),1)):(r(),u(`small`,{key:1,class:i([`lc-run dim`,{ph:!f.line.description}])},n(f.line.description||t.$t(`dcw.k18moyq1056`)),3)),l(`div`,be,[l(`span`,null,[_(n(t.$t(`dcw.k45uio011`))+` `,1),l(`b`,null,n(f.nodes),1)]),l(`span`,null,[_(n(t.$t(`dcw.k3waz1012`))+` `,1),l(`b`,null,n(f.products),1)]),l(`span`,null,[_(n(t.$t(`dcw.k48grv013`))+` `,1),l(`b`,null,n(f.recipes),1)])]),l(`div`,xe,[g(T).lineStateOf(f.line.id).active?(r(),u(`button`,{key:1,class:`pill-btn stop`,disabled:L.value===f.line.id,onClick:e=>zt(f)},n(t.$t(`dcw.k148rclf015`)),9,Ee)):(r(),u(d,{key:0},[p(l(`select`,{"onUpdate:modelValue":e=>z[f.line.id]=e,class:`inp`,disabled:B(f.line.id).length===0,title:t.$t(`dcw.k1dhaby4003`)},[l(`option`,Ce,n(B(f.line.id).length?t.$t(`dcw.kutxzsz057`):t.$t(`dcw.k1elczt9060`)),1),(r(!0),u(d,null,a(B(f.line.id),e=>(r(),u(`option`,{key:e.id,value:e.id,disabled:e.params.length===0},n(e.name)+`(`+n(e.params.length)+`) `,9,we))),128))],8,Se),[[v,z[f.line.id]]]),l(`button`,{class:`pill-btn`,disabled:L.value===f.line.id||!z[f.line.id],onClick:e=>Rt(f)},n(t.$t(`dcw.k149b4vg014`)),9,Te)],64))]),o(c,{class:`lc-manage`,to:`/dcw/${f.line.id}`},{default:h(()=>[_(n(t.$t(`dcw.k1fwqw5g016`)),1)]),_:1},8,[`to`])],6))),128)),l(`button`,{class:`line-card new-card`,onClick:It},[s[31]||=l(`span`,{class:`i-tabler-plus`},null,-1),_(` `+n(t.$t(`dcw.k1efe391017`))+` `,1),l(`small`,null,n(t.$t(`dcw.k19dlbli053`)),1)])]),g(T).loaded&&g(T).lines.length===0?(r(),u(`p`,De,n(t.$t(`dcw.k1sk85vs018`)),1)):g(T).loaded&&j.value.length===0?(r(),u(`p`,Oe,n(t.$t(`dcw.filterEmpty`)),1)):f(``,!0),o(x,{name:`modal`},{default:h(()=>[M.value?(r(),u(`div`,{key:0,class:`modal-mask`,onClick:s[8]||=y(e=>M.value=!1,[`self`])},[l(`div`,ke,[l(`h3`,Ae,n(t.$t(`dcw.k1efe391017`)),1),l(`label`,je,[l(`span`,null,[_(n(t.$t(`dcw.k1b2ioko019`)),1),s[32]||=l(`em`,null,`*`,-1)]),p(l(`input`,{"onUpdate:modelValue":s[5]||=e=>F.name=e,class:`inp`,placeholder:t.$t(`dcw.kru37i3004`)},null,8,Me),[[b,F.name]])]),l(`label`,Ne,[l(`span`,null,n(t.$t(`dcw.k24dxcd020`)),1),p(l(`input`,{"onUpdate:modelValue":s[6]||=e=>F.description=e,class:`inp`,placeholder:t.$t(`dcw.k1f2nwsp005`)},null,8,Pe),[[b,F.description]])]),l(`div`,Fe,[l(`span`,null,n(t.$t(`dcw.k1x7nubr021`)),1),l(`div`,Ie,[(r(!0),u(d,null,a(g(w),t=>(r(),u(`button`,{key:t,class:i([`color-dot`,{on:F.color===t}]),style:e({background:t}),onClick:e=>F.color=F.color===t?``:t},null,14,Le))),128)),l(`small`,Re,n(F.color||t.$t(`dcw.k1qidbpy061`,{p0:I.value})),1)])]),P.value?(r(),u(`p`,ze,n(P.value),1)):f(``,!0),l(`div`,Be,[l(`button`,{class:`mini-btn`,onClick:s[7]||=e=>M.value=!1},n(t.$t(`dcw.k3xdnn022`)),1),l(`button`,{class:`pill-btn`,disabled:N.value||!F.name.trim(),onClick:Lt},n(t.$t(`dcw.k3wzi2023`)),9,Ve)])])])):f(``,!0)]),_:1}),o(x,{name:`modal`},{default:h(()=>[K.value?(r(),u(`div`,{key:0,class:`modal-mask`,onClick:s[12]||=y(e=>K.value=!1,[`self`])},[l(`div`,He,[l(`h3`,Ue,n(t.$t(`dcw.k5tq8wc071`)),1),l(`label`,We,[l(`span`,null,[_(n(t.$t(`dcw.k1b2ioko019`)),1),s[33]||=l(`em`,null,`*`,-1)]),p(l(`input`,{"onUpdate:modelValue":s[9]||=e=>Y.name=e,class:`inp`,placeholder:t.$t(`dcw.kru37i3004`)},null,8,Ge),[[b,Y.name]])]),l(`label`,Ke,[l(`span`,null,n(t.$t(`dcw.k24dxcd020`)),1),p(l(`input`,{"onUpdate:modelValue":s[10]||=e=>Y.description=e,class:`inp`,placeholder:t.$t(`dcw.k1f2nwsp005`)},null,8,qe),[[b,Y.description]])]),l(`div`,Je,[l(`span`,null,n(t.$t(`dcw.k1x7nubr021`)),1),l(`div`,Ye,[(r(!0),u(d,null,a(g(w),t=>(r(),u(`button`,{key:t,class:i([`color-dot`,{on:Y.color===t}]),style:e({background:t}),onClick:e=>Y.color=Y.color===t?``:t},null,14,Xe))),128)),l(`small`,Ze,n(Y.color||t.$t(`dcw.k1qidbpy061`,{p0:I.value})),1)])]),J.value?(r(),u(`p`,Qe,n(J.value),1)):f(``,!0),l(`div`,$e,[l(`button`,{class:`mini-btn`,onClick:s[11]||=e=>K.value=!1},n(t.$t(`dcw.k3xdnn022`)),1),l(`button`,{class:`pill-btn`,disabled:q.value||!Y.name.trim(),onClick:Ut},n(t.$t(`common.save`)),9,et)])])])):f(``,!0)]),_:1}),o(x,{name:`modal`},{default:h(()=>[V.value&&G.value?(r(),u(`div`,{key:0,class:`modal-mask`,onClick:s[15]||=y(e=>V.value=!1,[`self`])},[l(`div`,tt,[l(`h3`,nt,[s[34]||=l(`span`,{class:`i-tabler-alert-triangle`},null,-1),_(` `+n(t.$t(`dcw.k7xq2mfd063`,{p0:G.value.line.name})),1)]),l(`p`,rt,n(W.value?t.$t(`dcw.k4r7nbd073`,{p0:G.value.line.name,p1:G.value.nodes,p2:G.value.products,p3:G.value.recipes}):t.$t(`dcw.k1gp649b062`,{p0:G.value.line.name,p1:G.value.nodes,p2:G.value.products,p3:G.value.recipes})),1),l(`label`,it,[p(l(`input`,{"onUpdate:modelValue":s[13]||=e=>W.value=e,type:`checkbox`},null,512),[[ee,W.value]]),l(`span`,null,n(t.$t(`dcw.k9m2vxa072`)),1)]),U.value?(r(),u(`p`,at,n(U.value),1)):f(``,!0),l(`div`,ot,[l(`button`,{class:`mini-btn`,onClick:s[14]||=e=>V.value=!1},n(t.$t(`dcw.k3xdnn022`)),1),l(`button`,{class:`pill-btn danger`,disabled:H.value,onClick:Vt},n(t.$t(`dcw.k3xakp026`)),9,st)])])])):f(``,!0)]),_:1}),o(x,{name:`modal`},{default:h(()=>[X.value?(r(),u(`div`,{key:0,class:`modal-mask`,onClick:s[26]||=y(e=>X.value=!1,[`self`])},[l(`div`,ct,[l(`h3`,lt,[_(n(t.$t(`dcw.k11oadmx024`))+` `,1),l(`small`,ut,n(t.$t(`dcw.k3x23c054`))+` `+n($.value)+` · `+n(t.$t(`dcw.k3t616a058`))+` `+n(g(T).templates.length-$.value),1)]),l(`p`,dt,n(t.$t(`dcw.k2hlav5025`)),1),l(`div`,ft,[(r(!0),u(d,null,a(g(T).templates,e=>(r(),u(`div`,{key:e.key,class:`tpl-row`,title:e.semantics??``},[l(`b`,null,n(e.name),1),l(`small`,mt,n(e.code)+` · `+n(e.min)+`~`+n(e.max)+` `+n(e.unit),1),e.semantics?(r(),u(`small`,ht,n(e.semantics.slice(0,40))+n(e.semantics.length>40?`…`:``),1)):f(``,!0),l(`span`,{class:i([`tpl-tag`,{builtin:e.builtin}])},n(e.builtin?t.$t(`dcw.k3x23c054`):t.$t(`dcw.k3t616a058`)),3),e.builtin?f(``,!0):(r(),u(`button`,{key:1,class:`mini-btn danger`,onClick:t=>Kt(e.key)},n(t.$t(`dcw.k3xakp026`)),9,gt))],8,pt))),128))]),l(`p`,_t,n(t.$t(`dcw.k169eb4s027`)),1),l(`div`,vt,[l(`label`,yt,[l(`span`,null,[_(n(t.$t(`dcw.k3xhia028`)),1),s[35]||=l(`em`,null,`*`,-1)]),p(l(`input`,{"onUpdate:modelValue":s[16]||=e=>Q.name=e,class:`inp`,placeholder:t.$t(`dcw.k1tooi3o006`)},null,8,bt),[[b,Q.name]])]),l(`label`,xt,[l(`span`,null,n(t.$t(`dcw.k1bqk219029`)),1),p(l(`input`,{"onUpdate:modelValue":s[17]||=e=>Q.ch=e,class:`inp`,placeholder:t.$t(`dcw.k698qz0007`)},null,8,St),[[b,Q.ch]])]),l(`label`,Ct,[l(`span`,null,n(t.$t(`dcw.k1ayxrqb030`)),1),p(l(`input`,{"onUpdate:modelValue":s[18]||=e=>Q.code=e,class:`inp`,placeholder:`如 MOTOR · I`},null,512),[[b,Q.code]])]),l(`label`,wt,[l(`span`,null,n(t.$t(`dcw.k3x4ef031`)),1),p(l(`input`,{"onUpdate:modelValue":s[19]||=e=>Q.unit=e,class:`inp`,placeholder:`如 A`},null,512),[[b,Q.unit]])]),l(`label`,Tt,[l(`span`,null,[_(n(t.$t(`dcw.k1l9jv5m032`)),1),s[36]||=l(`em`,null,`*`,-1)]),p(l(`input`,{"onUpdate:modelValue":s[20]||=e=>Q.min=e,type:`number`,class:`inp`},null,512),[[b,Q.min,void 0,{number:!0}]])]),l(`label`,Et,[l(`span`,null,[_(n(t.$t(`dcw.k1l9jv4p033`)),1),s[37]||=l(`em`,null,`*`,-1)]),p(l(`input`,{"onUpdate:modelValue":s[21]||=e=>Q.max=e,type:`number`,class:`inp`},null,512),[[b,Q.max,void 0,{number:!0}]])]),l(`label`,Dt,[l(`span`,null,n(t.$t(`dcw.k3mxmcx034`)),1),p(l(`input`,{"onUpdate:modelValue":s[22]||=e=>Q.decimals=e,type:`number`,class:`inp`},null,512),[[b,Q.decimals,void 0,{number:!0}]])]),l(`label`,Ot,[l(`span`,null,n(t.$t(`dcw.k3xx56035`)),1),p(l(`select`,{"onUpdate:modelValue":s[23]||=e=>Q.icon=e,class:`inp`},[(r(),u(d,null,a(Wt,e=>l(`option`,{key:e.key,value:e.key},n(e.label),9,kt)),64))],512),[[v,Q.icon]])])]),l(`label`,At,[l(`span`,null,n(t.$t(`dcw.k1b6qorg036`)),1),p(l(`textarea`,{"onUpdate:modelValue":s[24]||=e=>Q.semantics=e,class:`inp`,rows:`3`,placeholder:t.$t(`dcw.k1qdnfzc008`)},null,8,jt),[[b,Q.semantics]])]),Z.value?(r(),u(`p`,Mt,n(Z.value),1)):f(``,!0),l(`div`,Nt,[l(`button`,{class:`mini-btn`,onClick:s[25]||=e=>X.value=!1},n(t.$t(`dcw.k3x62t037`)),1),l(`button`,{class:`pill-btn`,disabled:!Q.name.trim()||Q.min===``||Q.max===``,onClick:Gt},n(t.$t(`dcw.k1bg9nga038`)),9,Pt)])])])):f(``,!0)]),_:1}),g(T).error?(r(),u(`p`,Ft,n(g(T).error),1)):f(``,!0)])}}}),[[`__scopeId`,`data-v-9c3442da`]]);export{T as default};
|
|
1
|
+
import{Ht as e,S as t,Ut as n,V as r,Vt as i,W as a,b as o,d as s,dt as c,f as l,h as u,i as d,m as f,nt as p,pt as m,tt as h,xt as g,y as _}from"./CSkxz2NX.js";import{c as v,f as y,l as b,o as ee,t as x}from"./D6uzXueg.js";import{t as te}from"./BHA40aHa.js";import{n as ne}from"./KZQX7xoM.js";import{t as S}from"./BDNMzG2s2.js";import{t as C}from"./D0ZBQrN_2.js";import{r as w,t as re}from"./D8qvkfyY.js";var ie={class:`page`},ae={class:`aw-page-head`},oe={class:`sub`},se={class:`badges mono`},ce=[`title`],le={class:`badge`},ue={key:0,class:`banner bad`},de={class:`fleet-filter`},fe={class:`aw-seg`},pe=[`placeholder`],me={class:`line-grid aw-stagger`},he={class:`lc-head`},ge={class:`lc-name`},_e=[`title`,`onClick`],ve=[`title`,`onClick`],ye={key:0,class:`lc-run mono`},be={class:`lc-stats mono`},xe={class:`lc-ctl`},Se=[`onUpdate:modelValue`,`disabled`,`title`],Ce={value:``},we=[`value`,`disabled`],Te=[`disabled`,`onClick`],Ee=[`disabled`,`onClick`],De={key:1,class:`banner`},Oe={key:2,class:`banner`},ke={class:`modal`},Ae={class:`m-title`},je={class:`f`},Me=[`placeholder`],Ne={class:`f`},Pe=[`placeholder`],Fe={class:`f`},Ie={class:`color-row`},Le=[`onClick`],Re={class:`dim`},ze={key:0,class:`m-err`},Be={class:`m-actions`},Ve=[`disabled`],He={class:`modal`},Ue={class:`m-title`},We={class:`f`},Ge=[`placeholder`],Ke={class:`f`},qe=[`placeholder`],Je={class:`f`},Ye={class:`color-row`},Xe=[`onClick`],Ze={class:`dim`},Qe={key:0,class:`m-err`},$e={class:`m-actions`},et=[`disabled`],tt={class:`modal`},nt={class:`m-title danger-title`},rt={class:`del-summary`},it={class:`del-purge`},at={key:0,class:`m-err`},ot={class:`m-actions`},st=[`disabled`],ct={class:`modal wide`},lt={class:`m-title`},ut={class:`dim mono`},dt={class:`dim tpl-hint`},ft={class:`tpl-list`},pt=[`title`],mt={class:`mono dim`},ht={key:0,class:`tpl-sem`},gt=[`onClick`],_t={class:`sec-label`},vt={class:`tpl-form`},yt={class:`f`},bt=[`placeholder`],xt={class:`f`},St=[`placeholder`],Ct={class:`f`},wt={class:`f`},Tt={class:`f`},Et={class:`f`},Dt={class:`f`},Ot={class:`f`},kt=[`value`],At={class:`f`},jt=[`placeholder`],Mt={key:0,class:`m-err`},Nt={class:`m-actions`},Pt=[`disabled`],Ft={key:3,class:`banner bad`},T=S(t({__name:`index`,setup(t){let{t:S}=ne(),T=re();T.load();let E=s(()=>T.lines.map(e=>({line:e,nodes:T.nodes.filter(t=>t.lineId===e.id).length,products:T.products.filter(t=>t.lineId===e.id).length,recipes:T.recipes.filter(t=>t.lineId===e.id).length}))),D=s(()=>T.nodes.filter(e=>!e.lineId).length+T.products.filter(e=>!e.lineId).length),O=m(`all`),k=m(``),A=s(()=>E.value.filter(e=>T.lineStateOf(e.line.id).active).length),j=s(()=>E.value.filter(e=>{let t=T.lineStateOf(e.line.id).active;if(O.value===`running`&&!t||O.value===`idle`&&t)return!1;let n=k.value.trim().toLowerCase();return!(n&&!e.line.name.toLowerCase().includes(n)&&!(e.line.description??``).toLowerCase().includes(n))})),M=m(!1),N=m(!1),P=m(``),F=c({name:``,description:``,color:``}),I=s(()=>w[T.lines.length%w.length]??`#3aa0ff`);function It(){F.name=``,F.description=``,F.color=``,P.value=``,M.value=!0}async function Lt(){N.value=!0,P.value=``;try{await T.createLine({name:F.name.trim(),description:F.description.trim(),color:F.color||void 0}),M.value=!1}catch(e){P.value=C(e)}finally{N.value=!1}}let L=m(``),R=m(``),z=c({});async function Rt(e){L.value=e.line.id,R.value=``;try{let t=z[e.line.id]??``;if(!t)throw Error(S(`dcw.k188cswn039`));await T.startLine(e.line.id,t)}catch(e){R.value=C(e)}finally{L.value=``}}async function zt(e){L.value=e.line.id,R.value=``;try{await T.stopLine(e.line.id)}catch(e){R.value=C(e)}finally{L.value=``}}function B(e){return T.recipes.filter(t=>t.lineId===e)}let V=m(!1),H=m(!1),U=m(``),W=m(!0),G=m(null);function Bt(e){G.value=e,W.value=!0,U.value=``,V.value=!0}async function Vt(){if(G.value){H.value=!0,U.value=``;try{await T.removeLine(G.value.line.id,W.value),V.value=!1}catch(e){U.value=C(e)}finally{H.value=!1}}}let K=m(!1),q=m(!1),J=m(``),Y=c({id:``,name:``,description:``,color:``});function Ht(e){Y.id=e.line.id,Y.name=e.line.name,Y.description=e.line.description,Y.color=e.line.color,J.value=``,K.value=!0}async function Ut(){q.value=!0,J.value=``;try{await T.updateLine(Y.id,{name:Y.name.trim(),description:Y.description.trim(),color:Y.color||void 0}),K.value=!1}catch(e){J.value=C(e)}finally{q.value=!1}}let X=m(!1),Z=m(``),Q=c({name:``,ch:``,code:``,unit:``,min:``,max:``,decimals:1,icon:`gateway`,semantics:``}),Wt=[{key:`thermo`,label:S(`dcw.k422b8040`)},{key:`pressure`,label:S(`dcw.k3x6ff041`)},{key:`tension`,label:S(`dcw.k3z9xc042`)},{key:`encoder`,label:S(`dcw.kjb3vhs043`)},{key:`camera`,label:S(`dcw.k47atw044`)},{key:`gateway`,label:S(`dcw.k48c07045`)}];async function Gt(){Z.value=``;try{if(!Q.name.trim())throw Error(S(`dcw.k6ugbw2046`));if(Q.min===``||Q.max===``)throw Error(S(`dcw.k13awowo047`));await T.createTemplate({name:Q.name.trim(),ch:Q.ch.trim()||Q.name.trim(),code:Q.code.trim()||`CUSTOM`,unit:Q.unit.trim()||`-`,min:Number(Q.min),max:Number(Q.max),decimals:Number(Q.decimals)||0,icon:Q.icon,semantics:Q.semantics.trim()||void 0}),Q.name=``,Q.ch=``,Q.code=``,Q.unit=``,Q.min=``,Q.max=``}catch(e){Z.value=C(e)}}async function Kt(e){Z.value=``;try{await fetch(`/api/workshop/dcw/templates/${e}`,{method:`DELETE`,headers:{authorization:`Bearer ${document.cookie.match(/(?:^|;\s*)token=([^;]+)/)?.[1]??``}`}}).then(async e=>{let t=await e.json().catch(()=>({}));if(t?.code!==0)throw Error(t?.message??S(`dcw.k1bphrb3048`))});let t=T.templates.findIndex(t=>t.key===e);t>=0&&T.templates.splice(t,1)}catch(e){Z.value=C(e)}}let $=s(()=>T.templates.filter(e=>e.builtin).length);return(t,s)=>{let c=te;return r(),u(`div`,ie,[l(`div`,ae,[l(`div`,null,[s[27]||=l(`p`,{class:`aw-kicker`},` AGENTWORKSHOP / LINE OPERATIONS `,-1),l(`h1`,null,n(t.$t(`dcw.k1b2tk5c009`)),1),l(`p`,oe,n(t.$t(`dcw.k5q0aqi010`)),1)]),l(`div`,se,[D.value?(r(),u(`span`,{key:0,class:`badge warn-badge`,title:t.$t(`dcw.k1i5a9vw001`)},n(t.$t(`dcw.k3ootr6049`))+` `+n(D.value),9,ce)):f(``,!0),l(`span`,le,n(t.$t(`dcw.k3wj9n050`))+` `+n(g(T).lines.length),1),l(`button`,{class:`badge tpl-btn`,onClick:s[0]||=e=>X.value=!0},n(t.$t(`dcw.k11nndsp051`))+` `+n(g(T).templates.length),1)])]),R.value?(r(),u(`p`,ue,n(R.value),1)):f(``,!0),l(`div`,de,[l(`div`,fe,[l(`button`,{class:i({on:O.value===`all`}),onClick:s[1]||=e=>O.value=`all`},n(t.$t(`common.all`))+` `+n(E.value.length),3),l(`button`,{class:i({on:O.value===`running`}),onClick:s[2]||=e=>O.value=`running`},n(t.$t(`dcw.k1eox1el055`))+` `+n(A.value),3),l(`button`,{class:i({on:O.value===`idle`}),onClick:s[3]||=e=>O.value=`idle`},n(t.$t(`dcw.k149r6y7059`))+` `+n(E.value.length-A.value),3)]),p(l(`input`,{"onUpdate:modelValue":s[4]||=e=>k.value=e,class:`inp fleet-search`,type:`search`,placeholder:t.$t(`dcw.filterSearchPh`)},null,8,pe),[[b,k.value]])]),l(`div`,me,[(r(!0),u(d,null,a(j.value,f=>(r(),u(`div`,{key:f.line.id,class:i([`line-card aw-liftable`,{idle:!g(T).lineStateOf(f.line.id).active}]),style:e({"--lc":f.line.color})},[l(`div`,he,[s[30]||=l(`span`,{class:`lc-dot`},null,-1),l(`b`,ge,n(f.line.name),1),l(`span`,{class:i([`lc-state`,{on:g(T).lineStateOf(f.line.id).active}])},n(g(T).lineStateOf(f.line.id).active?t.$t(`dcw.k1eox1el055`):t.$t(`dcw.k149r6y7059`)),3),l(`button`,{class:`lc-act`,title:t.$t(`common.edit`),onClick:e=>Ht(f)},[...s[28]||=[l(`span`,{class:`i-tabler-pencil`},null,-1)]],8,_e),l(`button`,{class:`lc-act danger`,title:t.$t(`dcw.k3xakp026`),onClick:e=>Bt(f)},[...s[29]||=[l(`span`,{class:`i-tabler-trash`},null,-1)]],8,ve)]),g(T).lineStateOf(f.line.id).active?(r(),u(`small`,ye,n(g(T).lineStateOf(f.line.id).productName)+` · `+n(g(T).lineStateOf(f.line.id).recipeName)+` · `+n(t.$t(`dcw.k3zz0f052`))+` `+n(g(T).lineStateOf(f.line.id).taggedSamples),1)):(r(),u(`small`,{key:1,class:i([`lc-run dim`,{ph:!f.line.description}])},n(f.line.description||t.$t(`dcw.k18moyq1056`)),3)),l(`div`,be,[l(`span`,null,[_(n(t.$t(`dcw.k45uio011`))+` `,1),l(`b`,null,n(f.nodes),1)]),l(`span`,null,[_(n(t.$t(`dcw.k3waz1012`))+` `,1),l(`b`,null,n(f.products),1)]),l(`span`,null,[_(n(t.$t(`dcw.k48grv013`))+` `,1),l(`b`,null,n(f.recipes),1)])]),l(`div`,xe,[g(T).lineStateOf(f.line.id).active?(r(),u(`button`,{key:1,class:`pill-btn stop`,disabled:L.value===f.line.id,onClick:e=>zt(f)},n(t.$t(`dcw.k148rclf015`)),9,Ee)):(r(),u(d,{key:0},[p(l(`select`,{"onUpdate:modelValue":e=>z[f.line.id]=e,class:`inp`,disabled:B(f.line.id).length===0,title:t.$t(`dcw.k1dhaby4003`)},[l(`option`,Ce,n(B(f.line.id).length?t.$t(`dcw.kutxzsz057`):t.$t(`dcw.k1elczt9060`)),1),(r(!0),u(d,null,a(B(f.line.id),e=>(r(),u(`option`,{key:e.id,value:e.id,disabled:e.params.length===0},n(e.name)+`(`+n(e.params.length)+`) `,9,we))),128))],8,Se),[[v,z[f.line.id]]]),l(`button`,{class:`pill-btn`,disabled:L.value===f.line.id||!z[f.line.id],onClick:e=>Rt(f)},n(t.$t(`dcw.k149b4vg014`)),9,Te)],64))]),o(c,{class:`lc-manage`,to:`/dcw/${f.line.id}`},{default:h(()=>[_(n(t.$t(`dcw.k1fwqw5g016`)),1)]),_:1},8,[`to`])],6))),128)),l(`button`,{class:`line-card new-card`,onClick:It},[s[31]||=l(`span`,{class:`i-tabler-plus`},null,-1),_(` `+n(t.$t(`dcw.k1efe391017`))+` `,1),l(`small`,null,n(t.$t(`dcw.k19dlbli053`)),1)])]),g(T).loaded&&g(T).lines.length===0?(r(),u(`p`,De,n(t.$t(`dcw.k1sk85vs018`)),1)):g(T).loaded&&j.value.length===0?(r(),u(`p`,Oe,n(t.$t(`dcw.filterEmpty`)),1)):f(``,!0),o(x,{name:`modal`},{default:h(()=>[M.value?(r(),u(`div`,{key:0,class:`modal-mask`,onClick:s[8]||=y(e=>M.value=!1,[`self`])},[l(`div`,ke,[l(`h3`,Ae,n(t.$t(`dcw.k1efe391017`)),1),l(`label`,je,[l(`span`,null,[_(n(t.$t(`dcw.k1b2ioko019`)),1),s[32]||=l(`em`,null,`*`,-1)]),p(l(`input`,{"onUpdate:modelValue":s[5]||=e=>F.name=e,class:`inp`,placeholder:t.$t(`dcw.kru37i3004`)},null,8,Me),[[b,F.name]])]),l(`label`,Ne,[l(`span`,null,n(t.$t(`dcw.k24dxcd020`)),1),p(l(`input`,{"onUpdate:modelValue":s[6]||=e=>F.description=e,class:`inp`,placeholder:t.$t(`dcw.k1f2nwsp005`)},null,8,Pe),[[b,F.description]])]),l(`div`,Fe,[l(`span`,null,n(t.$t(`dcw.k1x7nubr021`)),1),l(`div`,Ie,[(r(!0),u(d,null,a(g(w),t=>(r(),u(`button`,{key:t,class:i([`color-dot`,{on:F.color===t}]),style:e({background:t}),onClick:e=>F.color=F.color===t?``:t},null,14,Le))),128)),l(`small`,Re,n(F.color||t.$t(`dcw.k1qidbpy061`,{p0:I.value})),1)])]),P.value?(r(),u(`p`,ze,n(P.value),1)):f(``,!0),l(`div`,Be,[l(`button`,{class:`mini-btn`,onClick:s[7]||=e=>M.value=!1},n(t.$t(`dcw.k3xdnn022`)),1),l(`button`,{class:`pill-btn`,disabled:N.value||!F.name.trim(),onClick:Lt},n(t.$t(`dcw.k3wzi2023`)),9,Ve)])])])):f(``,!0)]),_:1}),o(x,{name:`modal`},{default:h(()=>[K.value?(r(),u(`div`,{key:0,class:`modal-mask`,onClick:s[12]||=y(e=>K.value=!1,[`self`])},[l(`div`,He,[l(`h3`,Ue,n(t.$t(`dcw.k5tq8wc071`)),1),l(`label`,We,[l(`span`,null,[_(n(t.$t(`dcw.k1b2ioko019`)),1),s[33]||=l(`em`,null,`*`,-1)]),p(l(`input`,{"onUpdate:modelValue":s[9]||=e=>Y.name=e,class:`inp`,placeholder:t.$t(`dcw.kru37i3004`)},null,8,Ge),[[b,Y.name]])]),l(`label`,Ke,[l(`span`,null,n(t.$t(`dcw.k24dxcd020`)),1),p(l(`input`,{"onUpdate:modelValue":s[10]||=e=>Y.description=e,class:`inp`,placeholder:t.$t(`dcw.k1f2nwsp005`)},null,8,qe),[[b,Y.description]])]),l(`div`,Je,[l(`span`,null,n(t.$t(`dcw.k1x7nubr021`)),1),l(`div`,Ye,[(r(!0),u(d,null,a(g(w),t=>(r(),u(`button`,{key:t,class:i([`color-dot`,{on:Y.color===t}]),style:e({background:t}),onClick:e=>Y.color=Y.color===t?``:t},null,14,Xe))),128)),l(`small`,Ze,n(Y.color||t.$t(`dcw.k1qidbpy061`,{p0:I.value})),1)])]),J.value?(r(),u(`p`,Qe,n(J.value),1)):f(``,!0),l(`div`,$e,[l(`button`,{class:`mini-btn`,onClick:s[11]||=e=>K.value=!1},n(t.$t(`dcw.k3xdnn022`)),1),l(`button`,{class:`pill-btn`,disabled:q.value||!Y.name.trim(),onClick:Ut},n(t.$t(`common.save`)),9,et)])])])):f(``,!0)]),_:1}),o(x,{name:`modal`},{default:h(()=>[V.value&&G.value?(r(),u(`div`,{key:0,class:`modal-mask`,onClick:s[15]||=y(e=>V.value=!1,[`self`])},[l(`div`,tt,[l(`h3`,nt,[s[34]||=l(`span`,{class:`i-tabler-alert-triangle`},null,-1),_(` `+n(t.$t(`dcw.k7xq2mfd063`,{p0:G.value.line.name})),1)]),l(`p`,rt,n(W.value?t.$t(`dcw.k4r7nbd073`,{p0:G.value.line.name,p1:G.value.nodes,p2:G.value.products,p3:G.value.recipes}):t.$t(`dcw.k1gp649b062`,{p0:G.value.line.name,p1:G.value.nodes,p2:G.value.products,p3:G.value.recipes})),1),l(`label`,it,[p(l(`input`,{"onUpdate:modelValue":s[13]||=e=>W.value=e,type:`checkbox`},null,512),[[ee,W.value]]),l(`span`,null,n(t.$t(`dcw.k9m2vxa072`)),1)]),U.value?(r(),u(`p`,at,n(U.value),1)):f(``,!0),l(`div`,ot,[l(`button`,{class:`mini-btn`,onClick:s[14]||=e=>V.value=!1},n(t.$t(`dcw.k3xdnn022`)),1),l(`button`,{class:`pill-btn danger`,disabled:H.value,onClick:Vt},n(t.$t(`dcw.k3xakp026`)),9,st)])])])):f(``,!0)]),_:1}),o(x,{name:`modal`},{default:h(()=>[X.value?(r(),u(`div`,{key:0,class:`modal-mask`,onClick:s[26]||=y(e=>X.value=!1,[`self`])},[l(`div`,ct,[l(`h3`,lt,[_(n(t.$t(`dcw.k11oadmx024`))+` `,1),l(`small`,ut,n(t.$t(`dcw.k3x23c054`))+` `+n($.value)+` · `+n(t.$t(`dcw.k3t616a058`))+` `+n(g(T).templates.length-$.value),1)]),l(`p`,dt,n(t.$t(`dcw.k2hlav5025`)),1),l(`div`,ft,[(r(!0),u(d,null,a(g(T).templates,e=>(r(),u(`div`,{key:e.key,class:`tpl-row`,title:e.semantics??``},[l(`b`,null,n(e.name),1),l(`small`,mt,n(e.code)+` · `+n(e.min)+`~`+n(e.max)+` `+n(e.unit),1),e.semantics?(r(),u(`small`,ht,n(e.semantics.slice(0,40))+n(e.semantics.length>40?`…`:``),1)):f(``,!0),l(`span`,{class:i([`tpl-tag`,{builtin:e.builtin}])},n(e.builtin?t.$t(`dcw.k3x23c054`):t.$t(`dcw.k3t616a058`)),3),e.builtin?f(``,!0):(r(),u(`button`,{key:1,class:`mini-btn danger`,onClick:t=>Kt(e.key)},n(t.$t(`dcw.k3xakp026`)),9,gt))],8,pt))),128))]),l(`p`,_t,n(t.$t(`dcw.k169eb4s027`)),1),l(`div`,vt,[l(`label`,yt,[l(`span`,null,[_(n(t.$t(`dcw.k3xhia028`)),1),s[35]||=l(`em`,null,`*`,-1)]),p(l(`input`,{"onUpdate:modelValue":s[16]||=e=>Q.name=e,class:`inp`,placeholder:t.$t(`dcw.k1tooi3o006`)},null,8,bt),[[b,Q.name]])]),l(`label`,xt,[l(`span`,null,n(t.$t(`dcw.k1bqk219029`)),1),p(l(`input`,{"onUpdate:modelValue":s[17]||=e=>Q.ch=e,class:`inp`,placeholder:t.$t(`dcw.k698qz0007`)},null,8,St),[[b,Q.ch]])]),l(`label`,Ct,[l(`span`,null,n(t.$t(`dcw.k1ayxrqb030`)),1),p(l(`input`,{"onUpdate:modelValue":s[18]||=e=>Q.code=e,class:`inp`,placeholder:`如 MOTOR · I`},null,512),[[b,Q.code]])]),l(`label`,wt,[l(`span`,null,n(t.$t(`dcw.k3x4ef031`)),1),p(l(`input`,{"onUpdate:modelValue":s[19]||=e=>Q.unit=e,class:`inp`,placeholder:`如 A`},null,512),[[b,Q.unit]])]),l(`label`,Tt,[l(`span`,null,[_(n(t.$t(`dcw.k1l9jv5m032`)),1),s[36]||=l(`em`,null,`*`,-1)]),p(l(`input`,{"onUpdate:modelValue":s[20]||=e=>Q.min=e,type:`number`,class:`inp`},null,512),[[b,Q.min,void 0,{number:!0}]])]),l(`label`,Et,[l(`span`,null,[_(n(t.$t(`dcw.k1l9jv4p033`)),1),s[37]||=l(`em`,null,`*`,-1)]),p(l(`input`,{"onUpdate:modelValue":s[21]||=e=>Q.max=e,type:`number`,class:`inp`},null,512),[[b,Q.max,void 0,{number:!0}]])]),l(`label`,Dt,[l(`span`,null,n(t.$t(`dcw.k3mxmcx034`)),1),p(l(`input`,{"onUpdate:modelValue":s[22]||=e=>Q.decimals=e,type:`number`,class:`inp`},null,512),[[b,Q.decimals,void 0,{number:!0}]])]),l(`label`,Ot,[l(`span`,null,n(t.$t(`dcw.k3xx56035`)),1),p(l(`select`,{"onUpdate:modelValue":s[23]||=e=>Q.icon=e,class:`inp`},[(r(),u(d,null,a(Wt,e=>l(`option`,{key:e.key,value:e.key},n(e.label),9,kt)),64))],512),[[v,Q.icon]])])]),l(`label`,At,[l(`span`,null,n(t.$t(`dcw.k1b6qorg036`)),1),p(l(`textarea`,{"onUpdate:modelValue":s[24]||=e=>Q.semantics=e,class:`inp`,rows:`3`,placeholder:t.$t(`dcw.k1qdnfzc008`)},null,8,jt),[[b,Q.semantics]])]),Z.value?(r(),u(`p`,Mt,n(Z.value),1)):f(``,!0),l(`div`,Nt,[l(`button`,{class:`mini-btn`,onClick:s[25]||=e=>X.value=!1},n(t.$t(`dcw.k3x62t037`)),1),l(`button`,{class:`pill-btn`,disabled:!Q.name.trim()||Q.min===``||Q.max===``,onClick:Gt},n(t.$t(`dcw.k1bg9nga038`)),9,Pt)])])])):f(``,!0)]),_:1}),g(T).error?(r(),u(`p`,Ft,n(g(T).error),1)):f(``,!0)])}}}),[[`__scopeId`,`data-v-7ef81432`]]);export{T as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{dt as e}from"./CSkxz2NX.js";import{t}from"./36oeS8_R.js";import{t as n}from"./D0ZBQrN_2.js";import{t as r}from"./BDmh31hl.js";var i=[{key:`temp-sp`,name:`温度设定器`,code:`TEMP · SP`,ch:`烘箱温度设定`,unit:`℃`,min:150,max:200,decimals:1,icon:`thermo`,semantics:`烘箱/熔体温度设定:升高使热塑温度上升(成膜更均匀但能耗高、过热降解风险),降低则偏冷易厚度不均。调整后需等待热惯性(数十秒级)再评估效果。`},{key:`speed-sp`,name:`速度设定器`,code:`LINE · SP`,ch:`产线速度设定`,unit:`m/min`,min:280,max:360,decimals:0,icon:`encoder`,semantics:`产线速度设定:升速提高产能但缩短物料受热时间(温度补偿需联动),降速利于精细工艺。速度变化会同步影响张力与厚度分布。`},{key:`tension-sp`,name:`张力设定器`,code:`TENSION · SP`,ch:`膜张力设定`,unit:`kN`,min:18,max:26,decimals:1,icon:`tension`,semantics:`膜张力设定:张力过大易断膜/拉伸变形,过小则跑偏起皱。调整需平缓,并与速度联动观察。`},{key:`pressure-sp`,name:`压力设定器`,code:`PRESSURE · SP`,ch:`熔体压力设定`,unit:`MPa`,min:.6,max:1.2,decimals:2,icon:`pressure`,semantics:`熔体压力设定:反映挤出/泵送负荷,压力偏高提示阻力大或温度偏低,偏低可能是料位不足。调整需小幅步进。`}],a=[{kind:`mock`,label:`Mock 模拟 PLC`,status:`builtin`,configFields:[]},{kind:`modbus-tcp`,label:`Modbus TCP(PLC/网关 写保持寄存器)`,status:`real`,configFields:[{key:`host`,label:`设备地址(host)`,type:`string`,required:!0,placeholder:`192.168.1.10`,hint:`PLC 或 Modbus 网关 IP`},{key:`port`,label:`端口`,type:`number`,default:502,hint:`Modbus TCP 标准端口 502`},{key:`unitId`,label:`单元号(unitId)`,type:`number`,default:1,hint:`从站地址,常见 1`},{key:`register`,label:`写寄存器地址`,type:`number`,required:!0,placeholder:`40021`,hint:`4xxxx=保持寄存器(写);回读同址校验`},{key:`dataType`,label:`数据类型`,type:`select`,default:`float32`,options:[{value:`int16`,label:`int16(1 寄存器)`},{value:`uint16`,label:`uint16(1 寄存器)`},{value:`int32`,label:`int32(2 寄存器)`},{value:`uint32`,label:`uint32(2 寄存器)`},{value:`float32`,label:`float32(2 寄存器,常用)`}]},{key:`byteOrder`,label:`字节序`,type:`select`,default:`big`,options:[{value:`big`,label:`大端(AB CD)`},{value:`little`,label:`小端(CD AB)`},{value:`wordSwap`,label:`字交换(CD AB / 交换单字)`}]},{key:`engMin`,label:`工程量程下限`,type:`number`,hint:`线性换算:eng ∈ [engMin, engMax] ↔ raw ∈ [rawMin, rawMax];float32 且未填原始量程时 raw=eng`},{key:`engMax`,label:`工程量程上限`,type:`number`},{key:`rawMin`,label:`原始值下限`,type:`number`,hint:`如 int16 用 0~2000 表示 0.1 分辨率`},{key:`rawMax`,label:`原始值上限`,type:`number`}]},{kind:`opcua`,label:`OPC UA(PLC/MES 写节点值)`,status:`real`,configFields:[{key:`endpoint`,label:`端点(endpoint)`,type:`string`,required:!0,placeholder:`opc.tcp://192.168.1.10:4840`,hint:`OPC UA 服务器地址`},{key:`nodeId`,label:`节点 ID(NodeId)`,type:`string`,required:!0,placeholder:`ns=2;s=Channel1.Device1.SetTemp`,hint:`要写入的变量节点`},{key:`securityMode`,label:`安全策略`,type:`select`,default:`None`,options:[{value:`None`,label:`None(无加密,内网常用)`},{value:`Sign`,label:`Sign(签名)`},{value:`SignAndEncrypt`,label:`SignAndEncrypt(签名+加密)`}]},{key:`username`,label:`用户名(可选)`,type:`string`},{key:`password`,label:`密码(可选)`,type:`string`}]},{kind:`modbus-rtu`,label:`Modbus RTU over TCP(串口网关 写保持寄存器)`,status:`real`,configFields:[{key:`host`,label:`网关地址(host)`,type:`string`,required:!0,placeholder:`192.168.1.50`,hint:`串口服务器/RTU 转 TCP 网关 IP`},{key:`port`,label:`端口`,type:`number`,default:502,hint:`网关透传端口(常见 502 / 8899 / 26)`},{key:`unitId`,label:`从站地址(unitId)`,type:`number`,default:1,hint:`RS-485 总线上的从站地址`},{key:`register`,label:`写寄存器地址`,type:`number`,required:!0,placeholder:`40021`,hint:`4xxxx=保持寄存器(写);回读同址校验`},{key:`dataType`,label:`数据类型`,type:`select`,default:`float32`,options:[{value:`int16`,label:`int16(1 寄存器)`},{value:`uint16`,label:`uint16(1 寄存器)`},{value:`int32`,label:`int32(2 寄存器)`},{value:`uint32`,label:`uint32(2 寄存器)`},{value:`float32`,label:`float32(2 寄存器,常用)`}]},{key:`byteOrder`,label:`字节序`,type:`select`,default:`big`,options:[{value:`big`,label:`大端(AB CD)`},{value:`little`,label:`小端(CD AB)`},{value:`wordSwap`,label:`字交换(CD AB / 交换单字)`}]},{key:`engMin`,label:`工程量程下限`,type:`number`,hint:`线性换算:eng ∈ [engMin, engMax] ↔ raw ∈ [rawMin, rawMax];float32 且未填原始量程时 raw=eng`},{key:`engMax`,label:`工程量程上限`,type:`number`},{key:`rawMin`,label:`原始值下限`,type:`number`},{key:`rawMax`,label:`原始值上限`,type:`number`}]},{kind:`mqtt`,label:`MQTT(发布设定值到 Broker)`,status:`real`,configFields:[{key:`host`,label:`Broker 地址(host)`,type:`string`,required:!0,placeholder:`192.168.1.20`,hint:`MQTT Broker 地址(与边缘网关约定同一 Broker)`},{key:`port`,label:`端口`,type:`number`,default:1883,hint:`MQTT TCP 端口 1883`},{key:`topic`,label:`下发主题(topic)`,type:`string`,required:!0,placeholder:`factory/line1/setpoint`,hint:`网关订阅的控制主题(勿与采集主题相同)`},{key:`jsonKey`,label:`JSON 键(可选)`,type:`string`,placeholder:`setpoint`,hint:`留空 = 纯数字报文;填写 = {"键":值} JSON 报文`},{key:`qos`,label:`QoS`,type:`number`,default:1,hint:`0=至多一次 1=至少一次(推荐)`},{key:`username`,label:`用户名(可选)`,type:`string`},{key:`password`,label:`密码(可选)`,type:`string`}]},{kind:`http`,label:`HTTP/REST(POST 设定值)`,status:`real`,configFields:[{key:`url`,label:`写接口地址(URL)`,type:`string`,required:!0,placeholder:`http://192.168.1.30/api/setpoint`,hint:`接收设定值的 HTTP 接口(POST JSON)`},{key:`bodyKey`,label:`JSON 键(可选)`,type:`string`,placeholder:`setpoint`,hint:`留空 = {"value": 设定值};填写 = {"键": 设定值}`},{key:`headersJSON`,label:`请求头(可选)`,type:`string`,placeholder:`{"Authorization":"Bearer xxx"}`,hint:`JSON 对象形式的 HTTP 头`}]}],o=[`#3aa0ff`,`#f4c542`,`#35e0a0`,`#41c8f4`,`#b58cff`,`#ff8a5c`],s=(e,t)=>r({base:`/api/workshop/dcw`,path:e,init:t,retries:(t?.method??`GET`).toUpperCase()===`GET`?2:0});function c(){let r=e([]),a=new Map,o=e({running:!0,nodesTotal:0,nodesOnline:0,writesTotal:0,writesFailed:0}),c=e(i.map(e=>({...e}))),l=e([]),u=e([]),d=e([]),f=e([]),p=e([]),m=e({}),h=e([]);function g(e){let t=r.findIndex(t=>t.id===e.id);t>=0?r[t]=Object.assign(r[t],e):(r.push(e),a.set(e.id,r[r.length-1]))}function _(e){if(e.node){if(e.op===`removed`){let t=r.findIndex(t=>t.id===e.node.id);t>=0&&r.splice(t,1),a.delete(e.node.id);return}g(e.node)}}let v=0,y=null;function b(){v++,v===1&&(y=t().subscribe(x));let e=!1;return()=>{e||(e=!0,--v===0&&(y?.(),y=null))}}function x(e){if(e.type===`dcw.written`){let t=e.payload,n=a.get(t.nodeId);n&&(n.value=t.value,n.state=t.ok?`ok`:`error`,n.lastWriteAt=t.at,t.ok&&(n.lastAckAt=t.at)),d.unshift({id:`${t.nodeId}-${t.at}`,nodeId:t.nodeId,nodeName:n?.name??t.nodeId,param:``,eng:t.value,raw:t.raw,ok:t.ok,message:t.message,recipeRunId:t.recipeRunId,at:t.at}),d.length>60&&d.splice(60)}else if(e.type===`dcw.read`){let t=e.payload,n=a.get(t.nodeId);n&&(t.ok&&(n.readValue=t.value),n.lastReadAt=t.at,n.lastReadError=t.ok?null:t.message)}else if(e.type===`dcw.node.changed`)_(e.payload);else if(e.type===`dcw.controller`)Object.assign(o,e.payload);else if(e.type===`dcw.optimization.changed`){let t=e.payload.record,n=h.findIndex(e=>e.id===t.id);n>=0?h[n]=t:h.unshift(t),h.length>200&&(h.length=200)}}async function S(){try{let e=await s(``);r.splice(0,r.length,...e.nodes),a.clear();for(let e of r)a.set(e.id,e);Object.assign(o,e.controller),e.templates?.length&&c.splice(0,c.length,...e.templates.map(e=>({...e}))),l.splice(0,l.length,...e.recipes??[]),u.splice(0,u.length,...e.runs??[]),d.splice(0,d.length,...e.history??[]),f.splice(0,f.length,...e.products??[]),p.splice(0,p.length,...e.lines??[]);for(let e of Object.keys(m))Reflect.deleteProperty(m,e);for(let t of e.lineStates??[])m[t.lineId]=t;C.loaded=!0,C.error=``}catch(e){C.error=n(e)}}let C=e({nodes:r,controller:o,templates:c,recipes:l,runs:u,history:d,products:f,lines:p,lineStates:m,optimizations:h,loaded:!1,error:``,ensureWsFeed:b,load:S,loadOptimizations:async e=>{let t=new URLSearchParams;e?.lineId&&t.set(`lineId`,e.lineId),e?.recipeId&&t.set(`recipeId`,e.recipeId),e?.nodeId&&t.set(`nodeId`,e.nodeId),e?.status&&t.set(`status`,e.status),t.set(`limit`,String(e?.limit??100));let n=await s(`/optimizations?${t.toString()}`);h.splice(0,h.length,...n.records)},fetchLedger:async e=>(await s(`/${e}/param-ledger`)).ledger,optimizationSeries:async(e,t)=>s(`/optimizations/${e}/series${t?`?windowMs=${t}`:``}`),judgeOptimization:async(e,t,n)=>{await s(`/optimizations/${e}/judge`,{method:`POST`,body:JSON.stringify({verdict:t,reason:n})})},rollbackOptimization:async e=>{await s(`/optimizations/${e}/rollback`,{method:`POST`,body:JSON.stringify({})})},rollbackNode:async(e,t)=>{await s(`/journal/node/${e}/rollback`,{method:`POST`,body:JSON.stringify({to:t})})},markGood:async(e,t)=>{await s(`/recipes/${e}/mark-good`,{method:`POST`,body:JSON.stringify({runId:t})})},rollbackRecipeGood:async e=>{await s(`/recipes/${e}/rollback-good`,{method:`POST`,body:JSON.stringify({})})},createFromTemplate:async(e,t)=>{let n=await s(``,{method:`POST`,body:JSON.stringify({templateRef:e,...t})});return g(n.node),n.node},patchNode:async(e,t)=>{await s(`/${e}`,{method:`PATCH`,body:JSON.stringify(t)})},removeNode:async e=>{await s(`/${e}`,{method:`DELETE`});let t=r.findIndex(t=>t.id===e);t>=0&&r.splice(t,1),a.delete(e)},bindNode:async(e,t)=>{g((await s(`/${e}/bind`,{method:`POST`,body:JSON.stringify({deviceId:t})})).node)},write:async(e,t)=>s(`/${e}/write`,{method:`POST`,body:JSON.stringify({value:t})}).then(e=>e.outcome),readNode:async e=>s(`/${e}/read`,{method:`POST`,body:JSON.stringify({})}).then(e=>e.read),testDriver:async(e,t)=>s(`/test-driver`,{method:`POST`,body:JSON.stringify({driver:e,driverConfig:t})}).then(e=>e.test),testNode:async e=>s(`/${e}/test`,{method:`POST`}).then(e=>e.test),startStop:async e=>{let t=await s(`/controller`,{method:`POST`,body:JSON.stringify({action:e})});Object.assign(o,t.controller)},createTemplate:async e=>{let t=await s(`/templates`,{method:`POST`,body:JSON.stringify(e)});return c.push(t.template),t.template},createRecipe:async e=>{let t=await s(`/recipes`,{method:`POST`,body:JSON.stringify(e)});return l.push(t.recipe),t.recipe},updateRecipe:async(e,t)=>{let n=await s(`/recipes/${e}`,{method:`PATCH`,body:JSON.stringify(t)}),r=l.findIndex(t=>t.id===e);return r>=0&&(l[r]=n.recipe),n.recipe},removeRecipe:async e=>{await s(`/recipes/${e}`,{method:`DELETE`});let t=l.findIndex(t=>t.id===e);t>=0&&l.splice(t,1)},applyRecipe:async e=>{let t=await s(`/recipes/${e}/apply`,{method:`POST`});return u.push(t.run),t.run},recipeVersions:async e=>(await s(`/recipes/${e}/versions`)).versions??[],revertRecipe:async(e,t)=>{let n=await s(`/recipes/${e}/revert`,{method:`POST`,body:JSON.stringify(t)}),r=l.findIndex(t=>t.id===e);return r>=0&&(l[r]=n.recipe),n.recipe},closeRun:async e=>{let t=await s(`/runs/${e}/close`,{method:`POST`}),n=u.findIndex(t=>t.id===e);return n>=0&&(u[n]=t.run),t.run},runData:e=>s(`/runs/${e}/data`),nodeById:e=>a.get(e)??r.find(t=>t.id===e),createProduct:async e=>{let t=await s(`/products`,{method:`POST`,body:JSON.stringify(e)});return f.push(t.product),t.product},updateProduct:async(e,t)=>s(`/products/${e}`,{method:`PATCH`,body:JSON.stringify(t)}).then(e=>(w(),e.product)),removeProduct:async e=>{await s(`/products/${e}`,{method:`DELETE`});let t=f.findIndex(t=>t.id===e);t>=0&&f.splice(t,1)},createLine:async e=>{let t=await s(`/lines`,{method:`POST`,body:JSON.stringify(e)});return p.push(t.line),t.line},updateLine:async(e,t)=>{let n=await s(`/lines/${e}`,{method:`PATCH`,body:JSON.stringify(t)}),r=p.findIndex(t=>t.id===e);r>=0&&(p[r]=n.line)},removeLine:async(e,t=!1)=>{await s(`/lines/${e}${t?`?purge=1`:``}`,{method:`DELETE`});let n=p.findIndex(t=>t.id===e);n>=0&&p.splice(n,1),Reflect.deleteProperty(m,e),await S()},startLine:async(e,t)=>{let n=await s(`/lines/${e}/start`,{method:`POST`,body:JSON.stringify({recipeId:t})});m[e]=n.line},stopLine:async e=>{let t=await s(`/lines/${e}/stop`,{method:`POST`});m[e]=t.line},lineStateOf:e=>m[e]??{lineId:e,active:!1,runId:null,recipeId:null,recipeName:null,productId:null,productName:null,startedAt:null,taggedSamples:0},queryLine:e=>{let t=new URLSearchParams;return e.lineId&&t.set(`lineId`,e.lineId),e.productId&&t.set(`productId`,e.productId),e.recipeId&&t.set(`recipeId`,e.recipeId),e.paramKey&&t.set(`paramKey`,e.paramKey),e.nodeId&&t.set(`nodeId`,e.nodeId),e.fromMs!=null&&t.set(`from`,String(e.fromMs)),e.toMs!=null&&t.set(`to`,String(e.toMs)),e.bucketMs!=null&&t.set(`bucketMs`,String(e.bucketMs)),e.limit!=null&&t.set(`limit`,String(e.limit)),s(`/line/query?${t.toString()}`)}});async function w(){try{let e=await s(``);f.splice(0,f.length,...e.products??[]),l.splice(0,l.length,...e.recipes??[])}catch{}}return C}var l=`__dcwStream`;function u(){let e=globalThis;return e[l]||(e[l]=c()),e[l]}export{a as n,o as r,u as t};
|