2 lines
22 KiB
JavaScript
2 lines
22 KiB
JavaScript
var Be=Object.defineProperty,Me=Object.defineProperties;var Ae=Object.getOwnPropertyDescriptors;var ue=Object.getOwnPropertySymbols;var je=Object.prototype.hasOwnProperty,Fe=Object.prototype.propertyIsEnumerable;var ce=(e,o,r)=>o in e?Be(e,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[o]=r,fe=(e,o)=>{for(var r in o||(o={}))je.call(o,r)&&ce(e,r,o[r]);if(ue)for(var r of ue(o))Fe.call(o,r)&&ce(e,r,o[r]);return e},me=(e,o)=>Me(e,Ae(o));var Q=(e,o,r)=>new Promise((t,d)=>{var C=g=>{try{c(r.next(g))}catch(y){d(y)}},S=g=>{try{c(r.throw(g))}catch(y){d(y)}},c=g=>g.done?t(g.value):Promise.resolve(g.value).then(C,S);c((r=r.apply(e,o)).next())});import{_ as B,k as R,bO as Le,g as ze,P as p,h as re,b0 as pe,am as ve,j as P,o as Oe,K as We,i as ke,cY as He,m as Ye,aF as Ue,bR as Xe,y as Ge,cZ as Ke,c_ as ge,c$ as ye,d0 as he,d1 as qe,bg as ee,cR as Je,bY as Ze,ay as be,an as we,a9 as te}from"./bootstrap-D7yvUSkm.js";import{m as U,bl as D,v as Ie,n as W,w as V,x as _e,j as f,bL as Ce,b9 as z,aa as T,aE as Qe,b4 as et,b7 as tt,ab as ot,b2 as nt,bJ as F,u as M,ae as rt,ai as Se,aJ as at,ce as lt}from"../jse/index-index-BAlyf32H.js";import{u as it,c as st}from"./index-zvsy3m8i.js";import{s as oe,E as dt,x as L}from"./constants-B5TthjFC.js";import{_ as ut}from"./action-section.vue_vue_type_script_setup_true_lang-i4nx8PSM.js";import ct from"./basic-info-section-C4g15zSF.js";import{_ as ft}from"./trigger-section.vue_vue_type_script_setup_true_lang-Crvp4FPK.js";import{C as ne}from"./biz-system-enum-BAorzMA8.js";import"./alert-config.vue_vue_type_script_setup_true_lang-0SuX-xEj.js";import"./index-CoTYV3yH.js";import"./device-control-config.vue_vue_type_script_setup_true_lang-BKFoAQG8.js";import"./index-BuLDC0Dm.js";import"./json-params-input-Dkeda0tV.js";import"./device-selector.vue_vue_type_script_setup_true_lang-DYzGymfY.js";import"./index-CFun89a0.js";import"./dict-tag.vue_vue_type_script_setup_true_lang-B4-NPqix.js";import"./dict-enum-CaHgMaDZ.js";import"./product-selector.vue_vue_type_script_setup_true_lang-CmrkjkXH.js";import"./index-CZX_OC-J.js";import"./cron-tab-CFOmaOYq.js";import"./device-trigger-config.vue_vue_type_script_setup_true_lang-DrPeJfvI.js";import"./main-condition-inner-config.vue_vue_type_script_setup_true_lang-DpFEMtqJ.js";import"./value-input.vue_vue_type_script_setup_true_lang-Bb5-FNK9.js";import"./operator-selector-D7bF7iXm.js";import"./property-selector-ChvCNSf8.js";import"./sub-condition-group-config.vue_vue_type_script_setup_true_lang-BnFxiZrs.js";import"./condition-config-B7p-_ZvE.js";import"./current-time-condition-config.vue_vue_type_script_setup_true_lang-CM4OdNNk.js";const De=()=>({prefixCls:String,width:p.oneOfType([p.string,p.number]),height:p.oneOfType([p.string,p.number]),style:{type:Object,default:void 0},class:String,rootClassName:String,rootStyle:R(),placement:{type:String},wrapperClassName:String,level:{type:[String,Array]},levelMove:{type:[Number,Function,Array]},duration:String,ease:String,showMask:{type:Boolean,default:void 0},maskClosable:{type:Boolean,default:void 0},maskStyle:{type:Object,default:void 0},afterVisibleChange:Function,keyboard:{type:Boolean,default:void 0},contentWrapperStyle:ze(),autofocus:{type:Boolean,default:void 0},open:{type:Boolean,default:void 0},motion:Le(),maskMotion:R()}),mt=()=>B(B({},De()),{forceRender:{type:Boolean,default:void 0},getContainer:p.oneOfType([p.string,p.func,p.object,p.looseBool])}),pt=()=>B(B({},De()),{getContainer:Function,getOpenCount:Function,scrollLocker:p.any,inline:Boolean});function vt(e){return Array.isArray(e)?e:[e]}const gt={transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend"};Object.keys(gt).filter(e=>{if(typeof document=="undefined")return!1;const o=document.getElementsByTagName("html")[0];return e in(o?o.style:{})})[0];const yt=!(typeof window!="undefined"&&window.document&&window.document.createElement);var ht=function(e,o){var r={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(r[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var d=0,t=Object.getOwnPropertySymbols(e);d<t.length;d++)o.indexOf(t[d])<0&&Object.prototype.propertyIsEnumerable.call(e,t[d])&&(r[t[d]]=e[t[d]]);return r};const $e=U({compatConfig:{MODE:3},inheritAttrs:!1,props:pt(),emits:["close","handleClick","change"],setup(e,o){let{emit:r,slots:t}=o;const d=D(),C=D(),S=D(),c=D(),g=D();let y=[];`${Number((Date.now()+Math.random()).toString().replace(".",Math.round(Math.random()*9).toString())).toString(16)}`,Ie(()=>{W(()=>{var l;const{open:n,getContainer:i,showMask:m,autofocus:s}=e,w=i==null?void 0:i();I(e),n&&(w&&(w.parentNode,document.body),W(()=>{s&&$()}),m&&((l=e.scrollLocker)===null||l===void 0||l.lock()))})}),V(()=>e.level,()=>{I(e)},{flush:"post"}),V(()=>e.open,()=>{const{open:l,getContainer:n,scrollLocker:i,showMask:m,autofocus:s}=e,w=n==null?void 0:n();w&&(w.parentNode,document.body),l?(s&&$(),m&&(i==null||i.lock())):i==null||i.unLock()},{flush:"post"}),_e(()=>{var l;const{open:n}=e;n&&(document.body.style.touchAction=""),(l=e.scrollLocker)===null||l===void 0||l.unLock()}),V(()=>e.placement,l=>{l&&(g.value=null)});const $=()=>{var l,n;(n=(l=C.value)===null||l===void 0?void 0:l.focus)===null||n===void 0||n.call(l)},b=l=>{r("close",l)},h=l=>{l.keyCode===We.ESC&&(l.stopPropagation(),b(l))},E=()=>{const{open:l,afterVisibleChange:n}=e;n&&n(!!l)},I=l=>{let{level:n,getContainer:i}=l;if(yt)return;const m=i==null?void 0:i(),s=m?m.parentNode:null;y=[],n==="all"?(s?Array.prototype.slice.call(s.children):[]).forEach(O=>{O.nodeName!=="SCRIPT"&&O.nodeName!=="STYLE"&&O.nodeName!=="LINK"&&O!==m&&y.push(O)}):n&&vt(n).forEach(w=>{document.querySelectorAll(w).forEach(O=>{y.push(O)})})},_=l=>{r("handleClick",l)},x=D(!1);return V(C,()=>{W(()=>{x.value=!0})}),()=>{var l,n;const{width:i,height:m,open:s,prefixCls:w,placement:O,level:A,levelMove:j,ease:ae,duration:le,getContainer:ie,onChange:se,afterVisibleChange:de,showMask:H,maskClosable:X,maskStyle:G,keyboard:K,getOpenCount:a,scrollLocker:u,contentWrapperStyle:v,style:k,class:N,rootClassName:q,rootStyle:J,maskMotion:Pe,motion:Z,inline:Te}=e,Ve=ht(e,["width","height","open","prefixCls","placement","level","levelMove","ease","duration","getContainer","onChange","afterVisibleChange","showMask","maskClosable","maskStyle","keyboard","getOpenCount","scrollLocker","contentWrapperStyle","style","class","rootClassName","rootStyle","maskMotion","motion","inline"]),Y=s&&x.value,Ne=re(w,{[`${w}-${O}`]:!0,[`${w}-open`]:Y,[`${w}-inline`]:Te,"no-mask":!H,[q]:!0}),Re=typeof Z=="function"?Z(O):Z;return f("div",P(P({},Oe(Ve,["autofocus"])),{},{tabindex:-1,class:Ne,style:J,ref:C,onKeydown:Y&&K?h:void 0}),[f(pe,Pe,{default:()=>[H&&Ce(f("div",{class:`${w}-mask`,onClick:X?b:void 0,style:G,ref:S},null),[[ve,Y]])]}),f(pe,P(P({},Re),{},{onAfterEnter:E,onAfterLeave:E}),{default:()=>[Ce(f("div",{class:`${w}-content-wrapper`,style:[v],ref:d},[f("div",{class:[`${w}-content`,N],style:k,ref:g},[(l=t.default)===null||l===void 0?void 0:l.call(t)]),t.handler?f("div",{onClick:_,ref:c},[(n=t.handler)===null||n===void 0?void 0:n.call(t)]):null]),[[ve,Y]])]})])}}});var Ee=function(e,o){var r={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(r[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var d=0,t=Object.getOwnPropertySymbols(e);d<t.length;d++)o.indexOf(t[d])<0&&Object.prototype.propertyIsEnumerable.call(e,t[d])&&(r[t[d]]=e[t[d]]);return r};const bt=U({compatConfig:{MODE:3},inheritAttrs:!1,props:ke(mt(),{prefixCls:"drawer",placement:"left",getContainer:"body",level:"all",duration:".3s",ease:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",afterVisibleChange:()=>{},showMask:!0,maskClosable:!0,maskStyle:{},wrapperClassName:"",keyboard:!0,forceRender:!1,autofocus:!0}),emits:["handleClick","close"],setup(e,o){let{emit:r,slots:t}=o;const d=z(null),C=c=>{r("handleClick",c)},S=c=>{r("close",c)};return()=>{const{getContainer:c,wrapperClassName:g,rootClassName:y,rootStyle:$,forceRender:b}=e,h=Ee(e,["getContainer","wrapperClassName","rootClassName","rootStyle","forceRender"]);let E=null;if(!c)return f($e,P(P({},h),{},{rootClassName:y,rootStyle:$,open:e.open,onClose:S,onHandleClick:C,inline:!0}),t);const I=!!t.handler||b;return(I||e.open||d.value)&&(E=f(He,{autoLock:!0,visible:e.open,forceRender:I,getContainer:c,wrapperClassName:g},{default:_=>{var{visible:x,afterClose:l}=_,n=Ee(_,["visible","afterClose"]);return f($e,P(P(P({ref:d},h),n),{},{rootClassName:y,rootStyle:$,open:x!==void 0?x:e.open,afterVisibleChange:l!==void 0?l:e.afterVisibleChange,onClose:S,onHandleClick:C}),t)}})),E}}}),wt=e=>{const{componentCls:o,motionDurationSlow:r}=e,t={"&-enter, &-appear, &-leave":{"&-start":{transition:"none"},"&-active":{transition:`all ${r}`}}};return{[o]:{[`${o}-mask-motion`]:{"&-enter, &-appear, &-leave":{"&-active":{transition:`all ${r}`}},"&-enter, &-appear":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}}},[`${o}-panel-motion`]:{"&-left":[t,{"&-enter, &-appear":{"&-start":{transform:"translateX(-100%) !important"},"&-active":{transform:"translateX(0)"}},"&-leave":{transform:"translateX(0)","&-active":{transform:"translateX(-100%)"}}}],"&-right":[t,{"&-enter, &-appear":{"&-start":{transform:"translateX(100%) !important"},"&-active":{transform:"translateX(0)"}},"&-leave":{transform:"translateX(0)","&-active":{transform:"translateX(100%)"}}}],"&-top":[t,{"&-enter, &-appear":{"&-start":{transform:"translateY(-100%) !important"},"&-active":{transform:"translateY(0)"}},"&-leave":{transform:"translateY(0)","&-active":{transform:"translateY(-100%)"}}}],"&-bottom":[t,{"&-enter, &-appear":{"&-start":{transform:"translateY(100%) !important"},"&-active":{transform:"translateY(0)"}},"&-leave":{transform:"translateY(0)","&-active":{transform:"translateY(100%)"}}}]}}}},Ct=e=>{const{componentCls:o,zIndexPopup:r,colorBgMask:t,colorBgElevated:d,motionDurationSlow:C,motionDurationMid:S,padding:c,paddingLG:g,fontSizeLG:y,lineHeightLG:$,lineWidth:b,lineType:h,colorSplit:E,marginSM:I,colorIcon:_,colorIconHover:x,colorText:l,fontWeightStrong:n,drawerFooterPaddingVertical:i,drawerFooterPaddingHorizontal:m}=e,s=`${o}-content-wrapper`;return{[o]:{position:"fixed",inset:0,zIndex:r,pointerEvents:"none","&-pure":{position:"relative",background:d,[`&${o}-left`]:{boxShadow:e.boxShadowDrawerLeft},[`&${o}-right`]:{boxShadow:e.boxShadowDrawerRight},[`&${o}-top`]:{boxShadow:e.boxShadowDrawerUp},[`&${o}-bottom`]:{boxShadow:e.boxShadowDrawerDown}},"&-inline":{position:"absolute"},[`${o}-mask`]:{position:"absolute",inset:0,zIndex:r,background:t,pointerEvents:"auto"},[s]:{position:"absolute",zIndex:r,transition:`all ${C}`,"&-hidden":{display:"none"}},[`&-left > ${s}`]:{top:0,bottom:0,left:{_skip_check_:!0,value:0},boxShadow:e.boxShadowDrawerLeft},[`&-right > ${s}`]:{top:0,right:{_skip_check_:!0,value:0},bottom:0,boxShadow:e.boxShadowDrawerRight},[`&-top > ${s}`]:{top:0,insetInline:0,boxShadow:e.boxShadowDrawerUp},[`&-bottom > ${s}`]:{bottom:0,insetInline:0,boxShadow:e.boxShadowDrawerDown},[`${o}-content`]:{width:"100%",height:"100%",overflow:"auto",background:d,pointerEvents:"auto"},[`${o}-wrapper-body`]:{display:"flex",flexDirection:"column",width:"100%",height:"100%"},[`${o}-header`]:{display:"flex",flex:0,alignItems:"center",padding:`${c}px ${g}px`,fontSize:y,lineHeight:$,borderBottom:`${b}px ${h} ${E}`,"&-title":{display:"flex",flex:1,alignItems:"center",minWidth:0,minHeight:0}},[`${o}-extra`]:{flex:"none"},[`${o}-close`]:{display:"inline-block",marginInlineEnd:I,color:_,fontWeight:n,fontSize:y,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",textDecoration:"none",background:"transparent",border:0,outline:0,cursor:"pointer",transition:`color ${S}`,textRendering:"auto","&:focus, &:hover":{color:x,textDecoration:"none"}},[`${o}-title`]:{flex:1,margin:0,color:l,fontWeight:e.fontWeightStrong,fontSize:y,lineHeight:$},[`${o}-body`]:{flex:1,minWidth:0,minHeight:0,padding:g,overflow:"auto"},[`${o}-footer`]:{flexShrink:0,padding:`${i}px ${m}px`,borderTop:`${b}px ${h} ${E}`},"&-rtl":{direction:"rtl"}}}},St=Ye("Drawer",e=>{const o=Ue(e,{drawerFooterPaddingVertical:e.paddingXS,drawerFooterPaddingHorizontal:e.padding});return[Ct(o),wt(o)]},e=>({zIndexPopup:e.zIndexPopupBase}));var $t=function(e,o){var r={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(r[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var d=0,t=Object.getOwnPropertySymbols(e);d<t.length;d++)o.indexOf(t[d])<0&&Object.prototype.propertyIsEnumerable.call(e,t[d])&&(r[t[d]]=e[t[d]]);return r};const Et=["top","right","bottom","left"],xe={distance:180},xt=()=>({autofocus:{type:Boolean,default:void 0},closable:{type:Boolean,default:void 0},closeIcon:p.any,destroyOnClose:{type:Boolean,default:void 0},forceRender:{type:Boolean,default:void 0},getContainer:{type:[String,Function,Boolean,Object],default:void 0},maskClosable:{type:Boolean,default:void 0},mask:{type:Boolean,default:void 0},maskStyle:R(),rootClassName:String,rootStyle:R(),size:{type:String},drawerStyle:R(),headerStyle:R(),bodyStyle:R(),contentWrapperStyle:{type:Object,default:void 0},title:p.any,visible:{type:Boolean,default:void 0},open:{type:Boolean,default:void 0},width:p.oneOfType([p.string,p.number]),height:p.oneOfType([p.string,p.number]),zIndex:Number,prefixCls:String,push:p.oneOfType([p.looseBool,{type:Object}]),placement:p.oneOf(Et),keyboard:{type:Boolean,default:void 0},extra:p.any,footer:p.any,footerStyle:R(),level:p.any,levelMove:{type:[Number,Array,Function]},handle:p.any,afterVisibleChange:Function,onAfterVisibleChange:Function,onAfterOpenChange:Function,"onUpdate:visible":Function,"onUpdate:open":Function,onClose:Function}),Ot=U({compatConfig:{MODE:3},name:"ADrawer",inheritAttrs:!1,props:ke(xt(),{closable:!0,placement:"right",maskClosable:!0,mask:!0,level:null,keyboard:!0,push:xe}),slots:Object,setup(e,o){let{emit:r,slots:t,attrs:d}=o;const C=D(!1),S=D(!1),c=D(null),g=D(!1),y=D(!1),$=T(()=>{var a;return(a=e.open)!==null&&a!==void 0?a:e.visible});V($,()=>{$.value?g.value=!0:y.value=!1},{immediate:!0}),V([$,g],()=>{$.value&&g.value&&(y.value=!0)},{immediate:!0});const b=Qe("parentDrawerOpts",null),{prefixCls:h,getPopupContainer:E,direction:I}=Ge("drawer",e),[_,x]=St(h),l=T(()=>e.getContainer===void 0&&(E!=null&&E.value)?()=>E.value(document.body):e.getContainer);Ke(!e.afterVisibleChange,"Drawer","`afterVisibleChange` prop is deprecated, please use `@afterVisibleChange` event instead"),et("parentDrawerOpts",{setPush:()=>{C.value=!0},setPull:()=>{C.value=!1,W(()=>{m()})}}),Ie(()=>{$.value&&b&&b.setPush()}),_e(()=>{b&&b.setPull()}),V(y,()=>{b&&(y.value?b.setPush():b.setPull())},{flush:"post"});const m=()=>{var a,u;(u=(a=c.value)===null||a===void 0?void 0:a.domFocus)===null||u===void 0||u.call(a)},s=a=>{r("update:visible",!1),r("update:open",!1),r("close",a)},w=a=>{var u;a||(S.value===!1&&(S.value=!0),e.destroyOnClose&&(g.value=!1)),(u=e.afterVisibleChange)===null||u===void 0||u.call(e,a),r("afterVisibleChange",a),r("afterOpenChange",a)},O=T(()=>{const{push:a,placement:u}=e;let v;return typeof a=="boolean"?v=a?xe.distance:0:v=a.distance,v=parseFloat(String(v||0)),u==="left"||u==="right"?`translateX(${u==="left"?v:-v}px)`:u==="top"||u==="bottom"?`translateY(${u==="top"?v:-v}px)`:null}),A=T(()=>{var a;return(a=e.width)!==null&&a!==void 0?a:e.size==="large"?736:378}),j=T(()=>{var a;return(a=e.height)!==null&&a!==void 0?a:e.size==="large"?736:378}),ae=T(()=>{const{mask:a,placement:u}=e;if(!y.value&&!a)return{};const v={};return u==="left"||u==="right"?v.width=ge(A.value)?`${A.value}px`:A.value:v.height=ge(j.value)?`${j.value}px`:j.value,v}),le=T(()=>{const{zIndex:a,contentWrapperStyle:u}=e,v=ae.value;return[{zIndex:a,transform:C.value?O.value:void 0},B({},u),v]}),ie=a=>{const{closable:u,headerStyle:v}=e,k=ee(t,e,"extra"),N=ee(t,e,"title");return!N&&!u?null:f("div",{class:re(`${a}-header`,{[`${a}-header-close-only`]:u&&!N&&!k}),style:v},[f("div",{class:`${a}-header-title`},[se(a),N&&f("div",{class:`${a}-title`},[N])]),k&&f("div",{class:`${a}-extra`},[k])])},se=a=>{var u;const{closable:v}=e,k=t.closeIcon?(u=t.closeIcon)===null||u===void 0?void 0:u.call(t):e.closeIcon;return v&&f("button",{key:"closer",onClick:s,"aria-label":"Close",class:`${a}-close`},[k===void 0?f(Je,null,null):k])},de=a=>{var u;if(S.value&&!e.forceRender&&!g.value)return null;const{bodyStyle:v,drawerStyle:k}=e;return f("div",{class:`${a}-wrapper-body`,style:k},[ie(a),f("div",{key:"body",class:`${a}-body`,style:v},[(u=t.default)===null||u===void 0?void 0:u.call(t)]),H(a)])},H=a=>{const u=ee(t,e,"footer");if(!u)return null;const v=`${a}-footer`;return f("div",{class:v,style:e.footerStyle},[u])},X=T(()=>re({"no-mask":!e.mask,[`${h.value}-rtl`]:I.value==="rtl"},e.rootClassName,x.value)),G=T(()=>ye(he(h.value,"mask-motion"))),K=a=>ye(he(h.value,`panel-motion-${a}`));return()=>{const{width:a,height:u,placement:v,mask:k,forceRender:N}=e,q=$t(e,["width","height","placement","mask","forceRender"]),J=B(B(B({},d),Oe(q,["size","closeIcon","closable","destroyOnClose","drawerStyle","headerStyle","bodyStyle","title","push","onAfterVisibleChange","onClose","onUpdate:visible","onUpdate:open","visible"])),{forceRender:N,onClose:s,afterVisibleChange:w,handler:!1,prefixCls:h.value,open:y.value,showMask:k,placement:v,ref:c});return _(f(qe,null,{default:()=>[f(bt,P(P({},J),{},{maskMotion:G.value,motion:K,width:A.value,height:j.value,getContainer:l.value,rootClassName:X.value,rootStyle:e.rootStyle,contentWrapperStyle:le.value}),{handler:e.handle?()=>e.handle:t.handle,default:()=>de(h.value)})]}))}}}),kt=Xe(Ot),It={class:"drawer-footer"},ro=U({name:"RuleSceneForm",__name:"rule-scene-form",props:{modelValue:{type:Boolean},ruleScene:{}},emits:["update:modelValue","success"],setup(e,{emit:o}){const r=e,t=o,d=lt(r,"modelValue",t);function C(){return{name:"",description:"",status:ne.ENABLE,triggers:[{type:oe.DEVICE_PROPERTY_POST.toString(),productId:void 0,deviceId:void 0,identifier:void 0,operator:void 0,value:void 0,cronExpression:void 0,conditionGroups:[]}],actions:[]}}const S=z(),c=z(C());function g(l,n,i){if(!n||!Array.isArray(n)||n.length===0){i(new Error("至少需要一个触发器"));return}for(const[m,s]of n.entries()){if(!s.type){i(new Error(`触发器 ${m+1}: 触发器类型不能为空`));return}if(dt(s.type)){if(!s.productId){i(new Error(`触发器 ${m+1}: 产品不能为空`));return}if(!s.deviceId){i(new Error(`触发器 ${m+1}: 设备不能为空`));return}if(!s.identifier){i(new Error(`触发器 ${m+1}: 物模型标识符不能为空`));return}if(!s.operator){i(new Error(`触发器 ${m+1}: 操作符不能为空`));return}if(s.value===void 0||s.value===null||s.value===""){i(new Error(`触发器 ${m+1}: 参数值不能为空`));return}}if(s.type===oe.TIMER&&!s.cronExpression){i(new Error(`触发器 ${m+1}: CRON表达式不能为空`));return}}i()}function y(l,n,i){if(!n||!Array.isArray(n)||n.length===0){i(new Error("至少需要一个执行器"));return}for(const[m,s]of n.entries()){if(!s.type){i(new Error(`执行器 ${m+1}: 执行器类型不能为空`));return}if(s.type===L.DEVICE_PROPERTY_SET||s.type===L.DEVICE_SERVICE_INVOKE){if(!s.productId){i(new Error(`执行器 ${m+1}: 产品不能为空`));return}if(!s.deviceId){i(new Error(`执行器 ${m+1}: 设备不能为空`));return}if(s.type===L.DEVICE_SERVICE_INVOKE&&!s.identifier){i(new Error(`执行器 ${m+1}: 服务不能为空`));return}if(!s.params||Object.keys(s.params).length===0){i(new Error(`执行器 ${m+1}: 参数配置不能为空`));return}}if((s.type===L.ALERT_TRIGGER||s.type===L.ALERT_RECOVER)&&!s.alertConfigId){i(new Error(`执行器 ${m+1}: 告警配置不能为空`));return}}i()}const $=tt({name:[{required:!0,message:"场景名称不能为空",trigger:"blur"},{type:"string",min:1,max:50,message:"场景名称长度应在1-50个字符之间",trigger:"blur"}],status:[{required:!0,message:"场景状态不能为空",trigger:"change"},{type:"enum",enum:[ne.ENABLE,ne.DISABLE],message:"状态值必须为启用或禁用",trigger:"change"}],description:[{type:"string",max:200,message:"场景描述不能超过200个字符",trigger:"blur"}],triggers:[{required:!0,validator:g,trigger:"change"}],actions:[{required:!0,validator:y,trigger:"change"}]}),b=z(!1),h=z(!1),E=T(()=>h.value?"编辑场景联动规则":"新增场景联动规则");function I(){return Q(this,null,function*(){if(!(!S.value||!(yield S.value.validate()))){b.value=!0;try{h.value?(yield it(c.value),te.success("更新成功")):(yield st(c.value),te.success("创建成功")),d.value=!1,t("success")}catch(n){console.error("保存失败:",n),te.error(h.value?"更新失败":"创建失败")}finally{b.value=!1}}})}const _=()=>{d.value=!1};function x(){var l;r.ruleScene?(h.value=!0,c.value=me(fe({},r.ruleScene),{triggers:(l=r.ruleScene.triggers)!=null&&l.length?r.ruleScene.triggers:[{type:oe.DEVICE_PROPERTY_POST,productId:void 0,deviceId:void 0,identifier:void 0,operator:void 0,value:void 0,cronExpression:void 0,conditionGroups:[]}],actions:r.ruleScene.actions||[]})):(h.value=!1,c.value=C())}return V(d,l=>Q(null,null,function*(){var n;l&&(x(),yield W(),(n=S.value)==null||n.clearValidate())})),V(()=>r.ruleScene,()=>{d.value&&x()},{deep:!0}),(l,n)=>(nt(),ot(M(kt),{modelValue:M(d),"onUpdate:modelValue":n[3]||(n[3]=i=>at(d)?d.value=i:null),title:E.value,width:"80%",direction:"rtl","close-on-click-modal":!1,"close-on-press-escape":!1,onClose:_},{footer:F(()=>[rt("div",It,[f(M(be),{disabled:b.value,type:"primary",onClick:I},{default:F(()=>[f(M(we),{icon:"ep:check"}),n[4]||(n[4]=Se(" 确 定 ",-1))]),_:1},8,["disabled"]),f(M(be),{onClick:_},{default:F(()=>[f(M(we),{icon:"ep:close"}),n[5]||(n[5]=Se(" 取 消 ",-1))]),_:1})])]),default:F(()=>[f(M(Ze),{ref_key:"formRef",ref:S,model:c.value,rules:$,"label-width":"110px"},{default:F(()=>[f(ct,{modelValue:c.value,"onUpdate:modelValue":n[0]||(n[0]=i=>c.value=i),rules:$},null,8,["modelValue","rules"]),f(ft,{triggers:c.value.triggers,"onUpdate:triggers":n[1]||(n[1]=i=>c.value.triggers=i)},null,8,["triggers"]),f(ut,{actions:c.value.actions,"onUpdate:actions":n[2]||(n[2]=i=>c.value.actions=i)},null,8,["actions"])]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"]))}});export{ro as default};
|