agentworkshop 0.7.9 → 0.7.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{BUPj10t4.js → 6vYobj4F.js} +1 -1
- package/.output/public/_nuxt/{BCJFMBQ6.js → B-xskWta.js} +1 -1
- package/.output/public/_nuxt/{BC8s1Guv.js → B3Psw_sL.js} +1 -1
- package/.output/public/_nuxt/B53Mp7lD.js +1 -0
- package/.output/public/_nuxt/{BDASpD_i.js → BBwMH_hG.js} +1 -1
- package/.output/public/_nuxt/BNXfwXpE.js +1 -0
- package/.output/public/_nuxt/BbZAzXjZ2.js +1 -0
- package/.output/public/_nuxt/{CFn4vHwD.js → Bc3PiGGr.js} +1 -1
- package/.output/public/_nuxt/BcrN7QEl2.js +1 -0
- package/.output/public/_nuxt/BgOhoDTI.js +1 -0
- package/.output/public/_nuxt/Bmpvki7M.js +1 -0
- package/.output/public/_nuxt/BxPPAkGA.js +3 -0
- package/.output/public/_nuxt/{u7KWCGSb.js → BxtpDtzC.js} +1 -1
- package/.output/public/_nuxt/{DxrgFxIr2.js → C4OAdbVK2.js} +1 -1
- package/.output/public/_nuxt/C6m-kenn.js +1 -0
- package/.output/public/_nuxt/CcwJ2mrD2.js +1 -0
- package/.output/public/_nuxt/Cj6139IM.js +1 -0
- package/.output/public/_nuxt/{6PZPfFcO.js → Cor9siSf.js} +1 -1
- package/.output/public/_nuxt/CvYfzHYz.js +1 -0
- package/.output/public/_nuxt/D2JyEL28.js +14 -0
- package/.output/public/_nuxt/{DDdEnkdw.js → D8xY-Yjc.js} +2 -2
- package/.output/public/_nuxt/{Ct68Z0232.js → DA4lxCWC2.js} +1 -1
- package/.output/public/_nuxt/{MyA0Oeqd.js → DNxVTfhe.js} +1 -1
- package/.output/public/_nuxt/DT-Wg8r1.js +1 -0
- package/.output/public/_nuxt/DTYBfjRY.js +1 -0
- package/.output/public/_nuxt/{DvgKXPgu2.js → DWcEk1ur2.js} +1 -1
- package/.output/public/_nuxt/DaE5saZg.js +1 -0
- package/.output/public/_nuxt/Dhqra7NB.js +1 -0
- package/.output/public/_nuxt/DlRO_q5L.js +1 -0
- package/.output/public/_nuxt/{D8EfUxO2.js → Ds8JbqGB.js} +1 -1
- package/.output/public/_nuxt/Dsdy4Ua-.js +1 -0
- package/.output/public/_nuxt/{DN5RuZ8k.js → DyisHHzD.js} +1 -1
- package/.output/public/_nuxt/{91DZTUMJ.js → E88a-JCG.js} +1 -1
- package/.output/public/_nuxt/ORt9oDIy2.js +1 -0
- package/.output/public/_nuxt/{By8BpbKH.js → QoCzfpo2.js} +1 -1
- package/.output/public/_nuxt/RzXYI9FM.js +23 -0
- package/.output/public/_nuxt/{BuktKVqK2.js → arUY5dyq2.js} +2 -2
- package/.output/public/_nuxt/bAFueD6a.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/54e22640-4fd0-4fee-9077-31d4d4bb7969.json +1 -0
- package/.output/public/_nuxt/dcw.rpqpOYQ8.css +1 -0
- package/.output/public/_nuxt/{default.BR3e5fPY.css → default.BbgdTDCk.css} +1 -1
- package/.output/public/_nuxt/{C9cU_Ujd.js → eHYnGew0.js} +1 -1
- package/.output/public/_nuxt/{DM4CNkXz.js → eUGyJdiT.js} +1 -1
- package/.output/public/_nuxt/{entry.5qf6EqfN.css → entry.Bv_GCmPP.css} +1 -1
- package/.output/public/_nuxt/hb_ceMJP.js +1 -0
- package/.output/public/_nuxt/{B1g8pJmr.js → kkEthL84.js} +1 -1
- package/.output/public/_nuxt/logs.BS1sb41K.css +1 -0
- package/.output/public/_nuxt/pages.BkE-AfIb.css +1 -0
- package/.output/public/_nuxt/permissions.DTRtZeTw.css +1 -0
- package/.output/public/_nuxt/plugins.BcSEwwGb.css +1 -0
- package/.output/public/_nuxt/settings.BqMF2nfj.css +1 -0
- package/.output/public/_nuxt/tokens.rW1xHxRW.css +1 -0
- package/.output/public/_nuxt/workshop.CbymC2LY.css +1 -0
- package/.output/public/_nuxt/zVkqCZ78.js +1 -0
- package/.output/server/chunks/_/LeftOutlined.mjs +1 -1
- package/.output/server/chunks/_/SearchOutlined.mjs +1 -1
- package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
- package/.output/server/chunks/_/host-bindings.mjs +1 -1
- package/.output/server/chunks/_/nitro.mjs +1549 -1228
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
- package/.output/server/chunks/build/Col-biaNnEPf.mjs +1 -1
- package/.output/server/chunks/build/{OmpTerminalPanel-COphA1br.mjs → OmpTerminalPanel-Ban3yJZ4.mjs} +4 -5
- package/.output/server/chunks/build/OmpTerminalPanel-Ban3yJZ4.mjs.map +1 -0
- package/.output/server/chunks/build/{TownView-D8DSdO3H.mjs → TownView-CunmEMzS.mjs} +8 -9
- package/.output/server/chunks/build/{TownView-D8DSdO3H.mjs.map → TownView-CunmEMzS.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-BV4FfiYd.mjs → _id_-CVnMdSeG.mjs} +7 -7
- package/.output/server/chunks/build/{_id_-BV4FfiYd.mjs.map → _id_-CVnMdSeG.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-TP9hvnBM.mjs → _id_-D265Wh_k.mjs} +7 -7
- package/.output/server/chunks/build/{_id_-TP9hvnBM.mjs.map → _id_-D265Wh_k.mjs.map} +1 -1
- package/.output/server/chunks/build/{_wsId_-Mm9sQSz2.mjs → _wsId_-eNJmBp05.mjs} +17 -17
- package/.output/server/chunks/build/{_wsId_-Mm9sQSz2.mjs.map → _wsId_-eNJmBp05.mjs.map} +1 -1
- package/.output/server/chunks/build/{agents-To3a5xcZ.mjs → agents-B10wmFri.mjs} +9 -9
- package/.output/server/chunks/build/{agents-To3a5xcZ.mjs.map → agents-B10wmFri.mjs.map} +1 -1
- package/.output/server/chunks/build/alert-qJnjyRcP.mjs +1 -1
- package/.output/server/chunks/build/api-error-dul30BYQ.mjs +1 -1
- package/.output/server/chunks/build/button-DEcZFcqN.mjs +2 -2
- package/.output/server/chunks/build/{card-Dipvaykh.mjs → card-CCPQoKlh.mjs} +4 -4
- package/.output/server/chunks/build/{card-Dipvaykh.mjs.map → card-CCPQoKlh.mjs.map} +1 -1
- package/.output/server/chunks/build/{channel-templates-DRsP-qxl.mjs → channel-templates-CpWxVk5A.mjs} +7 -7
- package/.output/server/chunks/build/{channel-templates-DRsP-qxl.mjs.map → channel-templates-CpWxVk5A.mjs.map} +1 -1
- package/.output/server/chunks/build/{checkbox-dzcpU_Cd.mjs → checkbox-Dv1kjaUZ.mjs} +3 -3
- package/.output/server/chunks/build/{checkbox-dzcpU_Cd.mjs.map → checkbox-Dv1kjaUZ.mjs.map} +1 -1
- package/.output/server/chunks/build/client-only-D5BzSQc6.mjs +1 -1
- package/.output/server/chunks/build/{daq-_hCEaYLd.mjs → daq-DxaXk_8N.mjs} +9 -10
- package/.output/server/chunks/build/daq-DxaXk_8N.mjs.map +1 -0
- package/.output/server/chunks/build/{dcw-C7pJ4Y0p.mjs → dcw-B0dtiHFG.mjs} +47 -47
- package/.output/server/chunks/build/dcw-B0dtiHFG.mjs.map +1 -0
- package/.output/server/chunks/build/{default-Dnjs36e8.mjs → default-DdV642BY.mjs} +41 -13
- package/.output/server/chunks/build/{default-Dnjs36e8.mjs.map → default-DdV642BY.mjs.map} +1 -1
- package/.output/server/chunks/build/drawer-Cmh90erI.mjs +1 -1
- package/.output/server/chunks/build/dropdown-vhn1NPFs.mjs +2 -2
- package/.output/server/chunks/build/hasIn-vQ9LWt-J.mjs +554 -0
- package/.output/server/chunks/build/hasIn-vQ9LWt-J.mjs.map +1 -0
- package/.output/server/chunks/build/initDefaultProps-DIbWwP4R.mjs +1 -1
- package/.output/server/chunks/build/{input-sf_BT6o6.mjs → input-DxDqeyQW.mjs} +5 -553
- package/.output/server/chunks/build/input-DxDqeyQW.mjs.map +1 -0
- package/.output/server/chunks/build/{input-number-Bd55elNN.mjs → input-number-CZ3ZrCsy.mjs} +3 -3
- package/.output/server/chunks/build/{input-number-Bd55elNN.mjs.map → input-number-CZ3ZrCsy.mjs.map} +1 -1
- package/.output/server/chunks/build/{logs-C039TFW1.mjs → logs-Crf6f1IC.mjs} +39 -40
- package/.output/server/chunks/build/logs-Crf6f1IC.mjs.map +1 -0
- package/.output/server/chunks/build/menu-WCrlpYVh.mjs +2 -2
- package/.output/server/chunks/build/modal-yvUquPj5.mjs +2 -2
- package/.output/server/chunks/build/{monitor-MIOvsyLa.mjs → monitor-miqq9xHB.mjs} +11 -11
- package/.output/server/chunks/build/{monitor-MIOvsyLa.mjs.map → monitor-miqq9xHB.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-C_VSGSGo.mjs → pages-BmRUbGUi.mjs} +32 -22
- package/.output/server/chunks/build/pages-BmRUbGUi.mjs.map +1 -0
- package/.output/server/chunks/build/permissions-CxEgXic0.mjs +534 -0
- package/.output/server/chunks/build/permissions-CxEgXic0.mjs.map +1 -0
- package/.output/server/chunks/build/{plugins-4FMWkN8d.mjs → plugins-wLIKHcIE.mjs} +19 -20
- package/.output/server/chunks/build/{plugins-4FMWkN8d.mjs.map → plugins-wLIKHcIE.mjs.map} +1 -1
- package/.output/server/chunks/build/popconfirm-CRaHcz5O.mjs +2 -2
- package/.output/server/chunks/build/responsiveObserve-CS0UB6wQ.mjs +1 -1
- package/.output/server/chunks/build/{segmented-DPe9ZzLO.mjs → segmented-ChmQZwz6.mjs} +5 -4
- package/.output/server/chunks/build/{segmented-DPe9ZzLO.mjs.map → segmented-ChmQZwz6.mjs.map} +1 -1
- package/.output/server/chunks/build/select-D-CeE5vY.mjs +1 -1
- package/.output/server/chunks/build/{settings-DA8IkGLo.mjs → settings-BPBll_7K.mjs} +28 -26
- package/.output/server/chunks/build/settings-BPBll_7K.mjs.map +1 -0
- package/.output/server/chunks/build/space-CCBYAkXt.mjs +2 -2
- package/.output/server/chunks/build/spin-HVY81X_L.mjs +1 -1
- package/.output/server/chunks/build/switch-CelRXpcy.mjs +2 -2
- package/.output/server/chunks/build/{table-Cswq-l2r.mjs → table-BtksyDlQ.mjs} +5 -5
- package/.output/server/chunks/build/{table-Cswq-l2r.mjs.map → table-BtksyDlQ.mjs.map} +1 -1
- package/.output/server/chunks/build/{tabs-BM3tAh_J.mjs → tabs-DQv-_-R6.mjs} +3 -3
- package/.output/server/chunks/build/{tabs-BM3tAh_J.mjs.map → tabs-DQv-_-R6.mjs.map} +1 -1
- package/.output/server/chunks/build/{tag-NO9jEqKy.mjs → tag-A0tZ2Ouq.mjs} +4 -4
- package/.output/server/chunks/build/{tag-NO9jEqKy.mjs.map → tag-A0tZ2Ouq.mjs.map} +1 -1
- package/.output/server/chunks/build/{teams-DA1lkf1n.mjs → teams-CNflUtPh.mjs} +7 -7
- package/.output/server/chunks/build/{teams-DA1lkf1n.mjs.map → teams-CNflUtPh.mjs.map} +1 -1
- package/.output/server/chunks/build/{tokens-DKMvvk3e.mjs → tokens-BKLzcdMg.mjs} +53 -84
- package/.output/server/chunks/build/tokens-BKLzcdMg.mjs.map +1 -0
- package/.output/server/chunks/build/town-BUqRobze.mjs +1 -1
- package/.output/server/chunks/build/{town-D0thZ7PK.mjs → town-BbaR-8io.mjs} +9 -10
- package/.output/server/chunks/build/town-BbaR-8io.mjs.map +1 -0
- package/.output/server/chunks/build/{useDaqStream-BVTRw8_H.mjs → useDaqStream-BkmyQT06.mjs} +34 -23
- package/.output/server/chunks/build/useDaqStream-BkmyQT06.mjs.map +1 -0
- package/.output/server/chunks/build/{useDcwStream-DNsivqI_.mjs → useDcwStream-DWVoU96J.mjs} +60 -46
- package/.output/server/chunks/build/useDcwStream-DWVoU96J.mjs.map +1 -0
- package/.output/server/chunks/build/{useDeviceTwins-WeIom7A6.mjs → useDeviceTwins-34WGk9aN.mjs} +2 -2
- package/.output/server/chunks/build/{useDeviceTwins-WeIom7A6.mjs.map → useDeviceTwins-34WGk9aN.mjs.map} +1 -1
- package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs +1 -1
- package/.output/server/chunks/build/{useOpsLog-DcKnPO43.mjs → useOpsLog-C9zTzYof.mjs} +27 -15
- package/.output/server/chunks/build/useOpsLog-C9zTzYof.mjs.map +1 -0
- package/.output/server/chunks/build/useSiteConfig-DJe_KMVr.mjs +1 -1
- package/.output/server/chunks/build/useWorkshopApi-D2gq06N2.mjs +1 -1
- package/.output/server/chunks/build/{useWorkshopWs-B3j5wIAK.mjs → useWorkshopWs-CprkZEdq.mjs} +2 -3
- package/.output/server/chunks/build/useWorkshopWs-CprkZEdq.mjs.map +1 -0
- package/.output/server/chunks/build/{users-CmVvb1oq.mjs → users-D6RNylrW.mjs} +10 -10
- package/.output/server/chunks/build/{users-CmVvb1oq.mjs.map → users-D6RNylrW.mjs.map} +1 -1
- package/.output/server/chunks/build/{workshop-BhWnJMWs.mjs → workshop-CTcYDq2i.mjs} +29 -24
- package/.output/server/chunks/build/{workshop-BhWnJMWs.mjs.map → workshop-CTcYDq2i.mjs.map} +1 -1
- package/.output/server/chunks/build/{workspaces-IfORCDJE.mjs → workspaces-BuydxM-3.mjs} +2 -3
- package/.output/server/chunks/build/workspaces-BuydxM-3.mjs.map +1 -0
- package/.output/server/chunks/routes/api/health.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/mcp/workshop.mjs +1 -1
- package/.output/server/chunks/routes/api/metrics.mjs +1 -1
- package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -1
- package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/config.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/index.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -1
- package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/users/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/login.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/me.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/register.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/setup-status.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/_...path_.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +19 -8
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +3 -3
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +3 -3
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +7 -6
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +5 -4
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +5 -4
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +5 -4
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +5 -4
- package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +5 -2
- package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +3 -2
- package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +7 -6
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +5 -4
- package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +4 -3
- 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 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +4 -4
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +8 -4
- package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +4 -4
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +4 -4
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +7 -3
- package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +3 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +3 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +5 -3
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index.put.mjs +41 -0
- package/.output/server/chunks/routes/api/workshop/index.put.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/index10.get.mjs +4 -3
- package/.output/server/chunks/routes/api/workshop/index10.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index11.get.mjs +27 -0
- package/.output/server/chunks/routes/api/workshop/index11.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs +4 -4
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.get.mjs +5 -4
- package/.output/server/chunks/routes/api/workshop/index4.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index5.get.mjs +18 -11
- package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index7.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.get.mjs +24 -12
- package/.output/server/chunks/routes/api/workshop/index8.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index9.get.mjs +12 -7
- package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +3 -3
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs +3 -3
- package/.output/server/chunks/virtual/entry.mjs +275 -33
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/index.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +15 -0
- package/README.md +20 -0
- package/app/assets/css/main.css +161 -0
- package/app/components/AppSidebar.vue +7 -1
- package/app/components/AwChart.vue +12 -2
- package/app/composables/useRouteMeta.ts +8 -1
- package/app/composables/workshop/apiClient.ts +103 -95
- package/app/composables/workshop/useDaqStream.ts +35 -21
- package/app/composables/workshop/useDcwStream.ts +22 -5
- package/app/composables/workshop/useOpsLog.ts +26 -13
- package/app/composables/workshop/useWorkshopWs.ts +11 -2
- package/app/pages/dcw/index.vue +1079 -1079
- package/app/pages/index.vue +7 -2
- package/app/pages/logs/index.vue +621 -621
- package/app/pages/permissions/index.vue +330 -0
- package/app/pages/plugins/index.vue +6 -3
- package/app/pages/settings.vue +4 -2
- package/app/pages/tokens.vue +9 -13
- package/app/pages/workshop/index.vue +3 -1
- package/app/plugins/http.ts +18 -2
- package/app/plugins/session-restore.client.ts +7 -2
- package/app/stores/workshop/user.ts +14 -1
- package/i18n/locales/en.ts +1944 -1906
- package/i18n/locales/zh-CN.ts +1943 -1905
- package/package.json +1 -1
- package/scripts/_dbg-acc-1-setup.mjs +57 -0
- package/scripts/_dbg-acc-2-diag.mjs +14 -0
- package/scripts/_dbg-acc-2-intervals.mjs +81 -0
- package/scripts/_dbg-acc-3-daq.mjs +48 -0
- package/scripts/_dbg-acc-4-team.mjs +92 -0
- package/scripts/_dbg-acc-5-visual.mjs +63 -0
- package/scripts/_dbg-acc-5b-ws-town.mjs +18 -0
- package/scripts/_dbg-acc-5c-town.mjs +12 -0
- package/scripts/_dbg-acc-6-i18n.mjs +19 -0
- package/scripts/_dbg-audit-neg-e2e.mjs +64 -0
- package/scripts/_dbg-final-features.mjs +155 -0
- package/scripts/_dbg-final-fixups.mjs +62 -0
- package/scripts/_dbg-final-visual.mjs +29 -0
- package/scripts/_dbg-kicker-check.mjs +11 -0
- package/scripts/_dbg-perms-e2e.mjs +102 -0
- package/scripts/_dbg-perms-visual.mjs +36 -0
- package/scripts/_dbg-plugins-e2e.mjs +1 -1
- package/scripts/_dbg-protocol-matrix.mjs +16 -0
- package/scripts/_dbg-swatch-check.mjs +10 -0
- package/scripts/_dbg-ui-shots.mjs +28 -0
- package/sdk/api.mjs +117 -101
- package/sdk/context.mjs +240 -219
- package/sdk/hooks.mjs +105 -103
- package/sdk/index.d.mts +142 -135
- package/sdk/lifecycle.mjs +26 -25
- package/server/api/workshop/agent-tools/bindings/index.post.ts +40 -20
- package/server/api/workshop/daq/[id]/bind.post.ts +5 -2
- package/server/api/workshop/daq/[id]/frames/content.get.ts +4 -1
- package/server/api/workshop/daq/[id]/frames.get.ts +4 -1
- package/server/api/workshop/daq/[id]/samples.get.ts +4 -1
- package/server/api/workshop/daq/[id].patch.ts +3 -0
- package/server/api/workshop/daq/alarms/[id]/ack.post.ts +20 -15
- package/server/api/workshop/daq/controller.post.ts +2 -0
- package/server/api/workshop/daq/index.get.ts +5 -3
- package/server/api/workshop/daq/index.post.ts +2 -2
- package/server/api/workshop/dcw/[id]/bind.post.ts +20 -17
- package/server/api/workshop/dcw/[id]/test.post.ts +18 -15
- package/server/api/workshop/dcw/[id]/write.post.ts +3 -0
- package/server/api/workshop/dcw/index.get.ts +22 -9
- package/server/api/workshop/dcw/line/query.get.ts +38 -31
- package/server/api/workshop/dcw/lines/[id]/start.post.ts +3 -0
- package/server/api/workshop/dcw/lines/[id]/stop.post.ts +3 -0
- package/server/api/workshop/dcw/lines/index.get.ts +8 -2
- package/server/api/workshop/dcw/lines/index.post.ts +2 -2
- package/server/api/workshop/dcw/products/index.post.ts +16 -16
- package/server/api/workshop/dcw/runs/[id]/data.get.ts +20 -15
- package/server/api/workshop/dcw/runs/index.get.ts +13 -11
- package/server/api/workshop/permissions/index.get.ts +30 -0
- package/server/api/workshop/permissions/index.put.ts +29 -0
- package/server/api/workshop/ws.ts +18 -6
- package/server/data/daqs.json +48 -48
- package/server/data/dcw-products.json +21 -0
- package/server/data/dcw-recipes.json +84 -0
- package/server/data/dcw-rollback.json +94 -6
- package/server/data/dcw-runs.json +81 -75
- package/server/data/dcw-writes.json +108 -0
- package/server/data/dcws.json +791 -528
- package/server/data/line-runs.json +8 -8
- package/server/plugins/backup.ts +119 -116
- package/server/repositories/user.repository.ts +86 -6
- package/server/services/user.service.ts +5 -3
- package/server/services/workshop/daq/bus/index.ts +5 -3
- package/server/services/workshop/daq/bus/inproc.adapter.ts +12 -3
- package/server/services/workshop/daq/bus/mqtt.adapter.ts +13 -0
- package/server/services/workshop/daq/bus/queue-port.ts +2 -0
- package/server/services/workshop/daq/daq-controller.ts +18 -1
- package/server/services/workshop/db/ops.repo.ts +6 -0
- package/server/services/workshop/dcw/dcw-controller.ts +10 -2
- package/server/services/workshop/permissions.ts +79 -0
- package/server/services/workshop/plugins/host.mjs +38 -1
- package/server/services/workshop/scene-events.ts +25 -1
- package/shared/config/single-instance.mjs +24 -0
- package/shared/daq-protocol.ts +2 -0
- package/.output/public/_nuxt/B0HpdCKS.js +0 -1
- package/.output/public/_nuxt/B1kA8LhC.js +0 -14
- package/.output/public/_nuxt/B9MUiDFl.js +0 -1
- package/.output/public/_nuxt/B9dLFSYI.js +0 -1
- package/.output/public/_nuxt/BaMkWl5i2.js +0 -1
- package/.output/public/_nuxt/BmHvC_OU.js +0 -1
- package/.output/public/_nuxt/CBciOiTQ.js +0 -1
- package/.output/public/_nuxt/CUMdhxg9.js +0 -1
- package/.output/public/_nuxt/CgvGu2IO.js +0 -1
- package/.output/public/_nuxt/CjDQPXfv.js +0 -1
- package/.output/public/_nuxt/CmHzfVc5.js +0 -3
- package/.output/public/_nuxt/Cn3J3NXR.js +0 -23
- package/.output/public/_nuxt/Cst47G4-.js +0 -1
- package/.output/public/_nuxt/D0Szyn_D.js +0 -1
- package/.output/public/_nuxt/D3VJ3lex.js +0 -1
- package/.output/public/_nuxt/D8wyHvcz2.js +0 -1
- package/.output/public/_nuxt/Dqj2h40U.js +0 -1
- package/.output/public/_nuxt/OV6PBW2z.js +0 -1
- package/.output/public/_nuxt/builds/meta/92d6bd39-dbc5-46d5-90d8-8387f36715fa.json +0 -1
- package/.output/public/_nuxt/dcw.DcDjwvqv.css +0 -1
- package/.output/public/_nuxt/logs.BO-BSyjm.css +0 -1
- package/.output/public/_nuxt/pKv_VWR4.js +0 -1
- package/.output/public/_nuxt/pages.CytEOfUs.css +0 -1
- package/.output/public/_nuxt/plugins.Clsky_kl.css +0 -1
- package/.output/public/_nuxt/settings.DeRNNUcP.css +0 -1
- package/.output/public/_nuxt/tokens.BPLe9ioQ.css +0 -1
- package/.output/public/_nuxt/wirVyscc.js +0 -1
- package/.output/public/_nuxt/workshop.BIdoGfoC.css +0 -1
- package/.output/server/chunks/build/OmpTerminalPanel-COphA1br.mjs.map +0 -1
- package/.output/server/chunks/build/daq-_hCEaYLd.mjs.map +0 -1
- package/.output/server/chunks/build/dcw-C7pJ4Y0p.mjs.map +0 -1
- package/.output/server/chunks/build/input-sf_BT6o6.mjs.map +0 -1
- package/.output/server/chunks/build/logs-C039TFW1.mjs.map +0 -1
- package/.output/server/chunks/build/pages-C_VSGSGo.mjs.map +0 -1
- package/.output/server/chunks/build/settings-DA8IkGLo.mjs.map +0 -1
- package/.output/server/chunks/build/tokens-DKMvvk3e.mjs.map +0 -1
- package/.output/server/chunks/build/town-D0thZ7PK.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqStream-BVTRw8_H.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwStream-DNsivqI_.mjs.map +0 -1
- package/.output/server/chunks/build/useOpsLog-DcKnPO43.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkshopWs-B3j5wIAK.mjs.map +0 -1
- package/.output/server/chunks/build/user-Dk-ytEUV.mjs +0 -140
- package/.output/server/chunks/build/user-Dk-ytEUV.mjs.map +0 -1
- package/.output/server/chunks/build/workspaces-IfORCDJE.mjs.map +0 -1
- /package/.output/public/_nuxt/{CNs_Ozdc2.js → CNs_Ozdc.js} +0 -0
- /package/.output/public/_nuxt/{Cno6kYiO2.js → Cno6kYiO.js} +0 -0
package/.output/nitro.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ft as e}from"./BSCpFtzG.js";import{t}from"./G0qIw7Gq2.js";import{i as n}from"./
|
|
1
|
+
import{ft as e}from"./BSCpFtzG.js";import{t}from"./G0qIw7Gq2.js";import{i as n}from"./C6m-kenn.js";var r=`__deviceTwins`;function i(){let r=[],i=e({twins:r,loaded:!1,error:``,async load(){return i.__loading||=(async()=>{try{let e=await n({base:`/api/workshop/device-twins`,retries:2});i.twins.splice(0,i.twins.length,...e?.twins??[]),i.loaded=!0,i.error=``}catch(e){i.loaded=!1,i.error=t(e)}finally{i.__loading=null}})(),i.__loading},applyRemote(e){let t=i.twins.findIndex(t=>t.id===e.id);t>=0?Object.assign(i.twins[t],e):i.twins.push({...e})},removeRemote(e){let t=i.twins.findIndex(t=>t.id===e);t>=0&&i.twins.splice(t,1)},byId(e){return r.find(t=>t.id===e)},async create(e){let t=await n({base:`/api/workshop/device-twins`,init:{method:`POST`,body:JSON.stringify(e)}});return i.loaded=!1,await i.load(),t.twin},async update(e,t){let r=await n({base:`/api/workshop/device-twins/${e}`,init:{method:`PATCH`,body:JSON.stringify(t)}});return i.loaded=!1,await i.load(),r.twin},async control(e,t,r){let a=await n({base:`/api/workshop/device-twins/${e}/control`,init:{method:`POST`,body:JSON.stringify({command:t,args:r??{}})}});return i.loaded=!1,await i.load(),a.twin},async pushTelemetry(e,t){let r=await n({base:`/api/workshop/device-twins/${e}/telemetry`,init:{method:`POST`,body:JSON.stringify({telemetry:t})}});return i.loaded=!1,await i.load(),r.twin},async remove(e){await n({base:`/api/workshop/device-twins/${e}`,init:{method:`DELETE`}}),i.loaded=!1,await i.load()}});return i}function a(){let e=globalThis;e[r]||(e[r]=i());let t=e[r];return t.load(),t}export{a as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{C as e,M as t,O as n,U as r,a as i,et as a,f as o,gt as s,mt as c,tt as l,x as u}from"./BSCpFtzG.js";import{At as d,B as f,Ct as p,O as m,Q as h,Tt as g,X as _,Y as v,Z as y,d as b,h as x,kt as S,n as C,p as w,t as T,tt as E,u as D}from"./BDUjyaF4.js";import{$ as O,c as k,l as A}from"./DtBu71ev.js";import{t as ee}from"./BfGc7TJp.js";import{I as j,K as te,d as M,i as N,p as P,z as ne}from"./VLI2Zy4t.js";import{p as re}from"./D-Ca4BGY.js";import{
|
|
1
|
+
import{C as e,M as t,O as n,U as r,a as i,et as a,f as o,gt as s,mt as c,tt as l,x as u}from"./BSCpFtzG.js";import{At as d,B as f,Ct as p,O as m,Q as h,Tt as g,X as _,Y as v,Z as y,d as b,h as x,kt as S,n as C,p as w,t as T,tt as E,u as D}from"./BDUjyaF4.js";import{$ as O,c as k,l as A}from"./DtBu71ev.js";import{t as ee}from"./BfGc7TJp.js";import{I as j,K as te,d as M,i as N,p as P,z as ne}from"./VLI2Zy4t.js";import{p as re}from"./D-Ca4BGY.js";import{y as ie}from"./RzXYI9FM.js";var ae=/\s/;function oe(e){for(var t=e.length;t--&&ae.test(e.charAt(t)););return t}var se=/^\s+/;function ce(e){return e&&e.slice(0,oe(e)+1).replace(se,``)}var F=NaN,le=/^[-+]0x[0-9a-f]+$/i,ue=/^0b[01]+$/i,de=/^0o[0-7]+$/i,fe=parseInt;function I(e){if(typeof e==`number`)return e;if(ie(e))return F;if(j(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=j(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=ce(e);var n=ue.test(e);return n||de.test(e)?fe(e.slice(2),n?2:8):le.test(e)?F:+e}var L=function(){return ne.Date.now()},R=`Expected a function`,z=Math.max,B=Math.min;function pe(e,t,n){var r,i,a,o,s,c,l=0,u=!1,d=!1,f=!0;if(typeof e!=`function`)throw TypeError(R);t=I(t)||0,j(n)&&(u=!!n.leading,d=`maxWait`in n,a=d?z(I(n.maxWait)||0,t):a,f=`trailing`in n?!!n.trailing:f);function p(t){var n=r,a=i;return r=i=void 0,l=t,o=e.apply(a,n),o}function m(e){return l=e,s=setTimeout(_,t),u?p(e):o}function h(e){var n=e-c,r=e-l,i=t-n;return d?B(i,a-r):i}function g(e){var n=e-c,r=e-l;return c===void 0||n>=t||n<0||d&&r>=a}function _(){var e=L();if(g(e))return v(e);s=setTimeout(_,h(e))}function v(e){return s=void 0,f&&r?p(e):(r=i=void 0,o)}function y(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function b(){return s===void 0?o:v(L())}function x(){var e=L(),n=g(e);if(r=arguments,i=this,c=e,n){if(s===void 0)return m(c);if(d)return clearTimeout(s),s=setTimeout(_,t),p(c)}return s===void 0&&(s=setTimeout(_,t)),o}return x.cancel=y,x.flush=b,x}var me=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},he={prefixCls:String,name:String,id:String,type:String,defaultChecked:{type:[Boolean,Number],default:void 0},checked:{type:[Boolean,Number],default:void 0},disabled:Boolean,tabindex:{type:[Number,String]},readonly:Boolean,autofocus:Boolean,value:T.any,required:Boolean},V=e({compatConfig:{MODE:3},name:`Checkbox`,inheritAttrs:!1,props:ee(he,{prefixCls:`rc-checkbox`,type:`checkbox`,defaultChecked:!1}),emits:[`click`,`change`],setup(e,t){let{attrs:n,emit:r,expose:i}=t,o=c(e.checked===void 0?e.defaultChecked:e.checked),s=c();a(()=>e.checked,()=>{o.value=e.checked}),i({focus(){var e;(e=s.value)==null||e.focus()},blur(){var e;(e=s.value)==null||e.blur()}});let l=c(),f=t=>{if(e.disabled)return;e.checked===void 0&&(o.value=t.target.checked),t.shiftKey=l.value;let n={target:S(S({},e),{checked:t.target.checked}),stopPropagation(){t.stopPropagation()},preventDefault(){t.preventDefault()},nativeEvent:t};e.checked!==void 0&&(s.value.checked=!!e.checked),r(`change`,n),l.value=!1},m=e=>{r(`click`,e),l.value=e.shiftKey};return()=>{let{prefixCls:t,name:r,id:i,type:a,disabled:c,readonly:l,tabindex:h,autofocus:g,value:_,required:v}=e,y=me(e,[`prefixCls`,`name`,`id`,`type`,`disabled`,`readonly`,`tabindex`,`autofocus`,`value`,`required`]),{class:b,onFocus:x,onBlur:C,onKeydown:w,onKeypress:T,onKeyup:E}=n,D=S(S({},y),n),O=Object.keys(D).reduce((e,t)=>((t.startsWith(`data-`)||t.startsWith(`aria-`)||t===`role`)&&(e[t]=D[t]),e),{}),k=p(t,b,{[`${t}-checked`]:o.value,[`${t}-disabled`]:c}),A=S(S({name:r,id:i,type:a,readonly:l,disabled:c,tabindex:h,class:`${t}-input`,checked:!!o.value,autofocus:g,value:_},O),{onChange:f,onClick:m,onFocus:x,onBlur:C,onKeydown:w,onKeypress:T,onKeyup:E,required:v});return u(`span`,{class:k},[u(`input`,d({ref:s},A),null),u(`span`,{class:`${t}-inner`},null)])}}}),H=Symbol(`radioGroupContextKey`),ge=e=>{r(H,e)},_e=()=>n(H,void 0),U=Symbol(`radioOptionTypeContextKey`),ve=e=>{r(U,e)},ye=()=>n(U,void 0),be=new m(`antRadioEffect`,{"0%":{transform:`scale(1)`,opacity:.5},"100%":{transform:`scale(1.6)`,opacity:0}}),xe=e=>{let{componentCls:t,antCls:n}=e,r=`${t}-group`;return{[r]:S(S({},x(e)),{display:`inline-block`,fontSize:0,[`&${r}-rtl`]:{direction:`rtl`},[`${n}-badge ${n}-badge-count`]:{zIndex:1},[`> ${n}-badge:not(:first-child) > ${n}-button-wrapper`]:{borderInlineStart:`none`}})}},Se=e=>{let{componentCls:t,radioWrapperMarginRight:n,radioCheckedColor:r,radioSize:i,motionDurationSlow:a,motionDurationMid:o,motionEaseInOut:s,motionEaseInOutCirc:c,radioButtonBg:l,colorBorder:u,lineWidth:d,radioDotSize:f,colorBgContainerDisabled:p,colorTextDisabled:m,paddingXS:h,radioDotDisabledColor:g,lineType:_,radioDotDisabledSize:v,wireframe:y,colorWhite:b}=e,C=`${t}-inner`;return{[`${t}-wrapper`]:S(S({},x(e)),{position:`relative`,display:`inline-flex`,alignItems:`baseline`,marginInlineStart:0,marginInlineEnd:n,cursor:`pointer`,[`&${t}-wrapper-rtl`]:{direction:`rtl`},"&-disabled":{cursor:`not-allowed`,color:e.colorTextDisabled},"&::after":{display:`inline-block`,width:0,overflow:`hidden`,content:`"\\a0"`},[`${t}-checked::after`]:{position:`absolute`,insetBlockStart:0,insetInlineStart:0,width:`100%`,height:`100%`,border:`${d}px ${_} ${r}`,borderRadius:`50%`,visibility:`hidden`,animationName:be,animationDuration:a,animationTimingFunction:s,animationFillMode:`both`,content:`""`},[t]:S(S({},x(e)),{position:`relative`,display:`inline-block`,outline:`none`,cursor:`pointer`,alignSelf:`center`}),[`${t}-wrapper:hover &,
|
|
2
2
|
&:hover ${C}`]:{borderColor:r},[`${t}-input:focus-visible + ${C}`]:S({},w(e)),[`${t}:hover::after, ${t}-wrapper:hover &::after`]:{visibility:`visible`},[`${t}-inner`]:{"&::after":{boxSizing:`border-box`,position:`absolute`,insetBlockStart:`50%`,insetInlineStart:`50%`,display:`block`,width:i,height:i,marginBlockStart:i/-2,marginInlineStart:i/-2,backgroundColor:y?r:b,borderBlockStart:0,borderInlineStart:0,borderRadius:i,transform:`scale(0)`,opacity:0,transition:`all ${a} ${c}`,content:`""`},boxSizing:`border-box`,position:`relative`,insetBlockStart:0,insetInlineStart:0,display:`block`,width:i,height:i,backgroundColor:l,borderColor:u,borderStyle:`solid`,borderWidth:d,borderRadius:`50%`,transition:`all ${o}`},[`${t}-input`]:{position:`absolute`,insetBlockStart:0,insetInlineEnd:0,insetBlockEnd:0,insetInlineStart:0,zIndex:1,cursor:`pointer`,opacity:0},[`${t}-checked`]:{[C]:{borderColor:r,backgroundColor:y?l:r,"&::after":{transform:`scale(${f/i})`,opacity:1,transition:`all ${a} ${c}`}}},[`${t}-disabled`]:{cursor:`not-allowed`,[C]:{backgroundColor:p,borderColor:u,cursor:`not-allowed`,"&::after":{backgroundColor:g}},[`${t}-input`]:{cursor:`not-allowed`},[`${t}-disabled + span`]:{color:m,cursor:`not-allowed`},[`&${t}-checked`]:{[C]:{"&::after":{transform:`scale(${v/i})`}}}},[`span${t} + *`]:{paddingInlineStart:h,paddingInlineEnd:h}})}},Ce=e=>{let{radioButtonColor:t,controlHeight:n,componentCls:r,lineWidth:i,lineType:a,colorBorder:o,motionDurationSlow:s,motionDurationMid:c,radioButtonPaddingHorizontal:l,fontSize:u,radioButtonBg:d,fontSizeLG:f,controlHeightLG:p,controlHeightSM:m,paddingXS:h,borderRadius:g,borderRadiusSM:_,borderRadiusLG:v,radioCheckedColor:y,radioButtonCheckedBg:b,radioButtonHoverColor:x,radioButtonActiveColor:C,radioSolidCheckedColor:T,colorTextDisabled:E,colorBgContainerDisabled:D,radioDisabledButtonCheckedColor:O,radioDisabledButtonCheckedBg:k}=e;return{[`${r}-button-wrapper`]:{position:`relative`,display:`inline-block`,height:n,margin:0,paddingInline:l,paddingBlock:0,color:t,fontSize:u,lineHeight:`${n-i*2}px`,background:d,border:`${i}px ${a} ${o}`,borderBlockStartWidth:i+.02,borderInlineStartWidth:0,borderInlineEndWidth:i,cursor:`pointer`,transition:[`color ${c}`,`background ${c}`,`border-color ${c}`,`box-shadow ${c}`].join(`,`),a:{color:t},[`> ${r}-button`]:{position:`absolute`,insetBlockStart:0,insetInlineStart:0,zIndex:-1,width:`100%`,height:`100%`},"&:not(:first-child)":{"&::before":{position:`absolute`,insetBlockStart:-i,insetInlineStart:-i,display:`block`,boxSizing:`content-box`,width:1,height:`100%`,paddingBlock:i,paddingInline:0,backgroundColor:o,transition:`background-color ${s}`,content:`""`}},"&:first-child":{borderInlineStart:`${i}px ${a} ${o}`,borderStartStartRadius:g,borderEndStartRadius:g},"&:last-child":{borderStartEndRadius:g,borderEndEndRadius:g},"&:first-child:last-child":{borderRadius:g},[`${r}-group-large &`]:{height:p,fontSize:f,lineHeight:`${p-i*2}px`,"&:first-child":{borderStartStartRadius:v,borderEndStartRadius:v},"&:last-child":{borderStartEndRadius:v,borderEndEndRadius:v}},[`${r}-group-small &`]:{height:m,paddingInline:h-i,paddingBlock:0,lineHeight:`${m-i*2}px`,"&:first-child":{borderStartStartRadius:_,borderEndStartRadius:_},"&:last-child":{borderStartEndRadius:_,borderEndEndRadius:_}},"&:hover":{position:`relative`,color:y},"&:has(:focus-visible)":S({},w(e)),[`${r}-inner, input[type='checkbox'], input[type='radio']`]:{width:0,height:0,opacity:0,pointerEvents:`none`},[`&-checked:not(${r}-button-wrapper-disabled)`]:{zIndex:1,color:y,background:b,borderColor:y,"&::before":{backgroundColor:y},"&:first-child":{borderColor:y},"&:hover":{color:x,borderColor:x,"&::before":{backgroundColor:x}},"&:active":{color:C,borderColor:C,"&::before":{backgroundColor:C}}},[`${r}-group-solid &-checked:not(${r}-button-wrapper-disabled)`]:{color:T,background:y,borderColor:y,"&:hover":{color:T,background:x,borderColor:x},"&:active":{color:T,background:C,borderColor:C}},"&-disabled":{color:E,backgroundColor:D,borderColor:o,cursor:`not-allowed`,"&:first-child, &:hover":{color:E,backgroundColor:D,borderColor:o}},[`&-disabled${r}-button-wrapper-checked`]:{color:O,backgroundColor:k,borderColor:o,boxShadow:`none`}}}},W=b(`Radio`,e=>{let{padding:t,lineWidth:n,controlItemBgActiveDisabled:r,colorTextDisabled:i,colorBgContainer:a,fontSizeLG:o,controlOutline:s,colorPrimaryHover:c,colorPrimaryActive:l,colorText:u,colorPrimary:d,marginXS:f,controlOutlineWidth:p,colorTextLightSolid:m,wireframe:h}=e,g=`0 0 0 ${p}px ${s}`,_=g,v=o,y=v-8,b=h?y:v-(4+n)*2,x=d,S=u,C=c,w=l,T=t-n,E=D(e,{radioFocusShadow:g,radioButtonFocusShadow:_,radioSize:v,radioDotSize:b,radioDotDisabledSize:y,radioCheckedColor:x,radioDotDisabledColor:i,radioSolidCheckedColor:m,radioButtonBg:a,radioButtonCheckedBg:a,radioButtonColor:S,radioButtonHoverColor:C,radioButtonActiveColor:w,radioButtonPaddingHorizontal:T,radioDisabledButtonCheckedBg:r,radioDisabledButtonCheckedColor:i,radioWrapperMarginRight:f});return[xe(E),Se(E),Ce(E)]}),we=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},G=()=>({prefixCls:String,checked:_(),disabled:_(),isGroup:_(),value:T.any,name:String,id:String,autofocus:_(),onChange:h(),onFocus:h(),onBlur:h(),onClick:h(),"onUpdate:checked":h(),"onUpdate:value":h()}),K=e({compatConfig:{MODE:3},name:`ARadio`,inheritAttrs:!1,props:G(),setup(e,t){let{emit:n,expose:r,slots:i,attrs:a}=t,s=P(),l=M.useInject(),m=ye(),h=_e(),g=f(),_=o(()=>x.value??g.value),v=c(),{prefixCls:y,direction:b,disabled:x}=C(`radio`,e),w=o(()=>h?.optionType.value===`button`||m===`button`?`${y.value}-button`:y.value),T=f(),[E,D]=W(y);r({focus:()=>{v.value.focus()},blur:()=>{v.value.blur()}});let O=e=>{let t=e.target.checked;n(`update:checked`,t),n(`update:value`,t),n(`change`,e),s.onFieldChange()},k=e=>{n(`change`,e),h&&h.onChange&&h.onChange(e)};return()=>{let t=h,{prefixCls:n,id:r=s.id.value}=e,o=we(e,[`prefixCls`,`id`]),c=S(S({prefixCls:w.value,id:r},te(o,[`onUpdate:checked`,`onUpdate:value`])),{disabled:x.value??T.value});t?(c.name=t.name.value,c.onChange=k,c.checked=e.value===t.value.value,c.disabled=_.value||t.disabled.value):c.onChange=O;let f=p({[`${w.value}-wrapper`]:!0,[`${w.value}-wrapper-checked`]:c.checked,[`${w.value}-wrapper-disabled`]:c.disabled,[`${w.value}-wrapper-rtl`]:b.value===`rtl`,[`${w.value}-wrapper-in-form-item`]:l.isFormItemInput},a.class,D.value);return E(u(`label`,d(d({},a),{},{class:f}),[u(V,d(d({},c),{},{type:`radio`,ref:v}),null),i.default&&u(`span`,null,[i.default()])]))}}}),q=e({compatConfig:{MODE:3},name:`ARadioGroup`,inheritAttrs:!1,props:{prefixCls:String,value:T.any,size:E(),options:v(),disabled:_(),name:String,buttonStyle:E(`outline`),id:String,optionType:E(`default`),onChange:h(),"onUpdate:value":h()},setup(e,n){let{slots:r,emit:i,attrs:s}=n,l=P(),{prefixCls:f,direction:m,size:h}=C(`radio`,e),[g,_]=W(f),v=c(e.value),y=c(!1);return a(()=>e.value,e=>{v.value=e,y.value=!1}),ge({onChange:n=>{let r=v.value,{value:a}=n.target;`value`in e||(v.value=a),!y.value&&a!==r&&(y.value=!0,i(`update:value`,a),i(`change`,n),l.onFieldChange()),t(()=>{y.value=!1})},value:v,disabled:o(()=>e.disabled),name:o(()=>e.name),optionType:o(()=>e.optionType)}),()=>{let{options:t,buttonStyle:n,id:i=l.id.value}=e,a=`${f.value}-group`,o=p(a,`${a}-${n}`,{[`${a}-${h.value}`]:h.value,[`${a}-rtl`]:m.value===`rtl`},s.class,_.value),c=null;return c=t&&t.length>0?t.map(t=>{if(typeof t==`string`||typeof t==`number`)return u(K,{key:t,prefixCls:f.value,disabled:e.disabled,value:t,checked:v.value===t},{default:()=>[t]});let{value:n,disabled:r,label:i}=t;return u(K,{key:`radio-group-value-options-${n}`,prefixCls:f.value,disabled:r||e.disabled,value:n,checked:v.value===n},{default:()=>[i]})}):r.default?.call(r),g(u(`div`,d(d({},s),{},{class:o,id:i}),[c]))}}}),J=e({compatConfig:{MODE:3},name:`ARadioButton`,inheritAttrs:!1,props:G(),setup(e,t){let{slots:n,attrs:r}=t,{prefixCls:i}=C(`radio`,e);return ve(`button`),()=>u(K,d(d(d({},r),e),{},{prefixCls:i.value}),{default:()=>[n.default?.call(n)]})}});K.Group=q,K.Button=J,K.install=function(e){return e.component(K.name,K),e.component(K.Group.name,K.Group),e.component(K.Button.name,K.Button),e};var Te=K,Y=(e,t,n)=>{let r=g(n);return{[`${e.componentCls}-${t}`]:{color:e[`color${n}`],background:e[`color${r}Bg`],borderColor:e[`color${r}Border`],[`&${e.componentCls}-borderless`]:{borderColor:`transparent`}}}},Ee=e=>O(e,(t,n)=>{let{textColor:r,lightBorderColor:i,lightColor:a,darkColor:o}=n;return{[`${e.componentCls}-${t}`]:{color:r,background:a,borderColor:i,"&-inverse":{color:e.colorTextLightSolid,background:o,borderColor:o},[`&${e.componentCls}-borderless`]:{borderColor:`transparent`}}}}),X=e=>{let{paddingXXS:t,lineWidth:n,tagPaddingHorizontal:r,componentCls:i}=e,a=r-n,o=t-n;return{[i]:S(S({},x(e)),{display:`inline-block`,height:`auto`,marginInlineEnd:e.marginXS,paddingInline:a,fontSize:e.tagFontSize,lineHeight:`${e.tagLineHeight}px`,whiteSpace:`nowrap`,background:e.tagDefaultBg,border:`${e.lineWidth}px ${e.lineType} ${e.colorBorder}`,borderRadius:e.borderRadiusSM,opacity:1,transition:`all ${e.motionDurationMid}`,textAlign:`start`,[`&${i}-rtl`]:{direction:`rtl`},"&, a, a:hover":{color:e.tagDefaultColor},[`${i}-close-icon`]:{marginInlineStart:o,color:e.colorTextDescription,fontSize:e.tagIconSize,cursor:`pointer`,transition:`all ${e.motionDurationMid}`,"&:hover":{color:e.colorTextHeading}},[`&${i}-has-color`]:{borderColor:`transparent`,[`&, a, a:hover, ${e.iconCls}-close, ${e.iconCls}-close:hover`]:{color:e.colorTextLightSolid}},"&-checkable":{backgroundColor:`transparent`,borderColor:`transparent`,cursor:`pointer`,[`&:not(${i}-checkable-checked):hover`]:{color:e.colorPrimary,backgroundColor:e.colorFillSecondary},"&:active, &-checked":{color:e.colorTextLightSolid},"&-checked":{backgroundColor:e.colorPrimary,"&:hover":{backgroundColor:e.colorPrimaryHover}},"&:active":{backgroundColor:e.colorPrimaryActive}},"&-hidden":{display:`none`},[`> ${e.iconCls} + span, > span + ${e.iconCls}`]:{marginInlineStart:a}}),[`${i}-borderless`]:{borderColor:`transparent`,background:e.tagBorderlessBg}}},Z=b(`Tag`,e=>{let{fontSize:t,lineHeight:n,lineWidth:r,fontSizeIcon:i}=e,a=Math.round(t*n),o=e.fontSizeSM,s=a-r*2,c=e.colorFillAlter,l=e.colorText,u=D(e,{tagFontSize:o,tagLineHeight:s,tagDefaultBg:c,tagDefaultColor:l,tagIconSize:i-2*r,tagPaddingHorizontal:8,tagBorderlessBg:e.colorFillTertiary});return[X(u),Ee(u),Y(u,`success`,`Success`),Y(u,`processing`,`Info`),Y(u,`error`,`Error`),Y(u,`warning`,`Warning`)]}),Q=e({compatConfig:{MODE:3},name:`ACheckableTag`,inheritAttrs:!1,props:{prefixCls:String,checked:{type:Boolean,default:void 0},onChange:{type:Function},onClick:{type:Function},"onUpdate:checked":Function},setup(e,t){let{slots:n,emit:r,attrs:i}=t,{prefixCls:a}=C(`tag`,e),[s,c]=Z(a),l=t=>{let{checked:n}=e;r(`update:checked`,!n),r(`change`,!n),r(`click`,t)},f=o(()=>p(a.value,c.value,{[`${a.value}-checkable`]:!0,[`${a.value}-checkable-checked`]:e.checked}));return()=>s(u(`span`,d(d({},i),{},{class:[f.value,i.class],onClick:l}),[n.default?.call(n)]))}}),$=e({compatConfig:{MODE:3},name:`ATag`,inheritAttrs:!1,props:{prefixCls:String,color:{type:String},closable:{type:Boolean,default:!1},closeIcon:T.any,visible:{type:Boolean,default:void 0},onClose:{type:Function},onClick:y(),"onUpdate:visible":Function,icon:T.any,bordered:{type:Boolean,default:!0}},slots:Object,setup(e,t){let{slots:n,emit:r,attrs:a}=t,{prefixCls:c,direction:f}=C(`tag`,e),[m,h]=Z(c),g=s(!0);l(()=>{e.visible!==void 0&&(g.value=e.visible)});let _=t=>{t.stopPropagation(),r(`update:visible`,!1),r(`close`,t),!t.defaultPrevented&&e.visible===void 0&&(g.value=!1)},v=o(()=>k(e.color)||A(e.color)),y=o(()=>p(c.value,h.value,{[`${c.value}-${e.color}`]:v.value,[`${c.value}-has-color`]:e.color&&!v.value,[`${c.value}-hidden`]:!g.value,[`${c.value}-rtl`]:f.value===`rtl`,[`${c.value}-borderless`]:!e.bordered})),b=e=>{r(`click`,e)};return()=>{let{icon:t=n.icon?.call(n),color:r,closeIcon:o=n.closeIcon?.call(n),closable:s=!1}=e,l=()=>s?o?u(`span`,{class:`${c.value}-close-icon`,onClick:_},[o]):u(re,{class:`${c.value}-close-icon`,onClick:_},null):null,f={backgroundColor:r&&!v.value?r:void 0},p=t||null,h=n.default?.call(n),g=p?u(i,null,[p,u(`span`,null,[h])]):h,x=e.onClick!==void 0,S=u(`span`,d(d({},a),{},{onClick:b,class:[y.value,a.class],style:[f,a.style]}),[g,l()]);return m(x?u(N,null,{default:()=>[S]}):S)}}});$.CheckableTag=Q,$.install=function(e){return e.component($.name,$),e.component(Q.name,Q),e};export{V as a,q as i,Te as n,pe as o,J as r,I as s,$ as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ft as e}from"./BSCpFtzG.js";import{t}from"./G0qIw7Gq2.js";import{t as n}from"./36oeS8_R2.js";import{i as r}from"./CUMdhxg9.js";var i=[`thermo`,`pressure`,`tension`,`encoder`,`camera`,`gateway`],a=[{key:`temp-tc`,name:`温度传感器`,code:`TEMP · TC`,ch:`熔体/箱体温度`,unit:`℃`,base:168,amp:3.2,min:150,max:185,decimals:1,icon:`thermo`,telemetryKey:`temperature`,semantics:`熔体/箱体温度:热工艺核心被控量,热惯性大(变化平缓)。判读:与设定值偏差 ±2℃ 内为稳态;持续单边漂移 = 加热/散热失衡;骤升骤降多为扰动或传感器异常。`},{key:`pressure-tx`,name:`压力变送器`,code:`PRESSURE · TX`,ch:`熔体压力`,unit:`MPa`,base:.82,amp:.05,min:.6,max:1.2,decimals:2,icon:`pressure`,telemetryKey:`pressure`,semantics:`熔体压力:挤出负荷的「血压计」。判读:与温度负相关(温度升→熔体黏度降→压力降);压力突升常见于滤网堵塞或出料受阻。`},{key:`tension-cell`,name:`张力传感器`,code:`TENSION · CELL`,ch:`膜张力`,unit:`kN`,base:21.4,amp:.9,min:18,max:26,decimals:1,icon:`tension`,semantics:`膜张力:成膜质量直接指标。判读:张力波动与速度/温度设定强耦合,评估张力前先确认速度稳定。`},{key:`line-encoder`,name:`速度编码器`,code:`LINE · ENCODER`,ch:`产线速度`,unit:`m/min`,base:318,amp:7,min:280,max:360,decimals:0,icon:`encoder`,semantics:`产线速度:产能直接观测量。判读:实际速度对设定值的跟随滞后反映传动惯量;速度波动会传导至张力与厚度。`},{key:`vision-cam`,name:`视觉检测相机`,code:`VISION · CAM`,ch:`表面缺陷率`,unit:`‰`,base:.42,amp:.09,min:.1,max:.9,decimals:2,icon:`camera`},{key:`power-meter`,name:`电参采集器`,code:`POWER · METER`,ch:`运行功率`,unit:`kW`,base:45.2,amp:2.6,min:38,max:55,decimals:1,icon:`gateway`},{key:`thickness-scan`,name:`测厚扫描仪`,code:`THK · SCAN`,ch:`厚度轮廓`,unit:`mm`,base:.52,amp:.018,min:.4,max:.65,decimals:3,icon:`tension`,signalKind:`vector`,vector:{points:64,min:.4,max:.65},sink:{processors:[{name:`resample`,args:{n:64}},{name:`derive-metric`,args:{name:`avg`,op:`avg`}},{name:`derive-metric`,args:{name:`max`,op:`max`}}]},metrics:[{key:`max`,label:`最大厚度`,unit:`mm`,alarmHigh:.62},{key:`avg`,label:`平均厚度`,unit:`mm`,warnLow:.47,warnHigh:.57}],semantics:`测厚仪横向扫描轮廓:多点厚度分布。判读:平均值漂移=工艺整体偏移;单点尖峰=局部缺陷(夹杂/气泡);max 越硬限=超差,须联动分切剔除。`},{key:`ccd-image`,name:`CCD 视觉相机`,code:`CCD · IMG`,ch:`表面图像`,unit:`灰度`,base:128,amp:0,min:0,max:255,decimals:0,icon:`camera`,signalKind:`image`,sink:{processors:[{name:`thumbnail`,args:{width:256}},{name:`quality-gate`}]},metrics:[{key:`brightness`,label:`平均亮度`,unit:`gray`,alarmLow:30,alarmHigh:230}],semantics:`CCD 图像帧:像素数据入对象存储,Timescale 仅存元数据与派生指标。判读:brightness 过低=曝光不足/镜头遮挡,过高=过曝;缺陷识别算法经插件处理器扩展。`}],o=e=>e.startsWith(`daq-`)?e.slice(4):e,s=[{kind:`mock`,label:`Mock 模拟源`,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:`40001`,hint:`4xxxx=保持寄存器(地址-40001 为协议偏移);3xxxx=输入寄存器`},{key:`registerType`,label:`寄存器区`,type:`select`,default:`holding`,options:[{value:`holding`,label:`保持寄存器(4x)`},{value:`input`,label:`输入寄存器(3x)`}]},{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:`scale`,label:`缩放系数`,type:`number`,default:1,hint:`原始值 × scale = 工程量(如 0.1)`},{key:`byteOrder`,label:`字节序`,type:`select`,default:`big`,options:[{value:`big`,label:`大端(AB CD)`},{value:`little`,label:`小端(CD AB)`},{value:`wordSwap`,label:`字交换(CD AB / 交换单字)`}]}]},{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.Tag1`,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`},{key:`certificateFile`,label:`客户端证书路径(可选)`,type:`string`,placeholder:`certs/client_cert.pem`,hint:`Sign/SignAndEncrypt 时的 PEM 证书;留空自动生成自签`},{key:`privateKeyFile`,label:`私钥路径(可选)`,type:`string`,placeholder:`certs/client_key.pem`,hint:`与证书配对的 PEM 私钥`}]},{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(设备本身走 RS-485)`},{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:`40001`,hint:`4xxxx=保持寄存器(地址-40001 为协议偏移);3xxxx=输入寄存器`},{key:`registerType`,label:`寄存器区`,type:`select`,default:`holding`,options:[{value:`holding`,label:`保持寄存器(4x)`},{value:`input`,label:`输入寄存器(3x)`}]},{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:`scale`,label:`缩放系数`,type:`number`,default:1,hint:`原始值 × scale = 工程量(如 0.1)`},{key:`byteOrder`,label:`字节序`,type:`select`,default:`big`,options:[{value:`big`,label:`大端(AB CD)`},{value:`little`,label:`小端(CD AB)`},{value:`wordSwap`,label:`字交换(CD AB / 交换单字)`}]}]},{kind:`mqtt`,label:`MQTT(网关/边缘采集)`,status:`real`,configFields:[{key:`host`,label:`Broker 地址(host)`,type:`string`,required:!0,placeholder:`192.168.1.20 或 mqtt.example.com`,hint:`MQTT Broker(EMQX/Mosquitto/Aliyun IoT)地址`},{key:`port`,label:`端口`,type:`number`,default:1883,hint:`MQTT TCP 标准端口 1883(TLS 8883)`},{key:`topic`,label:`主题(topic)`,type:`string`,required:!0,placeholder:`factory/line1/temp`,hint:`设备上报数值的主题;支持 +/# 通配`},{key:`jsonPath`,label:`取值路径(可选)`,type:`string`,placeholder:`data.temperature`,hint:`payload 为 JSON 时按路径取数值,如 data.temp;纯数字报文留空`},{key:`username`,label:`用户名(可选)`,type:`string`},{key:`password`,label:`密码(可选)`,type:`string`}]},{kind:`http`,label:`HTTP/REST(轮询)`,status:`real`,configFields:[{key:`url`,label:`接口地址(URL)`,type:`string`,required:!0,placeholder:`http://192.168.1.30/api/sensor`,hint:`返回数值或 JSON 的 HTTP 接口`},{key:`jsonPath`,label:`取值路径(可选)`,type:`string`,placeholder:`data.value`,hint:`响应为 JSON 时按路径取数值,如 data.value;纯文本留空`},{key:`headersJSON`,label:`请求头(可选)`,type:`string`,placeholder:`{"Authorization":"Bearer xxx"}`,hint:`JSON 对象形式的 HTTP 头`}]},{kind:`s7`,label:`S7(西门子 PLC)`,status:`planned`,configFields:[]}],c=60,l=30,u=(e,t)=>r({base:`/api/workshop/daq`,path:e,init:t,retries:(t?.method??`GET`).toUpperCase()===`GET`?2:0}),d=()=>{let r=e([]),i=e([]),o=e({running:!0,defaultIntervalMs:1e3,defaultPublishIntervalMs:0,nodesTotal:0,nodesOnline:0}),s=e({tsdb:`…`,queue:`…`,drivers:[],driverAvailable:{},infra:void 0,produced:0,consumed:0,dropped:0,samplesStored:0}),d=e(a.map(e=>({...e}))),f=e({});function p(e){let t=r.findIndex(t=>t.id===e.id);t>=0?r[t]=Object.assign(r[t],e):r.push({...e,hist:[]})}let m=[],h=null;function g(){h=null;let e=m;if(m=[],!e.length)return;let t=new Map;for(let n of e){t.set(n.nodeId,n);let e=r.find(e=>e.id===n.nodeId);e&&(e.hist.push(n.value),e.hist.length>c&&e.hist.splice(0,e.hist.length-c))}for(let e of t.values()){let t=r.find(t=>t.id===e.nodeId);t&&(t.value=e.value,t.state=e.state,t.lastAt=e.at)}}function _(e){m.push(e),h||=setTimeout(g,500)}function v(e){if(e.node){if(e.op===`removed`){let t=r.findIndex(t=>t.id===e.node.id);t>=0&&r.splice(t,1);return}p(e.node)}}function y(e){d.splice(0,d.length,...e.map(e=>({...e})))}function b(e){if(!e.template)return;let t=d.findIndex(t=>t.key===e.template.key);if(e.op===`removed`){t>=0&&d.splice(t,1);return}t>=0?d[t]={...e.template}:d.push({...e.template})}function x(e){let t=Date.parse(e.at),n=f[e.nodeId]??(f[e.nodeId]=[]);n.some(e=>e.at===t)||(n.unshift({at:t,kind:e.kind,points:e.preview,metrics:e.metrics??{},thumbUrl:e.thumbUrl,contentUrl:e.thumbUrl?e.thumbUrl.replace(`thumb=1`,`thumb=0`):void 0}),n.length>l&&n.splice(l));let i=r.find(t=>t.id===e.nodeId);i&&(i.value=e.metrics?.avg??i.value,e.state&&(i.state=e.state),i.lastAt=e.at)}function S(){let e=globalThis;return e.__daqBusFed?()=>{}:(e.__daqBusFed=!0,n().subscribe(e=>{if(e.type===`daq.reading`)_(e.payload);else if(e.type===`daq.frame`)x(e.payload);else if(e.type===`daq.node.changed`)v(e.payload);else if(e.type===`daq.controller`)Object.assign(o,e.payload);else if(e.type===`daq.template.changed`)b(e.payload);else if(e.type===`daq.alarm`){let t=e.payload;i.some(e=>e.id===t.id)||i.unshift(t)}else if(e.type===`daq.alarm.changed`){let t=e.payload;if(t.ackedAt){let e=i.findIndex(e=>e.id===t.id);e>=0&&i.splice(e,1)}}}))}async function C(){try{let e=await u(``),t=new Map(r.map(e=>[e.id,e])),n=[];for(let r of e.nodes){let e=t.get(r.id);e?(Object.assign(e,r),n.push(e),t.delete(r.id)):n.push({...r,hist:[]})}r.splice(0,r.length,...n),Object.assign(o,e.controller),Object.assign(s,e.meta??{}),s.driverAvailable=e.driverAvailable??{},s.infra=e.infra,e.templates?.length&&y(e.templates),B.loaded=!0,B.error=``}catch(e){B.error=t(e)}}async function w(e,t){let n=await u(``,{method:`POST`,body:JSON.stringify({templateRef:e,...t})});return p(n.node),n.node}async function T(e,t){await u(`/${e}`,{method:`PATCH`,body:JSON.stringify(t)})}async function E(e,t,n){await u(`/${e}`,{method:`PATCH`,body:JSON.stringify({posX:t,posZ:n})})}async function D(e){await u(`/${e}`,{method:`DELETE`});let t=r.findIndex(t=>t.id===e);t>=0&&r.splice(t,1)}async function O(e,t){p((await u(`/${e}/bind`,{method:`POST`,body:JSON.stringify({deviceId:t})})).node)}async function k(e,t){return(await u(`/test-driver`,{method:`POST`,body:JSON.stringify({driver:e,driverConfig:t})})).test}async function A(e){return(await u(`/${e}/test`,{method:`POST`})).test}async function j(){try{let e=await u(`/alarms?scope=open&limit=50`);i.splice(0,i.length,...e.alarms??[])}catch{}}async function M(e){await u(`/alarms/${e}/ack`,{method:`POST`}),await j()}async function N(){let e=await u(`/infra/reconnect`,{method:`POST`});return s.infra=e.infra,await C(),e.infra}async function P(e,t,n){let r=await u(`/controller`,{method:`POST`,body:JSON.stringify({action:e,defaultIntervalMs:t,defaultPublishIntervalMs:n})});Object.assign(o,r.controller)}async function F(e,t={}){let n=new URLSearchParams;return t.fromMs!=null&&n.set(`from`,String(t.fromMs)),t.toMs!=null&&n.set(`to`,String(t.toMs)),t.bucketMs!=null&&n.set(`bucketMs`,String(t.bucketMs)),t.limit!=null&&n.set(`limit`,String(t.limit)),(await u(`/${e}/samples?${n.toString()}`)).points??[]}async function I(e,t={}){let n=new URLSearchParams;t.fromMs!=null&&n.set(`from`,String(t.fromMs)),t.toMs!=null&&n.set(`to`,String(t.toMs)),t.kind&&n.set(`kind`,t.kind),t.limit!=null&&n.set(`limit`,String(t.limit));let r=await u(`/${e}/frames?${n.toString()}`);return f[e]=r.frames??[],f[e]}async function L(e){let t=await u(`/templates`,{method:`POST`,body:JSON.stringify(e)});return b({op:`added`,template:t.template}),t.template}async function R(e,t){let n=await u(`/templates/${e}`,{method:`PATCH`,body:JSON.stringify(t)});return b({op:`updated`,template:n.template}),n.template}async function z(e){await u(`/templates/${e}`,{method:`DELETE`}),b({op:`removed`,template:{key:e}})}let B=e({nodes:r,controller:o,meta:s,templates:d,loaded:!1,error:``,ensureWsFeed:S,load:C,createFromTemplate:w,createTemplate:L,updateTemplate:R,removeTemplate:z,testDriver:k,testNode:A,reconnectInfra:N,patchNode:T,saveTransform:E,removeNode:D,bindNode:O,controllerAction:P,alarms:i,fetchAlarms:j,ackAlarm:M,nodeById:e=>r.find(t=>t.id===e),samplesOf:F,fetchFrames:I,frames:f,framesOf:e=>f[e]??[],templateOf:e=>d.find(t=>t.key===e||`daq-${t.key}`===e),ofDevice:e=>e?r.filter(t=>t.deviceBindingId===e):[]});return B},f=`__daqStream`;function p(){let e=globalThis;return e[f]||(e[f]=d()),e[f]}export{o as a,i,s as n,a as r,p as t};
|
|
1
|
+
import{ft as e}from"./BSCpFtzG.js";import{t}from"./G0qIw7Gq2.js";import{t as n}from"./36oeS8_R2.js";import{i as r}from"./C6m-kenn.js";var i=[`thermo`,`pressure`,`tension`,`encoder`,`camera`,`gateway`],a=[{key:`temp-tc`,name:`温度传感器`,code:`TEMP · TC`,ch:`熔体/箱体温度`,unit:`℃`,base:168,amp:3.2,min:150,max:185,decimals:1,icon:`thermo`,telemetryKey:`temperature`,semantics:`熔体/箱体温度:热工艺核心被控量,热惯性大(变化平缓)。判读:与设定值偏差 ±2℃ 内为稳态;持续单边漂移 = 加热/散热失衡;骤升骤降多为扰动或传感器异常。`},{key:`pressure-tx`,name:`压力变送器`,code:`PRESSURE · TX`,ch:`熔体压力`,unit:`MPa`,base:.82,amp:.05,min:.6,max:1.2,decimals:2,icon:`pressure`,telemetryKey:`pressure`,semantics:`熔体压力:挤出负荷的「血压计」。判读:与温度负相关(温度升→熔体黏度降→压力降);压力突升常见于滤网堵塞或出料受阻。`},{key:`tension-cell`,name:`张力传感器`,code:`TENSION · CELL`,ch:`膜张力`,unit:`kN`,base:21.4,amp:.9,min:18,max:26,decimals:1,icon:`tension`,semantics:`膜张力:成膜质量直接指标。判读:张力波动与速度/温度设定强耦合,评估张力前先确认速度稳定。`},{key:`line-encoder`,name:`速度编码器`,code:`LINE · ENCODER`,ch:`产线速度`,unit:`m/min`,base:318,amp:7,min:280,max:360,decimals:0,icon:`encoder`,semantics:`产线速度:产能直接观测量。判读:实际速度对设定值的跟随滞后反映传动惯量;速度波动会传导至张力与厚度。`},{key:`vision-cam`,name:`视觉检测相机`,code:`VISION · CAM`,ch:`表面缺陷率`,unit:`‰`,base:.42,amp:.09,min:.1,max:.9,decimals:2,icon:`camera`},{key:`power-meter`,name:`电参采集器`,code:`POWER · METER`,ch:`运行功率`,unit:`kW`,base:45.2,amp:2.6,min:38,max:55,decimals:1,icon:`gateway`},{key:`thickness-scan`,name:`测厚扫描仪`,code:`THK · SCAN`,ch:`厚度轮廓`,unit:`mm`,base:.52,amp:.018,min:.4,max:.65,decimals:3,icon:`tension`,signalKind:`vector`,vector:{points:64,min:.4,max:.65},sink:{processors:[{name:`resample`,args:{n:64}},{name:`derive-metric`,args:{name:`avg`,op:`avg`}},{name:`derive-metric`,args:{name:`max`,op:`max`}}]},metrics:[{key:`max`,label:`最大厚度`,unit:`mm`,alarmHigh:.62},{key:`avg`,label:`平均厚度`,unit:`mm`,warnLow:.47,warnHigh:.57}],semantics:`测厚仪横向扫描轮廓:多点厚度分布。判读:平均值漂移=工艺整体偏移;单点尖峰=局部缺陷(夹杂/气泡);max 越硬限=超差,须联动分切剔除。`},{key:`ccd-image`,name:`CCD 视觉相机`,code:`CCD · IMG`,ch:`表面图像`,unit:`灰度`,base:128,amp:0,min:0,max:255,decimals:0,icon:`camera`,signalKind:`image`,sink:{processors:[{name:`thumbnail`,args:{width:256}},{name:`quality-gate`}]},metrics:[{key:`brightness`,label:`平均亮度`,unit:`gray`,alarmLow:30,alarmHigh:230}],semantics:`CCD 图像帧:像素数据入对象存储,Timescale 仅存元数据与派生指标。判读:brightness 过低=曝光不足/镜头遮挡,过高=过曝;缺陷识别算法经插件处理器扩展。`}],o=e=>e.startsWith(`daq-`)?e.slice(4):e,s=[{kind:`mock`,label:`Mock 模拟源`,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:`40001`,hint:`4xxxx=保持寄存器(地址-40001 为协议偏移);3xxxx=输入寄存器`},{key:`registerType`,label:`寄存器区`,type:`select`,default:`holding`,options:[{value:`holding`,label:`保持寄存器(4x)`},{value:`input`,label:`输入寄存器(3x)`}]},{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:`scale`,label:`缩放系数`,type:`number`,default:1,hint:`原始值 × scale = 工程量(如 0.1)`},{key:`byteOrder`,label:`字节序`,type:`select`,default:`big`,options:[{value:`big`,label:`大端(AB CD)`},{value:`little`,label:`小端(CD AB)`},{value:`wordSwap`,label:`字交换(CD AB / 交换单字)`}]}]},{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.Tag1`,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`},{key:`certificateFile`,label:`客户端证书路径(可选)`,type:`string`,placeholder:`certs/client_cert.pem`,hint:`Sign/SignAndEncrypt 时的 PEM 证书;留空自动生成自签`},{key:`privateKeyFile`,label:`私钥路径(可选)`,type:`string`,placeholder:`certs/client_key.pem`,hint:`与证书配对的 PEM 私钥`}]},{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(设备本身走 RS-485)`},{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:`40001`,hint:`4xxxx=保持寄存器(地址-40001 为协议偏移);3xxxx=输入寄存器`},{key:`registerType`,label:`寄存器区`,type:`select`,default:`holding`,options:[{value:`holding`,label:`保持寄存器(4x)`},{value:`input`,label:`输入寄存器(3x)`}]},{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:`scale`,label:`缩放系数`,type:`number`,default:1,hint:`原始值 × scale = 工程量(如 0.1)`},{key:`byteOrder`,label:`字节序`,type:`select`,default:`big`,options:[{value:`big`,label:`大端(AB CD)`},{value:`little`,label:`小端(CD AB)`},{value:`wordSwap`,label:`字交换(CD AB / 交换单字)`}]}]},{kind:`mqtt`,label:`MQTT(网关/边缘采集)`,status:`real`,configFields:[{key:`host`,label:`Broker 地址(host)`,type:`string`,required:!0,placeholder:`192.168.1.20 或 mqtt.example.com`,hint:`MQTT Broker(EMQX/Mosquitto/Aliyun IoT)地址`},{key:`port`,label:`端口`,type:`number`,default:1883,hint:`MQTT TCP 标准端口 1883(TLS 8883)`},{key:`topic`,label:`主题(topic)`,type:`string`,required:!0,placeholder:`factory/line1/temp`,hint:`设备上报数值的主题;支持 +/# 通配`},{key:`jsonPath`,label:`取值路径(可选)`,type:`string`,placeholder:`data.temperature`,hint:`payload 为 JSON 时按路径取数值,如 data.temp;纯数字报文留空`},{key:`username`,label:`用户名(可选)`,type:`string`},{key:`password`,label:`密码(可选)`,type:`string`}]},{kind:`http`,label:`HTTP/REST(轮询)`,status:`real`,configFields:[{key:`url`,label:`接口地址(URL)`,type:`string`,required:!0,placeholder:`http://192.168.1.30/api/sensor`,hint:`返回数值或 JSON 的 HTTP 接口`},{key:`jsonPath`,label:`取值路径(可选)`,type:`string`,placeholder:`data.value`,hint:`响应为 JSON 时按路径取数值,如 data.value;纯文本留空`},{key:`headersJSON`,label:`请求头(可选)`,type:`string`,placeholder:`{"Authorization":"Bearer xxx"}`,hint:`JSON 对象形式的 HTTP 头`}]},{kind:`s7`,label:`S7(西门子 PLC)`,status:`planned`,configFields:[]}],c=60,l=30,u=(e,t)=>r({base:`/api/workshop/daq`,path:e,init:t,retries:(t?.method??`GET`).toUpperCase()===`GET`?2:0}),d=()=>{let r=e([]),i=e([]),o=e({running:!0,defaultIntervalMs:1e3,defaultPublishIntervalMs:0,nodesTotal:0,nodesOnline:0}),s=e({tsdb:`…`,queue:`…`,drivers:[],driverAvailable:{},infra:void 0,produced:0,consumed:0,dropped:0,samplesStored:0}),d=e(a.map(e=>({...e}))),f=e({});function p(e){let t=r.findIndex(t=>t.id===e.id);t>=0?r[t]=Object.assign(r[t],e):r.push({...e,hist:[]})}let m=[],h=null;function g(){h=null;let e=m;if(m=[],!e.length)return;let t=new Map;for(let n of e){t.set(n.nodeId,n);let e=r.find(e=>e.id===n.nodeId);e&&(e.hist.push(n.value),e.hist.length>c&&e.hist.splice(0,e.hist.length-c))}for(let e of t.values()){let t=r.find(t=>t.id===e.nodeId);t&&(t.value=e.value,t.state=e.state,t.lastAt=e.at)}}function _(e){m.push(e),h||=setTimeout(g,500)}function v(e){if(e.node){if(e.op===`removed`){let t=r.findIndex(t=>t.id===e.node.id);t>=0&&r.splice(t,1);return}p(e.node)}}function y(e){d.splice(0,d.length,...e.map(e=>({...e})))}function b(e){if(!e.template)return;let t=d.findIndex(t=>t.key===e.template.key);if(e.op===`removed`){t>=0&&d.splice(t,1);return}t>=0?d[t]={...e.template}:d.push({...e.template})}function x(e){let t=Date.parse(e.at),n=f[e.nodeId]??(f[e.nodeId]=[]);n.some(e=>e.at===t)||(n.unshift({at:t,kind:e.kind,points:e.preview,metrics:e.metrics??{},thumbUrl:e.thumbUrl,contentUrl:e.thumbUrl?e.thumbUrl.replace(`thumb=1`,`thumb=0`):void 0}),n.length>l&&n.splice(l));let i=r.find(t=>t.id===e.nodeId);i&&(i.value=e.metrics?.avg??i.value,e.state&&(i.state=e.state),i.lastAt=e.at)}let S=0,C=null;function w(){S++,S===1&&(C=n().subscribe(T));let e=!1;return()=>{e||(e=!0,--S===0&&(C?.(),C=null))}}function T(e){if(e.type===`daq.reading`)_(e.payload);else if(e.type===`daq.frame`)x(e.payload);else if(e.type===`daq.node.changed`)v(e.payload);else if(e.type===`daq.controller`)Object.assign(o,e.payload);else if(e.type===`daq.template.changed`)b(e.payload);else if(e.type===`daq.alarm`){let t=e.payload;i.some(e=>e.id===t.id)||i.unshift(t)}else if(e.type===`daq.alarm.changed`){let t=e.payload;if(t.ackedAt){let e=i.findIndex(e=>e.id===t.id);e>=0&&i.splice(e,1)}}}async function E(){try{let e=await u(``),t=new Map(r.map(e=>[e.id,e])),n=[];for(let r of e.nodes){let e=t.get(r.id);e?(Object.assign(e,r),n.push(e),t.delete(r.id)):n.push({...r,hist:[]})}r.splice(0,r.length,...n),Object.assign(o,e.controller),Object.assign(s,e.meta??{}),s.driverAvailable=e.driverAvailable??{},s.infra=e.infra,e.templates?.length&&y(e.templates),U.loaded=!0,U.error=``}catch(e){U.error=t(e)}}async function D(e,t){let n=await u(``,{method:`POST`,body:JSON.stringify({templateRef:e,...t})});return p(n.node),n.node}async function O(e,t){await u(`/${e}`,{method:`PATCH`,body:JSON.stringify(t)})}async function k(e,t,n){await u(`/${e}`,{method:`PATCH`,body:JSON.stringify({posX:t,posZ:n})})}async function A(e){await u(`/${e}`,{method:`DELETE`});let t=r.findIndex(t=>t.id===e);t>=0&&r.splice(t,1)}async function j(e,t){p((await u(`/${e}/bind`,{method:`POST`,body:JSON.stringify({deviceId:t})})).node)}async function M(e,t){return(await u(`/test-driver`,{method:`POST`,body:JSON.stringify({driver:e,driverConfig:t})})).test}async function N(e){return(await u(`/${e}/test`,{method:`POST`})).test}async function P(){try{let e=await u(`/alarms?scope=open&limit=50`);i.splice(0,i.length,...e.alarms??[])}catch{}}async function F(e){await u(`/alarms/${e}/ack`,{method:`POST`}),await P()}async function I(){let e=await u(`/infra/reconnect`,{method:`POST`});return s.infra=e.infra,await E(),e.infra}async function L(e,t,n){let r=await u(`/controller`,{method:`POST`,body:JSON.stringify({action:e,defaultIntervalMs:t,defaultPublishIntervalMs:n})});Object.assign(o,r.controller)}async function R(e,t={}){let n=new URLSearchParams;return t.fromMs!=null&&n.set(`from`,String(t.fromMs)),t.toMs!=null&&n.set(`to`,String(t.toMs)),t.bucketMs!=null&&n.set(`bucketMs`,String(t.bucketMs)),t.limit!=null&&n.set(`limit`,String(t.limit)),(await u(`/${e}/samples?${n.toString()}`)).points??[]}async function z(e,t={}){let n=new URLSearchParams;t.fromMs!=null&&n.set(`from`,String(t.fromMs)),t.toMs!=null&&n.set(`to`,String(t.toMs)),t.kind&&n.set(`kind`,t.kind),t.limit!=null&&n.set(`limit`,String(t.limit));let r=await u(`/${e}/frames?${n.toString()}`);return f[e]=r.frames??[],f[e]}async function B(e){let t=await u(`/templates`,{method:`POST`,body:JSON.stringify(e)});return b({op:`added`,template:t.template}),t.template}async function V(e,t){let n=await u(`/templates/${e}`,{method:`PATCH`,body:JSON.stringify(t)});return b({op:`updated`,template:n.template}),n.template}async function H(e){await u(`/templates/${e}`,{method:`DELETE`}),b({op:`removed`,template:{key:e}})}let U=e({nodes:r,controller:o,meta:s,templates:d,loaded:!1,error:``,ensureWsFeed:w,load:E,createFromTemplate:D,createTemplate:B,updateTemplate:V,removeTemplate:H,testDriver:M,testNode:N,reconnectInfra:I,patchNode:O,saveTransform:k,removeNode:A,bindNode:j,controllerAction:L,alarms:i,fetchAlarms:P,ackAlarm:F,nodeById:e=>r.find(t=>t.id===e),samplesOf:R,fetchFrames:z,frames:f,framesOf:e=>f[e]??[],templateOf:e=>d.find(t=>t.key===e||`daq-${t.key}`===e),ofDevice:e=>e?r.filter(t=>t.deviceBindingId===e):[]});return U},f=`__daqStream`;function p(){let e=globalThis;return e[f]||(e[f]=d()),e[f]}export{o as a,i,s as n,a as r,p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{H as e,U as t,W as n,q as r}from"./rqZ-1SoP.js";import{C as i,F as a,G as o,H as s,Ht as c,St as l,Wt as u,a as d,b as f,et as p,f as m,ft as ee,g as h,h as g,mt as _,nt as v,p as y,rt as b,t as x,x as S,z as C}from"./BSCpFtzG.js";import{a as te}from"./vJ4FPb-_.js";import{t as ne}from"./D8CqF0yy.js";import{n as re}from"./BeIfu4N3.js";import{t as ie}from"./DXRZPxGs.js";import{t as ae}from"./G0qIw7Gq2.js";import{t as oe}from"./CNs_Ozdc.js";import{t as se}from"./C6m-kenn.js";import{a as ce,n as w,t as le}from"./B3Psw_sL.js";import{t as ue}from"./6vYobj4F.js";var de={class:`page`},fe={class:`aw-kicker`},pe={class:`aw-page-head`},me={key:0,class:`err`},he={key:1,class:`grid`},ge={class:`col-live`},_e={class:`aw-tile value-card`},ve={class:`aw-kicker`},ye={class:`big-val mono`},be={class:`facts mono`},xe={class:`col-form aw-tile pad`},Se={class:`sec`},Ce={class:`field`},we={class:`field`},Te={value:``},Ee=[`value`],De={class:`field`},Oe=[`value`,`disabled`],ke={class:`field row`},Ae=[`disabled`],je={class:`field row`},Me=[`disabled`],Ne=[`disabled`],Pe={class:`field row`},Fe=[`disabled`],Ie={class:`field`},Le={class:`field`},Re={class:`field-row`},ze={class:`field`},Be={class:`field`},Ve={class:`field`},He={class:`field`},Ue=[`disabled`],We={class:`sec mt`},Ge={class:`driver-grid`},Ke={key:0},qe=[`onUpdate:modelValue`],Je=[`value`],Ye=[`onUpdate:modelValue`,`type`,`placeholder`],Xe={class:`test-row`},Ze=[`disabled`],Qe={class:`sec mt`},$e={class:`bind-row`},et={value:``},tt=[`value`],nt={class:`col-hist aw-tile pad`},rt={class:`hist-hd`},it={class:`sec`},at={class:`hist-ctl mono`},ot=[`value`],st={class:`raw-table mono`},ct={key:2,class:`aw-tile pad frames-tile`},lt={class:`hist-hd`},ut={class:`sec`},dt={class:`mono frames-n`},ft=[`viewBox`],pt=[`points`],mt={class:`raw-table mono`},ht={key:0,class:`gal`},gt=[`title`,`onClick`],_t=[`src`],vt={class:`mono`},yt={key:1,class:`frames-empty`},bt=[`src`],T=320,xt=84,St=`#35e0a0`,Ct=`rgba(120,135,160,0.18)`,E=`rgba(140,155,175,0.8)`,D=x(i({__name:`[id]`,setup(i){let{t:x}=re();oe({layout:`default`});let D=te(),O=m(()=>String(D.params.id??``)),k=le(),A=se();A.load();let j=ue(),M=m(()=>k.nodeById(O.value)??null),N=m(()=>{let e=M.value?ce(M.value.templateRef):``;return k.templates.find(t=>t.key===e)??null}),wt={ok:x(`daqDetail.k41k5c026`),warn:x(`daqDetail.k49z8v027`),alarm:x(`daqDetail.k3xmid028`),offline:x(`daqDetail.k44c2n029`)},P=()=>{let e=M.value;return!e||!k.controller.running||!e.enabled?`offline`:e.state},F=null;C(()=>{F=k.ensureWsFeed(),k.load(),j.load(),L.value&&z()}),a(()=>F?.());let I=m(()=>N.value?.signalKind??`scalar`),L=m(()=>I.value!==`scalar`),R=m(()=>k.framesOf(O.value));async function z(){O.value&&await k.fetchFrames(O.value,{limit:24}).catch(()=>{})}p(O,()=>{L.value&&z()});let B=e=>new Date(e).toLocaleTimeString(`zh-CN`,{hour12:!1}),V=e=>Object.entries(e.metrics??{}).slice(0,3).map(([e,t])=>`${e}=${t}`).join(` `),Tt=m(()=>R.value.find(e=>e.kind===`vector`&&e.points?.length)),Et=m(()=>{let e=Tt.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)*T).toFixed(1)},${(78-(r-t)/n*72).toFixed(1)}`).join(` `)}),H=_(null);function Dt(e){return e==null?x(`daqDetail.k9vnp9h053`,{p0:k.controller.defaultPublishIntervalMs}):e===0?x(`daqDetail.k1m1zwux030`):`${e}ms`}let U=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});p(M,e=>{e&&(U.enabled=e.enabled,U.lineId=e.lineId??``,U.driver=e.driver,U.followGlobal=e.intervalMs==null,U.intervalMs=e.intervalMs??k.controller.defaultIntervalMs,U.publishFollow=e.publishIntervalMs==null,U.publishEveryFrame=e.publishIntervalMs===0,U.publishMs=e.publishIntervalMs==null?k.controller.defaultPublishIntervalMs:e.publishIntervalMs,U.unit=e.unit,U.decimals=e.decimals,U.min=e.min,U.max=e.max,U.warnLow=e.warnLow,U.warnHigh=e.warnHigh)},{immediate:!0});let W=_({}),G=m(()=>w.find(e=>e.kind===U.driver)?.configFields??[]);p(M,e=>{e&&(W.value={...e.driverConfig})},{immediate:!0}),p(()=>U.driver,()=>{if(G.value.length&&Object.keys(W.value).length===0){let e={};for(let t of G.value)t.default!==void 0&&(e[t.key]=t.default);W.value=e}},{immediate:!0});let K=_(!1),q=_(null);async function Ot(){K.value=!0,q.value=null;try{await k.patchNode(O.value,{driver:U.driver,driverConfig:{...W.value}}),q.value=await k.testNode(O.value)}catch(e){q.value={ok:!1,message:ae(e)}}finally{K.value=!1}}let J=_(!1);async function kt(){let e=M.value;if(!(!e||J.value)){J.value=!0;try{await k.patchNode(e.id,{enabled:U.enabled,driver:U.driver,lineId:U.lineId,driverConfig:{...W.value},intervalMs:U.followGlobal?null:Math.max(1e3,Math.min(6e4,Math.round(U.intervalMs))),publishIntervalMs:U.publishFollow?null:U.publishEveryFrame?0:Math.max(0,Math.min(6e4,Math.round(U.publishMs))),unit:U.unit,decimals:Math.max(0,Math.min(6,Math.round(U.decimals))),min:U.min,max:U.max,warnLow:U.warnLow,warnHigh:U.warnHigh})}finally{J.value=!1}}}function At(e){return k.meta.drivers.find(t=>t.kind===e)?.status===`planned`}let Y=_(``),jt=m(()=>{let e=M.value?.deviceBindingId;return e?j.twins.find(t=>t.id===e)?.name??`${e.slice(0,8)}…`:``});function Mt(){k.bindNode(O.value,M.value?.deviceBindingId?null:Y.value||null)}let Nt=m(()=>j.twins.filter(e=>e.kind!==`daq`&&e.id!==M.value?.id)),X=_([]),Z=_(15e3),Pt=_(!1),Ft=[{label:`1s 桶`,ms:1e3},{label:`5s 桶`,ms:5e3},{label:`15s 桶(默认)`,ms:15e3},{label:`30s 桶`,ms:3e4},{label:`1min 桶`,ms:6e4}];async function Q(){if(O.value){Pt.value=!0;try{let e=await k.samplesOf(O.value,{toMs:Date.now(),bucketMs:Z.value||void 0,limit:400});X.value=[...e].reverse()}finally{Pt.value=!1,Lt()}}}let It=_(null);function Lt(){let e=It.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=Ct,i.beginPath(),i.moveTo(0,r/4*e),i.lineTo(n,r/4*e),i.stroke();let a=X.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=E,i.font=`10px monospace`,i.fillStyle=E,i.fillText(s.toFixed(2),4,11),i.fillText(o.toFixed(2),4,r-4),i.strokeStyle=St,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 Rt=_(null),$=null;function zt(){let e=Rt.value,t=M.value;if(!e||!t||t.hist.length<2)return;let n=Math.min(window.devicePixelRatio||1,2),r=e.clientWidth,i=e.clientHeight;(e.width!==r*n||e.height!==i*n)&&(e.width=r*n,e.height=i*n);let a=e.getContext(`2d`);if(!a)return;a.setTransform(n,0,0,n,0,0),a.clearRect(0,0,r,i);let o=Math.max(...t.hist),s=Math.min(...t.hist),c=Math.max(o-s,1e-9);a.strokeStyle=`rgba(65,200,244,0.9)`,a.lineWidth=1.5,a.beginPath(),t.hist.forEach((e,n)=>{let o=n/(t.hist.length-1)*r,l=i-(e-s)/c*(i-6)-3;n===0?a.moveTo(o,l):a.lineTo(o,l)}),a.stroke()}return C(()=>{Q(),$=ie(()=>{zt()},800)}),a(()=>{$&&clearInterval($)}),p(Z,()=>void Q()),(i,a)=>{let p=ne;return s(),h(`div`,de,[y(`p`,fe,[S(p,{to:`/daq`,class:`back`},{default:v(()=>[f(u(i.$t(`daqDetail.k1emg364001`)),1)]),_:1}),f(` / NODE `+u(O.value.slice(0,8).toUpperCase()),1)]),y(`div`,pe,[y(`h1`,null,u(M.value?.name??O.value),1),y(`span`,{class:c([`st-pill`,[P()]])},u(wt[P()]),3)]),!M.value&&l(k).error?(s(),h(`p`,me,[f(u(l(k).error)+`(`,1),S(p,{to:`/workshop`},{default:v(()=>[f(u(i.$t(`daqDetail.k1bhhheq002`)),1)]),_:1}),a[20]||=f(`) `,-1)])):g(``,!0),M.value?(s(),h(`div`,he,[y(`section`,ge,[y(`div`,_e,[y(`p`,ve,u(i.$t(`daqDetail.k1fx2vik032`))+` `+u(N.value?.ch??`-`),1),y(`div`,ye,[f(u(M.value.value==null?`--`:M.value.value.toFixed(M.value.decimals)),1),y(`small`,null,u(M.value.unit),1)]),y(`canvas`,{ref_key:`liveCanvas`,ref:Rt,class:`live-canvas`},null,512),y(`dl`,be,[y(`div`,null,[y(`dt`,null,u(i.$t(`daqDetail.k4a0la003`)),1),y(`dd`,null,u(M.value.driver)+u(At(M.value.driver)?i.$t(`daqDetail.kz8zr9v035`):``),1)]),y(`div`,null,[y(`dt`,null,u(i.$t(`daqDetail.k3xg3w004`)),1),y(`dd`,null,u(M.value.intervalMs??i.$t(`daqDetail.k9vnp9h053`,{p0:l(k).controller.defaultIntervalMs})),1)]),y(`div`,null,[y(`dt`,null,u(i.$t(`daqDetail.k3w6td005`)),1),y(`dd`,null,u(Dt(M.value.publishIntervalMs)),1)]),y(`div`,null,[y(`dt`,null,u(i.$t(`daqDetail.k3x5tpx006`)),1),y(`dd`,null,u(M.value.warnLow??`-∞`)+` ~ `+u(M.value.warnHigh??`+∞`),1)]),y(`div`,null,[y(`dt`,null,u(i.$t(`daqDetail.k1hjj0jf007`)),1),y(`dd`,null,u(M.value.min)+` ~ `+u(M.value.max),1)]),y(`div`,null,[y(`dt`,null,u(i.$t(`daqDetail.k1i8rtqt008`)),1),y(`dd`,null,u(jt.value||i.$t(`daqDetail.k3own4q036`)),1)])])])]),y(`section`,xe,[y(`h3`,Se,u(i.$t(`daqDetail.kd9d69j009`)),1),y(`form`,{class:`form-grid`,onSubmit:r(kt,[`prevent`])},[y(`label`,Ce,[y(`span`,null,u(i.$t(`daqDetail.k1iw7tbf010`)),1),y(`button`,{type:`button`,class:c([`toggle`,{on:U.enabled}]),onClick:a[0]||=e=>U.enabled=!U.enabled},u(U.enabled?i.$t(`daqDetail.k3w3j8f037`):i.$t(`daqDetail.k3n5aaj045`)),3)]),y(`label`,we,[y(`span`,null,u(i.$t(`daqDetail.k12k23od011`)),1),b(y(`select`,{"onUpdate:modelValue":a[1]||=e=>U.lineId=e,class:`input`},[y(`option`,Te,u(i.$t(`daqDetail.k3ootr6012`)),1),(s(!0),h(d,null,o(l(A).lines,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,Ee))),128))],512),[[t,U.lineId]])]),y(`label`,De,[y(`span`,null,u(i.$t(`daqDetail.k1l6smxo013`)),1),b(y(`select`,{"onUpdate:modelValue":a[2]||=e=>U.driver=e,class:`input`},[(s(!0),h(d,null,o(l(w),e=>(s(),h(`option`,{key:e.kind,value:e.kind,disabled:e.status===`planned`},u(e.label)+u(e.status===`planned`?i.$t(`daqDetail.kz8zr9v035`):``),9,Oe))),128))],512),[[t,U.driver]])]),y(`label`,ke,[y(`button`,{type:`button`,class:c([`toggle slim`,{on:U.followGlobal}]),onClick:a[3]||=e=>U.followGlobal=!U.followGlobal},u(U.followGlobal?i.$t(`daqDetail.k1k2ueyq038`):i.$t(`daqDetail.k1cgi8fy046`)),3),b(y(`input`,{"onUpdate:modelValue":a[4]||=e=>U.intervalMs=e,type:`number`,min:`1000`,max:`60000`,step:`500`,class:`input`,disabled:U.followGlobal},null,8,Ae),[[n,U.intervalMs,void 0,{number:!0}]]),a[21]||=y(`small`,null,`ms`,-1)]),y(`label`,je,[y(`button`,{type:`button`,class:c([`toggle slim`,{on:U.calKind===`linear`}]),title:`采集标定 decoder:物理值 = scale × PLC采集值 + offset`,onClick:a[5]||=e=>U.calKind=U.calKind===`linear`?`none`:`linear`},u(U.calKind===`linear`?i.$t(`daqDetail.k1eru4r1039`):i.$t(`daqDetail.k3oktae047`)),3),b(y(`input`,{"onUpdate:modelValue":a[6]||=e=>U.calScale=e,type:`number`,step:`0.1`,class:`input`,disabled:U.calKind!==`linear`,title:`decode 斜率(≠0)`},null,8,Me),[[n,U.calScale,void 0,{number:!0}]]),b(y(`input`,{"onUpdate:modelValue":a[7]||=e=>U.calOffset=e,type:`number`,step:`0.1`,class:`input`,disabled:U.calKind!==`linear`,title:`decode 截距`},null,8,Ne),[[n,U.calOffset,void 0,{number:!0}]]),a[22]||=y(`small`,null,`decoder`,-1)]),y(`label`,Pe,[y(`button`,{type:`button`,class:c([`toggle slim`,{on:U.publishFollow}]),onClick:a[8]||=e=>U.publishFollow=!U.publishFollow},u(U.publishFollow?i.$t(`daqDetail.k1k2t5o7040`):i.$t(`daqDetail.k1cggz5f048`)),3),y(`span`,{class:c([`toggle slim`,{on:U.publishEveryFrame}]),style:{cursor:`pointer`},onClick:a[9]||=e=>U.publishEveryFrame=!U.publishEveryFrame},u(U.publishEveryFrame?i.$t(`daqDetail.k41mvv041`):i.$t(`daqDetail.k3n42dj049`)),3),b(y(`input`,{"onUpdate:modelValue":a[10]||=e=>U.publishMs=e,type:`number`,min:`0`,max:`60000`,step:`100`,class:`input`,disabled:U.publishFollow||U.publishEveryFrame},null,8,Fe),[[n,U.publishMs,void 0,{number:!0}]]),a[23]||=y(`small`,null,`ms`,-1)]),y(`label`,Ie,[y(`span`,null,u(i.$t(`daqDetail.k3x4ef014`)),1),b(y(`input`,{"onUpdate:modelValue":a[11]||=e=>U.unit=e,class:`input`},null,512),[[n,U.unit]])]),y(`label`,Le,[y(`span`,null,u(i.$t(`daqDetail.k3mxmcx015`)),1),b(y(`input`,{"onUpdate:modelValue":a[12]||=e=>U.decimals=e,type:`number`,min:`0`,max:`6`,class:`input`},null,512),[[n,U.decimals,void 0,{number:!0}]])]),y(`div`,Re,[y(`label`,ze,[y(`span`,null,u(i.$t(`daqDetail.k1l9jv5m016`)),1),b(y(`input`,{"onUpdate:modelValue":a[13]||=e=>U.min=e,type:`number`,step:`any`,class:`input`},null,512),[[n,U.min,void 0,{number:!0}]])]),y(`label`,Be,[y(`span`,null,u(i.$t(`daqDetail.k1md63hm017`)),1),b(y(`input`,{"onUpdate:modelValue":a[14]||=e=>U.warnLow=e,type:`number`,step:`any`,class:`input`},null,512),[[n,U.warnLow,void 0,{number:!0}]])]),y(`label`,Ve,[y(`span`,null,u(i.$t(`daqDetail.k1md63gp018`)),1),b(y(`input`,{"onUpdate:modelValue":a[15]||=e=>U.warnHigh=e,type:`number`,step:`any`,class:`input`},null,512),[[n,U.warnHigh,void 0,{number:!0}]])]),y(`label`,He,[y(`span`,null,u(i.$t(`daqDetail.k1l9jv4p019`)),1),b(y(`input`,{"onUpdate:modelValue":a[16]||=e=>U.max=e,type:`number`,step:`any`,class:`input`},null,512),[[n,U.max,void 0,{number:!0}]])])]),y(`button`,{class:`aw-pill`,type:`submit`,disabled:J.value},u(J.value?i.$t(`daqDetail.k1as0g50042`):i.$t(`daqDetail.ksn9cgo050`)),9,Ue)],32),G.value.length?(s(),h(d,{key:0},[y(`h3`,We,u(i.$t(`daqDetail.k1p9gioa033`))+` `+u(l(w).find(e=>e.kind===U.driver)?.label),1),y(`div`,Ge,[(s(!0),h(d,null,o(G.value,n=>(s(),h(`label`,{key:n.key,class:`field`},[y(`span`,null,[f(u(n.label),1),n.required?(s(),h(`em`,Ke,`*`)):g(``,!0)]),n.type===`select`?b((s(),h(`select`,{key:0,"onUpdate:modelValue":e=>W.value[n.key]=e,class:`input`},[(s(!0),h(d,null,o(n.options,e=>(s(),h(`option`,{key:e.value,value:e.value},u(e.label),9,Je))),128))],8,qe)),[[t,W.value[n.key]]]):b((s(),h(`input`,{key:1,"onUpdate:modelValue":e=>W.value[n.key]=e,type:n.type===`number`?`number`:`text`,placeholder:n.placeholder,class:`input`},null,8,Ye)),[[e,W.value[n.key]]])]))),128))]),y(`div`,Xe,[y(`button`,{class:`pill-btn`,disabled:K.value,onClick:Ot},u(K.value?i.$t(`daqDetail.k1fsh720043`):i.$t(`daqDetail.k1fstglk051`)),9,Ze),q.value?(s(),h(`span`,{key:0,class:c([`test-out mono`,q.value.ok?`ok`:`bad`])},u(q.value.ok?`✓`:`✗`)+` `+u(q.value.message),3)):g(``,!0)])],64)):g(``,!0),y(`h3`,Qe,u(i.$t(`daqDetail.k1ie6qju020`)),1),y(`div`,$e,[b(y(`select`,{"onUpdate:modelValue":a[17]||=e=>Y.value=e,class:`input grow`},[y(`option`,et,u(i.$t(`daqDetail.kjobzu3021`)),1),(s(!0),h(d,null,o(Nt.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,tt))),128))],512),[[t,Y.value]]),y(`button`,{class:`pill-btn`,onClick:Mt},u(jt.value?i.$t(`daqDetail.k479eh044`):i.$t(`daqDetail.k452a8052`)),1)])]),y(`section`,nt,[y(`div`,rt,[y(`h3`,it,u(i.$t(`daqDetail.k1i535i5034`))+u(l(k).meta.tsdb)+`) `,1),y(`div`,at,[b(y(`select`,{"onUpdate:modelValue":a[18]||=e=>Z.value=e,class:`input`},[(s(),h(d,null,o(Ft,e=>y(`option`,{key:e.ms,value:e.ms},u(e.label),9,ot)),64))],512),[[t,Z.value,void 0,{number:!0}]]),y(`button`,{class:`pill-btn`,onClick:Q},u(i.$t(`daqDetail.k3x1jg022`)),1)])]),y(`canvas`,{ref_key:`chartCanvas`,ref:It,class:`hist-canvas`},null,512),y(`table`,st,[y(`thead`,null,[y(`tr`,null,[y(`th`,null,u(i.$t(`daqDetail.k40vsf023`)),1),y(`th`,null,u(i.$t(`daqDetail.k48v5024`)),1),y(`th`,null,u(i.$t(`daqDetail.k4bza025`)),1)])]),y(`tbody`,null,[(s(!0),h(d,null,o(X.value.filter(e=>e.value!=null).slice(-12).reverse(),(e,t)=>(s(),h(`tr`,{key:t},[y(`td`,null,u(new Date(e.at).toLocaleTimeString(`zh-CN`,{hour12:!1})),1),y(`td`,null,u(e.value.toFixed(M.value?.decimals??2)),1),y(`td`,null,u(e.state),1)]))),128))])])])])):g(``,!0),L.value?(s(),h(`section`,ct,[y(`div`,lt,[y(`h3`,ut,[f(u(I.value===`image`?i.$t(`daqDetail.kfrm0001`):i.$t(`daqDetail.kfrm0002`))+` `,1),y(`span`,dt,u(R.value.length),1)]),y(`button`,{class:`pill-btn`,onClick:z},u(i.$t(`daqDetail.k3x1jg022`)),1)]),I.value===`vector`?(s(),h(d,{key:0},[(s(),h(`svg`,{class:`vec-svg`,viewBox:`0 0 ${T} ${xt}`,preserveAspectRatio:`none`},[y(`polyline`,{points:Et.value,fill:`none`,stroke:`var(--accent)`,"stroke-width":`1.5`},null,8,pt)],8,ft)),y(`table`,mt,[y(`thead`,null,[y(`tr`,null,[y(`th`,null,u(i.$t(`daqDetail.k40vsf023`)),1),y(`th`,null,u(i.$t(`daqDetail.kfrm0004`)),1),y(`th`,null,u(i.$t(`daqDetail.kfrm0005`)),1)])]),y(`tbody`,null,[(s(!0),h(d,null,o(R.value.filter(e=>e.kind===`vector`).slice(0,12),e=>(s(),h(`tr`,{key:e.at},[y(`td`,null,u(B(e.at)),1),y(`td`,null,u(e.points?.length??0),1),y(`td`,null,u(V(e)),1)]))),128))])])],64)):(s(),h(d,{key:1},[R.value.length?(s(),h(`div`,ht,[(s(!0),h(d,null,o(R.value,e=>(s(),h(`figure`,{key:e.at,class:`gal-item`,title:i.$t(`daqDetail.kfrm0006`),onClick:t=>H.value=e},[y(`img`,{src:e.thumbUrl,loading:`lazy`,alt:`daq frame`},null,8,_t),y(`figcaption`,vt,u(B(e.at))+` · `+u(V(e)),1)],8,gt))),128))])):(s(),h(`p`,yt,u(i.$t(`daqDetail.kfrm0003`)),1)),H.value?(s(),h(`div`,{key:2,class:`gal-full`,onClick:a[19]||=e=>H.value=null},[y(`img`,{src:H.value.contentUrl??H.value.thumbUrl,alt:`daq frame full`},null,8,bt)])):g(``,!0)],64))])):g(``,!0)])}}}),[[`__scopeId`,`data-v-51809669`]]);export{D as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{B as e,G as t,I as n}from"./rqZ-1SoP.js";import{C as r,F as i,M as a,St as o,a as s,et as c,f as l,gt as u,lt as d,mt as f,rt as p,tt as m,x as h}from"./BSCpFtzG.js";import{$ as g,At as _,Ct as v,L as y,O as b,P as x,R as S,W as C,d as w,f as T,h as E,j as D,kt as O,m as k,n as A,t as j,u as M}from"./BDUjyaF4.js";import{j as N,m as P,nt as F,x as ee}from"./DtBu71ev.js";import{t as I}from"./BfGc7TJp.js";import{K as L,W as te,_ as R,g as z,r as B,t as V}from"./VLI2Zy4t.js";import{_ as H,a as ne,b as U,f as re,i as ie,n as ae,o as oe,p as se,s as ce,t as le,x as W}from"./D-Ca4BGY.js";import{
|
|
1
|
+
import{B as e,G as t,I as n}from"./rqZ-1SoP.js";import{C as r,F as i,M as a,St as o,a as s,et as c,f as l,gt as u,lt as d,mt as f,rt as p,tt as m,x as h}from"./BSCpFtzG.js";import{$ as g,At as _,Ct as v,L as y,O as b,P as x,R as S,W as C,d as w,f as T,h as E,j as D,kt as O,m as k,n as A,t as j,u as M}from"./BDUjyaF4.js";import{j as N,m as P,nt as F,x as ee}from"./DtBu71ev.js";import{t as I}from"./BfGc7TJp.js";import{K as L,W as te,_ as R,g as z,r as B,t as V}from"./VLI2Zy4t.js";import{_ as H,a as ne,b as U,f as re,i as ie,n as ae,o as oe,p as se,s as ce,t as le,x as W}from"./D-Ca4BGY.js";import{t as ue}from"./BNXfwXpE.js";import{n as G}from"./ORt9oDIy2.js";var de=new b(`antFadeIn`,{"0%":{opacity:0},"100%":{opacity:1}}),fe=new b(`antFadeOut`,{"0%":{opacity:1},"100%":{opacity:0}}),pe=function(e){let t=arguments.length>1&&arguments[1]!==void 0&&arguments[1],{antCls:n}=e,r=`${n}-fade`,i=t?`&`:``;return[ee(r,de,fe,e.motionDurationMid,t),{[`
|
|
2
2
|
${i}${r}-enter,
|
|
3
3
|
${i}${r}-appear
|
|
4
4
|
`]:{opacity:0,animationTimingFunction:`linear`},[`${i}${r}-leave`]:{animationTimingFunction:`linear`}}]};function K(){return{keyboard:{type:Boolean,default:void 0},mask:{type:Boolean,default:void 0},afterClose:Function,closable:{type:Boolean,default:void 0},maskClosable:{type:Boolean,default:void 0},visible:{type:Boolean,default:void 0},destroyOnClose:{type:Boolean,default:void 0},mousePosition:j.shape({x:Number,y:Number}).loose,title:j.any,footer:j.any,transitionName:String,maskTransitionName:String,animation:j.any,maskAnimation:j.any,wrapStyle:{type:Object,default:void 0},bodyStyle:{type:Object,default:void 0},maskStyle:{type:Object,default:void 0},prefixCls:String,wrapClassName:String,rootClassName:String,width:[String,Number],height:[String,Number],zIndex:Number,bodyProps:j.any,maskProps:j.any,wrapProps:j.any,getContainer:j.any,dialogStyle:{type:Object,default:void 0},dialogClass:String,closeIcon:j.any,forceRender:{type:Boolean,default:void 0},getOpenCount:Function,focusTriggerAfterClose:{type:Boolean,default:void 0},onClose:Function,modalRender:Function}}function me(e,t,n){let r=t;return!r&&n&&(r=`${e}-${n}`),r}var he=-1;function ge(){return he+=1,he}function _e(e,t){let n=e[`page${t?`Y`:`X`}Offset`],r=`scroll${t?`Top`:`Left`}`;if(typeof n!=`number`){let t=e.document;n=t.documentElement[r],typeof n!=`number`&&(n=t.body[r])}return n}function ve(e){let t=e.getBoundingClientRect(),n={left:t.left,top:t.top},r=e.ownerDocument,i=r.defaultView||r.parentWindow;return n.left+=_e(i),n.top+=_e(i,!0),n}var ye={width:0,height:0,overflow:`hidden`,outline:`none`},be={outline:`none`},xe=r({compatConfig:{MODE:3},name:`DialogContent`,inheritAttrs:!1,props:O(O({},K()),{motionName:String,ariaId:String,onVisibleChanged:Function,onMousedown:Function,onMouseup:Function}),setup(e,r){let{expose:i,slots:o,attrs:s}=r,c=f(),u=f(),d=f();i({focus:()=>{var e;(e=c.value)==null||e.focus({preventScroll:!0})},changeActive:e=>{let{activeElement:t}=document;e&&t===u.value?c.value.focus({preventScroll:!0}):!e&&t===c.value&&u.value.focus({preventScroll:!0})}});let m=f(),g=l(()=>{let{width:t,height:n}=e,r={};return t!==void 0&&(r.width=typeof t==`number`?`${t}px`:t),n!==void 0&&(r.height=typeof n==`number`?`${n}px`:n),m.value&&(r.transformOrigin=m.value),r}),v=()=>{a(()=>{if(d.value){let t=ve(d.value);m.value=e.mousePosition?`${e.mousePosition.x-t.left}px ${e.mousePosition.y-t.top}px`:``}})},y=t=>{e.onVisibleChanged(t)};return()=>{let{prefixCls:r,footer:i=o.footer?.call(o),title:a=o.title?.call(o),ariaId:l,closable:f,closeIcon:m=o.closeIcon?.call(o),onClose:b,bodyStyle:x,bodyProps:S,onMousedown:C,onMouseup:w,visible:T,modalRender:E=o.modalRender,destroyOnClose:D,motionName:O}=e,k;i&&(k=h(`div`,{class:`${r}-footer`},[i]));let A;a&&(A=h(`div`,{class:`${r}-header`},[h(`div`,{class:`${r}-title`,id:l},[a])]));let j;f&&(j=h(`button`,{type:`button`,onClick:b,"aria-label":`Close`,class:`${r}-close`},[m||h(`span`,{class:`${r}-close-x`},null)]));let M=h(`div`,{class:`${r}-content`},[j,A,h(`div`,_({class:`${r}-body`,style:x},S),[o.default?.call(o)]),k]),N=W(O);return h(n,_(_({},N),{},{onBeforeEnter:v,onAfterEnter:()=>y(!0),onAfterLeave:()=>y(!1)}),{default:()=>[T||!D?p(h(`div`,_(_({},s),{},{ref:d,key:`dialog-element`,role:`document`,style:[g.value,s.style],class:[r,s.class],onMousedown:C,onMouseup:w}),[h(`div`,{tabindex:0,ref:c,style:be},[E?E({originVNode:M}):M]),h(`div`,{tabindex:0,ref:u,style:ye},null)]),[[t,T]]):null]})}}}),Se=r({compatConfig:{MODE:3},name:`DialogMask`,props:{prefixCls:String,visible:Boolean,motionName:String,maskProps:Object},setup(e,r){let{}=r;return()=>{let{prefixCls:r,visible:i,maskProps:a,motionName:o}=e,s=W(o);return h(n,s,{default:()=>[p(h(`div`,_({class:`${r}-mask`},a),null),[[t,i]])]})}}}),Ce=r({compatConfig:{MODE:3},name:`VcDialog`,inheritAttrs:!1,props:I(O(O({},K()),{getOpenCount:Function,scrollLocker:Object}),{mask:!0,visible:!1,keyboard:!0,closable:!0,maskClosable:!0,destroyOnClose:!1,prefixCls:`rc-dialog`,getOpenCount:()=>null,focusTriggerAfterClose:!0}),setup(e,t){let{attrs:n,slots:r}=t,a=u(),o=u(),s=u(),l=u(e.visible),d=u(`vcDialogTitle${ge()}`),f=t=>{var n,r;if(t)x(o.value,document.activeElement)||(a.value=document.activeElement,(n=s.value)==null||n.focus());else{let t=l.value;if(l.value=!1,e.mask&&a.value&&e.focusTriggerAfterClose){try{a.value.focus({preventScroll:!0})}catch{}a.value=null}t&&((r=e.afterClose)==null||r.call(e))}},p=t=>{var n;(n=e.onClose)==null||n.call(e,t)},g=u(!1),y=u(),b=()=>{clearTimeout(y.value),g.value=!0},S=()=>{y.value=setTimeout(()=>{g.value=!1})},C=t=>{if(!e.maskClosable)return null;g.value?g.value=!1:o.value===t.target&&p(t)},w=t=>{if(e.keyboard&&t.keyCode===z.ESC){t.stopPropagation(),p(t);return}e.visible&&t.keyCode===z.TAB&&s.value.changeActive(!t.shiftKey)};return c(()=>e.visible,()=>{e.visible&&(l.value=!0)},{flush:`post`}),i(()=>{var t;clearTimeout(y.value),(t=e.scrollLocker)==null||t.unLock()}),m(()=>{var t,n;(t=e.scrollLocker)==null||t.unLock(),l.value&&((n=e.scrollLocker)==null||n.lock())}),()=>{let{prefixCls:t,mask:i,visible:a,maskTransitionName:c,maskAnimation:u,zIndex:m,wrapClassName:g,rootClassName:y,wrapStyle:x,closable:T,maskProps:E,maskStyle:D,transitionName:k,animation:A,wrapProps:j,title:M=r.title}=e,{style:P,class:F}=n;return h(`div`,_({class:[`${t}-root`,y]},N(e,{data:!0})),[h(Se,{prefixCls:t,visible:i&&a,motionName:me(t,c,u),style:O({zIndex:m},D),maskProps:E},null),h(`div`,_({tabIndex:-1,onKeydown:w,class:v(`${t}-wrap`,g),ref:o,onClick:C,role:`dialog`,"aria-labelledby":M?d.value:null,style:O(O({zIndex:m},x),{display:l.value?null:`none`})},j),[h(xe,_(_({},L(e,[`scrollLocker`])),{},{style:P,class:F,onMousedown:b,onMouseup:S,ref:s,closable:T,ariaId:d.value,prefixCls:t,visible:a,onClose:p,onVisibleChanged:f,motionName:me(t,k,A)}),r)])])}}}),we=K(),Te=r({compatConfig:{MODE:3},name:`DialogWrap`,inheritAttrs:!1,props:I(we,{visible:!1}),setup(e,t){let{attrs:n,slots:r}=t,i=f(e.visible);return H({},{inTriggerContext:!1}),c(()=>e.visible,()=>{e.visible&&(i.value=!0)},{flush:`post`}),()=>{let{visible:t,getContainer:a,forceRender:o,destroyOnClose:s=!1,afterClose:c}=e,l=O(O(O({},e),n),{ref:`_component`,key:`dialog`});return a===!1?h(Ce,_(_({},l),{},{getOpenCount:()=>2}),r):!o&&s&&!i.value?null:h(R,{autoLock:!0,visible:t,forceRender:o,getContainer:a},{default:e=>(l=O(O(O({},l),e),{afterClose:()=>{c?.(),i.value=!1}}),h(Ce,l,r))})}}});function Ee(e){return{position:e,top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0}}var De=e=>{let{componentCls:t}=e;return[{[`${t}-root`]:{[`${t}${e.antCls}-zoom-enter, ${t}${e.antCls}-zoom-appear`]:{transform:`none`,opacity:0,animationDuration:e.motionDurationSlow,userSelect:`none`},[`${t}${e.antCls}-zoom-leave ${t}-content`]:{pointerEvents:`none`},[`${t}-mask`]:O(O({},Ee(`fixed`)),{zIndex:e.zIndexPopupBase,height:`100%`,backgroundColor:e.colorBgMask,[`${t}-hidden`]:{display:`none`}}),[`${t}-wrap`]:O(O({},Ee(`fixed`)),{overflow:`auto`,outline:0,WebkitOverflowScrolling:`touch`})}},{[`${t}-root`]:pe(e)}]},Oe=e=>{let{componentCls:t}=e;return[{[`${t}-root`]:{[`${t}-wrap`]:{zIndex:e.zIndexPopupBase,position:`fixed`,inset:0,overflow:`auto`,outline:0,WebkitOverflowScrolling:`touch`},[`${t}-wrap-rtl`]:{direction:`rtl`},[`${t}-centered`]:{textAlign:`center`,"&::before":{display:`inline-block`,width:0,height:`100%`,verticalAlign:`middle`,content:`""`},[t]:{top:0,display:`inline-block`,paddingBottom:0,textAlign:`start`,verticalAlign:`middle`}},[`@media (max-width: ${e.screenSMMax})`]:{[t]:{maxWidth:`calc(100vw - 16px)`,margin:`${e.marginXS} auto`},[`${t}-centered`]:{[t]:{flex:1}}}}},{[t]:O(O({},E(e)),{pointerEvents:`none`,position:`relative`,top:100,width:`auto`,maxWidth:`calc(100vw - ${e.margin*2}px)`,margin:`0 auto`,paddingBottom:e.paddingLG,[`${t}-title`]:{margin:0,color:e.modalHeadingColor,fontWeight:e.fontWeightStrong,fontSize:e.modalHeaderTitleFontSize,lineHeight:e.modalHeaderTitleLineHeight,wordWrap:`break-word`},[`${t}-content`]:{position:`relative`,backgroundColor:e.modalContentBg,backgroundClip:`padding-box`,border:0,borderRadius:e.borderRadiusLG,boxShadow:e.boxShadowSecondary,pointerEvents:`auto`,padding:`${e.paddingMD}px ${e.paddingContentHorizontalLG}px`},[`${t}-close`]:O({position:`absolute`,top:(e.modalHeaderCloseSize-e.modalCloseBtnSize)/2,insetInlineEnd:(e.modalHeaderCloseSize-e.modalCloseBtnSize)/2,zIndex:e.zIndexPopupBase+10,padding:0,color:e.modalCloseColor,fontWeight:e.fontWeightStrong,lineHeight:1,textDecoration:`none`,background:`transparent`,borderRadius:e.borderRadiusSM,width:e.modalConfirmIconSize,height:e.modalConfirmIconSize,border:0,outline:0,cursor:`pointer`,transition:`color ${e.motionDurationMid}, background-color ${e.motionDurationMid}`,"&-x":{display:`block`,fontSize:e.fontSizeLG,fontStyle:`normal`,lineHeight:`${e.modalCloseBtnSize}px`,textAlign:`center`,textTransform:`none`,textRendering:`auto`},"&:hover":{color:e.modalIconHoverColor,backgroundColor:e.wireframe?`transparent`:e.colorFillContent,textDecoration:`none`},"&:active":{backgroundColor:e.wireframe?`transparent`:e.colorFillContentHover}},k(e)),[`${t}-header`]:{color:e.colorText,background:e.modalHeaderBg,borderRadius:`${e.borderRadiusLG}px ${e.borderRadiusLG}px 0 0`,marginBottom:e.marginXS},[`${t}-body`]:{fontSize:e.fontSize,lineHeight:e.lineHeight,wordWrap:`break-word`},[`${t}-footer`]:{textAlign:`end`,background:e.modalFooterBg,marginTop:e.marginSM,[`${e.antCls}-btn + ${e.antCls}-btn:not(${e.antCls}-dropdown-trigger)`]:{marginBottom:0,marginInlineStart:e.marginXS}},[`${t}-open`]:{overflow:`hidden`}})},{[`${t}-pure-panel`]:{top:`auto`,padding:0,display:`flex`,flexDirection:`column`,[`${t}-content,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as e}from"./BDUjyaF4.js";var t=()=>e()&&window.document.documentElement,n=t=>{if(e()&&window.document.documentElement){let e=Array.isArray(t)?t:[t],{documentElement:n}=window.document;return e.some(e=>e in n.style)}return!1},r=(e,t)=>{if(!n(e))return!1;let r=document.createElement(`div`),i=r.style[e];return r.style[e]=t,r.style[e]!==i};function i(e,t){return!Array.isArray(e)&&t!==void 0?r(e,t):n(e)}var a,o=()=>{if(!t())return!1;if(a!==void 0)return a;let e=document.createElement(`div`);return e.style.display=`flex`,e.style.flexDirection=`column`,e.style.rowGap=`1px`,e.appendChild(document.createElement(`div`)),e.appendChild(document.createElement(`div`)),document.body.appendChild(e),a=e.scrollHeight===1,document.body.removeChild(e),a};export{o as n,i as r,t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,F as t,O as n,U as r,f as i,mt as a,x as o,z as s}from"./BSCpFtzG.js";import{At as c,Ct as l,d as u,et as d,kt as f,n as p,u as m}from"./BDUjyaF4.js";import{n as h,t as g}from"./D95h62Jn.js";import{r as _}from"./ORt9oDIy2.js";var v=Symbol(`rowContextKey`),y=e=>{r(v,e)},b=()=>n(v,{gutter:i(()=>void 0),wrap:i(()=>void 0),supportFlexGap:i(()=>void 0)}),x=e=>{let{componentCls:t}=e;return{[t]:{display:`flex`,flexFlow:`row wrap`,minWidth:0,"&::before, &::after":{display:`flex`},"&-no-wrap":{flexWrap:`nowrap`},"&-start":{justifyContent:`flex-start`},"&-center":{justifyContent:`center`},"&-end":{justifyContent:`flex-end`},"&-space-between":{justifyContent:`space-between`},"&-space-around ":{justifyContent:`space-around`},"&-space-evenly ":{justifyContent:`space-evenly`},"&-top":{alignItems:`flex-start`},"&-middle":{alignItems:`center`},"&-bottom":{alignItems:`flex-end`}}}},S=e=>{let{componentCls:t}=e;return{[t]:{position:`relative`,maxWidth:`100%`,minHeight:1}}},C=(e,t)=>{let{componentCls:n,gridColumns:r}=e,i={};for(let e=r;e>=0;e--)e===0?(i[`${n}${t}-${e}`]={display:`none`},i[`${n}-push-${e}`]={insetInlineStart:`auto`},i[`${n}-pull-${e}`]={insetInlineEnd:`auto`},i[`${n}${t}-push-${e}`]={insetInlineStart:`auto`},i[`${n}${t}-pull-${e}`]={insetInlineEnd:`auto`},i[`${n}${t}-offset-${e}`]={marginInlineEnd:0},i[`${n}${t}-order-${e}`]={order:0}):(i[`${n}${t}-${e}`]={display:`block`,flex:`0 0 ${e/r*100}%`,maxWidth:`${e/r*100}%`},i[`${n}${t}-push-${e}`]={insetInlineStart:`${e/r*100}%`},i[`${n}${t}-pull-${e}`]={insetInlineEnd:`${e/r*100}%`},i[`${n}${t}-offset-${e}`]={marginInlineStart:`${e/r*100}%`},i[`${n}${t}-order-${e}`]={order:e});return i},w=(e,t)=>C(e,t),T=(e,t,n)=>({[`@media (min-width: ${t}px)`]:f({},w(e,n))}),E=u(`Grid`,e=>[x(e)]),D=u(`Grid`,e=>{let t=m(e,{gridColumns:24}),n={"-sm":t.screenSMMin,"-md":t.screenMDMin,"-lg":t.screenLGMin,"-xl":t.screenXLMin,"-xxl":t.screenXXLMin};return[S(t),w(t,``),w(t,`-xs`),Object.keys(n).map(e=>T(t,n[e],e)).reduce((e,t)=>f(f({},e),t),{})]}),O=e({compatConfig:{MODE:3},name:`ARow`,inheritAttrs:!1,props:{align:d([String,Object]),justify:d([String,Object]),prefixCls:String,gutter:d([Number,Array,Object],0),wrap:{type:Boolean,default:void 0}},setup(e,n){let{slots:r,attrs:u}=n,{prefixCls:d,direction:m}=p(`row`,e),[v,b]=E(d),x,S=h(),C=a({xs:!0,sm:!0,md:!0,lg:!0,xl:!0,xxl:!0}),w=a({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,xxl:!1}),T=t=>i(()=>{if(typeof e[t]==`string`)return e[t];if(typeof e[t]!=`object`)return``;for(let n=0;n<g.length;n++){let r=g[n];if(!w.value[r])continue;let i=e[t][r];if(i!==void 0)return i}return``}),D=T(`align`),O=T(`justify`),k=_();s(()=>{x=S.value.subscribe(t=>{w.value=t;let n=e.gutter||0;(!Array.isArray(n)&&typeof n==`object`||Array.isArray(n)&&(typeof n[0]==`object`||typeof n[1]==`object`))&&(C.value=t)})}),t(()=>{S.value.unsubscribe(x)});let A=i(()=>{let t=[void 0,void 0],{gutter:n=0}=e;return(Array.isArray(n)?n:[n,void 0]).forEach((e,n)=>{if(typeof e==`object`)for(let r=0;r<g.length;r++){let i=g[r];if(C.value[i]&&e[i]!==void 0){t[n]=e[i];break}}else t[n]=e}),t});y({gutter:A,supportFlexGap:k,wrap:i(()=>e.wrap)});let j=i(()=>l(d.value,{[`${d.value}-no-wrap`]:e.wrap===!1,[`${d.value}-${O.value}`]:O.value,[`${d.value}-${D.value}`]:D.value,[`${d.value}-rtl`]:m.value===`rtl`},u.class,b.value)),M=i(()=>{let e=A.value,t={},n=e[0]!=null&&e[0]>0?`${e[0]/-2}px`:void 0,r=e[1]!=null&&e[1]>0?`${e[1]/-2}px`:void 0;return n&&(t.marginLeft=n,t.marginRight=n),k.value?t.rowGap=`${e[1]}px`:r&&(t.marginTop=r,t.marginBottom=r),t});return()=>v(o(`div`,c(c({},u),{},{class:j.value,style:f(f({},M.value),u.style)}),[r.default?.call(r)]))}});function k(e){return typeof e==`number`?`${e} ${e} auto`:/^\d+(\.\d+)?(px|em|rem|%)$/.test(e)?`0 0 ${e}`:e}var A=()=>({span:[String,Number],order:[String,Number],offset:[String,Number],push:[String,Number],pull:[String,Number],xs:{type:[String,Number,Object],default:void 0},sm:{type:[String,Number,Object],default:void 0},md:{type:[String,Number,Object],default:void 0},lg:{type:[String,Number,Object],default:void 0},xl:{type:[String,Number,Object],default:void 0},xxl:{type:[String,Number,Object],default:void 0},prefixCls:String,flex:[String,Number]}),j=[`xs`,`sm`,`md`,`lg`,`xl`,`xxl`],M=e({compatConfig:{MODE:3},name:`ACol`,inheritAttrs:!1,props:A(),setup(e,t){let{slots:n,attrs:r}=t,{gutter:a,supportFlexGap:s,wrap:u}=b(),{prefixCls:d,direction:m}=p(`col`,e),[h,g]=D(d),_=i(()=>{let{span:t,order:n,offset:i,push:a,pull:o}=e,s=d.value,c={};return j.forEach(t=>{let n={},r=e[t];typeof r==`number`?n.span=r:typeof r==`object`&&(n=r||{}),c=f(f({},c),{[`${s}-${t}-${n.span}`]:n.span!==void 0,[`${s}-${t}-order-${n.order}`]:n.order||n.order===0,[`${s}-${t}-offset-${n.offset}`]:n.offset||n.offset===0,[`${s}-${t}-push-${n.push}`]:n.push||n.push===0,[`${s}-${t}-pull-${n.pull}`]:n.pull||n.pull===0,[`${s}-rtl`]:m.value===`rtl`})}),l(s,{[`${s}-${t}`]:t!==void 0,[`${s}-order-${n}`]:n,[`${s}-offset-${i}`]:i,[`${s}-push-${a}`]:a,[`${s}-pull-${o}`]:o},c,r.class,g.value)}),v=i(()=>{let{flex:t}=e,n=a.value,r={};if(n&&n[0]>0){let e=`${n[0]/2}px`;r.paddingLeft=e,r.paddingRight=e}if(n&&n[1]>0&&!s.value){let e=`${n[1]/2}px`;r.paddingTop=e,r.paddingBottom=e}return t&&(r.flex=k(t),u.value===!1&&!r.minWidth&&(r.minWidth=0)),r});return()=>h(o(`div`,c(c({},r),{},{class:_.value,style:[v.value,r.style]}),[n.default?.call(n)]))}});export{O as n,M as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{H as e,U as t,W as n,q as r}from"./rqZ-1SoP.js";import{B as i,C as a,G as o,H as s,Ht as c,St as l,Ut as ee,Wt as u,a as d,b as f,f as p,ft as m,g as h,h as g,mt as _,nt as te,p as v,rt as y,t as b,x as ne}from"./BSCpFtzG.js";import{a as re}from"./vJ4FPb-_.js";import{t as ie}from"./D8CqF0yy.js";import{n as ae}from"./BeIfu4N3.js";import{t as oe}from"./C9f8QMp12.js";import{t as x}from"./G0qIw7Gq2.js";import{n as se,t as ce}from"./CUMdhxg9.js";import{t as le}from"./BC8s1Guv.js";import{t as ue}from"./BUPj10t4.js";var de={key:0,class:`page`},fe={class:`banner bad`},pe={key:1,class:`page`},me={class:`aw-page-head`},he={class:`aw-kicker`},ge={class:`sub`},_e={class:`badges mono`},ve={class:`badge`},ye={class:`badge`},be={class:`badge`},xe={class:`aw-tile ctrl-card`},Se={class:`ctrl-left`},Ce=[`title`],we={class:`ctrl-right`},Te={class:`ctrl-metrics mono`},Ee=[`title`],De=[`title`],Oe=[`title`],ke={key:1,class:`aw-tile adopt-card`},Ae={class:`adopt-title`},je={class:`adopt-list`},Me=[`onClick`],Ne=[`onClick`],Pe={class:`aw-tile line-card`},Fe={class:`line-status`},Ie={class:`line-info`},Le={key:0,class:`mono dim`},Re={key:1,class:`dim`},ze={class:`line-ctl`},Be={class:`ctl-sel`},Ve={value:``},He=[`value`],Ue={class:`ctl-sel`},We=[`disabled`],Ge={value:``},Ke=[`value`,`disabled`],qe=[`disabled`,`title`],Je=[`disabled`],Ye={key:0,class:`banner bad`,style:{"margin-top":`10px`}},Xe={key:1,class:`banner good`,style:{"margin-top":`10px`}},Ze={class:`modal`},Qe={class:`m-title`},$e={class:`dim mono`},et={class:`dim tpl-hint`},tt={class:`tpl-chips`},nt=[`title`],rt={class:`mono`},it={class:`sec-label`},at={class:`f-grid tpl-form`},ot={class:`f`},st=[`placeholder`],ct={class:`f`},lt=[`placeholder`],ut={class:`f`},dt={class:`f`},ft={class:`f`},pt=[`placeholder`],mt={class:`f`},ht=[`placeholder`],gt={class:`f`},_t={class:`f`},vt=[`value`],yt={class:`f`},bt=[`placeholder`],xt={key:0,class:`banner good`,style:{"margin-top":`10px`}},St={key:1,class:`m-err`},Ct={class:`m-actions`},wt=[`disabled`],Tt={class:`modal`},Et={class:`m-title`},Dt={class:`seg-row`},Ot={class:`f-grid`},kt={class:`f`},At=[`value`],jt={class:`f`},Mt=[`placeholder`],Nt={class:`f`},Pt=[`placeholder`],Ft={class:`f`},It=[`placeholder`],Lt={class:`f-grid cal-form`},Rt={class:`f`},zt={value:`none`},Bt={class:`f`},Vt={style:{display:`flex`,gap:`6px`}},Ht=[`disabled`],Ut=[`disabled`],Wt={class:`f-grid`},Gt={class:`f`},Kt=[`value`],qt={key:0,class:`f-grid driver-form`},Jt={key:0,style:{color:`var(--tone-danger-dot)`,"font-style":`normal`}},Yt=[`onUpdate:modelValue`],Xt=[`value`],Zt=[`onUpdate:modelValue`,`type`,`placeholder`],Qt={key:2,class:`hint`},$t={class:`test-row`},en=[`disabled`],tn={class:`f`},nn=[`placeholder`],rn={key:1,class:`m-err`},an={class:`m-actions`},on=[`disabled`],sn={class:`aw-tile table-card`},cn={class:`nodes-table`},ln={class:`right`},un={class:`mono dim`},dn={class:`mono ch`},fn=[`disabled`,`title`,`onClick`],pn={key:0,class:`st-pill paused`},mn={class:`mono val`},hn={key:0,class:`dim`},gn={class:`mono val`},_n=[`title`],vn={key:0,class:`dim`},yn=[`disabled`,`title`,`onClick`],bn={class:`write-row`},xn=[`onUpdate:modelValue`,`placeholder`,`min`,`max`,`step`,`disabled`,`title`],Sn=[`disabled`,`title`,`onClick`],Cn={class:`mono dim`},wn={class:`mono`},Tn=[`title`],En={class:`right`},Dn=[`onClick`],On={key:0},kn={colspan:`9`},An={class:`pane-empty`,style:{"min-height":`120px`}},jn={class:`pe-sub`},Mn={class:`aw-tile recipe-card`},Nn={class:`recipe-hd`},Pn={class:`panel-tag mono`},Fn={class:`recipe-sub`},In={key:0,class:`product-row`},Ln=[`title`,`onClick`],Rn=[`title`,`onClick`],zn={key:1,class:`dim`,style:{margin:`6px 0 12px`,"font-size":`12px`}},Bn={class:`recipe-grid`},Vn={class:`recipe-name`},Hn={class:`dim`},Un={class:`mono dim`},Wn={key:0,class:`dim desc`},Gn={class:`recipe-params mono`},Kn=[`title`],qn={class:`recipe-actions`},Jn=[`onClick`],Yn=[`onClick`],Xn=[`onClick`],Zn={key:0,class:`pane-empty`,style:{"grid-column":`1 / -1`}},Qn={key:2,class:`banner good`},$n=[`disabled`],er={key:3,class:`runs`},tr={class:`sec-label`},nr={class:`nodes-table`},rr={class:`right`},ir={class:`mono`},ar={class:`mono dim`},or={class:`right`},sr=[`disabled`,`onClick`],cr=[`onClick`],lr={class:`modal`},ur={class:`m-title`},dr={class:`sec-label`},fr={class:`nodes-table`},pr={class:`mono dim`},mr={class:`mono`},hr={class:`mono`},gr={class:`mono dim`},_r={class:`mono dim`},vr={key:0},yr={colspan:`6`,class:`dim`,style:{"text-align":`center`,padding:`12px`}},br={class:`sec-label`},xr={class:`nodes-table`},Sr={class:`mono`},Cr={class:`mono dim`},wr={class:`mono dim`},Tr={key:0},Er={colspan:`6`,class:`dim`,style:{"text-align":`center`,padding:`12px`}},Dr={class:`m-actions`},Or={class:`modal`},kr={class:`m-title`},Ar={class:`f-grid`},jr={class:`f`},Mr=[`value`],Nr={class:`f`},Pr=[`placeholder`],Fr={class:`f`},Ir=[`placeholder`],Lr={class:`sec-label`},Rr={class:`f`},zr=[`onUpdate:modelValue`],Br=[`value`],Vr={class:`f`},Hr=[`onUpdate:modelValue`],Ur={class:`f`},Wr=[`onUpdate:modelValue`,`placeholder`],Gr={class:`f`},Kr=[`onUpdate:modelValue`,`placeholder`],qr=[`onClick`],Jr={class:`sec-label`},Yr={class:`f`},Xr=[`onUpdate:modelValue`],Zr=[`value`],Qr={class:`f`},$r=[`onUpdate:modelValue`],ei={class:`f`},ti=[`onUpdate:modelValue`],ni=[`onClick`],ri=[`disabled`,`title`],ii={key:0,class:`m-err`},ai={class:`m-actions`},oi=[`disabled`],si={class:`aw-tile query-card`},ci={class:`sec-label`},li={class:`q-grid`},ui={class:`f`},di={value:``},fi=[`value`],pi={class:`f`},mi=[`disabled`],hi={value:``},gi=[`value`],_i={class:`f`},vi={value:``},yi=[`value`],bi={class:`f`},xi={value:``},Si=[`value`],Ci={class:`f`},wi={class:`f`},Ti={class:`f q-actions`},Ei=[`disabled`],Di={key:0,class:`banner bad`,style:{"margin-top":`8px`}},Oi={key:1,class:`q-result`},ki={class:`nodes-table`},Ai={class:`mono dim`},ji={class:`mono`},Mi={class:`mono`},Ni={class:`mono`},Pi={class:`mono dim`},Fi={key:5,class:`aw-tile table-card`},Ii={class:`sec-label`},Li={class:`nodes-table`},Ri={class:`mono dim`},zi={class:`mono`},Bi={class:`mono dim`},Vi={class:`dim`},Hi={class:`modal`},Ui={class:`m-title`},Wi={class:`f-grid`},Gi={class:`f`},Ki=[`placeholder`],qi={class:`f`},Ji=[`placeholder`],Yi={key:0,class:`m-err`},Xi={class:`m-actions`},Zi=[`disabled`],Qi={key:7,class:`err`},$i={class:`aw-tile ledger-card`},ea={class:`ledger-head`},ta={value:``},na=[`value`],ra={class:`ledger-tri`},ia={class:`tri-cell`},aa={class:`mono`},oa={class:`tri-cell`},sa={class:`mono`},ca={class:`tri-cell`},la={class:`mono`},ua={class:`ledger-cols`},da={class:`ledger-col`},fa={class:`sec-t`},pa={class:`ledger-list mono`},ma={class:`ledger-col`},ha={class:`sec-t`},ga={class:`ledger-list`},_a={class:`mono`},va=b(a({__name:`[id]`,setup(a){let{t:b}=ae(),va=re(),S=ce(),ya=le(),ba=ue();ya.load();let C=p(()=>String(va.params.id??``)),xa=p(()=>S.lines.find(e=>e.id===C.value)),w=p(()=>S.lineStateOf(C.value));S.load();let Sa=S.ensureWsFeed();i(()=>Sa());let Ca=e=>e?ba.twins.find(t=>t.id===e)?.name??e:b(`dcwDetail.k3own4q121`),wa={idle:b(`dcwDetail.k3zgkk122`),writing:b(`dcwDetail.k3l3h80123`),ok:`已 ACK`,error:b(`dcwDetail.k40reu124`),offline:b(`dcwDetail.k44c2n125`)};function Ta(e){let t=e??``;return S.templates.find(e=>e.key===(t.startsWith(`dcw-`)?t.slice(4):t))?.ch??t}function Ea(e){return S.nodeById(e)?.min}function Da(e){return S.nodeById(e)?.max}let T=p(()=>ya.nodes.filter(e=>e.lineId===C.value)),E=_(``),D=_(null),Oa=_(!1);async function ka(){if(E.value){Oa.value=!0;try{D.value=await S.fetchLedger(E.value)}finally{Oa.value=!1}}}async function Aa(){E.value&&(await S.rollbackNode(E.value),await ka())}function ja(e){return ya.nodeById(e)?.name??e}let O=p(()=>S.nodes.filter(e=>e.lineId===C.value)),k=p(()=>S.products.filter(e=>e.lineId===C.value)),Ma=p(()=>S.recipes.filter(e=>e.lineId===C.value)),Na=p(()=>S.runs.filter(e=>e.lineId===C.value)),Pa=p(()=>{let e=new Set(O.value.map(e=>e.id));return S.history.filter(t=>e.has(t.nodeId))}),Fa=p(()=>S.nodes.filter(e=>!e.lineId)),Ia=p(()=>S.products.filter(e=>!e.lineId));async function La(e){await S.patchNode(e,{lineId:C.value});let t=S.nodeById(e);t&&(t.lineId=C.value)}async function Ra(e){await S.updateProduct(e,{lineId:C.value}),await S.load()}let A=m({}),za=_(``),j=_(``),Ba=_(``);async function Va(e,t){za.value=e,j.value=``,Ba.value=``;try{let n=await S.write(e,t);n.ok?(Ba.value=b(`dcwDetail.k1alcbyu182`,{p0:S.nodeById(e)?.name??e,p1:n.message}),A[e]=``):j.value=b(`dcwDetail.kl1e9x9183`,{p0:S.nodeById(e)?.name??e,p1:n.message})}catch(e){j.value=x(e)}finally{za.value=``}}let Ha=_(``);async function Ua(e){Ha.value=e,j.value=``;try{await S.readNode(e)}catch(e){j.value=x(e)}finally{Ha.value=``}}let Wa=_(``);async function Ga(e,t){Wa.value=e,j.value=``;try{await S.patchNode(e,{enabled:t});let n=S.nodeById(e);n&&(n.enabled=t,t?n.state===`offline`&&(n.state=`idle`):n.state=`offline`)}catch(e){j.value=x(e)}finally{Wa.value=``}}let M=_(!1),N=_(`mock`),Ka=_(S.templates[0]?.key??``),P=_(`mock`),qa=_(``),Ja=_(null),Ya=_(null),F=_({}),I=m({kind:`none`,scale:1,offset:0}),Xa=_(``),Za=_(!1),L=_(null),Qa=_(!1),$a=_(``),eo=p(()=>se.find(e=>e.kind===P.value)),to=p(()=>eo.value?.configFields??[]);function no(){let e={};for(let t of to.value)t.default!==void 0&&(e[t.key]=t.default);F.value=e,L.value=null}no();async function ro(){Za.value=!0,L.value=null;try{L.value=await S.testDriver(P.value,F.value)}catch(e){L.value={ok:!1,message:x(e)}}finally{Za.value=!1}}async function io(){Qa.value=!0,$a.value=``;try{for(let e of to.value)if(e.required&&(F.value[e.key]===void 0||F.value[e.key]===``))throw Error(b(`dcwDetail.k8x1un1184`,{p0:e.label}));let e=I.kind===`linear`?{kind:`linear`,scale:Number(I.scale),offset:Number(I.offset)}:void 0;await S.createFromTemplate(`dcw-${Ka.value}`,{name:qa.value.trim()||void 0,driver:P.value,driverConfig:{...F.value},transform:e,holdIntervalMs:Ja.value,readIntervalMs:Ya.value,lineId:C.value,semantics:Xa.value.trim()||void 0}),M.value=!1,qa.value=``,Xa.value=``}catch(e){$a.value=x(e)}finally{Qa.value=!1}}let ao=_(!1),oo=_(!1),R=_(``),so=_(``);function co(){ao.value=!0,R.value=``,so.value=``}let z=m({name:``,ch:``,code:``,unit:``,min:``,max:``,decimals:1,icon:`gateway`,semantics:``}),lo=[{key:`thermo`,label:b(`dcwDetail.k422b8126`)},{key:`pressure`,label:b(`dcwDetail.k3x6ff127`)},{key:`tension`,label:b(`dcwDetail.k3z9xc128`)},{key:`encoder`,label:b(`dcwDetail.kjb3vhs129`)},{key:`camera`,label:b(`dcwDetail.k47atw130`)},{key:`gateway`,label:b(`dcwDetail.k48c07131`)}];async function uo(){oo.value=!0,R.value=``,so.value=``;try{if(!z.name.trim())throw Error(b(`dcwDetail.k6ugbw2132`));if(z.unit.trim()===``)throw Error(b(`dcwDetail.kx3pg59133`));if(z.min===``||z.max===``)throw Error(b(`dcwDetail.k13awowo134`));let e=await S.createTemplate({name:z.name.trim(),ch:z.ch.trim()||z.name.trim(),code:z.code.trim()||`CUSTOM`,unit:z.unit.trim(),min:Number(z.min),max:Number(z.max),decimals:Number(z.decimals)||0,icon:z.icon,semantics:z.semantics.trim()||void 0});Ka.value=e.key,so.value=b(`dcwDetail.ky4e1tr185`,{p0:e.name}),z.name=``,z.ch=``,z.code=``,z.unit=``,z.min=``,z.max=``,z.semantics=``}catch(e){R.value=x(e)}finally{oo.value=!1}}let B=_(``),V=_(``),H=_(!1),U=_(``),W=_(``),fo=p(()=>Ma.value.filter(e=>e.productId===B.value));async function po(){H.value=!0,U.value=``,W.value=``;try{if(!V.value)throw Error(b(`dcwDetail.k1b6qe0r135`));await S.startLine(C.value,V.value),U.value=b(`dcwDetail.k17jteb9186`,{p0:w.value.productName,p1:w.value.recipeName,p2:w.value.runId})}catch(e){W.value=x(e)}finally{H.value=!1}}async function mo(){H.value=!0,U.value=``,W.value=``;try{let e=`${w.value.productName??``} · ${w.value.recipeName??``}`;await S.stopLine(C.value),U.value=b(`dcwDetail.kzl49pd187`,{p0:e})}catch(e){W.value=x(e)}finally{H.value=!1}}let ho=_(!1),go=_(!1),_o=_(``),G=m({name:``,description:``}),K=_(``);async function vo(){go.value=!0,_o.value=``;try{let e=await S.createProduct({name:G.name.trim(),description:G.description.trim(),lineId:C.value});B.value=e.id,K.value=e.id,ho.value=!1,G.name=``,G.description=``}catch(e){_o.value=x(e)}finally{go.value=!1}}let yo=p(()=>K.value?Ma.value.filter(e=>e.productId===K.value):Ma.value),bo=e=>S.products.find(t=>t.id===e)?.name??e,q=m({productId:``,recipeId:``,paramKey:``,nodeId:``,lastMin:30,bucketMs:15e3}),xo=_(null),So=_(!1),J=_(``);async function Co(){So.value=!0,J.value=``,xo.value=null;try{xo.value=await S.queryLine({lineId:C.value,productId:q.productId||void 0,recipeId:q.recipeId||void 0,paramKey:q.paramKey||void 0,nodeId:q.nodeId||void 0,fromMs:Date.now()-q.lastMin*6e4,toMs:Date.now(),bucketMs:q.bucketMs>0?q.bucketMs:void 0,limit:2e3}),xo.value.channels.length===0&&(J.value=b(`dcwDetail.kszv5sq136`))}catch(e){J.value=x(e)}finally{So.value=!1}}let wo=p(()=>S.templates.map(e=>e.key)),Y=_(!1),To=_(null),Eo=_(!1),X=_(``),Z=m({productId:``,name:``,description:``,params:[],daqWindows:[]}),Q=_(null),$=_(null),Do=_(!1);function Oo(){To.value=null,X.value=``,Z.productId=K.value||B.value||k.value[0]?.id||``,Z.name=``,Z.description=``,Z.params=[{nodeId:O.value[0]?.id??``,value:``,min:``,max:``}],Z.daqWindows=[],Y.value=!0}function ko(e){let t=S.recipes.find(t=>t.id===e);t&&(To.value=e,X.value=``,Z.productId=t.productId,Z.name=t.name,Z.description=t.description,Z.params=t.params.map(e=>({nodeId:e.nodeId,value:e.value,min:e.min??``,max:e.max??``})),Z.daqWindows=(t.daqWindows??[]).map(e=>({nodeId:e.nodeId,min:e.min??``,max:e.max??``})),Y.value=!0)}async function Ao(){Eo.value=!0,X.value=``;try{let e={productId:Z.productId,name:Z.name.trim(),description:Z.description.trim(),params:Z.params.filter(e=>e.nodeId&&e.value!==``&&Number.isFinite(Number(e.value))).map(e=>({nodeId:e.nodeId,value:Number(e.value),...e.min!==``&&Number.isFinite(Number(e.min))?{min:Number(e.min)}:{},...e.max!==``&&Number.isFinite(Number(e.max))?{max:Number(e.max)}:{}})),daqWindows:Z.daqWindows.filter(e=>e.nodeId&&(e.min!==``||e.max!==``)).map(e=>({nodeId:e.nodeId,...e.min!==``&&Number.isFinite(Number(e.min))?{min:Number(e.min)}:{},...e.max!==``&&Number.isFinite(Number(e.max))?{max:Number(e.max)}:{}}))};To.value?await S.updateRecipe(To.value,e):await S.createRecipe(e),Y.value=!1}catch(e){X.value=x(e)}finally{Eo.value=!1}}async function jo(e){Q.value=null,j.value=``;try{let t=await S.applyRecipe(e),n=t.results.filter(e=>e.ok).length;Q.value={runId:t.id,ok:n,total:t.results.length},n<t.results.length&&(j.value=b(`dcwDetail.ks7szkt188`,{p0:t.results.filter(e=>!e.ok).map(e=>e.message).join(`;`)}))}catch(e){j.value=x(e)}}async function Mo(e){Do.value=!0;try{let t=await S.runData(e);$.value={runId:e,data:t}}catch(e){j.value=x(e)}finally{Do.value=!1}}function No(e){let t=e?.value??e?.avg;return t==null?`--`:String(Math.round(t*1e3)/1e3)}return(i,a)=>{let p=ie,m=oe;return l(S).loaded&&!xa.value?(s(),h(`div`,de,[v(`p`,fe,u(i.$t(`dcwDetail.k19337yp018`)),1),ne(p,{class:`pill-btn`,to:`/dcw`},{default:te(()=>[f(u(i.$t(`dcwDetail.kllwu1c019`)),1)]),_:1})])):(s(),h(`div`,pe,[v(`div`,me,[v(`div`,null,[v(`p`,he,[v(`span`,{class:`line-chip`,style:ee({background:xa.value?.color??`#3aa0ff`})},null,4),f(`AGENTWORKSHOP / LINE / `+u(xa.value?.name??C.value),1)]),v(`h1`,null,u(xa.value?.name??i.$t(`dcwDetail.k1b2snna151`))+` · `+u(i.$t(`dcwDetail.k1l0iow1137`)),1),v(`p`,ge,u(xa.value?.description||i.$t(`dcwDetail.kzcbfki152`)),1)]),v(`div`,_e,[v(`span`,ve,u(i.$t(`dcwDetail.k45uio082`))+` `+u(O.value.length),1),v(`span`,ye,u(i.$t(`dcwDetail.k3waz1025`))+` `+u(k.value.length),1),v(`span`,be,u(i.$t(`dcwDetail.k48grv027`))+` `+u(Ma.value.length),1)])]),v(`section`,xe,[v(`div`,Se,[v(`button`,{class:c([`aw-pill`,{running:l(S).controller.running}]),title:i.$t(`dcwDetail.k1snap154`),onClick:a[0]||=e=>l(S).startStop(l(S).controller.running?`pause`:`resume`)},[v(`span`,{class:c(l(S).controller.running?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),f(` `+u(l(S).controller.running?i.$t(`dcwDetail.kplrsg153`):i.$t(`dcwDetail.knxgni9169`)),1)],10,Ce)]),v(`div`,we,[v(`span`,Te,[v(`span`,null,u(i.$t(`dcwDetail.k45uio082`))+` `+u(l(S).controller.nodesOnline)+`/`+u(l(S).controller.nodesTotal),1),a[53]||=v(`span`,{class:`sep`},`·`,-1),v(`span`,{title:i.$t(`dcwDetail.kd3ygmn001`)},u(i.$t(`dcwDetail.k3wtib138`))+` `+u(l(S).controller.writesTotal),9,Ee),a[54]||=v(`span`,{class:`sep`},`·`,-1),v(`span`,{class:c({warn:l(S).controller.writesFailed>0}),title:i.$t(`dcwDetail.kd3znl0002`)},u(i.$t(`dcwDetail.k3yit7139`))+` `+u(l(S).controller.writesFailed),11,De)]),v(`button`,{class:`aw-pill outline`,title:i.$t(`dcwDetail.kc4ixly003`),onClick:co},[a[55]||=v(`span`,{class:`i-tabler-template`},null,-1),f(` `+u(i.$t(`dcwDetail.k1972dx9020`)),1)],8,Oe),v(`button`,{class:`aw-pill add-btn`,onClick:a[1]||=e=>M.value=!0},[a[56]||=v(`span`,{class:`i-tabler-plus`},null,-1),f(` `+u(i.$t(`dcwDetail.k1976uns021`)),1)])])]),j.value||Ba.value?(s(),h(`p`,{key:0,class:c([`banner`,j.value?`bad`:`good`])},u(j.value||Ba.value),3)):g(``,!0),Fa.value.length||Ia.value.length?(s(),h(`section`,ke,[v(`b`,Ae,u(i.$t(`dcwDetail.kaebkky022`)),1),v(`div`,je,[(s(!0),h(d,null,o(Fa.value,e=>(s(),h(`span`,{key:e.id,class:`adopt-chip`},[f(u(e.name)+` `,1),v(`button`,{class:`mini-btn`,onClick:t=>La(e.id)},u(i.$t(`dcwDetail.kyjp9fg023`)),9,Me)]))),128)),(s(!0),h(d,null,o(Ia.value,e=>(s(),h(`span`,{key:e.id,class:`adopt-chip`},[f(u(e.name)+`(`+u(i.$t(`dcwDetail.k3km252140`)),1),v(`button`,{class:`mini-btn`,onClick:t=>Ra(e.id)},u(i.$t(`dcwDetail.kyjp9fg023`)),9,Ne)]))),128))])])):g(``,!0),v(`section`,Pe,[v(`div`,Fe,[v(`span`,{class:c([`line-dot`,{on:w.value.active}])},null,2),v(`div`,Ie,[v(`b`,null,u(w.value.active?i.$t(`dcwDetail.k1pxrhx0154`):i.$t(`dcwDetail.k1b2hxmx170`)),1),w.value.active?(s(),h(`small`,Le,u(w.value.productName)+` · `+u(w.value.recipeName)+` · `+u(i.$t(`dcwDetail.k400lb075`))+` `+u(w.value.runId)+` · `+u(i.$t(`dcwDetail.k3zkt2166`))+` `+u(w.value.startedAt?.slice(11,19))+` `+u(i.$t(`dcwDetail.k69vag8168`))+` `+u(w.value.taggedSamples)+` `+u(i.$t(`dcwDetail.k4118o085`)),1)):(s(),h(`small`,Re,u(i.$t(`dcwDetail.k19pof14024`)),1))])]),v(`div`,ze,[v(`label`,Be,[v(`span`,null,u(i.$t(`dcwDetail.k3waz1025`)),1),y(v(`select`,{"onUpdate:modelValue":a[2]||=e=>B.value=e,class:`inp`,onChange:a[3]||=e=>V.value=``},[v(`option`,Ve,u(i.$t(`dcwDetail.kuisodh026`)),1),(s(!0),h(d,null,o(k.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,He))),128))],544),[[t,B.value]])]),v(`label`,Ue,[v(`span`,null,u(i.$t(`dcwDetail.k48grv027`)),1),y(v(`select`,{"onUpdate:modelValue":a[4]||=e=>V.value=e,class:`inp`,disabled:!B.value},[v(`option`,Ge,u(i.$t(`dcwDetail.kutxzsz028`)),1),(s(!0),h(d,null,o(fo.value,e=>(s(),h(`option`,{key:e.id,value:e.id,disabled:e.params.length===0},u(e.name)+u(e.params.length===0?i.$t(`dcwDetail.k1hicmch155`):i.$t(`dcwDetail.k1lzfi4g180`,{p0:e.params.length})),9,Ke))),128))],8,We),[[t,V.value]])]),w.value.active?(s(),h(`button`,{key:1,class:`pill-btn stop`,disabled:H.value,onClick:mo},u(i.$t(`dcwDetail.k1xyhd2y030`)),9,Je)):(s(),h(`button`,{key:0,class:`pill-btn`,disabled:H.value||!V.value,title:V.value?`下发配方参数并开始打标数据采集`:`开跑前必须先设定配方`,onClick:po},u(i.$t(`dcwDetail.kfb8vml029`)),9,qe))]),W.value?(s(),h(`p`,Ye,u(W.value),1)):g(``,!0),U.value?(s(),h(`p`,Xe,u(U.value),1)):g(``,!0)]),ao.value?(s(),h(`div`,{key:2,class:`modal-mask`,onClick:a[15]||=r(e=>ao.value=!1,[`self`])},[v(`div`,Ze,[v(`h3`,Qe,[f(u(i.$t(`dcwDetail.k1x4vam0031`))+` `,1),v(`small`,$e,u(i.$t(`dcwDetail.k3x23c141`))+` `+u(l(S).templates.filter(e=>e.builtin).length)+` · `+u(i.$t(`dcwDetail.k3t616a142`))+` `+u(l(S).templates.filter(e=>!e.builtin).length),1)]),v(`p`,et,u(i.$t(`dcwDetail.ke1iyud032`)),1),v(`div`,tt,[(s(!0),h(d,null,o(l(S).templates,e=>(s(),h(`span`,{key:e.key,class:`tpl-chip`,title:`${e.code} · ${e.min}~${e.max} ${e.unit}${e.semantics?` · ${e.semantics}`:``}`},[f(u(e.name)+` `,1),v(`small`,rt,u(e.min)+`~`+u(e.max)+u(e.unit),1),v(`em`,{class:c([`tpl-tag`,{builtin:e.builtin}])},u(e.builtin?i.$t(`dcwDetail.k3x23c141`):i.$t(`dcwDetail.k3t616a142`)),3)],8,nt))),128))]),v(`p`,it,u(i.$t(`dcwDetail.k169eb4s033`)),1),v(`div`,at,[v(`label`,ot,[v(`span`,null,[f(u(i.$t(`dcwDetail.k1f55q76034`)),1),a[57]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":a[5]||=e=>z.name=e,class:`inp`,placeholder:i.$t(`dcwDetail.k1tooi3o004`)},null,8,st),[[n,z.name]])]),v(`label`,ct,[v(`span`,null,u(i.$t(`dcwDetail.k1bqk219035`)),1),y(v(`input`,{"onUpdate:modelValue":a[6]||=e=>z.ch=e,class:`inp`,placeholder:i.$t(`dcwDetail.k698qz0005`)},null,8,lt),[[n,z.ch]])]),v(`label`,ut,[v(`span`,null,u(i.$t(`dcwDetail.k1ayxrqb036`)),1),y(v(`input`,{"onUpdate:modelValue":a[7]||=e=>z.code=e,class:`inp`,placeholder:`如 MOTOR · I`},null,512),[[n,z.code]])]),v(`label`,dt,[v(`span`,null,[f(u(i.$t(`dcwDetail.k3x4ef037`)),1),a[58]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":a[8]||=e=>z.unit=e,class:`inp`,placeholder:`如 A`},null,512),[[n,z.unit]])]),v(`label`,ft,[v(`span`,null,[f(u(i.$t(`dcwDetail.k1l9jv5m038`)),1),a[59]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":a[9]||=e=>z.min=e,type:`number`,class:`inp`,placeholder:i.$t(`dcwDetail.kxz9174006`)},null,8,pt),[[n,z.min,void 0,{number:!0}]])]),v(`label`,mt,[v(`span`,null,[f(u(i.$t(`dcwDetail.k1l9jv4p039`)),1),a[60]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":a[10]||=e=>z.max=e,type:`number`,class:`inp`,placeholder:i.$t(`dcwDetail.kxz9167007`)},null,8,ht),[[n,z.max,void 0,{number:!0}]])]),v(`label`,gt,[v(`span`,null,u(i.$t(`dcwDetail.k3mxmcx040`)),1),y(v(`input`,{"onUpdate:modelValue":a[11]||=e=>z.decimals=e,type:`number`,min:`0`,max:`4`,class:`inp`},null,512),[[n,z.decimals,void 0,{number:!0}]])]),v(`label`,_t,[v(`span`,null,u(i.$t(`dcwDetail.k3xx56041`)),1),y(v(`select`,{"onUpdate:modelValue":a[12]||=e=>z.icon=e,class:`inp`},[(s(),h(d,null,o(lo,e=>v(`option`,{key:e.key,value:e.key},u(e.label),9,vt)),64))],512),[[t,z.icon]])])]),v(`label`,yt,[v(`span`,null,u(i.$t(`dcwDetail.knjmyfr042`)),1),y(v(`textarea`,{"onUpdate:modelValue":a[13]||=e=>z.semantics=e,class:`inp`,rows:`2`,placeholder:i.$t(`dcwDetail.k1qdnfzc008`)},null,8,bt),[[n,z.semantics]])]),so.value?(s(),h(`p`,xt,u(so.value),1)):g(``,!0),R.value?(s(),h(`p`,St,u(R.value),1)):g(``,!0),v(`div`,Ct,[v(`button`,{class:`aw-pill outline`,onClick:a[14]||=e=>ao.value=!1},u(i.$t(`dcwDetail.k3x62t043`)),1),v(`button`,{class:`pill-btn`,disabled:oo.value||!z.name.trim()||z.unit.trim()===``||z.min===``||z.max===``,onClick:uo},u(oo.value?i.$t(`dcwDetail.k1bg4759156`):i.$t(`dcwDetail.k1bg9nga171`)),9,wt)])])])):g(``,!0),M.value?(s(),h(`div`,{key:3,class:`modal-mask`,onClick:a[28]||=r(e=>M.value=!1,[`self`])},[v(`div`,Tt,[v(`h3`,Et,u(i.$t(`dcwDetail.k1976uns021`)),1),v(`div`,Dt,[v(`button`,{class:c([`seg`,{on:N.value===`mock`}]),onClick:a[16]||=e=>N.value=`mock`},` Mock 模拟 PLC `,2),v(`button`,{class:c([`seg`,{on:N.value===`real`}]),onClick:a[17]||=e=>N.value=`real`},u(i.$t(`dcwDetail.kyj8fen044`)),3)]),v(`div`,Ot,[v(`label`,kt,[v(`span`,null,u(i.$t(`dcwDetail.k1ejzwqp045`)),1),y(v(`select`,{"onUpdate:modelValue":a[18]||=e=>Ka.value=e,class:`inp`},[(s(!0),h(d,null,o(l(S).templates,e=>(s(),h(`option`,{key:e.key,value:e.key},u(e.name)+` · `+u(e.ch)+`(`+u(e.min)+`~`+u(e.max)+` `+u(e.unit)+`)`+u(e.builtin?``:i.$t(`dcwDetail.kr45rk9157`)),9,At))),128))],512),[[t,Ka.value]])]),v(`label`,jt,[v(`span`,null,u(i.$t(`dcwDetail.k1ce2k1y046`)),1),y(v(`input`,{"onUpdate:modelValue":a[19]||=e=>qa.value=e,class:`inp`,placeholder:i.$t(`dcwDetail.kgpxzy3009`)},null,8,Mt),[[n,qa.value]])]),v(`label`,Nt,[v(`span`,null,u(i.$t(`dcwDetail.k1vyb8im047`)),1),y(v(`input`,{"onUpdate:modelValue":a[20]||=e=>Ja.value=e,type:`number`,min:`0`,max:`3600000`,step:`500`,class:`inp`,placeholder:i.$t(`dcwDetail.kb1srz0010`)},null,8,Pt),[[n,Ja.value,void 0,{number:!0}]])]),v(`label`,Ft,[v(`span`,null,u(i.$t(`dcwDetail.k9r7d4e016`)),1),y(v(`input`,{"onUpdate:modelValue":a[21]||=e=>Ya.value=e,type:`number`,min:`0`,max:`3600000`,step:`500`,class:`inp`,placeholder:i.$t(`dcwDetail.k9r7d4e017`)},null,8,It),[[n,Ya.value,void 0,{number:!0}]])])]),v(`div`,Lt,[v(`label`,Rt,[v(`span`,null,u(i.$t(`dcwDetail.kiune1f048`)),1),y(v(`select`,{"onUpdate:modelValue":a[22]||=e=>I.kind=e,class:`inp`},[v(`option`,zt,u(i.$t(`dcwDetail.kkzy0k049`)),1),a[61]||=v(`option`,{value:`linear`},` 线性标定:PLC值 = (物理值 - offset) / scale `,-1)],512),[[t,I.kind]])]),v(`label`,Bt,[a[62]||=v(`span`,null,`scale / offset`,-1),v(`div`,Vt,[y(v(`input`,{"onUpdate:modelValue":a[23]||=e=>I.scale=e,type:`number`,step:`0.1`,class:`inp`,disabled:I.kind!==`linear`,title:`decoder 斜率(≠0):物理值 = scale × PLC值 + offset;下发时自动取逆`},null,8,Ht),[[n,I.scale,void 0,{number:!0}]]),y(v(`input`,{"onUpdate:modelValue":a[24]||=e=>I.offset=e,type:`number`,step:`0.1`,class:`inp`,disabled:I.kind!==`linear`,title:`decoder 截距`},null,8,Ut),[[n,I.offset,void 0,{number:!0}]])])])]),N.value===`real`?(s(),h(d,{key:0},[v(`div`,Wt,[v(`label`,Gt,[v(`span`,null,u(i.$t(`dcwDetail.k1kt87rx050`)),1),y(v(`select`,{"onUpdate:modelValue":a[25]||=e=>P.value=e,class:`inp`},[(s(!0),h(d,null,o(l(se).filter(e=>e.status!==`builtin`),e=>(s(),h(`option`,{key:e.kind,value:e.kind},u(e.label),9,Kt))),128))],512),[[t,P.value]])])]),to.value.length?(s(),h(`div`,qt,[(s(!0),h(d,null,o(to.value,n=>(s(),h(`label`,{key:n.key,class:`f`},[v(`span`,null,[f(u(n.label),1),n.required?(s(),h(`em`,Jt,`*`)):g(``,!0)]),n.type===`select`?y((s(),h(`select`,{key:0,"onUpdate:modelValue":e=>F.value[n.key]=e,class:`inp`},[(s(!0),h(d,null,o(n.options,e=>(s(),h(`option`,{key:e.value,value:e.value},u(e.label),9,Xt))),128))],8,Yt)),[[t,F.value[n.key]]]):y((s(),h(`input`,{key:1,"onUpdate:modelValue":e=>F.value[n.key]=e,type:n.type===`number`?`number`:`text`,placeholder:n.placeholder,class:`inp`},null,8,Zt)),[[e,F.value[n.key]]]),n.hint?(s(),h(`small`,Qt,u(n.hint),1)):g(``,!0)]))),128))])):g(``,!0),v(`div`,$t,[v(`button`,{class:`pill-btn outline`,disabled:Za.value,onClick:ro},u(Za.value?i.$t(`dcwDetail.k1fsh720158`):i.$t(`dcwDetail.k1fstglk172`)),9,en),L.value?(s(),h(`span`,{key:0,class:c([`test-result`,L.value.ok?`good`:`bad`])},u(L.value.ok?`✓`:`✗`)+` `+u(L.value.message),3)):g(``,!0)])],64)):g(``,!0),v(`label`,tn,[v(`span`,null,u(i.$t(`dcwDetail.k1hgizn7051`)),1),y(v(`textarea`,{"onUpdate:modelValue":a[26]||=e=>Xa.value=e,class:`inp`,rows:`2`,placeholder:i.$t(`dcwDetail.k12bnyt9011`)},null,8,nn),[[n,Xa.value]])]),$a.value?(s(),h(`p`,rn,u($a.value),1)):g(``,!0),v(`div`,an,[v(`button`,{class:`aw-pill outline`,onClick:a[27]||=e=>M.value=!1},u(i.$t(`dcwDetail.k3xdnn052`)),1),v(`button`,{class:`aw-pill`,disabled:Qa.value,onClick:io},u(Qa.value?i.$t(`dcwDetail.k1bg4759156`):i.$t(`dcwDetail.k1bge46t173`)),9,on)])])])):g(``,!0),ne(m,{spinning:!l(S).loaded&&!l(S).error},{default:te(()=>[v(`section`,sn,[v(`table`,cn,[v(`thead`,null,[v(`tr`,null,[v(`th`,null,u(i.$t(`dcwDetail.k1e2dtkt053`)),1),v(`th`,null,u(i.$t(`dcwDetail.k403cy054`)),1),v(`th`,null,u(i.$t(`dcwDetail.k42w8s055`)),1),v(`th`,null,u(i.$t(`dcwDetail.k1deqh0d056`)),1),v(`th`,null,u(i.$t(`dcwDetail.k9r7d4e018`)),1),v(`th`,null,u(i.$t(`dcwDetail.k1k79ec9057`)),1),v(`th`,null,u(i.$t(`dcwDetail.k1dexou6058`)),1),v(`th`,null,u(i.$t(`dcwDetail.k1b1nnaa059`)),1),v(`th`,null,u(i.$t(`dcwDetail.k1i8rtqt060`)),1),v(`th`,ln,u(i.$t(`dcwDetail.k40aa6061`)),1)])]),v(`tbody`,null,[(s(!0),h(d,null,o(O.value,e=>(s(),h(`tr`,{key:e.id,class:c({"node-paused":!e.enabled})},[v(`td`,null,[v(`span`,un,u(e.id.slice(0,8)),1),v(`b`,null,u(e.name),1),v(`small`,dn,u(Ta(e.templateRef)),1)]),v(`td`,null,[v(`button`,{class:c([`ctrl-toggle`,{on:e.enabled}]),disabled:Wa.value===e.id,title:e.enabled?`暂停该节点控制:下发将被拒绝`:`开启该节点控制:恢复可下发`,onClick:t=>Ga(e.id,!e.enabled)},[a[63]||=v(`span`,{class:`ct-dot`},null,-1),f(` `+u(e.enabled?i.$t(`dcwDetail.k3o3ib3159`):i.$t(`dcwDetail.k3n93ed062`)),1)],10,fn)]),v(`td`,null,[e.enabled?(s(),h(`span`,{key:1,class:c([`st-pill`,e.state])},u(wa[e.state]??e.state),3)):(s(),h(`span`,pn,u(i.$t(`dcwDetail.k3n93ed062`)),1))]),v(`td`,mn,[f(u(e.value==null?`--`:e.value.toFixed(e.decimals))+` `,1),v(`small`,null,u(e.unit),1),e.lastAckAt?(s(),h(`small`,hn,` · `+u(e.lastAckAt.slice(11,19)),1)):g(``,!0)]),v(`td`,gn,[v(`span`,{title:e.lastReadError??i.$t(`dcwDetail.k9r7d4e019`),class:c({"read-stale":e.lastReadError})},u(e.readValue==null?`--`:e.readValue.toFixed(e.decimals)),11,_n),v(`small`,null,u(e.unit),1),e.lastReadAt?(s(),h(`small`,vn,` · `+u(e.lastReadAt.slice(11,19)),1)):g(``,!0),v(`button`,{class:`mini-btn read-btn`,disabled:Ha.value===e.id,title:i.$t(`dcwDetail.k9r7d4e020`),onClick:t=>Ua(e.id)},u(Ha.value===e.id?`···`:i.$t(`dcwDetail.k9r7d4e021`)),9,yn)]),v(`td`,null,[v(`div`,bn,[y(v(`input`,{"onUpdate:modelValue":t=>A[e.id]=t,type:`number`,class:`inp write-inp mono`,placeholder:`${e.min}~${e.max}`,min:e.min,max:e.max,step:10**-e.decimals,disabled:!e.enabled,title:e.enabled?``:`当前节点暂停:开启控制后方可设定`},null,8,xn),[[n,A[e.id],void 0,{number:!0}]]),v(`button`,{class:`mini-btn write-btn`,disabled:!e.enabled||za.value===e.id||A[e.id]==null||A[e.id]===``,title:e.enabled?`下发设定值`:`当前节点暂停:开启控制后方可设定`,onClick:t=>Va(e.id,Number(A[e.id]))},u(za.value===e.id?i.$t(`dcwDetail.k3l3h80123`):i.$t(`dcwDetail.k3w6td174`)),9,Sn)])]),v(`td`,Cn,u(e.min)+` ~ `+u(e.max)+` `+u(e.unit),1),v(`td`,wn,[f(u(e.holdIntervalMs==null?i.$t(`dcwDetail.k3zul4160`):`${e.holdIntervalMs}ms`)+` `,1),v(`small`,{class:`dim`,title:i.$t(`dcwDetail.k9r7d4e016`)},`· `+u(e.readIntervalMs===0?i.$t(`dcwDetail.k9r7d4e022`):e.readIntervalMs==null?i.$t(`dcwDetail.k9r7d4e023`):`${e.readIntervalMs}ms`),9,Tn)]),v(`td`,null,u(Ca(e.deviceBindingId)),1),v(`td`,En,[v(`button`,{class:`mini-btn danger`,onClick:t=>l(S).removeNode(e.id)},u(i.$t(`dcwDetail.k3xakp063`)),9,Dn)])],2))),128)),l(S).loaded&&O.value.length===0?(s(),h(`tr`,On,[v(`td`,kn,[v(`div`,An,[v(`p`,jn,u(i.$t(`dcwDetail.k1wtecyw064`)),1)])])])):g(``,!0)])])])]),_:1},8,[`spinning`]),v(`section`,Mn,[v(`div`,Nn,[v(`h3`,null,u(i.$t(`dcwDetail.k1j8w3hd065`)),1),v(`span`,Pn,u(k.value.length)+` `+u(i.$t(`dcwDetail.k1av3wgs143`))+` `+u(yo.value.length)+` `+u(i.$t(`dcwDetail.k48grv027`)),1),v(`button`,{class:`pill-btn`,style:{"margin-left":`auto`},onClick:Oo},u(i.$t(`dcwDetail.k1akm6dc066`)),1),v(`button`,{class:`mini-btn`,onClick:a[29]||=e=>ho.value=!0},u(i.$t(`dcwDetail.k1aka0ki067`)),1)]),v(`p`,Fn,u(i.$t(`dcwDetail.k6bl2q8068`)),1),k.value.length?(s(),h(`div`,In,[v(`button`,{class:c([`prod-chip`,{on:K.value===``}]),onClick:a[30]||=e=>K.value=``},u(i.$t(`dcwDetail.k3x4t1069`)),3),(s(!0),h(d,null,o(k.value,e=>(s(),h(`button`,{key:e.id,class:c([`prod-chip`,{on:K.value===e.id}]),title:e.description,onClick:t=>K.value=e.id},[f(u(e.name)+` `,1),v(`span`,{class:`prod-del`,title:i.$t(`dcwDetail.k1bpfjgx012`),onClick:r(t=>l(S).removeProduct(e.id),[`stop`])},`×`,8,Rn)],10,Ln))),128))])):(s(),h(`p`,zn,u(i.$t(`dcwDetail.knov3zg070`)),1)),v(`div`,Bn,[(s(!0),h(d,null,o(yo.value,e=>(s(),h(`div`,{key:e.id,class:`recipe-item`},[v(`div`,Vn,[v(`b`,null,u(e.name),1),v(`small`,Hn,u(bo(e.productId)),1),v(`small`,Un,u(e.id),1)]),e.description?(s(),h(`p`,Wn,u(e.description),1)):g(``,!0),v(`div`,Gn,[(s(!0),h(d,null,o(e.params,(e,t)=>(s(),h(`span`,{key:t,class:`param-chip`},u(l(S).templates.find(t=>t.key===(e.templateRef??``).replace(`dcw-`,``))?.ch??e.templateRef)+` = `+u(e.value),1))),128)),(s(!0),h(d,null,o(e.daqWindows,(e,t)=>(s(),h(`span`,{key:`w-${t}`,class:`param-chip daqwin`,title:i.$t(`dcwDetail.k1l11api013`)},` ◎ `+u(ja(e.nodeId))+` ∈ [`+u(e.min??`-∞`)+`, `+u(e.max??`+∞`)+`] `,9,Kn))),128))]),v(`div`,qn,[v(`button`,{class:`pill-btn`,onClick:t=>jo(e.id)},u(i.$t(`dcwDetail.k1497qvr071`)),9,Jn),v(`button`,{class:`mini-btn`,onClick:t=>ko(e.id)},u(i.$t(`dcwDetail.k45eb0072`)),9,Yn),v(`button`,{class:`mini-btn danger`,onClick:t=>l(S).removeRecipe(e.id)},u(i.$t(`dcwDetail.k3xakp063`)),9,Xn)])]))),128)),yo.value.length===0?(s(),h(`div`,Zn,u(i.$t(`dcwDetail.keko1xy073`)),1)):g(``,!0)]),Q.value?(s(),h(`div`,Qn,[f(u(i.$t(`dcwDetail.k1l3hrvp144`))+` `+u(Q.value.runId)+` `+u(i.$t(`dcwDetail.k1g3lh2v167`))+u(Q.value.ok)+`/`+u(Q.value.total)+` `+u(i.$t(`dcwDetail.k1bqci06149`))+` `,1),v(`button`,{class:`mini-btn`,style:{"margin-left":`10px`},disabled:Do.value,onClick:a[31]||=e=>Mo(Q.value.runId)},u(Do.value?i.$t(`dcwDetail.k1br0ij9161`):i.$t(`dcwDetail.kxwei5175`)),9,$n)])):g(``,!0),Na.value.length?(s(),h(`div`,er,[v(`p`,tr,u(i.$t(`dcwDetail.k1rjer8d074`)),1),v(`table`,nr,[v(`thead`,null,[v(`tr`,null,[v(`th`,null,u(i.$t(`dcwDetail.k400lb075`)),1),v(`th`,null,u(i.$t(`dcwDetail.k48grv027`)),1),v(`th`,null,u(i.$t(`dcwDetail.k4497j076`)),1),v(`th`,null,u(i.$t(`dcwDetail.k1bqhtmu077`)),1),v(`th`,rr,u(i.$t(`dcwDetail.k40aa6061`)),1)])]),v(`tbody`,null,[(s(!0),h(d,null,o([...Na.value].reverse().slice(0,8),e=>(s(),h(`tr`,{key:e.id},[v(`td`,ir,u(e.id),1),v(`td`,null,u(e.recipeName),1),v(`td`,ar,u(e.startedAt.slice(5,19))+` ~ `+u(e.endedAt?e.endedAt.slice(5,19):i.$t(`dcwDetail.k3vpfg9162`)),1),v(`td`,null,[v(`span`,{class:c([`st-pill`,e.results.every(e=>e.ok)?`ok`:`warn`])},u(e.results.filter(e=>e.ok).length)+`/`+u(e.results.length),3)]),v(`td`,or,[v(`button`,{class:`mini-btn`,disabled:Do.value,onClick:t=>Mo(e.id)},u(i.$t(`dcwDetail.k1dzwrdp078`)),9,sr),e.endedAt?g(``,!0):(s(),h(`button`,{key:0,class:`mini-btn`,onClick:t=>l(S).closeRun(e.id)},u(i.$t(`dcwDetail.k1blr7y7079`)),9,cr))])]))),128))])])])):g(``,!0),$.value?(s(),h(`div`,{key:4,class:`modal-mask`,onClick:a[33]||=r(e=>$.value=null,[`self`])},[v(`div`,lr,[v(`h3`,ur,u(i.$t(`dcwDetail.k11lq94k145`))+` `+u($.value.data.run.recipeName)+`(`+u($.value.runId)+`) `,1),v(`p`,dr,u(i.$t(`dcwDetail.k1me41w8080`)),1),v(`table`,fr,[v(`thead`,null,[v(`tr`,null,[v(`th`,null,u(i.$t(`dcwDetail.k48hde081`)),1),v(`th`,null,u(i.$t(`dcwDetail.k45uio082`)),1),v(`th`,null,u(i.$t(`dcwDetail.k40t11083`)),1),v(`th`,null,u(i.$t(`dcwDetail.k3xuaw084`)),1),a[64]||=v(`th`,null,`min ~ max`,-1),v(`th`,null,u(i.$t(`dcwDetail.k4118o085`)),1)])]),v(`tbody`,null,[(s(!0),h(d,null,o($.value.data.daq,e=>(s(),h(`tr`,{key:e.nodeId},[v(`td`,null,[f(u(e.ch),1),v(`small`,pr,u(e.unit),1)]),v(`td`,null,u(e.nodeName),1),v(`td`,mr,u(e.latest),1),v(`td`,hr,u(e.avg),1),v(`td`,gr,u(e.min)+` ~ `+u(e.max),1),v(`td`,_r,u(e.cnt),1)]))),128)),$.value.data.daq.length===0?(s(),h(`tr`,vr,[v(`td`,yr,u(i.$t(`dcwDetail.kd457ry086`)),1)])):g(``,!0)])]),v(`p`,br,u(i.$t(`dcwDetail.k12b7cxs087`)),1),v(`table`,xr,[v(`thead`,null,[v(`tr`,null,[v(`th`,null,u(i.$t(`dcwDetail.k3xbjr088`)),1),v(`th`,null,u(i.$t(`dcwDetail.k45uio082`)),1),v(`th`,null,u(i.$t(`dcwDetail.k3ncbsh089`)),1),v(`th`,null,u(i.$t(`dcwDetail.k3lh3mz090`)),1),v(`th`,null,u(i.$t(`dcwDetail.k454pg091`)),1),v(`th`,null,u(i.$t(`dcwDetail.k40ieu092`)),1)])]),v(`tbody`,null,[(s(!0),h(d,null,o($.value.data.writes,(e,t)=>(s(),h(`tr`,{key:t},[v(`td`,null,u(e.param),1),v(`td`,null,u(e.nodeName),1),v(`td`,Sr,u(e.eng),1),v(`td`,Cr,u(e.raw),1),v(`td`,null,[v(`span`,{class:c([`st-pill`,e.ok?`ok`:`alarm`])},u(e.ok?`ACK`:i.$t(`dcwDetail.k3yit7139`)),3)]),v(`td`,wr,u(e.at.slice(5,19)),1)]))),128)),$.value.data.writes.length===0?(s(),h(`tr`,Tr,[v(`td`,Er,u(i.$t(`dcwDetail.knzcp8i093`)),1)])):g(``,!0)])]),v(`div`,Dr,[v(`button`,{class:`aw-pill outline`,onClick:a[32]||=e=>$.value=null},u(i.$t(`dcwDetail.k3x62t043`)),1)])])])):g(``,!0)]),Y.value?(s(),h(`div`,{key:4,class:`modal-mask`,onClick:a[40]||=r(e=>Y.value=!1,[`self`])},[v(`div`,Or,[v(`h3`,kr,u(To.value?i.$t(`dcwDetail.k1iiwk0i163`):i.$t(`dcwDetail.k1efq0r9176`)),1),v(`div`,Ar,[v(`label`,jr,[v(`span`,null,[f(u(i.$t(`dcwDetail.k1dw4fzf094`)),1),a[65]||=v(`em`,null,`*`,-1)]),y(v(`select`,{"onUpdate:modelValue":a[34]||=e=>Z.productId=e,class:`inp`},[(s(!0),h(d,null,o(k.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,Mr))),128))],512),[[t,Z.productId]])]),v(`label`,Nr,[v(`span`,null,[f(u(i.$t(`dcwDetail.k1l3f8so095`)),1),a[66]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":a[35]||=e=>Z.name=e,class:`inp`,placeholder:i.$t(`dcwDetail.k12c11vm014`)},null,8,Pr),[[n,Z.name]])]),v(`label`,Fr,[v(`span`,null,u(i.$t(`dcwDetail.k40gkk096`)),1),y(v(`input`,{"onUpdate:modelValue":a[36]||=e=>Z.description=e,class:`inp`,placeholder:i.$t(`dcwDetail.k1hxx8hy015`)},null,8,Ir),[[n,Z.description]])])]),v(`p`,Lr,u(i.$t(`dcwDetail.ka1kfgh097`)),1),(s(!0),h(d,null,o(Z.params,(e,r)=>(s(),h(`div`,{key:r,class:`param-row`},[v(`label`,Rr,[v(`span`,null,u(i.$t(`dcwDetail.k1e2dtkt053`)),1),y(v(`select`,{"onUpdate:modelValue":t=>e.nodeId=t,class:`inp`},[(s(!0),h(d,null,o(O.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name)+`(`+u(Ta(e.templateRef))+` · `+u(e.min)+`~`+u(e.max)+` `+u(e.unit)+`) `,9,Br))),128))],8,zr),[[t,e.nodeId]])]),v(`label`,Vr,[v(`span`,null,[f(u(i.$t(`dcwDetail.k3renp2098`)),1),a[67]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":t=>e.value=t,type:`number`,class:`inp`,step:.1},null,8,Hr),[[n,e.value,void 0,{number:!0}]])]),v(`label`,Ur,[v(`span`,null,u(i.$t(`dcwDetail.k134rw3b146`))+u(Ea(e.nodeId)??`-`)+`)`,1),y(v(`input`,{"onUpdate:modelValue":t=>e.min=t,type:`number`,class:`inp`,step:.1,placeholder:i.$t(`dcwDetail.k5vew9z016`)},null,8,Wr),[[n,e.min,void 0,{number:!0}]])]),v(`label`,Gr,[v(`span`,null,u(i.$t(`dcwDetail.khrv911147`))+u(Da(e.nodeId)??`-`)+`)`,1),y(v(`input`,{"onUpdate:modelValue":t=>e.max=t,type:`number`,class:`inp`,step:.1,placeholder:i.$t(`dcwDetail.kzoh5pr017`)},null,8,Kr),[[n,e.max,void 0,{number:!0}]])]),v(`button`,{class:`mini-btn danger param-del`,onClick:e=>Z.params.splice(r,1)},u(i.$t(`dcwDetail.k44idg099`)),9,qr)]))),128)),v(`button`,{class:`mini-btn`,onClick:a[37]||=e=>Z.params.push({nodeId:O.value[0]?.id??``,value:``,min:``,max:``})},u(i.$t(`dcwDetail.k1broh7h100`)),1),v(`p`,Jr,u(i.$t(`dcwDetail.k1h5gues101`)),1),(s(!0),h(d,null,o(Z.daqWindows,(e,r)=>(s(),h(`div`,{key:`dw-${r}`,class:`param-row`},[v(`label`,Yr,[v(`span`,null,u(i.$t(`dcwDetail.k1empnnb102`)),1),y(v(`select`,{"onUpdate:modelValue":t=>e.nodeId=t,class:`inp`},[(s(!0),h(d,null,o(T.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name)+`(`+u(e.min)+`~`+u(e.max)+` `+u(e.unit)+`) `,9,Zr))),128))],8,Xr),[[t,e.nodeId]])]),v(`label`,Qr,[v(`span`,null,u(i.$t(`dcwDetail.kqm08ap103`)),1),y(v(`input`,{"onUpdate:modelValue":t=>e.min=t,type:`number`,class:`inp`,step:.1},null,8,$r),[[n,e.min,void 0,{number:!0}]])]),v(`label`,ei,[v(`span`,null,u(i.$t(`dcwDetail.kpypf8g104`)),1),y(v(`input`,{"onUpdate:modelValue":t=>e.max=t,type:`number`,class:`inp`,step:.1},null,8,ti),[[n,e.max,void 0,{number:!0}]])]),v(`button`,{class:`mini-btn danger param-del`,onClick:e=>Z.daqWindows.splice(r,1)},u(i.$t(`dcwDetail.k44idg099`)),9,ni)]))),128)),v(`button`,{class:`mini-btn`,disabled:T.value.length===0,title:T.value.length===0?`本产线暂无数采节点`:``,onClick:a[38]||=e=>Z.daqWindows.push({nodeId:T.value[0]?.id??``,min:``,max:``})},u(i.$t(`dcwDetail.kv1de1p105`)),9,ri),X.value?(s(),h(`p`,ii,u(X.value),1)):g(``,!0),v(`div`,ai,[v(`button`,{class:`aw-pill outline`,onClick:a[39]||=e=>Y.value=!1},u(i.$t(`dcwDetail.k3xdnn052`)),1),v(`button`,{class:`pill-btn`,disabled:Eo.value,onClick:Ao},u(Eo.value?i.$t(`dcwDetail.k1b38d59164`):i.$t(`dcwDetail.k1b3kwg0177`)),9,oi)])])])):g(``,!0),v(`section`,si,[v(`p`,ci,u(i.$t(`dcwDetail.k1us3jse106`)),1),v(`div`,li,[v(`label`,ui,[v(`span`,null,u(i.$t(`dcwDetail.k3waz1025`)),1),y(v(`select`,{"onUpdate:modelValue":a[41]||=e=>q.productId=e,class:`inp`,onChange:a[42]||=e=>q.recipeId=``},[v(`option`,di,u(i.$t(`dcwDetail.k1bkl1jx107`)),1),(s(!0),h(d,null,o(k.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,fi))),128))],544),[[t,q.productId]])]),v(`label`,pi,[v(`span`,null,u(i.$t(`dcwDetail.k48grv027`)),1),y(v(`select`,{"onUpdate:modelValue":a[43]||=e=>q.recipeId=e,class:`inp`,disabled:!q.productId},[v(`option`,hi,u(i.$t(`dcwDetail.k1bkx7cr108`)),1),(s(!0),h(d,null,o(yo.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,gi))),128))],8,mi),[[t,q.recipeId]])]),v(`label`,_i,[v(`span`,null,u(i.$t(`dcwDetail.k1demcae109`)),1),y(v(`select`,{"onUpdate:modelValue":a[44]||=e=>q.paramKey=e,class:`inp`},[v(`option`,vi,u(i.$t(`dcwDetail.k1bkx7ya110`)),1),(s(!0),h(d,null,o(wo.value,e=>(s(),h(`option`,{key:e,value:e},u(e),9,yi))),128))],512),[[t,q.paramKey]])]),v(`label`,bi,[v(`span`,null,u(i.$t(`dcwDetail.k45uio082`)),1),y(v(`select`,{"onUpdate:modelValue":a[45]||=e=>q.nodeId=e,class:`inp`},[v(`option`,xi,u(i.$t(`dcwDetail.k1bkul3k111`)),1),(s(!0),h(d,null,o(T.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,Si))),128))],512),[[t,q.nodeId]])]),v(`label`,Ci,[v(`span`,null,u(i.$t(`dcwDetail.kx2ojn0112`)),1),y(v(`input`,{"onUpdate:modelValue":a[46]||=e=>q.lastMin=e,type:`number`,min:`1`,max:`10080`,class:`inp`},null,512),[[n,q.lastMin,void 0,{number:!0}]])]),v(`label`,wi,[v(`span`,null,u(i.$t(`dcwDetail.kjvnvn4113`)),1),y(v(`input`,{"onUpdate:modelValue":a[47]||=e=>q.bucketMs=e,type:`number`,min:`1000`,step:`500`,class:`inp`},null,512),[[n,q.bucketMs,void 0,{number:!0}]])]),v(`div`,Ti,[v(`button`,{class:`pill-btn`,disabled:So.value,onClick:Co},u(So.value?i.$t(`dcwDetail.k1eyx09r165`):i.$t(`dcwDetail.k416ek178`)),9,Ei)])]),J.value?(s(),h(`p`,Di,u(J.value),1)):g(``,!0),xo.value?(s(),h(`div`,Oi,[v(`table`,ki,[v(`thead`,null,[v(`tr`,null,[v(`th`,null,u(i.$t(`dcwDetail.k48hde081`)),1),v(`th`,null,u(i.$t(`dcwDetail.k45uio082`)),1),v(`th`,null,u(i.$t(`dcwDetail.k42kcu114`)),1),v(`th`,null,u(i.$t(`dcwDetail.k49ujb115`)),1),v(`th`,null,u(i.$t(`dcwDetail.k40pvw116`)),1),v(`th`,null,u(i.$t(`dcwDetail.k3xho3117`)),1)])]),v(`tbody`,null,[(s(!0),h(d,null,o(xo.value.channels,e=>(s(),h(`tr`,{key:e.nodeId},[v(`td`,null,[f(u(e.ch),1),v(`small`,Ai,u(e.unit),1)]),v(`td`,null,u(e.nodeName),1),v(`td`,ji,u(e.points.length),1),v(`td`,Mi,u(No(e.points[0])),1),v(`td`,Ni,u(No(e.points[e.points.length-1])),1),v(`td`,Pi,u(new Date(e.points[0]?.at??0).toLocaleTimeString())+` ~ `+u(new Date(e.points[e.points.length-1]?.at??0).toLocaleTimeString()),1)]))),128))])])])):g(``,!0)]),Pa.value.length?(s(),h(`section`,Fi,[v(`p`,Ii,u(i.$t(`dcwDetail.kw7ym9b148`))+` `+u(Pa.value.length)+` `+u(i.$t(`dcwDetail.k40bfz150`)),1),v(`table`,Li,[v(`tbody`,null,[(s(!0),h(d,null,o(Pa.value.slice(0,12),e=>(s(),h(`tr`,{key:e.id},[v(`td`,Ri,u(e.at.slice(5,19)),1),v(`td`,null,u(e.param),1),v(`td`,null,u(e.nodeName),1),v(`td`,zi,u(e.eng),1),v(`td`,Bi,` raw `+u(e.raw??`-`),1),v(`td`,null,[v(`span`,{class:c([`st-pill`,e.ok?`ok`:`alarm`])},u(e.ok?`ACK`:i.$t(`dcwDetail.k3yit7139`)),3)]),v(`td`,Vi,u(e.recipeRunId?i.$t(`dcwDetail.k6vgks7181`,{p0:e.recipeRunId}):`手动`),1)]))),128))])])])):g(``,!0),ho.value?(s(),h(`div`,{key:6,class:`modal-mask`,onClick:a[51]||=r(e=>ho.value=!1,[`self`])},[v(`div`,Hi,[v(`h3`,Ui,u(i.$t(`dcwDetail.k1efduyf118`)),1),v(`div`,Wi,[v(`label`,Gi,[v(`span`,null,[f(u(i.$t(`dcwDetail.k1avjrl6119`)),1),a[68]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":a[48]||=e=>G.name=e,class:`inp`,placeholder:i.$t(`dcwDetail.k12c11vm014`)},null,8,Ki),[[n,G.name]])]),v(`label`,qi,[v(`span`,null,u(i.$t(`dcwDetail.k40gkk096`)),1),y(v(`input`,{"onUpdate:modelValue":a[49]||=e=>G.description=e,class:`inp`,placeholder:i.$t(`dcwDetail.k1hxx8hy015`)},null,8,Ji),[[n,G.description]])])]),_o.value?(s(),h(`p`,Yi,u(_o.value),1)):g(``,!0),v(`div`,Xi,[v(`button`,{class:`aw-pill outline`,onClick:a[50]||=e=>ho.value=!1},u(i.$t(`dcwDetail.k3xdnn052`)),1),v(`button`,{class:`pill-btn`,disabled:go.value,onClick:vo},u(go.value?i.$t(`dcwDetail.k1bg4759156`):i.$t(`dcwDetail.k1bg4kn6179`)),9,Zi)])])])):g(``,!0),l(S).error?(s(),h(`p`,Qi,[f(u(l(S).error)+`(`,1),ne(p,{to:`/workshop`},{default:te(()=>[f(u(i.$t(`dcwDetail.k1bhhheq120`)),1)]),_:1}),a[69]||=f(`) `,-1)])):g(``,!0),v(`section`,$i,[v(`div`,ea,[v(`b`,null,u(i.$t(`dcwDetail.k1ledgt001`)),1),y(v(`select`,{"onUpdate:modelValue":a[52]||=e=>E.value=e,class:`inp`,onChange:ka},[v(`option`,ta,u(i.$t(`dcwDetail.k1ledgs001`)),1),(s(!0),h(d,null,o(O.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,na))),128))],544),[[t,E.value]])]),D.value?(s(),h(d,{key:0},[v(`div`,ra,[v(`div`,ia,[v(`small`,null,u(i.$t(`dcwDetail.k1ledgv001`)),1),v(`b`,aa,u(D.value.current??`--`),1)]),v(`div`,oa,[v(`small`,null,u(i.$t(`dcwDetail.k1ledgv002`)),1),v(`b`,sa,u(D.value.recipeTarget??`--`),1)]),v(`div`,ca,[v(`small`,null,u(i.$t(`dcwDetail.k1ledgv003`)),1),v(`b`,la,u(D.value.lastGood??`--`),1)]),v(`button`,{class:`mini-btn`,onClick:ka},u(i.$t(`dcwDetail.k1ledga001`)),1),v(`button`,{class:`mini-btn danger`,onClick:Aa},u(i.$t(`dcwDetail.k1ledga002`)),1)]),v(`div`,ua,[v(`div`,da,[v(`small`,fa,u(i.$t(`dcwDetail.k1ledgh001`)),1),v(`ul`,pa,[(s(!0),h(d,null,o(D.value.journal,e=>(s(),h(`li`,{key:e.id},u(e.at.slice(5,16).replace(`T`,` `))+` [`+u(e.source)+`] `+u(e.prevValue??`?`)+` → `+u(e.newValue),1))),128))])]),v(`div`,ma,[v(`small`,ha,u(i.$t(`dcwDetail.k1ledgr001`)),1),v(`ul`,ga,[(s(!0),h(d,null,o(D.value.records,e=>(s(),h(`li`,{key:e.id,class:`ledger-rec`},[v(`span`,{class:c([`rec-st`,e.status])},u(e.status),3),v(`span`,_a,u(e.params[0]?.from??`?`)+` → `+u(e.params[0]?.to),1),v(`small`,null,u(e.judge?`${e.judge.verdict}(${e.judge.by})`:e.status===`open`?`open`:e.closedBy??``),1)]))),128))])])])],64)):g(``,!0)])]))}}}),[[`__scopeId`,`data-v-366216bb`]]);export{va as default};
|
|
1
|
+
import{H as e,U as t,W as n,q as r}from"./rqZ-1SoP.js";import{B as i,C as a,G as o,H as s,Ht as c,St as l,Ut as ee,Wt as u,a as d,b as f,f as p,ft as m,g as h,h as g,mt as _,nt as te,p as v,rt as y,t as b,x as ne}from"./BSCpFtzG.js";import{a as re}from"./vJ4FPb-_.js";import{t as ie}from"./D8CqF0yy.js";import{n as ae}from"./BeIfu4N3.js";import{t as oe}from"./C9f8QMp12.js";import{t as x}from"./G0qIw7Gq2.js";import{n as se,t as ce}from"./C6m-kenn.js";import{t as le}from"./B3Psw_sL.js";import{t as ue}from"./6vYobj4F.js";var de={key:0,class:`page`},fe={class:`banner bad`},pe={key:1,class:`page`},me={class:`aw-page-head`},he={class:`aw-kicker`},ge={class:`sub`},_e={class:`badges mono`},ve={class:`badge`},ye={class:`badge`},be={class:`badge`},xe={class:`aw-tile ctrl-card`},Se={class:`ctrl-left`},Ce=[`title`],we={class:`ctrl-right`},Te={class:`ctrl-metrics mono`},Ee=[`title`],De=[`title`],Oe=[`title`],ke={key:1,class:`aw-tile adopt-card`},Ae={class:`adopt-title`},je={class:`adopt-list`},Me=[`onClick`],Ne=[`onClick`],Pe={class:`aw-tile line-card`},Fe={class:`line-status`},Ie={class:`line-info`},Le={key:0,class:`mono dim`},Re={key:1,class:`dim`},ze={class:`line-ctl`},Be={class:`ctl-sel`},Ve={value:``},He=[`value`],Ue={class:`ctl-sel`},We=[`disabled`],Ge={value:``},Ke=[`value`,`disabled`],qe=[`disabled`,`title`],Je=[`disabled`],Ye={key:0,class:`banner bad`,style:{"margin-top":`10px`}},Xe={key:1,class:`banner good`,style:{"margin-top":`10px`}},Ze={class:`modal`},Qe={class:`m-title`},$e={class:`dim mono`},et={class:`dim tpl-hint`},tt={class:`tpl-chips`},nt=[`title`],rt={class:`mono`},it={class:`sec-label`},at={class:`f-grid tpl-form`},ot={class:`f`},st=[`placeholder`],ct={class:`f`},lt=[`placeholder`],ut={class:`f`},dt={class:`f`},ft={class:`f`},pt=[`placeholder`],mt={class:`f`},ht=[`placeholder`],gt={class:`f`},_t={class:`f`},vt=[`value`],yt={class:`f`},bt=[`placeholder`],xt={key:0,class:`banner good`,style:{"margin-top":`10px`}},St={key:1,class:`m-err`},Ct={class:`m-actions`},wt=[`disabled`],Tt={class:`modal`},Et={class:`m-title`},Dt={class:`seg-row`},Ot={class:`f-grid`},kt={class:`f`},At=[`value`],jt={class:`f`},Mt=[`placeholder`],Nt={class:`f`},Pt=[`placeholder`],Ft={class:`f`},It=[`placeholder`],Lt={class:`f-grid cal-form`},Rt={class:`f`},zt={value:`none`},Bt={class:`f`},Vt={style:{display:`flex`,gap:`6px`}},Ht=[`disabled`],Ut=[`disabled`],Wt={class:`f-grid`},Gt={class:`f`},Kt=[`value`],qt={key:0,class:`f-grid driver-form`},Jt={key:0,style:{color:`var(--tone-danger-dot)`,"font-style":`normal`}},Yt=[`onUpdate:modelValue`],Xt=[`value`],Zt=[`onUpdate:modelValue`,`type`,`placeholder`],Qt={key:2,class:`hint`},$t={class:`test-row`},en=[`disabled`],tn={class:`f`},nn=[`placeholder`],rn={key:1,class:`m-err`},an={class:`m-actions`},on=[`disabled`],sn={class:`aw-tile table-card`},cn={class:`nodes-table`},ln={class:`right`},un={class:`mono dim`},dn={class:`mono ch`},fn=[`disabled`,`title`,`onClick`],pn={key:0,class:`st-pill paused`},mn={class:`mono val`},hn={key:0,class:`dim`},gn={class:`mono val`},_n=[`title`],vn={key:0,class:`dim`},yn=[`disabled`,`title`,`onClick`],bn={class:`write-row`},xn=[`onUpdate:modelValue`,`placeholder`,`min`,`max`,`step`,`disabled`,`title`],Sn=[`disabled`,`title`,`onClick`],Cn={class:`mono dim`},wn={class:`mono`},Tn=[`title`],En={class:`right`},Dn=[`onClick`],On={key:0},kn={colspan:`9`},An={class:`pane-empty`,style:{"min-height":`120px`}},jn={class:`pe-sub`},Mn={class:`aw-tile recipe-card`},Nn={class:`recipe-hd`},Pn={class:`panel-tag mono`},Fn={class:`recipe-sub`},In={key:0,class:`product-row`},Ln=[`title`,`onClick`],Rn=[`title`,`onClick`],zn={key:1,class:`dim`,style:{margin:`6px 0 12px`,"font-size":`12px`}},Bn={class:`recipe-grid`},Vn={class:`recipe-name`},Hn={class:`dim`},Un={class:`mono dim`},Wn={key:0,class:`dim desc`},Gn={class:`recipe-params mono`},Kn=[`title`],qn={class:`recipe-actions`},Jn=[`onClick`],Yn=[`onClick`],Xn=[`onClick`],Zn={key:0,class:`pane-empty`,style:{"grid-column":`1 / -1`}},Qn={key:2,class:`banner good`},$n=[`disabled`],er={key:3,class:`runs`},tr={class:`sec-label`},nr={class:`nodes-table`},rr={class:`right`},ir={class:`mono`},ar={class:`mono dim`},or={class:`right`},sr=[`disabled`,`onClick`],cr=[`onClick`],lr={class:`modal`},ur={class:`m-title`},dr={class:`sec-label`},fr={class:`nodes-table`},pr={class:`mono dim`},mr={class:`mono`},hr={class:`mono`},gr={class:`mono dim`},_r={class:`mono dim`},vr={key:0},yr={colspan:`6`,class:`dim`,style:{"text-align":`center`,padding:`12px`}},br={class:`sec-label`},xr={class:`nodes-table`},Sr={class:`mono`},Cr={class:`mono dim`},wr={class:`mono dim`},Tr={key:0},Er={colspan:`6`,class:`dim`,style:{"text-align":`center`,padding:`12px`}},Dr={class:`m-actions`},Or={class:`modal`},kr={class:`m-title`},Ar={class:`f-grid`},jr={class:`f`},Mr=[`value`],Nr={class:`f`},Pr=[`placeholder`],Fr={class:`f`},Ir=[`placeholder`],Lr={class:`sec-label`},Rr={class:`f`},zr=[`onUpdate:modelValue`],Br=[`value`],Vr={class:`f`},Hr=[`onUpdate:modelValue`],Ur={class:`f`},Wr=[`onUpdate:modelValue`,`placeholder`],Gr={class:`f`},Kr=[`onUpdate:modelValue`,`placeholder`],qr=[`onClick`],Jr={class:`sec-label`},Yr={class:`f`},Xr=[`onUpdate:modelValue`],Zr=[`value`],Qr={class:`f`},$r=[`onUpdate:modelValue`],ei={class:`f`},ti=[`onUpdate:modelValue`],ni=[`onClick`],ri=[`disabled`,`title`],ii={key:0,class:`m-err`},ai={class:`m-actions`},oi=[`disabled`],si={class:`aw-tile query-card`},ci={class:`sec-label`},li={class:`q-grid`},ui={class:`f`},di={value:``},fi=[`value`],pi={class:`f`},mi=[`disabled`],hi={value:``},gi=[`value`],_i={class:`f`},vi={value:``},yi=[`value`],bi={class:`f`},xi={value:``},Si=[`value`],Ci={class:`f`},wi={class:`f`},Ti={class:`f q-actions`},Ei=[`disabled`],Di={key:0,class:`banner bad`,style:{"margin-top":`8px`}},Oi={key:1,class:`q-result`},ki={class:`nodes-table`},Ai={class:`mono dim`},ji={class:`mono`},Mi={class:`mono`},Ni={class:`mono`},Pi={class:`mono dim`},Fi={key:5,class:`aw-tile table-card`},Ii={class:`sec-label`},Li={class:`nodes-table`},Ri={class:`mono dim`},zi={class:`mono`},Bi={class:`mono dim`},Vi={class:`dim`},Hi={class:`modal`},Ui={class:`m-title`},Wi={class:`f-grid`},Gi={class:`f`},Ki=[`placeholder`],qi={class:`f`},Ji=[`placeholder`],Yi={key:0,class:`m-err`},Xi={class:`m-actions`},Zi=[`disabled`],Qi={key:7,class:`err`},$i={class:`aw-tile ledger-card`},ea={class:`ledger-head`},ta={value:``},na=[`value`],ra={class:`ledger-tri`},ia={class:`tri-cell`},aa={class:`mono`},oa={class:`tri-cell`},sa={class:`mono`},ca={class:`tri-cell`},la={class:`mono`},ua={class:`ledger-cols`},da={class:`ledger-col`},fa={class:`sec-t`},pa={class:`ledger-list mono`},ma={class:`ledger-col`},ha={class:`sec-t`},ga={class:`ledger-list`},_a={class:`mono`},va=b(a({__name:`[id]`,setup(a){let{t:b}=ae(),va=re(),S=ce(),ya=le(),ba=ue();ya.load();let C=p(()=>String(va.params.id??``)),xa=p(()=>S.lines.find(e=>e.id===C.value)),w=p(()=>S.lineStateOf(C.value));S.load();let Sa=S.ensureWsFeed();i(()=>Sa());let Ca=e=>e?ba.twins.find(t=>t.id===e)?.name??e:b(`dcwDetail.k3own4q121`),wa={idle:b(`dcwDetail.k3zgkk122`),writing:b(`dcwDetail.k3l3h80123`),ok:`已 ACK`,error:b(`dcwDetail.k40reu124`),offline:b(`dcwDetail.k44c2n125`)};function Ta(e){let t=e??``;return S.templates.find(e=>e.key===(t.startsWith(`dcw-`)?t.slice(4):t))?.ch??t}function Ea(e){return S.nodeById(e)?.min}function Da(e){return S.nodeById(e)?.max}let T=p(()=>ya.nodes.filter(e=>e.lineId===C.value)),E=_(``),D=_(null),Oa=_(!1);async function ka(){if(E.value){Oa.value=!0;try{D.value=await S.fetchLedger(E.value)}finally{Oa.value=!1}}}async function Aa(){E.value&&(await S.rollbackNode(E.value),await ka())}function ja(e){return ya.nodeById(e)?.name??e}let O=p(()=>S.nodes.filter(e=>e.lineId===C.value)),k=p(()=>S.products.filter(e=>e.lineId===C.value)),Ma=p(()=>S.recipes.filter(e=>e.lineId===C.value)),Na=p(()=>S.runs.filter(e=>e.lineId===C.value)),Pa=p(()=>{let e=new Set(O.value.map(e=>e.id));return S.history.filter(t=>e.has(t.nodeId))}),Fa=p(()=>S.nodes.filter(e=>!e.lineId)),Ia=p(()=>S.products.filter(e=>!e.lineId));async function La(e){await S.patchNode(e,{lineId:C.value});let t=S.nodeById(e);t&&(t.lineId=C.value)}async function Ra(e){await S.updateProduct(e,{lineId:C.value}),await S.load()}let A=m({}),za=_(``),j=_(``),Ba=_(``);async function Va(e,t){za.value=e,j.value=``,Ba.value=``;try{let n=await S.write(e,t);n.ok?(Ba.value=b(`dcwDetail.k1alcbyu182`,{p0:S.nodeById(e)?.name??e,p1:n.message}),A[e]=``):j.value=b(`dcwDetail.kl1e9x9183`,{p0:S.nodeById(e)?.name??e,p1:n.message})}catch(e){j.value=x(e)}finally{za.value=``}}let Ha=_(``);async function Ua(e){Ha.value=e,j.value=``;try{await S.readNode(e)}catch(e){j.value=x(e)}finally{Ha.value=``}}let Wa=_(``);async function Ga(e,t){Wa.value=e,j.value=``;try{await S.patchNode(e,{enabled:t});let n=S.nodeById(e);n&&(n.enabled=t,t?n.state===`offline`&&(n.state=`idle`):n.state=`offline`)}catch(e){j.value=x(e)}finally{Wa.value=``}}let M=_(!1),N=_(`mock`),Ka=_(S.templates[0]?.key??``),P=_(`mock`),qa=_(``),Ja=_(null),Ya=_(null),F=_({}),I=m({kind:`none`,scale:1,offset:0}),Xa=_(``),Za=_(!1),L=_(null),Qa=_(!1),$a=_(``),eo=p(()=>se.find(e=>e.kind===P.value)),to=p(()=>eo.value?.configFields??[]);function no(){let e={};for(let t of to.value)t.default!==void 0&&(e[t.key]=t.default);F.value=e,L.value=null}no();async function ro(){Za.value=!0,L.value=null;try{L.value=await S.testDriver(P.value,F.value)}catch(e){L.value={ok:!1,message:x(e)}}finally{Za.value=!1}}async function io(){Qa.value=!0,$a.value=``;try{for(let e of to.value)if(e.required&&(F.value[e.key]===void 0||F.value[e.key]===``))throw Error(b(`dcwDetail.k8x1un1184`,{p0:e.label}));let e=I.kind===`linear`?{kind:`linear`,scale:Number(I.scale),offset:Number(I.offset)}:void 0;await S.createFromTemplate(`dcw-${Ka.value}`,{name:qa.value.trim()||void 0,driver:P.value,driverConfig:{...F.value},transform:e,holdIntervalMs:Ja.value,readIntervalMs:Ya.value,lineId:C.value,semantics:Xa.value.trim()||void 0}),M.value=!1,qa.value=``,Xa.value=``}catch(e){$a.value=x(e)}finally{Qa.value=!1}}let ao=_(!1),oo=_(!1),R=_(``),so=_(``);function co(){ao.value=!0,R.value=``,so.value=``}let z=m({name:``,ch:``,code:``,unit:``,min:``,max:``,decimals:1,icon:`gateway`,semantics:``}),lo=[{key:`thermo`,label:b(`dcwDetail.k422b8126`)},{key:`pressure`,label:b(`dcwDetail.k3x6ff127`)},{key:`tension`,label:b(`dcwDetail.k3z9xc128`)},{key:`encoder`,label:b(`dcwDetail.kjb3vhs129`)},{key:`camera`,label:b(`dcwDetail.k47atw130`)},{key:`gateway`,label:b(`dcwDetail.k48c07131`)}];async function uo(){oo.value=!0,R.value=``,so.value=``;try{if(!z.name.trim())throw Error(b(`dcwDetail.k6ugbw2132`));if(z.unit.trim()===``)throw Error(b(`dcwDetail.kx3pg59133`));if(z.min===``||z.max===``)throw Error(b(`dcwDetail.k13awowo134`));let e=await S.createTemplate({name:z.name.trim(),ch:z.ch.trim()||z.name.trim(),code:z.code.trim()||`CUSTOM`,unit:z.unit.trim(),min:Number(z.min),max:Number(z.max),decimals:Number(z.decimals)||0,icon:z.icon,semantics:z.semantics.trim()||void 0});Ka.value=e.key,so.value=b(`dcwDetail.ky4e1tr185`,{p0:e.name}),z.name=``,z.ch=``,z.code=``,z.unit=``,z.min=``,z.max=``,z.semantics=``}catch(e){R.value=x(e)}finally{oo.value=!1}}let B=_(``),V=_(``),H=_(!1),U=_(``),W=_(``),fo=p(()=>Ma.value.filter(e=>e.productId===B.value));async function po(){H.value=!0,U.value=``,W.value=``;try{if(!V.value)throw Error(b(`dcwDetail.k1b6qe0r135`));await S.startLine(C.value,V.value),U.value=b(`dcwDetail.k17jteb9186`,{p0:w.value.productName,p1:w.value.recipeName,p2:w.value.runId})}catch(e){W.value=x(e)}finally{H.value=!1}}async function mo(){H.value=!0,U.value=``,W.value=``;try{let e=`${w.value.productName??``} · ${w.value.recipeName??``}`;await S.stopLine(C.value),U.value=b(`dcwDetail.kzl49pd187`,{p0:e})}catch(e){W.value=x(e)}finally{H.value=!1}}let ho=_(!1),go=_(!1),_o=_(``),G=m({name:``,description:``}),K=_(``);async function vo(){go.value=!0,_o.value=``;try{let e=await S.createProduct({name:G.name.trim(),description:G.description.trim(),lineId:C.value});B.value=e.id,K.value=e.id,ho.value=!1,G.name=``,G.description=``}catch(e){_o.value=x(e)}finally{go.value=!1}}let yo=p(()=>K.value?Ma.value.filter(e=>e.productId===K.value):Ma.value),bo=e=>S.products.find(t=>t.id===e)?.name??e,q=m({productId:``,recipeId:``,paramKey:``,nodeId:``,lastMin:30,bucketMs:15e3}),xo=_(null),So=_(!1),J=_(``);async function Co(){So.value=!0,J.value=``,xo.value=null;try{xo.value=await S.queryLine({lineId:C.value,productId:q.productId||void 0,recipeId:q.recipeId||void 0,paramKey:q.paramKey||void 0,nodeId:q.nodeId||void 0,fromMs:Date.now()-q.lastMin*6e4,toMs:Date.now(),bucketMs:q.bucketMs>0?q.bucketMs:void 0,limit:2e3}),xo.value.channels.length===0&&(J.value=b(`dcwDetail.kszv5sq136`))}catch(e){J.value=x(e)}finally{So.value=!1}}let wo=p(()=>S.templates.map(e=>e.key)),Y=_(!1),To=_(null),Eo=_(!1),X=_(``),Z=m({productId:``,name:``,description:``,params:[],daqWindows:[]}),Q=_(null),$=_(null),Do=_(!1);function Oo(){To.value=null,X.value=``,Z.productId=K.value||B.value||k.value[0]?.id||``,Z.name=``,Z.description=``,Z.params=[{nodeId:O.value[0]?.id??``,value:``,min:``,max:``}],Z.daqWindows=[],Y.value=!0}function ko(e){let t=S.recipes.find(t=>t.id===e);t&&(To.value=e,X.value=``,Z.productId=t.productId,Z.name=t.name,Z.description=t.description,Z.params=t.params.map(e=>({nodeId:e.nodeId,value:e.value,min:e.min??``,max:e.max??``})),Z.daqWindows=(t.daqWindows??[]).map(e=>({nodeId:e.nodeId,min:e.min??``,max:e.max??``})),Y.value=!0)}async function Ao(){Eo.value=!0,X.value=``;try{let e={productId:Z.productId,name:Z.name.trim(),description:Z.description.trim(),params:Z.params.filter(e=>e.nodeId&&e.value!==``&&Number.isFinite(Number(e.value))).map(e=>({nodeId:e.nodeId,value:Number(e.value),...e.min!==``&&Number.isFinite(Number(e.min))?{min:Number(e.min)}:{},...e.max!==``&&Number.isFinite(Number(e.max))?{max:Number(e.max)}:{}})),daqWindows:Z.daqWindows.filter(e=>e.nodeId&&(e.min!==``||e.max!==``)).map(e=>({nodeId:e.nodeId,...e.min!==``&&Number.isFinite(Number(e.min))?{min:Number(e.min)}:{},...e.max!==``&&Number.isFinite(Number(e.max))?{max:Number(e.max)}:{}}))};To.value?await S.updateRecipe(To.value,e):await S.createRecipe(e),Y.value=!1}catch(e){X.value=x(e)}finally{Eo.value=!1}}async function jo(e){Q.value=null,j.value=``;try{let t=await S.applyRecipe(e),n=t.results.filter(e=>e.ok).length;Q.value={runId:t.id,ok:n,total:t.results.length},n<t.results.length&&(j.value=b(`dcwDetail.ks7szkt188`,{p0:t.results.filter(e=>!e.ok).map(e=>e.message).join(`;`)}))}catch(e){j.value=x(e)}}async function Mo(e){Do.value=!0;try{let t=await S.runData(e);$.value={runId:e,data:t}}catch(e){j.value=x(e)}finally{Do.value=!1}}function No(e){let t=e?.value??e?.avg;return t==null?`--`:String(Math.round(t*1e3)/1e3)}return(i,a)=>{let p=ie,m=oe;return l(S).loaded&&!xa.value?(s(),h(`div`,de,[v(`p`,fe,u(i.$t(`dcwDetail.k19337yp018`)),1),ne(p,{class:`pill-btn`,to:`/dcw`},{default:te(()=>[f(u(i.$t(`dcwDetail.kllwu1c019`)),1)]),_:1})])):(s(),h(`div`,pe,[v(`div`,me,[v(`div`,null,[v(`p`,he,[v(`span`,{class:`line-chip`,style:ee({background:xa.value?.color??`#3aa0ff`})},null,4),f(`AGENTWORKSHOP / LINE / `+u(xa.value?.name??C.value),1)]),v(`h1`,null,u(xa.value?.name??i.$t(`dcwDetail.k1b2snna151`))+` · `+u(i.$t(`dcwDetail.k1l0iow1137`)),1),v(`p`,ge,u(xa.value?.description||i.$t(`dcwDetail.kzcbfki152`)),1)]),v(`div`,_e,[v(`span`,ve,u(i.$t(`dcwDetail.k45uio082`))+` `+u(O.value.length),1),v(`span`,ye,u(i.$t(`dcwDetail.k3waz1025`))+` `+u(k.value.length),1),v(`span`,be,u(i.$t(`dcwDetail.k48grv027`))+` `+u(Ma.value.length),1)])]),v(`section`,xe,[v(`div`,Se,[v(`button`,{class:c([`aw-pill`,{running:l(S).controller.running}]),title:i.$t(`dcwDetail.k1snap154`),onClick:a[0]||=e=>l(S).startStop(l(S).controller.running?`pause`:`resume`)},[v(`span`,{class:c(l(S).controller.running?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),f(` `+u(l(S).controller.running?i.$t(`dcwDetail.kplrsg153`):i.$t(`dcwDetail.knxgni9169`)),1)],10,Ce)]),v(`div`,we,[v(`span`,Te,[v(`span`,null,u(i.$t(`dcwDetail.k45uio082`))+` `+u(l(S).controller.nodesOnline)+`/`+u(l(S).controller.nodesTotal),1),a[53]||=v(`span`,{class:`sep`},`·`,-1),v(`span`,{title:i.$t(`dcwDetail.kd3ygmn001`)},u(i.$t(`dcwDetail.k3wtib138`))+` `+u(l(S).controller.writesTotal),9,Ee),a[54]||=v(`span`,{class:`sep`},`·`,-1),v(`span`,{class:c({warn:l(S).controller.writesFailed>0}),title:i.$t(`dcwDetail.kd3znl0002`)},u(i.$t(`dcwDetail.k3yit7139`))+` `+u(l(S).controller.writesFailed),11,De)]),v(`button`,{class:`aw-pill outline`,title:i.$t(`dcwDetail.kc4ixly003`),onClick:co},[a[55]||=v(`span`,{class:`i-tabler-template`},null,-1),f(` `+u(i.$t(`dcwDetail.k1972dx9020`)),1)],8,Oe),v(`button`,{class:`aw-pill add-btn`,onClick:a[1]||=e=>M.value=!0},[a[56]||=v(`span`,{class:`i-tabler-plus`},null,-1),f(` `+u(i.$t(`dcwDetail.k1976uns021`)),1)])])]),j.value||Ba.value?(s(),h(`p`,{key:0,class:c([`banner`,j.value?`bad`:`good`])},u(j.value||Ba.value),3)):g(``,!0),Fa.value.length||Ia.value.length?(s(),h(`section`,ke,[v(`b`,Ae,u(i.$t(`dcwDetail.kaebkky022`)),1),v(`div`,je,[(s(!0),h(d,null,o(Fa.value,e=>(s(),h(`span`,{key:e.id,class:`adopt-chip`},[f(u(e.name)+` `,1),v(`button`,{class:`mini-btn`,onClick:t=>La(e.id)},u(i.$t(`dcwDetail.kyjp9fg023`)),9,Me)]))),128)),(s(!0),h(d,null,o(Ia.value,e=>(s(),h(`span`,{key:e.id,class:`adopt-chip`},[f(u(e.name)+`(`+u(i.$t(`dcwDetail.k3km252140`)),1),v(`button`,{class:`mini-btn`,onClick:t=>Ra(e.id)},u(i.$t(`dcwDetail.kyjp9fg023`)),9,Ne)]))),128))])])):g(``,!0),v(`section`,Pe,[v(`div`,Fe,[v(`span`,{class:c([`line-dot`,{on:w.value.active}])},null,2),v(`div`,Ie,[v(`b`,null,u(w.value.active?i.$t(`dcwDetail.k1pxrhx0154`):i.$t(`dcwDetail.k1b2hxmx170`)),1),w.value.active?(s(),h(`small`,Le,u(w.value.productName)+` · `+u(w.value.recipeName)+` · `+u(i.$t(`dcwDetail.k400lb075`))+` `+u(w.value.runId)+` · `+u(i.$t(`dcwDetail.k3zkt2166`))+` `+u(w.value.startedAt?.slice(11,19))+` `+u(i.$t(`dcwDetail.k69vag8168`))+` `+u(w.value.taggedSamples)+` `+u(i.$t(`dcwDetail.k4118o085`)),1)):(s(),h(`small`,Re,u(i.$t(`dcwDetail.k19pof14024`)),1))])]),v(`div`,ze,[v(`label`,Be,[v(`span`,null,u(i.$t(`dcwDetail.k3waz1025`)),1),y(v(`select`,{"onUpdate:modelValue":a[2]||=e=>B.value=e,class:`inp`,onChange:a[3]||=e=>V.value=``},[v(`option`,Ve,u(i.$t(`dcwDetail.kuisodh026`)),1),(s(!0),h(d,null,o(k.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,He))),128))],544),[[t,B.value]])]),v(`label`,Ue,[v(`span`,null,u(i.$t(`dcwDetail.k48grv027`)),1),y(v(`select`,{"onUpdate:modelValue":a[4]||=e=>V.value=e,class:`inp`,disabled:!B.value},[v(`option`,Ge,u(i.$t(`dcwDetail.kutxzsz028`)),1),(s(!0),h(d,null,o(fo.value,e=>(s(),h(`option`,{key:e.id,value:e.id,disabled:e.params.length===0},u(e.name)+u(e.params.length===0?i.$t(`dcwDetail.k1hicmch155`):i.$t(`dcwDetail.k1lzfi4g180`,{p0:e.params.length})),9,Ke))),128))],8,We),[[t,V.value]])]),w.value.active?(s(),h(`button`,{key:1,class:`pill-btn stop`,disabled:H.value,onClick:mo},u(i.$t(`dcwDetail.k1xyhd2y030`)),9,Je)):(s(),h(`button`,{key:0,class:`pill-btn`,disabled:H.value||!V.value,title:V.value?`下发配方参数并开始打标数据采集`:`开跑前必须先设定配方`,onClick:po},u(i.$t(`dcwDetail.kfb8vml029`)),9,qe))]),W.value?(s(),h(`p`,Ye,u(W.value),1)):g(``,!0),U.value?(s(),h(`p`,Xe,u(U.value),1)):g(``,!0)]),ao.value?(s(),h(`div`,{key:2,class:`modal-mask`,onClick:a[15]||=r(e=>ao.value=!1,[`self`])},[v(`div`,Ze,[v(`h3`,Qe,[f(u(i.$t(`dcwDetail.k1x4vam0031`))+` `,1),v(`small`,$e,u(i.$t(`dcwDetail.k3x23c141`))+` `+u(l(S).templates.filter(e=>e.builtin).length)+` · `+u(i.$t(`dcwDetail.k3t616a142`))+` `+u(l(S).templates.filter(e=>!e.builtin).length),1)]),v(`p`,et,u(i.$t(`dcwDetail.ke1iyud032`)),1),v(`div`,tt,[(s(!0),h(d,null,o(l(S).templates,e=>(s(),h(`span`,{key:e.key,class:`tpl-chip`,title:`${e.code} · ${e.min}~${e.max} ${e.unit}${e.semantics?` · ${e.semantics}`:``}`},[f(u(e.name)+` `,1),v(`small`,rt,u(e.min)+`~`+u(e.max)+u(e.unit),1),v(`em`,{class:c([`tpl-tag`,{builtin:e.builtin}])},u(e.builtin?i.$t(`dcwDetail.k3x23c141`):i.$t(`dcwDetail.k3t616a142`)),3)],8,nt))),128))]),v(`p`,it,u(i.$t(`dcwDetail.k169eb4s033`)),1),v(`div`,at,[v(`label`,ot,[v(`span`,null,[f(u(i.$t(`dcwDetail.k1f55q76034`)),1),a[57]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":a[5]||=e=>z.name=e,class:`inp`,placeholder:i.$t(`dcwDetail.k1tooi3o004`)},null,8,st),[[n,z.name]])]),v(`label`,ct,[v(`span`,null,u(i.$t(`dcwDetail.k1bqk219035`)),1),y(v(`input`,{"onUpdate:modelValue":a[6]||=e=>z.ch=e,class:`inp`,placeholder:i.$t(`dcwDetail.k698qz0005`)},null,8,lt),[[n,z.ch]])]),v(`label`,ut,[v(`span`,null,u(i.$t(`dcwDetail.k1ayxrqb036`)),1),y(v(`input`,{"onUpdate:modelValue":a[7]||=e=>z.code=e,class:`inp`,placeholder:`如 MOTOR · I`},null,512),[[n,z.code]])]),v(`label`,dt,[v(`span`,null,[f(u(i.$t(`dcwDetail.k3x4ef037`)),1),a[58]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":a[8]||=e=>z.unit=e,class:`inp`,placeholder:`如 A`},null,512),[[n,z.unit]])]),v(`label`,ft,[v(`span`,null,[f(u(i.$t(`dcwDetail.k1l9jv5m038`)),1),a[59]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":a[9]||=e=>z.min=e,type:`number`,class:`inp`,placeholder:i.$t(`dcwDetail.kxz9174006`)},null,8,pt),[[n,z.min,void 0,{number:!0}]])]),v(`label`,mt,[v(`span`,null,[f(u(i.$t(`dcwDetail.k1l9jv4p039`)),1),a[60]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":a[10]||=e=>z.max=e,type:`number`,class:`inp`,placeholder:i.$t(`dcwDetail.kxz9167007`)},null,8,ht),[[n,z.max,void 0,{number:!0}]])]),v(`label`,gt,[v(`span`,null,u(i.$t(`dcwDetail.k3mxmcx040`)),1),y(v(`input`,{"onUpdate:modelValue":a[11]||=e=>z.decimals=e,type:`number`,min:`0`,max:`4`,class:`inp`},null,512),[[n,z.decimals,void 0,{number:!0}]])]),v(`label`,_t,[v(`span`,null,u(i.$t(`dcwDetail.k3xx56041`)),1),y(v(`select`,{"onUpdate:modelValue":a[12]||=e=>z.icon=e,class:`inp`},[(s(),h(d,null,o(lo,e=>v(`option`,{key:e.key,value:e.key},u(e.label),9,vt)),64))],512),[[t,z.icon]])])]),v(`label`,yt,[v(`span`,null,u(i.$t(`dcwDetail.knjmyfr042`)),1),y(v(`textarea`,{"onUpdate:modelValue":a[13]||=e=>z.semantics=e,class:`inp`,rows:`2`,placeholder:i.$t(`dcwDetail.k1qdnfzc008`)},null,8,bt),[[n,z.semantics]])]),so.value?(s(),h(`p`,xt,u(so.value),1)):g(``,!0),R.value?(s(),h(`p`,St,u(R.value),1)):g(``,!0),v(`div`,Ct,[v(`button`,{class:`aw-pill outline`,onClick:a[14]||=e=>ao.value=!1},u(i.$t(`dcwDetail.k3x62t043`)),1),v(`button`,{class:`pill-btn`,disabled:oo.value||!z.name.trim()||z.unit.trim()===``||z.min===``||z.max===``,onClick:uo},u(oo.value?i.$t(`dcwDetail.k1bg4759156`):i.$t(`dcwDetail.k1bg9nga171`)),9,wt)])])])):g(``,!0),M.value?(s(),h(`div`,{key:3,class:`modal-mask`,onClick:a[28]||=r(e=>M.value=!1,[`self`])},[v(`div`,Tt,[v(`h3`,Et,u(i.$t(`dcwDetail.k1976uns021`)),1),v(`div`,Dt,[v(`button`,{class:c([`seg`,{on:N.value===`mock`}]),onClick:a[16]||=e=>N.value=`mock`},` Mock 模拟 PLC `,2),v(`button`,{class:c([`seg`,{on:N.value===`real`}]),onClick:a[17]||=e=>N.value=`real`},u(i.$t(`dcwDetail.kyj8fen044`)),3)]),v(`div`,Ot,[v(`label`,kt,[v(`span`,null,u(i.$t(`dcwDetail.k1ejzwqp045`)),1),y(v(`select`,{"onUpdate:modelValue":a[18]||=e=>Ka.value=e,class:`inp`},[(s(!0),h(d,null,o(l(S).templates,e=>(s(),h(`option`,{key:e.key,value:e.key},u(e.name)+` · `+u(e.ch)+`(`+u(e.min)+`~`+u(e.max)+` `+u(e.unit)+`)`+u(e.builtin?``:i.$t(`dcwDetail.kr45rk9157`)),9,At))),128))],512),[[t,Ka.value]])]),v(`label`,jt,[v(`span`,null,u(i.$t(`dcwDetail.k1ce2k1y046`)),1),y(v(`input`,{"onUpdate:modelValue":a[19]||=e=>qa.value=e,class:`inp`,placeholder:i.$t(`dcwDetail.kgpxzy3009`)},null,8,Mt),[[n,qa.value]])]),v(`label`,Nt,[v(`span`,null,u(i.$t(`dcwDetail.k1vyb8im047`)),1),y(v(`input`,{"onUpdate:modelValue":a[20]||=e=>Ja.value=e,type:`number`,min:`0`,max:`3600000`,step:`500`,class:`inp`,placeholder:i.$t(`dcwDetail.kb1srz0010`)},null,8,Pt),[[n,Ja.value,void 0,{number:!0}]])]),v(`label`,Ft,[v(`span`,null,u(i.$t(`dcwDetail.k9r7d4e016`)),1),y(v(`input`,{"onUpdate:modelValue":a[21]||=e=>Ya.value=e,type:`number`,min:`0`,max:`3600000`,step:`500`,class:`inp`,placeholder:i.$t(`dcwDetail.k9r7d4e017`)},null,8,It),[[n,Ya.value,void 0,{number:!0}]])])]),v(`div`,Lt,[v(`label`,Rt,[v(`span`,null,u(i.$t(`dcwDetail.kiune1f048`)),1),y(v(`select`,{"onUpdate:modelValue":a[22]||=e=>I.kind=e,class:`inp`},[v(`option`,zt,u(i.$t(`dcwDetail.kkzy0k049`)),1),a[61]||=v(`option`,{value:`linear`},` 线性标定:PLC值 = (物理值 - offset) / scale `,-1)],512),[[t,I.kind]])]),v(`label`,Bt,[a[62]||=v(`span`,null,`scale / offset`,-1),v(`div`,Vt,[y(v(`input`,{"onUpdate:modelValue":a[23]||=e=>I.scale=e,type:`number`,step:`0.1`,class:`inp`,disabled:I.kind!==`linear`,title:`decoder 斜率(≠0):物理值 = scale × PLC值 + offset;下发时自动取逆`},null,8,Ht),[[n,I.scale,void 0,{number:!0}]]),y(v(`input`,{"onUpdate:modelValue":a[24]||=e=>I.offset=e,type:`number`,step:`0.1`,class:`inp`,disabled:I.kind!==`linear`,title:`decoder 截距`},null,8,Ut),[[n,I.offset,void 0,{number:!0}]])])])]),N.value===`real`?(s(),h(d,{key:0},[v(`div`,Wt,[v(`label`,Gt,[v(`span`,null,u(i.$t(`dcwDetail.k1kt87rx050`)),1),y(v(`select`,{"onUpdate:modelValue":a[25]||=e=>P.value=e,class:`inp`},[(s(!0),h(d,null,o(l(se).filter(e=>e.status!==`builtin`),e=>(s(),h(`option`,{key:e.kind,value:e.kind},u(e.label),9,Kt))),128))],512),[[t,P.value]])])]),to.value.length?(s(),h(`div`,qt,[(s(!0),h(d,null,o(to.value,n=>(s(),h(`label`,{key:n.key,class:`f`},[v(`span`,null,[f(u(n.label),1),n.required?(s(),h(`em`,Jt,`*`)):g(``,!0)]),n.type===`select`?y((s(),h(`select`,{key:0,"onUpdate:modelValue":e=>F.value[n.key]=e,class:`inp`},[(s(!0),h(d,null,o(n.options,e=>(s(),h(`option`,{key:e.value,value:e.value},u(e.label),9,Xt))),128))],8,Yt)),[[t,F.value[n.key]]]):y((s(),h(`input`,{key:1,"onUpdate:modelValue":e=>F.value[n.key]=e,type:n.type===`number`?`number`:`text`,placeholder:n.placeholder,class:`inp`},null,8,Zt)),[[e,F.value[n.key]]]),n.hint?(s(),h(`small`,Qt,u(n.hint),1)):g(``,!0)]))),128))])):g(``,!0),v(`div`,$t,[v(`button`,{class:`pill-btn outline`,disabled:Za.value,onClick:ro},u(Za.value?i.$t(`dcwDetail.k1fsh720158`):i.$t(`dcwDetail.k1fstglk172`)),9,en),L.value?(s(),h(`span`,{key:0,class:c([`test-result`,L.value.ok?`good`:`bad`])},u(L.value.ok?`✓`:`✗`)+` `+u(L.value.message),3)):g(``,!0)])],64)):g(``,!0),v(`label`,tn,[v(`span`,null,u(i.$t(`dcwDetail.k1hgizn7051`)),1),y(v(`textarea`,{"onUpdate:modelValue":a[26]||=e=>Xa.value=e,class:`inp`,rows:`2`,placeholder:i.$t(`dcwDetail.k12bnyt9011`)},null,8,nn),[[n,Xa.value]])]),$a.value?(s(),h(`p`,rn,u($a.value),1)):g(``,!0),v(`div`,an,[v(`button`,{class:`aw-pill outline`,onClick:a[27]||=e=>M.value=!1},u(i.$t(`dcwDetail.k3xdnn052`)),1),v(`button`,{class:`aw-pill`,disabled:Qa.value,onClick:io},u(Qa.value?i.$t(`dcwDetail.k1bg4759156`):i.$t(`dcwDetail.k1bge46t173`)),9,on)])])])):g(``,!0),ne(m,{spinning:!l(S).loaded&&!l(S).error},{default:te(()=>[v(`section`,sn,[v(`table`,cn,[v(`thead`,null,[v(`tr`,null,[v(`th`,null,u(i.$t(`dcwDetail.k1e2dtkt053`)),1),v(`th`,null,u(i.$t(`dcwDetail.k403cy054`)),1),v(`th`,null,u(i.$t(`dcwDetail.k42w8s055`)),1),v(`th`,null,u(i.$t(`dcwDetail.k1deqh0d056`)),1),v(`th`,null,u(i.$t(`dcwDetail.k9r7d4e018`)),1),v(`th`,null,u(i.$t(`dcwDetail.k1k79ec9057`)),1),v(`th`,null,u(i.$t(`dcwDetail.k1dexou6058`)),1),v(`th`,null,u(i.$t(`dcwDetail.k1b1nnaa059`)),1),v(`th`,null,u(i.$t(`dcwDetail.k1i8rtqt060`)),1),v(`th`,ln,u(i.$t(`dcwDetail.k40aa6061`)),1)])]),v(`tbody`,null,[(s(!0),h(d,null,o(O.value,e=>(s(),h(`tr`,{key:e.id,class:c({"node-paused":!e.enabled})},[v(`td`,null,[v(`span`,un,u(e.id.slice(0,8)),1),v(`b`,null,u(e.name),1),v(`small`,dn,u(Ta(e.templateRef)),1)]),v(`td`,null,[v(`button`,{class:c([`ctrl-toggle`,{on:e.enabled}]),disabled:Wa.value===e.id,title:e.enabled?`暂停该节点控制:下发将被拒绝`:`开启该节点控制:恢复可下发`,onClick:t=>Ga(e.id,!e.enabled)},[a[63]||=v(`span`,{class:`ct-dot`},null,-1),f(` `+u(e.enabled?i.$t(`dcwDetail.k3o3ib3159`):i.$t(`dcwDetail.k3n93ed062`)),1)],10,fn)]),v(`td`,null,[e.enabled?(s(),h(`span`,{key:1,class:c([`st-pill`,e.state])},u(wa[e.state]??e.state),3)):(s(),h(`span`,pn,u(i.$t(`dcwDetail.k3n93ed062`)),1))]),v(`td`,mn,[f(u(e.value==null?`--`:e.value.toFixed(e.decimals))+` `,1),v(`small`,null,u(e.unit),1),e.lastAckAt?(s(),h(`small`,hn,` · `+u(e.lastAckAt.slice(11,19)),1)):g(``,!0)]),v(`td`,gn,[v(`span`,{title:e.lastReadError??i.$t(`dcwDetail.k9r7d4e019`),class:c({"read-stale":e.lastReadError})},u(e.readValue==null?`--`:e.readValue.toFixed(e.decimals)),11,_n),v(`small`,null,u(e.unit),1),e.lastReadAt?(s(),h(`small`,vn,` · `+u(e.lastReadAt.slice(11,19)),1)):g(``,!0),v(`button`,{class:`mini-btn read-btn`,disabled:Ha.value===e.id,title:i.$t(`dcwDetail.k9r7d4e020`),onClick:t=>Ua(e.id)},u(Ha.value===e.id?`···`:i.$t(`dcwDetail.k9r7d4e021`)),9,yn)]),v(`td`,null,[v(`div`,bn,[y(v(`input`,{"onUpdate:modelValue":t=>A[e.id]=t,type:`number`,class:`inp write-inp mono`,placeholder:`${e.min}~${e.max}`,min:e.min,max:e.max,step:10**-e.decimals,disabled:!e.enabled,title:e.enabled?``:`当前节点暂停:开启控制后方可设定`},null,8,xn),[[n,A[e.id],void 0,{number:!0}]]),v(`button`,{class:`mini-btn write-btn`,disabled:!e.enabled||za.value===e.id||A[e.id]==null||A[e.id]===``,title:e.enabled?`下发设定值`:`当前节点暂停:开启控制后方可设定`,onClick:t=>Va(e.id,Number(A[e.id]))},u(za.value===e.id?i.$t(`dcwDetail.k3l3h80123`):i.$t(`dcwDetail.k3w6td174`)),9,Sn)])]),v(`td`,Cn,u(e.min)+` ~ `+u(e.max)+` `+u(e.unit),1),v(`td`,wn,[f(u(e.holdIntervalMs==null?i.$t(`dcwDetail.k3zul4160`):`${e.holdIntervalMs}ms`)+` `,1),v(`small`,{class:`dim`,title:i.$t(`dcwDetail.k9r7d4e016`)},`· `+u(e.readIntervalMs===0?i.$t(`dcwDetail.k9r7d4e022`):e.readIntervalMs==null?i.$t(`dcwDetail.k9r7d4e023`):`${e.readIntervalMs}ms`),9,Tn)]),v(`td`,null,u(Ca(e.deviceBindingId)),1),v(`td`,En,[v(`button`,{class:`mini-btn danger`,onClick:t=>l(S).removeNode(e.id)},u(i.$t(`dcwDetail.k3xakp063`)),9,Dn)])],2))),128)),l(S).loaded&&O.value.length===0?(s(),h(`tr`,On,[v(`td`,kn,[v(`div`,An,[v(`p`,jn,u(i.$t(`dcwDetail.k1wtecyw064`)),1)])])])):g(``,!0)])])])]),_:1},8,[`spinning`]),v(`section`,Mn,[v(`div`,Nn,[v(`h3`,null,u(i.$t(`dcwDetail.k1j8w3hd065`)),1),v(`span`,Pn,u(k.value.length)+` `+u(i.$t(`dcwDetail.k1av3wgs143`))+` `+u(yo.value.length)+` `+u(i.$t(`dcwDetail.k48grv027`)),1),v(`button`,{class:`pill-btn`,style:{"margin-left":`auto`},onClick:Oo},u(i.$t(`dcwDetail.k1akm6dc066`)),1),v(`button`,{class:`mini-btn`,onClick:a[29]||=e=>ho.value=!0},u(i.$t(`dcwDetail.k1aka0ki067`)),1)]),v(`p`,Fn,u(i.$t(`dcwDetail.k6bl2q8068`)),1),k.value.length?(s(),h(`div`,In,[v(`button`,{class:c([`prod-chip`,{on:K.value===``}]),onClick:a[30]||=e=>K.value=``},u(i.$t(`dcwDetail.k3x4t1069`)),3),(s(!0),h(d,null,o(k.value,e=>(s(),h(`button`,{key:e.id,class:c([`prod-chip`,{on:K.value===e.id}]),title:e.description,onClick:t=>K.value=e.id},[f(u(e.name)+` `,1),v(`span`,{class:`prod-del`,title:i.$t(`dcwDetail.k1bpfjgx012`),onClick:r(t=>l(S).removeProduct(e.id),[`stop`])},`×`,8,Rn)],10,Ln))),128))])):(s(),h(`p`,zn,u(i.$t(`dcwDetail.knov3zg070`)),1)),v(`div`,Bn,[(s(!0),h(d,null,o(yo.value,e=>(s(),h(`div`,{key:e.id,class:`recipe-item`},[v(`div`,Vn,[v(`b`,null,u(e.name),1),v(`small`,Hn,u(bo(e.productId)),1),v(`small`,Un,u(e.id),1)]),e.description?(s(),h(`p`,Wn,u(e.description),1)):g(``,!0),v(`div`,Gn,[(s(!0),h(d,null,o(e.params,(e,t)=>(s(),h(`span`,{key:t,class:`param-chip`},u(l(S).templates.find(t=>t.key===(e.templateRef??``).replace(`dcw-`,``))?.ch??e.templateRef)+` = `+u(e.value),1))),128)),(s(!0),h(d,null,o(e.daqWindows,(e,t)=>(s(),h(`span`,{key:`w-${t}`,class:`param-chip daqwin`,title:i.$t(`dcwDetail.k1l11api013`)},` ◎ `+u(ja(e.nodeId))+` ∈ [`+u(e.min??`-∞`)+`, `+u(e.max??`+∞`)+`] `,9,Kn))),128))]),v(`div`,qn,[v(`button`,{class:`pill-btn`,onClick:t=>jo(e.id)},u(i.$t(`dcwDetail.k1497qvr071`)),9,Jn),v(`button`,{class:`mini-btn`,onClick:t=>ko(e.id)},u(i.$t(`dcwDetail.k45eb0072`)),9,Yn),v(`button`,{class:`mini-btn danger`,onClick:t=>l(S).removeRecipe(e.id)},u(i.$t(`dcwDetail.k3xakp063`)),9,Xn)])]))),128)),yo.value.length===0?(s(),h(`div`,Zn,u(i.$t(`dcwDetail.keko1xy073`)),1)):g(``,!0)]),Q.value?(s(),h(`div`,Qn,[f(u(i.$t(`dcwDetail.k1l3hrvp144`))+` `+u(Q.value.runId)+` `+u(i.$t(`dcwDetail.k1g3lh2v167`))+u(Q.value.ok)+`/`+u(Q.value.total)+` `+u(i.$t(`dcwDetail.k1bqci06149`))+` `,1),v(`button`,{class:`mini-btn`,style:{"margin-left":`10px`},disabled:Do.value,onClick:a[31]||=e=>Mo(Q.value.runId)},u(Do.value?i.$t(`dcwDetail.k1br0ij9161`):i.$t(`dcwDetail.kxwei5175`)),9,$n)])):g(``,!0),Na.value.length?(s(),h(`div`,er,[v(`p`,tr,u(i.$t(`dcwDetail.k1rjer8d074`)),1),v(`table`,nr,[v(`thead`,null,[v(`tr`,null,[v(`th`,null,u(i.$t(`dcwDetail.k400lb075`)),1),v(`th`,null,u(i.$t(`dcwDetail.k48grv027`)),1),v(`th`,null,u(i.$t(`dcwDetail.k4497j076`)),1),v(`th`,null,u(i.$t(`dcwDetail.k1bqhtmu077`)),1),v(`th`,rr,u(i.$t(`dcwDetail.k40aa6061`)),1)])]),v(`tbody`,null,[(s(!0),h(d,null,o([...Na.value].reverse().slice(0,8),e=>(s(),h(`tr`,{key:e.id},[v(`td`,ir,u(e.id),1),v(`td`,null,u(e.recipeName),1),v(`td`,ar,u(e.startedAt.slice(5,19))+` ~ `+u(e.endedAt?e.endedAt.slice(5,19):i.$t(`dcwDetail.k3vpfg9162`)),1),v(`td`,null,[v(`span`,{class:c([`st-pill`,e.results.every(e=>e.ok)?`ok`:`warn`])},u(e.results.filter(e=>e.ok).length)+`/`+u(e.results.length),3)]),v(`td`,or,[v(`button`,{class:`mini-btn`,disabled:Do.value,onClick:t=>Mo(e.id)},u(i.$t(`dcwDetail.k1dzwrdp078`)),9,sr),e.endedAt?g(``,!0):(s(),h(`button`,{key:0,class:`mini-btn`,onClick:t=>l(S).closeRun(e.id)},u(i.$t(`dcwDetail.k1blr7y7079`)),9,cr))])]))),128))])])])):g(``,!0),$.value?(s(),h(`div`,{key:4,class:`modal-mask`,onClick:a[33]||=r(e=>$.value=null,[`self`])},[v(`div`,lr,[v(`h3`,ur,u(i.$t(`dcwDetail.k11lq94k145`))+` `+u($.value.data.run.recipeName)+`(`+u($.value.runId)+`) `,1),v(`p`,dr,u(i.$t(`dcwDetail.k1me41w8080`)),1),v(`table`,fr,[v(`thead`,null,[v(`tr`,null,[v(`th`,null,u(i.$t(`dcwDetail.k48hde081`)),1),v(`th`,null,u(i.$t(`dcwDetail.k45uio082`)),1),v(`th`,null,u(i.$t(`dcwDetail.k40t11083`)),1),v(`th`,null,u(i.$t(`dcwDetail.k3xuaw084`)),1),a[64]||=v(`th`,null,`min ~ max`,-1),v(`th`,null,u(i.$t(`dcwDetail.k4118o085`)),1)])]),v(`tbody`,null,[(s(!0),h(d,null,o($.value.data.daq,e=>(s(),h(`tr`,{key:e.nodeId},[v(`td`,null,[f(u(e.ch),1),v(`small`,pr,u(e.unit),1)]),v(`td`,null,u(e.nodeName),1),v(`td`,mr,u(e.latest),1),v(`td`,hr,u(e.avg),1),v(`td`,gr,u(e.min)+` ~ `+u(e.max),1),v(`td`,_r,u(e.cnt),1)]))),128)),$.value.data.daq.length===0?(s(),h(`tr`,vr,[v(`td`,yr,u(i.$t(`dcwDetail.kd457ry086`)),1)])):g(``,!0)])]),v(`p`,br,u(i.$t(`dcwDetail.k12b7cxs087`)),1),v(`table`,xr,[v(`thead`,null,[v(`tr`,null,[v(`th`,null,u(i.$t(`dcwDetail.k3xbjr088`)),1),v(`th`,null,u(i.$t(`dcwDetail.k45uio082`)),1),v(`th`,null,u(i.$t(`dcwDetail.k3ncbsh089`)),1),v(`th`,null,u(i.$t(`dcwDetail.k3lh3mz090`)),1),v(`th`,null,u(i.$t(`dcwDetail.k454pg091`)),1),v(`th`,null,u(i.$t(`dcwDetail.k40ieu092`)),1)])]),v(`tbody`,null,[(s(!0),h(d,null,o($.value.data.writes,(e,t)=>(s(),h(`tr`,{key:t},[v(`td`,null,u(e.param),1),v(`td`,null,u(e.nodeName),1),v(`td`,Sr,u(e.eng),1),v(`td`,Cr,u(e.raw),1),v(`td`,null,[v(`span`,{class:c([`st-pill`,e.ok?`ok`:`alarm`])},u(e.ok?`ACK`:i.$t(`dcwDetail.k3yit7139`)),3)]),v(`td`,wr,u(e.at.slice(5,19)),1)]))),128)),$.value.data.writes.length===0?(s(),h(`tr`,Tr,[v(`td`,Er,u(i.$t(`dcwDetail.knzcp8i093`)),1)])):g(``,!0)])]),v(`div`,Dr,[v(`button`,{class:`aw-pill outline`,onClick:a[32]||=e=>$.value=null},u(i.$t(`dcwDetail.k3x62t043`)),1)])])])):g(``,!0)]),Y.value?(s(),h(`div`,{key:4,class:`modal-mask`,onClick:a[40]||=r(e=>Y.value=!1,[`self`])},[v(`div`,Or,[v(`h3`,kr,u(To.value?i.$t(`dcwDetail.k1iiwk0i163`):i.$t(`dcwDetail.k1efq0r9176`)),1),v(`div`,Ar,[v(`label`,jr,[v(`span`,null,[f(u(i.$t(`dcwDetail.k1dw4fzf094`)),1),a[65]||=v(`em`,null,`*`,-1)]),y(v(`select`,{"onUpdate:modelValue":a[34]||=e=>Z.productId=e,class:`inp`},[(s(!0),h(d,null,o(k.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,Mr))),128))],512),[[t,Z.productId]])]),v(`label`,Nr,[v(`span`,null,[f(u(i.$t(`dcwDetail.k1l3f8so095`)),1),a[66]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":a[35]||=e=>Z.name=e,class:`inp`,placeholder:i.$t(`dcwDetail.k12c11vm014`)},null,8,Pr),[[n,Z.name]])]),v(`label`,Fr,[v(`span`,null,u(i.$t(`dcwDetail.k40gkk096`)),1),y(v(`input`,{"onUpdate:modelValue":a[36]||=e=>Z.description=e,class:`inp`,placeholder:i.$t(`dcwDetail.k1hxx8hy015`)},null,8,Ir),[[n,Z.description]])])]),v(`p`,Lr,u(i.$t(`dcwDetail.ka1kfgh097`)),1),(s(!0),h(d,null,o(Z.params,(e,r)=>(s(),h(`div`,{key:r,class:`param-row`},[v(`label`,Rr,[v(`span`,null,u(i.$t(`dcwDetail.k1e2dtkt053`)),1),y(v(`select`,{"onUpdate:modelValue":t=>e.nodeId=t,class:`inp`},[(s(!0),h(d,null,o(O.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name)+`(`+u(Ta(e.templateRef))+` · `+u(e.min)+`~`+u(e.max)+` `+u(e.unit)+`) `,9,Br))),128))],8,zr),[[t,e.nodeId]])]),v(`label`,Vr,[v(`span`,null,[f(u(i.$t(`dcwDetail.k3renp2098`)),1),a[67]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":t=>e.value=t,type:`number`,class:`inp`,step:.1},null,8,Hr),[[n,e.value,void 0,{number:!0}]])]),v(`label`,Ur,[v(`span`,null,u(i.$t(`dcwDetail.k134rw3b146`))+u(Ea(e.nodeId)??`-`)+`)`,1),y(v(`input`,{"onUpdate:modelValue":t=>e.min=t,type:`number`,class:`inp`,step:.1,placeholder:i.$t(`dcwDetail.k5vew9z016`)},null,8,Wr),[[n,e.min,void 0,{number:!0}]])]),v(`label`,Gr,[v(`span`,null,u(i.$t(`dcwDetail.khrv911147`))+u(Da(e.nodeId)??`-`)+`)`,1),y(v(`input`,{"onUpdate:modelValue":t=>e.max=t,type:`number`,class:`inp`,step:.1,placeholder:i.$t(`dcwDetail.kzoh5pr017`)},null,8,Kr),[[n,e.max,void 0,{number:!0}]])]),v(`button`,{class:`mini-btn danger param-del`,onClick:e=>Z.params.splice(r,1)},u(i.$t(`dcwDetail.k44idg099`)),9,qr)]))),128)),v(`button`,{class:`mini-btn`,onClick:a[37]||=e=>Z.params.push({nodeId:O.value[0]?.id??``,value:``,min:``,max:``})},u(i.$t(`dcwDetail.k1broh7h100`)),1),v(`p`,Jr,u(i.$t(`dcwDetail.k1h5gues101`)),1),(s(!0),h(d,null,o(Z.daqWindows,(e,r)=>(s(),h(`div`,{key:`dw-${r}`,class:`param-row`},[v(`label`,Yr,[v(`span`,null,u(i.$t(`dcwDetail.k1empnnb102`)),1),y(v(`select`,{"onUpdate:modelValue":t=>e.nodeId=t,class:`inp`},[(s(!0),h(d,null,o(T.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name)+`(`+u(e.min)+`~`+u(e.max)+` `+u(e.unit)+`) `,9,Zr))),128))],8,Xr),[[t,e.nodeId]])]),v(`label`,Qr,[v(`span`,null,u(i.$t(`dcwDetail.kqm08ap103`)),1),y(v(`input`,{"onUpdate:modelValue":t=>e.min=t,type:`number`,class:`inp`,step:.1},null,8,$r),[[n,e.min,void 0,{number:!0}]])]),v(`label`,ei,[v(`span`,null,u(i.$t(`dcwDetail.kpypf8g104`)),1),y(v(`input`,{"onUpdate:modelValue":t=>e.max=t,type:`number`,class:`inp`,step:.1},null,8,ti),[[n,e.max,void 0,{number:!0}]])]),v(`button`,{class:`mini-btn danger param-del`,onClick:e=>Z.daqWindows.splice(r,1)},u(i.$t(`dcwDetail.k44idg099`)),9,ni)]))),128)),v(`button`,{class:`mini-btn`,disabled:T.value.length===0,title:T.value.length===0?`本产线暂无数采节点`:``,onClick:a[38]||=e=>Z.daqWindows.push({nodeId:T.value[0]?.id??``,min:``,max:``})},u(i.$t(`dcwDetail.kv1de1p105`)),9,ri),X.value?(s(),h(`p`,ii,u(X.value),1)):g(``,!0),v(`div`,ai,[v(`button`,{class:`aw-pill outline`,onClick:a[39]||=e=>Y.value=!1},u(i.$t(`dcwDetail.k3xdnn052`)),1),v(`button`,{class:`pill-btn`,disabled:Eo.value,onClick:Ao},u(Eo.value?i.$t(`dcwDetail.k1b38d59164`):i.$t(`dcwDetail.k1b3kwg0177`)),9,oi)])])])):g(``,!0),v(`section`,si,[v(`p`,ci,u(i.$t(`dcwDetail.k1us3jse106`)),1),v(`div`,li,[v(`label`,ui,[v(`span`,null,u(i.$t(`dcwDetail.k3waz1025`)),1),y(v(`select`,{"onUpdate:modelValue":a[41]||=e=>q.productId=e,class:`inp`,onChange:a[42]||=e=>q.recipeId=``},[v(`option`,di,u(i.$t(`dcwDetail.k1bkl1jx107`)),1),(s(!0),h(d,null,o(k.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,fi))),128))],544),[[t,q.productId]])]),v(`label`,pi,[v(`span`,null,u(i.$t(`dcwDetail.k48grv027`)),1),y(v(`select`,{"onUpdate:modelValue":a[43]||=e=>q.recipeId=e,class:`inp`,disabled:!q.productId},[v(`option`,hi,u(i.$t(`dcwDetail.k1bkx7cr108`)),1),(s(!0),h(d,null,o(yo.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,gi))),128))],8,mi),[[t,q.recipeId]])]),v(`label`,_i,[v(`span`,null,u(i.$t(`dcwDetail.k1demcae109`)),1),y(v(`select`,{"onUpdate:modelValue":a[44]||=e=>q.paramKey=e,class:`inp`},[v(`option`,vi,u(i.$t(`dcwDetail.k1bkx7ya110`)),1),(s(!0),h(d,null,o(wo.value,e=>(s(),h(`option`,{key:e,value:e},u(e),9,yi))),128))],512),[[t,q.paramKey]])]),v(`label`,bi,[v(`span`,null,u(i.$t(`dcwDetail.k45uio082`)),1),y(v(`select`,{"onUpdate:modelValue":a[45]||=e=>q.nodeId=e,class:`inp`},[v(`option`,xi,u(i.$t(`dcwDetail.k1bkul3k111`)),1),(s(!0),h(d,null,o(T.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,Si))),128))],512),[[t,q.nodeId]])]),v(`label`,Ci,[v(`span`,null,u(i.$t(`dcwDetail.kx2ojn0112`)),1),y(v(`input`,{"onUpdate:modelValue":a[46]||=e=>q.lastMin=e,type:`number`,min:`1`,max:`10080`,class:`inp`},null,512),[[n,q.lastMin,void 0,{number:!0}]])]),v(`label`,wi,[v(`span`,null,u(i.$t(`dcwDetail.kjvnvn4113`)),1),y(v(`input`,{"onUpdate:modelValue":a[47]||=e=>q.bucketMs=e,type:`number`,min:`1000`,step:`500`,class:`inp`},null,512),[[n,q.bucketMs,void 0,{number:!0}]])]),v(`div`,Ti,[v(`button`,{class:`pill-btn`,disabled:So.value,onClick:Co},u(So.value?i.$t(`dcwDetail.k1eyx09r165`):i.$t(`dcwDetail.k416ek178`)),9,Ei)])]),J.value?(s(),h(`p`,Di,u(J.value),1)):g(``,!0),xo.value?(s(),h(`div`,Oi,[v(`table`,ki,[v(`thead`,null,[v(`tr`,null,[v(`th`,null,u(i.$t(`dcwDetail.k48hde081`)),1),v(`th`,null,u(i.$t(`dcwDetail.k45uio082`)),1),v(`th`,null,u(i.$t(`dcwDetail.k42kcu114`)),1),v(`th`,null,u(i.$t(`dcwDetail.k49ujb115`)),1),v(`th`,null,u(i.$t(`dcwDetail.k40pvw116`)),1),v(`th`,null,u(i.$t(`dcwDetail.k3xho3117`)),1)])]),v(`tbody`,null,[(s(!0),h(d,null,o(xo.value.channels,e=>(s(),h(`tr`,{key:e.nodeId},[v(`td`,null,[f(u(e.ch),1),v(`small`,Ai,u(e.unit),1)]),v(`td`,null,u(e.nodeName),1),v(`td`,ji,u(e.points.length),1),v(`td`,Mi,u(No(e.points[0])),1),v(`td`,Ni,u(No(e.points[e.points.length-1])),1),v(`td`,Pi,u(new Date(e.points[0]?.at??0).toLocaleTimeString())+` ~ `+u(new Date(e.points[e.points.length-1]?.at??0).toLocaleTimeString()),1)]))),128))])])])):g(``,!0)]),Pa.value.length?(s(),h(`section`,Fi,[v(`p`,Ii,u(i.$t(`dcwDetail.kw7ym9b148`))+` `+u(Pa.value.length)+` `+u(i.$t(`dcwDetail.k40bfz150`)),1),v(`table`,Li,[v(`tbody`,null,[(s(!0),h(d,null,o(Pa.value.slice(0,12),e=>(s(),h(`tr`,{key:e.id},[v(`td`,Ri,u(e.at.slice(5,19)),1),v(`td`,null,u(e.param),1),v(`td`,null,u(e.nodeName),1),v(`td`,zi,u(e.eng),1),v(`td`,Bi,` raw `+u(e.raw??`-`),1),v(`td`,null,[v(`span`,{class:c([`st-pill`,e.ok?`ok`:`alarm`])},u(e.ok?`ACK`:i.$t(`dcwDetail.k3yit7139`)),3)]),v(`td`,Vi,u(e.recipeRunId?i.$t(`dcwDetail.k6vgks7181`,{p0:e.recipeRunId}):`手动`),1)]))),128))])])])):g(``,!0),ho.value?(s(),h(`div`,{key:6,class:`modal-mask`,onClick:a[51]||=r(e=>ho.value=!1,[`self`])},[v(`div`,Hi,[v(`h3`,Ui,u(i.$t(`dcwDetail.k1efduyf118`)),1),v(`div`,Wi,[v(`label`,Gi,[v(`span`,null,[f(u(i.$t(`dcwDetail.k1avjrl6119`)),1),a[68]||=v(`em`,null,`*`,-1)]),y(v(`input`,{"onUpdate:modelValue":a[48]||=e=>G.name=e,class:`inp`,placeholder:i.$t(`dcwDetail.k12c11vm014`)},null,8,Ki),[[n,G.name]])]),v(`label`,qi,[v(`span`,null,u(i.$t(`dcwDetail.k40gkk096`)),1),y(v(`input`,{"onUpdate:modelValue":a[49]||=e=>G.description=e,class:`inp`,placeholder:i.$t(`dcwDetail.k1hxx8hy015`)},null,8,Ji),[[n,G.description]])])]),_o.value?(s(),h(`p`,Yi,u(_o.value),1)):g(``,!0),v(`div`,Xi,[v(`button`,{class:`aw-pill outline`,onClick:a[50]||=e=>ho.value=!1},u(i.$t(`dcwDetail.k3xdnn052`)),1),v(`button`,{class:`pill-btn`,disabled:go.value,onClick:vo},u(go.value?i.$t(`dcwDetail.k1bg4759156`):i.$t(`dcwDetail.k1bg4kn6179`)),9,Zi)])])])):g(``,!0),l(S).error?(s(),h(`p`,Qi,[f(u(l(S).error)+`(`,1),ne(p,{to:`/workshop`},{default:te(()=>[f(u(i.$t(`dcwDetail.k1bhhheq120`)),1)]),_:1}),a[69]||=f(`) `,-1)])):g(``,!0),v(`section`,$i,[v(`div`,ea,[v(`b`,null,u(i.$t(`dcwDetail.k1ledgt001`)),1),y(v(`select`,{"onUpdate:modelValue":a[52]||=e=>E.value=e,class:`inp`,onChange:ka},[v(`option`,ta,u(i.$t(`dcwDetail.k1ledgs001`)),1),(s(!0),h(d,null,o(O.value,e=>(s(),h(`option`,{key:e.id,value:e.id},u(e.name),9,na))),128))],544),[[t,E.value]])]),D.value?(s(),h(d,{key:0},[v(`div`,ra,[v(`div`,ia,[v(`small`,null,u(i.$t(`dcwDetail.k1ledgv001`)),1),v(`b`,aa,u(D.value.current??`--`),1)]),v(`div`,oa,[v(`small`,null,u(i.$t(`dcwDetail.k1ledgv002`)),1),v(`b`,sa,u(D.value.recipeTarget??`--`),1)]),v(`div`,ca,[v(`small`,null,u(i.$t(`dcwDetail.k1ledgv003`)),1),v(`b`,la,u(D.value.lastGood??`--`),1)]),v(`button`,{class:`mini-btn`,onClick:ka},u(i.$t(`dcwDetail.k1ledga001`)),1),v(`button`,{class:`mini-btn danger`,onClick:Aa},u(i.$t(`dcwDetail.k1ledga002`)),1)]),v(`div`,ua,[v(`div`,da,[v(`small`,fa,u(i.$t(`dcwDetail.k1ledgh001`)),1),v(`ul`,pa,[(s(!0),h(d,null,o(D.value.journal,e=>(s(),h(`li`,{key:e.id},u(e.at.slice(5,16).replace(`T`,` `))+` [`+u(e.source)+`] `+u(e.prevValue??`?`)+` → `+u(e.newValue),1))),128))])]),v(`div`,ma,[v(`small`,ha,u(i.$t(`dcwDetail.k1ledgr001`)),1),v(`ul`,ga,[(s(!0),h(d,null,o(D.value.records,e=>(s(),h(`li`,{key:e.id,class:`ledger-rec`},[v(`span`,{class:c([`rec-st`,e.status])},u(e.status),3),v(`span`,_a,u(e.params[0]?.from??`?`)+` → `+u(e.params[0]?.to),1),v(`small`,null,u(e.judge?`${e.judge.verdict}(${e.judge.by})`:e.status===`open`?`open`:e.closedBy??``),1)]))),128))])])])],64)):g(``,!0)])]))}}}),[[`__scopeId`,`data-v-366216bb`]]);export{va as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,s as t,t as n}from"./C3tCneTM.js";var r=e(`workshop.user`,{state:()=>({user:null}),getters:{isLoggedIn:e=>e.user!==null,token:e=>e.user?.token??``,isAdmin:e=>e.user?.role===`admin`},actions:{applyCookie(){let e=n(`token`,{maxAge:2592e3});e.value=this.user?.token??null},async _attachTokenId(e){let n=await t(`/api/users/me`,{headers:{authorization:`Bearer ${e}`}});n.code===0&&n.data&&this.user&&(this.user.tokenId=n.data.tokenId)},async register(e,n,r){let i=await t(`/api/users/register`,{method:`POST`,body:{name:e.trim(),email:n.trim(),password:r}});if(i.code!==0||!i.data)throw Error(i.message??`注册失败`);return this.user={...i.data.user,token:i.data.token,tokenId:``},this.applyCookie(),await this._attachTokenId(i.data.token),this.user},async login(e,n){let r=await t(`/api/users/login`,{method:`POST`,body:{email:e.trim(),password:n}});if(r.code!==0||!r.data)throw Error(r.message??`登录失败`);return this.user={...r.data.user,token:r.data.token,tokenId:``},this.applyCookie(),await this._attachTokenId(r.data.token),this.user},async loginWithToken(e){let n=e.trim();if(!n)throw Error(`token 不能为空`);let r=await t(`/api/users/me`,{headers:{authorization:`Bearer ${n}`}});if(r.code!==0||!r.data)throw Error(r.message??`token 无效`);return this.user={...r.data,token:n},this.applyCookie(),this.user},async refresh(){if(this.user)try{await this.loginWithToken(this.user.token)}catch{this.logout()}},async logout(){let e=this.user?.token;if(this.user=null,this.applyCookie(),e)try{await t(`/api/users/logout`,{method:`POST`,headers:{authorization:`Bearer ${e}`}})}catch{}},authHeaders(){let e=this.user?.token;return e?{authorization:`Bearer ${e}`}:{}},async listTokens(){let e=await t(`/api/users/tokens`,{headers:this.authHeaders()});if(e.code!==0||!e.data)throw Error(e.message??`获取 token 列表失败`);return e.data},async createToken(e){let n=await t(`/api/users/tokens`,{method:`POST`,body:{label:e.trim()},headers:this.authHeaders()});if(n.code!==0||!n.data)throw Error(n.message??`创建 token 失败`);return n.data},async renameToken(e,n){let r=await t(`/api/users/tokens/${e}`,{method:`PATCH`,body:{label:n.trim()},headers:this.authHeaders()});if(r.code!==0||!r.data)throw Error(r.message??`更新 token 失败`);return r.data},async revealToken(e){let n=await t(`/api/users/tokens/${e}/token`,{headers:this.authHeaders()});if(n.code!==0||!n.data)throw Error(n.message??`查看 token 失败`);return n.data.token},async revokeToken(e){let n=await t(`/api/users/tokens/${e}`,{method:`DELETE`,headers:this.authHeaders()});if(n.code!==0)throw Error(n.message??`删除 token 失败`);this.user&&e===this.user.tokenId&&this.logout()}},persist:{pick:[`user`],afterHydrate:e=>{let t=e.store;if(t.user)try{let e=n(`token`);e.value?t.user.token=e.value:t.user=null}catch{}}}});export{r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{G as e,w as t}from"./rqZ-1SoP.js";import{C as n,G as r,H as i,Ht as a,St as o,Ut as ee,Wt as s,a as c,b as l,et as u,f as d,g as f,h as p,m,mt as h,nt as g,p as _,rt as v,t as y,x as b}from"./BSCpFtzG.js";import{t as x}from"./CfVAr2nf.js";import{n as S}from"./BeIfu4N3.js";import{t as te}from"./BN_PdN3J.js";import{r as C}from"./D-Ca4BGY.js";import{t as ne}from"./RzXYI9FM.js";import{t as re}from"./niDwBOZW.js";import{t as ie}from"./Cor9siSf.js";import{n as ae,r as oe,t as se}from"./DWcEk1ur2.js";import{t as ce}from"./DoLasgPj2.js";import{t as w}from"./BcrN7QEl2.js";import{t as T}from"./BytVi9VX2.js";import{t as le}from"./DsUUYP292.js";var ue={class:`settings-page`},de={class:`aw-page-head`},fe={class:`aw-kicker`},pe={class:`aw-stamp`},me={class:`settings-layout`},he={class:`settings-nav`},ge=[`onClick`],E={class:`settings-body`},D={class:`section-title`},O={class:`section-desc`},k={class:`set-row`},A={class:`set-text`},j={class:`set-title`},M={class:`set-sub`},N={class:`color-swatches`},P=[`title`,`onClick`],F={class:`swatch-label`},I={key:0,class:`i-tabler-check swatch-check`},L={class:`toggle-row`},_e={class:`set-text`},ve={class:`set-title`},ye={class:`set-sub`},be=[`aria-checked`],xe={class:`toggle-row`},Se={class:`set-text`},Ce={class:`set-title`},we={class:`set-sub`},Te={class:`section-title`},Ee={class:`section-desc`},De={class:`rt-group-title`},Oe={class:`rt-main`},ke={class:`rt-title`},Ae={class:`rt-sub`},je={class:`rt-ctrl`},Me={key:3,class:`rt-color`},Ne=[`value`,`onInput`],Pe=[`title`,`onClick`],Fe={class:`rt-actions`},Ie=[`disabled`],Le={class:`rt-path aw-mono`},Re={class:`section-title`},ze={class:`section-desc`},Be={class:`aw-mono`},Ve={class:`identity-note`},R=y(n({__name:`settings`,setup(n){let{t:y,locale:R,locales:He,setLocale:Ue}=S(),z=x(),B=le(),V=t().public,H=w(),U=h(`appearance`),W=T(),G=h({}),K=h(new Set),q=h(!1),J=h(null);function Y(){G.value={...W.effective},K.value=new Set}u(()=>W.loaded,e=>{e&&Y()}),u(()=>W.effective,()=>{K.value.size===0&&Y()},{deep:!0});function X(e){K.value.add(e),J.value=null}async function We(){if(K.value.size){q.value=!0,J.value=null;try{let e={};for(let t of K.value)e[t]=G.value[t];let t=await W.patch(e);Y();let n=t.restartRequired??[];J.value=n.length?{type:`warning`,text:y(`settings.runtime.restartNotice`,{keys:n.join(`, `)})}:{type:`success`,text:y(`settings.runtime.savedLive`)}}catch(e){J.value={type:`error`,text:e?.response?.data?.message||e?.message||String(e)}}finally{q.value=!1}}}async function Ge(e){try{await W.patch({[e]:null}),K.value.delete(e),G.value[e]=W.effective[e],J.value={type:`success`,text:y(`settings.runtime.keyReset`,{key:e})}}catch(e){J.value={type:`error`,text:e?.response?.data?.message||e?.message||String(e)}}}async function Ke(){try{await W.resetAll(),Y(),J.value={type:`success`,text:y(`settings.runtime.resetAllDone`)}}catch(e){J.value={type:`error`,text:e?.response?.data?.message||e?.message||String(e)}}}function Z(e){return{server:y(`settings.runtime.groupServer`),app:y(`settings.runtime.groupApp`),api:y(`settings.runtime.groupApi`),theme:y(`settings.runtime.groupTheme`),i18n:y(`settings.runtime.groupI18n`),security:y(`settings.runtime.groupSecurity`),daq:y(`settings.runtime.groupDaq`),memory:y(`settings.runtime.groupMemory`),omp:y(`settings.runtime.groupOmp`),harness:y(`settings.runtime.groupHarness`),dcw:y(`settings.runtime.groupDcw`),workshop:y(`settings.runtime.groupWorkshop`),backup:y(`settings.runtime.groupBackup`),retention:y(`settings.runtime.groupRetention`),log:y(`settings.runtime.groupLog`)}[e]??e}function qe(e){return e===`runtime`?`src-runtime`:e===`env`?`src-env`:`src-yaml`}function Je(e){let t=e.labelKey;return t&&y(t)!==t?y(t):e.label}let Q=String(V.primaryColor),Ye=[{value:Q,label:y(`settings.accentInk`)},{value:`#c9963f`,label:y(`settings.accentStone`)},{value:`#44615a`,label:y(`settings.accentMoss`)},{value:`#3f6094`,label:y(`settings.accentSlate`)},{value:`#6b5aa0`,label:y(`settings.accentPlum`)},{value:`#9c5744`,label:y(`settings.accentClay`)}],$=d(()=>z.accent??Q);function Xe(e){z.setAccent(e===Q?null:e),C.success(y(`settings.accentApplied`))}function Ze(){z.setAccent(null),C.success(y(`settings.accentReset`))}let Qe=d(()=>He.value.map(e=>({label:e.name,value:e.code}))),$e=e=>{e!=null&&(localStorage.setItem(`aw.locale`,String(e)),Ue(String(e)),window.location.reload())},et=d(()=>[{label:y(`home.fields.name`),value:B.name},{label:y(`home.fields.version`),value:`v${B.version}`},{label:y(`home.fields.mode`),value:B.mode},{label:y(`home.fields.apiBase`),value:`${B.apiBase} (${V.apiTimeout}ms)`},{label:y(`home.fields.primary`),value:Q},{label:`i18n`,value:R.value}]),tt=d(()=>[{key:`appearance`,icon:`i-tabler-palette`,label:y(`settings.theme`)},{key:`runtime`,icon:`i-tabler-settings`,label:y(`settings.runtimeTab`)},{key:`system`,icon:`i-tabler-server-2`,label:y(`settings.systemTab`)}]);return(t,n)=>{let u=te,d=re,h=se,x=ce,S=ne,C=oe,w=ae,T=ie;return i(),f(`div`,ue,[_(`div`,de,[_(`div`,null,[_(`p`,fe,s(o(y)(`menu.system`))+` / settings `,1),_(`h1`,null,s(o(y)(`settings.title`)),1)]),_(`span`,pe,`v`+s(o(B).version),1)]),b(T,{bordered:!1,class:`settings-card`},{default:g(()=>[_(`div`,me,[_(`div`,he,[(i(!0),f(c,null,r(o(tt),e=>(i(),f(`button`,{key:e.key,class:a([`nav-item`,{active:o(U)===e.key}]),onClick:t=>U.value=e.key},[_(`span`,{class:a(e.icon)},null,2),_(`span`,null,s(e.label),1)],10,ge))),128))]),_(`div`,E,[v(_(`div`,null,[_(`h3`,D,s(o(y)(`settings.theme`)),1),_(`p`,O,s(o(y)(`settings.appearanceDesc`)),1),_(`div`,k,[_(`div`,A,[_(`div`,j,s(o(y)(`settings.primaryColor`)),1),_(`div`,M,s(o(y)(`settings.accentDesc`)),1)])]),_(`div`,N,[(i(),f(c,null,r(Ye,e=>_(`button`,{key:e.value,class:a([`swatch`,{on:o($).toLowerCase()===e.value.toLowerCase()}]),style:ee({"--sw":e.value}),title:e.label,onClick:t=>Xe(e.value)},[n[1]||=_(`span`,{class:`swatch-dot`},null,-1),_(`span`,F,s(e.label),1),o($).toLowerCase()===e.value.toLowerCase()?(i(),f(`span`,I)):p(``,!0)],14,P)),64))]),_(`button`,{class:`aw-pill outline reset-btn`,onClick:Ze},[n[2]||=_(`span`,{class:`i-tabler-rotate`},null,-1),l(` `+s(o(y)(`settings.accentResetAction`)),1)]),_(`div`,L,[_(`div`,_e,[_(`div`,ve,s(o(z).isDark?o(y)(`common.dark`):o(y)(`common.light`)),1),_(`div`,ye,s(o(y)(`settings.darkDesc`)),1)]),_(`button`,{class:a([`switch`,{on:o(z).isDark}]),role:`switch`,"aria-checked":o(z).isDark,onClick:n[0]||=e=>o(z).toggleDark()},[...n[3]||=[_(`span`,{class:`knob`},null,-1)]],10,be)]),_(`div`,xe,[_(`div`,Se,[_(`div`,Ce,s(o(y)(`header.language`)),1),_(`div`,we,s(o(y)(`settings.languageDesc`)),1)]),b(u,{value:o(R),options:o(Qe),style:{width:`140px`},onChange:$e},null,8,[`value`,`options`])])],512),[[e,o(U)===`appearance`]]),v(_(`div`,null,[_(`h3`,Te,s(o(y)(`settings.runtimeTab`)),1),_(`p`,Ee,s(o(y)(`settings.runtime.desc`)),1),o(J)?(i(),m(d,{key:0,type:o(J).type,"show-icon":``,class:`rt-notice`,message:o(J).text},null,8,[`type`,`message`])):p(``,!0),(i(!0),f(c,null,r(o(W).groups,e=>(i(),f(c,{key:e.group},[_(`h4`,De,s(Z(e.group)),1),(i(!0),f(c,null,r(e.items,e=>(i(),f(`div`,{key:e.key,class:`rt-row`},[_(`div`,Oe,[_(`div`,ke,[l(s(Je(e))+` `,1),_(`span`,{class:a([`rt-tag`,qe(o(W).sourceOf(e.key))])},s(o(W).sourceOf(e.key)),3),_(`span`,{class:a([`rt-tag`,e.applies])},s(e.applies===`live`?o(y)(`settings.runtime.live`):o(y)(`settings.runtime.restart`)),3)]),_(`div`,Ae,s(e.description),1)]),_(`div`,je,[e.type===`number`?(i(),m(h,{key:0,value:o(G)[e.key],"onUpdate:value":t=>o(G)[e.key]=t,min:e.min,max:e.max,onChange:t=>X(e.key)},null,8,[`value`,`onUpdate:value`,`min`,`max`,`onChange`])):e.type===`boolean`?(i(),m(x,{key:1,checked:o(G)[e.key],"onUpdate:checked":t=>o(G)[e.key]=t,onChange:t=>X(e.key)},null,8,[`checked`,`onUpdate:checked`,`onChange`])):e.type===`select`?(i(),m(u,{key:2,value:o(G)[e.key],"onUpdate:value":t=>o(G)[e.key]=t,style:{width:`160px`},options:(e.options??[]).map(e=>({label:e,value:e})),onChange:t=>X(e.key)},null,8,[`value`,`onUpdate:value`,`options`,`onChange`])):e.type===`color`?(i(),f(`span`,Me,[_(`input`,{type:`color`,value:String(o(G)[e.key]??`#35e0a0`),onInput:t=>{o(G)[e.key]=t.target.value,X(e.key)}},null,40,Ne),b(S,{value:String(o(G)[e.key]??``),style:{width:`110px`},class:`aw-mono`,onChange:t=>{o(G)[e.key]=t.target.value,X(e.key)}},null,8,[`value`,`onChange`])])):(i(),m(S,{key:4,value:o(G)[e.key],"onUpdate:value":t=>o(G)[e.key]=t,style:{width:`220px`},onChange:t=>X(e.key)},null,8,[`value`,`onUpdate:value`,`onChange`])),_(`button`,{class:`aw-pill outline rt-reset`,title:o(y)(`settings.runtime.resetKey`),onClick:t=>Ge(e.key)},[...n[4]||=[_(`span`,{class:`i-tabler-rotate`},null,-1)]],8,Pe)])]))),128))],64))),128)),_(`div`,Fe,[_(`button`,{class:`aw-pill primary`,disabled:!o(K).size||o(q),onClick:We},[n[5]||=_(`span`,{class:`i-tabler-device-floppy`},null,-1),l(` `+s(o(q)?`…`:o(y)(`settings.runtime.save`)),1)],8,Ie),_(`button`,{class:`aw-pill outline`,onClick:Ke},s(o(y)(`settings.runtime.resetAll`)),1),_(`span`,Le,s(o(W).settingsPath),1)])],512),[[e,o(U)===`runtime`]]),v(_(`div`,null,[_(`h3`,Re,s(o(y)(`settings.systemTab`)),1),_(`p`,ze,s(o(y)(`settings.systemDesc`)),1),b(w,{bordered:``,column:1,size:`small`},{default:g(()=>[(i(!0),f(c,null,r(o(et),e=>(i(),m(C,{key:e.label,label:e.label},{default:g(()=>[_(`span`,Be,s(e.value),1)]),_:2},1032,[`label`]))),128))]),_:1}),_(`p`,Ve,s(o(H).isLoggedIn?`${o(y)(`settings.identity`)}: ${o(H).user?.name} (${o(H).user?.role})`:o(y)(`settings.identityGuest`)),1)],512),[[e,o(U)===`system`]])])])]),_:1})])}}}),[[`__scopeId`,`data-v-1145bd88`]]);export{R as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ft as e}from"./BSCpFtzG.js";import{t}from"./G0qIw7Gq2.js";import{t as n}from"./36oeS8_R2.js";import{i as r}from"./C6m-kenn.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=n().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=t(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=t(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};
|