You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
7.3 KiB

var po=Object.defineProperty;var H=Object.getOwnPropertySymbols;var lo=Object.prototype.hasOwnProperty,co=Object.prototype.propertyIsEnumerable;var K=(o,r,t)=>r in o?po(o,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[r]=t,p=(o,r)=>{for(var t in r||(r={}))lo.call(r,t)&&K(o,t,r[t]);if(H)for(var t of H(r))co.call(r,t)&&K(o,t,r[t]);return o};var L=(o,r,t)=>new Promise((d,l)=>{var A=a=>{try{c(t.next(a))}catch(g){l(g)}},u=a=>{try{c(t.throw(a))}catch(g){l(g)}},c=a=>a.done?d(a.value):Promise.resolve(a.value).then(A,u);c((t=t.apply(o,r)).next())});import{d as fo,q as O,r as b,m as uo,f as h,u as s,aY as q,O as T,P as go,J as Fo,b1 as Ao,aT as vo,aU as y,o as M,a as W,w as P,b as j,aV as B,g as ho,bt as S,F as bo,aP as z,bq as J,aW as w,bW as $,y as yo}from"./index-f4658ae7.js";/* empty css *//* empty css */import{_ as Po}from"./FormItem.vue_vue_type_script_lang-da01c38b.js";import Bo from"./FormAction-57a3cf1e.js";import{dateItemType as Vo}from"./helper-2176e41a.js";import{useFormValues as Ro}from"./useFormValues-59b9baa1.js";import To from"./useAdvanced-c6108e3f.js";import{useFormEvents as Mo}from"./useFormEvents-1d212091.js";import{createFormContext as So}from"./useFormContext-687e6399.js";import{useAutoFocus as wo}from"./useAutoFocus-20555ad3.js";import"./index-5a53dd49.js";import{basicProps as $o}from"./props-d760f41f.js";import{F as Eo}from"./index-d51f1b4b.js";import{R as Co}from"./index-24b7f696.js";import{useModalContext as Do}from"./useModalContext-bf554b39.js";/* empty css */import"./index-0e56c5c3.js";import"./componentMap-d43b954d.js";import"./index-3590612f.js";import"./Checkbox-abf1420e.js";import"./index-297faa0c.js";import"./createForOfIteratorHelper-eb4541b9.js";import"./ApiCascader-761331ba.js";import"./useFormItem-7226971e.js";import"./useMaxLevel-0b248899.js";import"./index-8336ee2d.js";import"./index-134963ca.js";import"./index-efbe76fc.js";import"./index-70ffad01.js";import"./ApiTreeSelect-6e204649.js";import"./iconUtil-3b6c87ab.js";import"./index-6c09d321.js";import"./useRefs-2f4603d7.js";import"./ApiRadioGroup-4ec6ca0e.js";import"./RadioButtonGroup-e34f3abd.js";import"./ApiSelect-7790a483.js";import"./index-ad7f1be2.js";import"./BasicUpload-47b5dea5.js";import"./UploadModal-b7c82e2b.js";import"./index-dc88db7c.js";import"./_createAggregator-c692fd07.js";import"./_baseEach-1e26df34.js";import"./_baseFor-37716d03.js";import"./DeleteOutlined-872fe62f.js";import"./index-9eb90d49.js";import"./useUpload-fd76742d.js";import"./typing-0f0a78e2.js";import"./props-9f05f6b5.js";import"./data-fe2d6249.js";import"./helper-3b79b112.js";import"./TableAction-8031dbc2.js";import"./useTableContext-e652508f.js";import"./const-0405ffdf.js";import"./ThumbUrl-5da03225.js";import"./index-a86b513c.js";import"./isNumber-0bc0d001.js";import"./css-06fbc100.js";import"./uuid-1d456649.js";import"./FileList.vue_vue_type_style_index_0_lang-f45ceff4.js";import"./useModal-fca6ba59.js";import"./UploadPreviewModal-0b27d3f4.js";import"./download-95cff35f.js";import"./base64Conver-f3be3d44.js";import"./FormItem-a040ce00.js";import"./Col-dfe054f2.js";import"./index-2c9d82ce.js";import"./useSize-90c5eaba.js";import"./BasicModal-649ceacc.js";import"./props-7e339a09.js";import"./useModalDrag-cd2b369a.js";import"./ModalWrapper-3b9dd855.js";import"./ModalClose-f74589aa.js";import"./FullscreenOutlined-71d2eabf.js";import"./ModalFooter-308afa08.js";import"./ModalHeader-8905dc99.js";import"./useModalFullScreen-941437b0.js";import"./index-2b22a167.js";import"./StrengthMeter-2dcda8ee.js";import"./index-1d081ab8.js";import"./CountButton-219c3a14.js";import"./useCountdown-be79a558.js";import"./CountdownInput-4fee9191.js";import"./useLabelWidth-e916bc94.js";import"./index-1d383df5.js";import"./FormAction.vue_vue_type_script_lang-63aa1c08.js";const Io=fo({name:"BasicForm",components:{FormItem:Po,Form:Eo,Row:Co,FormAction:Bo},props:$o,emits:["advanced-change","reset","submit","register"],setup(o,{emit:r,attrs:t}){const d=O({}),l=Do(),A=O({isAdvanced:!0,hideAdvanceBtn:!1,isLoad:!1,actionSpan:6}),u=b({}),c=b(!1),a=b({}),g=b(null),f=b(null),{prefixCls:F}=uo("basic-form"),m=h(()=>p(p({},o),s(a))),Y=h(()=>[F,{[`${F}--compact`]:s(m).compact}]),G=h(()=>{const{baseRowStyle:e={},rowProps:i}=s(m);return p({style:e},i)}),E=h(()=>p(p(p({},t),o),s(m))),v=h(()=>{const e=s(g)||s(m).schemas;for(const i of e){const{defaultValue:n,component:N}=i;if(n&&Vo.includes(N))if(!Array.isArray(n))i.defaultValue=q(n);else{const U=[];n.forEach(no=>{U.push(q(no))}),i.defaultValue=U}}return s(m).showAdvancedButton?e.filter(i=>i.component!=="Divider"):e}),{handleToggleAdvanced:Q}=To({advanceState:A,emit:r,getProps:m,getSchema:v,formModel:d,defaultValueRef:u}),{handleFormValues:X,initDefault:C}=Ro({getProps:m,defaultValueRef:u,getSchema:v,formModel:d});wo({getSchema:v,getProps:m,isInitedDefault:c,formElRef:f});const{handleSubmit:V,setFieldsValue:D,clearValidate:Z,validate:x,validateFields:I,getFieldsValue:oo,updateSchema:eo,resetSchema:k,appendSchemaByField:to,removeSchemaByFiled:ro,resetFields:_,scrollToField:mo}=Mo({emit:r,getProps:m,formModel:d,getSchema:v,defaultValueRef:u,formElRef:f,schemaRef:g,handleFormValues:X});So({resetAction:_,submitAction:V}),T(()=>s(m).model,()=>{const{model:e}=s(m);e&&D(e)},{immediate:!0}),T(()=>s(m).schemas,e=>{k(e!=null?e:[])}),T(()=>v.value,e=>{Fo(()=>{var i;(i=l==null?void 0:l.redoModalHeight)==null||i.call(l)}),!s(c)&&e!=null&&e.length&&(C(),c.value=!0)});function io(e){return L(this,null,function*(){a.value=Ao(s(a)||{},e)})}function so(e,i){d[e]=i;const{validateTrigger:n}=s(E);(!n||n==="change")&&I([e]).catch(N=>{})}function ao(e){const{autoSubmitOnEnter:i}=s(m);if(i&&e.key==="Enter"&&e.target&&e.target instanceof HTMLElement){const n=e.target;n&&n.tagName&&n.tagName.toUpperCase()=="INPUT"&&V()}}const R={getFieldsValue:oo,setFieldsValue:D,resetFields:_,updateSchema:eo,resetSchema:k,setProps:io,removeSchemaByFiled:ro,appendSchemaByField:to,clearValidate:Z,validateFields:I,validate:x,submit:V,scrollToField:mo};return go(()=>{C(),r("register",R)}),p({getBindValue:E,handleToggleAdvanced:Q,handleEnterPress:ao,formModel:d,defaultValueRef:u,advanceState:A,getRow:G,getProps:m,formElRef:f,getSchema:v,formActionType:R,setFormModel:so,getFormClass:Y,getFormActionBindProps:h(()=>p(p({},m.value),A))},R)}});function ko(o,r,t,d,l,A){const u=y("FormItem"),c=y("FormAction"),a=y("Row"),g=y("Form");return M(),W(g,z(o.getBindValue,{class:o.getFormClass,ref:"formElRef",model:o.formModel,onKeypress:yo(o.handleEnterPress,["enter"])}),{default:P(()=>[j(a,w($(o.getRow)),{default:P(()=>[B(o.$slots,"formHeader"),(M(!0),ho(bo,null,S(o.getSchema,f=>(M(),W(u,{key:f.field,tableAction:o.tableAction,formActionType:o.formActionType,schema:f,formProps:o.getProps,allDefaultValues:o.defaultValueRef,formModel:o.formModel,setFormModel:o.setFormModel},J({_:2},[S(Object.keys(o.$slots),F=>({name:F,fn:P(m=>[B(o.$slots,F,w($(m||{})))])}))]),1032,["tableAction","formActionType","schema","formProps","allDefaultValues","formModel","setFormModel"]))),128)),j(c,z(o.getFormActionBindProps,{onToggleAdvanced:o.handleToggleAdvanced}),J({_:2},[S(["resetBefore","submitBefore","advanceBefore","advanceAfter"],f=>({name:f,fn:P(F=>[B(o.$slots,f,w($(F||{})))])}))]),1040,["onToggleAdvanced"]),B(o.$slots,"formFooter")]),_:3},16)]),_:3},16,["class","model","onKeypress"])}const gt=vo(Io,[["render",ko]]);export{gt as default};