import{F as J,cx as L,cy as P,$ as z,K as A,W as G}from"./index.17037962789732.js";import"./index.170379627897337.js";import"./index.170379627897315.js";import"./index.170379627897335.js";import"./index.1703796278973316.js";import"./index.170379627897330.js";import{o as w}from"./comm.1703796278973.js";import{a as R}from"./instance.1703796278973.js";import $ from"./Product.17037962789735.js";import E from"./DeviceSelect.17037962789732.js";import Q from"./Type.17037962789732.js";import{h as W}from"./util.1703796278973.js";import{d as M,k as D,v as q,V as H,o as c,c as m,a as l,z as K,u as o,t as f,b as v,B as X}from"./vue.1703796278973.js";import{_ as Y}from"./_plugin-vue_export-helper.1703796278973.js";import"./index.17037962789733.js";import"./dayjs.min.1703796278973.js";import"./isArray.1703796278973.js";import"./editor.api.1703796278973.js";import"./preload-helper.1703796278973.js";import"./monaco.contribution.1703796278973.js";import"./system.1703796278973.js";import"./index.170379627897332.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.1703796278973300.js";import"./index.170379627897317.js";import"./index.1703796278973301.js";import"./index.1703796278973302.js";import"./index.1703796278973303.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.170379627897313.js";import"./index.vue_vue_type_script_setup_true_lang.17037962789733.js";import"./index.170379627897319.js";import"./index.170379627897327.js";import"./index.170379627897318.js";import"./index.170379627897320.js";import"./index.170379627897321.js";import"./index.170379627897322.js";import"./index.170379627897323.js";import"./index.170379627897324.js";import"./index.170379627897325.js";import"./index.170379627897326.js";import"./index.170379627897328.js";import"./Item.1703796278973.js";import"./product.17037962789737.js";import"./category.1703796278973.js";import"./department.1703796278973.js";import"./setting.1703796278973.js";import"./TopCard.17037962789739.js";import"./TopCard.vue_vue_type_style_index_0_scoped_817d9095_lang.1703796278973.js";import"./DeviceList.17037962789732.js";import"./OrgList.17037962789732.js";import"./util.17037962789732.js";import"./utils.1703796278973.js";import"./moment.1703796278973.js";import"./index.vue_vue_type_script_setup_true_name_Timer_lang.1703796278973.js";import"./index.170379627897336.js";import"./WhenOption.17037962789732.js";import"./regular.1703796278973.js";import"./TriggerWay.vue_vue_type_style_index_0_scoped_1bb0f74d_lang.1703796278973.js";import"./FunctionCall.vue_vue_type_script_setup_true_name_FunctionCall_lang.1703796278973.js";import"./index.vue_vue_type_script_setup_true_name_ValueItem_lang.1703796278973.js";import"./index.170379627897338.js";import"./index.170379627897329.js";import"./style.1703796278973.js";import"./ReadProperties.vue_vue_type_script_setup_true_name_ReadProperties_lang.17037962789732.js";import"./WriteProperty.vue_vue_type_script_setup_true_name_WriteProperties_lang.17037962789732.js";import"./InvokeFunction.vue_vue_type_script_setup_true_name_InvokeFunction_lang.17037962789732.js";const Z={class:"steps-content"},ee={class:"steps-action"},te=M({name:"AddModel"}),oe=M({...te,props:{value:{type:Object,default:()=>({productId:"",selector:"fixed",selectorValues:[]})},options:{type:Object,default:()=>({})}},emits:["cancel","change","save"],setup(j,{emit:I}){const p=j,O=J.useInjectFormItemContext(),V=D(),e=q({productId:p.value.productId||"",selector:p.value.selector||"fixed",selectorValues:p.value.selectorValues||[],stepNumber:0,deviceKeys:p.value.selectorValues||[],orgId:p.value.selectorValues||[],productDetail:{},metadata:{},operator:p.value.operation||{operator:"online"}}),b=D(p.options),T=r=>{var d,u;const t={name:"",extraName:"",onlyName:!1,type:"",typeIcon:{writeProperty:"icon-bianji1",invokeFunction:"icon-widgets",reportEvent:"icon-shijian",readProperty:"icon-Group"}[r.operator],productName:"",selectorIcon:"",time:void 0,when:void 0,extraTime:void 0,action:(d=b.value)==null?void 0:d.action};if(e.selector==="fixed"){let a=!1,n=0;const s=e.selectorValues.reduce((y,h,C)=>y.length<=30?(n=C,C===0?h.name:y+"、"+h.name):(a=!0,y),"");t.name=s,a&&e.selectorValues.length>n&&(t.extraName=`等${e.selectorValues.length}台设备`),t.selectorIcon="icon-shebei1"}else e.selector==="org"?(t.name=((u=e.selectorValues)==null?void 0:u[0].name)+"的",t.productName=e.productDetail.name,t.selectorIcon="icon-zuzhi"):t.name="所有的"+e.productDetail.name;if(r.timer){const a=r.timer,{time:n,extraTime:s,when:y}=W(a);t.when=y,t.time=n,t.extraTime=s}return r.operator==="online"&&(t.type="上线",t.action="",t.typeIcon="icon-a-Group4713"),r.operator==="offline"&&(t.type="离线",t.action="",t.typeIcon="icon-a-Group4892"),r.operator==="reportProperty"&&(t.type="属性上报",t.action="",t.typeIcon="icon-file-upload-outline"),t},B=()=>{e.stepNumber=e.stepNumber-1},g=()=>{I("cancel")},x=r=>{try{e.metadata=JSON.parse(r||"{}")}catch(i){console.warn("handleMetadata: "+i)}},F=()=>{e.deviceKeys=[],e.orgId=[],e.selector="fixed",e.operator={operator:"online"},e.selectorValues=[]},N=async r=>{var t;return(t=(await R(r)).result)==null?void 0:t.metadata},_=async r=>{var t,d,u;let i=r!==void 0?r:e.stepNumber;if(i===0)e.productId?e.stepNumber=1:w("请选择产品","error");else if(i===1){const a=e.selector==="fixed";if(["fixed","org"].includes(e.selector)&&!((t=e.selectorValues)!=null&&t.length))return w(a?"请选择设备":"请选择部门","error");const n=a&&((d=e.selectorValues)==null?void 0:d.length)===1;x(n?await N(e.selectorValues[0].value):(u=e.productDetail)==null?void 0:u.metadata),e.stepNumber=2}else{const a=await V.value.vail();if(a){b.value.action=a.action;const n=T(a.data),s={operation:a.data,selector:e.selector,selectorValues:e.selectorValues,productId:e.productId};I("save",s,n),O.onFieldChange()}}},k=()=>_(),U=r=>{r!==0?_(r-1):e.stepNumber=0},S=async()=>{var r;p.value.selector==="fixed"&&((r=p.value.selectorValues)!=null&&r.length)&&x(await N(p.value.selectorValues[0].value))};return H(()=>{S()}),(r,i)=>{const t=L,d=P,u=z,a=A,n=G;return c(),m(n,{title:"触发规则",visible:"",width:820,onOk:_,onCancel:g,maskClosable:!1},{footer:l(()=>[K("div",ee,[o(e).stepNumber===0?(c(),m(a,{key:0,onClick:g},{default:l(()=>[f("取消")]),_:1})):(c(),m(a,{key:1,onClick:B},{default:l(()=>[f("上一步")]),_:1})),o(e).stepNumber<2?(c(),m(a,{key:2,type:"primary",onClick:k},{default:l(()=>[f("下一步")]),_:1})):(c(),m(a,{key:3,type:"primary",onClick:k},{default:l(()=>[f("确定")]),_:1}))])]),default:l(()=>[v(d,{current:o(e).stepNumber,onChange:U},{default:l(()=>[v(t,null,{title:l(()=>[f("选择产品")]),_:1}),v(t,null,{title:l(()=>[f("选择设备")]),_:1}),v(t,null,{title:l(()=>[f("触发类型")]),_:1})]),_:1},8,["current"]),v(u,{style:{"margin-bottom":"0px"}}),K("div",Z,[o(e).stepNumber===0?(c(),m($,{key:0,rowKey:o(e).productId,"onUpdate:rowKey":i[0]||(i[0]=s=>o(e).productId=s),detail:o(e).productDetail,"onUpdate:detail":i[1]||(i[1]=s=>o(e).productDetail=s),onChange:F},null,8,["rowKey","detail"])):o(e).stepNumber===1?(c(),m(E,{key:1,productId:o(e).productId,deviceKeys:o(e).deviceKeys,"onUpdate:deviceKeys":i[2]||(i[2]=s=>o(e).deviceKeys=s),orgId:o(e).orgId,"onUpdate:orgId":i[3]||(i[3]=s=>o(e).orgId=s),selector:o(e).selector,"onUpdate:selector":i[4]||(i[4]=s=>o(e).selector=s),selectorValues:o(e).selectorValues,"onUpdate:selectorValues":i[5]||(i[5]=s=>o(e).selectorValues=s)},null,8,["productId","deviceKeys","orgId","selector","selectorValues"])):o(e).stepNumber===2?(c(),m(Q,{key:2,ref_key:"typeRef",ref:V,metadata:o(e).metadata,operator:o(e).operator},null,8,["metadata","operator"])):X("",!0)])]),_:1})}}});const Ct=Y(oe,[["__scopeId","data-v-0bb25d83"]]);export{Ct as default};