import{M as g,aP as Q,a0 as W,ax as X}from"./index.17037962789732.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.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{_ as Y}from"./index.170379627897313.js";import"./index.170379627897336.js";import{_ as Z}from"./index.vue_vue_type_script_setup_true_name_PermissionButton_lang.1703796278973.js";import{_ as P}from"./save.vue_vue_type_script_setup_true_lang.17037962789732.js";import{h as ee}from"./system.1703796278973.js";import{_ as j,b as te,c as ie}from"./scene.17037962789732.js";import{a as J}from"./comm.1703796278973.js";import{_ as se}from"./index.vue_vue_type_script_setup_true_lang.17037962789733.js";import{u as ne}from"./instance.17037962789732.js";import{q as oe}from"./dev.1703796278973.js";import{d as z,k as x,r as A,o as f,x as N,b as o,a as n,u as l,t as O,M as ae,z as u,A as k,c as $,F as E,h as le,B as re,G as pe,H as ce}from"./vue.1703796278973.js";import{_ as ue}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"./index.170379627897335.js";import"./index.170379627897320.js";import"./index.170379627897321.js";import"./permission.1703796278973.js";import"./index.170379627897337.js";import"./index.170379627897318.js";import"./index.170379627897319.js";import"./TriggerWay.1703796278973.js";import"./TriggerWay.vue_vue_type_style_index_0_scoped_86104552_lang.1703796278973.js";import"./index.170379627897333.js";import"./index.170379627897334.js";import"./default.1703796278973.js";import"./consts.1703796278973.js";import"./404.1703796278973.js";import"./instance.1703796278973.js";const me=C=>(pe("data-v-fb14f646"),C=C(),ce(),C),de=["src"],_e=["src"],ge={style:{"font-size":"16px","font-weight":"600"}},fe={class:"subTitle"},ye=me(()=>u("span",{class:"subTitle-title"}," 说明: ",-1)),ve={class:"subTitle-content"},be=z({name:"Scene"}),he=z({...be,setup(C){const d=x(""),L=ne(),G=ee(),T=x(!1),B=x({}),V=new Map;V.set("started","success"),V.set("disable","error");const q=x({}),S=x({}),m=new Map;m.set("device",{text:"设备触发",img:J("/scene/scene-device.png"),icon:J("/scene/trigger-type-icon/device.png"),tip:"适用于设备数据或行为满足触发条件时,执行指定的动作"});const H=[{dataIndex:"name",fixed:"left",ellipsis:!0,width:300,title:"名称",search:{type:"string"}},{dataIndex:"triggerType",title:"触发方式",scopedSlots:!0,search:{type:"select",options:Array.from(m).map(e=>{var a;return{label:(a=e[1])==null?void 0:a.text,value:e[0]}})}},{dataIndex:"state",title:"状态",scopedSlots:!0,search:{type:"select",options:[{label:"正常",value:"started"},{label:"禁用",value:"disable"}]}},{dataIndex:"description",title:"说明",ellipsis:!0,search:{type:"string"},scopedSlots:!0},{title:"操作",key:"action",fixed:"right",width:200,scopedSlots:!0}],D=(e,a)=>{var _,w,y,v,I,M;if(!e)return[];const c=[{key:"update",text:"编辑",tooltip:{title:"编辑"},icon:"EditOutlined",onClick:()=>{T.value=!0,B.value=e}},{key:"action",text:((_=e.state)==null?void 0:_.value)!=="disable"?"禁用":"启用",tooltip:{title:e.triggerType&&((w=e.branches||[])!=null&&w.length)?((y=e.state)==null?void 0:y.value)!=="disable"?"禁用":"启用":"未配置规则的不能启用"},disabled:!(e!=null&&e.triggerType&&((v=(e==null?void 0:e.branches)||[])!=null&&v.length)),icon:e.state.value!=="disable"?"StopOutlined":"CheckCircleOutlined",popConfirm:{title:`确认${e.state.value!=="disable"?"禁用":"启用"}?`,onConfirm:async()=>{var r;let p;e.state.value!=="disable"?p=await j(e.id,"_disable"):p=await j(e.id,"_enable"),p&&p.status===200?(g.success("操作成功!"),(r=S.value)==null||r.reload()):g.error("操作失败!")}}},{key:"delete",text:"删除",disabled:((I=e.state)==null?void 0:I.value)!=="disable",tooltip:{title:e.state.value!=="disable"?"请先禁用该场景,再删除":"删除"},popConfirm:{title:"确认删除?",onConfirm:async()=>{var r;(await te(e.id)).status===200?(g.success("操作成功!"),(r=S.value)==null||r.reload()):g.error("操作失败!")}},icon:"DeleteOutlined"}];if(e.triggerType==="manual"){const p={key:"tigger",text:"手动触发",disabled:((M=e.state)==null?void 0:M.value)==="disable",tooltip:{title:e.state.value!=="disable"?"手动触发":"未启用,不能手动触发"},icon:"LikeOutlined",popConfirm:{title:"确认手动触发?",onConfirm:async()=>{var b;(await ie(e.id)).status===200?(g.success("操作成功!"),(b=S.value)==null||b.reload()):g.error("操作失败!")}}};c.splice(1,0,p)}return a==="table"&&c.splice(0,0,{key:"view",text:"查看",tooltip:{title:"查看"},icon:"EyeOutlined",onClick:()=>{F(e.id,e.triggerType)}}),c},U=e=>{d.value&&d.value!==""?q.value={terms:[{type:"and",value:"%"+d.value+"%",termType:"like",column:"name"}]}:q.value={terms:[{type:"and",value:"%",termType:"like",column:"name"}]}},K=()=>{T.value=!0,B.value={}},F=(e,a)=>{G.jumpPage("rule-engine/Scene/Save",{},{triggerType:a,id:e,type:"view"})};return(e,a)=>{const c=A("AIcon"),_=Z,w=Q,y=W,v=A("Ellipsis"),I=Y,M=X,p=A("FullPage");return f(),N(E,null,[o(p,null,{default:n(()=>{var r,b;return[o(M,{ref_key:"sceneRef",ref:S,columns:H,noPagination:"",request:l(oe),pagination:{},defaultParams:{terms:[{type:"and",value:"device",termType:"eq",column:"triggerType"},{type:"and",value:(b=(r=l(L))==null?void 0:r.current)==null?void 0:b.id,termType:"eq",column:"deviceId"}],sorts:[{name:"createTime",order:"desc"}]},params:l(q)},{headerTitle:n(()=>[o(y,null,{default:n(()=>[o(_,{type:"primary",onClick:K,hasPermission:"rule-engine/Scene:add"},{icon:n(()=>[o(c,{type:"PlusOutlined"})]),default:n(()=>[O(" 新增 ")]),_:1}),o(w,{placeholder:"请输入名称",style:{width:"300px"},onSearch:U,value:l(d),"onUpdate:value":a[0]||(a[0]=t=>ae(d)?d.value=t:null),allowClear:!0},null,8,["value"])]),_:1})]),card:n(t=>{var s,h;return[o(I,{value:t,onClick:i=>F(t.id,t.triggerType),actions:D(t,"card"),status:(s=t.state)==null?void 0:s.value,statusText:(h=t.state)==null?void 0:h.text,statusNames:{started:"processing",disable:"error"}},{type:n(()=>{var i,R;return[u("span",null,[u("img",{height:16,src:(i=l(m).get(t.triggerType))==null?void 0:i.icon,style:{"margin-right":"5px"}},null,8,de),O(k((R=l(m).get(t.triggerType))==null?void 0:R.text),1)])]}),img:n(()=>{var i;return[u("img",{src:(i=l(m).get(t.triggerType))==null?void 0:i.img},null,8,_e)]}),content:n(()=>[o(v,{style:{width:"calc(100% - 100px)"}},{default:n(()=>[u("span",ge,k(t.name),1)]),_:2},1024),u("div",fe,[ye,u("span",ve,[o(v,{lineClamp:2},{default:n(()=>{var i;return[O(k(t!=null&&t.description?t==null?void 0:t.description:(i=l(m).get(t.triggerType))==null?void 0:i.tip),1)]}),_:2},1024)])])]),actions:n(i=>[o(_,{disabled:i.disabled,popConfirm:i.popConfirm,tooltip:{...i.tooltip},onClick:i.onClick,hasPermission:"rule-engine/Scene:"+i.key},{default:n(()=>[i.key==="delete"?(f(),$(c,{key:0,type:"DeleteOutlined"})):(f(),N(E,{key:1},[o(c,{type:i.icon},null,8,["type"]),u("span",null,k(i==null?void 0:i.text),1)],64))]),_:2},1032,["disabled","popConfirm","tooltip","onClick","hasPermission"])]),_:2},1032,["value","onClick","actions","status","statusText"])]}),triggerType:n(t=>{var s;return[O(k((s=l(m).get(t.triggerType))==null?void 0:s.text),1)]}),state:n(t=>{var s,h;return[o(se,{status:(s=t.state)==null?void 0:s.value,text:(h=t.state)==null?void 0:h.text,statusNames:{enabled:"processing",disabled:"error"}},null,8,["status","text"])]}),action:n(t=>[o(y,null,{default:n(()=>[(f(!0),N(E,null,le(D(t,"table"),s=>(f(),$(_,{key:s.key,disabled:s.disabled,popConfirm:s.popConfirm,tooltip:{...s.tooltip},onClick:s.onClick,type:"link",danger:s.key==="delete",style:{padding:"0 5px"},hasPermission:s.key==="view"?!0:"rule-engine/Scene:"+s.key},{icon:n(()=>[o(c,{type:s.icon},null,8,["type"])]),_:2},1032,["disabled","popConfirm","tooltip","onClick","danger","hasPermission"]))),128))]),_:2},1024)]),_:1},8,["request","defaultParams","params"])]}),_:1}),l(T)?(f(),$(P,{key:0,onClose:a[1]||(a[1]=r=>T.value=!1),data:l(B)},null,8,["data"])):re("",!0)],64)}}});const _t=ue(he,[["__scopeId","data-v-fb14f646"]]);export{_t as default};