import{d as ie,k as v,v as Ie,m as L,q as je,r as N,o as u,c as g,a as o,b as c,u as i,t as x,B as _,L as R,x as b,M as Te,j as Ee,z as p,A as y}from"./vue.1703796278973.js";import{V as Y,aN as Pe,K as Ne,z as Ve,B as qe,C as Fe,a0 as Je,a2 as ze,y as Le,ax as Re,E as Ye,aA as Ke}from"./index.17037962789732.js";import"./index.1703796278973303.js";import{x as He}from"./system.1703796278973.js";import"./index.1703796278973300.js";import"./index.170379627897315.js";import"./index.170379627897317.js";import"./index.1703796278973301.js";import"./index.1703796278973302.js";import"./index.170379627897332.js";import"./index.170379627897339.js";import"./index.170379627897316.js";import"./index.170379627897314.js";import"./index.1703796278973304.js";import"./index.1703796278973305.js";import"./index.1703796278973306.js";import"./index.170379627897328.js";import"./index.170379627897336.js";import{_ as Qe}from"./index.vue_vue_type_script_setup_true_name_PermissionButton_lang.1703796278973.js";import{a as ce,o as V}from"./comm.1703796278973.js";import{d as We,e as Ge,r as Xe,f as Ze}from"./collector.1703796278973.js";import et from"./index.170379627897352.js";import{_ as tt}from"./index.vue_vue_type_script_setup_true_lang.17037962789735.js";import at from"./index.170379627897351.js";import{_ as nt}from"./SaveModBus.vue_vue_type_script_setup_true_lang.1703796278973.js";import{_ as ot}from"./SaveOPCUA.vue_vue_type_script_setup_true_lang.1703796278973.js";import st from"./index.170379627897350.js";import{a as ct}from"./data.1703796278973.js";import{a as it}from"./dayjs.min.1703796278973.js";import{t as lt}from"./throttle.1703796278973.js";import{m as rt}from"./map.17037962789732.js";import{_ as dt}from"./_plugin-vue_export-helper.1703796278973.js";import"./index.17037962789733.js";import"./isArray.1703796278973.js";import"./editor.api.1703796278973.js";import"./preload-helper.1703796278973.js";import"./monaco.contribution.1703796278973.js";import"./index.170379627897333.js";import"./index.170379627897334.js";import"./default.1703796278973.js";import"./permission.1703796278973.js";import"./consts.1703796278973.js";import"./404.1703796278973.js";import"./index.170379627897320.js";import"./index.170379627897321.js";import"./index.vue_vue_type_script_setup_true_lang.17037962789733.js";import"./index.170379627897337.js";import"./index.170379627897318.js";import"./index.170379627897319.js";import"./index.170379627897322.js";import"./index.170379627897323.js";import"./index.170379627897325.js";import"./index.1703796278973311.js";import"./index.1703796278973312.js";import"./Table.1703796278973.js";import"./Tree.1703796278973.js";const ut={key:0,style:{"margin-top":"15px"}},pt={class:"card-box-title"},mt={class:"card-box-action"},_t={style:{"font-size":"20px","margin-top":"-10px"}},ft={style:{"font-size":"20px"}},vt=["src"],ht={class:"card-box-content"},gt={class:"card-box-content-left"},yt={class:"card-box-content-left-1"},Ct={key:0,class:"ard-box-content-left-1-title"},kt={key:1,class:"ard-box-content-left-1-title"},xt=["onClick"],bt=["onClick"],St={key:0,class:"card-box-content-right-2"},wt={class:"card-box-content-right"},Dt={key:0,class:"card-box-content-right-1"},Mt={class:"card-box-content-right-2"},Ot={key:0},Bt=ie({name:"PointPage"}),Ut=ie({...Bt,props:{data:{type:Object,default:{}}},setup(O){var oe;const l=O,r=v({}),K=v({}),le=ce("/DataCollect/device-opcua.png"),re=ce("/DataCollect/device-modbus.png"),f=Ie({saveModBus:!1,saveOPCUA:!1,writePoint:!1,batchUpdate:!1,scan:!1}),h=v({}),H=v(),m=v([]),C=v(!1),q=v(!1),B=new Map,Q=v({sorts:[{name:"id",order:"desc"}],terms:[{terms:[{column:"collectorId",termType:"eq",value:(oe=l.data)!=null&&oe.id?l.data.id==="*"?void 0:l.data.id:"undefined"}]}]}),W=[{label:"读",value:"read"},{label:"写",value:"write"}],G=[{title:"点位名称",dataIndex:"name",key:"name",search:{type:"string"}},{title:"通讯协议",dataIndex:"provider",key:"provider",search:{type:"select",options:[{label:"OPC_UA",value:"OPC_UA"},{label:"MODBUS_TCP",value:"MODBUS_TCP"}]}},{title:"访问类型",dataIndex:"accessModes$in$any",key:"accessModes$in$any",search:{type:"select",options:H}},{title:"运行状态",dataIndex:"runningState",key:"runningState",search:{type:"select",options:[{label:"运行中",value:"running"},{label:"部分错误",value:"partialError"},{label:"错误",value:"failed"},{label:"已停止",value:"stopped"}]}},{title:"说明",dataIndex:"description",key:"description",search:{type:"string"}}],F=v(),w=v(new Map);v();const J=v(!1),de=()=>{m.value.length===0?(V("请先选择","warning"),J.value=!1):J.value=!0},ue=()=>{var e,t;f.saveModBus=!0,h.value={collectorId:(e=l.data)==null?void 0:e.id,provider:((t=l.data)==null?void 0:t.provider)||"MODBUS_TCP"}},pe=e=>{(e==null?void 0:e.provider)==="OPC_UA"?f.saveOPCUA=!0:f.saveModBus=!0,h.value=Y(e)},X=async(e=void 0)=>{var a;q.value=!0;const t=e?await Xe(e).catch(()=>{}):await Ge(m.value).catch(()=>{});(t==null?void 0:t.status)===200&&(D(),(a=r.value)==null||a.reload(),V("操作成功","success")),q.value=!1},me=()=>{X()},_e=()=>{var a;const e=new Set(m.value),t=new Map;(a=r==null?void 0:r.value)==null||a._dataSource.forEach(s=>{e.has(s.id)&&t.set(s.id,s)}),h.value=[...t.values()],f.batchUpdate=!0},fe=()=>{f.scan=!0,h.value=Y(l.data)},ve=async e=>{f.writePoint=!0,h.value=Y(e)},he=async e=>{var a;const t=await Ze(e==null?void 0:e.collectorId,[e==null?void 0:e.id]);if(t.status===200){const s=t.result[0],d=B.get(e==null?void 0:e.id);B.set(e==null?void 0:e.id,{...d,...s}),D(),(a=r.value)==null||a.reload(),V("操作成功","success")}},Z=e=>{var a;const{quantity:t}=((a=e.configuration)==null?void 0:a.parameter)||"";return t?t+"(寄存器数量)":""},ee=e=>{var a;const{address:t}=((a=e.configuration)==null?void 0:a.parameter)||"";return t?t+"(地址)":""},te=e=>{var a,s;const{scaleFactor:t}=((s=(a=e.configuration)==null?void 0:a.codec)==null?void 0:s.configuration)||"";return t?t+"(缩放因子)":""},ge=e=>!!Z(e)||ee(e)||te(e),ye=e=>((e==null?void 0:e.accessModes)||[]).map(t=>t==null?void 0:t.text).join(","),ae=e=>{const{interval:t}=e.configuration||"";return t?"采集频率"+t+"ms":""},ne=e=>{var t;return(t=e==null?void 0:e.accessModes)==null?void 0:t.map(a=>a==null?void 0:a.value)},Ce=e=>{const{parseData:t,dataType:a}=w.value.get(e.id);return`${Pe(t)?t||0:t}(${a}) `},ke=e=>{let t="--";if(B.has(e.id)){const{parseData:a,dataType:s}=B.get(e.id);t=a?`${a}(${s||"-"}) `:"--"}return t},U=e=>{var t;for(let a in f)f[a]=!1;h.value={},e&&((t=r.value)==null||t.reload(),V("操作成功","success"))},xe=e=>{m.value=[...e]},D=()=>{m.value=[]},be=e=>{var t,a;if(((t=l.data)==null?void 0:t.provider)==="OPC_UA")if(m.value.includes(e.id)){const s=m.value.findIndex(d=>d===e.id);m.value.splice(s,1),C.value=!1}else m.value=[...m.value,e.id],m.value.length===((a=r.value)==null?void 0:a._dataSource.length)&&(C.value=!0)},Se=lt(e=>{w.value.set(e.pointId,e)}),we=e=>{var d,I,$,j,T,E,P;const t=e.map(k=>k.id),a=`collector-${((d=l.data)==null?void 0:d.channelId)||"channel"}-${(I=l.data)!=null&&I.id||l.data&&l.data.id==="*"?"point":($=l.data)==null?void 0:$.id}-data-${t.join("-")}`,s=`/collector/${((j=l.data)==null?void 0:j.channelId)||"*"}/${(T=l.data)!=null&&T.id||l.data&&l.data.id==="*"?"*":(E=l.data)==null?void 0:E.id}/data`;F.value=(P=He(a,s,{pointId:t.join(",")}))==null?void 0:P.pipe(rt(k=>k.payload)).subscribe(k=>{Se(k)})},De=e=>{var t;e.target.checked?m.value=[...(t=r.value)==null?void 0:t._dataSource.map(a=>a.id)]:(D(),C.value=!1)};L(()=>{var e;return(e=r==null?void 0:r.value)==null?void 0:e._dataSource},e=>{var t;(t=F.value)==null||t.unsubscribe(),e.length!==0&&setTimeout(()=>{we(e),e.forEach(a=>{var s;(s=a==null?void 0:a.accessModes)==null||s.forEach(d=>{(d==null?void 0:d.value)==="read"&&B.set(a.id,a)})})},100),D(),C.value=!1}),L(()=>m.value,e=>{e.length===0&&(C.value=!1)}),L(()=>l.data,e=>{var t,a;e&&(H.value=(e==null?void 0:e.provider)==="MODBUS_TCP"?W:W.concat({label:"订阅",value:"subscribe"}),Q.value.terms[0].terms[0].value=e.id?e.id==="*"?void 0:e.id:"undefined",(t=r==null?void 0:r.value)!=null&&t.reload&&((a=r==null?void 0:r.value)==null||a.reload()),D(),C.value=!1)},{immediate:!0,deep:!0}),je(()=>{var e;(e=F.value)==null||e.unsubscribe()});const Me=e=>{K.value=e};return(e,t)=>{const a=N("pro-search"),s=N("AIcon"),d=Qe,I=Ne,$=Ve,j=qe,T=Fe,E=Je,P=ze,k=N("Ellipsis"),se=Le,Oe=Re,Be=Ye,Ue=N("FullPage"),$e=Ke;return u(),g($e,{spinning:i(q)},{default:o(()=>[c(a,{columns:G,target:"search",onSearch:Me}),c(Ue,null,{default:o(()=>[c(Be,{height:"680"},{default:o(()=>[c(Oe,{ref_key:"tableRef",ref:r,model:"CARD",columns:G,gridColumn:2,gridColumns:[1,2],request:i(We),defaultParams:i(Q),params:i(K),rowSelection:{selectedRowKeys:i(m),onChange:xe},onCancelSelect:D},{headerTitle:o(()=>{var n;return[c(E,null,{default:o(()=>{var S,A,M;return[((S=O.data)==null?void 0:S.provider)=="MODBUS_TCP"?(u(),g(d,{key:0,type:"primary",onClick:ue,hasPermission:"DataCollect/Collector:add"},{icon:o(()=>[c(s,{type:"PlusOutlined"})]),default:o(()=>[x(" 新增点位 ")]),_:1})):_("",!0),((A=O.data)==null?void 0:A.provider)==="OPC_UA"?(u(),g(d,{key:1,type:"primary",onClick:fe,hasPermission:"DataCollect/Collector:add"},{icon:o(()=>[c(s,{type:"PlusOutlined"})]),default:o(()=>[x(" 扫描 ")]),_:1})):_("",!0),((M=O.data)==null?void 0:M.provider)==="OPC_UA"?(u(),g(T,{key:2,trigger:["click"]},{overlay:o(()=>[i(J)?(u(),g(j,{key:0},{default:o(()=>[c($,null,{default:o(()=>[c(d,{hasPermission:"DataCollect/Collector:update",onClick:t[0]||(t[0]=z=>_e())},{icon:o(()=>[c(s,{type:"FormOutlined"})]),default:o(()=>[x(" 编辑 ")]),_:1})]),_:1}),c($,null,{default:o(()=>[c(d,{hasPermission:"DataCollect/Collector:delete",popConfirm:{title:"确定删除?",onConfirm:()=>me()}},{icon:o(()=>[c(s,{type:"EditOutlined"})]),default:o(()=>[x(" 删除 ")]),_:1},8,["popConfirm"])]),_:1})]),_:1})):_("",!0)]),default:o(()=>[c(I,{onClick:R(de,["prevent"])},{default:o(()=>[x("批量操作 "),c(s,{type:"DownOutlined"})]),_:1},8,["onClick"])]),_:1})):_("",!0)]}),_:1}),((n=O.data)==null?void 0:n.provider)==="OPC_UA"?(u(),b("div",ut,[c(P,{checked:i(C),"onUpdate:checked":t[1]||(t[1]=S=>Te(C)?C.value=S:null),onChange:De},{default:o(()=>[x("全选")]),_:1},8,["checked"])])):_("",!0)]}),card:o(n=>{var S,A;return[c(et,{showStatus:!0,value:n,onClick:be,active:i(m).includes(n.id),class:"card-box",status:(S=n==null?void 0:n.runningState)==null?void 0:S.value,statusText:(A=n==null?void 0:n.runningState)==null?void 0:A.text,statusNames:Object.fromEntries(i(ct).entries())},{title:o(()=>[Ee(e.$slots,"title",{},()=>[c(k,{style:{width:"calc(100% - 10px)"}},{default:o(()=>[p("div",pt,y(n.name),1)]),_:2},1024)],!0)]),action:o(()=>[p("div",mt,[c(d,{type:"text",tooltip:{title:"删除"},hasPermission:"DataCollect/Collector:delete",popConfirm:{title:"确定删除?",onConfirm:()=>X(n.id)}},{default:o(()=>[p("a",_t,[c(s,{type:"DeleteOutlined"})])]),_:2},1032,["popConfirm"]),c(d,{class:"add-btn",type:"text",onClick:M=>pe(n),hasPermission:"DataCollect/Collector:update"},{default:o(()=>[p("a",ft,[c(s,{type:"FormOutlined"})])]),_:2},1032,["onClick"])])]),img:o(()=>[p("img",{src:n.provider==="OPC_UA"?i(le):i(re)},null,8,vt)]),content:o(()=>{var M,z;return[p("div",ht,[p("div",gt,[p("div",yt,[i(w).has(n.id)?(u(),b("div",Ct,[c(se,{style:{"max-width":"150px"}},{default:o(()=>[x(y(Ce(n)),1)]),_:2},1024)])):(u(),b("div",kt,[c(se,{style:{"max-width":"150px"}},{default:o(()=>[x(y(ke(n)),1)]),_:2},1024)])),ne(n).includes("write")?(u(),b("a",{key:2,onClick:R(Ae=>ve(n),["stop"])},[c(s,{type:"EditOutlined"})],8,xt)):_("",!0),ne(n).includes("read")?(u(),b("a",{key:3,onClick:R(Ae=>he(n),["stop"])},[c(s,{type:"RedoOutlined"})],8,bt)):_("",!0)]),i(w).has(n.id)?(u(),b("div",St,[p("p",null,y(((M=i(w).get(n.id))==null?void 0:M.hex)||""),1),p("p",null,y(i(it)((z=i(w).get(n.id))==null?void 0:z.timestamp).format("YYYY-MM-DD HH:mm:ss")),1)])):_("",!0)]),p("div",wt,[c(k,{style:{width:"calc(100% - 10px)","margin-bottom":"10px"}},{default:o(()=>[ge(n)?(u(),b("div",Dt,[p("span",null,y(Z(n)),1),p("span",null,y(ee(n)),1),p("span",null,y(te(n)),1)])):_("",!0)]),_:2},1024),c(k,{style:{width:"calc(100% - 10px)","margin-bottom":"10px"}},{default:o(()=>[p("div",Mt,[p("span",null,y(ye(n)),1),ae(n)?(u(),b("span",Ot,y(ae(n)),1)):_("",!0)])]),_:2},1024)])])]}),_:2},1032,["value","active","status","statusText","statusNames"])]}),_:3},8,["request","defaultParams","params","rowSelection"])]),_:3})]),_:3}),i(f).saveModBus?(u(),g(nt,{key:0,data:i(h),onChange:U},null,8,["data"])):_("",!0),i(f).saveOPCUA?(u(),g(ot,{key:1,data:i(h),onChange:U},null,8,["data"])):_("",!0),i(f).writePoint?(u(),g(tt,{key:2,data:i(h),onChange:U},null,8,["data"])):_("",!0),i(f).batchUpdate?(u(),g(at,{key:3,data:i(h),onChange:U},null,8,["data"])):_("",!0),i(f).scan?(u(),g(st,{key:4,data:i(h),onChange:U},null,8,["data"])):_("",!0)]),_:3},8,["spinning"])}}});const Ia=dt(Ut,[["__scopeId","data-v-e0229e37"]]);export{Ia as default};