@gopowerteam/form-render 0.0.66 → 0.0.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/form-items/render/index.d.ts +2 -2
- package/dist/cjs/form-render/form-collapsed-dialog.d.ts +9 -0
- package/dist/cjs/form-render/index.d.ts +19 -4
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/interfaces/form-item-options.d.ts +1 -0
- package/dist/cjs/utils/tree.d.ts +16 -0
- package/dist/es/form-items/render/index.d.ts +2 -2
- package/dist/es/form-render/form-collapsed-dialog.d.ts +9 -0
- package/dist/es/form-render/index.d.ts +19 -4
- package/dist/es/index.mjs +1362 -922
- package/dist/es/interfaces/form-item-options.d.ts +1 -0
- package/dist/es/utils/tree.d.ts +16 -0
- package/dist/style.css +1 -1
- package/package.json +4 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DataRecord, FormItemRenderReturn } from '../../interfaces';
|
|
1
|
+
import { DataRecord, FormItemOptions, FormItemRenderReturn } from '../../interfaces';
|
|
2
2
|
|
|
3
3
|
export declare function renderRenderItem<T = DataRecord>(renderer: RenderInputItemOptions<T>): FormItemRenderReturn<T>;
|
|
4
4
|
export interface RenderInputItemOptions<T> {
|
|
5
|
-
(record: T): JSX.Element;
|
|
5
|
+
(record: T, form?: FormItemOptions<T>): JSX.Element;
|
|
6
6
|
}
|
|
@@ -6,6 +6,9 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
6
6
|
type: PropType<FormItemsOptions>;
|
|
7
7
|
required: true;
|
|
8
8
|
};
|
|
9
|
+
value: {
|
|
10
|
+
type: ObjectConstructor;
|
|
11
|
+
};
|
|
9
12
|
}, {
|
|
10
13
|
formItems: {
|
|
11
14
|
collapsed: boolean;
|
|
@@ -19,6 +22,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
19
22
|
labelStyle?: import('vue').CSSProperties | undefined;
|
|
20
23
|
contentStyle?: import('vue').CSSProperties | undefined;
|
|
21
24
|
rule?: import('@arco-design/web-vue').FieldRule<any> | import('@arco-design/web-vue').FieldRule<any>[] | undefined;
|
|
25
|
+
mode?: "component" | "text" | undefined;
|
|
22
26
|
render?: import('..').FormItemRender<Record<string, any>> | undefined;
|
|
23
27
|
}[];
|
|
24
28
|
groups: string[];
|
|
@@ -28,10 +32,15 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
28
32
|
form: FormItemsOptions;
|
|
29
33
|
}[];
|
|
30
34
|
activeTab: import('vue').Ref<string>;
|
|
35
|
+
onSubmit: () => void;
|
|
36
|
+
onReset: () => void;
|
|
31
37
|
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
32
38
|
form: {
|
|
33
39
|
type: PropType<FormItemsOptions>;
|
|
34
40
|
required: true;
|
|
35
41
|
};
|
|
42
|
+
value: {
|
|
43
|
+
type: ObjectConstructor;
|
|
44
|
+
};
|
|
36
45
|
}>>, {}, {}>;
|
|
37
46
|
export default _default;
|
|
@@ -44,6 +44,13 @@ export declare const FormRender: import('vue').DefineComponent<{
|
|
|
44
44
|
required: false;
|
|
45
45
|
default: string;
|
|
46
46
|
};
|
|
47
|
+
showFormResult: {
|
|
48
|
+
type: BooleanConstructor;
|
|
49
|
+
required: false;
|
|
50
|
+
default: (props: {
|
|
51
|
+
collapsedMode: 'append' | 'dialog';
|
|
52
|
+
}) => boolean;
|
|
53
|
+
};
|
|
47
54
|
submitable: {
|
|
48
55
|
type: BooleanConstructor;
|
|
49
56
|
required: false;
|
|
@@ -84,8 +91,8 @@ export declare const FormRender: import('vue').DefineComponent<{
|
|
|
84
91
|
autoLabelWidth: boolean;
|
|
85
92
|
scrollToFirstError: boolean;
|
|
86
93
|
} & {
|
|
87
|
-
size?: "mini" | "small" | "medium" | "large" | undefined;
|
|
88
94
|
disabled?: boolean | undefined;
|
|
95
|
+
size?: "small" | "mini" | "medium" | "large" | undefined;
|
|
89
96
|
labelColStyle?: Record<string, any> | undefined;
|
|
90
97
|
wrapperColStyle?: Record<string, any> | undefined;
|
|
91
98
|
rules?: Record<string, FieldRule<any> | FieldRule<any>[]> | undefined;
|
|
@@ -152,8 +159,8 @@ export declare const FormRender: import('vue').DefineComponent<{
|
|
|
152
159
|
autoLabelWidth: boolean;
|
|
153
160
|
scrollToFirstError: boolean;
|
|
154
161
|
} & {
|
|
155
|
-
size?: "mini" | "small" | "medium" | "large" | undefined;
|
|
156
162
|
disabled?: boolean | undefined;
|
|
163
|
+
size?: "small" | "mini" | "medium" | "large" | undefined;
|
|
157
164
|
labelColStyle?: Record<string, any> | undefined;
|
|
158
165
|
wrapperColStyle?: Record<string, any> | undefined;
|
|
159
166
|
rules?: Record<string, FieldRule<any> | FieldRule<any>[]> | undefined;
|
|
@@ -206,8 +213,8 @@ export declare const FormRender: import('vue').DefineComponent<{
|
|
|
206
213
|
autoLabelWidth: boolean;
|
|
207
214
|
scrollToFirstError: boolean;
|
|
208
215
|
} & {
|
|
209
|
-
size?: "mini" | "small" | "medium" | "large" | undefined;
|
|
210
216
|
disabled?: boolean | undefined;
|
|
217
|
+
size?: "small" | "mini" | "medium" | "large" | undefined;
|
|
211
218
|
labelColStyle?: Record<string, any> | undefined;
|
|
212
219
|
wrapperColStyle?: Record<string, any> | undefined;
|
|
213
220
|
rules?: Record<string, FieldRule<any> | FieldRule<any>[]> | undefined;
|
|
@@ -305,6 +312,13 @@ export declare const FormRender: import('vue').DefineComponent<{
|
|
|
305
312
|
required: false;
|
|
306
313
|
default: string;
|
|
307
314
|
};
|
|
315
|
+
showFormResult: {
|
|
316
|
+
type: BooleanConstructor;
|
|
317
|
+
required: false;
|
|
318
|
+
default: (props: {
|
|
319
|
+
collapsedMode: 'append' | 'dialog';
|
|
320
|
+
}) => boolean;
|
|
321
|
+
};
|
|
308
322
|
submitable: {
|
|
309
323
|
type: BooleanConstructor;
|
|
310
324
|
required: false;
|
|
@@ -325,12 +339,13 @@ export declare const FormRender: import('vue').DefineComponent<{
|
|
|
325
339
|
onCancel?: ((...args: any[]) => any) | undefined;
|
|
326
340
|
"onUpdate:model-value"?: ((...args: any[]) => any) | undefined;
|
|
327
341
|
}, {
|
|
342
|
+
name: string;
|
|
328
343
|
footer: boolean;
|
|
329
344
|
layout: "horizontal" | "vertical";
|
|
330
|
-
name: string;
|
|
331
345
|
minWidth: number;
|
|
332
346
|
id: string;
|
|
333
347
|
collapsedMode: "dialog" | "append";
|
|
348
|
+
showFormResult: boolean;
|
|
334
349
|
submitable: boolean;
|
|
335
350
|
searchable: boolean;
|
|
336
351
|
}, {}>;
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),k=require("@arco-design/web-vue"),te=require("dayjs"),fe=require("./resolver.cjs"),me=Symbol("ArcoConfigProvider"),he="arco",ve="$arco",X=e=>{var n,l,r;const o=t.getCurrentInstance(),u=t.inject(me,void 0);return`${(r=(l=u==null?void 0:u.prefixCls)!=null?l:(n=o==null?void 0:o.appContext.config.globalProperties[ve])==null?void 0:n.classPrefix)!=null?r:he}-${e}`},ge=Object.prototype.toString;function J(e){return ge.call(e)==="[object Number]"&&e===e}var Q=(e,n)=>{for(const[l,r]of n)e[l]=r;return e};const pe=t.defineComponent({name:"IconDown",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:n}){const l=X("icon"),r=t.computed(()=>[l,`${l}-down`,{[`${l}-spin`]:e.spin}]),o=t.computed(()=>{const a={};return e.size&&(a.fontSize=J(e.size)?`${e.size}px`:e.size),e.rotate&&(a.transform=`rotate(${e.rotate}deg)`),a});return{cls:r,innerStyle:o,onClick:a=>{n("click",a)}}}}),ye=["stroke-width","stroke-linecap","stroke-linejoin"],be=t.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),ke=[be];function we(e,n,l,r,o,u){return t.openBlock(),t.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:n[0]||(n[0]=(...a)=>e.onClick&&e.onClick(...a))},ke,14,ye)}var q=Q(pe,[["render",we]]);const Se=Object.assign(q,{install:(e,n)=>{var l;const r=(l=n==null?void 0:n.iconPrefix)!=null?l:"";e.component(r+q.name,q)}}),Ce=t.defineComponent({name:"IconUp",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:n}){const l=X("icon"),r=t.computed(()=>[l,`${l}-up`,{[`${l}-spin`]:e.spin}]),o=t.computed(()=>{const a={};return e.size&&(a.fontSize=J(e.size)?`${e.size}px`:e.size),e.rotate&&(a.transform=`rotate(${e.rotate}deg)`),a});return{cls:r,innerStyle:o,onClick:a=>{n("click",a)}}}}),xe=["stroke-width","stroke-linecap","stroke-linejoin"],Ve=t.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),Ne=[Ve];function $e(e,n,l,r,o,u){return t.openBlock(),t.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:n[0]||(n[0]=(...a)=>e.onClick&&e.onClick(...a))},Ne,14,xe)}var G=Q(Ce,[["render",$e]]);const Ee=Object.assign(G,{install:(e,n)=>{var l;const r=(l=n==null?void 0:n.iconPrefix)!=null?l:"";e.component(r+G.name,G)}}),Fe=t.defineComponent({name:"IconSearch",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:n}){const l=X("icon"),r=t.computed(()=>[l,`${l}-search`,{[`${l}-spin`]:e.spin}]),o=t.computed(()=>{const a={};return e.size&&(a.fontSize=J(e.size)?`${e.size}px`:e.size),e.rotate&&(a.transform=`rotate(${e.rotate}deg)`),a});return{cls:r,innerStyle:o,onClick:a=>{n("click",a)}}}}),Be=["stroke-width","stroke-linecap","stroke-linejoin"],Oe=t.createElementVNode("path",{d:"M33.072 33.071c6.248-6.248 6.248-16.379 0-22.627-6.249-6.249-16.38-6.249-22.628 0-6.248 6.248-6.248 16.379 0 22.627 6.248 6.248 16.38 6.248 22.628 0Zm0 0 8.485 8.485"},null,-1),Ie=[Oe];function _e(e,n,l,r,o,u){return t.openBlock(),t.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:n[0]||(n[0]=(...a)=>e.onClick&&e.onClick(...a))},Ie,14,Be)}var H=Q(Fe,[["render",_e]]);const Me=Object.assign(H,{install:(e,n)=>{var l;const r=(l=n==null?void 0:n.iconPrefix)!=null?l:"";e.component(r+H.name,H)}}),A=Symbol("__MODAL__");function le(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function C(e){return typeof e=="function"?e():t.unref(e)}const ae=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Te=Object.prototype.toString,je=e=>Te.call(e)==="[object Object]",ze=()=>{};function Re(e){return t.getCurrentInstance()}function Le(e,n={}){if(!t.isRef(e))return t.toRefs(e);const l=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const r in e.value)l[r]=t.customRef(()=>({get(){return e.value[r]},set(o){var u;if((u=C(n.replaceRef))==null||u)if(Array.isArray(e.value)){const a=[...e.value];a[r]=o,e.value=a}else{const a={...e.value,[r]:o};Object.setPrototypeOf(a,Object.getPrototypeOf(e.value)),e.value=a}else e.value[r]=o}}));return l}function Pe(e,n=!0,l){Re()?t.onMounted(e,l):n?e():t.nextTick(e)}function _(e){var n;const l=C(e);return(n=l==null?void 0:l.$el)!=null?n:l}const U=ae?window:void 0;function Y(...e){let n,l,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([l,r,o]=e,n=U):[n,l,r,o]=e,!n)return ze;Array.isArray(l)||(l=[l]),Array.isArray(r)||(r=[r]);const u=[],a=()=>{u.forEach(c=>c()),u.length=0},s=(c,i,d,v)=>(c.addEventListener(i,d,v),()=>c.removeEventListener(i,d,v)),b=t.watch(()=>[_(n),C(o)],([c,i])=>{if(a(),!c)return;const d=je(i)?{...i}:i;u.push(...l.flatMap(v=>r.map(h=>s(c,v,h,d))))},{immediate:!0,flush:"post"}),f=()=>{b(),a()};return le(f),f}function De(){const e=t.ref(!1),n=t.getCurrentInstance();return n&&t.onMounted(()=>{e.value=!0},n),e}function Ae(e){const n=De();return t.computed(()=>(n.value,!!e()))}function Ue(e,n={}){var l,r;const{pointerTypes:o,preventDefault:u,stopPropagation:a,exact:s,onMove:b,onEnd:f,onStart:c,initialValue:i,axis:d="both",draggingElement:v=U,containerElement:h,handle:w=e}=n,g=t.ref((l=C(i))!=null?l:{x:0,y:0}),x=t.ref(),F=y=>o?o.includes(y.pointerType):!0,V=y=>{C(u)&&y.preventDefault(),C(a)&&y.stopPropagation()},p=y=>{var B;if(C(n.disabled)||!F(y)||C(s)&&y.target!==C(e))return;const N=C(h),O=(B=N==null?void 0:N.getBoundingClientRect)==null?void 0:B.call(N),$=C(e).getBoundingClientRect(),R={x:y.clientX-(N?$.left-O.left+N.scrollLeft:$.left),y:y.clientY-(N?$.top-O.top+N.scrollTop:$.top)};(c==null?void 0:c(R,y))!==!1&&(x.value=R,V(y))},S=y=>{if(C(n.disabled)||!F(y)||!x.value)return;const B=C(h),N=C(e).getBoundingClientRect();let{x:O,y:$}=g.value;(d==="x"||d==="both")&&(O=y.clientX-x.value.x,B&&(O=Math.min(Math.max(0,O),B.scrollWidth-N.width))),(d==="y"||d==="both")&&($=y.clientY-x.value.y,B&&($=Math.min(Math.max(0,$),B.scrollHeight-N.height))),g.value={x:O,y:$},b==null||b(g.value,y),V(y)},I=y=>{C(n.disabled)||!F(y)||x.value&&(x.value=void 0,f==null||f(g.value,y),V(y))};if(ae){const y={capture:(r=n.capture)!=null?r:!0};Y(w,"pointerdown",p,y),Y(v,"pointermove",S,y),Y(v,"pointerup",I,y)}return{...Le(g),position:g,isDragging:t.computed(()=>!!x.value),style:t.computed(()=>`left:${g.value.x}px;top:${g.value.y}px;`)}}function We(e,n,l={}){const{window:r=U,...o}=l;let u;const a=Ae(()=>r&&"ResizeObserver"in r),s=()=>{u&&(u.disconnect(),u=void 0)},b=t.computed(()=>Array.isArray(e)?e.map(i=>_(i)):[_(e)]),f=t.watch(b,i=>{if(s(),a.value&&r){u=new ResizeObserver(n);for(const d of i)d&&u.observe(d,o)}},{immediate:!0,flush:"post"}),c=()=>{s(),f()};return le(c),{isSupported:a,stop:c}}function M(e,n={width:0,height:0},l={}){const{window:r=U,box:o="content-box"}=l,u=t.computed(()=>{var i,d;return(d=(i=_(e))==null?void 0:i.namespaceURI)==null?void 0:d.includes("svg")}),a=t.ref(n.width),s=t.ref(n.height),{stop:b}=We(e,([i])=>{const d=o==="border-box"?i.borderBoxSize:o==="content-box"?i.contentBoxSize:i.devicePixelContentBoxSize;if(r&&u.value){const v=_(e);if(v){const h=r.getComputedStyle(v);a.value=Number.parseFloat(h.width),s.value=Number.parseFloat(h.height)}}else if(d){const v=Array.isArray(d)?d:[d];a.value=v.reduce((h,{inlineSize:w})=>h+w,0),s.value=v.reduce((h,{blockSize:w})=>h+w,0)}else a.value=i.contentRect.width,s.value=i.contentRect.height},l);Pe(()=>{const i=_(e);i&&(a.value="offsetWidth"in i?i.offsetWidth:n.width,s.value="offsetHeight"in i?i.offsetHeight:n.height)});const f=t.watch(()=>_(e),i=>{a.value=i?n.width:0,s.value=i?n.height:0});function c(){b(),f()}return{width:a,height:s,stop:c}}const qe=e=>(t.pushScopeId("data-v-9a7af353"),e=e(),t.popScopeId(),e),Ge={class:"title text-16px font-bold"},He={class:"action"},Ye=["form"],Xe={key:2,class:"modal-loading"},Je=qe(()=>t.createElementVNode("div",{class:"lds-ring"},[t.createElementVNode("div"),t.createElementVNode("div"),t.createElementVNode("div"),t.createElementVNode("div")],-1)),Qe=[Je],Ke={name:"ModalContainer",inheritAttrs:!0},Ze=t.defineComponent({...Ke,props:{id:{},form:{},component:{},componentProps:{},width:{},height:{},maxWidth:{},maxHeight:{default:90},sizes:{},size:{default:"middle"},fullscreen:{type:Boolean},title:{},header:{type:Boolean,default:!0},footer:{type:Boolean,default:!1},closeable:{type:Boolean,default:!0},esc:{type:Boolean,default:!1},maskClosable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},mode:{default:"dialog"},position:{default:"right"},type:{},offset:{},backgroundColor:{},bodyStyle:{},submitText:{default:"确定"},cancelText:{default:"取消"},zIndex:{default:1e3}},emits:["submit"],setup(e,{expose:n,emit:l}){t.useCssVars(m=>({"5751bf6b":m.zIndex}));const r=e,o=l,u=t.inject(A),a=t.ref(!1);let s=0,b=0;const f=t.shallowRef(),c=t.shallowRef(),i=t.shallowRef(),d=t.shallowRef(),v=t.shallowRef(),h=t.shallowRef(),{height:w}=M(f),{height:g}=M(i,void 0,{box:"border-box"}),{height:x}=M(d,void 0,{box:"border-box"}),{height:F}=M(v),{height:V}=M(h),{x:p,y:S}=Ue(i,{initialValue:{x:0,y:0}});function I(){u==null||u.close(r.id)}function y(m){return typeof m=="number"?`${m}px`:m}const B=t.computed(()=>{const m={};return r.mode==="dialog"&&(m.justifyContent="center"),r.mode==="drawer"&&(m.justifyContent={left:"flex-start",right:"flex-end",top:"flex-start",bottom:"flex-end"}[r.position],m.flexDirection={left:"row",right:"row",top:"column",bottom:"column"}[r.position]),m}),N=t.computed(()=>{const m={};return r.mode==="drawer"&&["top","bottom"].includes(r.position)?m.maxHeight=y(r.maxHeight):(m.width=y(r.sizes[r.size]),m.maxWidth=y(r.maxWidth)),r.width&&(m.width=y(r.width)),r.height&&(m.height=y(r.height)),r.fullscreen&&(m.maxWidth="unset",m.width="100%",m.position="fixed",m.top=0,m.left=0,m.bottom=0,m.right=0,m.borderRadius=0),r.draggable&&!r.fullscreen&&r.mode==="dialog"&&(m.transform=`translate3d(${p.value-s}px, ${S.value-b}px, 0px)`),r.mode==="drawer"&&(m.borderRadius=0,["left","right"].includes(r.position)?m.height="100%":m.width="100%"),r.offset&&r.mode==="dialog"&&(m.marginLeft=`${r.offset.x||0}px`,m.marginTop=`${r.offset.y||0}px`),r.backgroundColor&&(m.backgroundColor=r.backgroundColor),m}),O=t.computed(()=>{const m={};return r.draggable&&!r.fullscreen&&r.mode==="dialog"&&(m.cursor="move"),m}),$=t.computed(()=>{const m={},E=F.value+V.value+g.value+x.value,ee=Math.floor(w.value*(Number(y(r.maxHeight).replace("%",""))/100));return r.maxHeight&&(m.maxHeight=`${ee-E}px`),r.mode==="drawer"&&(m.maxHeight="unset",["left","right"].includes(r.position)&&(m.height=`${w.value-E}px`)),r.fullscreen&&(m.maxHeight="unset",m.height=`calc(100% - ${E}px)`),r.type!=="component"&&(m.padding="0"),r.bodyStyle&&Object.assign(m,r.bodyStyle),m});function R(){const m=c.value;if(r.form&&m){const E=m.querySelector(`form[name="${r.form}"]`);E&&E.dispatchEvent(new Event("submit"))}o("submit")}function ce(){u==null||u.close(r.id)}function ue(){window&&window.addEventListener("resize",()=>{t.triggerRef(f),t.triggerRef(c),c.value&&(s=c.value.offsetLeft,b=c.value.offsetTop)})}function ie(){if(r.closeable&&r.esc){const m=({key:E})=>{E==="Escape"&&(u==null||u.close(r.id),window.removeEventListener("keydown",m))};window.addEventListener("keydown",m)}}function de(){s=c.value.offsetLeft,b=c.value.offsetTop}t.onMounted(()=>{ie(),ue()}),t.onUnmounted(()=>{});function se(){return a.value=!0,()=>Z()}function Z(){a.value=!1}return n({showLoading:se,hideLoading:Z}),(m,E)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"wrapperRef",ref:f,class:"modal-wrapper",style:t.normalizeStyle(B.value),onClick:E[0]||(E[0]=t.withModifiers(ee=>m.maskClosable&&I(),["self"]))},[t.createElementVNode("div",{ref_key:"contentRef",ref:c,class:t.normalizeClass(["modal-content",{[`${m.mode}-mode`]:!0,[`${m.position}-position`]:!0}]),style:t.normalizeStyle(N.value)},[m.header?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"headerRef",ref:i,class:"modal-header",style:t.normalizeStyle(O.value),onMousedown:de},[t.createElementVNode("div",Ge,t.toDisplayString(m.title),1),t.createElementVNode("div",He,[m.closeable?(t.openBlock(),t.createElementBlock("div",{key:0,class:"i-icon-park-outline:close block cursor-pointer",onClick:I})):t.createCommentVNode("",!0)])],36)):t.createCommentVNode("",!0),t.createElementVNode("div",{id:"modal-header-slot",ref_key:"headerSlotRef",ref:v},null,512),t.createElementVNode("div",{class:"modal-body",style:t.normalizeStyle($.value)},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m.component),t.normalizeProps(t.guardReactiveProps(m.componentProps)),null,16))],4),t.createElementVNode("div",{id:"modal-footer-slot",ref_key:"footerSlotRef",ref:h},null,512),m.footer?(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"footerRef",ref:d,class:"modal-footer space-x-2"},[t.createElementVNode("button",{class:"cancel-button",type:"button",onClick:ce},t.toDisplayString(m.cancelText),1),t.createElementVNode("button",{class:"submit-button",form:m.form,type:"submit",onClick:R},t.toDisplayString(m.submitText),9,Ye)],512)):t.createCommentVNode("",!0),a.value?(t.openBlock(),t.createElementBlock("div",Xe,Qe)):t.createCommentVNode("",!0)],6)],4))}}),W=(e,n)=>{const l=e.__vccOpts||e;for(const[r,o]of n)l[r]=o;return l},et=W(Ze,[["__scopeId","data-v-9a7af353"]]),tt={class:"modal-dialog"},rt={class:"dialog-body"},nt={class:"dialog-title"},lt={class:"dialog-content"},at=t.defineComponent({__name:"modal-dialog",props:{type:{},title:{},content:{},okText:{default:"确定"},cancelText:{default:"取消"},onOk:{},onCancel:{},footer:{}},setup(e){const n=e,l=oe(),r=t.computed(()=>n.title?n.title:{confirm:"提示",info:"提示",warning:"警告",error:"错误",success:"成功"}[n.type]);async function o(){n.onOk&&await n.onOk(),l.close()}async function u(){n.onCancel&&await n.onCancel(),l.close()}return(a,s)=>(t.openBlock(),t.createElementBlock("section",tt,[t.createElementVNode("div",rt,[t.createElementVNode("div",nt,t.toDisplayString(r.value),1),t.createElementVNode("div",lt,t.toDisplayString(a.content),1)]),t.createElementVNode("div",{class:"dialog-footer space-x-2",style:t.normalizeStyle(a.type==="confirm"?{"justify-content":"end"}:{"border-top":"none"})},[a.footer?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.footer),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createElementVNode("button",{class:"submit-button",type:"submit",onClick:o},t.toDisplayString(a.okText),1),a.type==="confirm"?(t.openBlock(),t.createElementBlock("button",{key:0,class:"cancel-button",type:"button",onClick:u},t.toDisplayString(a.cancelText),1)):t.createCommentVNode("",!0)],64))],4)]))}}),ot=W(at,[["__scopeId","data-v-0c6b8db2"]]),ct=e=>(t.pushScopeId("data-v-559bdf2e"),e=e(),t.popScopeId(),e),ut={class:"flex-center"},it=ct(()=>t.createElementVNode("div",{class:"modal-loading"},[t.createElementVNode("div",{class:"lds-ring"},[t.createElementVNode("div"),t.createElementVNode("div"),t.createElementVNode("div"),t.createElementVNode("div")])],-1)),dt={class:"modal-loading-text"},st=t.defineComponent({__name:"modal-loading",props:{text:{default:"加载中"}},setup(e){return(n,l)=>(t.openBlock(),t.createElementBlock("section",ut,[it,t.createElementVNode("div",dt,t.toDisplayString(n.text),1)]))}}),ft=W(st,[["__scopeId","data-v-559bdf2e"]]),mt={key:0,class:"modal-teleport"},ht={name:"ModalProvider",inheritAttrs:!0},vt=t.defineComponent({...ht,props:{appendToBody:{type:[Boolean,String],default:!1},sizes:{default:()=>({small:"50%",middle:"70%",large:"90%"})},maxWidth:{default:"90%"},maxHeight:{default:"90%"},offset:{default:()=>({x:0,y:0})}},setup(e,{expose:n}){const l=t.shallowRef([]),r=t.ref(!1),o=t.getCurrentInstance();function u(d,v={},h={}){const w=t.defineAsyncComponent(()=>Promise.resolve(typeof d=="string"?ot:d));typeof d=="string"&&(v.type=d,h.size="small",h.fullscreen=!1,h.mode="dialog",h.footer=!1,h.header=!1);const g=Math.random().toString(32).slice(2),x=Object.assign({zIndex:typeof d=="string"?1100:1e3},h),F=new Promise((V,p)=>{l.value.push({id:g,component:w,props:v||{},options:{...x,type:typeof d=="string"?d:"component"},resolve:V,reject:p,listeners:[]}),t.triggerRef(l)}).catch(V=>V==="CANCEL"?new Promise(()=>{}):Promise.reject(V));return Object.assign(F,{close:()=>a(g)})}function a(d,v){const h=l.value.findIndex(g=>g.id===d);if(h<0)return;const w=l.value[h];v===void 0?w==null||w.reject("CANCEL"):w==null||w.resolve(v),l.value.splice(h,1),t.triggerRef(l)}function s(){!l.value||l.value.length===0||(l.value.forEach(d=>{d==null||d.reject("CANCEL")}),l.value=[],t.triggerRef(l))}function b(d,v){const h=l.value.find(g=>g.id===d);if(!h)return;const w=h.listeners.find(g=>g.event===v);w&&w.callback({open:u,close:g=>a(h.id,g),closeAll:s,showLoading:()=>f(h.id),hideLoading:()=>c(h.id),confirm:g=>u("confirm",g),success:g=>u("success",g),error:g=>u("error",g),warning:g=>u("warning",g),info:g=>u("info",g)})}function f(d,v){if(!o)return;const[h]=o.refs[`modal-container_${d}`]||[];if(h)return h.showLoading();{const{close:w}=u(ft,{text:v==null?void 0:v.text},{footer:!1,header:!1,closeable:!1,backgroundColor:"transparent"});return v!=null&&v.duration&&setTimeout(()=>{w()},v==null?void 0:v.duration),w}}function c(d){if(!o)return;const[v]=o.refs[`modal-container_${d}`];if(v)return v.hideLoading()}function i(d,v,h){const w=l.value.find(g=>g.id===d);w&&w.listeners.push({event:v,callback:h})}return t.provide(A,{open:u,close:a,closeAll:s,addEventListener:i,showLoading:f,hideLoading:c}),n({elements:l,open:u,close:a,closeAll:s}),t.onMounted(()=>{r.value=!0}),(d,v)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.renderSlot(d.$slots,"default",{},void 0,!0),r.value?(t.openBlock(),t.createElementBlock("div",mt,[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!d.appendToBody,to:typeof d.appendToBody=="string"?d.appendToBody:"body"},[t.createVNode(t.TransitionGroup,{name:"modal-fade"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,h=>(t.openBlock(),t.createBlock(et,t.mergeProps({id:h.id,key:h.id,ref_for:!0,ref:`modal-container_${h.id}`,component:h.component,"component-props":h.props,"max-height":d.maxHeight,"max-width":d.maxWidth,offset:d.offset,sizes:d.sizes},h.options,{onSubmit:()=>b(h.id,"submit")}),null,16,["id","component","component-props","max-height","max-width","offset","sizes","onSubmit"]))),128))]),_:1})],8,["disabled","to"]))])):t.createCommentVNode("",!0)],64))}}),gt=W(vt,[["__scopeId","data-v-60414811"]]);function P(e,n){var l,r;let o=e==null?void 0:e.parent;for(;o&&((l=o==null?void 0:o.type)==null?void 0:l.name)!==n;)o=o.parent;return((r=o==null?void 0:o.type)==null?void 0:r.name)===n?o:null}function oe(){const e=t.inject(A),n=t.getCurrentInstance();function l(r,o,u){if(!e)throw new Error("Not Found Modal Provider Component");return e.open(r,o,u)}return{open:l,close(r){var o;if(!e)throw new Error("Not Found Modal Provider Component");const u=P(n,"ModalContainer"),a=(o=u==null?void 0:u.props)==null?void 0:o.id;if(!a)throw new Error("Not Found Current Modal Container");e.close(a,r)},closeAll(){if(!e)throw new Error("Not Found Modal Provider Component");e.closeAll()},showLoading(r){var o;if(!e)throw new Error("Not Found Modal Provider Component");const u=P(n,"ModalContainer"),a=(o=u==null?void 0:u.props)==null?void 0:o.id;return e.showLoading(a,r)},hideLoading(){var r;if(!e)throw new Error("Not Found Modal Provider Component");const o=P(n,"ModalContainer"),u=(r=o==null?void 0:o.props)==null?void 0:r.id;return e.hideLoading(u)},confirm(r){return this.open("confirm",r)},info(r){return this.open("info",r)},error(r){return this.open("error",r)},warning(r){return this.open("warning",r)},success(r){return this.open("success",r)}}}function pt(e){var n;const l=t.inject(A),r=t.getCurrentInstance(),o=P(r,"ModalContainer"),u=(n=o==null?void 0:o.props)==null?void 0:n.id;l&&u&&l.addEventListener(u,"submit",e)}const re={id:Symbol("ID"),source:Symbol("Source")};function yt(e,n){const l=t.ref({});return e==null||e.forEach(o=>{let u=null;o.default&&(u=(typeof o.default=="function"?o.default():o.default)||null),n&&n[o.key]!==void 0&&(u=n[o.key]),l.value[o.key]=u}),[l,o=>{l.value=o}]}function bt(e){function n(l,r){return e!=null&&e.disabledDate?e.disabledDate(l,r):!1}return(l,r)=>{switch(e==null?void 0:e.type){case"week":return t.createVNode(k.WeekPicker,{modelValue:l[r.key],"onUpdate:modelValue":o=>l[r.key]=o,"disabled-date":n,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"month":return t.createVNode(k.MonthPicker,{modelValue:l[r.key],"onUpdate:modelValue":o=>l[r.key]=o,"disabled-date":n,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"quarter":return t.createVNode(k.QuarterPicker,{modelValue:l[r.key],"onUpdate:modelValue":o=>l[r.key]=o,"disabled-date":n,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"year":return t.createVNode(k.YearPicker,{modelValue:l[r.key],"onUpdate:modelValue":o=>l[r.key]=o,"disabled-date":n,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"date":default:return t.createVNode(k.DatePicker,t.mergeProps({"disabled-input":!0,modelValue:l[r.key],"onUpdate:modelValue":o=>l[r.key]=o,"disabled-date":n,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},{shortcuts:e==null?void 0:e.shortcuts}),null)}}}function kt(e){return(n,l)=>{switch(e==null?void 0:e.type){case"number":return t.createVNode(k.InputNumber,{modelValue:n[l.key],"onUpdate:modelValue":r=>n[l.key]=r,hideButton:!0,"read-only":e==null?void 0:e.readonly,placeholder:e==null?void 0:e.placeholder,allowClear:e==null?void 0:e.clearable},null);case"string":default:return t.createVNode(k.Input,{modelValue:n[l.key],"onUpdate:modelValue":r=>n[l.key]=r,placeholder:e==null?void 0:e.placeholder,readonly:e==null?void 0:e.readonly,allowClear:e==null?void 0:e.clearable},null)}}}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function K(e,n,l){const r=t.watch(e,(...o)=>(t.nextTick(()=>r()),n(...o)),l);return r}function wt(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const T=new WeakMap;function St(){const e=t.ref(new Map);return[e,l=>e.value=l]}function Ct(e){let n,l=!1;const[r,o]=St(),u=f=>{if(e.onChange&&e.onChange(f),!e.autoSumbit||!n)return;let c=n;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},a=(f,c)=>{const i=f();i instanceof Promise?i.then(c):c(i)},s=async()=>{const f=T.get(e.options);switch(typeof f){case"function":T.set(e.options,o);return;case"object":o(f);return}T.set(e.options,o),a(e.options,c=>{const i=T.get(e.options);T.set(e.options,c),i(c)})},b=()=>{a(e.options,f=>{o(f)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?s():b();break}case t.isRef(e.options):{K(()=>e.options,()=>{o(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(f,c)=>{let i;return e.default&&!l&&(f[c.key]=e.default,l=!0),t.createVNode(k.Select,{ref:d=>n=d,multiple:e.multiple,modelValue:f[c.key],"onUpdate:modelValue":d=>f[c.key]=d,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,"allow-create":e.createable,maxTagCount:e.maxTagCount??2,onChange:u},wt(i=Array.from(r.value.entries()).map(([d,v])=>t.createVNode(k.Option,{key:d,value:d,label:v},null)))?i:{default:()=>[i]})}}function xt(e){function n(){e!=null&&e.autoSumbit}return(l,r)=>(e!=null&&e.default&&(l[r.key]=e.default),t.createVNode(k.Switch,{modelValue:l[r.key],"onUpdate:modelValue":o=>l[r.key]=o,checkedText:(e==null?void 0:e.openLabel)??"是",uncheckedText:(e==null?void 0:e.closeLabel)??"否",checkedValue:(e==null?void 0:e.openValue)??!0,uncheckedValue:(e==null?void 0:e.closeValue)??!1,onChange:n},null))}function Vt(e){return(n,l)=>{let r=[];function o(s){r=s}function u(s){if(s&&s.length===2){const[b,f]=s.sort(),c=te(b).startOf("days"),i=te(f).endOf("days");n[l.key]=[c.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),i.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function a(s){return e!=null&&e.disabledDate?e.disabledDate(r.filter(Boolean),s):!1}return t.createVNode("div",null,[t.createVNode(k.RangePicker,{"disabled-input":!0,style:{width:"300px"},modelValue:n[l.key],"onUpdate:modelValue":s=>n[l.key]=s,onSelect:o,onChange:u,mode:e==null?void 0:e.type,shortcuts:e==null?void 0:e.shortcuts,allowClear:e==null?void 0:e.clearable,"disabled-date":a,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function Nt(e){return(n,l)=>t.createVNode(k.Textarea,{modelValue:n[l.key],"onUpdate:modelValue":r=>n[l.key]=r,placeholder:e==null?void 0:e.placeholder,autoSize:e==null?void 0:e.autosize,maxLength:e==null?void 0:e.maxLength},null)}const j=new WeakMap;function $t(){const e=t.ref([]);return[e,l=>e.value=l]}function Et(e){let n,l=!1;const[r,o]=$t(),u=()=>{if(!e.autoSumbit||!n)return;let c=n;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},a=(c,i)=>{const d=c();d instanceof Promise?d.then(i):i(d)},s=async()=>{const c=j.get(e.options);switch(typeof c){case"function":j.set(e.options,o);return;case"object":o(c);return}j.set(e.options,o),a(e.options,i=>{const d=j.get(e.options);j.set(e.options,i),d(i)})},b=()=>{a(e.options,c=>{o(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?s():b();break}case t.isRef(e.options):{K(e.options,()=>{o(e.options.value)},{immediate:!0});break}default:r.value=e.options}function f(c,i){var h;const d=((h=e.fieldNames)==null?void 0:h.title)||"title",v=i[d];return v?v.toLowerCase().includes(c.toLowerCase()):!1}return(c,i)=>(e.default&&!l&&(c[i.key]=e.default,l=!0),t.createVNode(k.TreeSelect,{ref:d=>n=d,multiple:e.multiple,modelValue:c[i.key],"onUpdate:modelValue":d=>c[i.key]=d,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:u,filterTreeNode:f,data:r.value,fieldNames:e.fieldNames,treeProps:e.treeProps},{...e.slots}))}const z=new WeakMap;function Ft(){const e=t.ref([]);return[e,l=>e.value=l]}function Bt(e){let n,l=!1;const[r,o]=Ft(),u=()=>{if(!e.autoSumbit||!n)return;let f=n;for(;f&&f.$el.tagName!=="FORM";)f=f.$parent;f&&f.$el&&f.$el.dispatchEvent(new Event("submit"))},a=(f,c)=>{const i=f();i instanceof Promise?i.then(c):c(i)},s=async()=>{const f=z.get(e.options);switch(typeof f){case"function":z.set(e.options,o);return;case"object":o(f);return}z.set(e.options,o),a(e.options,c=>{const i=z.get(e.options);z.set(e.options,c),i(c)})},b=()=>{a(e.options,f=>{o(f)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?s():b();break}case t.isRef(e.options):{K(e.options,()=>{o(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(f,c)=>(e.default&&!l&&(f[c.key]=e.default,l=!0),t.createVNode(k.Cascader,{pathMode:e.pathMode,ref:i=>n=i,multiple:e.multiple,modelValue:f[c.key],"onUpdate:modelValue":i=>f[c.key]=i,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:u,options:r.value},null))}function Ot(e){return n=>e(n)}const It={thousands:!0,inputUnit:"元",outputUnit:"元"},L={分:10**0,元:10**2,万:10**4};function _t(e){e={...It,...e||{}};const n=a=>{if(a==null)return;if((e==null?void 0:e.inputUnit)===(e==null?void 0:e.outputUnit))return a;const s=L[e.outputUnit]/L[e.inputUnit];return a*s},l=a=>{if(a==null)return;if((e==null?void 0:e.inputUnit)===(e==null?void 0:e.outputUnit))return a;const s=L[e.inputUnit]/L[e.outputUnit];return a*s},r=a=>{const s=a.split(".");return s[0]=s[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),s.join(".")},o=a=>{const s=a;return e!=null&&e.thousands?r(s):s},u=a=>a.replace(/,/g,"");return(a,s)=>{const b=t.ref(n(a[s.key]));return t.watch(b,f=>{a[s.key]=l(f)}),t.createVNode(k.InputNumber,{modelValue:b.value,"onUpdate:modelValue":f=>b.value=f,formatter:o,parser:u,precision:e==null?void 0:e.precision,hideButton:!0,"read-only":e==null?void 0:e.readonly,placeholder:e==null?void 0:e.placeholder,allowClear:e==null?void 0:e.clearable},{prefix:(e==null?void 0:e.prefix)&&(()=>typeof(e==null?void 0:e.prefix)=="string"?t.createVNode("span",null,[e.prefix]):e.prefix()),suffix:()=>typeof(e==null?void 0:e.suffix)=="string"?t.createVNode("span",null,[e.suffix]):typeof(e==null?void 0:e.suffix)=="function"?e.suffix():e==null?void 0:e.inputUnit})}}function Mt(){return{input:kt,textarea:Nt,select:Ct,treeSelect:Et,date:bt,switch:xt,dateRange:Vt,render:Ot,cascader:Bt,currency:_t}}function Tt(e,n){n.render||(n.render=r=>r.input());const l=n.render({...Mt()});return{default:()=>l(e,n)}}function jt(e,n){return t.h(k.FormItem,{field:n.key,label:n.title,hideLabel:n.hideLabel,labelColStyle:n.labelStyle,wrapperColStyle:n.contentStyle},Tt(e,n))}function zt(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const Rt=t.defineComponent({props:{form:{type:Object,required:!0}},setup(e){const n=oe(),l=e.form.map(a=>({...a,collapsed:!1})),r=Array.from(new Set(l.map(a=>a.group).flat().filter(Boolean))),o=l.reduce((a,s)=>((s.group?[s.group].flat():["默认"]).forEach(b=>{let f=a.find(c=>c.group===b);f||(f={group:b,instance:void 0,form:[]},a.push(f)),f.form.push(s)}),a),[]).sort((a,s)=>a.group==="默认"?-1:s.group==="默认"?1:a.group>s.group?-1:1),u=t.ref("默认");return pt(()=>{const a=o.find(s=>s.group===u.value);if(a&&a.instance){const s=a.instance.formSource;a.instance.validate().then(()=>{n.close(s)})}}),{formItems:l,groups:r,groupForms:o,activeTab:u}},render(){const e=this.groupForms.find(n=>n.group===this.activeTab);if(this.groups.length){let n;return t.createVNode(k.Tabs,{"active-key":this.activeTab,"onUpdate:active-key":l=>this.activeTab=l},zt(n=this.groupForms.map(l=>t.createVNode(k.TabPane,{title:l.group,key:l.group},{default:()=>[t.createVNode(D,{form:l.form,ref:r=>l.instance=r},null)]})))?n:{default:()=>[n]})}else return t.createVNode(D,{form:this.formItems,ref:n=>e.instance=n},null)}});function ne(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const D=t.defineComponent({props:{form:{type:Object,required:!0},value:{type:Object,required:!1},layout:{type:String,required:!1,default:"horizontal"},columns:{type:Number,required:!1},modelValue:{type:Object,required:!1},minWidth:{type:Number,required:!1,default:400},name:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},id:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},collapsedMode:{type:String,required:!1,default:"append"},submitable:{type:Boolean,required:!1,default:!1},searchable:{type:Boolean,required:!1,default:!1},footer:{type:Boolean,required:!1,default:!1}},emits:["submit","cancel","update:model-value"],expose:["formSource","updateFormField","updateFormSource","reset","validate"],setup(e,{emit:n}){const l=t.ref(),[r,o]=yt(e.form,e.modelValue||e.value),u=t.ref(e.columns||0),a=t.ref(!0),s=t.ref(),b=()=>a.value=!a.value;t.provide(re.id,e.id),t.provide(re.source,r);const f=()=>{n("submit",r.value),n("update:model-value",r.value)},c=t.computed(()=>e.form.filter(p=>a.value?!p.collapsed:!0).filter(p=>{switch(!0){case typeof p.visiable=="boolean":return p.visiable;case typeof p.visiable=="function":return p.visiable(r.value);default:return!0}})),i=t.computed(()=>{if(!u.value)return 1;const p=c.value.reduce((S,I)=>S+((I==null?void 0:I.span)||1),0);return u.value-p%u.value}),d=t.computed(()=>e.form.reduce((p,S)=>(S.rule&&(p[S.key]=S.rule),p),{}));function v(){var S;if(e.columns)return;const p=(S=l.value)==null?void 0:S.$el;p&&(u.value=Math.max(Math.floor(p.offsetWidth/e.minWidth),1))}function h(){var S;const p=(S=l.value)==null?void 0:S.$el;p&&(p.id=e.id)}function w(){s.value.open(Rt,{form:e.form},{title:"高级搜索",footer:!0,submitText:"搜索"}).then(p=>{p&&(g(p),f())})}t.onMounted(()=>{v(),h()});function g(p){o({...r.value,...p||{}})}function x(p,S){r.value[p]=S,g({...r.value})}function F(){var p;(p=l.value)==null||p.resetFields()}function V(){var p;return(p=l.value)==null?void 0:p.validate()}return t.onMounted(()=>{window&&window.addEventListener("resize",v)}),{formSource:r,formInstance:l,formColumns:u,formRules:d,formCollspased:a,formActiosSpan:i,formItems:c,toggleFormCollapsed:b,updateFormField:x,updateFormSource:g,reset:F,validate:V,onSubmitSuccess:f,openCollapsedDialog:w,modalInstance:s}},render(){const e=()=>{const n=[],l=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(n.push(t.createVNode(k.Button,{type:"primary",htmlType:"submit"},{default:()=>[t.createTextVNode("搜索")]})),n.push(t.createVNode(k.Button,{type:"secondary",onClick:()=>{var r;return(r=this.formInstance)==null?void 0:r.resetFields()}},{default:()=>[t.createTextVNode("重置")]}))),this.submitable&&(n.push(t.createVNode(k.Button,{type:"primary",htmlType:"submit"},{default:()=>[t.createTextVNode("提交")]})),n.push(t.createVNode(k.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[t.createTextVNode("取消")]}))),this.form.some(r=>!!r.collapsed)&&(this.collapsedMode==="append"&&n.push(t.createVNode(k.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?t.createVNode(Se,null,null):t.createVNode(Ee,null,null)})),this.collapsedMode==="dialog"&&n.push(t.createVNode(k.Button,{onClick:this.openCollapsedDialog},{default:()=>"高级搜索",icon:()=>t.createVNode(Me,null,null)}))),this.$slots.actions&&n.push(...this.$slots.actions()),n.length)return t.createVNode(k.GridItem,l,{default:()=>[t.createVNode(k.FormItem,{contentClass:this.footer?"form-footer":""},{default:()=>[t.createVNode(k.Space,null,ne(n)?n:{default:()=>[n]})]})]})};return t.createVNode("div",{class:"form-render"},[t.createVNode(gt,{ref:n=>this.modalInstance=n},{default:()=>[t.createVNode(k.Form,t.mergeProps({name:this.name},{labelAlign:"right",layout:this.$props.layout,rules:this.formRules,onSubmitSuccess:this.onSubmitSuccess,"auto-label-width":!0,ref:n=>this.formInstance=n,model:this.formSource}),{default:()=>[t.createVNode(k.Grid,{cols:this.formColumns,"col-gap":24,"rol-gap":10},{default:()=>[this.formItems.filter(()=>this.formColumns!==0).map(n=>{let l;return t.createVNode(k.GridItem,{span:n.span},ne(l=jt(this.formSource,n))?l:{default:()=>[l]})}),e()]})]})]})])}});function Lt(e){return e}function Pt(e){const n=t.getCurrentInstance(),l=t.ref();function r(){var u,a;const o=(a=(u=n==null?void 0:n.proxy)==null?void 0:u.$refs)==null?void 0:a[e];o&&(l.value=o)}return t.onMounted(r),t.onUpdated(r),l}const Dt={install(e,n){e.component("FormRender",D)}};exports.FormRenderResolver=fe.FormRenderResolver;exports.FormRender=D;exports.default=Dt;exports.defineForm=Lt;exports.useForm=Pt;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),g=require("@arco-design/web-vue"),C=require("dayjs"),be=require("./resolver.cjs"),ke=Symbol("ArcoConfigProvider"),we="arco",xe="$arco",K=e=>{var l,n,r;const o=t.getCurrentInstance(),u=t.inject(ke,void 0);return`${(r=(n=u==null?void 0:u.prefixCls)!=null?n:(l=o==null?void 0:o.appContext.config.globalProperties[xe])==null?void 0:l.classPrefix)!=null?r:we}-${e}`},Ce=Object.prototype.toString;function X(e){return Ce.call(e)==="[object Number]"&&e===e}var J=(e,l)=>{for(const[n,r]of l)e[n]=r;return e};const Se=t.defineComponent({name:"IconDown",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:l}){const n=K("icon"),r=t.computed(()=>[n,`${n}-down`,{[`${n}-spin`]:e.spin}]),o=t.computed(()=>{const a={};return e.size&&(a.fontSize=X(e.size)?`${e.size}px`:e.size),e.rotate&&(a.transform=`rotate(${e.rotate}deg)`),a});return{cls:r,innerStyle:o,onClick:a=>{l("click",a)}}}}),Ne=["stroke-width","stroke-linecap","stroke-linejoin"],Ve=t.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),_e=[Ve];function $e(e,l,n,r,o,u){return t.openBlock(),t.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:l[0]||(l[0]=(...a)=>e.onClick&&e.onClick(...a))},_e,14,Ne)}var U=J(Se,[["render",$e]]);const Ee=Object.assign(U,{install:(e,l)=>{var n;const r=(n=l==null?void 0:l.iconPrefix)!=null?n:"";e.component(r+U.name,U)}}),Me=t.defineComponent({name:"IconUp",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:l}){const n=K("icon"),r=t.computed(()=>[n,`${n}-up`,{[`${n}-spin`]:e.spin}]),o=t.computed(()=>{const a={};return e.size&&(a.fontSize=X(e.size)?`${e.size}px`:e.size),e.rotate&&(a.transform=`rotate(${e.rotate}deg)`),a});return{cls:r,innerStyle:o,onClick:a=>{l("click",a)}}}}),Fe=["stroke-width","stroke-linecap","stroke-linejoin"],Oe=t.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),Ye=[Oe];function Be(e,l,n,r,o,u){return t.openBlock(),t.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:l[0]||(l[0]=(...a)=>e.onClick&&e.onClick(...a))},Ye,14,Fe)}var q=J(Me,[["render",Be]]);const Te=Object.assign(q,{install:(e,l)=>{var n;const r=(n=l==null?void 0:l.iconPrefix)!=null?n:"";e.component(r+q.name,q)}}),De=t.defineComponent({name:"IconSearch",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:l}){const n=K("icon"),r=t.computed(()=>[n,`${n}-search`,{[`${n}-spin`]:e.spin}]),o=t.computed(()=>{const a={};return e.size&&(a.fontSize=X(e.size)?`${e.size}px`:e.size),e.rotate&&(a.transform=`rotate(${e.rotate}deg)`),a});return{cls:r,innerStyle:o,onClick:a=>{l("click",a)}}}}),Ie=["stroke-width","stroke-linecap","stroke-linejoin"],je=t.createElementVNode("path",{d:"M33.072 33.071c6.248-6.248 6.248-16.379 0-22.627-6.249-6.249-16.38-6.249-22.628 0-6.248 6.248-6.248 16.379 0 22.627 6.248 6.248 16.38 6.248 22.628 0Zm0 0 8.485 8.485"},null,-1),Le=[je];function Pe(e,l,n,r,o,u){return t.openBlock(),t.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:l[0]||(l[0]=(...a)=>e.onClick&&e.onClick(...a))},Le,14,Ie)}var W=J(De,[["render",Pe]]);const Re=Object.assign(W,{install:(e,l)=>{var n;const r=(n=l==null?void 0:l.iconPrefix)!=null?n:"";e.component(r+W.name,W)}}),Q=Symbol("__MODAL__");function ue(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function N(e){return typeof e=="function"?e():t.unref(e)}const ce=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ze=Object.prototype.toString,Ae=e=>ze.call(e)==="[object Object]",Ue=()=>{};function qe(e){return t.getCurrentInstance()}function We(e,l={}){if(!t.isRef(e))return t.toRefs(e);const n=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const r in e.value)n[r]=t.customRef(()=>({get(){return e.value[r]},set(o){var u;if((u=N(l.replaceRef))==null||u)if(Array.isArray(e.value)){const a=[...e.value];a[r]=o,e.value=a}else{const a={...e.value,[r]:o};Object.setPrototypeOf(a,Object.getPrototypeOf(e.value)),e.value=a}else e.value[r]=o}}));return n}function He(e,l=!0,n){qe()?t.onMounted(e,n):l?e():t.nextTick(e)}function B(e){var l;const n=N(e);return(l=n==null?void 0:n.$el)!=null?l:n}const z=ce?window:void 0;function H(...e){let l,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,l=z):[l,n,r,o]=e,!l)return Ue;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const u=[],a=()=>{u.forEach(c=>c()),u.length=0},p=(c,i,s,f)=>(c.addEventListener(i,s,f),()=>c.removeEventListener(i,s,f)),h=t.watch(()=>[B(l),N(o)],([c,i])=>{if(a(),!c)return;const s=Ae(i)?{...i}:i;u.push(...n.flatMap(f=>r.map(m=>p(c,f,m,s))))},{immediate:!0,flush:"post"}),d=()=>{h(),a()};return ue(d),d}function Ge(){const e=t.ref(!1),l=t.getCurrentInstance();return l&&t.onMounted(()=>{e.value=!0},l),e}function Ke(e){const l=Ge();return t.computed(()=>(l.value,!!e()))}function Xe(e,l={}){var n,r;const{pointerTypes:o,preventDefault:u,stopPropagation:a,exact:p,onMove:h,onEnd:d,onStart:c,initialValue:i,axis:s="both",draggingElement:f=z,containerElement:m,handle:k=e}=l,y=t.ref((n=N(i))!=null?n:{x:0,y:0}),x=t.ref(),V=w=>o?o.includes(w.pointerType):!0,_=w=>{N(u)&&w.preventDefault(),N(a)&&w.stopPropagation()},b=w=>{var F;if(N(l.disabled)||!V(w)||N(p)&&w.target!==N(e))return;const $=N(m),O=(F=$==null?void 0:$.getBoundingClientRect)==null?void 0:F.call($),E=N(e).getBoundingClientRect(),L={x:w.clientX-($?E.left-O.left+$.scrollLeft:E.left),y:w.clientY-($?E.top-O.top+$.scrollTop:E.top)};(c==null?void 0:c(L,w))!==!1&&(x.value=L,_(w))},S=w=>{if(N(l.disabled)||!V(w)||!x.value)return;const F=N(m),$=N(e).getBoundingClientRect();let{x:O,y:E}=y.value;(s==="x"||s==="both")&&(O=w.clientX-x.value.x,F&&(O=Math.min(Math.max(0,O),F.scrollWidth-$.width))),(s==="y"||s==="both")&&(E=w.clientY-x.value.y,F&&(E=Math.min(Math.max(0,E),F.scrollHeight-$.height))),y.value={x:O,y:E},h==null||h(y.value,w),_(w)},Y=w=>{N(l.disabled)||!V(w)||x.value&&(x.value=void 0,d==null||d(y.value,w),_(w))};if(ce){const w={capture:(r=l.capture)!=null?r:!0};H(k,"pointerdown",b,w),H(f,"pointermove",S,w),H(f,"pointerup",Y,w)}return{...We(y),position:y,isDragging:t.computed(()=>!!x.value),style:t.computed(()=>`left:${y.value.x}px;top:${y.value.y}px;`)}}function Je(e,l,n={}){const{window:r=z,...o}=n;let u;const a=Ke(()=>r&&"ResizeObserver"in r),p=()=>{u&&(u.disconnect(),u=void 0)},h=t.computed(()=>Array.isArray(e)?e.map(i=>B(i)):[B(e)]),d=t.watch(h,i=>{if(p(),a.value&&r){u=new ResizeObserver(l);for(const s of i)s&&u.observe(s,o)}},{immediate:!0,flush:"post"}),c=()=>{p(),d()};return ue(c),{isSupported:a,stop:c}}function T(e,l={width:0,height:0},n={}){const{window:r=z,box:o="content-box"}=n,u=t.computed(()=>{var i,s;return(s=(i=B(e))==null?void 0:i.namespaceURI)==null?void 0:s.includes("svg")}),a=t.ref(l.width),p=t.ref(l.height),{stop:h}=Je(e,([i])=>{const s=o==="border-box"?i.borderBoxSize:o==="content-box"?i.contentBoxSize:i.devicePixelContentBoxSize;if(r&&u.value){const f=B(e);if(f){const m=r.getComputedStyle(f);a.value=Number.parseFloat(m.width),p.value=Number.parseFloat(m.height)}}else if(s){const f=Array.isArray(s)?s:[s];a.value=f.reduce((m,{inlineSize:k})=>m+k,0),p.value=f.reduce((m,{blockSize:k})=>m+k,0)}else a.value=i.contentRect.width,p.value=i.contentRect.height},n);He(()=>{const i=B(e);i&&(a.value="offsetWidth"in i?i.offsetWidth:l.width,p.value="offsetHeight"in i?i.offsetHeight:l.height)});const d=t.watch(()=>B(e),i=>{a.value=i?l.width:0,p.value=i?l.height:0});function c(){h(),d()}return{width:a,height:p,stop:c}}const Qe=e=>(t.pushScopeId("data-v-9a7af353"),e=e(),t.popScopeId(),e),Ze={class:"title text-16px font-bold"},et={class:"action"},tt=["form"],rt={key:2,class:"modal-loading"},nt=Qe(()=>t.createElementVNode("div",{class:"lds-ring"},[t.createElementVNode("div"),t.createElementVNode("div"),t.createElementVNode("div"),t.createElementVNode("div")],-1)),lt=[nt],at={name:"ModalContainer",inheritAttrs:!0},ot=t.defineComponent({...at,props:{id:{},form:{},component:{},componentProps:{},width:{},height:{},maxWidth:{},maxHeight:{default:90},sizes:{},size:{default:"middle"},fullscreen:{type:Boolean},title:{},header:{type:Boolean,default:!0},footer:{type:Boolean,default:!1},closeable:{type:Boolean,default:!0},esc:{type:Boolean,default:!1},maskClosable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},mode:{default:"dialog"},position:{default:"right"},type:{},offset:{},backgroundColor:{},bodyStyle:{},submitText:{default:"确定"},cancelText:{default:"取消"},zIndex:{default:1e3}},emits:["submit"],setup(e,{expose:l,emit:n}){t.useCssVars(v=>({"5751bf6b":v.zIndex}));const r=e,o=n,u=t.inject(Q),a=t.ref(!1);let p=0,h=0;const d=t.shallowRef(),c=t.shallowRef(),i=t.shallowRef(),s=t.shallowRef(),f=t.shallowRef(),m=t.shallowRef(),{height:k}=T(d),{height:y}=T(i,void 0,{box:"border-box"}),{height:x}=T(s,void 0,{box:"border-box"}),{height:V}=T(f),{height:_}=T(m),{x:b,y:S}=Xe(i,{initialValue:{x:0,y:0}});function Y(){u==null||u.close(r.id)}function w(v){return typeof v=="number"?`${v}px`:v}const F=t.computed(()=>{const v={};return r.mode==="dialog"&&(v.justifyContent="center"),r.mode==="drawer"&&(v.justifyContent={left:"flex-start",right:"flex-end",top:"flex-start",bottom:"flex-end"}[r.position],v.flexDirection={left:"row",right:"row",top:"column",bottom:"column"}[r.position]),v}),$=t.computed(()=>{const v={};return r.mode==="drawer"&&["top","bottom"].includes(r.position)?v.maxHeight=w(r.maxHeight):(v.width=w(r.sizes[r.size]),v.maxWidth=w(r.maxWidth)),r.width&&(v.width=w(r.width)),r.height&&(v.height=w(r.height)),r.fullscreen&&(v.maxWidth="unset",v.width="100%",v.position="fixed",v.top=0,v.left=0,v.bottom=0,v.right=0,v.borderRadius=0),r.draggable&&!r.fullscreen&&r.mode==="dialog"&&(v.transform=`translate3d(${b.value-p}px, ${S.value-h}px, 0px)`),r.mode==="drawer"&&(v.borderRadius=0,["left","right"].includes(r.position)?v.height="100%":v.width="100%"),r.offset&&r.mode==="dialog"&&(v.marginLeft=`${r.offset.x||0}px`,v.marginTop=`${r.offset.y||0}px`),r.backgroundColor&&(v.backgroundColor=r.backgroundColor),v}),O=t.computed(()=>{const v={};return r.draggable&&!r.fullscreen&&r.mode==="dialog"&&(v.cursor="move"),v}),E=t.computed(()=>{const v={},M=V.value+_.value+y.value+x.value,re=Math.floor(k.value*(Number(w(r.maxHeight).replace("%",""))/100));return r.maxHeight&&(v.maxHeight=`${re-M}px`),r.mode==="drawer"&&(v.maxHeight="unset",["left","right"].includes(r.position)&&(v.height=`${k.value-M}px`)),r.fullscreen&&(v.maxHeight="unset",v.height=`calc(100% - ${M}px)`),r.type!=="component"&&(v.padding="0"),r.bodyStyle&&Object.assign(v,r.bodyStyle),v});function L(){const v=c.value;if(r.form&&v){const M=v.querySelector(`form[name="${r.form}"]`);M&&M.dispatchEvent(new Event("submit"))}o("submit")}function he(){u==null||u.close(r.id)}function pe(){window&&window.addEventListener("resize",()=>{t.triggerRef(d),t.triggerRef(c),c.value&&(p=c.value.offsetLeft,h=c.value.offsetTop)})}function ve(){if(r.closeable&&r.esc){const v=({key:M})=>{M==="Escape"&&(u==null||u.close(r.id),window.removeEventListener("keydown",v))};window.addEventListener("keydown",v)}}function ye(){p=c.value.offsetLeft,h=c.value.offsetTop}t.onMounted(()=>{ve(),pe()}),t.onUnmounted(()=>{});function ge(){return a.value=!0,()=>te()}function te(){a.value=!1}return l({showLoading:ge,hideLoading:te}),(v,M)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"wrapperRef",ref:d,class:"modal-wrapper",style:t.normalizeStyle(F.value),onClick:M[0]||(M[0]=t.withModifiers(re=>v.maskClosable&&Y(),["self"]))},[t.createElementVNode("div",{ref_key:"contentRef",ref:c,class:t.normalizeClass(["modal-content",{[`${v.mode}-mode`]:!0,[`${v.position}-position`]:!0}]),style:t.normalizeStyle($.value)},[v.header?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"headerRef",ref:i,class:"modal-header",style:t.normalizeStyle(O.value),onMousedown:ye},[t.createElementVNode("div",Ze,t.toDisplayString(v.title),1),t.createElementVNode("div",et,[v.closeable?(t.openBlock(),t.createElementBlock("div",{key:0,class:"i-icon-park-outline:close block cursor-pointer",onClick:Y})):t.createCommentVNode("",!0)])],36)):t.createCommentVNode("",!0),t.createElementVNode("div",{id:"modal-header-slot",ref_key:"headerSlotRef",ref:f},null,512),t.createElementVNode("div",{class:"modal-body",style:t.normalizeStyle(E.value)},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(v.component),t.normalizeProps(t.guardReactiveProps(v.componentProps)),null,16))],4),t.createElementVNode("div",{id:"modal-footer-slot",ref_key:"footerSlotRef",ref:m},null,512),v.footer?(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"footerRef",ref:s,class:"modal-footer space-x-2"},[t.createElementVNode("button",{class:"cancel-button",type:"button",onClick:he},t.toDisplayString(v.cancelText),1),t.createElementVNode("button",{class:"submit-button",form:v.form,type:"submit",onClick:L},t.toDisplayString(v.submitText),9,tt)],512)):t.createCommentVNode("",!0),a.value?(t.openBlock(),t.createElementBlock("div",rt,lt)):t.createCommentVNode("",!0)],6)],4))}}),A=(e,l)=>{const n=e.__vccOpts||e;for(const[r,o]of l)n[r]=o;return n},ut=A(ot,[["__scopeId","data-v-9a7af353"]]),ct={class:"modal-dialog"},dt={class:"dialog-body"},it={class:"dialog-title"},st={class:"dialog-content"},ft=t.defineComponent({__name:"modal-dialog",props:{type:{},title:{},content:{},okText:{default:"确定"},cancelText:{default:"取消"},onOk:{},onCancel:{},footer:{}},setup(e){const l=e,n=de(),r=t.computed(()=>l.title?l.title:{confirm:"提示",info:"提示",warning:"警告",error:"错误",success:"成功"}[l.type]);async function o(){l.onOk&&await l.onOk(),n.close()}async function u(){l.onCancel&&await l.onCancel(),n.close()}return(a,p)=>(t.openBlock(),t.createElementBlock("section",ct,[t.createElementVNode("div",dt,[t.createElementVNode("div",it,t.toDisplayString(r.value),1),t.createElementVNode("div",st,t.toDisplayString(a.content),1)]),t.createElementVNode("div",{class:"dialog-footer space-x-2",style:t.normalizeStyle(a.type==="confirm"?{"justify-content":"end"}:{"border-top":"none"})},[a.footer?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.footer),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createElementVNode("button",{class:"submit-button",type:"submit",onClick:o},t.toDisplayString(a.okText),1),a.type==="confirm"?(t.openBlock(),t.createElementBlock("button",{key:0,class:"cancel-button",type:"button",onClick:u},t.toDisplayString(a.cancelText),1)):t.createCommentVNode("",!0)],64))],4)]))}}),mt=A(ft,[["__scopeId","data-v-0c6b8db2"]]),ht=e=>(t.pushScopeId("data-v-559bdf2e"),e=e(),t.popScopeId(),e),pt={class:"flex-center"},vt=ht(()=>t.createElementVNode("div",{class:"modal-loading"},[t.createElementVNode("div",{class:"lds-ring"},[t.createElementVNode("div"),t.createElementVNode("div"),t.createElementVNode("div"),t.createElementVNode("div")])],-1)),yt={class:"modal-loading-text"},gt=t.defineComponent({__name:"modal-loading",props:{text:{default:"加载中"}},setup(e){return(l,n)=>(t.openBlock(),t.createElementBlock("section",pt,[vt,t.createElementVNode("div",yt,t.toDisplayString(l.text),1)]))}}),bt=A(gt,[["__scopeId","data-v-559bdf2e"]]),kt={key:0,class:"modal-teleport"},wt={name:"ModalProvider",inheritAttrs:!0},xt=t.defineComponent({...wt,props:{appendToBody:{type:[Boolean,String],default:!1},sizes:{default:()=>({small:"50%",middle:"70%",large:"90%"})},maxWidth:{default:"90%"},maxHeight:{default:"90%"},offset:{default:()=>({x:0,y:0})}},setup(e,{expose:l}){const n=t.shallowRef([]),r=t.ref(!1),o=t.getCurrentInstance();function u(s,f={},m={}){const k=t.defineAsyncComponent(()=>Promise.resolve(typeof s=="string"?mt:s));typeof s=="string"&&(f.type=s,m.size="small",m.fullscreen=!1,m.mode="dialog",m.footer=!1,m.header=!1);const y=Math.random().toString(32).slice(2),x=Object.assign({zIndex:typeof s=="string"?1100:1e3},m),V=new Promise((_,b)=>{n.value.push({id:y,component:k,props:f||{},options:{...x,type:typeof s=="string"?s:"component"},resolve:_,reject:b,listeners:[]}),t.triggerRef(n)}).catch(_=>_==="CANCEL"?new Promise(()=>{}):Promise.reject(_));return Object.assign(V,{close:()=>a(y)})}function a(s,f){const m=n.value.findIndex(y=>y.id===s);if(m<0)return;const k=n.value[m];f===void 0?k==null||k.reject("CANCEL"):k==null||k.resolve(f),n.value.splice(m,1),t.triggerRef(n)}function p(){!n.value||n.value.length===0||(n.value.forEach(s=>{s==null||s.reject("CANCEL")}),n.value=[],t.triggerRef(n))}function h(s,f){const m=n.value.find(y=>y.id===s);if(!m)return;const k=m.listeners.find(y=>y.event===f);k&&k.callback({open:u,close:y=>a(m.id,y),closeAll:p,showLoading:()=>d(m.id),hideLoading:()=>c(m.id),confirm:y=>u("confirm",y),success:y=>u("success",y),error:y=>u("error",y),warning:y=>u("warning",y),info:y=>u("info",y)})}function d(s,f){if(!o)return;const[m]=o.refs[`modal-container_${s}`]||[];if(m)return m.showLoading();{const{close:k}=u(bt,{text:f==null?void 0:f.text},{footer:!1,header:!1,closeable:!1,backgroundColor:"transparent"});return f!=null&&f.duration&&setTimeout(()=>{k()},f==null?void 0:f.duration),k}}function c(s){if(!o)return;const[f]=o.refs[`modal-container_${s}`];if(f)return f.hideLoading()}function i(s,f,m){const k=n.value.find(y=>y.id===s);k&&k.listeners.push({event:f,callback:m})}return t.provide(Q,{open:u,close:a,closeAll:p,addEventListener:i,showLoading:d,hideLoading:c}),l({elements:n,open:u,close:a,closeAll:p}),t.onMounted(()=>{r.value=!0}),(s,f)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.renderSlot(s.$slots,"default",{},void 0,!0),r.value?(t.openBlock(),t.createElementBlock("div",kt,[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!s.appendToBody,to:typeof s.appendToBody=="string"?s.appendToBody:"body"},[t.createVNode(t.TransitionGroup,{name:"modal-fade"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.value,m=>(t.openBlock(),t.createBlock(ut,t.mergeProps({id:m.id,key:m.id,ref_for:!0,ref:`modal-container_${m.id}`,component:m.component,"component-props":m.props,"max-height":s.maxHeight,"max-width":s.maxWidth,offset:s.offset,sizes:s.sizes},m.options,{onSubmit:()=>h(m.id,"submit")}),null,16,["id","component","component-props","max-height","max-width","offset","sizes","onSubmit"]))),128))]),_:1})],8,["disabled","to"]))])):t.createCommentVNode("",!0)],64))}}),Ct=A(xt,[["__scopeId","data-v-60414811"]]);function G(e,l){var n,r;let o=e==null?void 0:e.parent;for(;o&&((n=o==null?void 0:o.type)==null?void 0:n.name)!==l;)o=o.parent;return((r=o==null?void 0:o.type)==null?void 0:r.name)===l?o:null}function de(){const e=t.inject(Q),l=t.getCurrentInstance();function n(r,o,u){if(!e)throw new Error("Not Found Modal Provider Component");return e.open(r,o,u)}return{open:n,close(r){var o;if(!e)throw new Error("Not Found Modal Provider Component");const u=G(l,"ModalContainer"),a=(o=u==null?void 0:u.props)==null?void 0:o.id;if(!a)throw new Error("Not Found Current Modal Container");e.close(a,r)},closeAll(){if(!e)throw new Error("Not Found Modal Provider Component");e.closeAll()},showLoading(r){var o;if(!e)throw new Error("Not Found Modal Provider Component");const u=G(l,"ModalContainer"),a=(o=u==null?void 0:u.props)==null?void 0:o.id;return e.showLoading(a,r)},hideLoading(){var r;if(!e)throw new Error("Not Found Modal Provider Component");const o=G(l,"ModalContainer"),u=(r=o==null?void 0:o.props)==null?void 0:r.id;return e.hideLoading(u)},confirm(r){return this.open("confirm",r)},info(r){return this.open("info",r)},error(r){return this.open("error",r)},warning(r){return this.open("warning",r)},success(r){return this.open("success",r)}}}const ne={id:Symbol("ID"),source:Symbol("Source")};function St(e,l){const n=t.ref({});return e==null||e.forEach(o=>{let u=null;o.default&&(u=(typeof o.default=="function"?o.default():o.default)||null),l&&l[o.key]!==void 0&&(u=l[o.key]),n.value[o.key]=u}),[n,o=>{n.value=o}]}var Z=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Nt={exports:{}};(function(e,l){(function(n,r){e.exports=r(C)})(Z,function(n){function r(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var o=r(n),u={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(a,p){return p==="W"?a+"周":a+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(a,p){var h=100*a+p;return h<600?"凌晨":h<900?"早上":h<1100?"上午":h<1300?"中午":h<1800?"下午":"晚上"}};return o.default.locale(u,null,!0),u})})(Nt);var se={exports:{}};(function(e,l){(function(n,r){e.exports=r()})(Z,function(){var n="week",r="year";return function(o,u,a){var p=u.prototype;p.week=function(h){if(h===void 0&&(h=null),h!==null)return this.add(7*(h-this.week()),"day");var d=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var c=a(this).startOf(r).add(1,r).date(d),i=a(this).endOf(n);if(c.isBefore(i))return 1}var s=a(this).startOf(r).date(d).startOf(n).subtract(1,"millisecond"),f=this.diff(s,n,!0);return f<0?a(this).startOf("week").week():Math.ceil(f)},p.weeks=function(h){return h===void 0&&(h=null),this.week(h)}}})})(se);var Vt=se.exports;const _t=ie(Vt);var fe={exports:{}};(function(e,l){(function(n,r){e.exports=r()})(Z,function(){var n="month",r="quarter";return function(o,u){var a=u.prototype;a.quarter=function(d){return this.$utils().u(d)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(d-1))};var p=a.add;a.add=function(d,c){return d=Number(d),this.$utils().p(c)===r?this.add(3*d,n):p.bind(this)(d,c)};var h=a.startOf;a.startOf=function(d,c){var i=this.$utils(),s=!!i.u(c)||c;if(i.p(d)===r){var f=this.quarter()-1;return s?this.month(3*f).startOf(n).startOf("day"):this.month(3*f+2).endOf(n).endOf("day")}return h.bind(this)(d,c)}}})})(fe);var $t=fe.exports;const Et=ie($t);C.extend(_t);C.extend(Et);C.locale("zh-cn",{weekStart:1});function Mt(e){function l(n,r){return e!=null&&e.disabledDate?e.disabledDate(n,r):!1}return(n,r)=>{function o(){const a=n[r.key];switch(e==null?void 0:e.type){case"week":return t.createVNode("span",null,[`${C(a).format("YYYY年")}${C(a).week()}周`]);case"month":return t.createVNode("span",null,[C(a).format("YYYY年MM月")]);case"quarter":return t.createVNode("span",null,[`${C(a).format("YYYY年")}${C(a).quarter()}季度`]);case"year":return t.createVNode("span",null,[C(a).format("YYYY年")]);case"date":default:return t.createVNode("span",null,[C(a).format("YYYY年MM月DD日")])}}function u(){switch(e==null?void 0:e.type){case"week":return t.createVNode(g.WeekPicker,{"day-start-of-week":1,modelValue:n[r.key],"onUpdate:modelValue":a=>n[r.key]=a,"disabled-date":l,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"month":return t.createVNode(g.MonthPicker,{modelValue:n[r.key],"onUpdate:modelValue":a=>n[r.key]=a,"disabled-date":l,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"quarter":return t.createVNode(g.QuarterPicker,{modelValue:n[r.key],"onUpdate:modelValue":a=>n[r.key]=a,"disabled-date":l,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"year":return t.createVNode(g.YearPicker,{modelValue:n[r.key],"onUpdate:modelValue":a=>n[r.key]=a,"disabled-date":l,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"date":default:return t.createVNode(g.DatePicker,t.mergeProps({"disabled-input":!0,modelValue:n[r.key],"onUpdate:modelValue":a=>n[r.key]=a,"disabled-date":l,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},{shortcuts:e==null?void 0:e.shortcuts}),null)}}switch(r.mode){case"text":return o();case"component":default:return u()}}}function Ft(e){return(l,n)=>{function r(){return t.createVNode("span",null,[l[n.key]])}function o(){switch(e==null?void 0:e.type){case"number":return t.createVNode(g.InputNumber,{modelValue:l[n.key],"onUpdate:modelValue":u=>l[n.key]=u,hideButton:!0,"read-only":e==null?void 0:e.readonly,placeholder:e==null?void 0:e.placeholder,allowClear:e==null?void 0:e.clearable},null);case"string":default:return t.createVNode(g.Input,{modelValue:l[n.key],"onUpdate:modelValue":u=>l[n.key]=u,placeholder:e==null?void 0:e.placeholder,readonly:e==null?void 0:e.readonly,allowClear:e==null?void 0:e.clearable},null)}}switch(n.mode){case"text":return r();case"component":default:return o()}}}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function ee(e,l,n){const r=t.watch(e,(...o)=>(t.nextTick(()=>r()),l(...o)),n);return r}function Ot(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const D=new WeakMap;function Yt(){const e=t.ref(new Map);return[e,n=>e.value=n]}function Bt(e){let l,n=!1;const[r,o]=Yt(),u=d=>{if(e.onChange&&e.onChange(d),!e.autoSumbit||!l)return;let c=l;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},a=(d,c)=>{const i=d();i instanceof Promise?i.then(c):c(i)},p=async()=>{const d=D.get(e.options);switch(typeof d){case"function":D.set(e.options,o);return;case"object":o(d);return}D.set(e.options,o),a(e.options,c=>{const i=D.get(e.options);D.set(e.options,c),i(c)})},h=()=>{a(e.options,d=>{o(d)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?p():h();break}case t.isRef(e.options):{ee(()=>e.options,()=>{o(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(d,c)=>{e.default&&!n&&(d[c.key]=e.default,n=!0);function i(){const f=d[c.key];return e.multiple?t.createVNode("span",null,[f.map(m=>r.value.get(m)).join(" ,")]):t.createVNode("span",null,[r.value.get(f)])}function s(){let f;return t.createVNode(g.Select,{ref:m=>l=m,multiple:e.multiple,modelValue:d[c.key],"onUpdate:modelValue":m=>d[c.key]=m,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,"allow-create":e.createable,maxTagCount:e.maxTagCount??2,onChange:u},Ot(f=Array.from(r.value.entries()).map(([m,k])=>t.createVNode(g.Option,{key:m,value:m,label:k},null)))?f:{default:()=>[f]})}switch(c.mode){case"text":return i();case"component":default:return s()}}}function Tt(e){let l;function n(){if(!(e!=null&&e.autoSumbit)||!l)return;let r=l;for(;r&&r.$el.tagName!=="FORM";)r=r.$parent;r&&r.$el&&r.$el.dispatchEvent(new Event("submit"))}return(r,o)=>{e!=null&&e.default&&(r[o.key]=e.default);function u(){const p=r[o.key];return t.createVNode("span",null,[p?(e==null?void 0:e.openLabel)??"是":(e==null?void 0:e.closeLabel)??"否"])}function a(){return t.createVNode(g.Switch,{ref:p=>l=p,modelValue:r[o.key],"onUpdate:modelValue":p=>r[o.key]=p,checkedText:(e==null?void 0:e.openLabel)??"是",uncheckedText:(e==null?void 0:e.closeLabel)??"否",checkedValue:(e==null?void 0:e.openValue)??!0,uncheckedValue:(e==null?void 0:e.closeValue)??!1,onChange:n},null)}switch(o.mode){case"text":return u();case"component":default:return a()}}}function Dt(e){return(l,n)=>{let r=[];function o(d){r=d}function u(d){if(d&&d.length===2){const[c,i]=d.sort(),s=C(c).startOf("days"),f=C(i).endOf("days");l[n.key]=[s.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),f.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function a(d){return e!=null&&e.disabledDate?e.disabledDate(r.filter(Boolean),d):!1}function p(){const d=l[n.key],[c,i]=d,s=f=>{switch(e==null?void 0:e.type){case"week":return t.createVNode("span",null,[`${C(f).format("YYYY年")}${C(f).week()}周`]);case"month":return t.createVNode("span",null,[C(f).format("YYYY年MM月")]);case"quarter":return t.createVNode("span",null,[`${C(f).format("YYYY年")}${C(f).quarter()}季度`]);case"year":return t.createVNode("span",null,[C(f).format("YYYY年")]);case"date":default:return t.createVNode("span",null,[C(f).format("YYYY年MM月DD日")])}};return t.createVNode("span",null,[s(c),t.createTextVNode(" - "),s(i)])}function h(){return t.createVNode("div",null,[t.createVNode(g.RangePicker,{"disabled-input":!0,style:{width:"300px"},modelValue:l[n.key],"onUpdate:modelValue":d=>l[n.key]=d,onSelect:o,onChange:u,mode:e==null?void 0:e.type,shortcuts:e==null?void 0:e.shortcuts,allowClear:e==null?void 0:e.clearable,"disabled-date":a,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}switch(n.mode){case"text":return p();case"component":default:return h()}}}function It(e){return(l,n)=>{function r(){return t.createVNode("span",null,[l[n.key]])}function o(){return t.createVNode(g.Textarea,{modelValue:l[n.key],"onUpdate:modelValue":u=>l[n.key]=u,placeholder:e==null?void 0:e.placeholder,autoSize:e==null?void 0:e.autosize,maxLength:e==null?void 0:e.maxLength},null)}switch(n.mode){case"text":return r();case"component":default:return o()}}}function me(e){let l=!1;const n=[],r=o=>{var u;if(!l){if(n.push(o),o[e.valueProp]===e.key){l=!0;return}(u=o.children)!=null&&u.length&&o.children.forEach(r),l||n.pop()}};return e.data.forEach(r),n}function jt(e){let l=e.data;const n=[];return e.path.forEach(r=>{var u;const o=l.find(a=>a[e.valueProp]===r);o&&n.push(o),o&&((u=o.children)!=null&&u.length)&&(l=o.children)}),n}const I=new WeakMap;function Lt(){const e=t.ref([]);return[e,n=>e.value=n]}function Pt(e){let l,n=!1;const[r,o]=Lt(),u=()=>{if(!e.autoSumbit||!l)return;let c=l;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},a=(c,i)=>{const s=c();s instanceof Promise?s.then(i):i(s)},p=async()=>{const c=I.get(e.options);switch(typeof c){case"function":I.set(e.options,o);return;case"object":o(c);return}I.set(e.options,o),a(e.options,i=>{const s=I.get(e.options);I.set(e.options,i),s(i)})},h=()=>{a(e.options,c=>{o(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?p():h();break}case t.isRef(e.options):{ee(e.options,()=>{o(e.options.value)},{immediate:!0});break}default:r.value=e.options}function d(c,i){var m;const s=((m=e.fieldNames)==null?void 0:m.title)||"title",f=i[s];return f?f.toLowerCase().includes(c.toLowerCase()):!1}return(c,i)=>{e.default&&!n&&(c[i.key]=e.default,n=!0);function s(){const m=c[i.key],k=y=>{const[x]=me({data:r.value,labelProp:"title",valueProp:"key",key:y}).reverse()||[];return x==null?void 0:x.title};if(e.multiple){const y=m.map(x=>k(x));return t.createVNode("span",null,[y.join(", ")])}else{const y=k(m);return t.createVNode("span",null,[y])}}function f(){return t.createVNode(g.TreeSelect,{ref:m=>l=m,multiple:e.multiple,modelValue:c[i.key],"onUpdate:modelValue":m=>c[i.key]=m,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:u,filterTreeNode:d,data:r.value,fieldNames:e.fieldNames,treeProps:e.treeProps},{...e.slots})}switch(i.mode){case"text":return s();case"component":default:return f()}}}const j=new WeakMap;function Rt(){const e=t.ref([]);return[e,n=>e.value=n]}function zt(e){let l,n=!1;const[r,o]=Rt(),u=()=>{if(!e.autoSumbit||!l)return;let d=l;for(;d&&d.$el.tagName!=="FORM";)d=d.$parent;d&&d.$el&&d.$el.dispatchEvent(new Event("submit"))},a=(d,c)=>{const i=d();i instanceof Promise?i.then(c):c(i)},p=async()=>{const d=j.get(e.options);switch(typeof d){case"function":j.set(e.options,o);return;case"object":o(d);return}j.set(e.options,o),a(e.options,c=>{const i=j.get(e.options);j.set(e.options,c),i(c)})},h=()=>{a(e.options,d=>{o(d)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?p():h();break}case t.isRef(e.options):{ee(e.options,()=>{o(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(d,c)=>{e.default&&!n&&(d[c.key]=e.default,n=!0);function i(){const f=d[c.key],m=y=>me({data:r.value,labelProp:"label",valueProp:"value",key:y}).map(V=>V.label).join("/"),k=y=>jt({data:r.value,labelProp:"label",valueProp:"value",path:y}).map(V=>V.label).join("/");switch(!0){case(!e.pathMode&&!e.multiple):{const y=m(f);return t.createVNode("span",null,[y])}case(!e.pathMode&&e.multiple):{const y=f.map(x=>m(x));return t.createVNode("span",null,[y.join(", ")])}case(e.pathMode&&!e.multiple):{const y=k(f);return t.createVNode("span",null,[y])}case(e.pathMode&&e.multiple):{const y=f.map(x=>k(x));return t.createVNode("span",null,[y.join(", ")])}default:return t.createVNode("span",null,null)}}function s(){return t.createVNode(g.Cascader,{pathMode:e.pathMode,ref:f=>l=f,multiple:e.multiple,modelValue:d[c.key],"onUpdate:modelValue":f=>d[c.key]=f,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:u,options:r.value},null)}switch(c.mode){case"text":return i();case"component":default:return s()}}}function At(e){return(l,n)=>e(l,n)}const Ut={thousands:!0,inputUnit:"元",outputUnit:"元"},P={分:10**0,元:10**2,万:10**4};function qt(e){e={...Ut,...e||{}};const l=a=>{if(a==null)return;if((e==null?void 0:e.inputUnit)===(e==null?void 0:e.outputUnit))return a;const p=P[e.outputUnit]/P[e.inputUnit];return a*p},n=a=>{if(a==null)return;if((e==null?void 0:e.inputUnit)===(e==null?void 0:e.outputUnit))return a;const p=P[e.inputUnit]/P[e.outputUnit];return a*p},r=a=>{const p=a.split(".");return p[0]=p[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),p.join(".")},o=a=>{const p=a;return e!=null&&e.thousands?r(p):p},u=a=>a.replace(/,/g,"");return(a,p)=>{const h=t.ref(l(a[p.key]));t.watch(h,f=>{a[p.key]=n(f)});const d=(e==null?void 0:e.prefix)&&(()=>typeof(e==null?void 0:e.prefix)=="string"?t.createVNode("span",null,[e.prefix]):e.prefix()),c=()=>typeof(e==null?void 0:e.suffix)=="string"?t.createVNode("span",null,[e.suffix]):typeof(e==null?void 0:e.suffix)=="function"?e.suffix():e==null?void 0:e.inputUnit;function i(){return t.createVNode("span",null,[o(h.value.toString()),c()])}function s(){return t.createVNode(g.InputNumber,{modelValue:h.value,"onUpdate:modelValue":f=>h.value=f,formatter:o,parser:u,precision:e==null?void 0:e.precision,hideButton:!0,"read-only":e==null?void 0:e.readonly,placeholder:e==null?void 0:e.placeholder,allowClear:e==null?void 0:e.clearable},{prefix:d,suffix:c})}switch(p.mode){case"text":return i();case"component":default:return s()}}}function Wt(){return{input:Ft,textarea:It,select:Bt,treeSelect:Pt,date:Mt,switch:Tt,dateRange:Dt,render:At,cascader:zt,currency:qt}}function le(e,l){l.render||(l.render=r=>r.input());const n=l.render({...Wt()});return{default:()=>n(e,l)}}function ae(e,l){switch(l.mode){case"text":return t.h(le(e,l).default);case"component":default:return t.h(g.FormItem,{field:l.key,label:l.title,hideLabel:l.hideLabel,labelColStyle:l.labelStyle,wrapperColStyle:l.contentStyle},le(e,l))}}function Ht(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const Gt=t.defineComponent({props:{form:{type:Object,required:!0},value:{type:Object}},setup(e){const l=de(),n=e.form.map(h=>({...h,collapsed:!1})),r=Array.from(new Set(n.map(h=>h.group).flat().filter(Boolean))),o=n.reduce((h,d)=>((d.group?[d.group].flat():["默认"]).forEach(c=>{let i=h.find(s=>s.group===c);i||(i={group:c,instance:void 0,form:[]},h.push(i)),i.form.push(d)}),h),[]).sort((h,d)=>h.group==="默认"?-1:d.group==="默认"?1:h.group>d.group?-1:1),u=t.ref("默认");return{formItems:n,groups:r,groupForms:o,activeTab:u,onSubmit:()=>{const h=o.find(d=>d.group===u.value);if(h&&h.instance){const d=h.instance.formSource;h.instance.validate().then(()=>{l.close(d)})}},onReset:()=>{const h=o.find(d=>d.group===u.value);h&&h.instance&&h.instance.reset()}}},render(){const e=this.groupForms.find(l=>l.group===this.activeTab);if(this.groups.length){let l;return t.createVNode(g.Tabs,{"active-key":this.activeTab,"onUpdate:active-key":n=>this.activeTab=n},Ht(l=this.groupForms.map(n=>t.createVNode(g.TabPane,{title:n.group,key:n.group},{default:()=>[t.createVNode(R,{form:n.form,value:this.value,ref:r=>n.instance=r},null),t.createVNode(g.Divider,null,null),t.createVNode("div",{class:"flex items-center justify-between space-x-2"},[t.createVNode(g.Button,{type:"secondary",size:"large",onClick:this.onReset},{default:()=>[t.createTextVNode("重置")]}),t.createVNode(g.Button,{class:"w-100px",type:"primary",size:"large",onClick:this.onSubmit},{default:()=>[t.createTextVNode("搜索")]})])]})))?l:{default:()=>[l]})}else return t.createVNode(t.Fragment,null,[t.createVNode(R,{form:this.formItems,ref:l=>e.instance=l},null),t.createVNode(g.Divider,null,null),t.createVNode("div",{class:"flex items-center justify-between space-x-2"},[t.createVNode(g.Button,{type:"secondary",size:"large",onClick:this.onReset},{default:()=>[t.createTextVNode("重置")]}),t.createVNode(g.Button,{class:"w-100px",type:"primary",size:"large",onClick:this.onSubmit},{default:()=>[t.createTextVNode("搜索")]})])])}});function oe(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const R=t.defineComponent({props:{form:{type:Object,required:!0},value:{type:Object,required:!1},layout:{type:String,required:!1,default:"horizontal"},columns:{type:Number,required:!1},modelValue:{type:Object,required:!1},minWidth:{type:Number,required:!1,default:400},name:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},id:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},collapsedMode:{type:String,required:!1,default:"append"},showFormResult:{type:Boolean,required:!1,default:e=>e.collapsedMode==="dialog"},submitable:{type:Boolean,required:!1,default:!1},searchable:{type:Boolean,required:!1,default:!1},footer:{type:Boolean,required:!1,default:!1}},emits:["submit","cancel","update:model-value"],expose:["formSource","updateFormField","updateFormSource","reset","validate"],setup(e,{emit:l}){const n=t.ref(),[r,o]=St(e.form,e.modelValue||e.value),u=t.ref(e.columns||0),a=t.ref(!0),p=t.ref(),h=()=>a.value=!a.value;t.provide(ne.id,e.id),t.provide(ne.source,r);const d=()=>{l("submit",r.value),l("update:model-value",r.value)},c=t.computed(()=>e.form.filter(b=>a.value?!b.collapsed:!0).filter(b=>{switch(!0){case typeof b.visiable=="boolean":return b.visiable;case typeof b.visiable=="function":return b.visiable(r.value);default:return!0}})),i=t.computed(()=>{if(!u.value)return 1;const b=c.value.reduce((S,Y)=>S+((Y==null?void 0:Y.span)||1),0);return u.value-b%u.value}),s=t.computed(()=>e.form.reduce((b,S)=>(S.rule&&(b[S.key]=S.rule),b),{}));function f(){var S;if(e.columns)return;const b=(S=n.value)==null?void 0:S.$el;b&&(u.value=Math.max(Math.floor(b.offsetWidth/e.minWidth),1))}function m(){var S;const b=(S=n.value)==null?void 0:S.$el;b&&(b.id=e.id)}function k(){p.value.open(Gt,{form:e.form,value:r.value},{title:"高级搜索",footer:!1,submitText:"搜索"}).then(b=>{b&&(y(b),d())})}t.onMounted(()=>{f(),m()});function y(b){o({...r.value,...b||{}})}function x(b,S){r.value[b]=S,y({...r.value})}function V(){var b;(b=n.value)==null||b.resetFields()}function _(){var b;return(b=n.value)==null?void 0:b.validate()}return t.onMounted(()=>{window&&window.addEventListener("resize",f)}),{formSource:r,formInstance:n,formColumns:u,formRules:s,formCollspased:a,formActiosSpan:i,formItems:c,toggleFormCollapsed:h,updateFormField:x,updateFormSource:y,reset:V,validate:_,onSubmitSuccess:d,openCollapsedDialog:k,modalInstance:p}},render(){const e=()=>{if(!this.showFormResult)return;const n=this.form.filter(r=>{const o=this.formSource[r.key];return o!=null});return t.createVNode(g.GridItem,{span:this.formColumns},{default:()=>[t.createVNode(g.FormItem,{label:"搜索条件"},{default:()=>[t.createVNode("div",{class:"w-full mt-5px text-left"},[t.createVNode(g.Space,{wrap:!0,align:"center"},{default:()=>[n.length>0?n.map(r=>t.createVNode(g.Tag,{key:r.key,closable:!0,onClose:()=>{var o;return(o=this.formInstance)==null?void 0:o.resetFields(r.key)}},{default:()=>[t.createVNode("div",{class:"flex space-x-2"},[t.createVNode("div",{class:"text-#999"},[r.title,t.createTextVNode(":")]),t.createVNode("div",{class:"text-#333"},[ae(this.formSource,{...r,key:r.key,mode:"text"})])])]})):t.createVNode("div",{class:"text-#999"},[t.createTextVNode("暂无搜索条件")])]})])]})]})},l=()=>{const n=[],r=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(n.push(t.createVNode(g.Button,{type:"primary",htmlType:"submit"},{default:()=>[t.createTextVNode("搜索")]})),n.push(t.createVNode(g.Button,{type:"secondary",onClick:()=>{var o;return(o=this.formInstance)==null?void 0:o.resetFields()}},{default:()=>[t.createTextVNode("重置")]}))),this.submitable&&(n.push(t.createVNode(g.Button,{type:"primary",htmlType:"submit"},{default:()=>[t.createTextVNode("提交")]})),n.push(t.createVNode(g.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[t.createTextVNode("取消")]}))),this.form.some(o=>!!o.collapsed)&&(this.collapsedMode==="append"&&n.push(t.createVNode(g.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?t.createVNode(Ee,null,null):t.createVNode(Te,null,null)})),this.collapsedMode==="dialog"&&n.push(t.createVNode(g.Button,{onClick:this.openCollapsedDialog},{default:()=>"高级搜索",icon:()=>t.createVNode(Re,null,null)}))),this.$slots.actions&&n.push(...this.$slots.actions()),n.length)return t.createVNode(g.GridItem,r,{default:()=>[t.createVNode(g.FormItem,{contentClass:this.footer?"form-footer":""},{default:()=>[t.createVNode(g.Space,null,oe(n)?n:{default:()=>[n]})]})]})};return t.createVNode("div",{class:"form-render"},[t.createVNode(Ct,{ref:n=>this.modalInstance=n},{default:()=>[t.createVNode(g.Form,t.mergeProps({name:this.name},{labelAlign:"right",layout:this.$props.layout,rules:this.formRules,onSubmitSuccess:this.onSubmitSuccess,"auto-label-width":!0,ref:n=>this.formInstance=n,model:this.formSource}),{default:()=>[t.createVNode(g.Grid,{cols:this.formColumns,"col-gap":24,"rol-gap":10},{default:()=>[this.formItems.filter(()=>this.formColumns!==0).map(n=>{let r;return t.createVNode(g.GridItem,{span:n.span},oe(r=ae(this.formSource,n))?r:{default:()=>[r]})}),e(),l()]})]})]})])}});function Kt(e){return e}function Xt(e){const l=t.getCurrentInstance(),n=t.ref();function r(){var u,a;const o=(a=(u=l==null?void 0:l.proxy)==null?void 0:u.$refs)==null?void 0:a[e];o&&(n.value=o)}return t.onMounted(r),t.onUpdated(r),n}const Jt={install(e,l){e.component("FormRender",R)}};exports.FormRenderResolver=be.FormRenderResolver;exports.FormRender=R;exports.default=Jt;exports.defineForm=Kt;exports.useForm=Xt;
|
|
@@ -17,6 +17,7 @@ export interface FormItemOptions<T = Record<string, any>> {
|
|
|
17
17
|
labelStyle?: CSSProperties;
|
|
18
18
|
contentStyle?: CSSProperties;
|
|
19
19
|
rule?: FieldRule | FieldRule[];
|
|
20
|
+
mode?: 'component' | 'text';
|
|
20
21
|
render?: FormItemRender<T>;
|
|
21
22
|
}
|
|
22
23
|
export interface FormItemStringKeyOptions<T = Record<string, any>> extends FormItemOptions<T> {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface TreeObject<T> {
|
|
2
|
+
children?: T[];
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
}
|
|
5
|
+
interface FindTreePathOptions<T> {
|
|
6
|
+
data: T[];
|
|
7
|
+
valueProp: string;
|
|
8
|
+
labelProp: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function findTreePathByKey<T extends TreeObject<T>>(options: FindTreePathOptions<T> & {
|
|
11
|
+
key: string;
|
|
12
|
+
}): T[];
|
|
13
|
+
export declare function findTreePathByKeyPath<T extends TreeObject<T>>(options: FindTreePathOptions<T> & {
|
|
14
|
+
path: string[];
|
|
15
|
+
}): T[];
|
|
16
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DataRecord, FormItemRenderReturn } from '../../interfaces';
|
|
1
|
+
import { DataRecord, FormItemOptions, FormItemRenderReturn } from '../../interfaces';
|
|
2
2
|
|
|
3
3
|
export declare function renderRenderItem<T = DataRecord>(renderer: RenderInputItemOptions<T>): FormItemRenderReturn<T>;
|
|
4
4
|
export interface RenderInputItemOptions<T> {
|
|
5
|
-
(record: T): JSX.Element;
|
|
5
|
+
(record: T, form?: FormItemOptions<T>): JSX.Element;
|
|
6
6
|
}
|
|
@@ -6,6 +6,9 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
6
6
|
type: PropType<FormItemsOptions>;
|
|
7
7
|
required: true;
|
|
8
8
|
};
|
|
9
|
+
value: {
|
|
10
|
+
type: ObjectConstructor;
|
|
11
|
+
};
|
|
9
12
|
}, {
|
|
10
13
|
formItems: {
|
|
11
14
|
collapsed: boolean;
|
|
@@ -19,6 +22,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
19
22
|
labelStyle?: import('vue').CSSProperties | undefined;
|
|
20
23
|
contentStyle?: import('vue').CSSProperties | undefined;
|
|
21
24
|
rule?: import('@arco-design/web-vue').FieldRule<any> | import('@arco-design/web-vue').FieldRule<any>[] | undefined;
|
|
25
|
+
mode?: "component" | "text" | undefined;
|
|
22
26
|
render?: import('..').FormItemRender<Record<string, any>> | undefined;
|
|
23
27
|
}[];
|
|
24
28
|
groups: string[];
|
|
@@ -28,10 +32,15 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
28
32
|
form: FormItemsOptions;
|
|
29
33
|
}[];
|
|
30
34
|
activeTab: import('vue').Ref<string>;
|
|
35
|
+
onSubmit: () => void;
|
|
36
|
+
onReset: () => void;
|
|
31
37
|
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
32
38
|
form: {
|
|
33
39
|
type: PropType<FormItemsOptions>;
|
|
34
40
|
required: true;
|
|
35
41
|
};
|
|
42
|
+
value: {
|
|
43
|
+
type: ObjectConstructor;
|
|
44
|
+
};
|
|
36
45
|
}>>, {}, {}>;
|
|
37
46
|
export default _default;
|
|
@@ -44,6 +44,13 @@ export declare const FormRender: import('vue').DefineComponent<{
|
|
|
44
44
|
required: false;
|
|
45
45
|
default: string;
|
|
46
46
|
};
|
|
47
|
+
showFormResult: {
|
|
48
|
+
type: BooleanConstructor;
|
|
49
|
+
required: false;
|
|
50
|
+
default: (props: {
|
|
51
|
+
collapsedMode: 'append' | 'dialog';
|
|
52
|
+
}) => boolean;
|
|
53
|
+
};
|
|
47
54
|
submitable: {
|
|
48
55
|
type: BooleanConstructor;
|
|
49
56
|
required: false;
|
|
@@ -84,8 +91,8 @@ export declare const FormRender: import('vue').DefineComponent<{
|
|
|
84
91
|
autoLabelWidth: boolean;
|
|
85
92
|
scrollToFirstError: boolean;
|
|
86
93
|
} & {
|
|
87
|
-
size?: "mini" | "small" | "medium" | "large" | undefined;
|
|
88
94
|
disabled?: boolean | undefined;
|
|
95
|
+
size?: "small" | "mini" | "medium" | "large" | undefined;
|
|
89
96
|
labelColStyle?: Record<string, any> | undefined;
|
|
90
97
|
wrapperColStyle?: Record<string, any> | undefined;
|
|
91
98
|
rules?: Record<string, FieldRule<any> | FieldRule<any>[]> | undefined;
|
|
@@ -152,8 +159,8 @@ export declare const FormRender: import('vue').DefineComponent<{
|
|
|
152
159
|
autoLabelWidth: boolean;
|
|
153
160
|
scrollToFirstError: boolean;
|
|
154
161
|
} & {
|
|
155
|
-
size?: "mini" | "small" | "medium" | "large" | undefined;
|
|
156
162
|
disabled?: boolean | undefined;
|
|
163
|
+
size?: "small" | "mini" | "medium" | "large" | undefined;
|
|
157
164
|
labelColStyle?: Record<string, any> | undefined;
|
|
158
165
|
wrapperColStyle?: Record<string, any> | undefined;
|
|
159
166
|
rules?: Record<string, FieldRule<any> | FieldRule<any>[]> | undefined;
|
|
@@ -206,8 +213,8 @@ export declare const FormRender: import('vue').DefineComponent<{
|
|
|
206
213
|
autoLabelWidth: boolean;
|
|
207
214
|
scrollToFirstError: boolean;
|
|
208
215
|
} & {
|
|
209
|
-
size?: "mini" | "small" | "medium" | "large" | undefined;
|
|
210
216
|
disabled?: boolean | undefined;
|
|
217
|
+
size?: "small" | "mini" | "medium" | "large" | undefined;
|
|
211
218
|
labelColStyle?: Record<string, any> | undefined;
|
|
212
219
|
wrapperColStyle?: Record<string, any> | undefined;
|
|
213
220
|
rules?: Record<string, FieldRule<any> | FieldRule<any>[]> | undefined;
|
|
@@ -305,6 +312,13 @@ export declare const FormRender: import('vue').DefineComponent<{
|
|
|
305
312
|
required: false;
|
|
306
313
|
default: string;
|
|
307
314
|
};
|
|
315
|
+
showFormResult: {
|
|
316
|
+
type: BooleanConstructor;
|
|
317
|
+
required: false;
|
|
318
|
+
default: (props: {
|
|
319
|
+
collapsedMode: 'append' | 'dialog';
|
|
320
|
+
}) => boolean;
|
|
321
|
+
};
|
|
308
322
|
submitable: {
|
|
309
323
|
type: BooleanConstructor;
|
|
310
324
|
required: false;
|
|
@@ -325,12 +339,13 @@ export declare const FormRender: import('vue').DefineComponent<{
|
|
|
325
339
|
onCancel?: ((...args: any[]) => any) | undefined;
|
|
326
340
|
"onUpdate:model-value"?: ((...args: any[]) => any) | undefined;
|
|
327
341
|
}, {
|
|
342
|
+
name: string;
|
|
328
343
|
footer: boolean;
|
|
329
344
|
layout: "horizontal" | "vertical";
|
|
330
|
-
name: string;
|
|
331
345
|
minWidth: number;
|
|
332
346
|
id: string;
|
|
333
347
|
collapsedMode: "dialog" | "append";
|
|
348
|
+
showFormResult: boolean;
|
|
334
349
|
submitable: boolean;
|
|
335
350
|
searchable: boolean;
|
|
336
351
|
}, {}>;
|