import{a9 as K,a5 as W,r as J,av as $,aw as L,F as z}from"./index.17037962789732.js";import"./index.170379627897318.js";import"./index.170379627897319.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_name_ValueItem_lang.1703796278973.js";import"./index.170379627897327.js";import"./index.170379627897316.js";import"./index.170379627897317.js";import{_ as H}from"./EditTable.vue_vue_type_script_setup_true_lang.1703796278973.js";import{d as M,k as E,v as Q,m as X,o as p,c as f,a as s,b as l,u as a,t as g,B as y,x as j,F as U,h as D,A as F}from"./vue.1703796278973.js";import{_ as Z}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.170379627897337.js";import"./index.170379627897315.js";import"./index.170379627897338.js";import"./index.170379627897314.js";import"./index.170379627897329.js";import"./index.170379627897330.js";import"./index.170379627897325.js";import"./index.170379627897322.js";import"./index.170379627897323.js";import"./index.170379627897324.js";import"./style.1703796278973.js";import"./comm.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.1703796278973305.js";import"./index.1703796278973301.js";import"./index.1703796278973302.js";import"./index.1703796278973303.js";import"./index.170379627897339.js";import"./index.1703796278973304.js";const w=M({__name:"index",props:{actionType:{type:String,default:""},modelValue:{type:Object,default:()=>{}},metadata:{type:Object,default:()=>({properties:[],functions:[]})}},emits:["update:modelValue"],setup(d,{expose:Y,emit:B}){const R=d,b=E(),I=E(),t=Q({messageType:"READ_PROPERTY",message:{properties:void 0,functionId:void 0,inputs:[],value:void 0}}),v=E({}),O=o=>{var e;if(o){const n=(e=R.metadata)==null?void 0:e.properties.find(i=>i.id===o);v.value=n||{},t.message.value=void 0}},V=()=>{t.message={properties:void 0,functionId:void 0,inputs:[],value:void 0}};X(()=>R.modelValue,o=>{var e,n;o&&(Object.assign(t,o),(e=o==null?void 0:o.message)!=null&&e.properties&&O((n=o==null?void 0:o.message)==null?void 0:n.properties))},{immediate:!0});const q=o=>{var e,n;if(o){const _=(((n=(e=R.metadata)==null?void 0:e.functions.find(u=>u.id===o))==null?void 0:n.inputs)||[]).map(u=>{var T;return{id:u.id,name:u.name,value:void 0,valueType:(T=u==null?void 0:u.valueType)==null?void 0:T.type}});t.message.inputs=_}};return Y({saveBtn:()=>new Promise(o=>{b.value.validate().then(async e=>{var n,i;(n=t.message.inputs)!=null&&n.length&&await((i=I.value)==null?void 0:i.onSave().catch(()=>{o(!1)})),B("update:modelValue",e),o(e)}).catch(e=>{o(e)})})}),(o,e)=>{const n=K,i=W,_=J,u=$,T=G,A=L,S=z;return p(),f(S,{layout:"vertical",ref_key:"formRef",ref:b,model:a(t)},{default:s(()=>[l(A,{gutter:24},{default:s(()=>{var P,h,C;return[d.actionType==="command"?(p(),f(u,{key:0,span:24},{default:s(()=>[l(_,{name:"messageType",label:"指令类型",rules:{required:!0,message:"请选择指令类型"}},{default:s(()=>[l(i,{placeholder:"请选择指令类型",value:a(t).messageType,"onUpdate:value":e[0]||(e[0]=r=>a(t).messageType=r),"show-search":"",onChange:V},{default:s(()=>[l(n,{value:"READ_PROPERTY"},{default:s(()=>[g("读取属性")]),_:1}),l(n,{value:"WRITE_PROPERTY"},{default:s(()=>[g("修改属性")]),_:1}),l(n,{value:"INVOKE_FUNCTION"},{default:s(()=>[g("调用功能")]),_:1})]),_:1},8,["value"])]),_:1})]),_:1})):y("",!0),d.actionType==="command"&&["READ_PROPERTY","WRITE_PROPERTY"].includes(a(t).messageType)||d.actionType==="latestData"?(p(),f(u,{key:1,class:"inputs",span:a(t).messageType==="READ_PROPERTY"||d.actionType==="latestData"?24:12},{default:s(()=>[l(_,{name:["message","properties"],label:"属性",rules:{required:!0,message:"请选择属性"}},{default:s(()=>[l(i,{placeholder:"请选择属性",value:a(t).message.properties,"onUpdate:value":e[1]||(e[1]=r=>a(t).message.properties=r),"show-search":"",onChange:O},{default:s(()=>{var r;return[(p(!0),j(U,null,D(((r=d.metadata)==null?void 0:r.properties)||[],m=>(p(),f(n,{key:m.id,value:m.id,label:m.name},{default:s(()=>[g(F(m.name),1)]),_:2},1032,["value","label"]))),128))]}),_:1},8,["value"])]),_:1})]),_:1},8,["span"])):y("",!0),a(t).messageType==="WRITE_PROPERTY"&&d.actionType==="command"?(p(),f(u,{key:2,span:12,class:"inputs"},{default:s(()=>[l(_,{name:["message","value"],label:"值",rules:{required:!0,message:"请输入值"}},{default:s(()=>{var r,m,k,N,x;return[l(T,{modelValue:a(t).message.value,"onUpdate:modelValue":e[2]||(e[2]=c=>a(t).message.value=c),itemType:((r=a(v).valueType)==null?void 0:r.type)||a(v).type||"int",options:((m=a(v).valueType)==null?void 0:m.type)==="enum"?(((N=(k=a(v))==null?void 0:k.valueType)==null?void 0:N.elements)||[]).map(c=>({label:c==null?void 0:c.text,value:c==null?void 0:c.value})):((x=a(v).valueType)==null?void 0:x.type)==="boolean"?[{label:"是",value:!0},{label:"否",value:!1}]:void 0},null,8,["modelValue","itemType","options"])]}),_:1})]),_:1})):y("",!0),a(t).messageType==="INVOKE_FUNCTION"?(p(),f(u,{key:3,span:24,class:"inputs"},{default:s(()=>[l(_,{name:["message","functionId"],label:"功能",rules:{required:!0,message:"请选择功能"}},{default:s(()=>[l(i,{placeholder:"请选择功能",value:a(t).message.functionId,"onUpdate:value":e[3]||(e[3]=r=>a(t).message.functionId=r),"show-search":"",onChange:q},{default:s(()=>{var r;return[(p(!0),j(U,null,D(((r=d.metadata)==null?void 0:r.functions)||[],m=>(p(),f(n,{key:m.id,value:m.id,label:m.name},{default:s(()=>[g(F(m.name),1)]),_:2},1032,["value","label"]))),128))]}),_:1},8,["value"])]),_:1})]),_:1})):y("",!0),a(t).messageType==="INVOKE_FUNCTION"&&((P=a(t).message)!=null&&P.functionId)&&((C=(h=a(t).message)==null?void 0:h.inputs)!=null&&C.length)?(p(),f(u,{key:4,span:24,class:"inputs"},{default:s(()=>[l(_,{name:["message","inputs"],label:"参数列表",rules:{required:!0,message:"请输入参数列表"}},{default:s(()=>[l(H,{ref_key:"editRef",ref:I,modelValue:a(t).message.inputs,"onUpdate:modelValue":e[4]||(e[4]=r=>a(t).message.inputs=r)},null,8,["modelValue"])]),_:1})]),_:1})):y("",!0)]}),_:1})]),_:1},8,["model"])}}});const Je=Z(w,[["__scopeId","data-v-d823101f"]]);export{Je as default};