@wetspace/pro-components
Version:
::: tip 基本介绍
2 lines (1 loc) • 2.27 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),a=require("element-plus"),b=require("./symbol.js"),N=require("../types.js"),f=require("../../../node_modules/.pnpm/@vueuse_shared@10.11.1_vue@3.5.12_typescript@5.4.2_/node_modules/@vueuse/shared/index.js");function V(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const h=t.defineComponent({name:"WetStepsForm",props:N.wetSetpsFormProps,emits:{"update:active":e=>typeof e,next:e=>typeof e,submit:e=>typeof e},setup(e,{emit:s,slots:r,expose:m}){const n=a.useNamespace("setps-form"),i=t.shallowRef(),c=t.ref([]),y=t.computed(()=>c.value[e.active].uid),l=f.useDebounceFn(async()=>{const o=await c.value[e.active].formIns.submit();s("next",o);const u=e.active+1;s("update:active",u)},200),d=f.useDebounceFn(()=>{const o=e.active-1;s("update:active",o)},200),v=async()=>{const o=await Promise.all(c.value.map(u=>u.formIns.submit()));s("submit",o)};return t.provide(b.SymbolState,{divRef:i,activeCreateFormUid:c,showStepForm:y}),m({resetForm:()=>{c.value.forEach(o=>{o.formIns.reset()})},clearForm:()=>{c.value.forEach(o=>{o.formIns.clear()})}}),()=>{let o;return t.createVNode("div",{class:[n.b(),n.is("vertical",e.direction==="vertical")]},[t.createVNode("div",{class:[n.e("hd")]},[t.createVNode(a.ElSteps,t.mergeProps({"finish-status":"success"},e),V(o=r.default())?o:{default:()=>[o]})]),t.createVNode("div",{class:[n.e("body")]},[t.createVNode("div",{class:[n.e("body-content")],style:{"--wet-body-content-w":typeof e.contentWidth=="string"?e.contentWidth:`${e.contentWidth}px`}},null),t.createVNode("div",{ref:i},null),t.createVNode("div",{class:[n.e("footer")]},[r.actions?r.actions({active:e.active,next:l,pre:d,submit:v}):t.createVNode(t.Fragment,null,[t.createVNode(a.ElButton,{style:{display:e.active===0&&"none"},onClick:d},{default:()=>[t.createTextVNode("上一步")]}),t.createVNode(a.ElButton,{style:{display:e.active===c.value.length-1&&"none"},onClick:l},{default:()=>[t.createTextVNode("下一步")]}),t.createVNode(a.ElButton,{style:{display:e.active!==c.value.length-1&&"none"},onClick:v},{default:()=>[t.createTextVNode("提交")]})])])])])}}});exports.default=h;