index-ebe1bf8f.js
5.71 KB
import{d as j,k as a,p as c,_ as B,$ as G,f as n,aa as i,u as s,a2 as D,ae as N,ab as Q,R as q,aj as U,ak as X,F as Y}from"./vue-5a35c3f5.js";import b from"./CollapseItem-d62e2bbe.js";import Z from"./FormComponentPanel-b5e58352.js";import ee from"./JsonModal-582b35e0.js";import oe from"./index-e63ed703.js";import te from"./useForm-fdae02cc.js";import re from"./Toolbar-96a1b0f3.js";import ne from"./PropsPanel-b0c0e014.js";import se from"./ImportJsonModal-d82e869f.js";import le from"./CodeModal-08d1f2e3.js";import"./index-8fd1420c.js";import{g as P,a as ae}from"./index-15077a33.js";import{b as ie,a as me,l as pe}from"./formItemConfig-88eb9e72.js";import{h as de,bV as ue,aW as k,_ as ce}from"./index.js";import{g as fe}from"./formItemPropsConfig-bee2761c.js";import{bQ as J,bR as ve,a6 as he,T as f}from"./antd-6b087f69.js";import"./vuedraggable.umd-7ff3c7c5.js";import"./LayoutItem-e6faaf19.js";import"./FormNode-f6a6523f.js";import"./FormNodeOperate-62e3bb93.js";import"./useFormDesignState-032955db.js";import"./index-e75bbbfe.js";import"./componentMap-4d1c941b.js";import"./useFormItem-9ea791b8.js";import"./RadioButtonGroup-72b65d2e.js";import"./index-c1c2669a.js";import"./useWindowSizeFn-cc2fb57c.js";import"./uuid-31b8b5a4.js";import"./download-3d468407.js";import"./base64Conver-39fc0d26.js";import"./index-1ca3bd8a.js";import"./IconPicker-6bbd557c.js";import"./index-9a895eb5.js";import"./PreviewCode-d33b940d.js";import"./index-464d16ed.js";import"./FormRender-fb00f671.js";import"./BasicForm-53100365.js";import"./FormItem-ffc5ecef.js";import"./helper-95474dfc.js";import"./BasicForm.vue_vue_type_style_index_0_lang-3479a052.js";import"./uniqBy-0cd5a663.js";import"./useForm-86d11f60.js";import"./FormProps-05ab6514.js";import"./FormItemProps-97b82543.js";import"./RuleProps-2441266b.js";import"./ComponentProps-f457cff6.js";import"./FormOptions-6bfae01f.js";import"./message-c4c6f446.js";import"./FormItemColumnProps-ca6ce1d7.js";const ye=j({__name:"index",props:{title:{type:String,default:"v-form-antd表单设计器"}},setup(Pe){const{prefixCls:F}=de("form-design"),R=a(null),w=a(null),I=a(null),M=a(null),L=a(null),S=a(null),x=a({}),t=a({schemas:[],layout:"horizontal",labelLayout:"flex",labelWidth:100,labelCol:{},wrapperCol:{},currentItem:{component:"",componentProps:{}},activeKey:1}),T=o=>{o.schemas=o.schemas||[],o.schemas.forEach(e=>{e.colProps=e.colProps||{span:24},e.componentProps=e.componentProps||{},e.itemProps=e.itemProps||{}}),t.value=o},V=ue(t,{deep:!0,capacity:20,parse:o=>{const e=f(o),{currentItem:r,schemas:l}=e,u=l&&l.find(m=>m.key===(r==null?void 0:r.key));return u&&(e.currentItem=u),e}}),p=o=>{t.value.currentItem=o,z(o.key?t.value.activeKey===1?2:t.value.activeKey:1)},H=o=>{o.colProps=o.colProps||{},o.colProps.span=fe.span},v=(o,e)=>{},g=o=>{const e=f(o);return H(e),P(e),e},h=o=>{var r;const e=f(o);if(H(e),P(e),!((r=t.value.currentItem)!=null&&r.key)){p(e),t.value.schemas&&t.value.schemas.push(e);return}$(e,!1)},W=o=>{const e=f(o);return e.component==="Grid"&&ae([o],r=>{P(r)}),e},$=(o=t.value.currentItem,e=!0)=>{var u;const r=(u=t.value.currentItem)==null?void 0:u.key,l=m=>{m.some((y,C)=>{var K;if(y.key===r){e?m.splice(C,0,W(y)):m.splice(C+1,0,o);const _={newIndex:C+1};return A(_,m,e),!0}["Grid","Tabs"].includes(y.component)&&((K=y.columns)==null||K.forEach(_=>{l(_.children)}))})};t.value.schemas&&l(t.value.schemas)},A=({newIndex:o},e,r=!1)=>{const l=e[o];r&&P(l),p(l)},d=o=>{const e=f(t.value);o==null||o.showModal(e)},z=o=>{t.value.activeKey=o},E=()=>{t.value.schemas=[],p({component:""})},O=(o,e)=>x.value[o]=e;return c("formModel",x),c("setFormModelMethod",O),c("formConfig",t),c("historyReturn",V),c("formDesignMethods",{handleBeforeColAdd:A,handleCopy:$,handleListPush:h,handleSetSelectItem:p,handleAddAttrs:v,setFormConfig:T}),(o,e)=>(B(),G(Y,null,[n(s(he),null,{default:i(()=>[n(s(J),{class:D(`left ${s(F)}-sider`),collapsible:"",collapsedWidth:"0",width:"270",zeroWidthTriggerStyle:{"margin-top":"-70px","background-color":"gray"},breakpoint:"md"},{default:i(()=>[n(s(k),{title:"基础控件"},{default:i(()=>[n(b,{list:s(ie),handleListPush:g,onAddAttrs:v,onHandleListPush:h},null,8,["list"])]),_:1}),n(s(k),{title:"自定义控件"},{default:i(()=>[n(b,{list:s(me),onAddAttrs:v,handleListPush:g,onHandleListPush:h},null,8,["list"])]),_:1}),n(s(k),{title:"布局控件"},{default:i(()=>[n(b,{list:s(pe),handleListPush:g,onAddAttrs:v,onHandleListPush:h},null,8,["list"])]),_:1})]),_:1},8,["class"]),n(s(ve),null,{default:i(()=>[n(re,{onHandleOpenJsonModal:e[0]||(e[0]=r=>d(w.value)),onHandleOpenImportJsonModal:e[1]||(e[1]=r=>d(I.value)),onHandlePreview:e[2]||(e[2]=r=>d(M.value)),onHandlePreview2:e[3]||(e[3]=r=>d(L.value)),onHandleOpenCodeModal:e[4]||(e[4]=r=>d(S.value)),onHandleClearFormItems:E}),n(Z,{"current-item":t.value.currentItem,data:t.value,onHandleSetSelectItem:p},null,8,["current-item","data"])]),_:1}),n(s(J),{class:D(`right ${s(F)}-sider`),collapsible:"",reverseArrow:!0,collapsedWidth:"0",width:"270",zeroWidthTriggerStyle:{"margin-top":"-70px","background-color":"gray"},breakpoint:"lg"},{default:i(()=>[n(ne,{ref_key:"propsPanel",ref:R,activeKey:t.value.activeKey},N({_:2},[Q(t.value.schemas,r=>({name:`${r.component}Props`,fn:i(l=>[q(o.$slots,`${r.component}Props`,U(X({formItem:l,props:l.componentProps})),void 0,!0)])}))]),1032,["activeKey"])]),_:3},8,["class"])]),_:3}),n(ee,{ref_key:"jsonModal",ref:w},null,512),n(le,{ref_key:"codeModal",ref:S},null,512),n(se,{ref_key:"importJsonModal",ref:I},null,512),n(oe,{ref_key:"eFormPreview",ref:M,formConfig:t.value},null,8,["formConfig"]),n(te,{ref_key:"eFormPreview2",ref:L,formConfig:t.value},null,8,["formConfig"])],64))}});const vo=ce(ye,[["__scopeId","data-v-9b0d62bb"],["__file","E:/allcode/erp/test7901/order-erp-front/src/views/form-design/components/VFormDesign/index.vue"]]);export{vo as default};