@sunny-base-web/ui 0.3.3 → 0.3.4
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/index.js +1 -1
- package/package.json +6 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(V,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@arco-design/web-vue"),require("@sunny-base-web/locales"),require("@sunny-base-web/icons"),require("@sunny-base-web/utils"),require("reka-ui"),require("axios"),require("lodash-es"),require("@tanstack/vue-store"),require("@tanstack/store"),require("@vueuse/core"),require("vee-validate"),require("@vee-validate/zod"),require("zod"),require("vxe-table"),require("vxe-pc-ui")):typeof define=="function"&&define.amd?define(["exports","vue","@arco-design/web-vue","@sunny-base-web/locales","@sunny-base-web/icons","@sunny-base-web/utils","reka-ui","axios","lodash-es","@tanstack/vue-store","@tanstack/store","@vueuse/core","vee-validate","@vee-validate/zod","zod","vxe-table","vxe-pc-ui"],e):(V=typeof globalThis<"u"?globalThis:V||self,e(V.SunnyBaseWebUI={},V.Vue,V.ArcoVue,V.locales,V.icons,V.utils,V.rekaUi,V.axios,V.lodashEs,V.vueStore,V.store,V.core,V.veeValidate,V.zod$1,V.zod,V.vxeTable,V.vxePcUi))})(this,(function(V,e,k,L,ue,P,K,G,Q,We,Ye,me,U,Ge,Je,te,J){"use strict";function Ke(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:()=>t[o]})}}return n.default=t,Object.freeze(n)}const _e=Ke(Je),He=Symbol("ArcoConfigProvider"),Xe="arco",Ze="$arco",q=t=>{var n,o,r;const l=e.getCurrentInstance(),a=e.inject(He,void 0);return`${(r=(o=a?.prefixCls)!=null?o:(n=l?.appContext.config.globalProperties[Ze])==null?void 0:n.classPrefix)!=null?r:Xe}-${t}`},ve=Object.prototype.toString;function W(t){return ve.call(t)==="[object Number]"&&t===t}var Y=(t,n)=>{for(const[o,r]of n)t[o]=r;return t};const et=e.defineComponent({name:"IconClose",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-close`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),tt=["stroke-width","stroke-linecap","stroke-linejoin"];function ot(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M9.857 9.858 24 24m0 0 14.142 14.142M24 24 38.142 9.858M24 24 9.857 38.142"},null,-1)]),14,tt)}var oe=Y(et,[["render",ot]]);const pe=Object.assign(oe,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+oe.name,oe)}}),nt=e.defineComponent({name:"IconQuestionCircle",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-question-circle`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),rt=["stroke-width","stroke-linecap","stroke-linejoin"];function lt(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M42 24c0 9.941-8.059 18-18 18S6 33.941 6 24 14.059 6 24 6s18 8.059 18 18Z"},null,-1),e.createElementVNode("path",{d:"M24.006 31v4.008m0-6.008L24 28c0-3 3-4 4.78-6.402C30.558 19.195 28.288 15 23.987 15c-4.014 0-5.382 2.548-5.388 4.514v.465"},null,-1)]),14,rt)}var ne=Y(nt,[["render",lt]]);const he=Object.assign(ne,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+ne.name,ne)}}),at=e.defineComponent({name:"IconSearch",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-search`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),st=["stroke-width","stroke-linecap","stroke-linejoin"];function it(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.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)]),14,st)}var re=Y(at,[["render",it]]);const ct=Object.assign(re,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+re.name,re)}}),dt=e.defineComponent({name:"IconUpload",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-upload`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),ft=["stroke-width","stroke-linecap","stroke-linejoin"];function ut(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M14.93 17.071 24.001 8l9.071 9.071m-9.07 16.071v-25M40 35v6H8v-6"},null,-1)]),14,ft)}var le=Y(dt,[["render",ut]]);const mt=Object.assign(le,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+le.name,le)}}),pt=e.defineComponent({name:"IconAttachment",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-attachment`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),ht=["stroke-width","stroke-linecap","stroke-linejoin"];function gt(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",stroke:"currentColor",xmlns:"http://www.w3.org/2000/svg",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M29.037 15.236s-9.174 9.267-11.48 11.594c-2.305 2.327-1.646 4.987-.329 6.316 1.317 1.33 3.994 1.953 6.258-.332L37.32 18.851c3.623-3.657 2.092-8.492 0-10.639-2.093-2.147-6.916-3.657-10.54 0L11.3 23.838c-3.623 3.657-3.953 10.638.329 14.96 4.282 4.322 11.115 4.105 14.821.333 3.706-3.773 8.74-8.822 11.224-11.33"},null,-1)]),14,ht)}var ae=Y(pt,[["render",gt]]);const yt=Object.assign(ae,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+ae.name,ae)}}),Ct=e.defineComponent({name:"IconDelete",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-delete`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),St=["stroke-width","stroke-linecap","stroke-linejoin"];function At(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M5 11h5.5m0 0v29a1 1 0 0 0 1 1h25a1 1 0 0 0 1-1V11m-27 0H16m21.5 0H43m-5.5 0H32m-16 0V7h16v4m-16 0h16M20 18v15m8-15v15"},null,-1)]),14,St)}var se=Y(Ct,[["render",At]]);const ge=Object.assign(se,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+se.name,se)}}),kt=e.defineComponent({name:"IconFullscreenExit",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-fullscreen-exit`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),bt=["stroke-width","stroke-linecap","stroke-linejoin"];function wt(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M35 6v8a1 1 0 0 0 1 1h8M13 6v8a1 1 0 0 1-1 1H4m31 27v-8a1 1 0 0 1 1-1h8m-31 9v-8a1 1 0 0 0-1-1H4"},null,-1)]),14,bt)}var ie=Y(kt,[["render",wt]]);const Bt=Object.assign(ie,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+ie.name,ie)}}),Et=e.defineComponent({name:"IconFullscreen",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-fullscreen`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),xt=["stroke-width","stroke-linecap","stroke-linejoin"];function Nt(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M42 17V9a1 1 0 0 0-1-1h-8M6 17V9a1 1 0 0 1 1-1h8m27 23v8a1 1 0 0 1-1 1h-8M6 31v8a1 1 0 0 0 1 1h8"},null,-1)]),14,xt)}var ce=Y(Et,[["render",Nt]]);const Vt=Object.assign(ce,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+ce.name,ce)}}),Pt="data:image/png;base64,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",It={class:"flex-1 font-semibold text-base text-[var(--color-text-1)] overflow-hidden text-ellipsis whitespace-nowrap"},Rt={class:"flex items-center gap-3 ml-3"},Ft={class:"cursor-pointer text-[var(--color-text-2)] flex items-center justify-center transition-colors duration-200 text-base hover:text-[var(--color-text-1)]"},Tt={key:1,class:"flex items-center justify-end gap-2"},H=e.defineComponent({__name:"Modal",props:{modelValue:{type:Boolean,default:!1},title:{default:"Title"},width:{default:"50%"},top:{},zIndex:{default:1e3},helpMessage:{default:""},closeOnEsc:{type:Boolean,default:!0},fullscreen:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},okText:{},cancelText:{},okLoading:{type:Boolean},confirmLoading:{type:Boolean},hideCancel:{type:Boolean},okButtonProps:{},cancelButtonProps:{},onVisibleChange:{},onBeforeOk:{},onBeforeCancel:{},onClose:{},onOk:{}},emits:["update:modelValue","close","ok","fullscreen-change"],setup(t,{emit:n}){const{t:o}=L.useI18n(),r=t,l=n,a=e.useAttrs(),s=e.ref(!1),i=e.computed({get:()=>r.modelValue,set:p=>l("update:modelValue",p)}),h=e.computed(()=>r.helpMessage||o("common.modal.helpTip")),y=e.ref(!1),g=()=>{y.value=!y.value,l("fullscreen-change",y.value)},c=async()=>{const p=r.onBeforeCancel;typeof p=="function"&&await p()===!1||(i.value=!1,l("close"))},f=c,d=async()=>{const p=r.onBeforeOk;if(typeof p=="function")try{s.value=!0,await p()!==!1&&(l("ok"),i.value=!1)}catch(u){console.error(u)}finally{s.value=!1}else l("ok"),i.value=!1};return(p,u)=>(e.openBlock(),e.createBlock(e.unref(k.Modal),e.mergeProps({visible:i.value,"onUpdate:visible":u[1]||(u[1]=S=>i.value=S),title:t.title,width:t.width,top:t.top,"z-index":t.zIndex,"mask-closable":t.closeOnClickModal,"esc-to-close":t.closeOnEsc,fullscreen:y.value,closable:!1},p.$attrs,{class:"k-modal-custom",style:{"--modal-bg-image":`url(${e.unref(Pt)})`},onClick:u[2]||(u[2]=e.withModifiers(()=>{},["stop"])),onMousedown:u[3]||(u[3]=e.withModifiers(()=>{},["stop"]))}),{title:e.withCtx(()=>[e.createElementVNode("div",{class:"flex items-center justify-between w-full",onDblclick:u[0]||(u[0]=S=>r.fullscreen&&g())},[e.createElementVNode("div",It,[e.renderSlot(p.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),e.createElementVNode("div",Rt,[h.value?(e.openBlock(),e.createBlock(e.unref(k.Tooltip),{key:0,content:h.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ft,[e.createVNode(e.unref(he))])]),_:1},8,["content"])):e.createCommentVNode("",!0),r.fullscreen?(e.openBlock(),e.createElementBlock("div",{key:1,class:"cursor-pointer text-[var(--color-text-2)] flex items-center justify-center transition-colors duration-200 text-base hover:text-[var(--color-text-1)]",onClick:e.withModifiers(g,["stop"])},[y.value?(e.openBlock(),e.createBlock(e.unref(Bt),{key:0})):(e.openBlock(),e.createBlock(e.unref(Vt),{key:1}))])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"cursor-pointer text-[var(--color-text-2)] flex items-center justify-center transition-colors duration-200 text-base hover:text-[rgb(var(--red-6))]",onClick:e.withModifiers(c,["stop"])},[e.createVNode(e.unref(pe))])])],32)]),footer:e.withCtx(()=>[p.$slots.footer?e.renderSlot(p.$slots,"footer",{key:0}):(e.openBlock(),e.createElementBlock("div",Tt,[e.renderSlot(p.$slots,"insertFooter"),e.unref(a).hideCancel?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(k.Button),e.mergeProps({key:0},e.unref(a).cancelButtonProps,{onClick:e.unref(f)}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).cancelText||e.unref(o)("common.modal.cancel")),1)]),_:1},16,["onClick"])),e.renderSlot(p.$slots,"centerFooter"),e.createVNode(e.unref(k.Button),e.mergeProps({type:"primary",loading:s.value||e.unref(a).okLoading||e.unref(a).confirmLoading},e.unref(a).okButtonProps,{onClick:d}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).okText||e.unref(o)("common.modal.confirm")),1)]),_:1},16,["loading"]),e.renderSlot(p.$slots,"appendFooter")]))]),default:e.withCtx(()=>[e.renderSlot(p.$slots,"default")]),_:3},16,["visible","title","width","top","z-index","mask-closable","esc-to-close","fullscreen","style"]))}});class Mt{state;constructor(n={}){this.state=e.reactive({modelValue:!1,...n})}open=()=>{this.setState({modelValue:!0}),this.state.onVisibleChange?.(!0)};close=()=>{this.setState({modelValue:!1}),this.state.onVisibleChange?.(!1)};setProps=n=>{this.setState(n)};setState(n){if(typeof n=="function"){const o=n(this.state);Object.assign(this.state,o)}else Object.assign(this.state,n);return this}}function Lt(t={}){const n=new Mt(t);return[e.defineComponent({name:"SunnyConnectedModal",inheritAttrs:!1,setup(r,{attrs:l,slots:a}){return()=>e.h(H,{...n.state,...l,"onUpdate:modelValue":s=>{n.setState({modelValue:s}),n.state.onVisibleChange?.(s),typeof l["onUpdate:modelValue"]=="function"&&l["onUpdate:modelValue"](s)}},a)}}),n]}const Dt=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),jt={key:0,class:"flex items-center justify-center min-h-[400px] p-8"},Ot={class:"max-w-[520px] w-full text-center"},zt={class:"mb-3 text-lg font-semibold text-[var(--color-text-1)]"},Qt={class:"mb-6 text-sm text-[var(--color-text-2)] leading-relaxed"},$t={key:0,class:"mt-6 mb-6 text-left bg-[var(--color-fill-1)] border border-[var(--color-border-2)] rounded-md overflow-hidden"},Ut={class:"flex items-center gap-2 px-4 py-3 bg-[var(--color-fill-2)] border-b border-[var(--color-border-2)] text-sm font-medium text-[var(--color-text-2)]"},qt={class:"p-4"},Wt={class:"mb-3"},Yt={class:"block mb-1 text-xs text-[var(--color-text-3)]"},Gt={class:"p-2 bg-[var(--color-fill-1)] rounded text-xs text-[var(--color-text-2)] font-mono break-all"},Jt={class:"block mb-1 text-xs text-[var(--color-text-3)]"},Kt={class:"mt-2 p-3 bg-[var(--color-fill-2)] rounded text-xs text-[var(--color-text-2)] font-mono leading-relaxed overflow-x-auto whitespace-pre-wrap break-all max-h-[240px]"},_t={class:"flex gap-3 justify-center flex-wrap"},Ht=e.defineComponent({name:"ErrorBoundary",__name:"ErrorBoundary",props:{showDetails:{type:Boolean},errorIcon:{},errorTitle:{},errorMessage:{},showRetry:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},showReport:{type:Boolean,default:!0}},emits:["error","retry","report"],setup(t,{emit:n}){const o=t,r=n,l=e.shallowRef(!1),a=e.shallowRef(null),s=e.computed(()=>({title:o.errorMessage||L.$t("error.title"),desc:L.$t("error.message"),retry:L.$t("error.retry"),refresh:L.$t("error.refresh"),report:L.$t("error.reportError"),details:L.$t("error.details"),errorMessage:L.$t("error.errorMessage"),errorStack:L.$t("error.errorStack")}));e.onErrorCaptured((g,c,f)=>{if(l.value)return!1;const d=g instanceof Error?g:new Error(String(g));return l.value=!0,a.value=e.markRaw(d),!1});function i(){l.value=!1,a.value=null,r("retry")}function h(){window.location.reload()}function y(){a.value&&r("report",a.value)}return(g,c)=>l.value?(e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("div",Ot,[c[1]||(c[1]=e.createStaticVNode('<div class="flex justify-center mb-6 text-[var(--color-danger-6)]"><svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-12 h-12"><circle cx="24" cy="24" r="23" stroke="currentColor" stroke-width="1.5"></circle><path d="M24 16v8M24 28v4" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path><circle cx="24" cy="36" r="1.5" fill="currentColor"></circle></svg></div>',1)),e.createElementVNode("div",zt,e.toDisplayString(s.value.title),1),e.createElementVNode("div",Qt,e.toDisplayString(s.value.desc),1),a.value?(e.openBlock(),e.createElementBlock("div",$t,[e.createElementVNode("div",Ut,[c[0]||(c[0]=e.createElementVNode("svg",{viewBox:"0 0 16 16",fill:"currentColor",class:"w-3.5 h-3.5 text-[var(--color-warning-6)]"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zM9 13a1 1 0 11-2 0 0 1 1 0 012 0zM9 11a1 1 0 01-2 0V7a1 1 0 012 0v4z","clip-rule":"evenodd"})],-1)),e.createElementVNode("span",null,e.toDisplayString(s.value.details),1)]),e.createElementVNode("div",qt,[e.createElementVNode("div",Wt,[e.createElementVNode("span",Yt,e.toDisplayString(s.value.errorMessage),1),e.createElementVNode("div",Gt,e.toDisplayString(a.value?.message),1)]),e.createElementVNode("div",null,[e.createElementVNode("span",Jt,e.toDisplayString(s.value.errorStack),1),e.createElementVNode("pre",Kt,e.toDisplayString(a.value?.stack),1)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",_t,[t.showRetry?(e.openBlock(),e.createElementBlock("button",{key:0,class:"px-4 py-2 bg-[rgb(var(--primary-6))] text-white rounded hover:bg-[rgb(var(--primary-7))]",onClick:i},e.toDisplayString(s.value.retry),1)):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:1,class:"px-4 py-2 bg-[var(--color-bg-5)] text-[var(--color-text-1)] rounded hover:bg-[var(--color-bg-4)] border border-[var(--color-border)]",onClick:h},e.toDisplayString(s.value.refresh),1)):e.createCommentVNode("",!0),t.showReport?(e.openBlock(),e.createElementBlock("button",{key:2,class:"px-4 py-2 bg-[var(--color-danger-6)] text-white rounded hover:bg-[var(--color-danger-7)]",onClick:y},e.toDisplayString(s.value.report),1)):e.createCommentVNode("",!0)])])])):e.renderSlot(g.$slots,"default",{key:1})}}),Xt=["src"],ye=e.defineComponent({name:"SunnyIcon",__name:"icon",props:{fallback:{type:Boolean},icon:{type:[Function,String]}},setup(t){const n=t,o=e.computed(()=>P.isString(n.icon)&&P.isHttpUrl(n.icon)),r=e.computed(()=>{const{icon:l}=n;return!P.isString(l)&&(P.isObject(l)||P.isFunction(l))});return(l,a)=>r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),e.normalizeProps(e.mergeProps({key:0},l.$attrs)),null,16)):o.value?(e.openBlock(),e.createElementBlock("img",e.mergeProps({key:1,src:t.icon},l.$attrs),null,16,Xt)):t.icon?(e.openBlock(),e.createBlock(e.unref(ue.IconifyIcon),e.mergeProps({key:2},l.$attrs,{icon:t.icon}),null,16,["icon"])):t.fallback?(e.openBlock(),e.createBlock(e.unref(ue.IconDefault),e.normalizeProps(e.mergeProps({key:3},l.$attrs)),null,16)):e.createCommentVNode("",!0)}}),Zt=e.defineComponent({name:"SunnyScrollArea",__name:"ScrollArea",props:{type:{},dir:{},scrollHideDelay:{},asChild:{type:Boolean},as:{},class:{},onScroll:{type:Function,default:()=>{}}},setup(t){const n=t,o=e.computed(()=>{const{class:r,onScroll:l,...a}=n;return a});return(r,l)=>(e.openBlock(),e.createBlock(e.unref(K.ScrollAreaRoot),e.mergeProps(o.value,{class:e.unref(P.cn)("relative overflow-hidden",n.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(K.ScrollAreaViewport),{"as-child":"",class:"h-full w-full rounded-[inherit] focus:outline-none",onScroll:t.onScroll},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},8,["onScroll"]),e.createVNode(e.unref(Ce)),e.createVNode(e.unref(K.ScrollAreaCorner))]),_:3},16,["class"]))}}),Ce=e.defineComponent({name:"SunnyScrollBar",__name:"ScrollBar",props:{orientation:{default:"vertical"},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(t){const n=t,o=e.computed(()=>{const{class:r,...l}=n;return l});return(r,l)=>(e.openBlock(),e.createBlock(e.unref(K.ScrollAreaScrollbar),e.mergeProps(o.value,{class:e.unref(P.cn)("flex touch-none select-none transition-colors",t.orientation==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",t.orientation==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",n.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(K.ScrollAreaThumb),{class:"relative flex-1 rounded-full bg-border"})]),_:1},16,["class"]))}}),Se=1,vt=e.defineComponent({name:"SunnyScrollbar",__name:"scrollbar",props:{class:{default:""},horizontal:{type:Boolean,default:!1},scrollBarClass:{},shadow:{type:Boolean,default:!1},shadowBorder:{type:Boolean,default:!1},shadowBottom:{type:Boolean,default:!0},shadowLeft:{type:Boolean,default:!1},shadowRight:{type:Boolean,default:!1},shadowTop:{type:Boolean,default:!0}},emits:["scrollAt"],setup(t,{emit:n}){const o=t,r=n,l=e.ref(!0),a=e.ref(!1),s=e.ref(!1),i=e.ref(!0),h=e.computed(()=>o.shadow&&o.shadowTop),y=e.computed(()=>o.shadow&&o.shadowBottom),g=e.computed(()=>o.shadow&&o.shadowLeft),c=e.computed(()=>o.shadow&&o.shadowRight),f=e.computed(()=>({"both-shadow":!i.value&&!a.value&&g.value&&c.value,"left-shadow":!i.value&&g.value,"right-shadow":!a.value&&c.value}));function d(p){const u=p.target,S=u?.scrollTop??0,w=u?.scrollLeft??0,C=u?.clientHeight??0,A=u?.clientWidth??0,x=u?.scrollHeight??0,B=u?.scrollWidth??0;l.value=S<=0,i.value=w<=0,s.value=Math.abs(S)+C>=x-Se,a.value=Math.abs(w)+A>=B-Se,r("scrollAt",{bottom:s.value,left:i.value,right:a.value,top:l.value})}return(p,u)=>(e.openBlock(),e.createBlock(e.unref(Zt),{class:e.normalizeClass([[e.unref(P.cn)(o.class),f.value],"sunny-scrollbar relative"]),"on-scroll":d},{default:e.withCtx(()=>[h.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([{"opacity-100":!l.value,"border-t border-border":t.shadowBorder&&!l.value},"scrollbar-top-shadow pointer-events-none absolute top-0 z-10 h-12 w-full opacity-0 transition-opacity duration-300 ease-in-out will-change-[opacity]"])},null,2)):e.createCommentVNode("",!0),e.renderSlot(p.$slots,"default",{},void 0,!0),y.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([{"opacity-100":!l.value&&!s.value,"border-b border-border":t.shadowBorder&&!l.value&&!s.value},"scrollbar-bottom-shadow pointer-events-none absolute bottom-0 z-10 h-12 w-full opacity-0 transition-opacity duration-300 ease-in-out will-change-[opacity]"])},null,2)):e.createCommentVNode("",!0),t.horizontal?(e.openBlock(),e.createBlock(e.unref(Ce),{key:2,class:e.normalizeClass(t.scrollBarClass),orientation:"horizontal"},null,8,["class"])):e.createCommentVNode("",!0)]),_:3},8,["class"]))}}),X=(t,n)=>{const o=t.__vccOpts||t;for(const[r,l]of n)o[r]=l;return o},eo=X(vt,[["__scopeId","data-v-299d4e0d"]]),to={class:"sunny-file-upload"},oo={class:"font-bold text-gray-700 mb-2"},no={class:"flex flex-wrap items-center text-sm mb-3 select-none"},ro={class:"cursor-pointer text-blue-600 hover:text-blue-700 flex items-center mr-4 transition-colors"},lo={class:"text-xs text-blue-600"},ao={class:"text-xs text-gray-400"},so={class:"border border-dashed border-gray-300 rounded-lg p-4 transition-all duration-300"},io={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},co={class:"flex-1 min-w-0 pr-8"},fo=["title"],uo={class:"flex items-center text-xs text-gray-500"},mo={class:"mr-3 min-w-[3em]"},po={class:"ml-2 w-8 text-right"},Ae=1024,ho=e.defineComponent({__name:"index",props:{modelValue:{default:""},action:{default:""},delAction:{default:""},accept:{default:".csv,.pdf,.xls,.xlsx"},limit:{default:10},maxSize:{default:10},storeType:{default:"amazon"},s3FileDir:{default:""},preSigned:{default:""},preSignedExpire:{default:""},readonly:{type:Boolean,default:!1},showEncrypt:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:n}){const o=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],r=t,l=n,a=e.ref(!0),s=e.ref(!1),i=e.ref([]),h=e.ref(!1),y=e.computed(()=>i.value.every(B=>!!B.url)),g=e.computed(()=>i.value.filter(B=>B.checked).length);e.watch(()=>r.modelValue,B=>{try{i.value=JSON.parse(B||"[]")}catch(m){console.warn("Failed to parse modelValue:",m),i.value=[]}},{immediate:!0,deep:!0});const c=B=>B,f=B=>{if(B===0)return"0 B";const m=Math.floor(Math.log(B)/Math.log(Ae));return(B/Math.pow(Ae,m)).toPrecision(3)+" "+o[m]},d=B=>{const m=B.type||"",N=(B.name||"").split(".").pop()?.toLowerCase()||"",F={"vscode-icons:file-type-excel":["xls","xlsx","csv"],"vscode-icons:file-type-powerpoint":["ppt","pptx"],"vscode-icons:file-type-text":["txt"],"vscode-icons:file-type-word":["doc","docx"],"vscode-icons:file-type-zip":["zip","rar","7z","tar","gz"],"vscode-icons:file-type-pdf":["pdf"]};for(const[j,E]of Object.entries(F))if(E.includes(N)||E.some(T=>m.includes(T)))return j;return m.includes("excel")||m.includes("spreadsheet")?"vscode-icons:file-type-excel":m.includes("powerpoint")||m.includes("presentation")?"vscode-icons:file-type-powerpoint":m.includes("text/plain")?"vscode-icons:file-type-text":m.includes("word")||m.includes("document")?"vscode-icons:file-type-word":m.includes("zip")||m.includes("compressed")?"vscode-icons:file-type-zip":m.includes("pdf")?"vscode-icons:file-type-pdf":"vscode-icons:default-file"},p=()=>{const B=JSON.stringify(i.value);l("update:modelValue",B),l("change",B)},u=(B,m)=>{if(m.status!=="init")return;if(i.value.length>=r.limit){k.Message.error(`最多上传${r.limit}个文件`);return}const b=r.maxSize*1024*1024;if(m.file.size>b){k.Message.error(`文件最大限制${f(b)}`);return}i.value.push({uid:m.uid,name:m.name,size:m.file?.size,type:m.file?.type,file:m.file,percentage:0,checked:!1})},S=async()=>{if(i.value.length===0)return;const B=i.value.filter(m=>!m.url);for(const m of B){const b=new FormData;b.append("fileName",m.file),b.append("encryptFile",s.value?"1":"0"),r.storeType&&b.append("storeType",r.storeType),r.s3FileDir&&b.append("s3FileDir",r.s3FileDir),r.preSigned&&b.append("preSigned",r.preSigned),r.preSignedExpire&&b.append("preSignedExpire",r.preSignedExpire);try{const N=await G.post(r.action,b,{onUploadProgress:j=>{if(j.total){const E=Math.floor(j.loaded/j.total*100);m.percentage=E}}}),{data:F}=N;F.code===200?(Object.assign(m,F.result),k.Message.success(F.message||"上传成功")):(k.Message.error(F.message||"上传失败"),w(m.uid))}catch{k.Message.error("上传失败"),w(m.uid)}}p()},w=B=>{const m=i.value.findIndex(b=>b.uid===B);m>-1&&i.value.splice(m,1)},C=(B,m)=>{B.url?k.Modal.confirm({title:c("提示"),content:c("是否删除该文件?"),onOk:()=>{G.post(r.delAction,{filePathList:[B.url],storeType:r.storeType}).then(b=>{const{data:N}=b;k.Message[N.success?"success":"error"](N.message),N.code===200&&(i.value.splice(m,1),p())})}}):(i.value.splice(m,1),p())},A=()=>{const B=i.value.every(m=>m.checked);i.value.forEach(m=>m.checked=!B)},x=()=>{const B=i.value.filter(m=>m.checked);B.length!==0&&k.Modal.confirm({title:c("提示"),content:c("是否删除选中的文件?"),onOk:()=>{h.value=!0;const m=B.map(b=>b.url).filter(Boolean);m.length>0?G.post(r.delAction,{filePathList:m,storeType:r.storeType}).then(b=>{const{data:N}=b;k.Message[N.success?"success":"error"](N.message),N.code===200&&(i.value=i.value.filter(F=>!F.checked),p())}).finally(()=>{h.value=!1}):(i.value=i.value.filter(b=>!b.checked),p(),h.value=!1)}})};return(B,m)=>(e.openBlock(),e.createElementBlock("div",to,[e.createElementVNode("div",oo,e.toDisplayString(c("附件")),1),e.withDirectives(e.createElementVNode("div",no,[e.createVNode(e.unref(k.Upload),{"show-file-list":!1,"auto-upload":!1,multiple:"",accept:t.accept,onChange:u},{"upload-button":e.withCtx(()=>[e.createElementVNode("span",ro,[e.createVNode(e.unref(yt),{class:"mr-1 w-4 h-4"}),e.createTextVNode(" "+e.toDisplayString(c("选择附件")),1)])]),_:1},8,["accept"]),e.createElementVNode("span",{class:e.normalizeClass(["flex items-center mr-4 transition-colors",y.value?"text-gray-300 cursor-not-allowed":"cursor-pointer text-gray-600 hover:text-gray-800"]),onClick:m[0]||(m[0]=b=>!y.value&&S())},[e.createVNode(e.unref(mt),{class:"mr-1 w-4 h-4"}),e.createTextVNode(" "+e.toDisplayString(c("上传附件")),1)],2),e.createElementVNode("span",{class:"cursor-pointer text-blue-600 hover:text-blue-700 mr-4 transition-colors",onClick:A},e.toDisplayString(c("全选")),1),e.createElementVNode("span",{class:e.normalizeClass(["mr-4 transition-colors",g.value===0?"text-gray-300 cursor-not-allowed":"cursor-pointer text-gray-500 hover:text-red-500"]),onClick:x},e.toDisplayString(c("删除")),3),t.showEncrypt?(e.openBlock(),e.createBlock(e.unref(k.Checkbox),{key:0,modelValue:s.value,"onUpdate:modelValue":m[1]||(m[1]=b=>s.value=b),class:"mr-4"},{default:e.withCtx(()=>[e.createElementVNode("span",lo,e.toDisplayString(c("是否加密")),1)]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),e.createElementVNode("span",ao," ("+e.toDisplayString(c("单个文件最大"))+e.toDisplayString(t.maxSize)+"MB,"+e.toDisplayString(c("最多上传"))+e.toDisplayString(t.limit)+e.toDisplayString(c("个"))+") ",1),e.createElementVNode("span",{class:"ml-auto cursor-pointer text-blue-600 text-xs hover:text-blue-700 transition-colors",onClick:m[2]||(m[2]=b=>a.value=!a.value)},e.toDisplayString(a.value?c("隐藏"):c("展开")),1)],512),[[e.vShow,!t.readonly]]),e.withDirectives(e.createElementVNode("div",so,[e.createElementVNode("div",io,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(b,N)=>(e.openBlock(),e.createElementBlock("div",{key:b.uid||N,class:"bg-gray-50 hover:bg-gray-100 rounded p-3 relative flex items-center border border-transparent hover:border-gray-200 transition-colors group"},[e.createVNode(e.unref(ye),{icon:d(b),class:"w-10 h-10 mr-3 flex-shrink-0"},null,8,["icon"]),e.createElementVNode("div",co,[e.createElementVNode("div",{class:"text-sm truncate font-medium text-gray-700 mb-1",title:b.name},e.toDisplayString(b.name),9,fo),e.createElementVNode("div",uo,[e.createElementVNode("span",mo,e.toDisplayString(f(b.size)),1),e.createVNode(e.unref(k.Progress),{percent:b.percentage/100,size:"small","show-text":!1,color:b.percentage===100?"#00b42a":"#165dff",class:"flex-1"},null,8,["percent","color"]),e.createElementVNode("span",po,e.toDisplayString(b.percentage)+"%",1)])]),t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(k.Checkbox),{key:0,modelValue:b.checked,"onUpdate:modelValue":F=>b.checked=F,class:"absolute top-3 right-3"},null,8,["modelValue","onUpdate:modelValue"])),t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(ge),{key:1,class:"absolute bottom-3 right-3 w-4 h-4 cursor-pointer text-gray-400 hover:text-red-500 transition-colors",onClick:F=>C(b,N)},null,8,["onClick"]))]))),128))])],512),[[e.vShow,i.value.length>0&&a.value]])]))}}),go={class:"flex gap-2 items-center flex-nowrap overflow-hidden"},yo={class:"flex gap-2 item-center flex-nowrap"},ke=e.defineComponent({__name:"index",props:{modelValue:{type:String},action:{type:String,required:!0},delAction:{type:String,required:!0},accept:{type:String},encryptFile:{type:Boolean,default:!1},storeType:{type:String,default:"amazon"},s3FileDir:{type:String,default:""},preSigned:{type:Boolean,default:!1},preSignedExpire:{type:Number,default:7},limit:{type:Number,default:void 0},maxSize:{type:Number,default:void 0}},emits:["update:modelValue","change"],setup(t,{emit:n}){const o=t,r=e.computed(()=>JSON.parse(o.modelValue||"[]")),l=n,a=i=>{const{onProgress:h,onError:y,onSuccess:g,fileItem:c,name:f}=i;if(o.limit&&r.value.length>=o.limit){k.Message.error(`最多只能上传 ${o.limit} 个文件`),y();return}if(o.maxSize&&c.file.size>o.maxSize*1024*1024){k.Message.error(`文件大小不能超过 ${o.maxSize} MB`),y();return}var d=new FormData;d.append("fileName",c.file),d.append("encryptFile",o.encryptFile===!0?"1":"0"),d.append("storeType",o.storeType),o.s3FileDir&&d.append("s3FileDir",o.s3FileDir),o.preSigned&&d.append("preSigned",o.preSigned===!0?"1":"0"),o.preSignedExpire&&d.append("preSignedExpire",String(o.preSignedExpire)),G.post(o.action,d,{onUploadProgress:p=>{const u=Math.floor(p.loaded/p.total*100);h(u)}}).then(p=>{if(p.data.code===200){k.Message.success(p.data.message||"上传成功"),g(p.data.result);const u=[...r.value,c];l("update:modelValue",JSON.stringify(u)),l("change",JSON.stringify(u))}else k.Message.error(p.data.message||"上传失败"),y()}).catch(()=>{y()})},s=i=>{G.post(o.delAction,{filePathList:[i.response.url],storeType:o.storeType}).then(h=>{const{data:y}=h;if(k.Message.success(y.message||"删除成功"),y.code===200){const g=r.value.filter(c=>c.uid!==i.uid);l("update:modelValue",JSON.stringify(g))}}).catch(h=>{k.Message.error("删除失败"),console.error("删除文件失败:",h)})};return(i,h)=>{const y=e.resolveComponent("a-button"),g=e.resolveComponent("a-upload"),c=e.resolveComponent("a-tag");return e.openBlock(),e.createElementBlock("div",go,[e.createVNode(g,{"show-file-list":!1,action:t.action,"custom-request":a},{"upload-button":e.withCtx(()=>[e.createVNode(y,{type:"primary",size:"mini"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("common.upload")),1)]),_:1})]),_:1},8,["action"]),e.createElementVNode("div",yo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,f=>(e.openBlock(),e.createBlock(c,{loading:!1,color:f.status==="error"?"red":"green",closable:"",onClose:d=>s(f)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.name),1)]),_:2},1032,["color","onClose"]))),256))])])}}}),be=e.defineComponent({name:"SunnySelect",inheritAttrs:!1,props:{modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},options:{type:Array,default:()=>[]},filterModel:{type:Object,default:void 0}},emits:["update:modelValue"],setup(t,{emit:n,slots:o,attrs:r}){const l=i=>{const h=i.cMeta;return!h||Object.keys(h).length===0?!0:!t.filterModel||Object.keys(t.filterModel).length===0?!1:Object.entries(h).every(([y,g])=>{const c=t.filterModel[y];return c==null?!1:String(c)===String(g)})},a=e.computed(()=>{const i=t.modelValue;if(i==null||i===""||r["allow-create"]===!0||r["allow-create"]==="")return i;const h=y=>t.options.some(g=>l(g)?g.value==y||typeof y=="object"&&y!==null&&"value"in y&&g.value==y.value:!1);if(Array.isArray(i)){const y=i.filter(g=>h(g));return y.length===i.length?i:y}else return h(i)?i:void 0});e.watch(a,i=>{i!==t.modelValue&&n("update:modelValue",i)});const s=i=>{n("update:modelValue",i)};return()=>e.createVNode(k.Select,e.mergeProps(r,{modelValue:a.value,"onUpdate:modelValue":s}),{default:()=>t.options.map(i=>l(i)?e.createVNode(k.Option,e.mergeProps({key:i.value},i),{default:()=>o.option?o.option({data:i}):i.label}):null),...Object.fromEntries(Object.entries(o).filter(([i])=>i!=="option"&&i!=="default"))})}}),Co={class:"flex items-center justify-between px-3 py-2 border-b border-[var(--color-neutral-3)] bg-[var(--color-bg-popup)] select-none"},So={class:"flex items-center gap-1"},Ao={class:"w-6 h-6 flex items-center justify-center rounded cursor-help text-[var(--color-text-3)] hover:text-[var(--color-text-1)] hover:bg-[var(--color-fill-3)] transition-all"},ko=e.defineComponent({name:"SunnyBatchSelect",inheritAttrs:!1,__name:"BatchSelect",props:{modelValue:{default:()=>[]},options:{default:()=>[]},matchStrategy:{default:"both"},filterModel:{default:void 0}},emits:["update:modelValue","change"],setup(t,{emit:n}){const o=t,r=n,l=e.computed(()=>o.options.filter(c=>!c.disabled)),a=e.computed(()=>l.value.length===0?!1:l.value.every(c=>o.modelValue.includes(c.value))),s=e.computed(()=>{if(l.value.length===0)return!1;const c=l.value.filter(f=>o.modelValue.includes(f.value)).length;return c>0&&c<l.value.length}),i=c=>{r("update:modelValue",c),r("change",c)},h=c=>{if(c===!0){const d=l.value.map(S=>S.value),p=o.modelValue.filter(S=>{const w=o.options.find(C=>C.value===S);return w&&w.disabled}),u=Array.from(new Set([...p,...d]));r("update:modelValue",u),r("change",u)}else{const d=o.modelValue.filter(p=>{const u=o.options.find(S=>S.value===p);return u&&u.disabled});r("update:modelValue",d),r("change",d)}},y=()=>{const c=o.modelValue.filter(f=>{const d=o.options.find(p=>p.value===f);return d&&d.disabled});r("update:modelValue",c),r("change",c)},g=c=>{const f=c.clipboardData||window.clipboardData;if(!f)return;const d=f.getData("text");if(!d)return;const p=d.split(/\r?\n/).map(C=>C.trim()).filter(C=>C);if(p.length===0)return;const u=[];let S=0;const w=C=>{const A=C.cMeta;return!A||Object.keys(A).length===0?!0:!o.filterModel||Object.keys(o.filterModel).length===0?!1:Object.entries(A).every(([x,B])=>{const m=o.filterModel[x];return m==null?!1:String(m)===String(B)})};if(p.forEach(C=>{if(o.matchStrategy==="value"||o.matchStrategy==="both"){const A=o.options.find(x=>String(x.value)===C);if(A&&!A.disabled&&w(A)){u.push(A.value),S++;return}}if(o.matchStrategy==="label"||o.matchStrategy==="both"){const A=o.options.find(x=>x.label===C);A&&!A.disabled&&w(A)&&(u.push(A.value),S++)}}),u.length>0){c.preventDefault();const C=Array.from(new Set([...o.modelValue,...u]));r("update:modelValue",C),r("change",C),k.Message.success(`成功识别并选中 ${S} 项 (Matched ${S} items)`)}};return(c,f)=>{const d=e.resolveComponent("a-checkbox"),p=e.resolveComponent("a-tooltip");return e.openBlock(),e.createBlock(e.unref(be),e.mergeProps(c.$attrs,{"model-value":t.modelValue,options:t.options,"filter-model":t.filterModel,multiple:"","allow-search":"","onUpdate:modelValue":i,onPaste:g}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",Co,[e.createVNode(d,{"model-value":a.value,indeterminate:s.value,onChange:h,class:"pl-1"},{default:e.withCtx(()=>[...f[0]||(f[0]=[e.createElementVNode("span",{class:"text-[var(--color-text-1)]"},"全选",-1)])]),_:1},8,["model-value","indeterminate"]),e.createElementVNode("div",So,[e.createVNode(p,{content:"清除所有选中项"},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"w-6 h-6 flex items-center justify-center rounded cursor-pointer text-[var(--color-text-3)] hover:bg-[var(--color-fill-3)] transition-all",onClick:y},[e.createVNode(e.unref(ge))])]),_:1}),f[1]||(f[1]=e.createElementVNode("div",{class:"w-[1px] h-3 bg-[var(--color-neutral-3)] mx-1"},null,-1)),e.createVNode(p,{content:"支持从 Excel 或文本编辑器(↓列数据)复制多行数据,粘贴至搜索框即可自动匹配并选中。",position:"left"},{default:e.withCtx(()=>[e.createElementVNode("div",Ao,[e.createVNode(e.unref(he))])]),_:1})])])]),_:2},[e.renderList(c.$slots,(u,S)=>({name:S,fn:e.withCtx(w=>[e.renderSlot(c.$slots,S,e.normalizeProps(e.guardReactiveProps(w||{})))])}))]),1040,["model-value","options","filter-model"])}}}),bo={class:"w-full"},wo={key:0,class:"flex justify-between items-center w-full"},Bo={class:"text-[var(--color-text-3)] text-xs"},Eo=e.defineComponent({name:"SunnyCustomizeSelect",inheritAttrs:!0,__name:"CustomizeSelect",props:{value:{default:""},cNum:{default:""},defaultQuery:{type:Boolean,default:!0},defaultConfig:{default:()=>({})},attrParam:{default:()=>({})}},emits:["update:modelValue","selectChange","change"],setup(t,{emit:n}){const o=k.Select,r=k.Option,l=t,a=n,s=e.getCurrentInstance(),i=e.ref({nType:1,cLabelslotcol:"",nSearchinterval:700}),h=e.ref([{cKeynumb:"",cKeyname:"",cSlot:""}]),y=e.ref([]),g=e.ref(!1),c=e.ref(!1),f=e.computed({get:()=>l.value,set:w=>{a("update:modelValue",w)}}),d=async()=>{if(l.cNum){const w={cNum:l.cNum,attrParam:{...l.attrParam}};f.value&&(w.cVal=Q.toString(f.value));const C=await G.post("/core/assSelect/commonQuery",w);C.data.code===200?(h.value=C.data.result.optionList,y.value=C.data.result.optionList,c.value=!1):(c.value=!0,k.Message.error(C.data.message))}},p=w=>{a("selectChange",w,s?.proxy)},u=Q.debounce(w=>{if(w!==""){g.value=!0;const C={cNum:l.cNum,attrParam:{...l.attrParam},searchCondition:w};G.post("/core/assSelect/commonQuery",C).then(A=>{i.value=A.data.result.assSelect,h.value=A.data.result.optionList,y.value=A.data.result.optionList}).finally(()=>{g.value=!1})}else h.value=y.value},i.value.nSearchinterval||700),S=()=>{u("")};return e.watch(()=>l.attrParam,()=>{d()},{deep:!0}),e.onMounted(()=>{l.defaultQuery&&l.defaultQuery===!0?d():l.cNum&&l.defaultQuery===!1&&(i.value=Object.assign({},i.value,l.defaultConfig))}),(w,C)=>(e.openBlock(),e.createElementBlock("div",bo,[e.createVNode(e.unref(o),e.mergeProps({modelValue:f.value,"onUpdate:modelValue":C[0]||(C[0]=A=>f.value=A),"allow-clear":"","allow-search":i.value.nType==1,loading:g.value,error:c.value},w.$attrs,{onChange:p,onClear:S,onSearch:e.unref(u),triggerProps:{contentClass:"customize-select-content"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,A=>(e.openBlock(),e.createBlock(e.unref(r),{key:A.cKeynumb,label:A.cKeyname,value:A.cKeynumb},{default:e.withCtx(()=>[i.value.cLabelslotcol?(e.openBlock(),e.createElementBlock("div",wo,[e.createElementVNode("span",null,e.toDisplayString(A.cKeyname),1),e.createElementVNode("span",Bo,e.toDisplayString(A.cSlot),1)])):e.createCommentVNode("",!0)]),_:2},1032,["label","value"]))),128))]),_:1},16,["modelValue","allow-search","loading","error","onSearch"])]))}}),we=e.defineComponent({name:"SunnySearchInputTag",inheritAttrs:!1,__name:"SearchInputTag",props:{modelValue:{default:()=>[]},fieldNames:{default:()=>({label:"label",value:"value"})},placeholder:{default:"请选择..."},disabled:{type:Boolean,default:!1},maxTagCount:{}},emits:["update:modelValue","search","change","clear"],setup(t,{emit:n}){const o=t,r=n,l=e.computed(()=>o.fieldNames?.label||"label"),a=e.computed(()=>o.fieldNames?.value||"value"),s=e.computed(()=>o.modelValue.map(c=>({label:c[l.value],value:c[a.value],closable:!o.disabled,tagProps:c.tagProps}))),i=c=>{o.disabled||["Backspace","Delete","Tab","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(c.key)||c.preventDefault()},h=(c,f)=>{const d=[...o.modelValue];d.splice(f,1),r("update:modelValue",d),r("change",d)},y=()=>{r("update:modelValue",[]),r("change",[]),r("clear")},g=()=>{o.disabled||r("search")};return(c,f)=>{const d=e.resolveComponent("a-input-tag");return e.openBlock(),e.createBlock(d,e.mergeProps(c.$attrs,{"model-value":s.value,"input-value":"",disabled:t.disabled,placeholder:t.placeholder,"max-tag-count":t.maxTagCount,"allow-create":!1,class:"w-full group",onRemove:h,onClear:y,onKeydown:i}),e.createSlots({suffix:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center h-full px-2 border-l border-[var(--color-neutral-3)] group-hover:border-[var(--color-neutral-4)] -mr-3",[t.disabled?"cursor-not-allowed text-[var(--color-text-4)]":"cursor-pointer text-[var(--color-text-2)] group"]]),onClick:e.withModifiers(g,["stop"])},[e.createVNode(e.unref(ct),{class:"transition-colors group-hover:text-[var(--color-primary-6)]"})],2)]),_:2},[e.renderList(c.$slots,(p,u)=>({name:u,fn:e.withCtx(S=>[e.renderSlot(c.$slots,u,e.normalizeProps(e.guardReactiveProps(S||{})))])}))]),1040,["model-value","disabled","placeholder","max-tag-count"])}}});class xo{store;constructor(n,o){this.store=new Ye.Store(n),o?.onUpdate&&this.store.subscribe(()=>{o.onUpdate?.()})}setState(n){this.store.setState(o=>{const r=typeof n=="function"?n(o):n;return{...o,...r}})}getState(){return this.store.state}}function Be(t,n="YYYY-MM-DD"){if(!t)return t;if(P.isFunction(t.format))return t.format(n);if(t instanceof Date){const o=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),l=String(t.getDate()).padStart(2,"0"),a=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0");return n.replace("YYYY",String(o)).replace("MM",r).replace("DD",l).replace("HH",a).replace("mm",s).replace("ss",i)}return String(t)}function Z(t){return P.is(t,"Date")}function v(t){return P.isObject(t)&&"$d"in t&&"$y"in t&&"$M"in t}function ee(t,n){if(!P.isObject(t)||!P.isObject(n)||Array.isArray(n))return n;const o={...t};return Object.keys(n).forEach(r=>{const l=o[r],a=n[r];P.isObject(l)&&P.isObject(a)?o[r]=ee(l,a):o[r]=a}),o}class No{condition=!1;resolveFn=null;promise=null;setConditionTrue(){this.condition=!0,this.resolveFn&&(this.resolveFn(),this.resolveFn=null)}reset(){this.condition=!1,this.promise=null,this.resolveFn=null}async waitForCondition(){this.condition||(this.promise||(this.promise=new Promise(n=>{this.resolveFn=n})),await this.promise)}}function Vo(t){const n=Object.getPrototypeOf(t),o=Object.getOwnPropertyNames(n);for(const r of o){const l=t[r];r!=="constructor"&&typeof l=="function"&&(t[r]=l.bind(t))}}function Po(){return{actionWrapperClass:"",collapsed:!1,collapsedRows:1,collapseTriggerResize:!1,commonConfig:{},handleReset:void 0,handleSubmit:void 0,handleValuesChange:void 0,handleCollapsedChange:void 0,layout:"horizontal",resetButtonOptions:{},schema:[],scrollToFirstError:!1,showCollapseButton:!1,showDefaultActions:!0,submitButtonOptions:{},submitOnChange:!1,submitOnEnter:!1,wrapperClass:"grid-cols-1",values:{}}}class Ee{form;isMounted=!1;state=null;stateHandler;store;componentRefMap=new Map;latestSubmissionValues=null;prevState=null;constructor(n={}){const{...o}=n,r=Po();this.store=new xo({...r,...o},{onUpdate:()=>{this.prevState=this.state,this.state=this.store.getState(),this.updateState()}}),this.state=this.store.getState(),this.stateHandler=new No,Vo(this)}getFieldComponentRef(n){let o=this.componentRefMap.has(n)?this.componentRefMap.get(n):void 0;if(o&&o.$&&o.$.type&&o.$.type.name==="AsyncComponentWrapper"&&o.$.subTree&&o.$.subTree.ref){const r=o.$.subTree.ref;Array.isArray(r)?r.length>0&&r[0]&&e.isRef(r[0].r)&&(o=r[0].r.value):e.isRef(r.r)&&(o=r.r.value)}return o}getFocusedField(){for(const n of this.componentRefMap.keys()){const o=this.getFieldComponentRef(n);if(o){let r=null;if(o instanceof HTMLElement?r=o:o.$el instanceof HTMLElement&&(r=o.$el),!r)continue;if(r===document.activeElement||r.contains(document.activeElement))return n}}}getLatestSubmissionValues(){return this.latestSubmissionValues||{}}getState(){return this.state}async getValues(){const n=await this.getForm();return n.values?this.handleRangeTimeValue(n.values):{}}async isFieldValid(n){return(await this.getForm()).isFieldValid(n)}merge(n){const o=[this,n],r=new Proxy(n,{get(l,a){return a==="merge"?s=>(o.push(s),r):a==="submitAllForm"?async(s=!0)=>{try{const i=await Promise.all(o.map(async h=>(await h.validate()).valid?e.toRaw(await h.getValues()||{}):void 0));return i.some(h=>!h)?void 0:s?Object.assign({},...i):i}catch(i){console.error("Validation error:",i)}}:l[a]}});return r}mount(n,o){this.isMounted||(this.form=n,this.stateHandler.setConditionTrue(),this.setLatestSubmissionValues({...e.toRaw(this.handleRangeTimeValue(this.form.values))}),o&&(this.componentRefMap=o),this.isMounted=!0)}async removeSchemaByFields(n){const o=new Set(n),l=(this.state?.schema??[]).filter(a=>a.fieldName&&!o.has(a.fieldName));this.setState({schema:l})}async resetForm(n,o){return(await this.getForm()).resetForm(n,o)}async resetValidate(){const n=await this.getForm();Object.keys(n.errors.value).forEach(r=>{n.setFieldError(r,void 0)})}scrollToFirstError(n){const o=typeof n=="string"?n:Object.keys(n)[0];if(!o)return;let r=document.querySelector(`[name="${o}"]`);if(!r){const l=this.getFieldComponentRef(o);l&&l.$el instanceof HTMLElement?r=l.$el:l instanceof HTMLElement&&(r=l)}r&&r.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})}async setFieldValue(n,o,r){const l=await this.getForm();if(n.includes(".")||n.includes("[")){const a={...l.values},s=Q.set(a,n,o);l.setValues(s,r)}else l.setValues({[n]:o},r)}setLatestSubmissionValues(n){this.latestSubmissionValues={...e.toRaw(n)}}setState(n){P.isFunction(n)?this.store.setState(o=>ee(o,n(o))):this.store.setState(o=>ee(o,n))}async setValues(n,o=!0,r=!1){const l=await this.getForm(),a=l.values||{},s={...n};if(this.handleValueToObjectFields(s),Object.keys(s).some(y=>y.includes(".")||y.includes("["))){let y={...a};for(const[g,c]of Object.entries(s))y=Q.set(y,g,c);o&&(y=this.filterNestedValues(y,a)),l.setValues(y,r);return}if(!o){l.setValues(s,r);return}const h=this.filterAndMergeValues(s,a);l.setValues(h,r)}filterNestedValues(n,o){if(!P.isObject(n)||!P.isObject(o)||Array.isArray(n))return n;const r={};for(const l in n)if(Object.prototype.hasOwnProperty.call(n,l)&&l in o){const a=n[l],s=o[l];P.isObject(a)&&!Array.isArray(a)&&!Z(a)&&!v(a)&&P.isObject(s)&&!Array.isArray(s)&&!Z(s)&&!v(s)?r[l]=this.filterNestedValues(a,s):r[l]=a}return r}filterAndMergeValues(n,o){if(!P.isObject(n)||!P.isObject(o)||Array.isArray(n))return n;const r={};for(const l in n)if(Object.prototype.hasOwnProperty.call(n,l)&&l in o){const a=n[l],s=o[l];P.isObject(a)&&!Array.isArray(a)&&!Z(a)&&!v(a)&&P.isObject(s)&&!Array.isArray(s)&&!Z(s)&&!v(s)?r[l]=this.filterAndMergeValues(a,s):r[l]=a}return r}async resetValues(n){return this.setValues(n)}async submitForm(n){n?.preventDefault(),n?.stopPropagation();const o=await this.getForm(),{valid:r,errors:l}=await o.validate(),a=e.toRaw(await this.getValues());return r?await this.state?.handleSubmit?.(a):this.state?.scrollToFirstError&&this.scrollToFirstError(l),{valid:r,values:a,errors:l}}unmount(){this.form?.resetForm?.(),this.latestSubmissionValues=null,this.isMounted=!1,this.stateHandler.reset()}updateSchema(n){const o=[...n];if(!o.every(s=>Reflect.has(s,"fieldName")&&s.fieldName)){console.error("All items in the schema array must have a valid `fieldName` property to be updated");return}const l=P.cloneDeep(this.state?.schema??[]),a={};o.forEach(s=>{s.fieldName&&(a[s.fieldName]=s)}),l.forEach((s,i)=>{if(!s.fieldName)return;const h=a[s.fieldName];h&&(l[i]=ee(s,h))}),this.setState({schema:l})}async validate(n){const r=await(await this.getForm()).validate(n);return Object.keys(r?.errors??{}).length>0&&(console.error("validate error",r?.errors),this.state?.scrollToFirstError&&this.scrollToFirstError(r.errors)),r}async validateAndSubmitForm(){const n=await this.getForm(),{valid:o,errors:r}=await n.validate();if(!o){this.state?.scrollToFirstError&&this.scrollToFirstError(r);return}return await this.submitForm()}async validateField(n,o){const l=await(await this.getForm()).validateField(n,o);return Object.keys(l?.errors??{}).length>0&&(console.error("validate error",l?.errors),this.state?.scrollToFirstError&&this.scrollToFirstError(n)),l}async getForm(){if(this.isMounted||await this.stateHandler.waitForCondition(),!this.form?.meta)throw new Error("<SunnyUseForm /> is not mounted");return this.form}handleMultiFields=n=>{const o=this.state?.arrayToStringFields;if(!o||!Array.isArray(o))return;const r=(l,a=",")=>{this.processFields(l,a,n,(s,i)=>{if(Array.isArray(s))return s.join(i);if(typeof s=="string"){if(s==="")return[];const h=i.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`);return s.split(new RegExp(h))}else return s})};if(o.every(l=>typeof l=="string")){const l=o[o.length-1]||"",a=l.length===1?o.slice(0,-1):o,s=l.length===1?l:",";r(a,s);return}o.forEach(l=>{if(Array.isArray(l)){const[a,s=","]=l;if(!Array.isArray(a)){console.warn(`Invalid field configuration: fields should be an array of strings, got ${typeof a}`);return}r(a,s)}})};handleObjectToValueFields=n=>{const o=this.state?.objectToValueFields;!o||!Array.isArray(o)||o.forEach(r=>{const l=n[r];if(!Array.isArray(l)||l.length===0)return;const a=this.state?.schema?.find(g=>g.fieldName===r);if(!a)return;let s=a.componentProps;if(typeof s=="function")try{s=s(n,this.form)}catch(g){console.warn(`[SunnyForm] Failed to resolve componentProps for field ${r}`,g);return}const h=(s?.modalProps?.fieldNames||s?.fieldNames)?.value;if(!h)return;const y=l.map(g=>g&&typeof g=="object"?g[h]:g).filter(g=>g!=null).join(",");n[r]=y})};handleValueToObjectFields=n=>{const o=this.state?.objectToValueFields;!o||!Array.isArray(o)||o.forEach(r=>{const l=n[r];if(typeof l!="string"||l===""||Array.isArray(l))return;const a=this.state?.schema?.find(c=>c.fieldName===r);if(!a)return;let s=a.componentProps;if(typeof s=="function")try{s=s(n,this.form)}catch(c){console.warn(`[SunnyForm] Failed to resolve componentProps for field ${r}`,c);return}const i=s?.modalProps?.fieldNames||s?.fieldNames,h=i?.value||"value",y=i?.label||"label";if(!i?.value)return;const g=l.split(",").map(c=>c.trim()).filter(c=>c!=="").map(c=>({[h]:c,[y]:c}));n[r]=g})};handleRangeTimeValue=n=>{const o={...n},r=this.state?.fieldMappingTime;return this.handleMultiFields(o),this.handleObjectToValueFields(o),!r||!Array.isArray(r)||r.forEach(([l,[a,s],i="YYYY-MM-DD"])=>{if(a&&s&&o[l]===null&&(Reflect.deleteProperty(o,a),Reflect.deleteProperty(o,s)),!o[l]){Reflect.deleteProperty(o,l);return}const[h,y]=o[l];if(i===null)o[a]=h,o[s]=y;else if(P.isFunction(i))o[a]=i(h,l),o[s]=i(y,l);else{const[g,c]=Array.isArray(i)?i:[i,i];o[a]=h?Be(h,g):void 0,o[s]=y?Be(y,c):void 0}Reflect.deleteProperty(o,l)}),o};processFields=(n,o,r,l)=>{n.forEach(a=>{const s=r[a];s!=null&&(r[a]=l(s,o))})};updateState(){const n=this.state?.schema??[],o=this.prevState?.schema??[];if(n.length<o.length){const r=new Set(n.map(a=>a.fieldName)),l=o.filter(a=>!r.has(a.fieldName));for(const a of l)a.fieldName&&this.form?.setFieldValue?.(a.fieldName,void 0)}}useStore}const xe=Symbol("FormRenderProps"),Io=Symbol("ComponentRefMap"),Ne=Symbol("FieldSlots"),Ro=t=>{e.provide(xe,t)},de=()=>{const t=e.inject(xe);if(!t)throw new Error("injectRenderFormProps must be used within provideFormRenderProps");return t},Fo=t=>{e.provide(Io,t)},To=t=>{e.provide(Ne,t)},Mo=()=>e.inject(Ne),Ve=()=>{const t=de(),n=e.computed(()=>t.layout==="vertical");return{props:t,isVertical:n,componentBindEventMap:e.computed(()=>t.config?.modelPropNameMap)}},Pe=Symbol("FormPropsKey");function Ie(t){e.provide(Pe,t)}function Lo(){const t=e.inject(Pe);if(!t)throw new Error("Form context not found (表单上下文未找到,请确保在 SunnyForm 或 SunnyUseForm 内部使用)");return t}function Do(t){const n=e.useSlots(),o=e.computed(()=>{const a=e.unref(t),s={};return(a.schema||[]).forEach(i=>{i.fieldName&&i.defaultValue!==void 0&&(s[i.fieldName]=i.defaultValue)}),a.values&&Object.assign(s,a.values),s}),r=U.useForm({initialValues:o.value}),l=e.computed(()=>{const a=[],s=Object.keys(n);for(const i of s)i!=="default"&&typeof n[i]=="function"&&a.push(i);return a});return{form:r,delegatedSlots:l}}const jo=e.defineAsyncComponent(()=>Promise.resolve().then(()=>wn));U.defineRule("required",t=>t==null||t===""||Array.isArray(t)&&t.length===0?"此项必填":!0);const Oo={Input:k.Input,InputPassword:k.InputPassword,InputNumber:k.InputNumber,Textarea:k.Textarea,Select:k.Select,Checkbox:k.Checkbox,CheckboxGroup:k.CheckboxGroup,Radio:k.Radio,RadioGroup:k.RadioGroup,Switch:k.Switch,DatePicker:k.DatePicker,RangePicker:k.RangePicker,TimePicker:k.TimePicker,Upload:k.Upload,Rate:k.Rate,Slider:k.Slider,Cascader:k.Cascader,TreeSelect:k.TreeSelect,SunnySelect:k.Select,SunnyCheckbox:k.Checkbox,SunnyRadio:k.Radio,SunnySwitch:k.Switch,SunnyDatePicker:k.DatePicker,SunnyTimePicker:k.TimePicker,SunnyUpload:k.Upload,SunnyBusinessSearch:jo},Re={};function zo(t){const{config:n,defineRules:o}=t,{disabledOnChangeListener:r=!0,disabledOnInputListener:l=!0,emptyStateValue:a=void 0,businessSearchAdapter:s}=n||{};if(Object.assign(Re,{disabledOnChangeListener:r,disabledOnInputListener:l,emptyStateValue:a,businessSearchAdapter:s}),o)for(const i of Object.keys(o))U.defineRule(i,o[i])}function Qo(t){const n=U.useFormValues(),r=de().form;if(!n)throw new Error("useDependencies should be used within <SunnyForm> (VeeValidate Form)");const l=e.computed(()=>n.value),a=e.computed(()=>t()),s=e.computed(()=>{const f=a.value;if(!f)return!0;const{if:d}=f,p=l.value;return P.isFunction(d)?!!d(p,r):P.isBoolean(d)?d:!0}),i=e.computed(()=>{const f=a.value;if(!f)return!0;const{show:d}=f,p=l.value;return P.isFunction(d)?!!d(p,r):P.isBoolean(d)?d:!0}),h=e.computed(()=>{const f=a.value;if(!f)return!1;const{disabled:d}=f,p=l.value;return P.isFunction(d)?!!d(p,r):P.isBoolean(d)?d:!1}),y=e.computed(()=>{const f=a.value;if(!f)return!1;const{required:d}=f,p=l.value;return P.isFunction(d)?!!d(p,r):!1}),g=e.computed(()=>{const f=a.value;if(!f)return{};const{componentProps:d}=f,p=l.value;return P.isFunction(d)?d(p,r)||{}:{}}),c=e.computed(()=>{const f=a.value;if(!f)return;const{rules:d}=f,p=l.value;if(P.isFunction(d))return d(p,r)});return{dynamicComponentProps:g,dynamicRules:c,isDisabled:h,isIf:s,isRequired:y,isShow:i}}const $o=e.defineComponent({__name:"FormField",props:{schema:{}},setup(t){const n=t,o=U.useFormValues(),r=de(),{isVertical:l}=Ve(),a=r.form,s=Mo(),{dynamicComponentProps:i,dynamicRules:h,isDisabled:y,isIf:g,isRequired:c,isShow:f}=Qo(()=>n.schema.dependencies),d=e.computed(()=>{const{component:E}=n.schema;return P.isString(E)&&Oo[E]||E}),p=e.computed(()=>{const{component:E}=n.schema;return E==="Slot"}),u=e.computed(()=>{if(!p.value||!s)return!1;const E=n.schema.fieldName;return E?!!s[E]:!1}),S=(E,T)=>{const I=n.schema.fieldName;if(!I||!s||!s[I])return null;const M=s[I],R=D=>{E.onInput(D)},$={model:o.value,value:E.value,setValue:R,disabled:N.value,errorMessage:T,field:E,componentProps:m.value};return M($)},w=e.defineComponent({name:"FieldSlotRenderer",props:{field:{type:Object,required:!0},errorMessage:{type:String,default:void 0}},setup(E){return()=>S(E.field,E.errorMessage)}}),C=e.computed(()=>n.schema.hidden?!1:g.value&&f.value),A=e.computed(()=>h.value||n.schema.rules),x=e.computed(()=>{if(!C.value)return!1;if(!A.value)return c.value;if(c.value)return!0;if(P.isString(A.value))return A.value.split("|").includes("required");const E=e.toRaw(A.value);let T=E?.isOptional?.();if(E?._def?.typeName==="ZodDefault"){const M=E?._def.innerType;M&&(T=M.isOptional?.())}return!T}),B=e.computed(()=>{if(!C.value)return null;let E=e.toRaw(A.value);if(!E)return c.value?"required":void 0;if(P.isString(E))return E;if(!!x.value){const I=E?.unwrap?.();I&&(E=I)}return Ge.toTypedSchema(E)}),m=e.computed(()=>{const{componentProps:E,commonComponentProps:T}=n.schema,I=P.isFunction(E)?E(o.value,a):E;return{...T,...I,...i.value}}),b=E=>{const T=m.value,I=(R,$)=>(...D)=>{P.isFunction(R)&&R(...D),$(...D)},M=R=>{P.isFunction(T?.onInput)&&T.onInput(R),E.onInput(R)};return{...T,onInput:I(T?.onInput,E.onInput),onChange:I(T?.onChange,E.onChange),modelValue:E.value,"onUpdate:modelValue":M}};e.watch(()=>m.value?.autofocus,E=>{E===!0&&e.nextTick(()=>{})},{immediate:!0});const N=e.computed(()=>y.value||n.schema.disabled||m.value?.disabled),F=e.computed(()=>{if(!(l.value||!n.schema.labelWidth))return{style:{flex:1}}}),j=e.computed(()=>{if(l.value||!n.schema.labelWidth)return;const E=n.schema.labelWidth,T=typeof E=="number"?`${E}px`:E;return{style:{width:T,minWidth:T,maxWidth:T,flex:`0 0 ${T}`}}});return(E,T)=>{const I=e.resolveComponent("a-form-item");return C.value&&t.schema.fieldName?(e.openBlock(),e.createBlock(e.unref(U.Field),{key:0,name:t.schema.fieldName,rules:B.value,label:t.schema.label},{default:e.withCtx(({field:M,errorMessage:R})=>[e.createVNode(I,e.mergeProps({label:t.schema.label,help:R||t.schema.help,"validate-status":R?"error":void 0,required:x.value,"label-col-props":j.value,"wrapper-col-props":F.value},t.schema.formFieldProps),{default:e.withCtx(()=>[u.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(w)),{key:0,field:M,"error-message":R},null,8,["field","error-message"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value),e.mergeProps({key:1},b(M),{disabled:N.value}),null,16,["disabled"]))]),_:2},1040,["label","help","validate-status","required","label-col-props","wrapper-col-props"])]),_:1},8,["name","rules","label"])):e.createCommentVNode("",!0)}}}),Fe=e.defineComponent({__name:"form-actions",props:{modelValue:{type:Boolean},formApi:{}},emits:["update:modelValue","reset","submit"],setup(t,{expose:n,emit:o}){const r=t,l=o,{props:a}=Ve(),s=U.useFormContext(),i=e.computed({get:()=>r.modelValue??!1,set:d=>l("update:modelValue",d)}),h=e.computed(()=>({content:"重置",show:!0,type:"outline",...e.unref(a).resetButtonOptions})),y=e.computed(()=>({content:"查询",show:!0,htmlType:r.formApi?"button":"submit",...e.unref(a).submitButtonOptions}));async function g(d){if(r.formApi){d?.preventDefault(),d?.stopPropagation();const p=e.unref(a),{valid:u}=await r.formApi.validate();if(!u)return;const S=e.toRaw(await r.formApi.getValues())??{};await p.handleSubmit?.(S)}}async function c(d){d?.preventDefault(),d?.stopPropagation();const p=e.unref(a);if(r.formApi){const u=e.toRaw(await r.formApi.getValues())??{};p.handleReset?await p.handleReset(u):r.formApi.resetForm()}else if(s)if(p.handleReset){const u=s.values;await p.handleReset(u)}else s.resetForm();l("reset")}e.watch(()=>i.value,()=>{e.unref(a).collapseTriggerResize&&window.dispatchEvent(new Event("resize"))});const f=e.computed(()=>{const d=e.unref(a),p=d.actionPosition||"right",u=["flex","items-center","gap-3",d.layout==="vertical"?"self-end":"self-start",d.layout==="inline"?"":"w-full",d.actionWrapperClass];switch(p){case"center":{u.push("justify-center");break}case"left":{u.push("justify-start");break}default:{u.push("justify-end");break}}return u.join(" ")});return n({handleReset:c,handleSubmit:g}),(d,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(f.value)},[e.unref(e.unref(a)).actionButtonsReverse?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(d.$slots,"submit-before"),y.value.show?(e.openBlock(),e.createBlock(e.unref(k.Button),e.mergeProps({key:0,type:"primary",size:e.unref(e.unref(a)).size||"small",onClick:g},y.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0)],64)),e.renderSlot(d.$slots,"reset-before"),h.value.show?(e.openBlock(),e.createBlock(e.unref(k.Button),e.mergeProps({key:1,size:e.unref(e.unref(a)).size,onClick:c},h.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0),e.unref(e.unref(a)).actionButtonsReverse?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.renderSlot(d.$slots,"submit-before"),y.value.show?(e.openBlock(),e.createBlock(e.unref(k.Button),e.mergeProps({key:0,type:"primary",size:e.unref(e.unref(a)).size||"small",onClick:g},y.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"expand-before"),e.unref(e.unref(a)).showCollapseButton?(e.openBlock(),e.createElementBlock("div",{key:3,class:"cursor-pointer ml-2 text-primary hover:opacity-80 transition-opacity select-none",onClick:p[0]||(p[0]=u=>i.value=!i.value)},[e.createElementVNode("span",null,e.toDisplayString(i.value?"展开":"收起"),1)])):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"expand-after")],2))}});function Uo(t){const n={xs:576,sm:576,md:768,lg:992,xl:1200,xxl:1600},o=me.useBreakpoints(n),r=e.computed(()=>{const i={},h=t.schema||[],y=a(),g=t.commonConfig?.colProps;return h.forEach(c=>{if(!c.fieldName)return;const f=c.colProps||g;i[c.fieldName]=s(f,c.colSpan,y)}),i}),l=e.computed(()=>{const i=a();if(t.layout!=="inline"){if(t.actionColProps)return s(t.actionColProps,void 0,i);if(t.showCollapseButton){const h=t.commonConfig?.colProps;return s(h||{xs:12,sm:12,md:8,lg:6},void 0,i)}return 24}});function a(){return o.greaterOrEqual("xxl").value?"xxl":o.greaterOrEqual("xl").value?"xl":o.greaterOrEqual("lg").value?"lg":o.greaterOrEqual("md").value?"md":o.greaterOrEqual("sm").value?"sm":"xs"}function s(i,h,y){if(i){const g=["xxl","xl","lg","md","sm","xs"],c=g.indexOf(y);for(let f=c;f<g.length;f++){const d=g[f],p=i[d];if(p!==void 0)return typeof p=="object"?p.span??24:p}if(i.span!==void 0)return i.span}return h!==void 0?h:24}return{spans:r,actionSpan:l}}const qo={class:"h-full flex flex-col justify-end"},Te=e.defineComponent({__name:"Form",props:{formApi:{},form:{}},emits:["submit"],setup(t,{expose:n,emit:o}){const r=t,l=o,a=e.useSlots(),s=Lo(),i=e.reactive({...s.value});e.watch(()=>s.value,m=>{Object.assign(i,m)},{deep:!0}),Ro(i),To(a);const{spans:h,actionSpan:y}=Uo(i),g=e.computed(()=>{const{commonConfig:m={},labelWidth:b,schema:N=[]}=i,{componentProps:F={},formFieldProps:j={},...E}=m,T={...E};return b!==void 0&&Object.assign(T,{labelWidth:b}),N.map(I=>({...T,...I,hidden:I.hide,commonComponentProps:F,formFieldProps:{...j,...I.formFieldProps||{}},componentProps:I.componentProps}))}),c=e.computed(()=>i.layout==="inline"),{handleSubmit:f,resetForm:d,setValues:p,values:u,validate:S,errors:w,meta:C}=r.form||U.useForm({initialValues:g.value.reduce((m,b)=>(b.fieldName&&(m[b.fieldName]=b.defaultValue),m),{})});n({validate:async()=>({valid:(await S()).valid,errors:w.value}),handleSubmit:f}),e.onMounted(()=>{r.formApi&&r.formApi.mount({handleSubmit:f,resetForm:d,setValues:p,values:u,validate:S,errors:w,meta:C})});const A=f(m=>{l("submit",m),i.handleSubmit&&i.handleSubmit(m)}),x=m=>{i.collapsed=m,i.handleCollapsedChange?.(m),r.formApi&&r.formApi.setState({collapsed:m})},B=e.computed(()=>{const{compact:m,gridProps:b}=i,N=m?8:16,F=b?.xGap??b?.["x-gap"]??N,j=b?.yGap??b?.["y-gap"]??N;return{x:F,y:j}});return(m,b)=>{const N=e.resolveComponent("a-col"),F=e.resolveComponent("a-row"),j=e.resolveComponent("a-form");return e.openBlock(),e.createBlock(j,{model:{},layout:e.unref(s).layout||"horizontal",size:e.unref(s).size||"small",class:"arco-form",onSubmit:b[0]||(b[0]=(E,T)=>e.unref(A)(T))},{default:e.withCtx(()=>[e.createVNode(F,{gutter:[B.value.x,B.value.y],class:e.normalizeClass(i.wrapperClass),align:(i.layout||"horizontal")==="vertical"?"stretch":void 0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(E,T)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:E.fieldName||T},[E.fieldName&&!E.hidden&&(!i.collapsed||T<24/(e.unref(h)[E.fieldName]??24)*(i.collapsedRows??1)-1)?(e.openBlock(),e.createBlock(N,{key:0,span:e.unref(h)[E.fieldName]??(c.value?void 0:24)},{default:e.withCtx(()=>[e.createVNode($o,{schema:E},null,8,["schema"])]),_:2},1032,["span"])):e.createCommentVNode("",!0)],64))),128)),i.showDefaultActions||e.unref(a).actions?(e.openBlock(),e.createBlock(N,{key:0,span:e.unref(y),style:e.normalizeStyle(c.value?{marginLeft:"16px"}:{flex:1,textAlign:"right"})},{default:e.withCtx(()=>[e.createElementVNode("div",qo,[e.unref(a).actions?e.renderSlot(m.$slots,"actions",{key:0,collapsed:i.collapsed,formApi:r.formApi}):(e.openBlock(),e.createBlock(Fe,{key:1,"model-value":i.collapsed,"onUpdate:modelValue":x,"form-api":r.formApi},e.createSlots({_:2},[e.unref(a)["submit-before"]?{name:"submit-before",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"submit-before")]),key:"0"}:void 0,e.unref(a)["reset-before"]?{name:"reset-before",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"reset-before")]),key:"1"}:void 0,e.unref(a)["expand-before"]?{name:"expand-before",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"expand-before")]),key:"2"}:void 0,e.unref(a)["expand-after"]?{name:"expand-after",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"expand-after")]),key:"3"}:void 0]),1032,["model-value","form-api"]))])]),_:3},8,["span","style"])):e.createCommentVNode("",!0)]),_:3},8,["gutter","class","align"])]),_:3},8,["layout","size"])}}}),Me=e.defineComponent({__name:"SunnyUseForm",props:{id:{},layout:{},size:{},schema:{},labelWidth:{},wrapperClass:{},gridProps:{},actionWrapperClass:{},commonConfig:{},config:{},showDefaultActions:{type:Boolean,default:void 0},submitButtonOptions:{},resetButtonOptions:{},submitOnEnter:{type:Boolean,default:void 0},submitOnChange:{type:Boolean,default:void 0},handleValuesChange:{},handleCollapsedChange:{},handleSubmit:{},scrollToFirstError:{type:Boolean},handleReset:{},collapsed:{type:Boolean,default:void 0},showCollapseButton:{type:Boolean,default:void 0},collapsedRows:{},collapseTriggerResize:{type:Boolean,default:void 0},compact:{type:Boolean,default:void 0},actionLayout:{},actionPosition:{},actionColProps:{},values:{},fieldMappingTime:{},arrayToStringFields:{},objectToValueFields:{},formApi:{}},setup(t){const n=t,o=n.formApi.useStore?.()||e.computed(()=>({})),r=e.computed(()=>{const g=Object.entries(n).reduce((c,[f,d])=>(d!==void 0&&(c[f]=d),c),{});return{...o.value,...g}}),l=new Map,{delegatedSlots:a,form:s}=Do(r);Ie(r),Fo(l),e.onBeforeUnmount(()=>{n.formApi.unmount()});const i={};e.onMounted(async()=>{n.formApi.mount(s,l),n.formApi.setState({values:P.cloneDeep(s.values)}),await e.nextTick(),e.watch(()=>s.values,async g=>{if(n.formApi.setState({values:P.cloneDeep(g)}),h(),!r.value.handleValuesChange)return;const c=r.value.schema?.map(d=>d.fieldName)||[];if(c.length===0)return;const f=[];for(const d of c){const p=P.get(g,d),u=P.get(i,d);P.isEqual(p,u)||(f.push(d),P.set(i,d,p))}if(f.length>0){const d=await n.formApi.getValues();r.value.handleValuesChange(P.cloneDeep(d??{}),f)}},{deep:!0})});const h=me.useDebounceFn(async()=>{o.value.submitOnChange&&await n.formApi.submitForm()},300);function y(g){o.value.submitOnEnter&&(g.target instanceof HTMLTextAreaElement||(g.preventDefault(),n.formApi.submitForm()))}return(g,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value.wrapperClass)},[e.createVNode(Te,e.mergeProps(r.value,{form:e.unref(s),"form-api":n.formApi,onKeydown:e.withKeys(y,["enter"])}),e.createSlots({default:e.withCtx(()=>[]),_:2},[e.renderList(e.unref(a),f=>({name:f,fn:e.withCtx(d=>[e.renderSlot(g.$slots,f,e.normalizeProps(e.guardReactiveProps(d)))])}))]),1040,["form","form-api"])],2))}});function Le(t={}){const n=new Ee(t);return n.useStore=r=>We.useStore(n.store.store,r),e.isReactive(t)&&e.watch(()=>t.schema,()=>{t.schema&&n.setState({schema:t.schema})},{immediate:!0}),[e.defineComponent({name:"useSunnyFormWrapper",setup(r,{attrs:l,slots:a}){return n.setState({...r,...l}),()=>e.h(Me,{...r,...l,formApi:n},a)}}),n]}const De=e.defineComponent({__name:"SunnyForm",props:{id:{},layout:{},size:{},schema:{},labelWidth:{},wrapperClass:{},gridProps:{},actionWrapperClass:{},commonConfig:{},config:{},showDefaultActions:{type:Boolean},submitButtonOptions:{},resetButtonOptions:{},submitOnEnter:{type:Boolean},submitOnChange:{type:Boolean},handleValuesChange:{type:Function},handleCollapsedChange:{type:Function},handleSubmit:{type:Function},scrollToFirstError:{type:Boolean},handleReset:{type:Function},collapsed:{type:Boolean},showCollapseButton:{type:Boolean},collapsedRows:{},collapseTriggerResize:{type:Boolean},compact:{type:Boolean},actionLayout:{},actionPosition:{},actionColProps:{},values:{},fieldMappingTime:{},arrayToStringFields:{},objectToValueFields:{}},emits:["submit","reset","update:collapsed"],setup(t,{expose:n,emit:o}){const r=t,l=o,a=e.useSlots(),s=e.ref(null),i=e.computed(()=>r);Ie(i);const h=c=>{l("update:collapsed",c),r.handleCollapsedChange?.(c)},y=c=>{l("submit",c),r.handleSubmit?.(c)},g=()=>{l("reset",void 0)};return n({validate:async()=>s.value?s.value.validate():{valid:!1,errors:{}},submit:()=>{s.value?.handleSubmit&&s.value.handleSubmit(y)(void 0)}}),(c,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.wrapperClass)},[e.createVNode(Te,{ref_key:"formRenderRef",ref:s,onSubmit:y},e.createSlots({default:e.withCtx(()=>[r.showDefaultActions?(e.openBlock(),e.createBlock(Fe,{key:0,"model-value":r.collapsed,"onUpdate:modelValue":h,onReset:g},{"reset-before":e.withCtx(()=>[e.renderSlot(c.$slots,"reset-before")]),"submit-before":e.withCtx(()=>[e.renderSlot(c.$slots,"submit-before")]),"expand-before":e.withCtx(()=>[e.renderSlot(c.$slots,"expand-before")]),"expand-after":e.withCtx(()=>[e.renderSlot(c.$slots,"expand-after")]),_:3},8,["model-value"])):e.createCommentVNode("",!0)]),_:2},[e.renderList(e.unref(a),(d,p)=>({name:p,fn:e.withCtx(u=>[e.renderSlot(c.$slots,p,e.normalizeProps(e.guardReactiveProps(u)))])}))]),1536)],2))}});let Wo=class{gridRef;constructor(n,o){this.gridRef=n}get grid(){return this.gridRef.value?.getGrid?.()||this.gridRef.value}get $grid(){return this.grid}async reloadData(n){const o=this.grid;o&&await o.reloadData(n)}async getFullData(){const n=this.grid;return n?n.getFullData():[]}async getCheckboxRecords(){const n=this.grid;return n?n.getCheckboxRecords():[]}async addEvent(n,o){const r=this.grid;if(r){const{row:l}=await r.insertAt(n,o);await e.nextTick(),r.setEditRow(l)}}async deleteSelection(){const n=this.grid;if(n){const o=n.getCheckboxRecords();o.length>0&&await n.remove(o)}}async validate(n=!0){const o=this.grid;return o?o.validate(n):null}};const Yo=e.defineComponent({__name:"use-vxe-grid",setup(t,{expose:n}){const o=e.ref();return n({getGrid:()=>o.value}),(r,l)=>{const a=e.resolveComponent("a-config-provider");return e.openBlock(),e.createBlock(a,{size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(te.VxeGrid),e.mergeProps({ref_key:"gridRef",ref:o},r.$attrs),e.createSlots({_:2},[e.renderList(r.$slots,(s,i)=>({name:i,fn:e.withCtx(h=>[e.renderSlot(r.$slots,i,e.normalizeProps(e.guardReactiveProps(h||{})))])}))]),1040)]),_:3})}}});function Go(t){const n=e.ref(),o=new Wo(n,t);return[e.defineComponent((l,{attrs:a,slots:s})=>{const{gridEvents:i,gridOptions:h}=t,y=Object.entries(i||{}).reduce((g,[c,f])=>{const d=`on${c.charAt(0).toUpperCase()+c.slice(1)}`;return g[d]=f,g},{});return()=>e.h(Yo,{ref:n,...l,...a,...h,...y},s)}),o]}const Jo=Object.freeze(Object.defineProperty({__proto__:null,BusinessSearchRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]?JSON.stringify(t[n.field]):""])],edit:({row:t,column:n})=>[e.createVNode(fe,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},DatePickerRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>[e.createVNode(k.DatePicker,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},InputNumberRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>{const o=t[n.field],r=typeof o=="string"&&o!==""?Number(o):o;return[e.createVNode(k.InputNumber,e.mergeProps({modelValue:r,"onUpdate:modelValue":l=>{typeof o=="string"&&l!==null&&l!==void 0?t[n.field]=String(l):t[n.field]=l}},n.params),null)]}}},InputRangeRender:{editRender:{},slots:{default:({row:t,column:n})=>{const o=n.params?.fieldNames;let r;if(o){const l=t[o.start],a=t[o.end];r=[l,a]}else r=t[n.field];return[e.createVNode("span",null,[Q.isArray(r)?r.join(" ~ "):r])]},edit:({row:t,column:n})=>{const o=n.params?.fieldNames,r=n.params?.inputType||"input",l=r==="number"?k.InputNumber:k.Input;if(o){const i=t[o.start],h=t[o.end],y=r==="number"&&typeof i=="string"&&i!==""?Number(i):i,g=r==="number"&&typeof h=="string"&&h!==""?Number(h):h;return[e.createVNode("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},[e.createVNode(l,e.mergeProps({modelValue:y,"onUpdate:modelValue":c=>{r==="number"&&typeof i=="string"&&c!==null&&c!==void 0?t[o.start]=String(c):t[o.start]=c}},n.params),null),e.createVNode("span",null,[e.createTextVNode("~")]),e.createVNode(l,e.mergeProps({modelValue:g,"onUpdate:modelValue":c=>{r==="number"&&typeof h=="string"&&c!==null&&c!==void 0?t[o.end]=String(c):t[o.end]=c}},n.params),null)])]}const a=t[n.field],s=r==="number"&&typeof a=="string"&&a!==""?Number(a):a;return[e.createVNode(l,e.mergeProps({modelValue:s,"onUpdate:modelValue":i=>{r==="number"&&typeof a=="string"&&i!==null&&i!==void 0?t[n.field]=String(i):t[n.field]=i}},n.params),null)]}}},InputRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>[e.createVNode(k.Input,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},MonthPickerRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>[e.createVNode(k.MonthPicker,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},RangePickerRender:{editRender:{},slots:{default:({row:t,column:n})=>{const o=n.params?.fieldNames;let r;if(o){const l=t[o.start],a=t[o.end];r=[l,a]}else r=t[n.field];return[e.createVNode("span",null,[Q.isArray(r)?r.join(" / "):r])]},edit:({row:t,column:n})=>{const o=n.params?.fieldNames;let r;if(o){const l=t[o.start],a=t[o.end];r=[l,a]}else r=t[n.field];return[e.createVNode(k.RangePicker,e.mergeProps({modelValue:r,"onUpdate:modelValue":l=>{o?Q.isArray(l)&&l.length===2?(t[o.start]=l[0],t[o.end]=l[1]):(t[o.start]=void 0,t[o.end]=void 0):t[n.field]=l}},n.params),null)]}}},SelectRender:{editRender:{},slots:{default:({row:t,column:n})=>{const o=t[n.field],l=n.params?.options?.find(a=>a.value===o);return[e.createVNode("span",null,[l?.label??o])]},edit:({row:t,column:n})=>[e.createVNode(k.Select,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},SpanRender:{editRender:{},slots:{default:({row:t,column:n})=>{const o=t[n.field],l=n.params?.options?.find(a=>a.value===o);return[e.createVNode("span",null,[l?.label??o])]}}},SpanselectRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])]}},SwitchRender:{editRender:{},slots:{default:({row:t,column:n})=>{const{checkedValue:o,checkedText:r,uncheckedValue:l,uncheckedText:a}=n.params||{},s=t[n.field];return o!==void 0&&r!==void 0&&s===o?[e.createVNode("span",null,[r])]:l!==void 0&&a!==void 0&&s===l?[e.createVNode("span",null,[a])]:[e.createVNode("span",null,[s])]},edit:({row:t,column:n})=>[e.createVNode(k.Switch,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},TextareaRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>{const o=e.ref(!1),r=e.ref(t[n.field]||"");return[e.createVNode(k.Popover,{popupVisible:o.value,"onUpdate:popupVisible":l=>o.value=l,trigger:"click",position:"top"},{default:()=>[e.createVNode(k.Input,e.mergeProps({modelValue:r.value,"onUpdate:modelValue":l=>{r.value=l,t[n.field]=l},onFocus:()=>{o.value=!0}},n.params),null)],content:()=>[e.createVNode(k.Textarea,e.mergeProps({modelValue:r.value,"onUpdate:modelValue":l=>{r.value=l,t[n.field]=l},autoSize:{minRows:3,maxRows:6},placeholder:n.params?.placeholder||"请输入内容"},n.params),null)]})]}}},UploadRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]?JSON.stringify(t[n.field]):""])],edit:({row:t,column:n})=>[e.createVNode(ke,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},WeekPickerRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>[e.createVNode(k.WeekPicker,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},YearPickerRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>[e.createVNode(k.YearPicker,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}}},Symbol.toStringTag,{value:"Module"})),Ko=Object.freeze(Object.defineProperty({__proto__:null,requiredValidator:({row:t,rule:n})=>{const o=t[n.field];if(o==null||o==="")return new Error(n.message)}},Symbol.toStringTag,{value:"Module"}));class _o{gridRef;constructor(n){this.gridRef=n}get grid(){return this.gridRef.value?.getGrid?.()||this.gridRef.value}get $grid(){return this.grid}async addEvent(n={}){const o=this.grid;if(o){const{record:r={},index:l=-1}=n,{row:a}=await o.insertAt(r,l);await e.nextTick(),o.setEditRow(a)}}getSelection(){const n=this.grid;return n?n.getCheckboxRecords():[]}async deleteSelection(){const n=this.grid;if(n){const o=n.getCheckboxRecords();o.length>0&&await n.remove(o)}}commitProxy(n,...o){const r=this.grid;if(r)return r.commitProxy(n,...o)}}function Ho(t,n){let o=null,r=null,l=null,a=null,s=null,i=!1,h=!1;const y=u=>{if(!u)return window;let S=u.parentElement;for(;S;){const w=window.getComputedStyle(S);if(/(auto|scroll)/.test(w.overflow+w.overflowY+w.overflowX))return S;S=S.parentElement}return window},g=()=>{o&&o.classList.contains("is-sticky")&&(o.style.position="",o.style.top="",o.style.left="",o.style.zIndex="",o.style.width="",o.classList.remove("is-sticky"),r&&r.parentNode&&(r.parentNode.removeChild(r),r=null)),a&&(a.style.display="none")},c=()=>{h||a&&l&&(i=!0,a.scrollLeft=l.scrollLeft,requestAnimationFrame(()=>{i=!1}))},f=()=>{i||a&&l&&(h=!0,l.scrollLeft=a.scrollLeft,requestAnimationFrame(()=>{h=!1}))},d=()=>{!t.value||a||(a=document.createElement("div"),a.className="vxe-table--sticky-scrollbar",a.style.position="fixed",a.style.bottom="0",a.style.overflowX="auto",a.style.overflowY="hidden",a.style.zIndex="101",a.style.display="none",s=document.createElement("div"),a.appendChild(s),a.addEventListener("scroll",f),document.body.appendChild(a),l=t.value.$el.querySelector(".vxe-table--body-wrapper"),l&&l.addEventListener("scroll",c))},p=()=>{if(!t.value||!o)return;if(!n.sticky){g();return}const u=t.value.$el,S=u.getBoundingClientRect(),w=o.getBoundingClientRect(),C=y(u);let A={top:0,bottom:window.innerHeight};if(C!==window&&C instanceof HTMLElement&&(A=C.getBoundingClientRect()),A.bottom>0&&A.top<window.innerHeight&&S.top<A.top&&S.bottom>w.height){const B=Math.max(0,A.top);S.bottom-w.height>B?(!o.classList.contains("is-sticky")||o.style.top!==`${B}px`||o.style.left!==`${S.left}px`)&&(o.style.position="fixed",o.style.top=`${B}px`,o.style.left=`${S.left}px`,o.style.width=`${S.width}px`,o.style.zIndex="100",o.classList.add("is-sticky"),r||(r=document.createElement("div"),o.parentNode?.insertBefore(r,o)),r.style.height=`${w.height}px`):g()}else o.classList.contains("is-sticky")&&(o.style.position="",o.style.top="",o.style.left="",o.style.width="",o.classList.remove("is-sticky"),r&&r.parentNode&&(r.parentNode.removeChild(r),r=null));if((!a||!l)&&d(),a&&l&&s){const B=l.scrollWidth,m=l.clientWidth;if(B>m){const b=window.innerHeight;S.bottom>b&&S.top<b?(a.style.display="block",a.style.width=`${S.width}px`,a.style.left=`${S.left}px`,s.style.width=`${B}px`,Math.abs(a.scrollLeft-l.scrollLeft)>1&&(a.scrollLeft=l.scrollLeft)):a.style.display="none"}else a.style.display="none"}};e.watch(()=>n.sticky,()=>{p()}),e.onMounted(()=>{setTimeout(()=>{t.value&&(o=t.value.$el.querySelector(".vxe-table--header-wrapper"),o&&(window.addEventListener("scroll",p,!0),window.addEventListener("resize",p)),d())},100)}),e.onBeforeUnmount(()=>{window.removeEventListener("scroll",p,!0),window.removeEventListener("resize",p),r&&r.parentNode&&r.parentNode.removeChild(r),a&&a.parentNode&&a.parentNode.removeChild(a),l&&l.removeEventListener("scroll",c)})}const Xo={class:"my-filter-complex"},Zo={key:0,class:"my-filter-input"},vo={class:"my-fc-footer"},en=X(e.defineComponent({__name:"FilterComplex",props:{renderOpts:Object,renderParams:Object},setup(t){const n=t,o=e.ref(),r=e.computed(()=>{const{column:c}=n.renderParams||{};return c?c.field:""}),l=()=>{const{renderParams:c}=n;if(c){const{column:f}=c,d=f.filters[0];o.value=d}};e.watch(r,()=>{l()}),l();const a=e.computed(()=>n.renderParams?.column),s=e.computed(()=>{const c=a.value;return c&&Q.hasIn(c.params,"optionlist")?"select":"input"}),i=()=>{const{renderParams:c}=n,f=o.value;if(c&&f){const{$table:d}=c,p=!!f.data;d.updateFilterOptionStatus(f,p)}},h=()=>{const{renderParams:c}=n,f={};if(c){const{$table:d}=c;d.getColumns().forEach(u=>{const{field:S,filters:w}=u;if(S&&w&&w.length){const C=w[0];C.data&&(f[S]=C.data)}})}return f},y=()=>{const{renderParams:c}=n;if(c){const{$table:f,$grid:d}=c,p=o.value;p&&f.updateFilterOptionStatus(p,!!p.data);const u=h();d.commitProxy("query",u),d.closeFilter()}},g=()=>{const{renderParams:c}=n,f=o.value;if(c&&f){const{$table:d,$grid:p}=c;f.data="",d.updateFilterOptionStatus(f,!1);const u=h();p.commitProxy("query",u),p.closeFilter()}};return(c,f)=>(e.openBlock(),e.createElementBlock("div",Xo,[o.value?(e.openBlock(),e.createElementBlock("div",Zo,[s.value==="select"&&a.value?(e.openBlock(),e.createBlock(e.unref(J.VxeSelect),{key:0,modelValue:o.value.data,"onUpdate:modelValue":f[0]||(f[0]=d=>o.value.data=d),options:a.value.params.optionlist,clearable:"",onChange:i},null,8,["modelValue","options"])):(e.openBlock(),e.createBlock(e.unref(J.VxeInput),{key:1,modelValue:o.value.data,"onUpdate:modelValue":f[1]||(f[1]=d=>o.value.data=d),clearable:"",onKeyup:e.withKeys(y,["enter"]),onInput:i},null,8,["modelValue"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",vo,[e.createVNode(e.unref(J.VxeButton),{onClick:g},{default:e.withCtx(()=>[...f[2]||(f[2]=[e.createTextVNode("重置",-1)])]),_:1}),e.createVNode(e.unref(J.VxeButton),{status:"primary",onClick:y},{default:e.withCtx(()=>[...f[3]||(f[3]=[e.createTextVNode("确认",-1)])]),_:1})])]))}}),[["__scopeId","data-v-e4891191"]]);te.VxeUI.renderer.add("MyFilterComplex",{showTableFilterFooter:!1,renderTableFilter(t,n){return e.createVNode(en,{renderOpts:t,renderParams:n},null)}});const je=e.defineComponent({components:{VxePager:J.VxePager,VxeButton:J.VxeButton},__name:"use-query-grid",props:{size:{default:"small"}},setup(t,{expose:n}){const o=t,r=e.ref(),l=e.useAttrs();return Ho(r,l),n({getGrid:()=>r.value}),(a,s)=>(e.openBlock(),e.createBlock(e.unref(te.VxeGrid),e.mergeProps({ref_key:"gridRef",ref:r},a.$attrs,{size:o.size}),e.createSlots({_:2},[e.renderList(a.$slots,(i,h)=>({name:h,fn:e.withCtx(y=>[e.renderSlot(a.$slots,h,e.normalizeProps(e.guardReactiveProps(y||{})))])}))]),1040,["size"]))}});function tn(t){const n=e.ref(),o=new _o(n);return[e.defineComponent((l,{attrs:a,slots:s})=>{const{gridEvents:i,gridOptions:h}=t,y=Object.entries(i||{}).reduce((g,[c,f])=>{const d=`on${c.charAt(0).toUpperCase()+c.slice(1)}`;return g[d]=f,g},{});return()=>e.h(je,{ref:n,...l,...a,...h,...y},s)}),o]}function Oe(t){const{props:n,emit:o,attrs:r}=t,l=e.computed(()=>n.contextMenuActions||n.actions||[]),a=e.computed(()=>{const u=r["field-names"],S=r.fieldNames;return{key:"key",title:"title",children:"children",...u||S||{}}}),s=u=>{const S=a.value.key||"key";return u[S]??u.key},i=()=>r.data||[],h=u=>{const S=s(u);return S==null?!1:i().some(w=>s(w)===S||w===u)},y=(u,S,w)=>typeof u=="boolean"?u:typeof u=="function"?u(S):w,g=u=>u?!n.enableRootContextMenu&&h(u)?[]:l.value.filter(S=>y(S.visible,u,!0)):[],c=(u,S)=>y(u.disabled,S,!1);return{canShowContextMenu:u=>g(u).length>0,getNodeActions:g,isActionDisabled:c,getNodeTitle:u=>{const S=a.value.title||"title",w=s(u);return String(u?.[S]??u?.title??w??"")},handleActionClick:async(u,S)=>{const w=g(S).find(C=>C.key===String(u));w&&(c(w,S)||(w.handler&&await w.handler(S),o("action",{key:w.key,action:w,node:S})))}}}const on={class:"sunny-resource-tree"},nn={class:"sunny-resource-tree__title"},rn=X(e.defineComponent({name:"SunnyResourceTree",inheritAttrs:!1,__name:"SunnyResourceTree",props:{contextMenuActions:{default:()=>[]},actions:{default:()=>[]},enableRootContextMenu:{type:Boolean,default:!1}},emits:["action"],setup(t,{expose:n,emit:o}){const r=t,l=o,a=e.useAttrs(),s=e.useSlots(),i=e.ref(),{canShowContextMenu:h,getNodeActions:y,isActionDisabled:g,getNodeTitle:c,handleActionClick:f}=Oe({props:r,emit:l,attrs:a}),d=(S,w)=>{f(S,w)},p=e.computed(()=>Object.keys(s).filter(S=>S!=="title")),u=(S,...w)=>i.value?.[S]?.(...w);return n({getTree:()=>i.value,toggleCheck:(S,w)=>u("toggleCheck",S,w),scrollIntoView:S=>u("scrollIntoView",S),getSelectedNodes:()=>u("getSelectedNodes"),getCheckedNodes:S=>u("getCheckedNodes",S),getHalfCheckedNodes:()=>u("getHalfCheckedNodes"),getExpandedNodes:()=>u("getExpandedNodes"),checkAll:S=>u("checkAll",S),checkNode:(S,w,C)=>u("checkNode",S,w,C),selectAll:S=>u("selectAll",S),selectNode:(S,w)=>u("selectNode",S,w),expandAll:S=>u("expandAll",S),expandNode:(S,w)=>u("expandNode",S,w)}),(S,w)=>(e.openBlock(),e.createElementBlock("div",on,[e.createVNode(e.unref(k.Tree),e.mergeProps({ref_key:"treeRef",ref:i},S.$attrs),e.createSlots({title:e.withCtx(C=>[e.unref(h)(C)?(e.openBlock(),e.createBlock(e.unref(k.Dropdown),{key:0,trigger:"contextMenu","popup-max-height":!1,onSelect:A=>d(A,C)},{content:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y)(C),A=>(e.openBlock(),e.createBlock(e.unref(k.Doption),{key:`${String(C?.key)}-${A.key}`,value:A.key,disabled:e.unref(g)(A,C)},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass({"sunny-resource-tree__danger":A.danger})},e.toDisplayString(A.label),3)]),_:2},1032,["value","disabled"]))),128))]),default:e.withCtx(()=>[e.createElementVNode("span",nn,[e.renderSlot(S.$slots,"title",e.normalizeProps(e.guardReactiveProps(C)),()=>[e.createTextVNode(e.toDisplayString(e.unref(c)(C)),1)],!0)])]),_:2},1032,["onSelect"])):e.renderSlot(S.$slots,"title",e.normalizeProps(e.mergeProps({key:1},C)),()=>[e.createTextVNode(e.toDisplayString(e.unref(c)(C)),1)],!0)]),_:2},[e.renderList(p.value,C=>({name:C,fn:e.withCtx(A=>[e.renderSlot(S.$slots,C,e.normalizeProps(e.guardReactiveProps(A||{})),void 0,!0)])}))]),1040)]))}}),[["__scopeId","data-v-d8fa1bbf"]]);function ln(t){if(!t||!Array.isArray(t))return{};const n={};return t.forEach(o=>{o.fieldName&&o.defaultValue!==void 0&&(n[o.fieldName]=o.defaultValue)}),n}function an(t,n){const o=e.ref(!1),r=e.ref({}),l=e.ref([]),a=e.ref({current:1,pageSize:200,total:0}),s=e.ref([]),i=e.computed(()=>({label:"label",value:"value",desc:"desc",...t.fieldNames})),h=e.computed(()=>t.fieldNames?.value||"id"),y=m=>Q.get(m,h.value),g=()=>{const m=ln(t.formSchema);r.value={...m}};e.watch(()=>t.visible,m=>{m&&(t.modelValue&&Array.isArray(t.modelValue)?l.value=Q.cloneDeep(t.modelValue):l.value=[])},{immediate:!0});const c=async m=>{if(t.searchApi){m&&(r.value={...m}),o.value=!0;try{const b={pageNo:a.value.current,pageSize:a.value.pageSize,...r.value};let N;if(typeof t.searchApi=="function"&&(N=await t.searchApi(b)),N){const F=N.list||N.records||[],j=N.total||N.totalCount||0;s.value=F,a.value.total=j}}catch(b){console.error("Search failed:",b),k.Message.error("查询失败")}finally{o.value=!1}}},f=m=>{a.value.current=m,c()},d=m=>{a.value.pageSize=m,a.value.current=1,c()},p=(m,b)=>{const N=y(m),F=l.value.findIndex(j=>y(j)===N);b?F===-1&&(t.multiple?l.value.push(m):l.value=[m]):F>-1&&l.value.splice(F,1)};return{loading:o,searchParams:r,selectedRows:l,pagination:a,tableData:s,actualFieldNames:i,actualRowKey:h,initDefaultValues:g,handleSearch:c,handlePageChange:f,handlePageSizeChange:d,handleCheckboxChange:m=>{const{row:b,checked:N}=m;p(b,N)},handleCheckboxAll:m=>{const{checked:b,records:N}=m;b?N.forEach(F=>p(F,!0)):s.value.forEach(F=>p(F,!1))},handleRadioChange:m=>{const{row:b}=m;l.value=[b]},removeRow:m=>{p(m,!1)},handleOk:()=>{n("update:modelValue",l.value),n("confirm",l.value),n("update:visible",!1)},handleCancel:()=>{l.value=[],n("update:modelValue",[]),n("cancel"),n("update:visible",!1)},toggleRowSelection:p,reset:()=>{s.value=[],l.value=[],a.value.current=1,a.value.total=0,n("update:modelValue",[])}}}const sn={class:"flex flex-col h-full"},cn={class:"mb-4 border-b border-gray-100 pb-4 shrink-0"},dn={class:"flex-1 overflow-hidden"},fn={class:"w-[180px] border-l border-gray-200 bg-gray-50 flex flex-col ml-2 overflow-hidden shrink-0"},un={class:"font-bold px-2 py-2 text-gray-700 flex justify-between items-center text-xs border-b border-gray-200 shrink-0"},mn={class:"flex-1 min-h-0 overflow-y-auto p-2 custom-scrollbar"},pn={class:"text-xs font-medium text-gray-800 truncate leading-none mb-1"},hn={class:"text-[10px] text-gray-500 truncate leading-none"},gn=["onClick"],yn={key:1,class:"h-full flex items-center justify-center text-gray-400 text-xs"},Cn={class:"flex justify-between items-center w-full"},Sn={class:"space-x-2"},ze=X(e.defineComponent({name:"SunnySearchModal",inheritAttrs:!1,__name:"SunnySearchModal",props:{visible:{type:Boolean},formSchema:{},tableColumns:{},searchApi:{},modelValue:{},fieldNames:{default:()=>({label:"label",value:"value",desc:"desc"})},commonConfig:{default:()=>({colProps:{xs:24,sm:12,md:6,lg:6,xl:6,xxl:6}})},helpMessage:{default:"支持跨页多选,翻页保留选中状态;双击表格行可快速确认。"},title:{default:"数据查询"},multiple:{type:Boolean,default:!0},rowKey:{default:"id"},width:{default:"800px"},contentHeight:{default:300},resetOnOpen:{type:Boolean,default:!0},clearOnSearch:{type:Boolean,default:!1}},emits:["update:visible","update:modelValue","confirm","cancel"],setup(t,{expose:n,emit:o}){const r=e.useSlots(),l=t,a=o,s=e.computed({get:()=>l.visible,set:D=>a("update:visible",D)}),i=e.ref(),h=e.ref(null),{loading:y,searchParams:g,selectedRows:c,pagination:f,tableData:d,actualFieldNames:p,actualRowKey:u,initDefaultValues:S,handleSearch:w,handlePageChange:C,handlePageSizeChange:A,handleCheckboxChange:x,handleCheckboxAll:B,handleRadioChange:m,removeRow:b,handleOk:N,handleCancel:F,toggleRowSelection:j,reset:E}=an(l,a);n({reset:E});const T=async()=>{f.value.current=1,S(),await e.nextTick(),await I()},I=async()=>{if(!h.value)return w(),!0;try{const{valid:D}=await h.value.validate();return D?(w(),!0):!1}catch(D){return console.error("Form validation failed:",D),!1}},M=async D=>{f.value.current=1,l.clearOnSearch&&(c.value=[]),w(D)},R=e.computed(()=>({border:!0,stripe:!0,showOverflow:!0,height:l.contentHeight,align:"center",autoResize:!0,columnConfig:{resizable:!0},rowConfig:{isCurrent:!0,isHover:!0,keyField:u.value},checkboxConfig:{trigger:"row",highlight:!0,reserve:!1},radioConfig:{trigger:"row",highlight:!0,reserve:!1}}));e.watch([()=>d.value,()=>c.value],async()=>{await e.nextTick();const D=i.value?.getGrid?.()||i.value;if(D&&d.value.length>0){D.clearCheckboxRow();const z=d.value.filter(O=>c.value.some(_=>_[u.value]===O[u.value]));z.length>0&&D.setCheckboxRow(z,!0)}},{deep:!0});const $=({row:D})=>{if(!l.multiple)c.value=[D],N();else{const z=c.value.some(O=>O[u.value]===D[u.value]);j(D,!z)}};return e.watch(()=>l.visible,D=>{D&&(S(),l.resetOnOpen&&(d.value=[],f.value.total=0,e.nextTick(()=>{I()})))}),(D,z)=>(e.openBlock(),e.createBlock(H,{modelValue:s.value,"onUpdate:modelValue":z[3]||(z[3]=O=>s.value=O),title:l.title,width:l.width,"unmount-on-close":"","title-align":"start",fullscreen:!1,"help-message":l.helpMessage,onCancel:e.unref(F),onClose:e.unref(F),onOk:e.unref(N)},{footer:e.withCtx(()=>[e.createElementVNode("div",Cn,[e.createVNode(e.unref(k.Pagination),{current:e.unref(f).current,"onUpdate:current":z[2]||(z[2]=O=>e.unref(f).current=O),"page-size":e.unref(f).pageSize,total:e.unref(f).total,"show-total":"","show-page-size":"","page-size-options":[20,50,100,200],size:"small",onChange:e.unref(C),onPageSizeChange:e.unref(A)},null,8,["current","page-size","total","onChange","onPageSizeChange"]),e.createElementVNode("div",Sn,[e.createVNode(e.unref(k.Button),{onClick:e.unref(F)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(L.$t)("common.cancel")),1)]),_:1},8,["onClick"]),e.createVNode(e.unref(k.Button),{type:"primary",onClick:e.unref(N)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(L.$t)("common.confirm")),1)]),_:1},8,["onClick"])])])]),default:e.withCtx(()=>[e.createElementVNode("div",sn,[e.createElementVNode("div",cn,[e.createVNode(De,{ref_key:"formRef",ref:h,values:e.unref(g),"onUpdate:values":z[0]||(z[0]=O=>e.isRef(g)?g.value=O:null),schema:l.formSchema,"common-config":l.commonConfig,"show-default-actions":"","reset-button-options":{show:!0},onSubmit:M,onReset:T,layout:"vertical"},e.createSlots({_:2},[e.renderList(e.unref(r),(O,_)=>({name:_,fn:e.withCtx(Kn=>[e.renderSlot(D.$slots,_,e.normalizeProps(e.guardReactiveProps(Kn)),void 0,!0)])}))]),1032,["values","schema","common-config"])]),e.createElementVNode("div",{class:"flex min-h-0 overflow-hidden box-border border border-gray-200 rounded",style:e.normalizeStyle({height:typeof l.contentHeight=="number"?l.contentHeight+"px":l.contentHeight})},[e.createElementVNode("div",dn,[e.createVNode(je,e.mergeProps({ref_key:"gridRef",ref:i,columns:l.tableColumns,data:e.unref(d),loading:e.unref(y)},R.value,{onCheckboxChange:e.unref(x),onCheckboxAll:e.unref(B),onRadioChange:e.unref(m),onCellDblclick:$}),null,16,["columns","data","loading","onCheckboxChange","onCheckboxAll","onRadioChange"])]),e.createElementVNode("div",fn,[e.createElementVNode("div",un,[e.createElementVNode("span",null,e.toDisplayString(e.unref(L.$t)("common.selected"))+" ("+e.toDisplayString(e.unref(c).length)+")",1),e.unref(c).length?(e.openBlock(),e.createElementBlock("span",{key:0,class:"text-xs text-blue-500 cursor-pointer",onClick:z[1]||(z[1]=O=>c.value=[])},e.toDisplayString(e.unref(L.$t)("common.clear")),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",mn,[e.unref(c).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(c),O=>(e.openBlock(),e.createElementBlock("div",{key:O[e.unref(u)],class:"relative group px-2 py-1 mb-1 bg-white border border-gray-200 rounded hover:shadow-sm transition-all h-[42px] flex flex-col justify-center"},[e.createVNode(e.unref(k.Tooltip),{content:`${O[e.unref(p).desc]}`},{default:e.withCtx(()=>[e.createElementVNode("div",pn,e.toDisplayString(O[e.unref(p).value]||"-"),1),e.createElementVNode("div",hn,e.toDisplayString(O[e.unref(p).label]||" "),1)]),_:2},1032,["content"]),e.createElementVNode("div",{class:"absolute top-0.5 right-0.5 opacity-0 group-hover:opacity-100 cursor-pointer text-gray-400 hover:text-red-500 transition-opacity p-0.5 bg-white rounded-full shadow-sm",onClick:_=>e.unref(b)(O)},[e.createVNode(e.unref(pe),{size:10})],8,gn)]))),128)):(e.openBlock(),e.createElementBlock("div",yn,e.toDisplayString(e.unref(L.$t)("common.noData")),1))])])],4)])]),_:3},8,["modelValue","title","width","help-message","onCancel","onClose","onOk"]))}}),[["__scopeId","data-v-4414876c"]]),Qe={};async function $e(t){const n=Qe[t];return n?await n():(console.warn(`[SunnyBusinessSearch] Config for type "${t}" not found.`),null)}function An(t,n){Qe[t]=n}function kn(t,n){const o=e.ref(!1),r=e.ref(!1),l=e.ref({}),a=e.computed({get:()=>t.modelValue||[],set:f=>{n("update:modelValue",f),n("change",f)}}),s=()=>Re.businessSearchAdapter,i=f=>async d=>{if(!f?.search)return console.warn("[SunnyBusinessSearch] No search adapter configured."),{records:[],total:0};try{return await f.search({...d,cNum:t.cNum})}catch(p){throw console.error("[SunnyBusinessSearch] Search failed:",p),p}},h=async()=>{if(!t.cNum)return;const f=s();if(!f?.loadConfig){console.warn("[SunnyBusinessSearch] No loadConfig adapter configured. Please call setupBusinessForm() in your app entry.");return}r.value=!0;try{const d=await f.loadConfig(t.cNum);d.searchApi=i(f),l.value=d}catch(d){console.error("[SunnyBusinessSearch] Failed to load dynamic config:",d)}finally{r.value=!1}},y=async()=>{if(t.type){r.value=!0;try{const f=await $e(t.type);f&&(l.value=f)}catch(f){console.error("[SunnyBusinessSearch] Failed to load static config:",f)}finally{r.value=!1}}},g=async()=>{o.value=!0,t.cNum?l.value.title||await h():t.type&&(l.value.title||await y())},c=f=>{a.value=f,o.value=!1};return e.watch(()=>[t.cNum,t.type],()=>{l.value={}}),{visible:o,loading:r,currentConfig:l,selectedValues:a,handleOpen:g,handleConfirm:c}}const bn={class:"sunny-business-search"},fe=e.defineComponent({name:"SunnyBusinessSearch",inheritAttrs:!1,__name:"SunnyBusinessSearch",props:{modelValue:{default:()=>[]},type:{},cNum:{},placeholder:{default:"请选择"},multiple:{type:Boolean,default:void 0},cSelectionMode:{},maxTagCount:{},modalProps:{default:()=>({})},disabled:{type:Boolean,default:!1},fieldNames:{}},emits:["update:modelValue","change"],setup(t,{emit:n}){const o=t,r=n,{visible:l,currentConfig:a,selectedValues:s,handleOpen:i,handleConfirm:h}=kn(o,r),y=e.computed(()=>o.fieldNames||o.modalProps?.fieldNames||a.value.fieldNames||{label:"label",value:"value"}),g=e.computed(()=>{let c=o.modalProps?.multiple;c===void 0&&(c=o.multiple),c===void 0&&o.cSelectionMode&&(c=o.cSelectionMode!=="single"),c=c??a.value.multiple??!0;let d=[...o.modalProps.tableColumns||a.value.tableColumns||[]];return!d.some(u=>u.type==="checkbox"||u.type==="radio")&&d.length>0&&(c?d.unshift({type:"checkbox",width:50,fixed:"left",align:"center"}):d.unshift({type:"radio",width:50,fixed:"left",align:"center"})),{...a.value,multiple:c,fieldNames:y.value,...o.modalProps,tableColumns:d}});return(c,f)=>(e.openBlock(),e.createElementBlock("div",bn,[e.createVNode(e.unref(we),e.mergeProps(c.$attrs,{"model-value":e.unref(s),placeholder:t.placeholder,disabled:t.disabled,"max-tag-count":t.maxTagCount,"field-names":y.value,"onUpdate:modelValue":f[0]||(f[0]=d=>s.value=d),onSearch:e.unref(i)}),e.createSlots({_:2},[e.renderList(c.$slots,(d,p)=>({name:p,fn:e.withCtx(u=>[e.renderSlot(c.$slots,p,e.normalizeProps(e.guardReactiveProps(u||{})))])}))]),1040,["model-value","placeholder","disabled","max-tag-count","field-names","onSearch"]),e.unref(a).title||e.unref(l)?(e.openBlock(),e.createBlock(e.unref(ze),e.mergeProps({key:0,visible:e.unref(l),"onUpdate:visible":f[1]||(f[1]=d=>e.isRef(l)?l.value=d:null),"model-value":e.unref(s)},g.value,{onConfirm:e.unref(h)}),null,16,["visible","model-value","onConfirm"])):e.createCommentVNode("",!0)]))}}),wn=Object.freeze(Object.defineProperty({__proto__:null,default:fe},Symbol.toStringTag,{value:"Module"})),Ue={findAllByResourceid:async()=>({data:[]}),findSearchPlanColsByPlanId:async()=>({data:{}}),insert:async()=>({}),update:async()=>({}),del:async()=>({}),findDefSearchPlan:async()=>({data:{}})};function qe(t,n,o,r,l=Ue){const a=e.ref(!1),s=e.ref(""),i=e.ref(!1),h=async()=>{if(t.searchPlanList.length>0&&!s.value.trim()){i.value=!0;return}i.value=!1;let C=o?.value||t.model;if(r)try{const x=await r.getValues();x&&(C=x)}catch(x){console.error("handleAdd getValues error:",x)}if(!Object.values(C).some(x=>x!==""&&x!==void 0&&x!==null)){k.Message.error("请输入查询条件");return}try{let x=s.value.trim();t.searchPlanList.length===0&&(x="默认方案");const B=await l.insert({assSearchplan:{cSearchplanname:x,...t.nResourceid&&{nResourceid:t.nResourceid}},colMap:C});if(B.message&&k.Message.success(B.message),t.resourceId){const m=await f(t.resourceId);n("update:searchPlanList",m);const b=m.find(N=>N.CSEARCHPLANNAME===x);b&&await c(b)}n("add",x,{...C}),s.value=""}catch(x){console.error("handleAdd error:",x),n("error",x)}},y=async()=>{if(!t.currentSearchPlan){i.value=!0;return}i.value=!1;let C=o?.value||t.model;if(r)try{const x=await r.getValues();x&&(C=x)}catch(x){console.error("handleUpdate getValues error:",x)}if(!Object.values(C).some(x=>x!==""&&x!==void 0&&x!==null)){k.Message.error("请输入查询条件");return}try{const x=await l.update({assSearchplan:{id:t.currentSearchPlan.ID,...t.nResourceid&&{nResourceid:t.nResourceid},...s.value.trim()&&{cSearchplanname:s.value.trim()}},colMap:C});if(x.message&&k.Message.success(x.message),t.resourceId){const B=await f(t.resourceId);n("update:searchPlanList",B);const m=B.find(b=>b.ID===t.currentSearchPlan?.ID);m&&await c(m)}n("update",t.currentSearchPlan.ID,s.value.trim()||t.currentSearchPlan.CSEARCHPLANNAME,{...C}),s.value=""}catch(x){console.error("handleUpdate error:",x),n("error",x)}},g=async C=>{try{const A=await l.del({id:C.ID});if(n("delete",C.ID),t.currentSearchPlan&&t.currentSearchPlan.ID===C.ID&&n("update:currentSearchPlan",void 0),A.message&&k.Message.success(A.message),t.resourceId){const x=await f(t.resourceId);n("update:searchPlanList",x)}}catch(A){console.error("handleDelete error:",A),n("error",A)}},c=async C=>{n("update:currentSearchPlan",C);try{const A={...t.nResourceid&&{nResourceid:t.nResourceid},nPlanId:C.ID},B=(await l.findSearchPlanColsByPlanId(A)).result||{};if(o&&(o.value={...B}),r)try{await r.setValues(B)}catch(m){console.error("handleSelect setValues error:",m)}n("select",C)}catch(A){console.error("handleSelect error:",A),n("error",A)}},f=async C=>{try{const A={...t.nResourceid&&{nResourceid:t.nResourceid}};return(await l.findAllByResourceid(A)).result?.searchplanList||[]}catch(A){return console.error("loadSearchPlans error:",A),n("error",A),[]}};return{visible:a,inputValue:s,showNameError:i,handleAdd:h,handleUpdate:y,handleDelete:g,handleSelect:c,handleReset:async()=>{if(r)try{await r.resetForm()}catch(C){console.error("handleReset resetForm error:",C)}if(o){const C={...o.value};Object.keys(C).forEach(A=>{C[A]=""}),o.value=C}},handleSearch:async()=>{let C=o?.value||t.model;if(r)try{const A=await r.getValues();A&&(C=A)}catch(A){console.error("handleSearch getValues error:",A)}n("search",{...C}),a.value=!1},handleClose:()=>{a.value=!1,s.value="",i.value=!1},handleOpen:async()=>{if(a.value=!0,s.value="",i.value=!1,o){const C={...o.value};Object.keys(C).forEach(A=>{C[A]=""}),o.value=C}if(r)try{await r.resetForm()}catch(C){console.error("handleOpen resetForm error:",C)}if(t.resourceId)try{const C=await f(t.resourceId);if(n("update:searchPlanList",C),C.length>0){n("update:currentSearchPlan",C[0]);const A={...t.nResourceid&&{nResourceid:t.nResourceid},nPlanId:C[0].ID},B=(await l.findSearchPlanColsByPlanId(A)).result||{};if(o&&(o.value={...B}),r)try{await r.setValues(B)}catch(m){console.error("handleOpen setValues error:",m)}n("select",C[0])}}catch(C){console.error("handleOpen loadSearchPlans error:",C)}},loadSearchPlans:f,loadDefaultSearchPlan:async()=>{try{const C={...t.nResourceid&&{nResourceid:t.nResourceid}},x=(await l.findDefSearchPlan(C)).result||[];if(x.length>0){const B={};if(x.forEach(m=>{m.C_COLNAME&&m.C_COLVALUE!==void 0&&(B[m.C_COLNAME]=m.C_COLVALUE)}),o&&(o.value={...B}),r)try{await r.setValues(B)}catch(m){console.error("loadDefaultSearchPlan setValues error:",m)}return n("default-plan-loaded",B),B}}catch(C){console.error("loadDefaultSearchPlan error:",C),n("error",C)}return{}}}}const Bn={class:"inline-block"},En=["disabled"],xn={class:"p-5 relative"},Nn={key:0,class:"absolute inset-0 bg-white/80 flex flex-col items-center justify-center z-10 rounded"},Vn={class:"text-sm text-[var(--color-text-2)]"},Pn={class:"flex-1 min-w-0"},In={class:"w-60"},Rn={class:"text-sm font-semibold mb-4 text-[var(--color-text-1)]"},Fn={class:"mb-5"},Tn={class:"mb-3"},Mn={class:"block text-xs text-[var(--color-text-2)] mb-1"},Ln=["placeholder","disabled"],Dn={key:0,class:"text-xs text-red-500 mt-1"},jn={class:"flex gap-2 mt-3"},On=["disabled"],zn=["disabled"],Qn={class:"text-sm font-semibold mb-4 text-[var(--color-text-1)]"},$n={class:"max-h-44 overflow-y-auto border border-[var(--color-border-2)] rounded p-2"},Un=["onClick"],qn=["onClick","disabled"],Wn={class:"flex justify-end gap-3 pt-5 border-t border-[var(--color-border-2)]"},Yn=["disabled"],Gn=["disabled"],Jn=e.defineComponent({name:"SunnySearchPlan",inheritAttrs:!1,__name:"SunnySearchPlan",props:{formConfig:{default:()=>[]},model:{default:()=>({})},modelValue:{default:()=>({})},searchPlanList:{default:()=>[]},currentSearchPlan:{},resourceId:{},nResourceid:{},disabled:{type:Boolean,default:!1},modalProps:{default:()=>({})},formProps:{default:()=>({})},title:{default:()=>L.$t("common.searchPlan.title")},width:{default:900},loading:{type:Boolean,default:!1},api:{default:()=>Ue}},emits:["add","update","delete","select","reset","search","error","default-plan-loaded","update:model","update:modelValue","update:currentSearchPlan","update:searchPlanList"],setup(t,{emit:n}){const o=t,r=n,[,l]=Le({schema:o.formConfig,model:o.modelValue||o.model}),a=e.ref({...o.modelValue||o.model}),{visible:s,inputValue:i,showNameError:h,handleAdd:y,handleUpdate:g,handleDelete:c,handleSelect:f,handleReset:d,handleSearch:p,handleClose:u,handleOpen:S,loadSearchPlans:w,loadDefaultSearchPlan:C}=qe(o,r,a,l,o.api);e.onMounted(async()=>{if(o.resourceId)try{const I=await w(o.resourceId);r("update:searchPlanList",I),await C()}catch(I){console.error("Failed to initialize search plan:",I)}else try{await C()}catch(I){console.error("Failed to load default search plan:",I)}});const A=async()=>{await S()},x=()=>{console.log("SunnyUseForm mounted"),l&&(o.modelValue||o.model)&&l.setValues(o.modelValue||o.model).catch(I=>{console.error("setValues error:",I)})};e.watch(()=>[o.model,o.modelValue],([I,M])=>{const R=M||I;R&&(a.value={...R},l&&l.setValues(R).catch($=>{console.error("setValues error:",$)}))},{deep:!0}),e.watch(()=>a.value,I=>{r("update:model",I),r("update:modelValue",I)},{deep:!0});const B=e.computed(()=>({...o.modalProps})),m=e.computed(()=>o.formConfig.map(I=>({...I,labelWidth:80,colProps:{...I.colProps,span:8}}))),b=e.computed(()=>o.searchPlanList),N=e.computed(()=>o.currentSearchPlan),F=e.computed(()=>o.disabled),j=e.computed(()=>o.formProps),E=e.computed(()=>o.title),T=e.computed(()=>o.width);return(I,M)=>(e.openBlock(),e.createElementBlock("div",Bn,[e.renderSlot(I.$slots,"trigger",{open:A,disabled:F.value},()=>[e.createElementVNode("button",{class:"px-3 py-1.5 border border-[var(--color-border-2)] rounded bg-white text-sm transition-all hover:border-[rgb(var(--primary-6))] hover:text-[rgb(var(--primary-6))] disabled:cursor-not-allowed disabled:opacity-60",disabled:F.value,onClick:A},e.toDisplayString(e.unref(L.$t)("common.searchPlan.title")),9,En)]),e.createVNode(e.unref(H),e.mergeProps({visible:e.unref(s),"onUpdate:visible":M[5]||(M[5]=R=>e.isRef(s)?s.value=R:null),title:E.value,width:T.value,top:"50px","close-on-click-modal":!1},B.value,{onCancel:e.unref(u),onClose:e.unref(u)}),{footer:e.withCtx(()=>[e.createElementVNode("div",Wn,[e.createElementVNode("button",{class:"px-3 py-1.5 border border-[var(--color-border-2)] rounded bg-white text-sm transition-colors hover:border-[rgb(var(--primary-6))] hover:text-[rgb(var(--primary-6))] disabled:cursor-not-allowed disabled:opacity-60",onClick:M[3]||(M[3]=(...R)=>e.unref(d)&&e.unref(d)(...R)),disabled:o.loading},e.toDisplayString(e.unref(L.$t)("common.searchPlan.reset")),9,Yn),e.createElementVNode("button",{class:"px-3 py-1.5 bg-[rgb(var(--primary-6))] border border-[rgb(var(--primary-6))] text-white text-sm rounded hover:bg-[rgb(var(--primary-7))] transition-colors disabled:cursor-not-allowed disabled:opacity-60",onClick:M[4]||(M[4]=(...R)=>e.unref(p)&&e.unref(p)(...R)),disabled:o.loading},e.toDisplayString(e.unref(L.$t)("common.searchPlan.search")),9,Gn)])]),default:e.withCtx(()=>[e.createElementVNode("div",xn,[o.loading?(e.openBlock(),e.createElementBlock("div",Nn,[M[6]||(M[6]=e.createElementVNode("div",{class:"w-7 h-7 border-3 border-[var(--color-border-2)] border-t-[rgb(var(--primary-6))] rounded-full animate-spin mb-2.5"},null,-1)),e.createElementVNode("div",Vn,e.toDisplayString(e.unref(L.$t)("common.searchPlan.loading")),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([{"opacity-60":o.loading},"flex gap-5"])},[e.createElementVNode("div",Pn,[e.createVNode(e.unref(Me),e.mergeProps({"form-api":e.unref(l),schema:m.value,"show-default-actions":!1,"show-message":!1},j.value,{onMounted:x}),null,16,["form-api","schema"])]),e.createElementVNode("div",In,[e.createElementVNode("h3",Rn,e.toDisplayString(e.unref(L.$t)("common.searchPlan.newPlan")),1),e.createElementVNode("div",Fn,[e.createElementVNode("div",Tn,[e.createElementVNode("label",Mn,e.toDisplayString(e.unref(L.$t)("common.searchPlan.planName")),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":M[0]||(M[0]=R=>e.isRef(i)?i.value=R:null),type:"text",placeholder:e.unref(L.$t)("common.searchPlan.planNamePlaceholder"),class:"w-full px-2 py-1.5 border border-[var(--color-border-2)] rounded text-xs focus:outline-none focus:border-[rgb(var(--primary-6))] focus:ring-2 focus:ring-[rgb(var(--primary-1))]",disabled:o.loading},null,8,Ln),[[e.vModelText,e.unref(i)]]),!e.unref(i).trim()&&e.unref(h)?(e.openBlock(),e.createElementBlock("div",Dn,e.toDisplayString(e.unref(L.$t)("common.searchPlan.planNameRequired")),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",jn,[e.createElementVNode("button",{class:"px-3 py-1 bg-[rgb(var(--primary-6))] border border-[rgb(var(--primary-6))] text-white text-xs rounded hover:bg-[rgb(var(--primary-7))] transition-colors disabled:cursor-not-allowed disabled:opacity-60",onClick:M[1]||(M[1]=(...R)=>e.unref(y)&&e.unref(y)(...R)),disabled:o.loading},e.toDisplayString(e.unref(L.$t)("common.searchPlan.add")),9,On),e.createElementVNode("button",{class:"px-3 py-1 border border-[var(--color-border-2)] text-[var(--color-text-1)] text-xs rounded hover:bg-[var(--color-fill-1)] hover:border-[rgb(var(--primary-6))] hover:text-[rgb(var(--primary-6))] transition-colors disabled:cursor-not-allowed disabled:opacity-60",disabled:!N.value||o.loading,onClick:M[2]||(M[2]=(...R)=>e.unref(g)&&e.unref(g)(...R))},e.toDisplayString(e.unref(L.$t)("common.searchPlan.update")),9,zn)])]),M[7]||(M[7]=e.createElementVNode("div",{class:"h-px bg-[var(--color-border-2)] my-5"},null,-1)),e.createElementVNode("h3",Qn,e.toDisplayString(e.unref(L.$t)("common.searchPlan.savedPlans")),1),e.createElementVNode("div",$n,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(R,$)=>(e.openBlock(),e.createElementBlock("div",{key:R.ID,class:e.normalizeClass(["flex items-center p-2 mb-1 rounded cursor-pointer transition-all hover:bg-[var(--color-fill-1)] border border-transparent",{"bg-[rgb(var(--primary-1))] border-[rgb(var(--primary-6))]":N.value&&(N.value.ID==R.ID||N.value.ID===R.ID)}]),onClick:D=>e.unref(f)(R),style:e.normalizeStyle({cursor:o.loading?"not-allowed":"pointer"})},[e.createElementVNode("div",{class:e.normalizeClass(["w-5 h-5 flex items-center justify-center rounded text-xs mr-2 text-[var(--color-text-2)]",N.value&&(N.value.ID==R.ID||N.value.ID===R.ID)?"bg-[rgb(var(--primary-6))] text-white":"bg-[var(--color-fill-2)]"])},e.toDisplayString(String($+1).padStart(2,"0")),3),e.createElementVNode("div",{class:e.normalizeClass(["flex-1 text-xs truncate",N.value&&(N.value.ID==R.ID||N.value.ID===R.ID)?"text-[rgb(var(--primary-6))] font-medium":"text-[var(--color-text-1)]"])},e.toDisplayString(R.CSEARCHPLANNAME),3),e.createElementVNode("button",{class:"w-4 h-4 flex items-center justify-center border-none bg-transparent cursor-pointer text-sm text-[var(--color-text-3)] transition-colors rounded hover:text-[var(--color-danger)] hover:bg-[var(--color-danger-light)]",onClick:e.withModifiers(D=>e.unref(c)(R),["stop"]),disabled:o.loading}," × ",8,qn)],14,Un))),128))])])],2)])]),_:1},16,["visible","title","width","onCancel","onClose"])]))}});Object.defineProperty(V,"patterns",{enumerable:!0,get:()=>P.patterns}),Object.defineProperty(V,"startProgress",{enumerable:!0,get:()=>P.startProgress}),Object.defineProperty(V,"stopProgress",{enumerable:!0,get:()=>P.stopProgress}),V.z=_e,V.EditRender=Jo,V.ErrorBoundary=Ht,V.FormApi=Ee,V.Modal=H,V.ModalTypes=Dt,V.SunnyBatchSelect=ko,V.SunnyBusinessSearch=fe,V.SunnyCustomizeSelect=Eo,V.SunnyForm=De,V.SunnyIcon=ye,V.SunnyResourceTree=rn,V.SunnyScrollbar=eo,V.SunnySearchInputTag=we,V.SunnySearchModal=ze,V.SunnySearchPlan=Jn,V.SunnySelect=be,V.SunnySimpleUpload=ke,V.SunnyUpload=ho,V.Validators=Ko,V.getBusinessConfig=$e,V.registerBusinessConfig=An,V.setupSunnyForm=zo,V.useSunnyEditGrid=Go,V.useSunnyForm=Le,V.useSunnyModal=Lt,V.useSunnyQueryGrid=tn,V.useSunnyResourceTree=Oe,V.useSunnySearchPlan=qe,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
(function(V,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@arco-design/web-vue"),require("@sunny-base-web/locales"),require("@sunny-base-web/icons"),require("@sunny-base-web/utils"),require("reka-ui"),require("axios"),require("lodash-es"),require("@tanstack/vue-store"),require("@tanstack/store"),require("@vueuse/core"),require("vee-validate"),require("@vee-validate/zod"),require("zod"),require("vxe-table"),require("vxe-pc-ui")):typeof define=="function"&&define.amd?define(["exports","vue","@arco-design/web-vue","@sunny-base-web/locales","@sunny-base-web/icons","@sunny-base-web/utils","reka-ui","axios","lodash-es","@tanstack/vue-store","@tanstack/store","@vueuse/core","vee-validate","@vee-validate/zod","zod","vxe-table","vxe-pc-ui"],e):(V=typeof globalThis<"u"?globalThis:V||self,e(V.SunnyBaseWebUI={},V.Vue,V.ArcoVue,V.SunnyBaseWebLocales,V.SunnyBaseWebIcons,V.SunnyBaseWebUtils,V.rekaUi,V.axios,V.lodashEs,V.vueStore,V.store,V.core,V.veeValidate,V.zod$1,V.zod,V.vxeTable,V.vxePcUi))})(this,(function(V,e,k,L,ue,P,K,G,Q,We,Ye,me,U,Ge,Je,te,J){"use strict";function Ke(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:()=>t[o]})}}return n.default=t,Object.freeze(n)}const _e=Ke(Je),He=Symbol("ArcoConfigProvider"),Xe="arco",Ze="$arco",q=t=>{var n,o,r;const l=e.getCurrentInstance(),a=e.inject(He,void 0);return`${(r=(o=a?.prefixCls)!=null?o:(n=l?.appContext.config.globalProperties[Ze])==null?void 0:n.classPrefix)!=null?r:Xe}-${t}`},ve=Object.prototype.toString;function W(t){return ve.call(t)==="[object Number]"&&t===t}var Y=(t,n)=>{for(const[o,r]of n)t[o]=r;return t};const et=e.defineComponent({name:"IconClose",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-close`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),tt=["stroke-width","stroke-linecap","stroke-linejoin"];function ot(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M9.857 9.858 24 24m0 0 14.142 14.142M24 24 38.142 9.858M24 24 9.857 38.142"},null,-1)]),14,tt)}var oe=Y(et,[["render",ot]]);const pe=Object.assign(oe,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+oe.name,oe)}}),nt=e.defineComponent({name:"IconQuestionCircle",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-question-circle`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),rt=["stroke-width","stroke-linecap","stroke-linejoin"];function lt(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M42 24c0 9.941-8.059 18-18 18S6 33.941 6 24 14.059 6 24 6s18 8.059 18 18Z"},null,-1),e.createElementVNode("path",{d:"M24.006 31v4.008m0-6.008L24 28c0-3 3-4 4.78-6.402C30.558 19.195 28.288 15 23.987 15c-4.014 0-5.382 2.548-5.388 4.514v.465"},null,-1)]),14,rt)}var ne=Y(nt,[["render",lt]]);const he=Object.assign(ne,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+ne.name,ne)}}),at=e.defineComponent({name:"IconSearch",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-search`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),st=["stroke-width","stroke-linecap","stroke-linejoin"];function it(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.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)]),14,st)}var re=Y(at,[["render",it]]);const ct=Object.assign(re,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+re.name,re)}}),dt=e.defineComponent({name:"IconUpload",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-upload`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),ft=["stroke-width","stroke-linecap","stroke-linejoin"];function ut(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M14.93 17.071 24.001 8l9.071 9.071m-9.07 16.071v-25M40 35v6H8v-6"},null,-1)]),14,ft)}var le=Y(dt,[["render",ut]]);const mt=Object.assign(le,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+le.name,le)}}),pt=e.defineComponent({name:"IconAttachment",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-attachment`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),ht=["stroke-width","stroke-linecap","stroke-linejoin"];function gt(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",stroke:"currentColor",xmlns:"http://www.w3.org/2000/svg",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M29.037 15.236s-9.174 9.267-11.48 11.594c-2.305 2.327-1.646 4.987-.329 6.316 1.317 1.33 3.994 1.953 6.258-.332L37.32 18.851c3.623-3.657 2.092-8.492 0-10.639-2.093-2.147-6.916-3.657-10.54 0L11.3 23.838c-3.623 3.657-3.953 10.638.329 14.96 4.282 4.322 11.115 4.105 14.821.333 3.706-3.773 8.74-8.822 11.224-11.33"},null,-1)]),14,ht)}var ae=Y(pt,[["render",gt]]);const yt=Object.assign(ae,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+ae.name,ae)}}),Ct=e.defineComponent({name:"IconDelete",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-delete`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),St=["stroke-width","stroke-linecap","stroke-linejoin"];function At(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M5 11h5.5m0 0v29a1 1 0 0 0 1 1h25a1 1 0 0 0 1-1V11m-27 0H16m21.5 0H43m-5.5 0H32m-16 0V7h16v4m-16 0h16M20 18v15m8-15v15"},null,-1)]),14,St)}var se=Y(Ct,[["render",At]]);const ge=Object.assign(se,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+se.name,se)}}),kt=e.defineComponent({name:"IconFullscreenExit",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-fullscreen-exit`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),bt=["stroke-width","stroke-linecap","stroke-linejoin"];function wt(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M35 6v8a1 1 0 0 0 1 1h8M13 6v8a1 1 0 0 1-1 1H4m31 27v-8a1 1 0 0 1 1-1h8m-31 9v-8a1 1 0 0 0-1-1H4"},null,-1)]),14,bt)}var ie=Y(kt,[["render",wt]]);const Bt=Object.assign(ie,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+ie.name,ie)}}),Et=e.defineComponent({name:"IconFullscreen",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:n}){const o=q("icon"),r=e.computed(()=>[o,`${o}-fullscreen`,{[`${o}-spin`]:t.spin}]),l=e.computed(()=>{const s={};return t.size&&(s.fontSize=W(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:l,onClick:s=>{n("click",s)}}}}),xt=["stroke-width","stroke-linecap","stroke-linejoin"];function Nt(t,n,o,r,l,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:n[0]||(n[0]=(...s)=>t.onClick&&t.onClick(...s))},n[1]||(n[1]=[e.createElementVNode("path",{d:"M42 17V9a1 1 0 0 0-1-1h-8M6 17V9a1 1 0 0 1 1-1h8m27 23v8a1 1 0 0 1-1 1h-8M6 31v8a1 1 0 0 0 1 1h8"},null,-1)]),14,xt)}var ce=Y(Et,[["render",Nt]]);const Vt=Object.assign(ce,{install:(t,n)=>{var o;const r=(o=n?.iconPrefix)!=null?o:"";t.component(r+ce.name,ce)}}),Pt="data:image/png;base64,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",It={class:"flex-1 font-semibold text-base text-[var(--color-text-1)] overflow-hidden text-ellipsis whitespace-nowrap"},Rt={class:"flex items-center gap-3 ml-3"},Ft={class:"cursor-pointer text-[var(--color-text-2)] flex items-center justify-center transition-colors duration-200 text-base hover:text-[var(--color-text-1)]"},Tt={key:1,class:"flex items-center justify-end gap-2"},H=e.defineComponent({__name:"Modal",props:{modelValue:{type:Boolean,default:!1},title:{default:"Title"},width:{default:"50%"},top:{},zIndex:{default:1e3},helpMessage:{default:""},closeOnEsc:{type:Boolean,default:!0},fullscreen:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},okText:{},cancelText:{},okLoading:{type:Boolean},confirmLoading:{type:Boolean},hideCancel:{type:Boolean},okButtonProps:{},cancelButtonProps:{},onVisibleChange:{},onBeforeOk:{},onBeforeCancel:{},onClose:{},onOk:{}},emits:["update:modelValue","close","ok","fullscreen-change"],setup(t,{emit:n}){const{t:o}=L.useI18n(),r=t,l=n,a=e.useAttrs(),s=e.ref(!1),i=e.computed({get:()=>r.modelValue,set:p=>l("update:modelValue",p)}),h=e.computed(()=>r.helpMessage||o("common.modal.helpTip")),y=e.ref(!1),g=()=>{y.value=!y.value,l("fullscreen-change",y.value)},c=async()=>{const p=r.onBeforeCancel;typeof p=="function"&&await p()===!1||(i.value=!1,l("close"))},f=c,d=async()=>{const p=r.onBeforeOk;if(typeof p=="function")try{s.value=!0,await p()!==!1&&(l("ok"),i.value=!1)}catch(u){console.error(u)}finally{s.value=!1}else l("ok"),i.value=!1};return(p,u)=>(e.openBlock(),e.createBlock(e.unref(k.Modal),e.mergeProps({visible:i.value,"onUpdate:visible":u[1]||(u[1]=S=>i.value=S),title:t.title,width:t.width,top:t.top,"z-index":t.zIndex,"mask-closable":t.closeOnClickModal,"esc-to-close":t.closeOnEsc,fullscreen:y.value,closable:!1},p.$attrs,{class:"k-modal-custom",style:{"--modal-bg-image":`url(${e.unref(Pt)})`},onClick:u[2]||(u[2]=e.withModifiers(()=>{},["stop"])),onMousedown:u[3]||(u[3]=e.withModifiers(()=>{},["stop"]))}),{title:e.withCtx(()=>[e.createElementVNode("div",{class:"flex items-center justify-between w-full",onDblclick:u[0]||(u[0]=S=>r.fullscreen&&g())},[e.createElementVNode("div",It,[e.renderSlot(p.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),e.createElementVNode("div",Rt,[h.value?(e.openBlock(),e.createBlock(e.unref(k.Tooltip),{key:0,content:h.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ft,[e.createVNode(e.unref(he))])]),_:1},8,["content"])):e.createCommentVNode("",!0),r.fullscreen?(e.openBlock(),e.createElementBlock("div",{key:1,class:"cursor-pointer text-[var(--color-text-2)] flex items-center justify-center transition-colors duration-200 text-base hover:text-[var(--color-text-1)]",onClick:e.withModifiers(g,["stop"])},[y.value?(e.openBlock(),e.createBlock(e.unref(Bt),{key:0})):(e.openBlock(),e.createBlock(e.unref(Vt),{key:1}))])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"cursor-pointer text-[var(--color-text-2)] flex items-center justify-center transition-colors duration-200 text-base hover:text-[rgb(var(--red-6))]",onClick:e.withModifiers(c,["stop"])},[e.createVNode(e.unref(pe))])])],32)]),footer:e.withCtx(()=>[p.$slots.footer?e.renderSlot(p.$slots,"footer",{key:0}):(e.openBlock(),e.createElementBlock("div",Tt,[e.renderSlot(p.$slots,"insertFooter"),e.unref(a).hideCancel?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(k.Button),e.mergeProps({key:0},e.unref(a).cancelButtonProps,{onClick:e.unref(f)}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).cancelText||e.unref(o)("common.modal.cancel")),1)]),_:1},16,["onClick"])),e.renderSlot(p.$slots,"centerFooter"),e.createVNode(e.unref(k.Button),e.mergeProps({type:"primary",loading:s.value||e.unref(a).okLoading||e.unref(a).confirmLoading},e.unref(a).okButtonProps,{onClick:d}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).okText||e.unref(o)("common.modal.confirm")),1)]),_:1},16,["loading"]),e.renderSlot(p.$slots,"appendFooter")]))]),default:e.withCtx(()=>[e.renderSlot(p.$slots,"default")]),_:3},16,["visible","title","width","top","z-index","mask-closable","esc-to-close","fullscreen","style"]))}});class Mt{state;constructor(n={}){this.state=e.reactive({modelValue:!1,...n})}open=()=>{this.setState({modelValue:!0}),this.state.onVisibleChange?.(!0)};close=()=>{this.setState({modelValue:!1}),this.state.onVisibleChange?.(!1)};setProps=n=>{this.setState(n)};setState(n){if(typeof n=="function"){const o=n(this.state);Object.assign(this.state,o)}else Object.assign(this.state,n);return this}}function Lt(t={}){const n=new Mt(t);return[e.defineComponent({name:"SunnyConnectedModal",inheritAttrs:!1,setup(r,{attrs:l,slots:a}){return()=>e.h(H,{...n.state,...l,"onUpdate:modelValue":s=>{n.setState({modelValue:s}),n.state.onVisibleChange?.(s),typeof l["onUpdate:modelValue"]=="function"&&l["onUpdate:modelValue"](s)}},a)}}),n]}const Dt=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),jt={key:0,class:"flex items-center justify-center min-h-[400px] p-8"},Ot={class:"max-w-[520px] w-full text-center"},zt={class:"mb-3 text-lg font-semibold text-[var(--color-text-1)]"},Qt={class:"mb-6 text-sm text-[var(--color-text-2)] leading-relaxed"},$t={key:0,class:"mt-6 mb-6 text-left bg-[var(--color-fill-1)] border border-[var(--color-border-2)] rounded-md overflow-hidden"},Ut={class:"flex items-center gap-2 px-4 py-3 bg-[var(--color-fill-2)] border-b border-[var(--color-border-2)] text-sm font-medium text-[var(--color-text-2)]"},qt={class:"p-4"},Wt={class:"mb-3"},Yt={class:"block mb-1 text-xs text-[var(--color-text-3)]"},Gt={class:"p-2 bg-[var(--color-fill-1)] rounded text-xs text-[var(--color-text-2)] font-mono break-all"},Jt={class:"block mb-1 text-xs text-[var(--color-text-3)]"},Kt={class:"mt-2 p-3 bg-[var(--color-fill-2)] rounded text-xs text-[var(--color-text-2)] font-mono leading-relaxed overflow-x-auto whitespace-pre-wrap break-all max-h-[240px]"},_t={class:"flex gap-3 justify-center flex-wrap"},Ht=e.defineComponent({name:"ErrorBoundary",__name:"ErrorBoundary",props:{showDetails:{type:Boolean},errorIcon:{},errorTitle:{},errorMessage:{},showRetry:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},showReport:{type:Boolean,default:!0}},emits:["error","retry","report"],setup(t,{emit:n}){const o=t,r=n,l=e.shallowRef(!1),a=e.shallowRef(null),s=e.computed(()=>({title:o.errorMessage||L.$t("error.title"),desc:L.$t("error.message"),retry:L.$t("error.retry"),refresh:L.$t("error.refresh"),report:L.$t("error.reportError"),details:L.$t("error.details"),errorMessage:L.$t("error.errorMessage"),errorStack:L.$t("error.errorStack")}));e.onErrorCaptured((g,c,f)=>{if(l.value)return!1;const d=g instanceof Error?g:new Error(String(g));return l.value=!0,a.value=e.markRaw(d),!1});function i(){l.value=!1,a.value=null,r("retry")}function h(){window.location.reload()}function y(){a.value&&r("report",a.value)}return(g,c)=>l.value?(e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("div",Ot,[c[1]||(c[1]=e.createStaticVNode('<div class="flex justify-center mb-6 text-[var(--color-danger-6)]"><svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-12 h-12"><circle cx="24" cy="24" r="23" stroke="currentColor" stroke-width="1.5"></circle><path d="M24 16v8M24 28v4" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path><circle cx="24" cy="36" r="1.5" fill="currentColor"></circle></svg></div>',1)),e.createElementVNode("div",zt,e.toDisplayString(s.value.title),1),e.createElementVNode("div",Qt,e.toDisplayString(s.value.desc),1),a.value?(e.openBlock(),e.createElementBlock("div",$t,[e.createElementVNode("div",Ut,[c[0]||(c[0]=e.createElementVNode("svg",{viewBox:"0 0 16 16",fill:"currentColor",class:"w-3.5 h-3.5 text-[var(--color-warning-6)]"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zM9 13a1 1 0 11-2 0 0 1 1 0 012 0zM9 11a1 1 0 01-2 0V7a1 1 0 012 0v4z","clip-rule":"evenodd"})],-1)),e.createElementVNode("span",null,e.toDisplayString(s.value.details),1)]),e.createElementVNode("div",qt,[e.createElementVNode("div",Wt,[e.createElementVNode("span",Yt,e.toDisplayString(s.value.errorMessage),1),e.createElementVNode("div",Gt,e.toDisplayString(a.value?.message),1)]),e.createElementVNode("div",null,[e.createElementVNode("span",Jt,e.toDisplayString(s.value.errorStack),1),e.createElementVNode("pre",Kt,e.toDisplayString(a.value?.stack),1)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",_t,[t.showRetry?(e.openBlock(),e.createElementBlock("button",{key:0,class:"px-4 py-2 bg-[rgb(var(--primary-6))] text-white rounded hover:bg-[rgb(var(--primary-7))]",onClick:i},e.toDisplayString(s.value.retry),1)):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:1,class:"px-4 py-2 bg-[var(--color-bg-5)] text-[var(--color-text-1)] rounded hover:bg-[var(--color-bg-4)] border border-[var(--color-border)]",onClick:h},e.toDisplayString(s.value.refresh),1)):e.createCommentVNode("",!0),t.showReport?(e.openBlock(),e.createElementBlock("button",{key:2,class:"px-4 py-2 bg-[var(--color-danger-6)] text-white rounded hover:bg-[var(--color-danger-7)]",onClick:y},e.toDisplayString(s.value.report),1)):e.createCommentVNode("",!0)])])])):e.renderSlot(g.$slots,"default",{key:1})}}),Xt=["src"],ye=e.defineComponent({name:"SunnyIcon",__name:"icon",props:{fallback:{type:Boolean},icon:{type:[Function,String]}},setup(t){const n=t,o=e.computed(()=>P.isString(n.icon)&&P.isHttpUrl(n.icon)),r=e.computed(()=>{const{icon:l}=n;return!P.isString(l)&&(P.isObject(l)||P.isFunction(l))});return(l,a)=>r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),e.normalizeProps(e.mergeProps({key:0},l.$attrs)),null,16)):o.value?(e.openBlock(),e.createElementBlock("img",e.mergeProps({key:1,src:t.icon},l.$attrs),null,16,Xt)):t.icon?(e.openBlock(),e.createBlock(e.unref(ue.IconifyIcon),e.mergeProps({key:2},l.$attrs,{icon:t.icon}),null,16,["icon"])):t.fallback?(e.openBlock(),e.createBlock(e.unref(ue.IconDefault),e.normalizeProps(e.mergeProps({key:3},l.$attrs)),null,16)):e.createCommentVNode("",!0)}}),Zt=e.defineComponent({name:"SunnyScrollArea",__name:"ScrollArea",props:{type:{},dir:{},scrollHideDelay:{},asChild:{type:Boolean},as:{},class:{},onScroll:{type:Function,default:()=>{}}},setup(t){const n=t,o=e.computed(()=>{const{class:r,onScroll:l,...a}=n;return a});return(r,l)=>(e.openBlock(),e.createBlock(e.unref(K.ScrollAreaRoot),e.mergeProps(o.value,{class:e.unref(P.cn)("relative overflow-hidden",n.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(K.ScrollAreaViewport),{"as-child":"",class:"h-full w-full rounded-[inherit] focus:outline-none",onScroll:t.onScroll},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},8,["onScroll"]),e.createVNode(e.unref(Ce)),e.createVNode(e.unref(K.ScrollAreaCorner))]),_:3},16,["class"]))}}),Ce=e.defineComponent({name:"SunnyScrollBar",__name:"ScrollBar",props:{orientation:{default:"vertical"},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(t){const n=t,o=e.computed(()=>{const{class:r,...l}=n;return l});return(r,l)=>(e.openBlock(),e.createBlock(e.unref(K.ScrollAreaScrollbar),e.mergeProps(o.value,{class:e.unref(P.cn)("flex touch-none select-none transition-colors",t.orientation==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",t.orientation==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",n.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(K.ScrollAreaThumb),{class:"relative flex-1 rounded-full bg-border"})]),_:1},16,["class"]))}}),Se=1,vt=e.defineComponent({name:"SunnyScrollbar",__name:"scrollbar",props:{class:{default:""},horizontal:{type:Boolean,default:!1},scrollBarClass:{},shadow:{type:Boolean,default:!1},shadowBorder:{type:Boolean,default:!1},shadowBottom:{type:Boolean,default:!0},shadowLeft:{type:Boolean,default:!1},shadowRight:{type:Boolean,default:!1},shadowTop:{type:Boolean,default:!0}},emits:["scrollAt"],setup(t,{emit:n}){const o=t,r=n,l=e.ref(!0),a=e.ref(!1),s=e.ref(!1),i=e.ref(!0),h=e.computed(()=>o.shadow&&o.shadowTop),y=e.computed(()=>o.shadow&&o.shadowBottom),g=e.computed(()=>o.shadow&&o.shadowLeft),c=e.computed(()=>o.shadow&&o.shadowRight),f=e.computed(()=>({"both-shadow":!i.value&&!a.value&&g.value&&c.value,"left-shadow":!i.value&&g.value,"right-shadow":!a.value&&c.value}));function d(p){const u=p.target,S=u?.scrollTop??0,w=u?.scrollLeft??0,C=u?.clientHeight??0,A=u?.clientWidth??0,x=u?.scrollHeight??0,B=u?.scrollWidth??0;l.value=S<=0,i.value=w<=0,s.value=Math.abs(S)+C>=x-Se,a.value=Math.abs(w)+A>=B-Se,r("scrollAt",{bottom:s.value,left:i.value,right:a.value,top:l.value})}return(p,u)=>(e.openBlock(),e.createBlock(e.unref(Zt),{class:e.normalizeClass([[e.unref(P.cn)(o.class),f.value],"sunny-scrollbar relative"]),"on-scroll":d},{default:e.withCtx(()=>[h.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([{"opacity-100":!l.value,"border-t border-border":t.shadowBorder&&!l.value},"scrollbar-top-shadow pointer-events-none absolute top-0 z-10 h-12 w-full opacity-0 transition-opacity duration-300 ease-in-out will-change-[opacity]"])},null,2)):e.createCommentVNode("",!0),e.renderSlot(p.$slots,"default",{},void 0,!0),y.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([{"opacity-100":!l.value&&!s.value,"border-b border-border":t.shadowBorder&&!l.value&&!s.value},"scrollbar-bottom-shadow pointer-events-none absolute bottom-0 z-10 h-12 w-full opacity-0 transition-opacity duration-300 ease-in-out will-change-[opacity]"])},null,2)):e.createCommentVNode("",!0),t.horizontal?(e.openBlock(),e.createBlock(e.unref(Ce),{key:2,class:e.normalizeClass(t.scrollBarClass),orientation:"horizontal"},null,8,["class"])):e.createCommentVNode("",!0)]),_:3},8,["class"]))}}),X=(t,n)=>{const o=t.__vccOpts||t;for(const[r,l]of n)o[r]=l;return o},eo=X(vt,[["__scopeId","data-v-299d4e0d"]]),to={class:"sunny-file-upload"},oo={class:"font-bold text-gray-700 mb-2"},no={class:"flex flex-wrap items-center text-sm mb-3 select-none"},ro={class:"cursor-pointer text-blue-600 hover:text-blue-700 flex items-center mr-4 transition-colors"},lo={class:"text-xs text-blue-600"},ao={class:"text-xs text-gray-400"},so={class:"border border-dashed border-gray-300 rounded-lg p-4 transition-all duration-300"},io={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},co={class:"flex-1 min-w-0 pr-8"},fo=["title"],uo={class:"flex items-center text-xs text-gray-500"},mo={class:"mr-3 min-w-[3em]"},po={class:"ml-2 w-8 text-right"},Ae=1024,ho=e.defineComponent({__name:"index",props:{modelValue:{default:""},action:{default:""},delAction:{default:""},accept:{default:".csv,.pdf,.xls,.xlsx"},limit:{default:10},maxSize:{default:10},storeType:{default:"amazon"},s3FileDir:{default:""},preSigned:{default:""},preSignedExpire:{default:""},readonly:{type:Boolean,default:!1},showEncrypt:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:n}){const o=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],r=t,l=n,a=e.ref(!0),s=e.ref(!1),i=e.ref([]),h=e.ref(!1),y=e.computed(()=>i.value.every(B=>!!B.url)),g=e.computed(()=>i.value.filter(B=>B.checked).length);e.watch(()=>r.modelValue,B=>{try{i.value=JSON.parse(B||"[]")}catch(m){console.warn("Failed to parse modelValue:",m),i.value=[]}},{immediate:!0,deep:!0});const c=B=>B,f=B=>{if(B===0)return"0 B";const m=Math.floor(Math.log(B)/Math.log(Ae));return(B/Math.pow(Ae,m)).toPrecision(3)+" "+o[m]},d=B=>{const m=B.type||"",N=(B.name||"").split(".").pop()?.toLowerCase()||"",F={"vscode-icons:file-type-excel":["xls","xlsx","csv"],"vscode-icons:file-type-powerpoint":["ppt","pptx"],"vscode-icons:file-type-text":["txt"],"vscode-icons:file-type-word":["doc","docx"],"vscode-icons:file-type-zip":["zip","rar","7z","tar","gz"],"vscode-icons:file-type-pdf":["pdf"]};for(const[j,E]of Object.entries(F))if(E.includes(N)||E.some(T=>m.includes(T)))return j;return m.includes("excel")||m.includes("spreadsheet")?"vscode-icons:file-type-excel":m.includes("powerpoint")||m.includes("presentation")?"vscode-icons:file-type-powerpoint":m.includes("text/plain")?"vscode-icons:file-type-text":m.includes("word")||m.includes("document")?"vscode-icons:file-type-word":m.includes("zip")||m.includes("compressed")?"vscode-icons:file-type-zip":m.includes("pdf")?"vscode-icons:file-type-pdf":"vscode-icons:default-file"},p=()=>{const B=JSON.stringify(i.value);l("update:modelValue",B),l("change",B)},u=(B,m)=>{if(m.status!=="init")return;if(i.value.length>=r.limit){k.Message.error(`最多上传${r.limit}个文件`);return}const b=r.maxSize*1024*1024;if(m.file.size>b){k.Message.error(`文件最大限制${f(b)}`);return}i.value.push({uid:m.uid,name:m.name,size:m.file?.size,type:m.file?.type,file:m.file,percentage:0,checked:!1})},S=async()=>{if(i.value.length===0)return;const B=i.value.filter(m=>!m.url);for(const m of B){const b=new FormData;b.append("fileName",m.file),b.append("encryptFile",s.value?"1":"0"),r.storeType&&b.append("storeType",r.storeType),r.s3FileDir&&b.append("s3FileDir",r.s3FileDir),r.preSigned&&b.append("preSigned",r.preSigned),r.preSignedExpire&&b.append("preSignedExpire",r.preSignedExpire);try{const N=await G.post(r.action,b,{onUploadProgress:j=>{if(j.total){const E=Math.floor(j.loaded/j.total*100);m.percentage=E}}}),{data:F}=N;F.code===200?(Object.assign(m,F.result),k.Message.success(F.message||"上传成功")):(k.Message.error(F.message||"上传失败"),w(m.uid))}catch{k.Message.error("上传失败"),w(m.uid)}}p()},w=B=>{const m=i.value.findIndex(b=>b.uid===B);m>-1&&i.value.splice(m,1)},C=(B,m)=>{B.url?k.Modal.confirm({title:c("提示"),content:c("是否删除该文件?"),onOk:()=>{G.post(r.delAction,{filePathList:[B.url],storeType:r.storeType}).then(b=>{const{data:N}=b;k.Message[N.success?"success":"error"](N.message),N.code===200&&(i.value.splice(m,1),p())})}}):(i.value.splice(m,1),p())},A=()=>{const B=i.value.every(m=>m.checked);i.value.forEach(m=>m.checked=!B)},x=()=>{const B=i.value.filter(m=>m.checked);B.length!==0&&k.Modal.confirm({title:c("提示"),content:c("是否删除选中的文件?"),onOk:()=>{h.value=!0;const m=B.map(b=>b.url).filter(Boolean);m.length>0?G.post(r.delAction,{filePathList:m,storeType:r.storeType}).then(b=>{const{data:N}=b;k.Message[N.success?"success":"error"](N.message),N.code===200&&(i.value=i.value.filter(F=>!F.checked),p())}).finally(()=>{h.value=!1}):(i.value=i.value.filter(b=>!b.checked),p(),h.value=!1)}})};return(B,m)=>(e.openBlock(),e.createElementBlock("div",to,[e.createElementVNode("div",oo,e.toDisplayString(c("附件")),1),e.withDirectives(e.createElementVNode("div",no,[e.createVNode(e.unref(k.Upload),{"show-file-list":!1,"auto-upload":!1,multiple:"",accept:t.accept,onChange:u},{"upload-button":e.withCtx(()=>[e.createElementVNode("span",ro,[e.createVNode(e.unref(yt),{class:"mr-1 w-4 h-4"}),e.createTextVNode(" "+e.toDisplayString(c("选择附件")),1)])]),_:1},8,["accept"]),e.createElementVNode("span",{class:e.normalizeClass(["flex items-center mr-4 transition-colors",y.value?"text-gray-300 cursor-not-allowed":"cursor-pointer text-gray-600 hover:text-gray-800"]),onClick:m[0]||(m[0]=b=>!y.value&&S())},[e.createVNode(e.unref(mt),{class:"mr-1 w-4 h-4"}),e.createTextVNode(" "+e.toDisplayString(c("上传附件")),1)],2),e.createElementVNode("span",{class:"cursor-pointer text-blue-600 hover:text-blue-700 mr-4 transition-colors",onClick:A},e.toDisplayString(c("全选")),1),e.createElementVNode("span",{class:e.normalizeClass(["mr-4 transition-colors",g.value===0?"text-gray-300 cursor-not-allowed":"cursor-pointer text-gray-500 hover:text-red-500"]),onClick:x},e.toDisplayString(c("删除")),3),t.showEncrypt?(e.openBlock(),e.createBlock(e.unref(k.Checkbox),{key:0,modelValue:s.value,"onUpdate:modelValue":m[1]||(m[1]=b=>s.value=b),class:"mr-4"},{default:e.withCtx(()=>[e.createElementVNode("span",lo,e.toDisplayString(c("是否加密")),1)]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),e.createElementVNode("span",ao," ("+e.toDisplayString(c("单个文件最大"))+e.toDisplayString(t.maxSize)+"MB,"+e.toDisplayString(c("最多上传"))+e.toDisplayString(t.limit)+e.toDisplayString(c("个"))+") ",1),e.createElementVNode("span",{class:"ml-auto cursor-pointer text-blue-600 text-xs hover:text-blue-700 transition-colors",onClick:m[2]||(m[2]=b=>a.value=!a.value)},e.toDisplayString(a.value?c("隐藏"):c("展开")),1)],512),[[e.vShow,!t.readonly]]),e.withDirectives(e.createElementVNode("div",so,[e.createElementVNode("div",io,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(b,N)=>(e.openBlock(),e.createElementBlock("div",{key:b.uid||N,class:"bg-gray-50 hover:bg-gray-100 rounded p-3 relative flex items-center border border-transparent hover:border-gray-200 transition-colors group"},[e.createVNode(e.unref(ye),{icon:d(b),class:"w-10 h-10 mr-3 flex-shrink-0"},null,8,["icon"]),e.createElementVNode("div",co,[e.createElementVNode("div",{class:"text-sm truncate font-medium text-gray-700 mb-1",title:b.name},e.toDisplayString(b.name),9,fo),e.createElementVNode("div",uo,[e.createElementVNode("span",mo,e.toDisplayString(f(b.size)),1),e.createVNode(e.unref(k.Progress),{percent:b.percentage/100,size:"small","show-text":!1,color:b.percentage===100?"#00b42a":"#165dff",class:"flex-1"},null,8,["percent","color"]),e.createElementVNode("span",po,e.toDisplayString(b.percentage)+"%",1)])]),t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(k.Checkbox),{key:0,modelValue:b.checked,"onUpdate:modelValue":F=>b.checked=F,class:"absolute top-3 right-3"},null,8,["modelValue","onUpdate:modelValue"])),t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(ge),{key:1,class:"absolute bottom-3 right-3 w-4 h-4 cursor-pointer text-gray-400 hover:text-red-500 transition-colors",onClick:F=>C(b,N)},null,8,["onClick"]))]))),128))])],512),[[e.vShow,i.value.length>0&&a.value]])]))}}),go={class:"flex gap-2 items-center flex-nowrap overflow-hidden"},yo={class:"flex gap-2 item-center flex-nowrap"},ke=e.defineComponent({__name:"index",props:{modelValue:{type:String},action:{type:String,required:!0},delAction:{type:String,required:!0},accept:{type:String},encryptFile:{type:Boolean,default:!1},storeType:{type:String,default:"amazon"},s3FileDir:{type:String,default:""},preSigned:{type:Boolean,default:!1},preSignedExpire:{type:Number,default:7},limit:{type:Number,default:void 0},maxSize:{type:Number,default:void 0}},emits:["update:modelValue","change"],setup(t,{emit:n}){const o=t,r=e.computed(()=>JSON.parse(o.modelValue||"[]")),l=n,a=i=>{const{onProgress:h,onError:y,onSuccess:g,fileItem:c,name:f}=i;if(o.limit&&r.value.length>=o.limit){k.Message.error(`最多只能上传 ${o.limit} 个文件`),y();return}if(o.maxSize&&c.file.size>o.maxSize*1024*1024){k.Message.error(`文件大小不能超过 ${o.maxSize} MB`),y();return}var d=new FormData;d.append("fileName",c.file),d.append("encryptFile",o.encryptFile===!0?"1":"0"),d.append("storeType",o.storeType),o.s3FileDir&&d.append("s3FileDir",o.s3FileDir),o.preSigned&&d.append("preSigned",o.preSigned===!0?"1":"0"),o.preSignedExpire&&d.append("preSignedExpire",String(o.preSignedExpire)),G.post(o.action,d,{onUploadProgress:p=>{const u=Math.floor(p.loaded/p.total*100);h(u)}}).then(p=>{if(p.data.code===200){k.Message.success(p.data.message||"上传成功"),g(p.data.result);const u=[...r.value,c];l("update:modelValue",JSON.stringify(u)),l("change",JSON.stringify(u))}else k.Message.error(p.data.message||"上传失败"),y()}).catch(()=>{y()})},s=i=>{G.post(o.delAction,{filePathList:[i.response.url],storeType:o.storeType}).then(h=>{const{data:y}=h;if(k.Message.success(y.message||"删除成功"),y.code===200){const g=r.value.filter(c=>c.uid!==i.uid);l("update:modelValue",JSON.stringify(g))}}).catch(h=>{k.Message.error("删除失败"),console.error("删除文件失败:",h)})};return(i,h)=>{const y=e.resolveComponent("a-button"),g=e.resolveComponent("a-upload"),c=e.resolveComponent("a-tag");return e.openBlock(),e.createElementBlock("div",go,[e.createVNode(g,{"show-file-list":!1,action:t.action,"custom-request":a},{"upload-button":e.withCtx(()=>[e.createVNode(y,{type:"primary",size:"mini"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("common.upload")),1)]),_:1})]),_:1},8,["action"]),e.createElementVNode("div",yo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,f=>(e.openBlock(),e.createBlock(c,{loading:!1,color:f.status==="error"?"red":"green",closable:"",onClose:d=>s(f)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.name),1)]),_:2},1032,["color","onClose"]))),256))])])}}}),be=e.defineComponent({name:"SunnySelect",inheritAttrs:!1,props:{modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},options:{type:Array,default:()=>[]},filterModel:{type:Object,default:void 0}},emits:["update:modelValue"],setup(t,{emit:n,slots:o,attrs:r}){const l=i=>{const h=i.cMeta;return!h||Object.keys(h).length===0?!0:!t.filterModel||Object.keys(t.filterModel).length===0?!1:Object.entries(h).every(([y,g])=>{const c=t.filterModel[y];return c==null?!1:String(c)===String(g)})},a=e.computed(()=>{const i=t.modelValue;if(i==null||i===""||r["allow-create"]===!0||r["allow-create"]==="")return i;const h=y=>t.options.some(g=>l(g)?g.value==y||typeof y=="object"&&y!==null&&"value"in y&&g.value==y.value:!1);if(Array.isArray(i)){const y=i.filter(g=>h(g));return y.length===i.length?i:y}else return h(i)?i:void 0});e.watch(a,i=>{i!==t.modelValue&&n("update:modelValue",i)});const s=i=>{n("update:modelValue",i)};return()=>e.createVNode(k.Select,e.mergeProps(r,{modelValue:a.value,"onUpdate:modelValue":s}),{default:()=>t.options.map(i=>l(i)?e.createVNode(k.Option,e.mergeProps({key:i.value},i),{default:()=>o.option?o.option({data:i}):i.label}):null),...Object.fromEntries(Object.entries(o).filter(([i])=>i!=="option"&&i!=="default"))})}}),Co={class:"flex items-center justify-between px-3 py-2 border-b border-[var(--color-neutral-3)] bg-[var(--color-bg-popup)] select-none"},So={class:"flex items-center gap-1"},Ao={class:"w-6 h-6 flex items-center justify-center rounded cursor-help text-[var(--color-text-3)] hover:text-[var(--color-text-1)] hover:bg-[var(--color-fill-3)] transition-all"},ko=e.defineComponent({name:"SunnyBatchSelect",inheritAttrs:!1,__name:"BatchSelect",props:{modelValue:{default:()=>[]},options:{default:()=>[]},matchStrategy:{default:"both"},filterModel:{default:void 0}},emits:["update:modelValue","change"],setup(t,{emit:n}){const o=t,r=n,l=e.computed(()=>o.options.filter(c=>!c.disabled)),a=e.computed(()=>l.value.length===0?!1:l.value.every(c=>o.modelValue.includes(c.value))),s=e.computed(()=>{if(l.value.length===0)return!1;const c=l.value.filter(f=>o.modelValue.includes(f.value)).length;return c>0&&c<l.value.length}),i=c=>{r("update:modelValue",c),r("change",c)},h=c=>{if(c===!0){const d=l.value.map(S=>S.value),p=o.modelValue.filter(S=>{const w=o.options.find(C=>C.value===S);return w&&w.disabled}),u=Array.from(new Set([...p,...d]));r("update:modelValue",u),r("change",u)}else{const d=o.modelValue.filter(p=>{const u=o.options.find(S=>S.value===p);return u&&u.disabled});r("update:modelValue",d),r("change",d)}},y=()=>{const c=o.modelValue.filter(f=>{const d=o.options.find(p=>p.value===f);return d&&d.disabled});r("update:modelValue",c),r("change",c)},g=c=>{const f=c.clipboardData||window.clipboardData;if(!f)return;const d=f.getData("text");if(!d)return;const p=d.split(/\r?\n/).map(C=>C.trim()).filter(C=>C);if(p.length===0)return;const u=[];let S=0;const w=C=>{const A=C.cMeta;return!A||Object.keys(A).length===0?!0:!o.filterModel||Object.keys(o.filterModel).length===0?!1:Object.entries(A).every(([x,B])=>{const m=o.filterModel[x];return m==null?!1:String(m)===String(B)})};if(p.forEach(C=>{if(o.matchStrategy==="value"||o.matchStrategy==="both"){const A=o.options.find(x=>String(x.value)===C);if(A&&!A.disabled&&w(A)){u.push(A.value),S++;return}}if(o.matchStrategy==="label"||o.matchStrategy==="both"){const A=o.options.find(x=>x.label===C);A&&!A.disabled&&w(A)&&(u.push(A.value),S++)}}),u.length>0){c.preventDefault();const C=Array.from(new Set([...o.modelValue,...u]));r("update:modelValue",C),r("change",C),k.Message.success(`成功识别并选中 ${S} 项 (Matched ${S} items)`)}};return(c,f)=>{const d=e.resolveComponent("a-checkbox"),p=e.resolveComponent("a-tooltip");return e.openBlock(),e.createBlock(e.unref(be),e.mergeProps(c.$attrs,{"model-value":t.modelValue,options:t.options,"filter-model":t.filterModel,multiple:"","allow-search":"","onUpdate:modelValue":i,onPaste:g}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",Co,[e.createVNode(d,{"model-value":a.value,indeterminate:s.value,onChange:h,class:"pl-1"},{default:e.withCtx(()=>[...f[0]||(f[0]=[e.createElementVNode("span",{class:"text-[var(--color-text-1)]"},"全选",-1)])]),_:1},8,["model-value","indeterminate"]),e.createElementVNode("div",So,[e.createVNode(p,{content:"清除所有选中项"},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"w-6 h-6 flex items-center justify-center rounded cursor-pointer text-[var(--color-text-3)] hover:bg-[var(--color-fill-3)] transition-all",onClick:y},[e.createVNode(e.unref(ge))])]),_:1}),f[1]||(f[1]=e.createElementVNode("div",{class:"w-[1px] h-3 bg-[var(--color-neutral-3)] mx-1"},null,-1)),e.createVNode(p,{content:"支持从 Excel 或文本编辑器(↓列数据)复制多行数据,粘贴至搜索框即可自动匹配并选中。",position:"left"},{default:e.withCtx(()=>[e.createElementVNode("div",Ao,[e.createVNode(e.unref(he))])]),_:1})])])]),_:2},[e.renderList(c.$slots,(u,S)=>({name:S,fn:e.withCtx(w=>[e.renderSlot(c.$slots,S,e.normalizeProps(e.guardReactiveProps(w||{})))])}))]),1040,["model-value","options","filter-model"])}}}),bo={class:"w-full"},wo={key:0,class:"flex justify-between items-center w-full"},Bo={class:"text-[var(--color-text-3)] text-xs"},Eo=e.defineComponent({name:"SunnyCustomizeSelect",inheritAttrs:!0,__name:"CustomizeSelect",props:{value:{default:""},cNum:{default:""},defaultQuery:{type:Boolean,default:!0},defaultConfig:{default:()=>({})},attrParam:{default:()=>({})}},emits:["update:modelValue","selectChange","change"],setup(t,{emit:n}){const o=k.Select,r=k.Option,l=t,a=n,s=e.getCurrentInstance(),i=e.ref({nType:1,cLabelslotcol:"",nSearchinterval:700}),h=e.ref([{cKeynumb:"",cKeyname:"",cSlot:""}]),y=e.ref([]),g=e.ref(!1),c=e.ref(!1),f=e.computed({get:()=>l.value,set:w=>{a("update:modelValue",w)}}),d=async()=>{if(l.cNum){const w={cNum:l.cNum,attrParam:{...l.attrParam}};f.value&&(w.cVal=Q.toString(f.value));const C=await G.post("/core/assSelect/commonQuery",w);C.data.code===200?(h.value=C.data.result.optionList,y.value=C.data.result.optionList,c.value=!1):(c.value=!0,k.Message.error(C.data.message))}},p=w=>{a("selectChange",w,s?.proxy)},u=Q.debounce(w=>{if(w!==""){g.value=!0;const C={cNum:l.cNum,attrParam:{...l.attrParam},searchCondition:w};G.post("/core/assSelect/commonQuery",C).then(A=>{i.value=A.data.result.assSelect,h.value=A.data.result.optionList,y.value=A.data.result.optionList}).finally(()=>{g.value=!1})}else h.value=y.value},i.value.nSearchinterval||700),S=()=>{u("")};return e.watch(()=>l.attrParam,()=>{d()},{deep:!0}),e.onMounted(()=>{l.defaultQuery&&l.defaultQuery===!0?d():l.cNum&&l.defaultQuery===!1&&(i.value=Object.assign({},i.value,l.defaultConfig))}),(w,C)=>(e.openBlock(),e.createElementBlock("div",bo,[e.createVNode(e.unref(o),e.mergeProps({modelValue:f.value,"onUpdate:modelValue":C[0]||(C[0]=A=>f.value=A),"allow-clear":"","allow-search":i.value.nType==1,loading:g.value,error:c.value},w.$attrs,{onChange:p,onClear:S,onSearch:e.unref(u),triggerProps:{contentClass:"customize-select-content"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,A=>(e.openBlock(),e.createBlock(e.unref(r),{key:A.cKeynumb,label:A.cKeyname,value:A.cKeynumb},{default:e.withCtx(()=>[i.value.cLabelslotcol?(e.openBlock(),e.createElementBlock("div",wo,[e.createElementVNode("span",null,e.toDisplayString(A.cKeyname),1),e.createElementVNode("span",Bo,e.toDisplayString(A.cSlot),1)])):e.createCommentVNode("",!0)]),_:2},1032,["label","value"]))),128))]),_:1},16,["modelValue","allow-search","loading","error","onSearch"])]))}}),we=e.defineComponent({name:"SunnySearchInputTag",inheritAttrs:!1,__name:"SearchInputTag",props:{modelValue:{default:()=>[]},fieldNames:{default:()=>({label:"label",value:"value"})},placeholder:{default:"请选择..."},disabled:{type:Boolean,default:!1},maxTagCount:{}},emits:["update:modelValue","search","change","clear"],setup(t,{emit:n}){const o=t,r=n,l=e.computed(()=>o.fieldNames?.label||"label"),a=e.computed(()=>o.fieldNames?.value||"value"),s=e.computed(()=>o.modelValue.map(c=>({label:c[l.value],value:c[a.value],closable:!o.disabled,tagProps:c.tagProps}))),i=c=>{o.disabled||["Backspace","Delete","Tab","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(c.key)||c.preventDefault()},h=(c,f)=>{const d=[...o.modelValue];d.splice(f,1),r("update:modelValue",d),r("change",d)},y=()=>{r("update:modelValue",[]),r("change",[]),r("clear")},g=()=>{o.disabled||r("search")};return(c,f)=>{const d=e.resolveComponent("a-input-tag");return e.openBlock(),e.createBlock(d,e.mergeProps(c.$attrs,{"model-value":s.value,"input-value":"",disabled:t.disabled,placeholder:t.placeholder,"max-tag-count":t.maxTagCount,"allow-create":!1,class:"w-full group",onRemove:h,onClear:y,onKeydown:i}),e.createSlots({suffix:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center h-full px-2 border-l border-[var(--color-neutral-3)] group-hover:border-[var(--color-neutral-4)] -mr-3",[t.disabled?"cursor-not-allowed text-[var(--color-text-4)]":"cursor-pointer text-[var(--color-text-2)] group"]]),onClick:e.withModifiers(g,["stop"])},[e.createVNode(e.unref(ct),{class:"transition-colors group-hover:text-[var(--color-primary-6)]"})],2)]),_:2},[e.renderList(c.$slots,(p,u)=>({name:u,fn:e.withCtx(S=>[e.renderSlot(c.$slots,u,e.normalizeProps(e.guardReactiveProps(S||{})))])}))]),1040,["model-value","disabled","placeholder","max-tag-count"])}}});class xo{store;constructor(n,o){this.store=new Ye.Store(n),o?.onUpdate&&this.store.subscribe(()=>{o.onUpdate?.()})}setState(n){this.store.setState(o=>{const r=typeof n=="function"?n(o):n;return{...o,...r}})}getState(){return this.store.state}}function Be(t,n="YYYY-MM-DD"){if(!t)return t;if(P.isFunction(t.format))return t.format(n);if(t instanceof Date){const o=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),l=String(t.getDate()).padStart(2,"0"),a=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0");return n.replace("YYYY",String(o)).replace("MM",r).replace("DD",l).replace("HH",a).replace("mm",s).replace("ss",i)}return String(t)}function Z(t){return P.is(t,"Date")}function v(t){return P.isObject(t)&&"$d"in t&&"$y"in t&&"$M"in t}function ee(t,n){if(!P.isObject(t)||!P.isObject(n)||Array.isArray(n))return n;const o={...t};return Object.keys(n).forEach(r=>{const l=o[r],a=n[r];P.isObject(l)&&P.isObject(a)?o[r]=ee(l,a):o[r]=a}),o}class No{condition=!1;resolveFn=null;promise=null;setConditionTrue(){this.condition=!0,this.resolveFn&&(this.resolveFn(),this.resolveFn=null)}reset(){this.condition=!1,this.promise=null,this.resolveFn=null}async waitForCondition(){this.condition||(this.promise||(this.promise=new Promise(n=>{this.resolveFn=n})),await this.promise)}}function Vo(t){const n=Object.getPrototypeOf(t),o=Object.getOwnPropertyNames(n);for(const r of o){const l=t[r];r!=="constructor"&&typeof l=="function"&&(t[r]=l.bind(t))}}function Po(){return{actionWrapperClass:"",collapsed:!1,collapsedRows:1,collapseTriggerResize:!1,commonConfig:{},handleReset:void 0,handleSubmit:void 0,handleValuesChange:void 0,handleCollapsedChange:void 0,layout:"horizontal",resetButtonOptions:{},schema:[],scrollToFirstError:!1,showCollapseButton:!1,showDefaultActions:!0,submitButtonOptions:{},submitOnChange:!1,submitOnEnter:!1,wrapperClass:"grid-cols-1",values:{}}}class Ee{form;isMounted=!1;state=null;stateHandler;store;componentRefMap=new Map;latestSubmissionValues=null;prevState=null;constructor(n={}){const{...o}=n,r=Po();this.store=new xo({...r,...o},{onUpdate:()=>{this.prevState=this.state,this.state=this.store.getState(),this.updateState()}}),this.state=this.store.getState(),this.stateHandler=new No,Vo(this)}getFieldComponentRef(n){let o=this.componentRefMap.has(n)?this.componentRefMap.get(n):void 0;if(o&&o.$&&o.$.type&&o.$.type.name==="AsyncComponentWrapper"&&o.$.subTree&&o.$.subTree.ref){const r=o.$.subTree.ref;Array.isArray(r)?r.length>0&&r[0]&&e.isRef(r[0].r)&&(o=r[0].r.value):e.isRef(r.r)&&(o=r.r.value)}return o}getFocusedField(){for(const n of this.componentRefMap.keys()){const o=this.getFieldComponentRef(n);if(o){let r=null;if(o instanceof HTMLElement?r=o:o.$el instanceof HTMLElement&&(r=o.$el),!r)continue;if(r===document.activeElement||r.contains(document.activeElement))return n}}}getLatestSubmissionValues(){return this.latestSubmissionValues||{}}getState(){return this.state}async getValues(){const n=await this.getForm();return n.values?this.handleRangeTimeValue(n.values):{}}async isFieldValid(n){return(await this.getForm()).isFieldValid(n)}merge(n){const o=[this,n],r=new Proxy(n,{get(l,a){return a==="merge"?s=>(o.push(s),r):a==="submitAllForm"?async(s=!0)=>{try{const i=await Promise.all(o.map(async h=>(await h.validate()).valid?e.toRaw(await h.getValues()||{}):void 0));return i.some(h=>!h)?void 0:s?Object.assign({},...i):i}catch(i){console.error("Validation error:",i)}}:l[a]}});return r}mount(n,o){this.isMounted||(this.form=n,this.stateHandler.setConditionTrue(),this.setLatestSubmissionValues({...e.toRaw(this.handleRangeTimeValue(this.form.values))}),o&&(this.componentRefMap=o),this.isMounted=!0)}async removeSchemaByFields(n){const o=new Set(n),l=(this.state?.schema??[]).filter(a=>a.fieldName&&!o.has(a.fieldName));this.setState({schema:l})}async resetForm(n,o){return(await this.getForm()).resetForm(n,o)}async resetValidate(){const n=await this.getForm();Object.keys(n.errors.value).forEach(r=>{n.setFieldError(r,void 0)})}scrollToFirstError(n){const o=typeof n=="string"?n:Object.keys(n)[0];if(!o)return;let r=document.querySelector(`[name="${o}"]`);if(!r){const l=this.getFieldComponentRef(o);l&&l.$el instanceof HTMLElement?r=l.$el:l instanceof HTMLElement&&(r=l)}r&&r.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})}async setFieldValue(n,o,r){const l=await this.getForm();if(n.includes(".")||n.includes("[")){const a={...l.values},s=Q.set(a,n,o);l.setValues(s,r)}else l.setValues({[n]:o},r)}setLatestSubmissionValues(n){this.latestSubmissionValues={...e.toRaw(n)}}setState(n){P.isFunction(n)?this.store.setState(o=>ee(o,n(o))):this.store.setState(o=>ee(o,n))}async setValues(n,o=!0,r=!1){const l=await this.getForm(),a=l.values||{},s={...n};if(this.handleValueToObjectFields(s),Object.keys(s).some(y=>y.includes(".")||y.includes("["))){let y={...a};for(const[g,c]of Object.entries(s))y=Q.set(y,g,c);o&&(y=this.filterNestedValues(y,a)),l.setValues(y,r);return}if(!o){l.setValues(s,r);return}const h=this.filterAndMergeValues(s,a);l.setValues(h,r)}filterNestedValues(n,o){if(!P.isObject(n)||!P.isObject(o)||Array.isArray(n))return n;const r={};for(const l in n)if(Object.prototype.hasOwnProperty.call(n,l)&&l in o){const a=n[l],s=o[l];P.isObject(a)&&!Array.isArray(a)&&!Z(a)&&!v(a)&&P.isObject(s)&&!Array.isArray(s)&&!Z(s)&&!v(s)?r[l]=this.filterNestedValues(a,s):r[l]=a}return r}filterAndMergeValues(n,o){if(!P.isObject(n)||!P.isObject(o)||Array.isArray(n))return n;const r={};for(const l in n)if(Object.prototype.hasOwnProperty.call(n,l)&&l in o){const a=n[l],s=o[l];P.isObject(a)&&!Array.isArray(a)&&!Z(a)&&!v(a)&&P.isObject(s)&&!Array.isArray(s)&&!Z(s)&&!v(s)?r[l]=this.filterAndMergeValues(a,s):r[l]=a}return r}async resetValues(n){return this.setValues(n)}async submitForm(n){n?.preventDefault(),n?.stopPropagation();const o=await this.getForm(),{valid:r,errors:l}=await o.validate(),a=e.toRaw(await this.getValues());return r?await this.state?.handleSubmit?.(a):this.state?.scrollToFirstError&&this.scrollToFirstError(l),{valid:r,values:a,errors:l}}unmount(){this.form?.resetForm?.(),this.latestSubmissionValues=null,this.isMounted=!1,this.stateHandler.reset()}updateSchema(n){const o=[...n];if(!o.every(s=>Reflect.has(s,"fieldName")&&s.fieldName)){console.error("All items in the schema array must have a valid `fieldName` property to be updated");return}const l=P.cloneDeep(this.state?.schema??[]),a={};o.forEach(s=>{s.fieldName&&(a[s.fieldName]=s)}),l.forEach((s,i)=>{if(!s.fieldName)return;const h=a[s.fieldName];h&&(l[i]=ee(s,h))}),this.setState({schema:l})}async validate(n){const r=await(await this.getForm()).validate(n);return Object.keys(r?.errors??{}).length>0&&(console.error("validate error",r?.errors),this.state?.scrollToFirstError&&this.scrollToFirstError(r.errors)),r}async validateAndSubmitForm(){const n=await this.getForm(),{valid:o,errors:r}=await n.validate();if(!o){this.state?.scrollToFirstError&&this.scrollToFirstError(r);return}return await this.submitForm()}async validateField(n,o){const l=await(await this.getForm()).validateField(n,o);return Object.keys(l?.errors??{}).length>0&&(console.error("validate error",l?.errors),this.state?.scrollToFirstError&&this.scrollToFirstError(n)),l}async getForm(){if(this.isMounted||await this.stateHandler.waitForCondition(),!this.form?.meta)throw new Error("<SunnyUseForm /> is not mounted");return this.form}handleMultiFields=n=>{const o=this.state?.arrayToStringFields;if(!o||!Array.isArray(o))return;const r=(l,a=",")=>{this.processFields(l,a,n,(s,i)=>{if(Array.isArray(s))return s.join(i);if(typeof s=="string"){if(s==="")return[];const h=i.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`);return s.split(new RegExp(h))}else return s})};if(o.every(l=>typeof l=="string")){const l=o[o.length-1]||"",a=l.length===1?o.slice(0,-1):o,s=l.length===1?l:",";r(a,s);return}o.forEach(l=>{if(Array.isArray(l)){const[a,s=","]=l;if(!Array.isArray(a)){console.warn(`Invalid field configuration: fields should be an array of strings, got ${typeof a}`);return}r(a,s)}})};handleObjectToValueFields=n=>{const o=this.state?.objectToValueFields;!o||!Array.isArray(o)||o.forEach(r=>{const l=n[r];if(!Array.isArray(l)||l.length===0)return;const a=this.state?.schema?.find(g=>g.fieldName===r);if(!a)return;let s=a.componentProps;if(typeof s=="function")try{s=s(n,this.form)}catch(g){console.warn(`[SunnyForm] Failed to resolve componentProps for field ${r}`,g);return}const h=(s?.modalProps?.fieldNames||s?.fieldNames)?.value;if(!h)return;const y=l.map(g=>g&&typeof g=="object"?g[h]:g).filter(g=>g!=null).join(",");n[r]=y})};handleValueToObjectFields=n=>{const o=this.state?.objectToValueFields;!o||!Array.isArray(o)||o.forEach(r=>{const l=n[r];if(typeof l!="string"||l===""||Array.isArray(l))return;const a=this.state?.schema?.find(c=>c.fieldName===r);if(!a)return;let s=a.componentProps;if(typeof s=="function")try{s=s(n,this.form)}catch(c){console.warn(`[SunnyForm] Failed to resolve componentProps for field ${r}`,c);return}const i=s?.modalProps?.fieldNames||s?.fieldNames,h=i?.value||"value",y=i?.label||"label";if(!i?.value)return;const g=l.split(",").map(c=>c.trim()).filter(c=>c!=="").map(c=>({[h]:c,[y]:c}));n[r]=g})};handleRangeTimeValue=n=>{const o={...n},r=this.state?.fieldMappingTime;return this.handleMultiFields(o),this.handleObjectToValueFields(o),!r||!Array.isArray(r)||r.forEach(([l,[a,s],i="YYYY-MM-DD"])=>{if(a&&s&&o[l]===null&&(Reflect.deleteProperty(o,a),Reflect.deleteProperty(o,s)),!o[l]){Reflect.deleteProperty(o,l);return}const[h,y]=o[l];if(i===null)o[a]=h,o[s]=y;else if(P.isFunction(i))o[a]=i(h,l),o[s]=i(y,l);else{const[g,c]=Array.isArray(i)?i:[i,i];o[a]=h?Be(h,g):void 0,o[s]=y?Be(y,c):void 0}Reflect.deleteProperty(o,l)}),o};processFields=(n,o,r,l)=>{n.forEach(a=>{const s=r[a];s!=null&&(r[a]=l(s,o))})};updateState(){const n=this.state?.schema??[],o=this.prevState?.schema??[];if(n.length<o.length){const r=new Set(n.map(a=>a.fieldName)),l=o.filter(a=>!r.has(a.fieldName));for(const a of l)a.fieldName&&this.form?.setFieldValue?.(a.fieldName,void 0)}}useStore}const xe=Symbol("FormRenderProps"),Io=Symbol("ComponentRefMap"),Ne=Symbol("FieldSlots"),Ro=t=>{e.provide(xe,t)},de=()=>{const t=e.inject(xe);if(!t)throw new Error("injectRenderFormProps must be used within provideFormRenderProps");return t},Fo=t=>{e.provide(Io,t)},To=t=>{e.provide(Ne,t)},Mo=()=>e.inject(Ne),Ve=()=>{const t=de(),n=e.computed(()=>t.layout==="vertical");return{props:t,isVertical:n,componentBindEventMap:e.computed(()=>t.config?.modelPropNameMap)}},Pe=Symbol("FormPropsKey");function Ie(t){e.provide(Pe,t)}function Lo(){const t=e.inject(Pe);if(!t)throw new Error("Form context not found (表单上下文未找到,请确保在 SunnyForm 或 SunnyUseForm 内部使用)");return t}function Do(t){const n=e.useSlots(),o=e.computed(()=>{const a=e.unref(t),s={};return(a.schema||[]).forEach(i=>{i.fieldName&&i.defaultValue!==void 0&&(s[i.fieldName]=i.defaultValue)}),a.values&&Object.assign(s,a.values),s}),r=U.useForm({initialValues:o.value}),l=e.computed(()=>{const a=[],s=Object.keys(n);for(const i of s)i!=="default"&&typeof n[i]=="function"&&a.push(i);return a});return{form:r,delegatedSlots:l}}const jo=e.defineAsyncComponent(()=>Promise.resolve().then(()=>wn));U.defineRule("required",t=>t==null||t===""||Array.isArray(t)&&t.length===0?"此项必填":!0);const Oo={Input:k.Input,InputPassword:k.InputPassword,InputNumber:k.InputNumber,Textarea:k.Textarea,Select:k.Select,Checkbox:k.Checkbox,CheckboxGroup:k.CheckboxGroup,Radio:k.Radio,RadioGroup:k.RadioGroup,Switch:k.Switch,DatePicker:k.DatePicker,RangePicker:k.RangePicker,TimePicker:k.TimePicker,Upload:k.Upload,Rate:k.Rate,Slider:k.Slider,Cascader:k.Cascader,TreeSelect:k.TreeSelect,SunnySelect:k.Select,SunnyCheckbox:k.Checkbox,SunnyRadio:k.Radio,SunnySwitch:k.Switch,SunnyDatePicker:k.DatePicker,SunnyTimePicker:k.TimePicker,SunnyUpload:k.Upload,SunnyBusinessSearch:jo},Re={};function zo(t){const{config:n,defineRules:o}=t,{disabledOnChangeListener:r=!0,disabledOnInputListener:l=!0,emptyStateValue:a=void 0,businessSearchAdapter:s}=n||{};if(Object.assign(Re,{disabledOnChangeListener:r,disabledOnInputListener:l,emptyStateValue:a,businessSearchAdapter:s}),o)for(const i of Object.keys(o))U.defineRule(i,o[i])}function Qo(t){const n=U.useFormValues(),r=de().form;if(!n)throw new Error("useDependencies should be used within <SunnyForm> (VeeValidate Form)");const l=e.computed(()=>n.value),a=e.computed(()=>t()),s=e.computed(()=>{const f=a.value;if(!f)return!0;const{if:d}=f,p=l.value;return P.isFunction(d)?!!d(p,r):P.isBoolean(d)?d:!0}),i=e.computed(()=>{const f=a.value;if(!f)return!0;const{show:d}=f,p=l.value;return P.isFunction(d)?!!d(p,r):P.isBoolean(d)?d:!0}),h=e.computed(()=>{const f=a.value;if(!f)return!1;const{disabled:d}=f,p=l.value;return P.isFunction(d)?!!d(p,r):P.isBoolean(d)?d:!1}),y=e.computed(()=>{const f=a.value;if(!f)return!1;const{required:d}=f,p=l.value;return P.isFunction(d)?!!d(p,r):!1}),g=e.computed(()=>{const f=a.value;if(!f)return{};const{componentProps:d}=f,p=l.value;return P.isFunction(d)?d(p,r)||{}:{}}),c=e.computed(()=>{const f=a.value;if(!f)return;const{rules:d}=f,p=l.value;if(P.isFunction(d))return d(p,r)});return{dynamicComponentProps:g,dynamicRules:c,isDisabled:h,isIf:s,isRequired:y,isShow:i}}const $o=e.defineComponent({__name:"FormField",props:{schema:{}},setup(t){const n=t,o=U.useFormValues(),r=de(),{isVertical:l}=Ve(),a=r.form,s=Mo(),{dynamicComponentProps:i,dynamicRules:h,isDisabled:y,isIf:g,isRequired:c,isShow:f}=Qo(()=>n.schema.dependencies),d=e.computed(()=>{const{component:E}=n.schema;return P.isString(E)&&Oo[E]||E}),p=e.computed(()=>{const{component:E}=n.schema;return E==="Slot"}),u=e.computed(()=>{if(!p.value||!s)return!1;const E=n.schema.fieldName;return E?!!s[E]:!1}),S=(E,T)=>{const I=n.schema.fieldName;if(!I||!s||!s[I])return null;const M=s[I],R=D=>{E.onInput(D)},$={model:o.value,value:E.value,setValue:R,disabled:N.value,errorMessage:T,field:E,componentProps:m.value};return M($)},w=e.defineComponent({name:"FieldSlotRenderer",props:{field:{type:Object,required:!0},errorMessage:{type:String,default:void 0}},setup(E){return()=>S(E.field,E.errorMessage)}}),C=e.computed(()=>n.schema.hidden?!1:g.value&&f.value),A=e.computed(()=>h.value||n.schema.rules),x=e.computed(()=>{if(!C.value)return!1;if(!A.value)return c.value;if(c.value)return!0;if(P.isString(A.value))return A.value.split("|").includes("required");const E=e.toRaw(A.value);let T=E?.isOptional?.();if(E?._def?.typeName==="ZodDefault"){const M=E?._def.innerType;M&&(T=M.isOptional?.())}return!T}),B=e.computed(()=>{if(!C.value)return null;let E=e.toRaw(A.value);if(!E)return c.value?"required":void 0;if(P.isString(E))return E;if(!!x.value){const I=E?.unwrap?.();I&&(E=I)}return Ge.toTypedSchema(E)}),m=e.computed(()=>{const{componentProps:E,commonComponentProps:T}=n.schema,I=P.isFunction(E)?E(o.value,a):E;return{...T,...I,...i.value}}),b=E=>{const T=m.value,I=(R,$)=>(...D)=>{P.isFunction(R)&&R(...D),$(...D)},M=R=>{P.isFunction(T?.onInput)&&T.onInput(R),E.onInput(R)};return{...T,onInput:I(T?.onInput,E.onInput),onChange:I(T?.onChange,E.onChange),modelValue:E.value,"onUpdate:modelValue":M}};e.watch(()=>m.value?.autofocus,E=>{E===!0&&e.nextTick(()=>{})},{immediate:!0});const N=e.computed(()=>y.value||n.schema.disabled||m.value?.disabled),F=e.computed(()=>{if(!(l.value||!n.schema.labelWidth))return{style:{flex:1}}}),j=e.computed(()=>{if(l.value||!n.schema.labelWidth)return;const E=n.schema.labelWidth,T=typeof E=="number"?`${E}px`:E;return{style:{width:T,minWidth:T,maxWidth:T,flex:`0 0 ${T}`}}});return(E,T)=>{const I=e.resolveComponent("a-form-item");return C.value&&t.schema.fieldName?(e.openBlock(),e.createBlock(e.unref(U.Field),{key:0,name:t.schema.fieldName,rules:B.value,label:t.schema.label},{default:e.withCtx(({field:M,errorMessage:R})=>[e.createVNode(I,e.mergeProps({label:t.schema.label,help:R||t.schema.help,"validate-status":R?"error":void 0,required:x.value,"label-col-props":j.value,"wrapper-col-props":F.value},t.schema.formFieldProps),{default:e.withCtx(()=>[u.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(w)),{key:0,field:M,"error-message":R},null,8,["field","error-message"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value),e.mergeProps({key:1},b(M),{disabled:N.value}),null,16,["disabled"]))]),_:2},1040,["label","help","validate-status","required","label-col-props","wrapper-col-props"])]),_:1},8,["name","rules","label"])):e.createCommentVNode("",!0)}}}),Fe=e.defineComponent({__name:"form-actions",props:{modelValue:{type:Boolean},formApi:{}},emits:["update:modelValue","reset","submit"],setup(t,{expose:n,emit:o}){const r=t,l=o,{props:a}=Ve(),s=U.useFormContext(),i=e.computed({get:()=>r.modelValue??!1,set:d=>l("update:modelValue",d)}),h=e.computed(()=>({content:"重置",show:!0,type:"outline",...e.unref(a).resetButtonOptions})),y=e.computed(()=>({content:"查询",show:!0,htmlType:r.formApi?"button":"submit",...e.unref(a).submitButtonOptions}));async function g(d){if(r.formApi){d?.preventDefault(),d?.stopPropagation();const p=e.unref(a),{valid:u}=await r.formApi.validate();if(!u)return;const S=e.toRaw(await r.formApi.getValues())??{};await p.handleSubmit?.(S)}}async function c(d){d?.preventDefault(),d?.stopPropagation();const p=e.unref(a);if(r.formApi){const u=e.toRaw(await r.formApi.getValues())??{};p.handleReset?await p.handleReset(u):r.formApi.resetForm()}else if(s)if(p.handleReset){const u=s.values;await p.handleReset(u)}else s.resetForm();l("reset")}e.watch(()=>i.value,()=>{e.unref(a).collapseTriggerResize&&window.dispatchEvent(new Event("resize"))});const f=e.computed(()=>{const d=e.unref(a),p=d.actionPosition||"right",u=["flex","items-center","gap-3",d.layout==="vertical"?"self-end":"self-start",d.layout==="inline"?"":"w-full",d.actionWrapperClass];switch(p){case"center":{u.push("justify-center");break}case"left":{u.push("justify-start");break}default:{u.push("justify-end");break}}return u.join(" ")});return n({handleReset:c,handleSubmit:g}),(d,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(f.value)},[e.unref(e.unref(a)).actionButtonsReverse?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(d.$slots,"submit-before"),y.value.show?(e.openBlock(),e.createBlock(e.unref(k.Button),e.mergeProps({key:0,type:"primary",size:e.unref(e.unref(a)).size||"small",onClick:g},y.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0)],64)),e.renderSlot(d.$slots,"reset-before"),h.value.show?(e.openBlock(),e.createBlock(e.unref(k.Button),e.mergeProps({key:1,size:e.unref(e.unref(a)).size,onClick:c},h.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0),e.unref(e.unref(a)).actionButtonsReverse?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.renderSlot(d.$slots,"submit-before"),y.value.show?(e.openBlock(),e.createBlock(e.unref(k.Button),e.mergeProps({key:0,type:"primary",size:e.unref(e.unref(a)).size||"small",onClick:g},y.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"expand-before"),e.unref(e.unref(a)).showCollapseButton?(e.openBlock(),e.createElementBlock("div",{key:3,class:"cursor-pointer ml-2 text-primary hover:opacity-80 transition-opacity select-none",onClick:p[0]||(p[0]=u=>i.value=!i.value)},[e.createElementVNode("span",null,e.toDisplayString(i.value?"展开":"收起"),1)])):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"expand-after")],2))}});function Uo(t){const n={xs:576,sm:576,md:768,lg:992,xl:1200,xxl:1600},o=me.useBreakpoints(n),r=e.computed(()=>{const i={},h=t.schema||[],y=a(),g=t.commonConfig?.colProps;return h.forEach(c=>{if(!c.fieldName)return;const f=c.colProps||g;i[c.fieldName]=s(f,c.colSpan,y)}),i}),l=e.computed(()=>{const i=a();if(t.layout!=="inline"){if(t.actionColProps)return s(t.actionColProps,void 0,i);if(t.showCollapseButton){const h=t.commonConfig?.colProps;return s(h||{xs:12,sm:12,md:8,lg:6},void 0,i)}return 24}});function a(){return o.greaterOrEqual("xxl").value?"xxl":o.greaterOrEqual("xl").value?"xl":o.greaterOrEqual("lg").value?"lg":o.greaterOrEqual("md").value?"md":o.greaterOrEqual("sm").value?"sm":"xs"}function s(i,h,y){if(i){const g=["xxl","xl","lg","md","sm","xs"],c=g.indexOf(y);for(let f=c;f<g.length;f++){const d=g[f],p=i[d];if(p!==void 0)return typeof p=="object"?p.span??24:p}if(i.span!==void 0)return i.span}return h!==void 0?h:24}return{spans:r,actionSpan:l}}const qo={class:"h-full flex flex-col justify-end"},Te=e.defineComponent({__name:"Form",props:{formApi:{},form:{}},emits:["submit"],setup(t,{expose:n,emit:o}){const r=t,l=o,a=e.useSlots(),s=Lo(),i=e.reactive({...s.value});e.watch(()=>s.value,m=>{Object.assign(i,m)},{deep:!0}),Ro(i),To(a);const{spans:h,actionSpan:y}=Uo(i),g=e.computed(()=>{const{commonConfig:m={},labelWidth:b,schema:N=[]}=i,{componentProps:F={},formFieldProps:j={},...E}=m,T={...E};return b!==void 0&&Object.assign(T,{labelWidth:b}),N.map(I=>({...T,...I,hidden:I.hide,commonComponentProps:F,formFieldProps:{...j,...I.formFieldProps||{}},componentProps:I.componentProps}))}),c=e.computed(()=>i.layout==="inline"),{handleSubmit:f,resetForm:d,setValues:p,values:u,validate:S,errors:w,meta:C}=r.form||U.useForm({initialValues:g.value.reduce((m,b)=>(b.fieldName&&(m[b.fieldName]=b.defaultValue),m),{})});n({validate:async()=>({valid:(await S()).valid,errors:w.value}),handleSubmit:f}),e.onMounted(()=>{r.formApi&&r.formApi.mount({handleSubmit:f,resetForm:d,setValues:p,values:u,validate:S,errors:w,meta:C})});const A=f(m=>{l("submit",m),i.handleSubmit&&i.handleSubmit(m)}),x=m=>{i.collapsed=m,i.handleCollapsedChange?.(m),r.formApi&&r.formApi.setState({collapsed:m})},B=e.computed(()=>{const{compact:m,gridProps:b}=i,N=m?8:16,F=b?.xGap??b?.["x-gap"]??N,j=b?.yGap??b?.["y-gap"]??N;return{x:F,y:j}});return(m,b)=>{const N=e.resolveComponent("a-col"),F=e.resolveComponent("a-row"),j=e.resolveComponent("a-form");return e.openBlock(),e.createBlock(j,{model:{},layout:e.unref(s).layout||"horizontal",size:e.unref(s).size||"small",class:"arco-form",onSubmit:b[0]||(b[0]=(E,T)=>e.unref(A)(T))},{default:e.withCtx(()=>[e.createVNode(F,{gutter:[B.value.x,B.value.y],class:e.normalizeClass(i.wrapperClass),align:(i.layout||"horizontal")==="vertical"?"stretch":void 0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(E,T)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:E.fieldName||T},[E.fieldName&&!E.hidden&&(!i.collapsed||T<24/(e.unref(h)[E.fieldName]??24)*(i.collapsedRows??1)-1)?(e.openBlock(),e.createBlock(N,{key:0,span:e.unref(h)[E.fieldName]??(c.value?void 0:24)},{default:e.withCtx(()=>[e.createVNode($o,{schema:E},null,8,["schema"])]),_:2},1032,["span"])):e.createCommentVNode("",!0)],64))),128)),i.showDefaultActions||e.unref(a).actions?(e.openBlock(),e.createBlock(N,{key:0,span:e.unref(y),style:e.normalizeStyle(c.value?{marginLeft:"16px"}:{flex:1,textAlign:"right"})},{default:e.withCtx(()=>[e.createElementVNode("div",qo,[e.unref(a).actions?e.renderSlot(m.$slots,"actions",{key:0,collapsed:i.collapsed,formApi:r.formApi}):(e.openBlock(),e.createBlock(Fe,{key:1,"model-value":i.collapsed,"onUpdate:modelValue":x,"form-api":r.formApi},e.createSlots({_:2},[e.unref(a)["submit-before"]?{name:"submit-before",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"submit-before")]),key:"0"}:void 0,e.unref(a)["reset-before"]?{name:"reset-before",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"reset-before")]),key:"1"}:void 0,e.unref(a)["expand-before"]?{name:"expand-before",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"expand-before")]),key:"2"}:void 0,e.unref(a)["expand-after"]?{name:"expand-after",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"expand-after")]),key:"3"}:void 0]),1032,["model-value","form-api"]))])]),_:3},8,["span","style"])):e.createCommentVNode("",!0)]),_:3},8,["gutter","class","align"])]),_:3},8,["layout","size"])}}}),Me=e.defineComponent({__name:"SunnyUseForm",props:{id:{},layout:{},size:{},schema:{},labelWidth:{},wrapperClass:{},gridProps:{},actionWrapperClass:{},commonConfig:{},config:{},showDefaultActions:{type:Boolean,default:void 0},submitButtonOptions:{},resetButtonOptions:{},submitOnEnter:{type:Boolean,default:void 0},submitOnChange:{type:Boolean,default:void 0},handleValuesChange:{},handleCollapsedChange:{},handleSubmit:{},scrollToFirstError:{type:Boolean},handleReset:{},collapsed:{type:Boolean,default:void 0},showCollapseButton:{type:Boolean,default:void 0},collapsedRows:{},collapseTriggerResize:{type:Boolean,default:void 0},compact:{type:Boolean,default:void 0},actionLayout:{},actionPosition:{},actionColProps:{},values:{},fieldMappingTime:{},arrayToStringFields:{},objectToValueFields:{},formApi:{}},setup(t){const n=t,o=n.formApi.useStore?.()||e.computed(()=>({})),r=e.computed(()=>{const g=Object.entries(n).reduce((c,[f,d])=>(d!==void 0&&(c[f]=d),c),{});return{...o.value,...g}}),l=new Map,{delegatedSlots:a,form:s}=Do(r);Ie(r),Fo(l),e.onBeforeUnmount(()=>{n.formApi.unmount()});const i={};e.onMounted(async()=>{n.formApi.mount(s,l),n.formApi.setState({values:P.cloneDeep(s.values)}),await e.nextTick(),e.watch(()=>s.values,async g=>{if(n.formApi.setState({values:P.cloneDeep(g)}),h(),!r.value.handleValuesChange)return;const c=r.value.schema?.map(d=>d.fieldName)||[];if(c.length===0)return;const f=[];for(const d of c){const p=P.get(g,d),u=P.get(i,d);P.isEqual(p,u)||(f.push(d),P.set(i,d,p))}if(f.length>0){const d=await n.formApi.getValues();r.value.handleValuesChange(P.cloneDeep(d??{}),f)}},{deep:!0})});const h=me.useDebounceFn(async()=>{o.value.submitOnChange&&await n.formApi.submitForm()},300);function y(g){o.value.submitOnEnter&&(g.target instanceof HTMLTextAreaElement||(g.preventDefault(),n.formApi.submitForm()))}return(g,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value.wrapperClass)},[e.createVNode(Te,e.mergeProps(r.value,{form:e.unref(s),"form-api":n.formApi,onKeydown:e.withKeys(y,["enter"])}),e.createSlots({default:e.withCtx(()=>[]),_:2},[e.renderList(e.unref(a),f=>({name:f,fn:e.withCtx(d=>[e.renderSlot(g.$slots,f,e.normalizeProps(e.guardReactiveProps(d)))])}))]),1040,["form","form-api"])],2))}});function Le(t={}){const n=new Ee(t);return n.useStore=r=>We.useStore(n.store.store,r),e.isReactive(t)&&e.watch(()=>t.schema,()=>{t.schema&&n.setState({schema:t.schema})},{immediate:!0}),[e.defineComponent({name:"useSunnyFormWrapper",setup(r,{attrs:l,slots:a}){return n.setState({...r,...l}),()=>e.h(Me,{...r,...l,formApi:n},a)}}),n]}const De=e.defineComponent({__name:"SunnyForm",props:{id:{},layout:{},size:{},schema:{},labelWidth:{},wrapperClass:{},gridProps:{},actionWrapperClass:{},commonConfig:{},config:{},showDefaultActions:{type:Boolean},submitButtonOptions:{},resetButtonOptions:{},submitOnEnter:{type:Boolean},submitOnChange:{type:Boolean},handleValuesChange:{type:Function},handleCollapsedChange:{type:Function},handleSubmit:{type:Function},scrollToFirstError:{type:Boolean},handleReset:{type:Function},collapsed:{type:Boolean},showCollapseButton:{type:Boolean},collapsedRows:{},collapseTriggerResize:{type:Boolean},compact:{type:Boolean},actionLayout:{},actionPosition:{},actionColProps:{},values:{},fieldMappingTime:{},arrayToStringFields:{},objectToValueFields:{}},emits:["submit","reset","update:collapsed"],setup(t,{expose:n,emit:o}){const r=t,l=o,a=e.useSlots(),s=e.ref(null),i=e.computed(()=>r);Ie(i);const h=c=>{l("update:collapsed",c),r.handleCollapsedChange?.(c)},y=c=>{l("submit",c),r.handleSubmit?.(c)},g=()=>{l("reset",void 0)};return n({validate:async()=>s.value?s.value.validate():{valid:!1,errors:{}},submit:()=>{s.value?.handleSubmit&&s.value.handleSubmit(y)(void 0)}}),(c,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.wrapperClass)},[e.createVNode(Te,{ref_key:"formRenderRef",ref:s,onSubmit:y},e.createSlots({default:e.withCtx(()=>[r.showDefaultActions?(e.openBlock(),e.createBlock(Fe,{key:0,"model-value":r.collapsed,"onUpdate:modelValue":h,onReset:g},{"reset-before":e.withCtx(()=>[e.renderSlot(c.$slots,"reset-before")]),"submit-before":e.withCtx(()=>[e.renderSlot(c.$slots,"submit-before")]),"expand-before":e.withCtx(()=>[e.renderSlot(c.$slots,"expand-before")]),"expand-after":e.withCtx(()=>[e.renderSlot(c.$slots,"expand-after")]),_:3},8,["model-value"])):e.createCommentVNode("",!0)]),_:2},[e.renderList(e.unref(a),(d,p)=>({name:p,fn:e.withCtx(u=>[e.renderSlot(c.$slots,p,e.normalizeProps(e.guardReactiveProps(u)))])}))]),1536)],2))}});let Wo=class{gridRef;constructor(n,o){this.gridRef=n}get grid(){return this.gridRef.value?.getGrid?.()||this.gridRef.value}get $grid(){return this.grid}async reloadData(n){const o=this.grid;o&&await o.reloadData(n)}async getFullData(){const n=this.grid;return n?n.getFullData():[]}async getCheckboxRecords(){const n=this.grid;return n?n.getCheckboxRecords():[]}async addEvent(n,o){const r=this.grid;if(r){const{row:l}=await r.insertAt(n,o);await e.nextTick(),r.setEditRow(l)}}async deleteSelection(){const n=this.grid;if(n){const o=n.getCheckboxRecords();o.length>0&&await n.remove(o)}}async validate(n=!0){const o=this.grid;return o?o.validate(n):null}};const Yo=e.defineComponent({__name:"use-vxe-grid",setup(t,{expose:n}){const o=e.ref();return n({getGrid:()=>o.value}),(r,l)=>{const a=e.resolveComponent("a-config-provider");return e.openBlock(),e.createBlock(a,{size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(te.VxeGrid),e.mergeProps({ref_key:"gridRef",ref:o},r.$attrs),e.createSlots({_:2},[e.renderList(r.$slots,(s,i)=>({name:i,fn:e.withCtx(h=>[e.renderSlot(r.$slots,i,e.normalizeProps(e.guardReactiveProps(h||{})))])}))]),1040)]),_:3})}}});function Go(t){const n=e.ref(),o=new Wo(n,t);return[e.defineComponent((l,{attrs:a,slots:s})=>{const{gridEvents:i,gridOptions:h}=t,y=Object.entries(i||{}).reduce((g,[c,f])=>{const d=`on${c.charAt(0).toUpperCase()+c.slice(1)}`;return g[d]=f,g},{});return()=>e.h(Yo,{ref:n,...l,...a,...h,...y},s)}),o]}const Jo=Object.freeze(Object.defineProperty({__proto__:null,BusinessSearchRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]?JSON.stringify(t[n.field]):""])],edit:({row:t,column:n})=>[e.createVNode(fe,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},DatePickerRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>[e.createVNode(k.DatePicker,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},InputNumberRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>{const o=t[n.field],r=typeof o=="string"&&o!==""?Number(o):o;return[e.createVNode(k.InputNumber,e.mergeProps({modelValue:r,"onUpdate:modelValue":l=>{typeof o=="string"&&l!==null&&l!==void 0?t[n.field]=String(l):t[n.field]=l}},n.params),null)]}}},InputRangeRender:{editRender:{},slots:{default:({row:t,column:n})=>{const o=n.params?.fieldNames;let r;if(o){const l=t[o.start],a=t[o.end];r=[l,a]}else r=t[n.field];return[e.createVNode("span",null,[Q.isArray(r)?r.join(" ~ "):r])]},edit:({row:t,column:n})=>{const o=n.params?.fieldNames,r=n.params?.inputType||"input",l=r==="number"?k.InputNumber:k.Input;if(o){const i=t[o.start],h=t[o.end],y=r==="number"&&typeof i=="string"&&i!==""?Number(i):i,g=r==="number"&&typeof h=="string"&&h!==""?Number(h):h;return[e.createVNode("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},[e.createVNode(l,e.mergeProps({modelValue:y,"onUpdate:modelValue":c=>{r==="number"&&typeof i=="string"&&c!==null&&c!==void 0?t[o.start]=String(c):t[o.start]=c}},n.params),null),e.createVNode("span",null,[e.createTextVNode("~")]),e.createVNode(l,e.mergeProps({modelValue:g,"onUpdate:modelValue":c=>{r==="number"&&typeof h=="string"&&c!==null&&c!==void 0?t[o.end]=String(c):t[o.end]=c}},n.params),null)])]}const a=t[n.field],s=r==="number"&&typeof a=="string"&&a!==""?Number(a):a;return[e.createVNode(l,e.mergeProps({modelValue:s,"onUpdate:modelValue":i=>{r==="number"&&typeof a=="string"&&i!==null&&i!==void 0?t[n.field]=String(i):t[n.field]=i}},n.params),null)]}}},InputRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>[e.createVNode(k.Input,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},MonthPickerRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>[e.createVNode(k.MonthPicker,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},RangePickerRender:{editRender:{},slots:{default:({row:t,column:n})=>{const o=n.params?.fieldNames;let r;if(o){const l=t[o.start],a=t[o.end];r=[l,a]}else r=t[n.field];return[e.createVNode("span",null,[Q.isArray(r)?r.join(" / "):r])]},edit:({row:t,column:n})=>{const o=n.params?.fieldNames;let r;if(o){const l=t[o.start],a=t[o.end];r=[l,a]}else r=t[n.field];return[e.createVNode(k.RangePicker,e.mergeProps({modelValue:r,"onUpdate:modelValue":l=>{o?Q.isArray(l)&&l.length===2?(t[o.start]=l[0],t[o.end]=l[1]):(t[o.start]=void 0,t[o.end]=void 0):t[n.field]=l}},n.params),null)]}}},SelectRender:{editRender:{},slots:{default:({row:t,column:n})=>{const o=t[n.field],l=n.params?.options?.find(a=>a.value===o);return[e.createVNode("span",null,[l?.label??o])]},edit:({row:t,column:n})=>[e.createVNode(k.Select,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},SpanRender:{editRender:{},slots:{default:({row:t,column:n})=>{const o=t[n.field],l=n.params?.options?.find(a=>a.value===o);return[e.createVNode("span",null,[l?.label??o])]}}},SpanselectRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])]}},SwitchRender:{editRender:{},slots:{default:({row:t,column:n})=>{const{checkedValue:o,checkedText:r,uncheckedValue:l,uncheckedText:a}=n.params||{},s=t[n.field];return o!==void 0&&r!==void 0&&s===o?[e.createVNode("span",null,[r])]:l!==void 0&&a!==void 0&&s===l?[e.createVNode("span",null,[a])]:[e.createVNode("span",null,[s])]},edit:({row:t,column:n})=>[e.createVNode(k.Switch,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},TextareaRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>{const o=e.ref(!1),r=e.ref(t[n.field]||"");return[e.createVNode(k.Popover,{popupVisible:o.value,"onUpdate:popupVisible":l=>o.value=l,trigger:"click",position:"top"},{default:()=>[e.createVNode(k.Input,e.mergeProps({modelValue:r.value,"onUpdate:modelValue":l=>{r.value=l,t[n.field]=l},onFocus:()=>{o.value=!0}},n.params),null)],content:()=>[e.createVNode(k.Textarea,e.mergeProps({modelValue:r.value,"onUpdate:modelValue":l=>{r.value=l,t[n.field]=l},autoSize:{minRows:3,maxRows:6},placeholder:n.params?.placeholder||"请输入内容"},n.params),null)]})]}}},UploadRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]?JSON.stringify(t[n.field]):""])],edit:({row:t,column:n})=>[e.createVNode(ke,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},WeekPickerRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>[e.createVNode(k.WeekPicker,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}},YearPickerRender:{editRender:{},slots:{default:({row:t,column:n})=>[e.createVNode("span",null,[t[n.field]])],edit:({row:t,column:n})=>[e.createVNode(k.YearPicker,e.mergeProps({modelValue:t[n.field],"onUpdate:modelValue":o=>{t[n.field]=o}},n.params),null)]}}},Symbol.toStringTag,{value:"Module"})),Ko=Object.freeze(Object.defineProperty({__proto__:null,requiredValidator:({row:t,rule:n})=>{const o=t[n.field];if(o==null||o==="")return new Error(n.message)}},Symbol.toStringTag,{value:"Module"}));class _o{gridRef;constructor(n){this.gridRef=n}get grid(){return this.gridRef.value?.getGrid?.()||this.gridRef.value}get $grid(){return this.grid}async addEvent(n={}){const o=this.grid;if(o){const{record:r={},index:l=-1}=n,{row:a}=await o.insertAt(r,l);await e.nextTick(),o.setEditRow(a)}}getSelection(){const n=this.grid;return n?n.getCheckboxRecords():[]}async deleteSelection(){const n=this.grid;if(n){const o=n.getCheckboxRecords();o.length>0&&await n.remove(o)}}commitProxy(n,...o){const r=this.grid;if(r)return r.commitProxy(n,...o)}}function Ho(t,n){let o=null,r=null,l=null,a=null,s=null,i=!1,h=!1;const y=u=>{if(!u)return window;let S=u.parentElement;for(;S;){const w=window.getComputedStyle(S);if(/(auto|scroll)/.test(w.overflow+w.overflowY+w.overflowX))return S;S=S.parentElement}return window},g=()=>{o&&o.classList.contains("is-sticky")&&(o.style.position="",o.style.top="",o.style.left="",o.style.zIndex="",o.style.width="",o.classList.remove("is-sticky"),r&&r.parentNode&&(r.parentNode.removeChild(r),r=null)),a&&(a.style.display="none")},c=()=>{h||a&&l&&(i=!0,a.scrollLeft=l.scrollLeft,requestAnimationFrame(()=>{i=!1}))},f=()=>{i||a&&l&&(h=!0,l.scrollLeft=a.scrollLeft,requestAnimationFrame(()=>{h=!1}))},d=()=>{!t.value||a||(a=document.createElement("div"),a.className="vxe-table--sticky-scrollbar",a.style.position="fixed",a.style.bottom="0",a.style.overflowX="auto",a.style.overflowY="hidden",a.style.zIndex="101",a.style.display="none",s=document.createElement("div"),a.appendChild(s),a.addEventListener("scroll",f),document.body.appendChild(a),l=t.value.$el.querySelector(".vxe-table--body-wrapper"),l&&l.addEventListener("scroll",c))},p=()=>{if(!t.value||!o)return;if(!n.sticky){g();return}const u=t.value.$el,S=u.getBoundingClientRect(),w=o.getBoundingClientRect(),C=y(u);let A={top:0,bottom:window.innerHeight};if(C!==window&&C instanceof HTMLElement&&(A=C.getBoundingClientRect()),A.bottom>0&&A.top<window.innerHeight&&S.top<A.top&&S.bottom>w.height){const B=Math.max(0,A.top);S.bottom-w.height>B?(!o.classList.contains("is-sticky")||o.style.top!==`${B}px`||o.style.left!==`${S.left}px`)&&(o.style.position="fixed",o.style.top=`${B}px`,o.style.left=`${S.left}px`,o.style.width=`${S.width}px`,o.style.zIndex="100",o.classList.add("is-sticky"),r||(r=document.createElement("div"),o.parentNode?.insertBefore(r,o)),r.style.height=`${w.height}px`):g()}else o.classList.contains("is-sticky")&&(o.style.position="",o.style.top="",o.style.left="",o.style.width="",o.classList.remove("is-sticky"),r&&r.parentNode&&(r.parentNode.removeChild(r),r=null));if((!a||!l)&&d(),a&&l&&s){const B=l.scrollWidth,m=l.clientWidth;if(B>m){const b=window.innerHeight;S.bottom>b&&S.top<b?(a.style.display="block",a.style.width=`${S.width}px`,a.style.left=`${S.left}px`,s.style.width=`${B}px`,Math.abs(a.scrollLeft-l.scrollLeft)>1&&(a.scrollLeft=l.scrollLeft)):a.style.display="none"}else a.style.display="none"}};e.watch(()=>n.sticky,()=>{p()}),e.onMounted(()=>{setTimeout(()=>{t.value&&(o=t.value.$el.querySelector(".vxe-table--header-wrapper"),o&&(window.addEventListener("scroll",p,!0),window.addEventListener("resize",p)),d())},100)}),e.onBeforeUnmount(()=>{window.removeEventListener("scroll",p,!0),window.removeEventListener("resize",p),r&&r.parentNode&&r.parentNode.removeChild(r),a&&a.parentNode&&a.parentNode.removeChild(a),l&&l.removeEventListener("scroll",c)})}const Xo={class:"my-filter-complex"},Zo={key:0,class:"my-filter-input"},vo={class:"my-fc-footer"},en=X(e.defineComponent({__name:"FilterComplex",props:{renderOpts:Object,renderParams:Object},setup(t){const n=t,o=e.ref(),r=e.computed(()=>{const{column:c}=n.renderParams||{};return c?c.field:""}),l=()=>{const{renderParams:c}=n;if(c){const{column:f}=c,d=f.filters[0];o.value=d}};e.watch(r,()=>{l()}),l();const a=e.computed(()=>n.renderParams?.column),s=e.computed(()=>{const c=a.value;return c&&Q.hasIn(c.params,"optionlist")?"select":"input"}),i=()=>{const{renderParams:c}=n,f=o.value;if(c&&f){const{$table:d}=c,p=!!f.data;d.updateFilterOptionStatus(f,p)}},h=()=>{const{renderParams:c}=n,f={};if(c){const{$table:d}=c;d.getColumns().forEach(u=>{const{field:S,filters:w}=u;if(S&&w&&w.length){const C=w[0];C.data&&(f[S]=C.data)}})}return f},y=()=>{const{renderParams:c}=n;if(c){const{$table:f,$grid:d}=c,p=o.value;p&&f.updateFilterOptionStatus(p,!!p.data);const u=h();d.commitProxy("query",u),d.closeFilter()}},g=()=>{const{renderParams:c}=n,f=o.value;if(c&&f){const{$table:d,$grid:p}=c;f.data="",d.updateFilterOptionStatus(f,!1);const u=h();p.commitProxy("query",u),p.closeFilter()}};return(c,f)=>(e.openBlock(),e.createElementBlock("div",Xo,[o.value?(e.openBlock(),e.createElementBlock("div",Zo,[s.value==="select"&&a.value?(e.openBlock(),e.createBlock(e.unref(J.VxeSelect),{key:0,modelValue:o.value.data,"onUpdate:modelValue":f[0]||(f[0]=d=>o.value.data=d),options:a.value.params.optionlist,clearable:"",onChange:i},null,8,["modelValue","options"])):(e.openBlock(),e.createBlock(e.unref(J.VxeInput),{key:1,modelValue:o.value.data,"onUpdate:modelValue":f[1]||(f[1]=d=>o.value.data=d),clearable:"",onKeyup:e.withKeys(y,["enter"]),onInput:i},null,8,["modelValue"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",vo,[e.createVNode(e.unref(J.VxeButton),{onClick:g},{default:e.withCtx(()=>[...f[2]||(f[2]=[e.createTextVNode("重置",-1)])]),_:1}),e.createVNode(e.unref(J.VxeButton),{status:"primary",onClick:y},{default:e.withCtx(()=>[...f[3]||(f[3]=[e.createTextVNode("确认",-1)])]),_:1})])]))}}),[["__scopeId","data-v-e4891191"]]);te.VxeUI.renderer.add("MyFilterComplex",{showTableFilterFooter:!1,renderTableFilter(t,n){return e.createVNode(en,{renderOpts:t,renderParams:n},null)}});const je=e.defineComponent({components:{VxePager:J.VxePager,VxeButton:J.VxeButton},__name:"use-query-grid",props:{size:{default:"small"}},setup(t,{expose:n}){const o=t,r=e.ref(),l=e.useAttrs();return Ho(r,l),n({getGrid:()=>r.value}),(a,s)=>(e.openBlock(),e.createBlock(e.unref(te.VxeGrid),e.mergeProps({ref_key:"gridRef",ref:r},a.$attrs,{size:o.size}),e.createSlots({_:2},[e.renderList(a.$slots,(i,h)=>({name:h,fn:e.withCtx(y=>[e.renderSlot(a.$slots,h,e.normalizeProps(e.guardReactiveProps(y||{})))])}))]),1040,["size"]))}});function tn(t){const n=e.ref(),o=new _o(n);return[e.defineComponent((l,{attrs:a,slots:s})=>{const{gridEvents:i,gridOptions:h}=t,y=Object.entries(i||{}).reduce((g,[c,f])=>{const d=`on${c.charAt(0).toUpperCase()+c.slice(1)}`;return g[d]=f,g},{});return()=>e.h(je,{ref:n,...l,...a,...h,...y},s)}),o]}function Oe(t){const{props:n,emit:o,attrs:r}=t,l=e.computed(()=>n.contextMenuActions||n.actions||[]),a=e.computed(()=>{const u=r["field-names"],S=r.fieldNames;return{key:"key",title:"title",children:"children",...u||S||{}}}),s=u=>{const S=a.value.key||"key";return u[S]??u.key},i=()=>r.data||[],h=u=>{const S=s(u);return S==null?!1:i().some(w=>s(w)===S||w===u)},y=(u,S,w)=>typeof u=="boolean"?u:typeof u=="function"?u(S):w,g=u=>u?!n.enableRootContextMenu&&h(u)?[]:l.value.filter(S=>y(S.visible,u,!0)):[],c=(u,S)=>y(u.disabled,S,!1);return{canShowContextMenu:u=>g(u).length>0,getNodeActions:g,isActionDisabled:c,getNodeTitle:u=>{const S=a.value.title||"title",w=s(u);return String(u?.[S]??u?.title??w??"")},handleActionClick:async(u,S)=>{const w=g(S).find(C=>C.key===String(u));w&&(c(w,S)||(w.handler&&await w.handler(S),o("action",{key:w.key,action:w,node:S})))}}}const on={class:"sunny-resource-tree"},nn={class:"sunny-resource-tree__title"},rn=X(e.defineComponent({name:"SunnyResourceTree",inheritAttrs:!1,__name:"SunnyResourceTree",props:{contextMenuActions:{default:()=>[]},actions:{default:()=>[]},enableRootContextMenu:{type:Boolean,default:!1}},emits:["action"],setup(t,{expose:n,emit:o}){const r=t,l=o,a=e.useAttrs(),s=e.useSlots(),i=e.ref(),{canShowContextMenu:h,getNodeActions:y,isActionDisabled:g,getNodeTitle:c,handleActionClick:f}=Oe({props:r,emit:l,attrs:a}),d=(S,w)=>{f(S,w)},p=e.computed(()=>Object.keys(s).filter(S=>S!=="title")),u=(S,...w)=>i.value?.[S]?.(...w);return n({getTree:()=>i.value,toggleCheck:(S,w)=>u("toggleCheck",S,w),scrollIntoView:S=>u("scrollIntoView",S),getSelectedNodes:()=>u("getSelectedNodes"),getCheckedNodes:S=>u("getCheckedNodes",S),getHalfCheckedNodes:()=>u("getHalfCheckedNodes"),getExpandedNodes:()=>u("getExpandedNodes"),checkAll:S=>u("checkAll",S),checkNode:(S,w,C)=>u("checkNode",S,w,C),selectAll:S=>u("selectAll",S),selectNode:(S,w)=>u("selectNode",S,w),expandAll:S=>u("expandAll",S),expandNode:(S,w)=>u("expandNode",S,w)}),(S,w)=>(e.openBlock(),e.createElementBlock("div",on,[e.createVNode(e.unref(k.Tree),e.mergeProps({ref_key:"treeRef",ref:i},S.$attrs),e.createSlots({title:e.withCtx(C=>[e.unref(h)(C)?(e.openBlock(),e.createBlock(e.unref(k.Dropdown),{key:0,trigger:"contextMenu","popup-max-height":!1,onSelect:A=>d(A,C)},{content:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y)(C),A=>(e.openBlock(),e.createBlock(e.unref(k.Doption),{key:`${String(C?.key)}-${A.key}`,value:A.key,disabled:e.unref(g)(A,C)},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass({"sunny-resource-tree__danger":A.danger})},e.toDisplayString(A.label),3)]),_:2},1032,["value","disabled"]))),128))]),default:e.withCtx(()=>[e.createElementVNode("span",nn,[e.renderSlot(S.$slots,"title",e.normalizeProps(e.guardReactiveProps(C)),()=>[e.createTextVNode(e.toDisplayString(e.unref(c)(C)),1)],!0)])]),_:2},1032,["onSelect"])):e.renderSlot(S.$slots,"title",e.normalizeProps(e.mergeProps({key:1},C)),()=>[e.createTextVNode(e.toDisplayString(e.unref(c)(C)),1)],!0)]),_:2},[e.renderList(p.value,C=>({name:C,fn:e.withCtx(A=>[e.renderSlot(S.$slots,C,e.normalizeProps(e.guardReactiveProps(A||{})),void 0,!0)])}))]),1040)]))}}),[["__scopeId","data-v-d8fa1bbf"]]);function ln(t){if(!t||!Array.isArray(t))return{};const n={};return t.forEach(o=>{o.fieldName&&o.defaultValue!==void 0&&(n[o.fieldName]=o.defaultValue)}),n}function an(t,n){const o=e.ref(!1),r=e.ref({}),l=e.ref([]),a=e.ref({current:1,pageSize:200,total:0}),s=e.ref([]),i=e.computed(()=>({label:"label",value:"value",desc:"desc",...t.fieldNames})),h=e.computed(()=>t.fieldNames?.value||"id"),y=m=>Q.get(m,h.value),g=()=>{const m=ln(t.formSchema);r.value={...m}};e.watch(()=>t.visible,m=>{m&&(t.modelValue&&Array.isArray(t.modelValue)?l.value=Q.cloneDeep(t.modelValue):l.value=[])},{immediate:!0});const c=async m=>{if(t.searchApi){m&&(r.value={...m}),o.value=!0;try{const b={pageNo:a.value.current,pageSize:a.value.pageSize,...r.value};let N;if(typeof t.searchApi=="function"&&(N=await t.searchApi(b)),N){const F=N.list||N.records||[],j=N.total||N.totalCount||0;s.value=F,a.value.total=j}}catch(b){console.error("Search failed:",b),k.Message.error("查询失败")}finally{o.value=!1}}},f=m=>{a.value.current=m,c()},d=m=>{a.value.pageSize=m,a.value.current=1,c()},p=(m,b)=>{const N=y(m),F=l.value.findIndex(j=>y(j)===N);b?F===-1&&(t.multiple?l.value.push(m):l.value=[m]):F>-1&&l.value.splice(F,1)};return{loading:o,searchParams:r,selectedRows:l,pagination:a,tableData:s,actualFieldNames:i,actualRowKey:h,initDefaultValues:g,handleSearch:c,handlePageChange:f,handlePageSizeChange:d,handleCheckboxChange:m=>{const{row:b,checked:N}=m;p(b,N)},handleCheckboxAll:m=>{const{checked:b,records:N}=m;b?N.forEach(F=>p(F,!0)):s.value.forEach(F=>p(F,!1))},handleRadioChange:m=>{const{row:b}=m;l.value=[b]},removeRow:m=>{p(m,!1)},handleOk:()=>{n("update:modelValue",l.value),n("confirm",l.value),n("update:visible",!1)},handleCancel:()=>{l.value=[],n("update:modelValue",[]),n("cancel"),n("update:visible",!1)},toggleRowSelection:p,reset:()=>{s.value=[],l.value=[],a.value.current=1,a.value.total=0,n("update:modelValue",[])}}}const sn={class:"flex flex-col h-full"},cn={class:"mb-4 border-b border-gray-100 pb-4 shrink-0"},dn={class:"flex-1 overflow-hidden"},fn={class:"w-[180px] border-l border-gray-200 bg-gray-50 flex flex-col ml-2 overflow-hidden shrink-0"},un={class:"font-bold px-2 py-2 text-gray-700 flex justify-between items-center text-xs border-b border-gray-200 shrink-0"},mn={class:"flex-1 min-h-0 overflow-y-auto p-2 custom-scrollbar"},pn={class:"text-xs font-medium text-gray-800 truncate leading-none mb-1"},hn={class:"text-[10px] text-gray-500 truncate leading-none"},gn=["onClick"],yn={key:1,class:"h-full flex items-center justify-center text-gray-400 text-xs"},Cn={class:"flex justify-between items-center w-full"},Sn={class:"space-x-2"},ze=X(e.defineComponent({name:"SunnySearchModal",inheritAttrs:!1,__name:"SunnySearchModal",props:{visible:{type:Boolean},formSchema:{},tableColumns:{},searchApi:{},modelValue:{},fieldNames:{default:()=>({label:"label",value:"value",desc:"desc"})},commonConfig:{default:()=>({colProps:{xs:24,sm:12,md:6,lg:6,xl:6,xxl:6}})},helpMessage:{default:"支持跨页多选,翻页保留选中状态;双击表格行可快速确认。"},title:{default:"数据查询"},multiple:{type:Boolean,default:!0},rowKey:{default:"id"},width:{default:"800px"},contentHeight:{default:300},resetOnOpen:{type:Boolean,default:!0},clearOnSearch:{type:Boolean,default:!1}},emits:["update:visible","update:modelValue","confirm","cancel"],setup(t,{expose:n,emit:o}){const r=e.useSlots(),l=t,a=o,s=e.computed({get:()=>l.visible,set:D=>a("update:visible",D)}),i=e.ref(),h=e.ref(null),{loading:y,searchParams:g,selectedRows:c,pagination:f,tableData:d,actualFieldNames:p,actualRowKey:u,initDefaultValues:S,handleSearch:w,handlePageChange:C,handlePageSizeChange:A,handleCheckboxChange:x,handleCheckboxAll:B,handleRadioChange:m,removeRow:b,handleOk:N,handleCancel:F,toggleRowSelection:j,reset:E}=an(l,a);n({reset:E});const T=async()=>{f.value.current=1,S(),await e.nextTick(),await I()},I=async()=>{if(!h.value)return w(),!0;try{const{valid:D}=await h.value.validate();return D?(w(),!0):!1}catch(D){return console.error("Form validation failed:",D),!1}},M=async D=>{f.value.current=1,l.clearOnSearch&&(c.value=[]),w(D)},R=e.computed(()=>({border:!0,stripe:!0,showOverflow:!0,height:l.contentHeight,align:"center",autoResize:!0,columnConfig:{resizable:!0},rowConfig:{isCurrent:!0,isHover:!0,keyField:u.value},checkboxConfig:{trigger:"row",highlight:!0,reserve:!1},radioConfig:{trigger:"row",highlight:!0,reserve:!1}}));e.watch([()=>d.value,()=>c.value],async()=>{await e.nextTick();const D=i.value?.getGrid?.()||i.value;if(D&&d.value.length>0){D.clearCheckboxRow();const z=d.value.filter(O=>c.value.some(_=>_[u.value]===O[u.value]));z.length>0&&D.setCheckboxRow(z,!0)}},{deep:!0});const $=({row:D})=>{if(!l.multiple)c.value=[D],N();else{const z=c.value.some(O=>O[u.value]===D[u.value]);j(D,!z)}};return e.watch(()=>l.visible,D=>{D&&(S(),l.resetOnOpen&&(d.value=[],f.value.total=0,e.nextTick(()=>{I()})))}),(D,z)=>(e.openBlock(),e.createBlock(H,{modelValue:s.value,"onUpdate:modelValue":z[3]||(z[3]=O=>s.value=O),title:l.title,width:l.width,"unmount-on-close":"","title-align":"start",fullscreen:!1,"help-message":l.helpMessage,onCancel:e.unref(F),onClose:e.unref(F),onOk:e.unref(N)},{footer:e.withCtx(()=>[e.createElementVNode("div",Cn,[e.createVNode(e.unref(k.Pagination),{current:e.unref(f).current,"onUpdate:current":z[2]||(z[2]=O=>e.unref(f).current=O),"page-size":e.unref(f).pageSize,total:e.unref(f).total,"show-total":"","show-page-size":"","page-size-options":[20,50,100,200],size:"small",onChange:e.unref(C),onPageSizeChange:e.unref(A)},null,8,["current","page-size","total","onChange","onPageSizeChange"]),e.createElementVNode("div",Sn,[e.createVNode(e.unref(k.Button),{onClick:e.unref(F)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(L.$t)("common.cancel")),1)]),_:1},8,["onClick"]),e.createVNode(e.unref(k.Button),{type:"primary",onClick:e.unref(N)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(L.$t)("common.confirm")),1)]),_:1},8,["onClick"])])])]),default:e.withCtx(()=>[e.createElementVNode("div",sn,[e.createElementVNode("div",cn,[e.createVNode(De,{ref_key:"formRef",ref:h,values:e.unref(g),"onUpdate:values":z[0]||(z[0]=O=>e.isRef(g)?g.value=O:null),schema:l.formSchema,"common-config":l.commonConfig,"show-default-actions":"","reset-button-options":{show:!0},onSubmit:M,onReset:T,layout:"vertical"},e.createSlots({_:2},[e.renderList(e.unref(r),(O,_)=>({name:_,fn:e.withCtx(Kn=>[e.renderSlot(D.$slots,_,e.normalizeProps(e.guardReactiveProps(Kn)),void 0,!0)])}))]),1032,["values","schema","common-config"])]),e.createElementVNode("div",{class:"flex min-h-0 overflow-hidden box-border border border-gray-200 rounded",style:e.normalizeStyle({height:typeof l.contentHeight=="number"?l.contentHeight+"px":l.contentHeight})},[e.createElementVNode("div",dn,[e.createVNode(je,e.mergeProps({ref_key:"gridRef",ref:i,columns:l.tableColumns,data:e.unref(d),loading:e.unref(y)},R.value,{onCheckboxChange:e.unref(x),onCheckboxAll:e.unref(B),onRadioChange:e.unref(m),onCellDblclick:$}),null,16,["columns","data","loading","onCheckboxChange","onCheckboxAll","onRadioChange"])]),e.createElementVNode("div",fn,[e.createElementVNode("div",un,[e.createElementVNode("span",null,e.toDisplayString(e.unref(L.$t)("common.selected"))+" ("+e.toDisplayString(e.unref(c).length)+")",1),e.unref(c).length?(e.openBlock(),e.createElementBlock("span",{key:0,class:"text-xs text-blue-500 cursor-pointer",onClick:z[1]||(z[1]=O=>c.value=[])},e.toDisplayString(e.unref(L.$t)("common.clear")),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",mn,[e.unref(c).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(c),O=>(e.openBlock(),e.createElementBlock("div",{key:O[e.unref(u)],class:"relative group px-2 py-1 mb-1 bg-white border border-gray-200 rounded hover:shadow-sm transition-all h-[42px] flex flex-col justify-center"},[e.createVNode(e.unref(k.Tooltip),{content:`${O[e.unref(p).desc]}`},{default:e.withCtx(()=>[e.createElementVNode("div",pn,e.toDisplayString(O[e.unref(p).value]||"-"),1),e.createElementVNode("div",hn,e.toDisplayString(O[e.unref(p).label]||" "),1)]),_:2},1032,["content"]),e.createElementVNode("div",{class:"absolute top-0.5 right-0.5 opacity-0 group-hover:opacity-100 cursor-pointer text-gray-400 hover:text-red-500 transition-opacity p-0.5 bg-white rounded-full shadow-sm",onClick:_=>e.unref(b)(O)},[e.createVNode(e.unref(pe),{size:10})],8,gn)]))),128)):(e.openBlock(),e.createElementBlock("div",yn,e.toDisplayString(e.unref(L.$t)("common.noData")),1))])])],4)])]),_:3},8,["modelValue","title","width","help-message","onCancel","onClose","onOk"]))}}),[["__scopeId","data-v-4414876c"]]),Qe={};async function $e(t){const n=Qe[t];return n?await n():(console.warn(`[SunnyBusinessSearch] Config for type "${t}" not found.`),null)}function An(t,n){Qe[t]=n}function kn(t,n){const o=e.ref(!1),r=e.ref(!1),l=e.ref({}),a=e.computed({get:()=>t.modelValue||[],set:f=>{n("update:modelValue",f),n("change",f)}}),s=()=>Re.businessSearchAdapter,i=f=>async d=>{if(!f?.search)return console.warn("[SunnyBusinessSearch] No search adapter configured."),{records:[],total:0};try{return await f.search({...d,cNum:t.cNum})}catch(p){throw console.error("[SunnyBusinessSearch] Search failed:",p),p}},h=async()=>{if(!t.cNum)return;const f=s();if(!f?.loadConfig){console.warn("[SunnyBusinessSearch] No loadConfig adapter configured. Please call setupBusinessForm() in your app entry.");return}r.value=!0;try{const d=await f.loadConfig(t.cNum);d.searchApi=i(f),l.value=d}catch(d){console.error("[SunnyBusinessSearch] Failed to load dynamic config:",d)}finally{r.value=!1}},y=async()=>{if(t.type){r.value=!0;try{const f=await $e(t.type);f&&(l.value=f)}catch(f){console.error("[SunnyBusinessSearch] Failed to load static config:",f)}finally{r.value=!1}}},g=async()=>{o.value=!0,t.cNum?l.value.title||await h():t.type&&(l.value.title||await y())},c=f=>{a.value=f,o.value=!1};return e.watch(()=>[t.cNum,t.type],()=>{l.value={}}),{visible:o,loading:r,currentConfig:l,selectedValues:a,handleOpen:g,handleConfirm:c}}const bn={class:"sunny-business-search"},fe=e.defineComponent({name:"SunnyBusinessSearch",inheritAttrs:!1,__name:"SunnyBusinessSearch",props:{modelValue:{default:()=>[]},type:{},cNum:{},placeholder:{default:"请选择"},multiple:{type:Boolean,default:void 0},cSelectionMode:{},maxTagCount:{},modalProps:{default:()=>({})},disabled:{type:Boolean,default:!1},fieldNames:{}},emits:["update:modelValue","change"],setup(t,{emit:n}){const o=t,r=n,{visible:l,currentConfig:a,selectedValues:s,handleOpen:i,handleConfirm:h}=kn(o,r),y=e.computed(()=>o.fieldNames||o.modalProps?.fieldNames||a.value.fieldNames||{label:"label",value:"value"}),g=e.computed(()=>{let c=o.modalProps?.multiple;c===void 0&&(c=o.multiple),c===void 0&&o.cSelectionMode&&(c=o.cSelectionMode!=="single"),c=c??a.value.multiple??!0;let d=[...o.modalProps.tableColumns||a.value.tableColumns||[]];return!d.some(u=>u.type==="checkbox"||u.type==="radio")&&d.length>0&&(c?d.unshift({type:"checkbox",width:50,fixed:"left",align:"center"}):d.unshift({type:"radio",width:50,fixed:"left",align:"center"})),{...a.value,multiple:c,fieldNames:y.value,...o.modalProps,tableColumns:d}});return(c,f)=>(e.openBlock(),e.createElementBlock("div",bn,[e.createVNode(e.unref(we),e.mergeProps(c.$attrs,{"model-value":e.unref(s),placeholder:t.placeholder,disabled:t.disabled,"max-tag-count":t.maxTagCount,"field-names":y.value,"onUpdate:modelValue":f[0]||(f[0]=d=>s.value=d),onSearch:e.unref(i)}),e.createSlots({_:2},[e.renderList(c.$slots,(d,p)=>({name:p,fn:e.withCtx(u=>[e.renderSlot(c.$slots,p,e.normalizeProps(e.guardReactiveProps(u||{})))])}))]),1040,["model-value","placeholder","disabled","max-tag-count","field-names","onSearch"]),e.unref(a).title||e.unref(l)?(e.openBlock(),e.createBlock(e.unref(ze),e.mergeProps({key:0,visible:e.unref(l),"onUpdate:visible":f[1]||(f[1]=d=>e.isRef(l)?l.value=d:null),"model-value":e.unref(s)},g.value,{onConfirm:e.unref(h)}),null,16,["visible","model-value","onConfirm"])):e.createCommentVNode("",!0)]))}}),wn=Object.freeze(Object.defineProperty({__proto__:null,default:fe},Symbol.toStringTag,{value:"Module"})),Ue={findAllByResourceid:async()=>({data:[]}),findSearchPlanColsByPlanId:async()=>({data:{}}),insert:async()=>({}),update:async()=>({}),del:async()=>({}),findDefSearchPlan:async()=>({data:{}})};function qe(t,n,o,r,l=Ue){const a=e.ref(!1),s=e.ref(""),i=e.ref(!1),h=async()=>{if(t.searchPlanList.length>0&&!s.value.trim()){i.value=!0;return}i.value=!1;let C=o?.value||t.model;if(r)try{const x=await r.getValues();x&&(C=x)}catch(x){console.error("handleAdd getValues error:",x)}if(!Object.values(C).some(x=>x!==""&&x!==void 0&&x!==null)){k.Message.error("请输入查询条件");return}try{let x=s.value.trim();t.searchPlanList.length===0&&(x="默认方案");const B=await l.insert({assSearchplan:{cSearchplanname:x,...t.nResourceid&&{nResourceid:t.nResourceid}},colMap:C});if(B.message&&k.Message.success(B.message),t.resourceId){const m=await f(t.resourceId);n("update:searchPlanList",m);const b=m.find(N=>N.CSEARCHPLANNAME===x);b&&await c(b)}n("add",x,{...C}),s.value=""}catch(x){console.error("handleAdd error:",x),n("error",x)}},y=async()=>{if(!t.currentSearchPlan){i.value=!0;return}i.value=!1;let C=o?.value||t.model;if(r)try{const x=await r.getValues();x&&(C=x)}catch(x){console.error("handleUpdate getValues error:",x)}if(!Object.values(C).some(x=>x!==""&&x!==void 0&&x!==null)){k.Message.error("请输入查询条件");return}try{const x=await l.update({assSearchplan:{id:t.currentSearchPlan.ID,...t.nResourceid&&{nResourceid:t.nResourceid},...s.value.trim()&&{cSearchplanname:s.value.trim()}},colMap:C});if(x.message&&k.Message.success(x.message),t.resourceId){const B=await f(t.resourceId);n("update:searchPlanList",B);const m=B.find(b=>b.ID===t.currentSearchPlan?.ID);m&&await c(m)}n("update",t.currentSearchPlan.ID,s.value.trim()||t.currentSearchPlan.CSEARCHPLANNAME,{...C}),s.value=""}catch(x){console.error("handleUpdate error:",x),n("error",x)}},g=async C=>{try{const A=await l.del({id:C.ID});if(n("delete",C.ID),t.currentSearchPlan&&t.currentSearchPlan.ID===C.ID&&n("update:currentSearchPlan",void 0),A.message&&k.Message.success(A.message),t.resourceId){const x=await f(t.resourceId);n("update:searchPlanList",x)}}catch(A){console.error("handleDelete error:",A),n("error",A)}},c=async C=>{n("update:currentSearchPlan",C);try{const A={...t.nResourceid&&{nResourceid:t.nResourceid},nPlanId:C.ID},B=(await l.findSearchPlanColsByPlanId(A)).result||{};if(o&&(o.value={...B}),r)try{await r.setValues(B)}catch(m){console.error("handleSelect setValues error:",m)}n("select",C)}catch(A){console.error("handleSelect error:",A),n("error",A)}},f=async C=>{try{const A={...t.nResourceid&&{nResourceid:t.nResourceid}};return(await l.findAllByResourceid(A)).result?.searchplanList||[]}catch(A){return console.error("loadSearchPlans error:",A),n("error",A),[]}};return{visible:a,inputValue:s,showNameError:i,handleAdd:h,handleUpdate:y,handleDelete:g,handleSelect:c,handleReset:async()=>{if(r)try{await r.resetForm()}catch(C){console.error("handleReset resetForm error:",C)}if(o){const C={...o.value};Object.keys(C).forEach(A=>{C[A]=""}),o.value=C}},handleSearch:async()=>{let C=o?.value||t.model;if(r)try{const A=await r.getValues();A&&(C=A)}catch(A){console.error("handleSearch getValues error:",A)}n("search",{...C}),a.value=!1},handleClose:()=>{a.value=!1,s.value="",i.value=!1},handleOpen:async()=>{if(a.value=!0,s.value="",i.value=!1,o){const C={...o.value};Object.keys(C).forEach(A=>{C[A]=""}),o.value=C}if(r)try{await r.resetForm()}catch(C){console.error("handleOpen resetForm error:",C)}if(t.resourceId)try{const C=await f(t.resourceId);if(n("update:searchPlanList",C),C.length>0){n("update:currentSearchPlan",C[0]);const A={...t.nResourceid&&{nResourceid:t.nResourceid},nPlanId:C[0].ID},B=(await l.findSearchPlanColsByPlanId(A)).result||{};if(o&&(o.value={...B}),r)try{await r.setValues(B)}catch(m){console.error("handleOpen setValues error:",m)}n("select",C[0])}}catch(C){console.error("handleOpen loadSearchPlans error:",C)}},loadSearchPlans:f,loadDefaultSearchPlan:async()=>{try{const C={...t.nResourceid&&{nResourceid:t.nResourceid}},x=(await l.findDefSearchPlan(C)).result||[];if(x.length>0){const B={};if(x.forEach(m=>{m.C_COLNAME&&m.C_COLVALUE!==void 0&&(B[m.C_COLNAME]=m.C_COLVALUE)}),o&&(o.value={...B}),r)try{await r.setValues(B)}catch(m){console.error("loadDefaultSearchPlan setValues error:",m)}return n("default-plan-loaded",B),B}}catch(C){console.error("loadDefaultSearchPlan error:",C),n("error",C)}return{}}}}const Bn={class:"inline-block"},En=["disabled"],xn={class:"p-5 relative"},Nn={key:0,class:"absolute inset-0 bg-white/80 flex flex-col items-center justify-center z-10 rounded"},Vn={class:"text-sm text-[var(--color-text-2)]"},Pn={class:"flex-1 min-w-0"},In={class:"w-60"},Rn={class:"text-sm font-semibold mb-4 text-[var(--color-text-1)]"},Fn={class:"mb-5"},Tn={class:"mb-3"},Mn={class:"block text-xs text-[var(--color-text-2)] mb-1"},Ln=["placeholder","disabled"],Dn={key:0,class:"text-xs text-red-500 mt-1"},jn={class:"flex gap-2 mt-3"},On=["disabled"],zn=["disabled"],Qn={class:"text-sm font-semibold mb-4 text-[var(--color-text-1)]"},$n={class:"max-h-44 overflow-y-auto border border-[var(--color-border-2)] rounded p-2"},Un=["onClick"],qn=["onClick","disabled"],Wn={class:"flex justify-end gap-3 pt-5 border-t border-[var(--color-border-2)]"},Yn=["disabled"],Gn=["disabled"],Jn=e.defineComponent({name:"SunnySearchPlan",inheritAttrs:!1,__name:"SunnySearchPlan",props:{formConfig:{default:()=>[]},model:{default:()=>({})},modelValue:{default:()=>({})},searchPlanList:{default:()=>[]},currentSearchPlan:{},resourceId:{},nResourceid:{},disabled:{type:Boolean,default:!1},modalProps:{default:()=>({})},formProps:{default:()=>({})},title:{default:()=>L.$t("common.searchPlan.title")},width:{default:900},loading:{type:Boolean,default:!1},api:{default:()=>Ue}},emits:["add","update","delete","select","reset","search","error","default-plan-loaded","update:model","update:modelValue","update:currentSearchPlan","update:searchPlanList"],setup(t,{emit:n}){const o=t,r=n,[,l]=Le({schema:o.formConfig,model:o.modelValue||o.model}),a=e.ref({...o.modelValue||o.model}),{visible:s,inputValue:i,showNameError:h,handleAdd:y,handleUpdate:g,handleDelete:c,handleSelect:f,handleReset:d,handleSearch:p,handleClose:u,handleOpen:S,loadSearchPlans:w,loadDefaultSearchPlan:C}=qe(o,r,a,l,o.api);e.onMounted(async()=>{if(o.resourceId)try{const I=await w(o.resourceId);r("update:searchPlanList",I),await C()}catch(I){console.error("Failed to initialize search plan:",I)}else try{await C()}catch(I){console.error("Failed to load default search plan:",I)}});const A=async()=>{await S()},x=()=>{console.log("SunnyUseForm mounted"),l&&(o.modelValue||o.model)&&l.setValues(o.modelValue||o.model).catch(I=>{console.error("setValues error:",I)})};e.watch(()=>[o.model,o.modelValue],([I,M])=>{const R=M||I;R&&(a.value={...R},l&&l.setValues(R).catch($=>{console.error("setValues error:",$)}))},{deep:!0}),e.watch(()=>a.value,I=>{r("update:model",I),r("update:modelValue",I)},{deep:!0});const B=e.computed(()=>({...o.modalProps})),m=e.computed(()=>o.formConfig.map(I=>({...I,labelWidth:80,colProps:{...I.colProps,span:8}}))),b=e.computed(()=>o.searchPlanList),N=e.computed(()=>o.currentSearchPlan),F=e.computed(()=>o.disabled),j=e.computed(()=>o.formProps),E=e.computed(()=>o.title),T=e.computed(()=>o.width);return(I,M)=>(e.openBlock(),e.createElementBlock("div",Bn,[e.renderSlot(I.$slots,"trigger",{open:A,disabled:F.value},()=>[e.createElementVNode("button",{class:"px-3 py-1.5 border border-[var(--color-border-2)] rounded bg-white text-sm transition-all hover:border-[rgb(var(--primary-6))] hover:text-[rgb(var(--primary-6))] disabled:cursor-not-allowed disabled:opacity-60",disabled:F.value,onClick:A},e.toDisplayString(e.unref(L.$t)("common.searchPlan.title")),9,En)]),e.createVNode(e.unref(H),e.mergeProps({visible:e.unref(s),"onUpdate:visible":M[5]||(M[5]=R=>e.isRef(s)?s.value=R:null),title:E.value,width:T.value,top:"50px","close-on-click-modal":!1},B.value,{onCancel:e.unref(u),onClose:e.unref(u)}),{footer:e.withCtx(()=>[e.createElementVNode("div",Wn,[e.createElementVNode("button",{class:"px-3 py-1.5 border border-[var(--color-border-2)] rounded bg-white text-sm transition-colors hover:border-[rgb(var(--primary-6))] hover:text-[rgb(var(--primary-6))] disabled:cursor-not-allowed disabled:opacity-60",onClick:M[3]||(M[3]=(...R)=>e.unref(d)&&e.unref(d)(...R)),disabled:o.loading},e.toDisplayString(e.unref(L.$t)("common.searchPlan.reset")),9,Yn),e.createElementVNode("button",{class:"px-3 py-1.5 bg-[rgb(var(--primary-6))] border border-[rgb(var(--primary-6))] text-white text-sm rounded hover:bg-[rgb(var(--primary-7))] transition-colors disabled:cursor-not-allowed disabled:opacity-60",onClick:M[4]||(M[4]=(...R)=>e.unref(p)&&e.unref(p)(...R)),disabled:o.loading},e.toDisplayString(e.unref(L.$t)("common.searchPlan.search")),9,Gn)])]),default:e.withCtx(()=>[e.createElementVNode("div",xn,[o.loading?(e.openBlock(),e.createElementBlock("div",Nn,[M[6]||(M[6]=e.createElementVNode("div",{class:"w-7 h-7 border-3 border-[var(--color-border-2)] border-t-[rgb(var(--primary-6))] rounded-full animate-spin mb-2.5"},null,-1)),e.createElementVNode("div",Vn,e.toDisplayString(e.unref(L.$t)("common.searchPlan.loading")),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([{"opacity-60":o.loading},"flex gap-5"])},[e.createElementVNode("div",Pn,[e.createVNode(e.unref(Me),e.mergeProps({"form-api":e.unref(l),schema:m.value,"show-default-actions":!1,"show-message":!1},j.value,{onMounted:x}),null,16,["form-api","schema"])]),e.createElementVNode("div",In,[e.createElementVNode("h3",Rn,e.toDisplayString(e.unref(L.$t)("common.searchPlan.newPlan")),1),e.createElementVNode("div",Fn,[e.createElementVNode("div",Tn,[e.createElementVNode("label",Mn,e.toDisplayString(e.unref(L.$t)("common.searchPlan.planName")),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":M[0]||(M[0]=R=>e.isRef(i)?i.value=R:null),type:"text",placeholder:e.unref(L.$t)("common.searchPlan.planNamePlaceholder"),class:"w-full px-2 py-1.5 border border-[var(--color-border-2)] rounded text-xs focus:outline-none focus:border-[rgb(var(--primary-6))] focus:ring-2 focus:ring-[rgb(var(--primary-1))]",disabled:o.loading},null,8,Ln),[[e.vModelText,e.unref(i)]]),!e.unref(i).trim()&&e.unref(h)?(e.openBlock(),e.createElementBlock("div",Dn,e.toDisplayString(e.unref(L.$t)("common.searchPlan.planNameRequired")),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",jn,[e.createElementVNode("button",{class:"px-3 py-1 bg-[rgb(var(--primary-6))] border border-[rgb(var(--primary-6))] text-white text-xs rounded hover:bg-[rgb(var(--primary-7))] transition-colors disabled:cursor-not-allowed disabled:opacity-60",onClick:M[1]||(M[1]=(...R)=>e.unref(y)&&e.unref(y)(...R)),disabled:o.loading},e.toDisplayString(e.unref(L.$t)("common.searchPlan.add")),9,On),e.createElementVNode("button",{class:"px-3 py-1 border border-[var(--color-border-2)] text-[var(--color-text-1)] text-xs rounded hover:bg-[var(--color-fill-1)] hover:border-[rgb(var(--primary-6))] hover:text-[rgb(var(--primary-6))] transition-colors disabled:cursor-not-allowed disabled:opacity-60",disabled:!N.value||o.loading,onClick:M[2]||(M[2]=(...R)=>e.unref(g)&&e.unref(g)(...R))},e.toDisplayString(e.unref(L.$t)("common.searchPlan.update")),9,zn)])]),M[7]||(M[7]=e.createElementVNode("div",{class:"h-px bg-[var(--color-border-2)] my-5"},null,-1)),e.createElementVNode("h3",Qn,e.toDisplayString(e.unref(L.$t)("common.searchPlan.savedPlans")),1),e.createElementVNode("div",$n,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(R,$)=>(e.openBlock(),e.createElementBlock("div",{key:R.ID,class:e.normalizeClass(["flex items-center p-2 mb-1 rounded cursor-pointer transition-all hover:bg-[var(--color-fill-1)] border border-transparent",{"bg-[rgb(var(--primary-1))] border-[rgb(var(--primary-6))]":N.value&&(N.value.ID==R.ID||N.value.ID===R.ID)}]),onClick:D=>e.unref(f)(R),style:e.normalizeStyle({cursor:o.loading?"not-allowed":"pointer"})},[e.createElementVNode("div",{class:e.normalizeClass(["w-5 h-5 flex items-center justify-center rounded text-xs mr-2 text-[var(--color-text-2)]",N.value&&(N.value.ID==R.ID||N.value.ID===R.ID)?"bg-[rgb(var(--primary-6))] text-white":"bg-[var(--color-fill-2)]"])},e.toDisplayString(String($+1).padStart(2,"0")),3),e.createElementVNode("div",{class:e.normalizeClass(["flex-1 text-xs truncate",N.value&&(N.value.ID==R.ID||N.value.ID===R.ID)?"text-[rgb(var(--primary-6))] font-medium":"text-[var(--color-text-1)]"])},e.toDisplayString(R.CSEARCHPLANNAME),3),e.createElementVNode("button",{class:"w-4 h-4 flex items-center justify-center border-none bg-transparent cursor-pointer text-sm text-[var(--color-text-3)] transition-colors rounded hover:text-[var(--color-danger)] hover:bg-[var(--color-danger-light)]",onClick:e.withModifiers(D=>e.unref(c)(R),["stop"]),disabled:o.loading}," × ",8,qn)],14,Un))),128))])])],2)])]),_:1},16,["visible","title","width","onCancel","onClose"])]))}});Object.defineProperty(V,"patterns",{enumerable:!0,get:()=>P.patterns}),Object.defineProperty(V,"startProgress",{enumerable:!0,get:()=>P.startProgress}),Object.defineProperty(V,"stopProgress",{enumerable:!0,get:()=>P.stopProgress}),V.z=_e,V.EditRender=Jo,V.ErrorBoundary=Ht,V.FormApi=Ee,V.Modal=H,V.ModalTypes=Dt,V.SunnyBatchSelect=ko,V.SunnyBusinessSearch=fe,V.SunnyCustomizeSelect=Eo,V.SunnyForm=De,V.SunnyIcon=ye,V.SunnyResourceTree=rn,V.SunnyScrollbar=eo,V.SunnySearchInputTag=we,V.SunnySearchModal=ze,V.SunnySearchPlan=Jn,V.SunnySelect=be,V.SunnySimpleUpload=ke,V.SunnyUpload=ho,V.Validators=Ko,V.getBusinessConfig=$e,V.registerBusinessConfig=An,V.setupSunnyForm=zo,V.useSunnyEditGrid=Go,V.useSunnyForm=Le,V.useSunnyModal=Lt,V.useSunnyQueryGrid=tn,V.useSunnyResourceTree=Oe,V.useSunnySearchPlan=qe,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sunny-base-web/ui",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -21,6 +21,11 @@
|
|
|
21
21
|
"access": "public",
|
|
22
22
|
"registry": "https://registry.npmjs.org/"
|
|
23
23
|
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"vue": "^3.0.0",
|
|
26
|
+
"vue-i18n": "^9.0.0",
|
|
27
|
+
"@arco-design/web-vue": "^2.0.0"
|
|
28
|
+
},
|
|
24
29
|
"dependencies": {
|
|
25
30
|
"@arco-design/web-vue": "^2.57.0",
|
|
26
31
|
"@tanstack/store": "^0.8.0",
|