Files
aiot-platform-ui/apps/web-antd/dist/js/rule-scene-form-DgUvyK3a.js

2 lines
6.8 KiB
JavaScript
Raw Normal View History

2026-03-23 17:20:54 +08:00
var G=Object.defineProperty,U=Object.defineProperties;var Y=Object.getOwnPropertyDescriptors;var x=Object.getOwnPropertySymbols;var j=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable;var A=(a,i,o)=>i in a?G(a,i,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[i]=o,O=(a,i)=>{for(var o in i||(i={}))j.call(i,o)&&A(a,o,i[o]);if(x)for(var o of x(i))J.call(i,o)&&A(a,o,i[o]);return a},B=(a,i)=>U(a,Y(i));var R=(a,i,o)=>new Promise((y,u)=>{var w=l=>{try{n(o.next(l))}catch(c){u(c)}},f=l=>{try{n(o.throw(l))}catch(c){u(c)}},n=l=>l.done?y(l.value):Promise.resolve(l.value).then(w,f);n((o=o.apply(a,i)).next())});import{bV as K,ay as N,an as P,a9 as S}from"./bootstrap-DmcuvVZS.js";import{m as M,b9 as V,b7 as b,aa as z,w as h,ab as H,b2 as Q,bJ as E,j as m,u as p,ae as W,ai as L,aJ as X,ce as Z,n as k}from"../jse/index-index-B6J4axeY.js";import{u as ee,c as re}from"./index-BBmRZh34.js";import{s as _,E as te,x as v}from"./constants-B5TthjFC.js";import{_ as oe}from"./action-section.vue_vue_type_script_setup_true_lang-iAjU7Fis.js";import ie from"./basic-info-section-DpEel_q_.js";import{_ as ne}from"./trigger-section.vue_vue_type_script_setup_true_lang-Ck2Vtzo8.js";import{D as se}from"./index-DKc-lslb.js";import{C}from"./biz-system-enum-Ci18uvnT.js";import"./alert-config.vue_vue_type_script_setup_true_lang-DDuQSfB3.js";import"./index-Bhv0RVLx.js";import"./device-control-config.vue_vue_type_script_setup_true_lang-LWsPFvvP.js";import"./index-BkJWVzTk.js";import"./json-params-input-dz1E-Hmo.js";import"./device-selector.vue_vue_type_script_setup_true_lang-DDE3U-3J.js";import"./index-L5QYCfm0.js";import"./dict-tag.vue_vue_type_script_setup_true_lang-D0nJjy4y.js";import"./dict-enum-CaHgMaDZ.js";import"./product-selector.vue_vue_type_script_setup_true_lang-TYEux0oA.js";import"./index-DeWoSd2R.js";import"./cron-tab-Bd0YH1DQ.js";import"./device-trigger-config.vue_vue_type_script_setup_true_lang-8DiWPdbC.js";import"./main-condition-inner-config.vue_vue_type_script_setup_true_lang-BwUuQdAo.js";import"./value-input.vue_vue_type_script_setup_true_lang-B9U9bzpM.js";import"./operator-selector-CeLfQxq9.js";import"./property-selector-po9E6G9K.js";import"./sub-condition-group-config.vue_vue_type_script_setup_true_lang-e4sMXf2X.js";import"./condition-config-BpaC4c5Z.js";import"./current-time-condition-config.vue_vue_type_script_setup_true_lang-CIChX6Lv.js";const ae={class:"drawer-footer"},Fe=M({name:"RuleSceneForm",__name:"rule-scene-form",props:{modelValue:{type:Boolean},ruleScene:{}},emits:["update:modelValue","success"],setup(a,{emit:i}){const o=a,y=i,u=Z(o,"modelValue",y);function w(){return{name:"",description:"",status:C.ENABLE,triggers:[{type:_.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 f=V(),n=V(w());function l(d,e,r){if(!e||!Array.isArray(e)||e.length===0){r(new Error("至少需要一个触发器"));return}for(const[s,t]of e.entries()){if(!t.type){r(new Error(`触发器 ${s+1}: 触发器类型不能为空`));return}if(te(t.type)){if(!t.productId){r(new Error(`触发器 ${s+1}: 产品不能为空`));return}if(!t.deviceId){r(new Error(`触发器 ${s+1}: 设备不能为空`));return}if(!t.identifier){r(new Error(`触发器 ${s+1}: 物模型标识符不能为空`));return}if(!t.operator){r(new Error(`触发器 ${s+1}: 操作符不能为空`));return}if(t.value===void 0||t.value===null||t.value===""){r(new Error(`触发器 ${s+1}: 参数值不能为空`));return}}if(t.type===_.TIMER&&!t.cronExpression){r(new Error(`触发器 ${s+1}: CRON表达式不能为空`));return}}r()}function c(d,e,r){if(!e||!Array.isArray(e)||e.length===0){r(new Error("至少需要一个执行器"));return}for(const[s,t]of e.entries()){if(!t.type){r(new Error(`执行器 ${s+1}: 执行器类型不能为空`));return}if(t.type===v.DEVICE_PROPERTY_SET||t.type===v.DEVICE_SERVICE_INVOKE){if(!t.productId){r(new Error(`执行器 ${s+1}: 产品不能为空`));return}if(!t.deviceId){r(new Error(`执行器 ${s+1}: 设备不能为空`))