import{a5 as H,I as z,r as I,av as ee,aw as te,cA as q,K as B,a6 as ae,Y as le,a0 as ne,aG as se}from"./index.17037962789732.js";import"./index.170379627897315.js";import"./index.170379627897320.js";import"./index.170379627897318.js";import"./index.170379627897319.js";import"./index.170379627897314.js";import{d as x,k,m as E,o as f,c as j,u as l,M as J,p as G,w as A,x as w,b as a,a as s,r as V,F as D,h as R,z as v,t as U,A as K,G as L,H as N,v as ue,l as Q,B as T,X as oe,a0 as ie}from"./vue.1703796278973.js";import"./index.170379627897336.js";import"./index.170379627897325.js";import"./index.170379627897316.js";import"./index.170379627897317.js";import{D as M,F as re}from"./data.17037962789732.js";import{n as ce}from"./instance.1703796278973.js";import{j as de}from"./index.1703796278973313.js";import"./index.170379627897327.js";import{_ as P}from"./_plugin-vue_export-helper.1703796278973.js";import{u as me}from"./metadata.1703796278973.js";const pe=x({name:"InputSelect"}),ve=x({...pe,props:{value:[String,Number],options:{type:Array},size:String},emits:["update:value","change"],setup(t,{emit:u}){const i=t,e=k();E(()=>i.value,p=>{e.value=p?[p]:void 0},{immediate:!0});const o=p=>{var y;const r=p;r.length>1?u("update:value",(y=r.slice(r.length-1))==null?void 0:y[0]):u("update:value",p==null?void 0:p[0])};return(p,r)=>{const y=H;return f(),j(y,{value:l(e),"onUpdate:value":r[0]||(r[0]=_=>J(e)?e.value=_:null),mode:"tags",options:t.options,size:t.size,onChange:o,placeholder:"请选择单位"},null,8,["value","options","size"])}}}),_e={class:"boolean-param ant-form-horizontal"},fe=x({name:"BooleanParam"}),ye=x({...fe,props:{value:{type:Object,default:()=>({})},name:{type:Array,required:!0}},emits:["update:value"],setup(t,{emit:u}){const i=t;return G(()=>{u("update:value",{trueText:"是",trueValue:"true",falseText:"否",falseValue:"false",...i.value})}),A(()=>{typeof i.value.trueValue=="boolean"&&(i.value.trueValue=String(i.value.trueValue)),typeof i.value.falseValue=="boolean"&&(i.value.falseValue=String(i.value.falseValue))}),(e,o)=>{const p=z,r=I,y=ee,_=te;return f(),w("div",_e,[a(_,{gutter:4},{default:s(()=>[a(y,{span:12},{default:s(()=>[a(r,{label:" ",name:t.name.concat(["trueText"]),rules:[{required:!0,message:"请输入trueText"},{max:64,message:"最多可输入64个字符"}]},{default:s(()=>[a(p,{value:t.value.trueText,"onUpdate:value":o[0]||(o[0]=n=>t.value.trueText=n),placeholder:"trueText",size:"small"},null,8,["value"])]),_:1},8,["name"])]),_:1}),a(y,{span:12},{default:s(()=>[a(r,{label:"-",name:t.name.concat(["trueValue"]),rules:[{required:!0,message:"请输入trueValue"},{max:64,message:"最多可输入64个字符"}]},{default:s(()=>[a(p,{value:t.value.trueValue,"onUpdate:value":o[1]||(o[1]=n=>t.value.trueValue=n),placeholder:"trueValue",size:"small"},null,8,["value"])]),_:1},8,["name"])]),_:1}),a(y,{span:12},{default:s(()=>[a(r,{label:" ",name:t.name.concat(["falseText"]),rules:[{required:!0,message:"请输入falseText"},{max:64,message:"最多可输入64个字符"}]},{default:s(()=>[a(p,{value:t.value.falseText,"onUpdate:value":o[2]||(o[2]=n=>t.value.falseText=n),placeholder:"falseText",size:"small"},null,8,["value"])]),_:1},8,["name"])]),_:1}),a(y,{span:12},{default:s(()=>[a(r,{label:"-",name:t.name.concat(["falseValue"]),rules:[{required:!0,message:"请输入falseValue"},{max:64,message:"最多可输入64个字符"}]},{default:s(()=>[a(p,{value:t.value.falseValue,"onUpdate:value":o[3]||(o[3]=n=>t.value.falseValue=n),placeholder:"falseValue",size:"small"},null,8,["value"])]),_:1},8,["name"])]),_:1})]),_:1})])}}});const be=P(ye,[["__scopeId","data-v-070039e3"]]),ge=t=>(L("data-v-794556f9"),t=t(),N(),t),je={class:"enum-param"},xe={class:"item-left"},he={class:"item-middle item-editable"},Te={class:"edit-title",style:{display:"flex","justify-content":"space-between","align-items":"center"}},we=ge(()=>v("div",{style:{width:"150px"}},"枚举项配置",-1)),$e={class:"ant-form-vertical"},ke=["onClick"],Ve={class:"item-right"},Ue=x({name:"BooleanParam"}),Oe=x({...Ue,props:{value:{type:Object},name:{type:Array,default:()=>[]}},emits:["update:value"],setup(t,{emit:u}){const i=t,e=k([]);A(()=>{e.value=i.value||[{}]}),E(e,()=>{u("update:value",e.value)},{deep:!0,immediate:!0});const o=k(-1),p=n=>{o.value=n},r=n=>{o.value=-1,e.value.splice(n,1)},y=()=>{o.value=-1},_=()=>{e.value.push({}),u("update:value",e.value)};return(n,h)=>{const m=V("AIcon"),b=z,$=I,O=V("Ellipsis"),C=q,S=B;return f(),w("div",je,[(f(!0),w(D,null,R(l(e),(d,c)=>(f(),w("div",{class:"list-item",key:c},[v("div",xe,[a(m,{type:"MenuOutlined",class:"item-drag item-icon"})]),v("div",he,[a(C,{visible:l(o)===c,placement:"left"},{title:s(()=>[v("div",Te,[we,v("div",{onClick:y},[a(m,{type:"CloseOutlined"})])])]),content:s(()=>[v("div",$e,[a($,{label:"Value",name:t.name.concat([c,"value"]),rules:[{required:!0,message:"请输入Value"},{max:64,message:"最多可输入64个字符"}]},{default:s(()=>[a(b,{value:l(e)[c].value,"onUpdate:value":g=>l(e)[c].value=g,size:"small",placeholder:"请输入Value"},null,8,["value","onUpdate:value"])]),_:2},1032,["name"]),a($,{label:"Text",name:t.name.concat([c,"text"]),rules:[{required:!0,message:"请输入Text"},{max:64,message:"最多可输入64个字符"}]},{default:s(()=>[a(b,{value:l(e)[c].text,"onUpdate:value":g=>l(e)[c].text=g,size:"small",placeholder:"请输入Text"},null,8,["value","onUpdate:value"])]),_:2},1032,["name"])])]),default:s(()=>[v("div",{class:"item-edit",onClick:g=>p(c)},[a(O,null,{default:s(()=>[U(K(d.text||"枚举项配置"),1)]),_:2},1024),a(m,{type:"EditOutlined",class:"item-icon"})],8,ke)]),_:2},1032,["visible"])]),v("div",Ve,[a(m,{type:"DeleteOutlined",onClick:g=>r(c)},null,8,["onClick"])])]))),128)),a(S,{type:"dashed",block:"",onClick:_},{icon:s(()=>[a(m,{type:"PlusOutlined",class:"item-icon"})]),default:s(()=>[U(" 新增枚举型 ")]),_:1})])}}});const Ce=P(Oe,[["__scopeId","data-v-794556f9"]]),Se=t=>(L("data-v-52ceb9f4"),t=t(),N(),t),Ie={class:"json-param"},Pe={class:"item-left"},ze={class:"item-middle item-editable"},Ee={class:"edit-title",style:{display:"flex","justify-content":"space-between","align-items":"center"}},Ae=Se(()=>v("div",{style:{width:"150px"}},"配置参数",-1)),qe={style:{"max-width":"400px"},class:"ant-form-vertical"},Be=["onClick"],Je=["onClick"],De=x({name:"JsonParam"}),Le=x({...De,props:{value:{type:Object},name:{type:Array,default:()=>[]},isSub:{type:Boolean,default:!0}},emits:["update:value"],setup(t,{emit:u}){const i=t,e=k([]);A(()=>{e.value=i.value||[{valueType:{expands:{}}}]}),E(e,()=>{u("update:value",e.value)},{deep:!0,immediate:!0});const o=k(-1),p=n=>{o.value=n},r=n=>{o.value=-1,e.value.splice(n,1)},y=()=>{o.value=-1},_=()=>{e.value.push({valueType:{expands:{}}}),u("update:value",e.value)};return(n,h)=>{const m=V("AIcon"),b=z,$=I,O=V("Ellipsis"),C=q,S=B;return f(),w("div",Ie,[(f(!0),w(D,null,R(l(e),(d,c)=>(f(),w("div",{class:"list-item",key:`object_${c}`},[v("div",Pe,[a(m,{type:"MenuOutlined",class:"item-drag item-icon"})]),v("div",ze,[a(C,{visible:l(o)===c,placement:"left"},{title:s(()=>[v("div",Ee,[Ae,v("div",{onClick:y},[a(m,{type:"CloseOutlined"})])])]),content:s(()=>[v("div",qe,[a($,{label:"标识",name:t.name.concat([c,"id"]),rules:[{required:!0,message:"请输入标识"},{max:64,message:"最多可输入64个字符"},{pattern:/^[a-zA-Z0-9_\-]+$/,message:"ID只能由数字、字母、下划线、中划线组成"}]},{default:s(()=>[a(b,{value:l(e)[c].id,"onUpdate:value":g=>l(e)[c].id=g,size:"small",placeholder:"请输入标识"},null,8,["value","onUpdate:value"])]),_:2},1032,["name"]),a($,{label:"名称",name:t.name.concat([c,"name"]),rules:[{required:!0,message:"请输入名称"},{max:64,message:"最多可输入64个字符"}]},{default:s(()=>[a(b,{value:l(e)[c].name,"onUpdate:value":g=>l(e)[c].name=g,size:"small",placeholder:"请输入名称"},null,8,["value","onUpdate:value"])]),_:2},1032,["name"]),a(F,{value:l(e)[c].valueType,"onUpdate:value":g=>l(e)[c].valueType=g,name:t.name.concat([c,"valueType"]),isSub:t.isSub,key:"json_sub"},null,8,["value","onUpdate:value","name","isSub"])])]),default:s(()=>[v("div",{class:"item-edit",onClick:g=>p(c)},[a(O,null,{default:s(()=>[U(K(d.name||"配置参数"),1)]),_:2},1024),a(m,{type:"EditOutlined",class:"item-icon"})],8,Be)]),_:2},1032,["visible"])]),v("div",{class:"item-right",onClick:g=>r(c)},[a(m,{type:"DeleteOutlined"})],8,Je)]))),128)),a(S,{type:"dashed",block:"",onClick:_},{icon:s(()=>[a(m,{type:"PlusOutlined",class:"item-icon"})]),default:s(()=>[U(" 添加参数 ")]),_:1})])}}});const Ne=P(Le,[["__scopeId","data-v-52ceb9f4"]]),X=async(t,u)=>u.length===0?Promise.reject(new Error("请配置枚举项")):u.every(e=>e.value&&e.text)?Promise.resolve():Promise.reject(new Error("请配置枚举项")),Y=async(t,u)=>u?(await W(t,u),Promise.resolve()):Promise.reject(new Error("请输入元素配置")),Z=async(t,u,i="配置参数",e=!0)=>{if(e&&(!u||u.length===0))return Promise.reject(new Error(`请输入${i}`));for(let o of u){if(!o)return Promise.reject(new Error(`请输入${i}`));await Fe(t,o),await W(t,o.valueType)}return Promise.resolve()},Fe=async(t,u)=>{if(!u.id)return Promise.reject(new Error("请输入标识"));if(!u.name)return Promise.reject(new Error("请输入名称"))},W=async(t,u,i="数据类型")=>u?u!=null&&u.type?(["enum"].includes(u.type)&&await X(t,u.elements),["array"].includes(u.type)&&await Y(t,u.elementType),["object"].includes(u.type)&&await Z(t,u.properties),["file"].includes(u.type)&&!u.fileType?Promise.reject(new Error("请选择文件类型")):Promise.resolve()):Promise.reject(new Error(`请选择${i}`)):Promise.reject(new Error("请输入元素配置")),Me=x({__name:"ValueTypeForm",props:{value:{type:Object},isSub:{type:Boolean,default:!1},name:{type:Array,default:()=>[],required:!0},title:{type:String,default:"数据类型"},required:{type:Boolean,default:!0},onlyObject:{type:Boolean,default:!1}},emits:["update:value","changeType"],setup(t,{emit:u}){const i=t;me();const e=k({});A(()=>{e.value=i.value||{expands:{}},i.onlyObject&&(e.value.type="object")}),E(e,()=>{u("update:value",e.value)},{deep:!0,immediate:!0});const o=ue({unitOptions:[],getUnit:()=>{ce().then(_=>{const n=_.result.map(h=>({label:h.description,value:h.id}));de.Store.set("units",n),o.unitOptions=n})}});o.getUnit();const p=Q(()=>i.isSub?M.filter(_=>_.value!=="array"&&_.value!=="object"):M),r=[{value:"object",label:"object(结构体)"}],y=_=>{["float","double"].includes(e.value.type)&&e.value.scale===void 0&&(e.value.scale=2),["file"].includes(_)&&(e.value.fileType=e.value.fileType||"url"),["date"].includes(_)&&(e.value.format=e.value.format||"yyyy-MM-dd HH:mm:ss"),u("changeType",_)};return(_,n)=>{const h=H,m=I,b=ae,$=z,O=V("AIcon"),C=le,S=ne;return f(),w(D,null,[a(m,{label:t.title,name:t.name.concat(["type"]),rules:[t.required?{required:!0,message:`请选择${t.title}`}:{}]},{default:s(()=>[a(h,{value:l(e).type,"onUpdate:value":n[0]||(n[0]=d=>l(e).type=d),disabled:t.onlyObject,options:t.onlyObject?r:l(p),size:"small",onChange:y,placeholder:`请选择${t.title}`},null,8,["value","disabled","options","placeholder"])]),_:1},8,["label","name","rules"]),["int","float","long","double"].includes(l(e).type)?(f(),j(m,{key:0,label:"单位",name:t.name.concat(["unit"])},{default:s(()=>[a(ve,{value:l(e).unit,"onUpdate:value":n[1]||(n[1]=d=>l(e).unit=d),options:l(o).unitOptions,size:"small"},null,8,["value","options"])]),_:1},8,["name"])):T("",!0),["float","double"].includes(l(e).type)?(f(),j(m,{key:1,label:"精度",name:t.name.concat(["scale"])},{default:s(()=>[a(b,{value:l(e).scale,"onUpdate:value":n[2]||(n[2]=d=>l(e).scale=d),size:"small",min:0,max:2147483647,precision:0,style:{width:"100%"},placeholder:"请输入精度"},null,8,["value"])]),_:1},8,["name"])):T("",!0),["date"].includes(l(e).type)?oe((f(),j(m,{key:2,label:"时间格式",name:t.name.concat(["format"])},{default:s(()=>[a($,{value:l(e).format,"onUpdate:value":n[3]||(n[3]=d=>l(e).format=d),size:"small"},null,8,["value"])]),_:1},8,["name"])),[[ie,!1]]):T("",!0),["boolean"].includes(l(e).type)?(f(),j(m,{key:3,label:"布尔值",name:"booleanConfig"},{default:s(()=>[a(be,{name:t.name,value:l(e),"onUpdate:value":n[4]||(n[4]=d=>J(e)?e.value=d:null)},null,8,["name","value"])]),_:1})):T("",!0),["enum"].includes(l(e).type)?(f(),j(m,{key:4,label:"枚举项",name:t.name.concat(["elements"]),rules:[{required:!0,validator:l(X)}]},{default:s(()=>[a(Ce,{value:l(e).elements,"onUpdate:value":n[5]||(n[5]=d=>l(e).elements=d),name:t.name.concat(["elements"])},null,8,["value","name"])]),_:1},8,["name","rules"])):T("",!0),["string","password"].includes(l(e).type)?(f(),j(m,{key:5,name:t.name.concat(["expands","maxLength"])},{label:s(()=>[a(S,null,{default:s(()=>[U(" 最大长度 "),a(C,{title:"字节"},{default:s(()=>[a(O,{type:"QuestionCircleOutlined",style:{color:"rgb(136, 136, 136)","font-size":"12px"}})]),_:1})]),_:1})]),default:s(()=>[a(b,{value:l(e).expands.maxLength,"onUpdate:value":n[6]||(n[6]=d=>l(e).expands.maxLength=d),size:"small",max:2147483647,min:1,precision:0,style:{width:"100%"},placeholder:"请输入最大长度"},null,8,["value"])]),_:1},8,["name"])):T("",!0),["array"].includes(l(e).type)?(f(),j(m,{key:6,label:"元素配置",name:t.name.concat(["elementType"]),rules:[{validator:l(Y)}]},{default:s(()=>[a(Ze,{value:l(e).elementType,"onUpdate:value":n[7]||(n[7]=d=>l(e).elementType=d),name:t.name.concat(["elementType"])},null,8,["value","name"])]),_:1},8,["name","rules"])):T("",!0),["object"].includes(l(e).type)?(f(),j(m,{key:7,label:"JSON对象",name:t.name.concat(["properties"]),rules:[{validator:(d,c)=>l(Z)(d,c,"JSON对象")}]},{default:s(()=>[a(Ne,{value:l(e).properties,"onUpdate:value":n[8]||(n[8]=d=>l(e).properties=d),name:t.name.concat(["properties"])},null,8,["value","name"])]),_:1},8,["name","rules"])):T("",!0),["file"].includes(l(e).type)?(f(),j(m,{key:8,label:"文件类型",name:t.name.concat(["fileType"]),initialValue:"url",rules:[{required:!0,message:"请选择文件类型"}]},{default:s(()=>[a(h,{value:l(e).fileType,"onUpdate:value":n[9]||(n[9]=d=>l(e).fileType=d),options:l(re),size:"small",placeholder:"请选择文件类型"},null,8,["value","options"])]),_:1},8,["name"])):T("",!0)],64)}}});const F=P(Me,[["__scopeId","data-v-11707f0e"]]),ft=Object.freeze(Object.defineProperty({__proto__:null,default:F},Symbol.toStringTag,{value:"Module"})),He=t=>(L("data-v-f16043de"),t=t(),N(),t),Ge={style:{display:"flex","justify-content":"space-between","align-items":"center"}},Re=He(()=>v("div",{style:{width:"150px"}},"配置元素",-1)),Ke={style:{"max-width":"400px"}},Qe={class:"ant-form-vertical"},Xe=x({name:"ArrayParam"}),Ye=x({...Xe,props:{value:{type:Object,default:()=>({expands:{}})},name:{type:Array,required:!0}},emits:["update:value"],setup(t,{emit:u}){const i=t,e=Q({get:()=>i.value,set:p=>{u("update:value",p)}}),o=k(!1);return G(()=>{u("update:value",{expands:{},...i.value})}),(p,r)=>{const y=V("AIcon"),_=se,n=I,h=q,m=B;return f(),j(m,{type:"dashed",block:"",onClick:r[3]||(r[3]=b=>o.value=!0)},{default:s(()=>[a(h,{visible:l(o),placement:"left"},{title:s(()=>[v("div",Ge,[Re,v("div",{onClick:r[0]||(r[0]=b=>o.value=!1)},[a(y,{type:"CloseOutlined"})])])]),content:s(()=>[v("div",Ke,[v("div",Qe,[a(F,{value:l(e),"onUpdate:value":r[1]||(r[1]=b=>J(e)?e.value=b:null),name:t.name,isSub:"",key:"sub"},null,8,["value","name"]),a(n,{label:"说明",name:t.name.concat(["description"]),rules:[{max:200,message:"最多可输入200个字符"}]},{default:s(()=>[a(_,{value:l(e).description,"onUpdate:value":r[2]||(r[2]=b=>l(e).description=b),size:"small",placeholder:"请输入说明"},null,8,["value"])]),_:1},8,["name"])])])]),default:s(()=>[U(" 配置元素 "),a(y,{type:"EditOutlined",class:"item-icon"})]),_:1},8,["visible"])]),_:1})}}});const Ze=P(Ye,[["__scopeId","data-v-f16043de"]]);export{Ze as A,be as B,Ce as E,Ne as J,F as V,ve as _,ft as a,Z as v};