snowy-designer
Version:
基于Epic-Designer-Pro版本的设计器,可视化开发页面表单
2 lines (1 loc) • 3.69 kB
JavaScript
;const e=require("vue");;/* empty css */require("radix-vue");require("clsx");require("tailwind-merge");require("lucide-vue-next");require("../../../../base-ui/src/shadch-ui/button/index.cjs");require("@vueuse/core");require("../../../../base-ui/src/shadch-ui/toast/index.cjs");const g=require("../../../../base-ui/src/components/node/node.vue.cjs");require("../../../../../hooks/src/store/index.cjs");require("lodash");const h=require("../../../../../utils/src/manager/pluginManager.cjs");require("monaco-editor");require("../../../../../utils/src/request/index.cjs");require("vuedraggable");const w=require("../../activitybars/dataSource/index.vue.cjs"),J={key:0,class:"flex h-full"},M={class:"h-full flex-1 overflow-auto"},P={key:0},U=e.defineComponent({__name:"index",emits:["register"],setup(D,{expose:S,emit:b}){const k=b,x=h.pluginManager.getComponent("modal"),V=h.pluginManager.getComponent("form"),p=e.inject("designer"),q=e.inject("pageSchema"),m=e.ref(),C={componentProps:{labelLayout:"fixed",labelWidth:"90px"}},N=[{field:"url",label:"地址",type:"input"},{componentProps:{options:[{label:"get",value:"get"},{label:"post",value:"post"},{label:"put",value:"put"},{label:"delete",value:"delete"}]},field:"method",label:"请求方式",type:"select"},{componentProps:{defaultValue:"JSON",options:[{label:"JSON",value:"JSON"},{label:"FormData",value:"FormData"},{label:"Form",value:"Form"}],optionType:"button"},field:"dataFormat",label:"数据格式",type:"radio"},{field:"data",label:"参数",type:"EOptionsEditor"}],y={label:"数据字段",type:"input"},r=e.ref(!1),c=e.ref({type:""}),n=e.ref({dataFormat:"JSON",id:"",method:"get",params:{},serviceId:"",url:""}),u=e.ref({});function F(a){var d,v;c.value=a,r.value=!0;const l=((d=q.globalApiConfig)==null?void 0:d.apis)||[],t=(v=p.state.selectedNode)==null?void 0:v.dataSource;if(!t||l.length===0)return;const o=t.find(i=>i.field===a.field);o&&(u.value=o,l.forEach((i,B)=>{i.id===o.apiId&&e.nextTick(()=>{var _;(_=m.value)==null||_.handleClickItem(i,B)})}))}function s(){r.value=!1,I()}function I(){u.value={},n.value={dataFormat:"JSON",id:"",method:"get",params:{},serviceId:"",url:""}}function E(a){n.value=a}function O(){const a=p.state.selectedNode;if(!a)return;const l={apiId:n.value.id,dataField:u.value.dataField,field:c.value.field};if(a.dataSource){const t=a.dataSource.findIndex(o=>o.field===c.value.field);t===-1?a.dataSource.push(l):a.dataSource[t]=l}else a.dataSource=[l];s()}S({handleClose:s,handleOpen:F});const f=e.getCurrentInstance();return f&&k("register",f),(a,l)=>(e.openBlock(),e.createBlock(e.unref(x),{modelValue:r.value,"onUpdate:modelValue":l[1]||(l[1]=t=>r.value=t),title:"数据配置",class:"w-900px",width:"900px","ok-text":"保存",onClose:s,onOk:O},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",J,[e.createElementVNode("div",M,[n.value.serviceId?(e.openBlock(),e.createElementBlock("div",P,[e.createVNode(e.unref(V),{"component-schema":C},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(N,(t,o)=>e.createVNode(e.unref(g),{key:o,modelValue:n.value[t.field],"onUpdate:modelValue":d=>n.value[t.field]=d,"component-schema":{...t}},null,8,["modelValue","onUpdate:modelValue","component-schema"])),64)),e.createVNode(e.unref(g),{modelValue:u.value.dataField,"onUpdate:modelValue":l[0]||(l[0]=t=>u.value.dataField=t),"component-schema":y},null,8,["modelValue"])]),_:1})])):e.createCommentVNode("",!0)]),e.createVNode(w,{ref_key:"dataSourceEditRef",ref:m,selectable:"",class:"w-240px",onClickItem:E},null,512)])):e.createCommentVNode("",!0)]),_:1},8,["modelValue"]))}});module.exports=U;