@sunny-base-web/ui 0.8.1 → 0.8.2
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/dist/index.mjs +10 -6
- package/dist/ui.css +1 -1
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(F,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/utils"),require("@sunny-base-web/icons"),require("reka-ui"),require("axios"),require("@tanstack/vue-store"),require("lodash-es"),require("@tanstack/store"),require("@vueuse/core"),require("vee-validate"),require("@vee-validate/zod"),require("zod"),require("vxe-table"),require("vxe-pc-ui"),require("vue-i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@arco-design/web-vue","@sunny-base-web/locales","@sunny-base-web/utils","@sunny-base-web/icons","reka-ui","axios","@tanstack/vue-store","lodash-es","@tanstack/store","@vueuse/core","vee-validate","@vee-validate/zod","zod","vxe-table","vxe-pc-ui","vue-i18n"],e):(F=typeof globalThis<"u"?globalThis:F||self,e(F.SunnyBaseWebUI={},F.Vue,F.ArcoVue,F.SunnyBaseWebLocales,F.SunnyBaseWebUtils,F.SunnyBaseWebIcons,F.rekaUi,F.axios,F.vueStore,F.lodashEs,F.store,F.core,F.veeValidate,F.zod$1,F.zod,F.vxeTable,F.vxePcUi,F.vueI18n))})(this,(function(F,e,w,D,T,ge,X,W,Xe,q,Ze,ye,G,ve,et,ne,K,Se){"use strict";function tt(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(o,n,r.get?r:{enumerable:!0,get:()=>t[n]})}}return o.default=t,Object.freeze(o)}const nt=tt(et),ot=Symbol("ArcoConfigProvider"),rt="arco",at="$arco",_=t=>{var o,n,r;const a=e.getCurrentInstance(),l=e.inject(ot,void 0);return`${(r=(n=l?.prefixCls)!=null?n:(o=a?.appContext.config.globalProperties[at])==null?void 0:o.classPrefix)!=null?r:rt}-${t}`},lt=Object.prototype.toString;function J(t){return lt.call(t)==="[object Number]"&&t===t}var Y=(t,o)=>{for(const[n,r]of o)t[n]=r;return t};const st=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-close`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),it=["stroke-width","stroke-linecap","stroke-linejoin"];function ct(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,it)}var oe=Y(st,[["render",ct]]);const Ce=Object.assign(oe,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+oe.name,oe)}}),dt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-question-circle`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),ft=["stroke-width","stroke-linecap","stroke-linejoin"];function mt(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,ft)}var re=Y(dt,[["render",mt]]);const be=Object.assign(re,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+re.name,re)}}),ut=e.defineComponent({name:"IconRefresh",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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-refresh`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),pt=["stroke-width","stroke-linecap","stroke-linejoin"];function ht(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M38.837 18C36.463 12.136 30.715 8 24 8 15.163 8 8 15.163 8 24s7.163 16 16 16c7.455 0 13.72-5.1 15.496-12M40 8v10H30"},null,-1)]),14,pt)}var ae=Y(ut,[["render",ht]]);const gt=Object.assign(ae,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+ae.name,ae)}}),yt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-search`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),St=["stroke-width","stroke-linecap","stroke-linejoin"];function Ct(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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 le=Y(yt,[["render",Ct]]);const se=Object.assign(le,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+le.name,le)}}),bt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-upload`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),kt=["stroke-width","stroke-linecap","stroke-linejoin"];function At(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,kt)}var ie=Y(bt,[["render",At]]);const wt=Object.assign(ie,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+ie.name,ie)}}),Bt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-attachment`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),xt=["stroke-width","stroke-linecap","stroke-linejoin"];function Et(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,xt)}var ce=Y(Bt,[["render",Et]]);const Nt=Object.assign(ce,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+ce.name,ce)}}),Vt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-delete`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),Pt=["stroke-width","stroke-linecap","stroke-linejoin"];function It(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,Pt)}var de=Y(Vt,[["render",It]]);const ke=Object.assign(de,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+de.name,de)}}),Rt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-fullscreen-exit`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),Mt=["stroke-width","stroke-linecap","stroke-linejoin"];function Ft(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,Mt)}var fe=Y(Rt,[["render",Ft]]);const Tt=Object.assign(fe,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+fe.name,fe)}}),jt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-fullscreen`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),Lt=["stroke-width","stroke-linecap","stroke-linejoin"];function Ot(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,Lt)}var me=Y(jt,[["render",Ot]]);const Dt=Object.assign(me,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+me.name,me)}}),zt="data:image/png;base64,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",Qt={class:"flex-1 font-semibold text-base text-[var(--color-text-1)] overflow-hidden text-ellipsis whitespace-nowrap"},$t={class:"flex items-center gap-3 ml-3"},Ut={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)]"},qt={key:1,class:"flex items-center justify-end gap-2"},Z=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,{expose:o,emit:n}){const{t:r}=D.useI18n(),a=t,l=n,s=e.useAttrs(),i=e.ref(!1),h=e.computed({get:()=>a.modelValue,set:g=>l("update:modelValue",g)}),b=e.computed(()=>a.helpMessage||r("common.modal.helpTip")),S=e.ref(!1),c=()=>{S.value=!S.value,l("fullscreen-change",S.value)},p=async()=>{const g=a.onBeforeCancel;typeof g=="function"&&await g()===!1||(S.value=!1,h.value=!1,l("close"))},u=p,A=async()=>{const g=a.onBeforeOk;if(typeof g=="function")try{i.value=!0,await g()!==!1&&(S.value=!1,l("ok"),h.value=!1)}catch(k){console.error(k)}finally{i.value=!1}else S.value=!1,l("ok"),h.value=!1};return o({toggleMaximize:c}),(g,k)=>(e.openBlock(),e.createBlock(e.unref(w.Modal),e.mergeProps({visible:h.value,"onUpdate:visible":k[1]||(k[1]=E=>h.value=E),title:t.title,width:t.width,top:t.top,"z-index":t.zIndex,"mask-closable":t.closeOnClickModal,"esc-to-close":t.closeOnEsc,fullscreen:S.value,closable:!1},g.$attrs,{class:"k-modal-custom",style:{"--modal-bg-image":`url(${e.unref(zt)})`},onClick:k[2]||(k[2]=e.withModifiers(()=>{},["stop"])),onMousedown:k[3]||(k[3]=e.withModifiers(()=>{},["stop"]))}),{title:e.withCtx(()=>[e.createElementVNode("div",{class:"flex items-center justify-between w-full",onDblclick:k[0]||(k[0]=E=>a.fullscreen&&c())},[e.createElementVNode("div",Qt,[e.renderSlot(g.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),e.createElementVNode("div",$t,[b.value?(e.openBlock(),e.createBlock(e.unref(w.Tooltip),{key:0,content:b.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ut,[e.createVNode(e.unref(be))])]),_:1},8,["content"])):e.createCommentVNode("",!0),a.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(c,["stop"])},[S.value?(e.openBlock(),e.createBlock(e.unref(Tt),{key:0})):(e.openBlock(),e.createBlock(e.unref(Dt),{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(p,["stop"])},[e.createVNode(e.unref(Ce))])])],32)]),footer:e.withCtx(()=>[g.$slots.footer?e.renderSlot(g.$slots,"footer",{key:0}):(e.openBlock(),e.createElementBlock("div",qt,[e.renderSlot(g.$slots,"insertFooter"),e.unref(s).hideCancel?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:0},e.unref(s).cancelButtonProps,{onClick:e.unref(u)}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s).cancelText||e.unref(r)("common.modal.cancel")),1)]),_:1},16,["onClick"])),e.renderSlot(g.$slots,"centerFooter"),e.createVNode(e.unref(w.Button),e.mergeProps({type:"primary",loading:i.value||e.unref(s).okLoading||e.unref(s).confirmLoading},e.unref(s).okButtonProps,{onClick:A}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s).okText||e.unref(r)("common.modal.confirm")),1)]),_:1},16,["loading"]),e.renderSlot(g.$slots,"appendFooter")]))]),default:e.withCtx(()=>[e.renderSlot(g.$slots,"default")]),_:3},16,["visible","title","width","top","z-index","mask-closable","esc-to-close","fullscreen","style"]))}});class Wt{state;constructor(o={}){this.state=e.reactive({modelValue:!1,...o})}open=()=>{this.setState({modelValue:!0}),this.state.onVisibleChange?.(!0)};close=()=>{this.setState({modelValue:!1}),this.state.onVisibleChange?.(!1)};setProps=o=>{this.setState(o)};setState(o){if(typeof o=="function"){const n=o(this.state);Object.assign(this.state,n)}else Object.assign(this.state,o);return this}}function _t(t={}){const o=new Wt(t);return[e.defineComponent({name:"SunnyConnectedModal",inheritAttrs:!1,setup(r,{attrs:a,slots:l}){return()=>e.h(Z,{...o.state,...a,"onUpdate:modelValue":s=>{o.setState({modelValue:s}),o.state.onVisibleChange?.(s),typeof a["onUpdate:modelValue"]=="function"&&a["onUpdate:modelValue"](s)}},l)}}),o]}const Jt=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Yt={key:0,class:"flex items-center justify-center min-h-[400px] p-8"},Gt={class:"max-w-[520px] w-full text-center"},Kt={class:"mb-3 text-lg font-semibold text-[var(--color-text-1)]"},Ht={class:"mb-6 text-sm text-[var(--color-text-2)] leading-relaxed"},Xt={key:0,class:"mt-6 mb-6 text-left bg-[var(--color-fill-1)] border border-[var(--color-border-2)] rounded-md overflow-hidden"},Zt={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)]"},vt={class:"p-4"},en={class:"mb-3"},tn={class:"block mb-1 text-xs text-[var(--color-text-3)]"},nn={class:"p-2 bg-[var(--color-fill-1)] rounded text-xs text-[var(--color-text-2)] font-mono break-all"},on={class:"block mb-1 text-xs text-[var(--color-text-3)]"},rn={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]"},an={class:"flex gap-3 justify-center flex-wrap"},ln=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:o}){const n=t,r=o,a=e.shallowRef(!1),l=e.shallowRef(null),s=e.computed(()=>({title:n.errorMessage||D.$t("error.title"),desc:D.$t("error.message"),retry:D.$t("error.retry"),refresh:D.$t("error.refresh"),report:D.$t("error.reportError"),details:D.$t("error.details"),errorMessage:D.$t("error.errorMessage"),errorStack:D.$t("error.errorStack")}));e.onErrorCaptured((S,c,p)=>{if(a.value)return!1;const u=S instanceof Error?S:new Error(String(S));return a.value=!0,l.value=e.markRaw(u),!1});function i(){a.value=!1,l.value=null,r("retry")}function h(){window.location.reload()}function b(){l.value&&r("report",l.value)}return(S,c)=>a.value?(e.openBlock(),e.createElementBlock("div",Yt,[e.createElementVNode("div",Gt,[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",Kt,e.toDisplayString(s.value.title),1),e.createElementVNode("div",Ht,e.toDisplayString(s.value.desc),1),l.value?(e.openBlock(),e.createElementBlock("div",Xt,[e.createElementVNode("div",Zt,[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",vt,[e.createElementVNode("div",en,[e.createElementVNode("span",tn,e.toDisplayString(s.value.errorMessage),1),e.createElementVNode("div",nn,e.toDisplayString(l.value?.message),1)]),e.createElementVNode("div",null,[e.createElementVNode("span",on,e.toDisplayString(s.value.errorStack),1),e.createElementVNode("pre",rn,e.toDisplayString(l.value?.stack),1)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",an,[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:b},e.toDisplayString(s.value.report),1)):e.createCommentVNode("",!0)])])])):e.renderSlot(S.$slots,"default",{key:1})}});function Ae(t){const{spinning:o,minLoadingTime:n=50}=t,r=e.ref(!1),a=e.ref(!1),l=e.ref(),s=e.computed(()=>{const h=typeof n=="number"?n:n.value;return h<0?(console.warn("[SunnyLoading] minLoadingTime 不能为负数,已自动设置为 0"),0):h>1e4?(console.warn("[SunnyLoading] minLoadingTime 不应超过 10000ms,已自动限制"),1e4):h});e.watch(o,h=>{if(clearTimeout(l.value),!h){r.value=!1;return}l.value=setTimeout(()=>{a.value=!0,requestAnimationFrame(()=>{r.value=!0})},s.value)},{immediate:!0}),e.onUnmounted(()=>{clearTimeout(l.value)});function i(){r.value||(a.value=!1)}return{isVisible:r,shouldRender:a,handleTransitionEnd:i}}const sn=["aria-live","aria-busy"],cn=["aria-label"],dn={key:0,class:"mt-4 text-sm text-[rgb(var(--primary-6))]"},fn=e.defineComponent({name:"SunnyLoading",__name:"SunnyLoading",props:{class:{},minLoadingTime:{default:50},spinning:{type:Boolean,default:!1},text:{default:""}},setup(t){const o=t,n=e.computed(()=>{const s=o.minLoadingTime??50;return s<0?(console.warn("[SunnyLoading] minLoadingTime 不能为负数,已自动设置为 0"),0):s>1e4?(console.warn("[SunnyLoading] minLoadingTime 不应超过 10000ms,已自动限制"),1e4):s}),{isVisible:r,shouldRender:a,handleTransitionEnd:l}=Ae({spinning:e.computed(()=>o.spinning),minLoadingTime:n});return(s,i)=>(e.openBlock(),e.createElementBlock("output",{class:e.normalizeClass(e.unref(T.cn)("absolute left-0 top-0 z-100 flex size-full flex-col items-center justify-center","transition-all duration-500 ease-in-out","bg-[var(--color-bg-2)]/80 backdrop-blur-sm",{"invisible opacity-0":!e.unref(r)},o.class)),"aria-live":t.spinning?"polite":"off","aria-busy":t.spinning,onTransitionend:i[0]||(i[0]=(...h)=>e.unref(l)&&e.unref(l)(...h))},[e.unref(a)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(s.$slots,"icon",{},()=>[e.createElementVNode("div",{class:"loading-spinner","aria-label":t.text||"加载中"},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(4,h=>e.createElementVNode("span",{key:h,class:"dot","aria-hidden":"true"})),64))],8,cn)],!0),t.text?(e.openBlock(),e.createElementBlock("div",dn,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"default",{},void 0,!0)],64)):e.createCommentVNode("",!0)],42,sn))}}),H=(t,o)=>{const n=t.__vccOpts||t;for(const[r,a]of o)n[r]=a;return n},mn=H(fn,[["__scopeId","data-v-4642fea4"]]),un=["aria-live","aria-busy"],pn={key:0,class:"spinner","aria-hidden":"true"},hn=H(e.defineComponent({name:"SunnySpinner",__name:"SunnySpinner",props:{class:{},minLoadingTime:{default:50},spinning:{type:Boolean,default:!1}},setup(t){const o=t,n=e.computed(()=>{const s=o.minLoadingTime??50;return s<0?(console.warn("[SunnySpinner] minLoadingTime 不能为负数,已自动设置为 0"),0):s>1e4?(console.warn("[SunnySpinner] minLoadingTime 不应超过 10000ms,已自动限制"),1e4):s}),{isVisible:r,shouldRender:a,handleTransitionEnd:l}=Ae({spinning:e.computed(()=>o.spinning),minLoadingTime:n});return(s,i)=>(e.openBlock(),e.createElementBlock("output",{class:e.normalizeClass(e.unref(T.cn)("absolute left-0 top-0 z-100 flex size-full items-center justify-center","transition-all duration-500 ease-in-out","bg-[var(--color-bg-2)]/80 backdrop-blur-sm",{"invisible opacity-0":!e.unref(r)},o.class)),"aria-label":"加载中","aria-live":t.spinning?"polite":"off","aria-busy":t.spinning,onTransitionend:i[0]||(i[0]=(...h)=>e.unref(l)&&e.unref(l)(...h))},[e.unref(a)?(e.openBlock(),e.createElementBlock("div",pn,[...i[1]||(i[1]=[e.createElementVNode("div",{class:"cube"},null,-1),e.createElementVNode("div",{class:"shadow"},null,-1)])])):e.createCommentVNode("",!0)],42,un))}}),[["__scopeId","data-v-033b7571"]]),gn=["src"],ue=e.defineComponent({name:"SunnyIcon",__name:"icon",props:{fallback:{type:Boolean},icon:{type:[Function,String]}},setup(t){const o=t,n=e.computed(()=>T.isString(o.icon)&&T.isHttpUrl(o.icon)),r=e.computed(()=>{const{icon:a}=o;return!T.isString(a)&&(T.isObject(a)||T.isFunction(a))});return(a,l)=>r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),e.normalizeProps(e.mergeProps({key:0},a.$attrs)),null,16)):n.value?(e.openBlock(),e.createElementBlock("img",e.mergeProps({key:1,src:t.icon},a.$attrs),null,16,gn)):t.icon?(e.openBlock(),e.createBlock(e.unref(ge.IconifyIcon),e.mergeProps({key:2},a.$attrs,{icon:t.icon}),null,16,["icon"])):t.fallback?(e.openBlock(),e.createBlock(e.unref(ge.IconDefault),e.normalizeProps(e.mergeProps({key:3},a.$attrs)),null,16)):e.createCommentVNode("",!0)}}),yn=e.defineComponent({name:"SunnyScrollArea",__name:"ScrollArea",props:{type:{},dir:{},scrollHideDelay:{},asChild:{type:Boolean},as:{},class:{},onScroll:{type:Function,default:()=>{}}},setup(t){const o=t,n=e.computed(()=>{const{class:r,onScroll:a,...l}=o;return l});return(r,a)=>(e.openBlock(),e.createBlock(e.unref(X.ScrollAreaRoot),e.mergeProps(n.value,{class:e.unref(T.cn)("relative overflow-hidden",o.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(X.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(we)),e.createVNode(e.unref(X.ScrollAreaCorner))]),_:3},16,["class"]))}}),we=e.defineComponent({name:"SunnyScrollBar",__name:"ScrollBar",props:{orientation:{default:"vertical"},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(t){const o=t,n=e.computed(()=>{const{class:r,...a}=o;return a});return(r,a)=>(e.openBlock(),e.createBlock(e.unref(X.ScrollAreaScrollbar),e.mergeProps(n.value,{class:e.unref(T.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",o.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(X.ScrollAreaThumb),{class:"relative flex-1 rounded-full bg-border"})]),_:1},16,["class"]))}}),Be=1,Sn=H(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:o}){const n=t,r=o,a=e.ref(!0),l=e.ref(!1),s=e.ref(!1),i=e.ref(!0),h=e.computed(()=>n.shadow&&n.shadowTop),b=e.computed(()=>n.shadow&&n.shadowBottom),S=e.computed(()=>n.shadow&&n.shadowLeft),c=e.computed(()=>n.shadow&&n.shadowRight),p=e.computed(()=>({"both-shadow":!i.value&&!l.value&&S.value&&c.value,"left-shadow":!i.value&&S.value,"right-shadow":!l.value&&c.value}));function u(A){const g=A.target,k=g?.scrollTop??0,E=g?.scrollLeft??0,x=g?.clientHeight??0,C=g?.clientWidth??0,I=g?.scrollHeight??0,y=g?.scrollWidth??0;a.value=k<=0,i.value=E<=0,s.value=Math.abs(k)+x>=I-Be,l.value=Math.abs(E)+C>=y-Be,r("scrollAt",{bottom:s.value,left:i.value,right:l.value,top:a.value})}return(A,g)=>(e.openBlock(),e.createBlock(e.unref(yn),{class:e.normalizeClass([[e.unref(T.cn)(n.class),p.value],"sunny-scrollbar relative"]),"on-scroll":u},{default:e.withCtx(()=>[h.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([{"opacity-100":!a.value,"border-t border-border":t.shadowBorder&&!a.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(A.$slots,"default",{},void 0,!0),b.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([{"opacity-100":!a.value&&!s.value,"border-b border-border":t.shadowBorder&&!a.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(we),{key:2,class:e.normalizeClass(t.scrollBarClass),orientation:"horizontal"},null,8,["class"])):e.createCommentVNode("",!0)]),_:3},8,["class"]))}}),[["__scopeId","data-v-299d4e0d"]]),Cn={class:"sunny-file-upload"},bn={class:"font-bold text-gray-700 mb-2"},kn={class:"flex flex-wrap items-center text-sm mb-3 select-none"},An={class:"cursor-pointer text-blue-600 hover:text-blue-700 flex items-center mr-4 transition-colors"},wn={class:"text-xs text-blue-600"},Bn={class:"text-xs text-gray-400"},xn={class:"border border-dashed border-gray-300 rounded-lg p-4 transition-all duration-300"},En={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},Nn={class:"flex-1 min-w-0 pr-8"},Vn=["title"],Pn={class:"flex items-center text-xs text-gray-500"},In={class:"mr-3 min-w-[3em]"},Rn={class:"ml-2 w-8 text-right"},xe=1024,Mn=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:o}){const n=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],r=t,a=o,l=e.ref(!0),s=e.ref(!1),i=e.ref([]),h=e.ref(!1),b=e.computed(()=>i.value.every(y=>!!y.url)),S=e.computed(()=>i.value.filter(y=>y.checked).length);e.watch(()=>r.modelValue,y=>{try{i.value=JSON.parse(y||"[]")}catch(d){console.warn("Failed to parse modelValue:",d),i.value=[]}},{immediate:!0,deep:!0});const c=y=>y,p=y=>{if(y===0)return"0 B";const d=Math.floor(Math.log(y)/Math.log(xe));return(y/Math.pow(xe,d)).toPrecision(3)+" "+n[d]},u=y=>{const d=y.type||"",f=(y.name||"").split(".").pop()?.toLowerCase()||"",B={"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[N,j]of Object.entries(B))if(j.includes(f)||j.some(P=>d.includes(P)))return N;return d.includes("excel")||d.includes("spreadsheet")?"vscode-icons:file-type-excel":d.includes("powerpoint")||d.includes("presentation")?"vscode-icons:file-type-powerpoint":d.includes("text/plain")?"vscode-icons:file-type-text":d.includes("word")||d.includes("document")?"vscode-icons:file-type-word":d.includes("zip")||d.includes("compressed")?"vscode-icons:file-type-zip":d.includes("pdf")?"vscode-icons:file-type-pdf":"vscode-icons:default-file"},A=()=>{const y=JSON.stringify(i.value);a("update:modelValue",y),a("change",y)},g=(y,d)=>{if(d.status!=="init")return;if(i.value.length>=r.limit){w.Message.error(`最多上传${r.limit}个文件`);return}const m=r.maxSize*1024*1024;if(d.file.size>m){w.Message.error(`文件最大限制${p(m)}`);return}i.value.push({uid:d.uid,name:d.name,size:d.file?.size,type:d.file?.type,file:d.file,percentage:0,checked:!1})},k=async()=>{if(i.value.length===0)return;const y=i.value.filter(d=>!d.url);for(const d of y){const m=new FormData;m.append("fileName",d.file),m.append("encryptFile",s.value?"1":"0"),r.storeType&&m.append("storeType",r.storeType),r.s3FileDir&&m.append("s3FileDir",r.s3FileDir),r.preSigned&&m.append("preSigned",r.preSigned),r.preSignedExpire&&m.append("preSignedExpire",r.preSignedExpire);try{const f=await W.post(r.action,m,{onUploadProgress:N=>{if(N.total){const j=Math.floor(N.loaded/N.total*100);d.percentage=j}}}),{data:B}=f;B.code===200?(Object.assign(d,B.result),w.Message.success(B.message||"上传成功")):(w.Message.error(B.message||"上传失败"),E(d.uid))}catch{w.Message.error("上传失败"),E(d.uid)}}A()},E=y=>{const d=i.value.findIndex(m=>m.uid===y);d>-1&&i.value.splice(d,1)},x=(y,d)=>{y.url?w.Modal.confirm({title:c("提示"),content:c("是否删除该文件?"),onOk:()=>{W.post(r.delAction,{filePathList:[y.url],storeType:r.storeType}).then(m=>{const{data:f}=m;w.Message[f.success?"success":"error"](f.message),f.code===200&&(i.value.splice(d,1),A())})}}):(i.value.splice(d,1),A())},C=()=>{const y=i.value.every(d=>d.checked);i.value.forEach(d=>d.checked=!y)},I=()=>{const y=i.value.filter(d=>d.checked);y.length!==0&&w.Modal.confirm({title:c("提示"),content:c("是否删除选中的文件?"),onOk:()=>{h.value=!0;const d=y.map(m=>m.url).filter(Boolean);d.length>0?W.post(r.delAction,{filePathList:d,storeType:r.storeType}).then(m=>{const{data:f}=m;w.Message[f.success?"success":"error"](f.message),f.code===200&&(i.value=i.value.filter(B=>!B.checked),A())}).finally(()=>{h.value=!1}):(i.value=i.value.filter(m=>!m.checked),A(),h.value=!1)}})};return(y,d)=>(e.openBlock(),e.createElementBlock("div",Cn,[e.createElementVNode("div",bn,e.toDisplayString(c("附件")),1),e.withDirectives(e.createElementVNode("div",kn,[e.createVNode(e.unref(w.Upload),{"show-file-list":!1,"auto-upload":!1,multiple:"",accept:t.accept,onChange:g},{"upload-button":e.withCtx(()=>[e.createElementVNode("span",An,[e.createVNode(e.unref(Nt),{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",b.value?"text-gray-300 cursor-not-allowed":"cursor-pointer text-gray-600 hover:text-gray-800"]),onClick:d[0]||(d[0]=m=>!b.value&&k())},[e.createVNode(e.unref(wt),{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:C},e.toDisplayString(c("全选")),1),e.createElementVNode("span",{class:e.normalizeClass(["mr-4 transition-colors",S.value===0?"text-gray-300 cursor-not-allowed":"cursor-pointer text-gray-500 hover:text-red-500"]),onClick:I},e.toDisplayString(c("删除")),3),t.showEncrypt?(e.openBlock(),e.createBlock(e.unref(w.Checkbox),{key:0,modelValue:s.value,"onUpdate:modelValue":d[1]||(d[1]=m=>s.value=m),class:"mr-4"},{default:e.withCtx(()=>[e.createElementVNode("span",wn,e.toDisplayString(c("是否加密")),1)]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),e.createElementVNode("span",Bn," ("+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:d[2]||(d[2]=m=>l.value=!l.value)},e.toDisplayString(l.value?c("隐藏"):c("展开")),1)],512),[[e.vShow,!t.readonly]]),e.withDirectives(e.createElementVNode("div",xn,[e.createElementVNode("div",En,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(m,f)=>(e.openBlock(),e.createElementBlock("div",{key:m.uid||f,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(ue),{icon:u(m),class:"w-10 h-10 mr-3 flex-shrink-0"},null,8,["icon"]),e.createElementVNode("div",Nn,[e.createElementVNode("div",{class:"text-sm truncate font-medium text-gray-700 mb-1",title:m.name},e.toDisplayString(m.name),9,Vn),e.createElementVNode("div",Pn,[e.createElementVNode("span",In,e.toDisplayString(p(m.size)),1),e.createVNode(e.unref(w.Progress),{percent:m.percentage/100,size:"small","show-text":!1,color:m.percentage===100?"#00b42a":"#165dff",class:"flex-1"},null,8,["percent","color"]),e.createElementVNode("span",Rn,e.toDisplayString(m.percentage)+"%",1)])]),t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(w.Checkbox),{key:0,modelValue:m.checked,"onUpdate:modelValue":B=>m.checked=B,class:"absolute top-3 right-3"},null,8,["modelValue","onUpdate:modelValue"])),t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(ke),{key:1,class:"absolute bottom-3 right-3 w-4 h-4 cursor-pointer text-gray-400 hover:text-red-500 transition-colors",onClick:B=>x(m,f)},null,8,["onClick"]))]))),128))])],512),[[e.vShow,i.value.length>0&&l.value]])]))}}),Fn={class:"flex gap-2 items-center flex-nowrap overflow-hidden"},Tn={class:"flex gap-2 item-center flex-nowrap"},Ee=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:o}){const n=t,r=e.computed(()=>JSON.parse(n.modelValue||"[]")),a=o,l=i=>{const{onProgress:h,onError:b,onSuccess:S,fileItem:c,name:p}=i;if(n.limit&&r.value.length>=n.limit){w.Message.error(`最多只能上传 ${n.limit} 个文件`),b();return}if(n.maxSize&&c.file.size>n.maxSize*1024*1024){w.Message.error(`文件大小不能超过 ${n.maxSize} MB`),b();return}var u=new FormData;u.append("fileName",c.file),u.append("encryptFile",n.encryptFile===!0?"1":"0"),u.append("storeType",n.storeType),n.s3FileDir&&u.append("s3FileDir",n.s3FileDir),n.preSigned&&u.append("preSigned",n.preSigned===!0?"1":"0"),n.preSignedExpire&&u.append("preSignedExpire",String(n.preSignedExpire)),W.post(n.action,u,{onUploadProgress:A=>{const g=Math.floor(A.loaded/A.total*100);h(g)}}).then(A=>{if(A.data.code===200){w.Message.success(A.data.message||"上传成功"),S(A.data.result);const g=[...r.value,c];a("update:modelValue",JSON.stringify(g)),a("change",JSON.stringify(g))}else w.Message.error(A.data.message||"上传失败"),b()}).catch(()=>{b()})},s=i=>{W.post(n.delAction,{filePathList:[i.response.url],storeType:n.storeType}).then(h=>{const{data:b}=h;if(w.Message.success(b.message||"删除成功"),b.code===200){const S=r.value.filter(c=>c.uid!==i.uid);a("update:modelValue",JSON.stringify(S))}}).catch(h=>{w.Message.error("删除失败"),console.error("删除文件失败:",h)})};return(i,h)=>{const b=e.resolveComponent("a-button"),S=e.resolveComponent("a-upload"),c=e.resolveComponent("a-tag");return e.openBlock(),e.createElementBlock("div",Fn,[e.createVNode(S,{"show-file-list":!1,action:t.action,"custom-request":l},{"upload-button":e.withCtx(()=>[e.createVNode(b,{type:"primary",size:"mini"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("common.upload")),1)]),_:1})]),_:1},8,["action"]),e.createElementVNode("div",Tn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,p=>(e.openBlock(),e.createBlock(c,{loading:!1,color:p.status==="error"?"red":"green",closable:"",onClose:u=>s(p)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.name),1)]),_:2},1032,["color","onClose"]))),256))])])}}}),Ne=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:o,slots:n,attrs:r}){const a=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(([b,S])=>{const c=t.filterModel[b];return c==null?!1:String(c)===String(S)})},l=e.computed(()=>{const i=t.modelValue;if(i==null||i===""||r["allow-create"]===!0||r["allow-create"]==="")return i;const h=b=>t.options.some(S=>a(S)?S.value==b||typeof b=="object"&&b!==null&&"value"in b&&S.value==b.value:!1);if(Array.isArray(i)){const b=i.filter(S=>h(S));return b.length===i.length?i:b}else return h(i)?i:void 0});e.watch(l,i=>{i!==t.modelValue&&o("update:modelValue",i)});const s=i=>{o("update:modelValue",i)};return()=>e.createVNode(w.Select,e.mergeProps(r,{modelValue:l.value,"onUpdate:modelValue":s}),{default:()=>t.options.map(i=>a(i)?e.createVNode(w.Option,e.mergeProps({key:i.value},i),{default:()=>n.option?n.option({data:i}):i.label}):null),...Object.fromEntries(Object.entries(n).filter(([i])=>i!=="option"&&i!=="default"))})}}),jn={class:"flex items-center justify-between px-3 py-2 border-b border-[var(--color-neutral-3)] bg-[var(--color-bg-popup)] select-none"},Ln={class:"flex items-center gap-1"},On={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"},Dn=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:o}){const n=t,r=o,a=e.computed(()=>n.options.filter(c=>!c.disabled)),l=e.computed(()=>a.value.length===0?!1:a.value.every(c=>n.modelValue.includes(c.value))),s=e.computed(()=>{if(a.value.length===0)return!1;const c=a.value.filter(p=>n.modelValue.includes(p.value)).length;return c>0&&c<a.value.length}),i=c=>{r("update:modelValue",c),r("change",c)},h=c=>{if(c===!0){const u=a.value.map(k=>k.value),A=n.modelValue.filter(k=>{const E=n.options.find(x=>x.value===k);return E&&E.disabled}),g=Array.from(new Set([...A,...u]));r("update:modelValue",g),r("change",g)}else{const u=n.modelValue.filter(A=>{const g=n.options.find(k=>k.value===A);return g&&g.disabled});r("update:modelValue",u),r("change",u)}},b=()=>{const c=n.modelValue.filter(p=>{const u=n.options.find(A=>A.value===p);return u&&u.disabled});r("update:modelValue",c),r("change",c)},S=c=>{const p=c.clipboardData||window.clipboardData;if(!p)return;const u=p.getData("text");if(!u)return;const A=u.split(/\r?\n/).map(x=>x.trim()).filter(x=>x);if(A.length===0)return;const g=[];let k=0;const E=x=>{const C=x.cMeta;return!C||Object.keys(C).length===0?!0:!n.filterModel||Object.keys(n.filterModel).length===0?!1:Object.entries(C).every(([I,y])=>{const d=n.filterModel[I];return d==null?!1:String(d)===String(y)})};if(A.forEach(x=>{if(n.matchStrategy==="value"||n.matchStrategy==="both"){const C=n.options.find(I=>String(I.value)===x);if(C&&!C.disabled&&E(C)){g.push(C.value),k++;return}}if(n.matchStrategy==="label"||n.matchStrategy==="both"){const C=n.options.find(I=>I.label===x);C&&!C.disabled&&E(C)&&(g.push(C.value),k++)}}),g.length>0){c.preventDefault();const x=Array.from(new Set([...n.modelValue,...g]));r("update:modelValue",x),r("change",x),w.Message.success(`成功识别并选中 ${k} 项 (Matched ${k} items)`)}};return(c,p)=>{const u=e.resolveComponent("a-checkbox"),A=e.resolveComponent("a-tooltip");return e.openBlock(),e.createBlock(e.unref(Ne),e.mergeProps(c.$attrs,{"model-value":t.modelValue,options:t.options,"filter-model":t.filterModel,multiple:"","allow-search":"","onUpdate:modelValue":i,onPaste:S}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",jn,[e.createVNode(u,{"model-value":l.value,indeterminate:s.value,onChange:h,class:"pl-1"},{default:e.withCtx(()=>[...p[0]||(p[0]=[e.createElementVNode("span",{class:"text-[var(--color-text-1)]"},"全选",-1)])]),_:1},8,["model-value","indeterminate"]),e.createElementVNode("div",Ln,[e.createVNode(A,{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:b},[e.createVNode(e.unref(ke))])]),_:1}),p[1]||(p[1]=e.createElementVNode("div",{class:"w-[1px] h-3 bg-[var(--color-neutral-3)] mx-1"},null,-1)),e.createVNode(A,{content:"支持从 Excel 或文本编辑器(↓列数据)复制多行数据,粘贴至搜索框即可自动匹配并选中。",position:"left"},{default:e.withCtx(()=>[e.createElementVNode("div",On,[e.createVNode(e.unref(be))])]),_:1})])])]),_:2},[e.renderList(c.$slots,(g,k)=>({name:k,fn:e.withCtx(E=>[e.renderSlot(c.$slots,k,e.normalizeProps(e.guardReactiveProps(E||{})))])}))]),1040,["model-value","options","filter-model"])}}}),Ve=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:o}){const n=t,r=o,a=e.computed(()=>n.fieldNames?.label||"label"),l=e.computed(()=>n.fieldNames?.value||"value"),s=e.computed(()=>n.modelValue.map(c=>({label:c[a.value],value:c[l.value],closable:!n.disabled,tagProps:c.tagProps}))),i=c=>{n.disabled||["Backspace","Delete","Tab","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(c.key)||c.preventDefault()},h=(c,p)=>{const u=[...n.modelValue];u.splice(p,1),r("update:modelValue",u),r("change",u)},b=()=>{r("update:modelValue",[]),r("change",[]),r("clear")},S=()=>{n.disabled||r("search")};return(c,p)=>{const u=e.resolveComponent("a-input-tag");return e.openBlock(),e.createBlock(u,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:b,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(S,["stop"])},[e.createVNode(e.unref(se),{class:"transition-colors group-hover:text-[var(--color-primary-6)]"})],2)]),_:2},[e.renderList(c.$slots,(A,g)=>({name:g,fn:e.withCtx(k=>[e.renderSlot(c.$slots,g,e.normalizeProps(e.guardReactiveProps(k||{})))])}))]),1040,["model-value","disabled","placeholder","max-tag-count"])}}});class zn{store;constructor(o,n){this.store=new Ze.Store(o),n?.onUpdate&&this.store.subscribe(()=>{n.onUpdate?.()})}setState(o){this.store.setState(n=>{const r=typeof o=="function"?o(n):o;return{...n,...r}})}getState(){return this.store.state}}function Pe(t,o="YYYY-MM-DD"){if(!t)return t;if(T.isFunction(t.format))return t.format(o);if(t instanceof Date){const n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),l=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0");return o.replace("YYYY",String(n)).replace("MM",r).replace("DD",a).replace("HH",l).replace("mm",s).replace("ss",i)}return String(t)}function v(t){return T.is(t,"Date")}function ee(t){return T.isObject(t)&&"$d"in t&&"$y"in t&&"$M"in t}function te(t,o){if(!T.isObject(t)||!T.isObject(o)||Array.isArray(o))return o;const n={...t};return Object.keys(o).forEach(r=>{const a=n[r],l=o[r];T.isObject(a)&&T.isObject(l)?n[r]=te(a,l):n[r]=l}),n}class Qn{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(o=>{this.resolveFn=o})),await this.promise)}}function $n(t){const o=Object.getPrototypeOf(t),n=Object.getOwnPropertyNames(o);for(const r of n){const a=t[r];r!=="constructor"&&typeof a=="function"&&(t[r]=a.bind(t))}}function Un(){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 Ie{form;isMounted=!1;state=null;stateHandler;store;componentRefMap=new Map;latestSubmissionValues=null;prevState=null;constructor(o={}){const{...n}=o,r=Un();this.store=new zn({...r,...n},{onUpdate:()=>{this.prevState=this.state,this.state=this.store.getState(),this.updateState()}}),this.state=this.store.getState(),this.stateHandler=new Qn,$n(this)}getFieldComponentRef(o){let n=this.componentRefMap.has(o)?this.componentRefMap.get(o):void 0;if(n&&n.$&&n.$.type&&n.$.type.name==="AsyncComponentWrapper"&&n.$.subTree&&n.$.subTree.ref){const r=n.$.subTree.ref;Array.isArray(r)?r.length>0&&r[0]&&e.isRef(r[0].r)&&(n=r[0].r.value):e.isRef(r.r)&&(n=r.r.value)}return n}getFocusedField(){for(const o of this.componentRefMap.keys()){const n=this.getFieldComponentRef(o);if(n){let r=null;if(n instanceof HTMLElement?r=n:n.$el instanceof HTMLElement&&(r=n.$el),!r)continue;if(r===document.activeElement||r.contains(document.activeElement))return o}}}getLatestSubmissionValues(){return this.latestSubmissionValues||{}}getState(){return this.state}async getValues(){const o=await this.getForm();return o.values?this.handleRangeTimeValue(o.values):{}}async isFieldValid(o){return(await this.getForm()).isFieldValid(o)}merge(o){const n=[this,o],r=new Proxy(o,{get(a,l){return l==="merge"?s=>(n.push(s),r):l==="submitAllForm"?async(s=!0)=>{try{const i=await Promise.all(n.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)}}:a[l]}});return r}mount(o,n){this.isMounted||(this.form=o,this.stateHandler.setConditionTrue(),this.setLatestSubmissionValues({...e.toRaw(this.handleRangeTimeValue(this.form.values))}),n&&(this.componentRefMap=n),this.isMounted=!0)}async removeSchemaByFields(o){const n=new Set(o),a=(this.state?.schema??[]).filter(l=>l.fieldName&&!n.has(l.fieldName));this.setState({schema:a})}async resetForm(o,n){return(await this.getForm()).resetForm(o,n)}async resetValidate(){const o=await this.getForm();Object.keys(o.errors.value).forEach(r=>{o.setFieldError(r,void 0)})}scrollToFirstError(o){const n=typeof o=="string"?o:Object.keys(o)[0];if(!n)return;let r=document.querySelector(`[name="${n}"]`);if(!r){const a=this.getFieldComponentRef(n);a&&a.$el instanceof HTMLElement?r=a.$el:a instanceof HTMLElement&&(r=a)}r&&r.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})}async setFieldValue(o,n,r){const a=await this.getForm();if(o.includes(".")||o.includes("[")){const l={...a.values},s=q.set(l,o,n);a.setValues(s,r)}else a.setValues({[o]:n},r)}setLatestSubmissionValues(o){this.latestSubmissionValues={...e.toRaw(o)}}setState(o){T.isFunction(o)?this.store.setState(n=>te(n,o(n))):this.store.setState(n=>te(n,o))}async setValues(o,n=!0,r=!1){const a=await this.getForm(),l=a.values||{},s={...o};if(this.handleValueToObjectFields(s),Object.keys(s).some(b=>b.includes(".")||b.includes("["))){let b={...l};for(const[S,c]of Object.entries(s))b=q.set(b,S,c);n&&(b=this.filterNestedValues(b,l)),a.setValues(b,r);return}if(!n){a.setValues(s,r);return}const h=this.filterAndMergeValues(s,l);a.setValues(h,r)}filterNestedValues(o,n){if(!T.isObject(o)||!T.isObject(n)||Array.isArray(o))return o;const r={};for(const a in o)if(Object.prototype.hasOwnProperty.call(o,a)&&a in n){const l=o[a],s=n[a];T.isObject(l)&&!Array.isArray(l)&&!v(l)&&!ee(l)&&T.isObject(s)&&!Array.isArray(s)&&!v(s)&&!ee(s)?r[a]=this.filterNestedValues(l,s):r[a]=l}return r}filterAndMergeValues(o,n){if(!T.isObject(o)||!T.isObject(n)||Array.isArray(o))return o;const r={};for(const a in o)if(Object.prototype.hasOwnProperty.call(o,a)&&a in n){const l=o[a],s=n[a];T.isObject(l)&&!Array.isArray(l)&&!v(l)&&!ee(l)&&T.isObject(s)&&!Array.isArray(s)&&!v(s)&&!ee(s)?r[a]=this.filterAndMergeValues(l,s):r[a]=l}return r}async resetValues(o){return this.setValues(o)}async submitForm(o){o?.preventDefault(),o?.stopPropagation();const n=await this.getForm(),{valid:r,errors:a}=await n.validate(),l=e.toRaw(await this.getValues());return r?await this.state?.handleSubmit?.(l):this.state?.scrollToFirstError&&this.scrollToFirstError(a),{valid:r,values:l,errors:a}}unmount(){this.form?.resetForm?.(),this.latestSubmissionValues=null,this.isMounted=!1,this.stateHandler.reset()}updateSchema(o){const n=[...o];if(!n.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 a=T.cloneDeep(this.state?.schema??[]),l={};n.forEach(s=>{s.fieldName&&(l[s.fieldName]=s)}),a.forEach((s,i)=>{if(!s.fieldName)return;const h=l[s.fieldName];h&&(a[i]=te(s,h))}),this.setState({schema:a})}async validate(o){const r=await(await this.getForm()).validate(o);return Object.keys(r?.errors??{}).length>0&&(console.error("validate error",r?.errors),this.state?.scrollToFirstError&&this.scrollToFirstError(r.errors)),r}async validateAndSubmitForm(){const o=await this.getForm(),{valid:n,errors:r}=await o.validate();if(!n){this.state?.scrollToFirstError&&this.scrollToFirstError(r);return}return await this.submitForm()}async validateField(o,n){const a=await(await this.getForm()).validateField(o,n);return Object.keys(a?.errors??{}).length>0&&(console.error("validate error",a?.errors),this.state?.scrollToFirstError&&this.scrollToFirstError(o)),a}async getForm(){if(this.isMounted||await this.stateHandler.waitForCondition(),!this.form?.meta)throw new Error("<SunnyUseForm /> is not mounted");return this.form}handleMultiFields=o=>{const n=this.state?.arrayToStringFields;if(!n||!Array.isArray(n))return;const r=(a,l=",")=>{this.processFields(a,l,o,(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(n.every(a=>typeof a=="string")){const a=n[n.length-1]||"",l=a.length===1?n.slice(0,-1):n,s=a.length===1?a:",";r(l,s);return}n.forEach(a=>{if(Array.isArray(a)){const[l,s=","]=a;if(!Array.isArray(l)){console.warn(`Invalid field configuration: fields should be an array of strings, got ${typeof l}`);return}r(l,s)}})};handleObjectToValueFields=o=>{const n=this.state?.objectToValueFields;!n||!Array.isArray(n)||n.forEach(r=>{const a=o[r];if(!Array.isArray(a)||a.length===0)return;const l=this.state?.schema?.find(S=>S.fieldName===r);if(!l)return;let s=l.componentProps;if(typeof s=="function")try{s=s(o,this.form)}catch(S){console.warn(`[SunnyForm] Failed to resolve componentProps for field ${r}`,S);return}const h=(s?.modalProps?.fieldNames||s?.fieldNames)?.value;if(!h)return;const b=a.map(S=>S&&typeof S=="object"?S[h]:S).filter(S=>S!=null).join(",");o[r]=b})};handleValueToObjectFields=o=>{const n=this.state?.objectToValueFields;!n||!Array.isArray(n)||n.forEach(r=>{const a=o[r];if(typeof a!="string"||a===""||Array.isArray(a))return;const l=this.state?.schema?.find(c=>c.fieldName===r);if(!l)return;let s=l.componentProps;if(typeof s=="function")try{s=s(o,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",b=i?.label||"label";if(!i?.value)return;const S=a.split(",").map(c=>c.trim()).filter(c=>c!=="").map(c=>({[h]:c,[b]:c}));o[r]=S})};handleRangeTimeValue=o=>{const n={...o},r=this.state?.fieldMappingTime;return this.handleMultiFields(n),this.handleObjectToValueFields(n),!r||!Array.isArray(r)||r.forEach(([a,[l,s],i="YYYY-MM-DD"])=>{if(l&&s&&n[a]===null&&(Reflect.deleteProperty(n,l),Reflect.deleteProperty(n,s)),!n[a]){Reflect.deleteProperty(n,a);return}const[h,b]=n[a];if(i===null)n[l]=h,n[s]=b;else if(T.isFunction(i))n[l]=i(h,a),n[s]=i(b,a);else{const[S,c]=Array.isArray(i)?i:[i,i];n[l]=h?Pe(h,S):void 0,n[s]=b?Pe(b,c):void 0}Reflect.deleteProperty(n,a)}),n};processFields=(o,n,r,a)=>{o.forEach(l=>{const s=r[l];s!=null&&(r[l]=a(s,n))})};updateState(){const o=this.state?.schema??[],n=this.prevState?.schema??[];if(o.length<n.length){const r=new Set(o.map(l=>l.fieldName)),a=n.filter(l=>!r.has(l.fieldName));for(const l of a)l.fieldName&&this.form?.setFieldValue?.(l.fieldName,void 0)}}useStore}const Re=Symbol("FormRenderProps"),qn=Symbol("ComponentRefMap"),Me=Symbol("FieldSlots"),Wn=t=>{e.provide(Re,t)},pe=()=>{const t=e.inject(Re);if(!t)throw new Error("injectRenderFormProps must be used within provideFormRenderProps");return t},_n=t=>{e.provide(qn,t)},Jn=t=>{e.provide(Me,t)},Yn=()=>e.inject(Me),Fe=()=>{const t=pe(),o=e.computed(()=>t.layout==="vertical");return{props:t,isVertical:o,componentBindEventMap:e.computed(()=>t.config?.modelPropNameMap)}},Te=Symbol("FormPropsKey");function je(t){e.provide(Te,t)}function Gn(){const t=e.inject(Te);if(!t)throw new Error("Form context not found (表单上下文未找到,请确保在 SunnyForm 或 SunnyUseForm 内部使用)");return t}function Kn(t){const o=e.useSlots(),n=e.computed(()=>{const l=e.unref(t),s={};return(l.schema||[]).forEach(i=>{i.fieldName&&i.defaultValue!==void 0&&(s[i.fieldName]=i.defaultValue)}),l.values&&Object.assign(s,l.values),s}),r=G.useForm({initialValues:n.value}),a=e.computed(()=>{const l=[],s=Object.keys(o);for(const i of s)i!=="default"&&typeof o[i]=="function"&&l.push(i);return l});return{form:r,delegatedSlots:a}}const Hn=e.defineAsyncComponent(()=>Promise.resolve().then(()=>Oo));G.defineRule("required",t=>t==null||t===""||Array.isArray(t)&&t.length===0?"此项必填":!0);const Xn={Input:w.Input,InputPassword:w.InputPassword,InputNumber:w.InputNumber,Textarea:w.Textarea,Select:w.Select,Checkbox:w.Checkbox,CheckboxGroup:w.CheckboxGroup,Radio:w.Radio,RadioGroup:w.RadioGroup,Switch:w.Switch,DatePicker:w.DatePicker,RangePicker:w.RangePicker,TimePicker:w.TimePicker,Upload:w.Upload,Rate:w.Rate,Slider:w.Slider,Cascader:w.Cascader,TreeSelect:w.TreeSelect,SunnySelect:w.Select,SunnyCheckbox:w.Checkbox,SunnyRadio:w.Radio,SunnySwitch:w.Switch,SunnyDatePicker:w.DatePicker,SunnyTimePicker:w.TimePicker,SunnyUpload:w.Upload,SunnyBusinessSearch:Hn},U={};function Zn(t){const{config:o,defineRules:n}=t,{disabled:r=!1,disabledOnChangeListener:a=!0,disabledOnInputListener:l=!0,emptyStateValue:s=void 0,businessSearchAdapter:i,customizeSelectAdapter:h,selectOptionsAdapter:b,apiPrefix:S}=o||{};if(Object.assign(U,{disabled:r,disabledOnChangeListener:a,disabledOnInputListener:l,emptyStateValue:s,businessSearchAdapter:i,customizeSelectAdapter:h,selectOptionsAdapter:b,apiPrefix:S}),n)for(const c of Object.keys(n))G.defineRule(c,n[c])}function vn(t){const o=G.useFormValues(),r=pe().form;if(!o)throw new Error("useDependencies should be used within <SunnyForm> (VeeValidate Form)");const a=e.computed(()=>o.value),l=e.computed(()=>t()),s=e.computed(()=>{const p=l.value;if(!p)return!0;const{if:u}=p,A=a.value;return T.isFunction(u)?!!u(A,r):T.isBoolean(u)?u:!0}),i=e.computed(()=>{const p=l.value;if(!p)return!0;const{show:u}=p,A=a.value;return T.isFunction(u)?!!u(A,r):T.isBoolean(u)?u:!0}),h=e.computed(()=>{const p=l.value;if(!p)return!1;const{disabled:u}=p,A=a.value;return T.isFunction(u)?!!u(A,r):T.isBoolean(u)?u:!1}),b=e.computed(()=>{const p=l.value;if(!p)return!1;const{required:u}=p,A=a.value;return T.isFunction(u)?!!u(A,r):!1}),S=e.computed(()=>{const p=l.value;if(!p)return{};const{componentProps:u}=p,A=a.value;return T.isFunction(u)?u(A,r)||{}:{}}),c=e.computed(()=>{const p=l.value;if(!p)return;const{rules:u}=p,A=a.value;if(T.isFunction(u))return u(A,r)});return{dynamicComponentProps:S,dynamicRules:c,isDisabled:h,isIf:s,isRequired:b,isShow:i}}const eo=e.defineComponent({__name:"FormField",props:{schema:{}},setup(t){const o=t,n=G.useFormValues(),r=pe(),a=e.computed(()=>U.disabled??!1),{isVertical:l}=Fe(),s=r.form,i=Yn(),{dynamicComponentProps:h,dynamicRules:b,isDisabled:S,isIf:c,isRequired:p,isShow:u}=vn(()=>o.schema.dependencies),A=e.computed(()=>{const{component:P}=o.schema;return T.isString(P)&&Xn[P]||P}),g=e.computed(()=>{const{component:P}=o.schema;return P==="Slot"}),k=e.computed(()=>{if(!g.value||!i)return!1;const P=o.schema.fieldName;return P?!!i[P]:!1}),E=(P,V)=>{const R=o.schema.fieldName;if(!R||!i||!i[R])return null;const M=i[R],Q=z=>{P.onInput(z)},O={model:n.value,value:P.value,setValue:Q,disabled:B.value,errorMessage:V,field:P,componentProps:m.value};return M(O)},x=e.defineComponent({name:"FieldSlotRenderer",props:{field:{type:Object,required:!0},errorMessage:{type:String,default:void 0}},setup(P){return()=>E(P.field,P.errorMessage)}}),C=e.computed(()=>o.schema.hidden?!1:c.value&&u.value),I=e.computed(()=>b.value||o.schema.rules),y=e.computed(()=>{if(!C.value)return!1;if(!I.value)return p.value;if(p.value)return!0;if(T.isString(I.value))return I.value.split("|").includes("required");const P=e.toRaw(I.value);let V=P?.isOptional?.();if(P?._def?.typeName==="ZodDefault"){const M=P?._def.innerType;M&&(V=M.isOptional?.())}return!V}),d=e.computed(()=>{if(!C.value)return null;let P=e.toRaw(I.value);if(!P)return p.value?"required":void 0;if(T.isString(P))return P;if(!!y.value){const R=P?.unwrap?.();R&&(P=R)}return ve.toTypedSchema(P)}),m=e.computed(()=>{const{componentProps:P,commonComponentProps:V}=o.schema,R=T.isFunction(P)?P(n.value,s):P;return{...V,...R,...h.value}}),f=P=>{const V=m.value,R=(Q,O)=>(...z)=>{T.isFunction(Q)&&Q(...z),O(...z)},M=Q=>{T.isFunction(V?.onInput)&&V.onInput(Q),P.onInput(Q)};return{...V,onInput:R(V?.onInput,P.onInput),onChange:R(V?.onChange,P.onChange),modelValue:P.value,"onUpdate:modelValue":M}};e.watch(()=>m.value?.autofocus,P=>{P===!0&&e.nextTick(()=>{})},{immediate:!0});const B=e.computed(()=>S.value||o.schema.disabled||m.value?.disabled||o.schema.formDisabled||a.value),N=e.computed(()=>{if(!(l.value||!o.schema.labelWidth))return{style:{flex:1}}}),j=e.computed(()=>{if(l.value||!o.schema.labelWidth)return;const P=o.schema.labelWidth,V=typeof P=="number"?`${P}px`:P;return{style:{width:V,minWidth:V,maxWidth:V,flex:`0 0 ${V}`}}});return(P,V)=>{const R=e.resolveComponent("a-form-item");return C.value&&t.schema.fieldName?(e.openBlock(),e.createBlock(e.unref(G.Field),{key:0,name:t.schema.fieldName,rules:d.value,label:t.schema.label},{default:e.withCtx(({field:M,errorMessage:Q})=>[e.createVNode(R,e.mergeProps({label:t.schema.label,help:Q||t.schema.help,"validate-status":Q?"error":void 0,required:y.value,"label-col-props":j.value,"wrapper-col-props":N.value},t.schema.formFieldProps),{default:e.withCtx(()=>[k.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(x)),{key:0,field:M,"error-message":Q},null,8,["field","error-message"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(A.value),e.mergeProps({key:1},f(M),{disabled:B.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)}}}),to=["onClick"],Le=e.defineComponent({__name:"form-actions",props:{modelValue:{type:Boolean},formApi:{},searchPlanConfig:{}},emits:["update:modelValue","reset","submit"],setup(t,{expose:o,emit:n}){const r=t,a=n,{props:l}=Fe(),s=G.useFormContext(),i=e.computed({get:()=>r.modelValue??!1,set:u=>a("update:modelValue",u)}),h=e.computed(()=>({content:"重置",show:!0,type:"outline",...e.unref(l).resetButtonOptions})),b=e.computed(()=>({content:"查询",show:!0,htmlType:r.formApi?"button":"submit",...e.unref(l).submitButtonOptions}));async function S(u){if(r.formApi){u?.preventDefault(),u?.stopPropagation();const A=e.unref(l),{valid:g}=await r.formApi.validate();if(!g)return;const k=e.toRaw(await r.formApi.getValues())??{};await A.handleSubmit?.(k)}}async function c(u){u?.preventDefault(),u?.stopPropagation();const A=e.unref(l);if(r.formApi){const g=e.toRaw(await r.formApi.getValues())??{};A.handleReset?await A.handleReset(g):r.formApi.resetForm()}else if(s)if(A.handleReset){const g=s.values;await A.handleReset(g)}else s.resetForm();a("reset")}e.watch(()=>i.value,()=>{e.unref(l).collapseTriggerResize&&window.dispatchEvent(new Event("resize"))});const p=e.computed(()=>{const u=e.unref(l),A=u.actionPosition||"right",g=["flex","items-center","gap-3",u.layout==="vertical"?"self-end":"self-start",u.layout==="inline"?"":"w-full",u.actionWrapperClass];switch(A){case"center":{g.push("justify-center");break}case"left":{g.push("justify-start");break}default:{g.push("justify-end");break}}return g.join(" ")});return o({handleReset:c,handleSubmit:S}),(u,A)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(p.value)},[e.unref(e.unref(l)).actionButtonsReverse?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(u.$slots,"submit-before"),b.value.show?(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:0,type:"primary",size:e.unref(e.unref(l)).size||"small",onClick:S},b.value),{icon:e.withCtx(()=>[e.createVNode(e.unref(se))]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(b.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0)],64)),e.renderSlot(u.$slots,"reset-before"),h.value.show?(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:1,size:e.unref(e.unref(l)).size,onClick:c},h.value),{icon:e.withCtx(()=>[e.createVNode(e.unref(gt))]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(h.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0),e.unref(e.unref(l)).actionButtonsReverse?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.renderSlot(u.$slots,"submit-before"),b.value.show?(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:0,type:"primary",size:e.unref(e.unref(l)).size||"small",onClick:S},b.value),{icon:e.withCtx(()=>[e.createVNode(e.unref(se))]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(b.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"expand-before"),e.renderSlot(u.$slots,"search-plan",{},()=>[r.searchPlanConfig?.enable?(e.openBlock(),e.createBlock(e.unref(Ge),{key:0,"form-config":r.searchPlanConfig.formConfig,"current-search-plan":r.searchPlanConfig.currentSearchPlan,"search-plan-list":r.searchPlanConfig.searchPlanList,"resource-id":r.searchPlanConfig.resourceId,"n-resourceid":r.searchPlanConfig.nResourceid,api:r.searchPlanConfig.api,onSearch:r.searchPlanConfig.onSearch,onDefaultPlanLoaded:r.searchPlanConfig.onDefaultPlanLoaded,"onUpdate:currentSearchPlan":A[0]||(A[0]=g=>r.searchPlanConfig?.onUpdateCurrentSearchPlan&&r.searchPlanConfig.onUpdateCurrentSearchPlan(g)),"onUpdate:searchPlanList":A[1]||(A[1]=g=>r.searchPlanConfig?.onUpdateSearchPlanList&&r.searchPlanConfig.onUpdateSearchPlanList(g))},{trigger:e.withCtx(({open:g})=>[e.createElementVNode("button",{type:"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 mr-2",onClick:g,title:"查询方案"},[e.createVNode(e.unref(ue),{icon:"lucide:filter",class:"w-4 h-4"})],8,to)]),_:1},8,["form-config","current-search-plan","search-plan-list","resource-id","n-resourceid","api","onSearch","onDefaultPlanLoaded"])):e.createCommentVNode("",!0)]),e.unref(e.unref(l)).showCollapseButton?(e.openBlock(),e.createElementBlock("div",{key:3,class:"cursor-pointer ml-2 text-primary hover:opacity-80 transition-opacity select-none",onClick:A[2]||(A[2]=g=>i.value=!i.value)},[e.createElementVNode("span",null,e.toDisplayString(i.value?"展开":"收起"),1)])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"expand-after")],2))}});function no(t){const o={xs:576,sm:576,md:768,lg:992,xl:1200,xxl:1600},n=ye.useBreakpoints(o),r=e.computed(()=>{const i={},h=t.schema||[],b=l(),S=t.commonConfig?.colProps;return h.forEach(c=>{if(!c.fieldName)return;const p=c.colProps||S;i[c.fieldName]=s(p,c.colSpan,b)}),i}),a=e.computed(()=>{const i=l();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 l(){return n.greaterOrEqual("xxl").value?"xxl":n.greaterOrEqual("xl").value?"xl":n.greaterOrEqual("lg").value?"lg":n.greaterOrEqual("md").value?"md":n.greaterOrEqual("sm").value?"sm":"xs"}function s(i,h,b){if(i){const S=["xxl","xl","lg","md","sm","xs"],c=S.indexOf(b);for(let p=c;p<S.length;p++){const u=S[p],A=i[u];if(A!==void 0)return typeof A=="object"?A.span??24:A}if(i.span!==void 0)return i.span}return h!==void 0?h:24}return{spans:r,actionSpan:a}}const oo={class:"h-full flex flex-col justify-end"},Oe=e.defineComponent({__name:"Form",props:{formApi:{},form:{}},emits:["submit"],setup(t,{expose:o,emit:n}){const r=t,a=n,l=e.useSlots(),s=Gn(),i=e.reactive({...s.value});e.watch(()=>s.value,d=>{Object.assign(i,d)},{deep:!0}),Wn(i),Jn(l);const{spans:h,actionSpan:b}=no(i),S=e.computed(()=>{const{commonConfig:d={},labelWidth:m,schema:f=[]}=i,{componentProps:B={},formFieldProps:N={},disabled:j,...P}=d,V={...P};return m!==void 0&&Object.assign(V,{labelWidth:m}),f.map(R=>({...V,...R,formDisabled:j,hidden:R.hidden??R.hide,commonComponentProps:B,formFieldProps:{...N,...R.formFieldProps||{}},componentProps:R.componentProps}))}),c=e.computed(()=>i.layout==="inline"),{handleSubmit:p,resetForm:u,setValues:A,values:g,validate:k,errors:E,meta:x}=r.form||G.useForm({initialValues:S.value.reduce((d,m)=>(m.fieldName&&(d[m.fieldName]=m.defaultValue),d),{})});o({validate:async()=>({valid:(await k()).valid,errors:E.value}),handleSubmit:p}),e.onMounted(()=>{r.formApi&&r.formApi.mount({handleSubmit:p,resetForm:u,setValues:A,values:g,validate:k,errors:E,meta:x})});const C=p(d=>{a("submit",d),i.handleSubmit&&i.handleSubmit(d)}),I=d=>{i.collapsed=d,i.handleCollapsedChange?.(d),r.formApi&&r.formApi.setState({collapsed:d})},y=e.computed(()=>{const{compact:d,gridProps:m}=i,f=d?8:16,B=m?.xGap??m?.["x-gap"]??f,N=m?.yGap??m?.["y-gap"]??f;return{x:B,y:N}});return(d,m)=>{const f=e.resolveComponent("a-col"),B=e.resolveComponent("a-row"),N=e.resolveComponent("a-form");return e.openBlock(),e.createBlock(N,{model:{},layout:e.unref(s).layout||"horizontal",size:e.unref(s).size||"small",class:"arco-form",onSubmit:m[0]||(m[0]=(j,P)=>e.unref(C)(P))},{default:e.withCtx(()=>[e.createVNode(B,{gutter:[y.value.x,y.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(S.value,(j,P)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:j.fieldName||P},[j.fieldName&&!j.hidden&&(!i.collapsed||P<24/(e.unref(h)[j.fieldName]??24)*(i.collapsedRows??1)-1)?(e.openBlock(),e.createBlock(f,{key:0,span:e.unref(h)[j.fieldName]??(c.value?void 0:24)},{default:e.withCtx(()=>[e.createVNode(eo,{schema:j},null,8,["schema"])]),_:2},1032,["span"])):e.createCommentVNode("",!0)],64))),128)),i.showDefaultActions||e.unref(l).actions?(e.openBlock(),e.createBlock(f,{key:0,span:e.unref(b),style:e.normalizeStyle(c.value?{marginLeft:"16px"}:{flex:1,textAlign:"right"})},{default:e.withCtx(()=>[e.createElementVNode("div",oo,[e.unref(l).actions?e.renderSlot(d.$slots,"actions",{key:0,collapsed:i.collapsed,formApi:r.formApi}):(e.openBlock(),e.createBlock(Le,{key:1,"model-value":i.collapsed,"onUpdate:modelValue":I,"form-api":r.formApi,"search-plan-config":i.searchPlanConfig},e.createSlots({_:2},[e.unref(l)["submit-before"]?{name:"submit-before",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"submit-before")]),key:"0"}:void 0,e.unref(l)["reset-before"]?{name:"reset-before",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"reset-before")]),key:"1"}:void 0,e.unref(l)["expand-before"]?{name:"expand-before",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"expand-before")]),key:"2"}:void 0,e.unref(l)["expand-after"]?{name:"expand-after",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"expand-after")]),key:"3"}:void 0]),1032,["model-value","form-api","search-plan-config"]))])]),_:3},8,["span","style"])):e.createCommentVNode("",!0)]),_:3},8,["gutter","class","align"])]),_:3},8,["layout","size"])}}}),De=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:{},searchPlanConfig:{},formApi:{}},setup(t){const o=t,n=o.formApi.useStore?.()||e.computed(()=>({})),r=e.computed(()=>{const S=Object.entries(o).reduce((c,[p,u])=>(u!==void 0&&(c[p]=u),c),{});return{...n.value,...S}}),a=new Map,{delegatedSlots:l,form:s}=Kn(r);je(r),_n(a),e.onBeforeUnmount(()=>{o.formApi.unmount()});const i={};e.onMounted(async()=>{o.formApi.mount(s,a),o.formApi.setState({values:T.cloneDeep(s.values)}),await e.nextTick(),e.watch(()=>s.values,async S=>{if(o.formApi.setState({values:T.cloneDeep(S)}),h(),!r.value.handleValuesChange)return;const c=r.value.schema?.map(u=>u.fieldName)||[];if(c.length===0)return;const p=[];for(const u of c){const A=T.get(S,u),g=T.get(i,u);T.isEqual(A,g)||(p.push(u),T.set(i,u,A))}if(p.length>0){const u=await o.formApi.getValues();r.value.handleValuesChange(T.cloneDeep(u??{}),p)}},{deep:!0})});const h=ye.useDebounceFn(async()=>{n.value.submitOnChange&&await o.formApi.submitForm()},300);function b(S){n.value.submitOnEnter&&(S.target instanceof HTMLTextAreaElement||(S.preventDefault(),o.formApi.submitForm()))}return(S,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value.wrapperClass)},[e.createVNode(Oe,e.mergeProps(r.value,{form:e.unref(s),"form-api":o.formApi,onKeydown:e.withKeys(b,["enter"])}),e.createSlots({default:e.withCtx(()=>[]),_:2},[e.renderList(e.unref(l),p=>({name:p,fn:e.withCtx(u=>[e.renderSlot(S.$slots,p,e.normalizeProps(e.guardReactiveProps(u)))])}))]),1040,["form","form-api"])],2))}});function ze(t={}){const o=new Ie(t);return o.useStore=r=>Xe.useStore(o.store.store,r),e.isReactive(t)&&e.watch(()=>t.schema,()=>{t.schema&&o.setState({schema:t.schema})},{immediate:!0}),[e.defineComponent({name:"useSunnyFormWrapper",setup(r,{attrs:a,slots:l}){return o.setState({...r,...a}),()=>e.h(De,{...r,...a,formApi:o},l)}}),o]}const Qe=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:{},searchPlanConfig:{}},emits:["submit","reset","update:collapsed"],setup(t,{expose:o,emit:n}){const r=t,a=n,l=e.useSlots(),s=e.ref(null),i=e.computed(()=>r);je(i);const h=c=>{a("update:collapsed",c),r.handleCollapsedChange?.(c)},b=c=>{a("submit",c),r.handleSubmit?.(c)},S=()=>{a("reset",void 0)};return o({validate:async()=>s.value?s.value.validate():{valid:!1,errors:{}},submit:()=>{s.value?.handleSubmit&&s.value.handleSubmit(b)(void 0)}}),(c,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.wrapperClass)},[e.createVNode(Oe,{ref_key:"formRenderRef",ref:s,onSubmit:b},e.createSlots({default:e.withCtx(()=>[r.showDefaultActions?(e.openBlock(),e.createBlock(Le,{key:0,"model-value":r.collapsed,"onUpdate:modelValue":h,onReset:S,"search-plan-config":r.searchPlanConfig},{"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","search-plan-config"])):e.createCommentVNode("",!0)]),_:2},[e.renderList(e.unref(l),(u,A)=>({name:A,fn:e.withCtx(g=>[e.renderSlot(c.$slots,A,e.normalizeProps(e.guardReactiveProps(g)))])}))]),1536)],2))}});let ro=class{gridRef;constructor(o,n){this.gridRef=o}get grid(){return this.gridRef.value?.getGrid?.()||this.gridRef.value}get $grid(){return this.grid}async reloadData(o){const n=this.grid;n&&await n.reloadData(o)}async getFullData(){const o=this.grid;return o?o.getFullData():[]}async getCheckboxRecords(){const o=this.grid;return o?o.getCheckboxRecords():[]}async addEvent(o,n){const r=this.grid;if(r){const{row:a}=await r.insertAt(o,n);await e.nextTick(),r.setEditRow(a)}}async deleteSelection(){const o=this.grid;if(o){const n=o.getCheckboxRecords();n.length>0&&await o.remove(n)}}async validate(o=!0){const n=this.grid;return n?n.validate(o):null}};const ao=e.defineComponent({__name:"use-vxe-grid",setup(t,{expose:o}){const n=e.ref();return o({getGrid:()=>n.value}),(r,a)=>{const l=e.resolveComponent("a-config-provider");return e.openBlock(),e.createBlock(l,{size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(ne.VxeGrid),e.mergeProps({ref_key:"gridRef",ref:n},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 lo(t){const o=e.ref(),n=new ro(o,t);return[e.defineComponent((a,{attrs:l,slots:s})=>{const{gridEvents:i,gridOptions:h}=t,b=Object.entries(i||{}).reduce((S,[c,p])=>{const u=`on${c.charAt(0).toUpperCase()+c.slice(1)}`;return S[u]=p,S},{});return()=>e.h(ao,{ref:o,...a,...l,...h,...b},s)}),n]}const so=Object.freeze(Object.defineProperty({__proto__:null,BusinessSearchRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]?JSON.stringify(t[o.field]):""])],edit:({row:t,column:o})=>[e.createVNode(he,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},DatePickerRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>[e.createVNode(w.DatePicker,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},InputNumberRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>{const n=t[o.field],r=typeof n=="string"&&n!==""?Number(n):n;return[e.createVNode(w.InputNumber,e.mergeProps({modelValue:r,"onUpdate:modelValue":a=>{typeof n=="string"&&a!==null&&a!==void 0?t[o.field]=String(a):t[o.field]=a}},o.params),null)]}}},InputRangeRender:{editRender:{},slots:{default:({row:t,column:o})=>{const n=o.params?.fieldNames;let r;if(n){const a=t[n.start],l=t[n.end];r=[a,l]}else r=t[o.field];return[e.createVNode("span",null,[q.isArray(r)?r.join(" ~ "):r])]},edit:({row:t,column:o})=>{const n=o.params?.fieldNames,r=o.params?.inputType||"input",a=r==="number"?w.InputNumber:w.Input;if(n){const i=t[n.start],h=t[n.end],b=r==="number"&&typeof i=="string"&&i!==""?Number(i):i,S=r==="number"&&typeof h=="string"&&h!==""?Number(h):h;return[e.createVNode("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},[e.createVNode(a,e.mergeProps({modelValue:b,"onUpdate:modelValue":c=>{r==="number"&&typeof i=="string"&&c!==null&&c!==void 0?t[n.start]=String(c):t[n.start]=c}},o.params),null),e.createVNode("span",null,[e.createTextVNode("~")]),e.createVNode(a,e.mergeProps({modelValue:S,"onUpdate:modelValue":c=>{r==="number"&&typeof h=="string"&&c!==null&&c!==void 0?t[n.end]=String(c):t[n.end]=c}},o.params),null)])]}const l=t[o.field],s=r==="number"&&typeof l=="string"&&l!==""?Number(l):l;return[e.createVNode(a,e.mergeProps({modelValue:s,"onUpdate:modelValue":i=>{r==="number"&&typeof l=="string"&&i!==null&&i!==void 0?t[o.field]=String(i):t[o.field]=i}},o.params),null)]}}},InputRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>[e.createVNode(w.Input,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},MonthPickerRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>[e.createVNode(w.MonthPicker,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},RangePickerRender:{editRender:{},slots:{default:({row:t,column:o})=>{const n=o.params?.fieldNames;let r;if(n){const a=t[n.start],l=t[n.end];r=[a,l]}else r=t[o.field];return[e.createVNode("span",null,[q.isArray(r)?r.join(" / "):r])]},edit:({row:t,column:o})=>{const n=o.params?.fieldNames;let r;if(n){const a=t[n.start],l=t[n.end];r=[a,l]}else r=t[o.field];return[e.createVNode(w.RangePicker,e.mergeProps({modelValue:r,"onUpdate:modelValue":a=>{n?q.isArray(a)&&a.length===2?(t[n.start]=a[0],t[n.end]=a[1]):(t[n.start]=void 0,t[n.end]=void 0):t[o.field]=a}},o.params),null)]}}},SelectRender:{editRender:{},slots:{default:({row:t,column:o})=>{const n=t[o.field],a=o.params?.options?.find(l=>l.value===n);return[e.createVNode("span",null,[a?.label??n])]},edit:({row:t,column:o})=>[e.createVNode(w.Select,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},SpanRender:{editRender:{},slots:{default:({row:t,column:o})=>{const n=t[o.field],a=o.params?.options?.find(l=>l.value===n);return[e.createVNode("span",null,[a?.label??n])]}}},SpanselectRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])]}},SwitchRender:{editRender:{},slots:{default:({row:t,column:o})=>{const{checkedValue:n,checkedText:r,uncheckedValue:a,uncheckedText:l}=o.params||{},s=t[o.field];return n!==void 0&&r!==void 0&&s===n?[e.createVNode("span",null,[r])]:a!==void 0&&l!==void 0&&s===a?[e.createVNode("span",null,[l])]:[e.createVNode("span",null,[s])]},edit:({row:t,column:o})=>[e.createVNode(w.Switch,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},TextareaRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>{const n=e.ref(!1),r=e.ref(t[o.field]||"");return[e.createVNode(w.Popover,{popupVisible:n.value,"onUpdate:popupVisible":a=>n.value=a,trigger:"click",position:"top"},{default:()=>[e.createVNode(w.Input,e.mergeProps({modelValue:r.value,"onUpdate:modelValue":a=>{r.value=a,t[o.field]=a},onFocus:()=>{n.value=!0}},o.params),null)],content:()=>[e.createVNode(w.Textarea,e.mergeProps({modelValue:r.value,"onUpdate:modelValue":a=>{r.value=a,t[o.field]=a},autoSize:{minRows:3,maxRows:6},placeholder:o.params?.placeholder||"请输入内容"},o.params),null)]})]}}},UploadRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]?JSON.stringify(t[o.field]):""])],edit:({row:t,column:o})=>[e.createVNode(Ee,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},WeekPickerRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>[e.createVNode(w.WeekPicker,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},YearPickerRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>[e.createVNode(w.YearPicker,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}}},Symbol.toStringTag,{value:"Module"})),io=Object.freeze(Object.defineProperty({__proto__:null,requiredValidator:({row:t,rule:o})=>{const n=t[o.field];if(n==null||n==="")return new Error(o.message)}},Symbol.toStringTag,{value:"Module"}));class co{gridRef;constructor(o){this.gridRef=o}get grid(){return this.gridRef.value?.getGrid?.()||this.gridRef.value}get $grid(){return this.grid}async addEvent(o={}){const n=this.grid;if(n){const{record:r={},index:a=-1}=o,{row:l}=await n.insertAt(r,a);await e.nextTick(),n.setEditRow(l)}}getSelection(){const o=this.grid;return o?o.getCheckboxRecords():[]}async deleteSelection(){const o=this.grid;if(o){const n=o.getCheckboxRecords();n.length>0&&await o.remove(n)}}clearSelection(){const o=this.grid;o&&o.clearCheckboxRow()}commitProxy(o,...n){const r=this.grid;if(r)return r.commitProxy(o,...n)}}function fo(t,o){let n=null,r=null,a=null,l=null,s=null,i=!1,h=!1;const b=g=>{if(!g)return window;let k=g.parentElement;for(;k;){const E=window.getComputedStyle(k);if(/(auto|scroll)/.test(E.overflow+E.overflowY+E.overflowX))return k;k=k.parentElement}return window},S=()=>{n&&n.classList.contains("is-sticky")&&(n.style.position="",n.style.top="",n.style.left="",n.style.zIndex="",n.style.width="",n.classList.remove("is-sticky"),r&&r.parentNode&&(r.parentNode.removeChild(r),r=null)),l&&(l.style.display="none")},c=()=>{h||l&&a&&(i=!0,l.scrollLeft=a.scrollLeft,requestAnimationFrame(()=>{i=!1}))},p=()=>{i||l&&a&&(h=!0,a.scrollLeft=l.scrollLeft,requestAnimationFrame(()=>{h=!1}))},u=()=>{!t.value||l||(l=document.createElement("div"),l.className="vxe-table--sticky-scrollbar",l.style.position="fixed",l.style.bottom="0",l.style.overflowX="auto",l.style.overflowY="hidden",l.style.zIndex="101",l.style.display="none",s=document.createElement("div"),l.appendChild(s),l.addEventListener("scroll",p),document.body.appendChild(l),a=t.value.$el.querySelector(".vxe-table--body-wrapper"),a&&a.addEventListener("scroll",c))},A=()=>{if(!t.value||!n)return;if(!o.sticky){S();return}const g=t.value.$el,k=g.getBoundingClientRect(),E=n.getBoundingClientRect(),x=b(g);let C={top:0,bottom:window.innerHeight};if(x!==window&&x instanceof HTMLElement&&(C=x.getBoundingClientRect()),C.bottom>0&&C.top<window.innerHeight&&k.top<C.top&&k.bottom>E.height){const y=Math.max(0,C.top);k.bottom-E.height>y?(!n.classList.contains("is-sticky")||n.style.top!==`${y}px`||n.style.left!==`${k.left}px`)&&(n.style.position="fixed",n.style.top=`${y}px`,n.style.left=`${k.left}px`,n.style.width=`${k.width}px`,n.style.zIndex="100",n.classList.add("is-sticky"),r||(r=document.createElement("div"),n.parentNode?.insertBefore(r,n)),r.style.height=`${E.height}px`):S()}else n.classList.contains("is-sticky")&&(n.style.position="",n.style.top="",n.style.left="",n.style.width="",n.classList.remove("is-sticky"),r&&r.parentNode&&(r.parentNode.removeChild(r),r=null));if((!l||!a)&&u(),l&&a&&s){const y=a.scrollWidth,d=a.clientWidth;if(y>d){const m=window.innerHeight;k.bottom>m&&k.top<m?(l.style.display="block",l.style.width=`${k.width}px`,l.style.left=`${k.left}px`,s.style.width=`${y}px`,Math.abs(l.scrollLeft-a.scrollLeft)>1&&(l.scrollLeft=a.scrollLeft)):l.style.display="none"}else l.style.display="none"}};e.watch(()=>o.sticky,()=>{A()}),e.onMounted(()=>{setTimeout(()=>{t.value&&(n=t.value.$el.querySelector(".vxe-table--header-wrapper"),n&&(window.addEventListener("scroll",A,!0),window.addEventListener("resize",A)),u())},100)}),e.onBeforeUnmount(()=>{window.removeEventListener("scroll",A,!0),window.removeEventListener("resize",A),r&&r.parentNode&&r.parentNode.removeChild(r),l&&l.parentNode&&l.parentNode.removeChild(l),a&&a.removeEventListener("scroll",c)})}const mo={class:"my-filter-complex"},uo={key:0,class:"my-filter-input"},po={class:"my-fc-footer"},ho=H(e.defineComponent({__name:"FilterComplex",props:{renderOpts:Object,renderParams:Object},setup(t){const o=t,n=e.ref(),r=e.computed(()=>{const{column:c}=o.renderParams||{};return c?c.field:""}),a=()=>{const{renderParams:c}=o;if(c){const{column:p}=c,u=p.filters[0];n.value=u}};e.watch(r,()=>{a()}),a();const l=e.computed(()=>o.renderParams?.column),s=e.computed(()=>{const c=l.value;return c&&q.hasIn(c.params,"optionlist")?"select":"input"}),i=()=>{const{renderParams:c}=o,p=n.value;if(c&&p){const{$table:u}=c,A=!!p.data;u.updateFilterOptionStatus(p,A)}},h=()=>{const{renderParams:c}=o,p={};if(c){const{$table:u}=c;u.getColumns().forEach(g=>{const{field:k,filters:E}=g;if(k&&E&&E.length){const x=E[0];x.data&&(p[k]=x.data)}})}return p},b=()=>{const{renderParams:c}=o;if(c){const{$table:p,$grid:u}=c,A=n.value;A&&p.updateFilterOptionStatus(A,!!A.data);const g=h();u.commitProxy("query",g),u.closeFilter()}},S=()=>{const{renderParams:c}=o,p=n.value;if(c&&p){const{$table:u,$grid:A}=c;p.data="",u.updateFilterOptionStatus(p,!1);const g=h();A.commitProxy("query",g),A.closeFilter()}};return(c,p)=>(e.openBlock(),e.createElementBlock("div",mo,[n.value?(e.openBlock(),e.createElementBlock("div",uo,[s.value==="select"&&l.value?(e.openBlock(),e.createBlock(e.unref(K.VxeSelect),{key:0,modelValue:n.value.data,"onUpdate:modelValue":p[0]||(p[0]=u=>n.value.data=u),options:l.value.params.optionlist,clearable:"",onChange:i},null,8,["modelValue","options"])):(e.openBlock(),e.createBlock(e.unref(K.VxeInput),{key:1,modelValue:n.value.data,"onUpdate:modelValue":p[1]||(p[1]=u=>n.value.data=u),clearable:"",onKeyup:e.withKeys(b,["enter"]),onInput:i},null,8,["modelValue"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",po,[e.createVNode(e.unref(K.VxeButton),{onClick:S},{default:e.withCtx(()=>[...p[2]||(p[2]=[e.createTextVNode("重置",-1)])]),_:1}),e.createVNode(e.unref(K.VxeButton),{status:"primary",onClick:b},{default:e.withCtx(()=>[...p[3]||(p[3]=[e.createTextVNode("确认",-1)])]),_:1})])]))}}),[["__scopeId","data-v-e4891191"]]);ne.VxeUI.renderer.add("MyFilterComplex",{showTableFilterFooter:!1,renderTableFilter(t,o){return e.createVNode(ho,{renderOpts:t,renderParams:o},null)}});const $e=e.defineComponent({components:{VxePager:K.VxePager,VxeButton:K.VxeButton},__name:"use-query-grid",props:{size:{default:"small"}},setup(t,{expose:o}){const n=t,r=e.ref(),a=e.useAttrs();return fo(r,a),o({getGrid:()=>r.value}),(l,s)=>(e.openBlock(),e.createBlock(e.unref(ne.VxeGrid),e.mergeProps({ref_key:"gridRef",ref:r},l.$attrs,{size:n.size}),e.createSlots({_:2},[e.renderList(l.$slots,(i,h)=>({name:h,fn:e.withCtx(b=>[e.renderSlot(l.$slots,h,e.normalizeProps(e.guardReactiveProps(b||{})))])}))]),1040,["size"]))}});function go(t){const o=e.ref(),n=new co(o);return[e.defineComponent((a,{attrs:l,slots:s})=>{const{gridEvents:i,gridOptions:h}=t,b=Object.entries(i||{}).reduce((S,[c,p])=>{const u=`on${c.charAt(0).toUpperCase()+c.slice(1)}`;return S[u]=p,S},{});return()=>e.h($e,{ref:o,...a,...l,...h,...b},s)}),n]}function Ue(t){const{props:o,emit:n,attrs:r}=t,a=e.computed(()=>o.contextMenuActions||o.actions||[]),l=e.computed(()=>{const g=r["field-names"],k=r.fieldNames;return{key:"key",title:"title",children:"children",...g||k||{}}}),s=g=>{const k=l.value.key||"key";return g[k]??g.key},i=()=>r.data||[],h=g=>{const k=s(g);return k==null?!1:i().some(E=>s(E)===k||E===g)},b=(g,k,E)=>typeof g=="boolean"?g:typeof g=="function"?g(k):E,S=g=>g?!o.enableRootContextMenu&&h(g)?[]:a.value.filter(k=>b(k.visible,g,!0)):[],c=(g,k)=>b(g.disabled,k,!1);return{canShowContextMenu:g=>S(g).length>0,getNodeActions:S,isActionDisabled:c,getNodeTitle:g=>{const k=l.value.title||"title",E=s(g);return String(g?.[k]??g?.title??E??"")},handleActionClick:async(g,k)=>{const E=S(k).find(x=>x.key===String(g));E&&(c(E,k)||(E.handler&&await E.handler(k),n("action",{key:E.key,action:E,node:k})))}}}const yo={class:"sunny-resource-tree"},So={class:"sunny-resource-tree__title"},Co=H(e.defineComponent({name:"SunnyResourceTree",inheritAttrs:!1,__name:"SunnyResourceTree",props:{contextMenuActions:{default:()=>[]},actions:{default:()=>[]},enableRootContextMenu:{type:Boolean,default:!1}},emits:["action"],setup(t,{expose:o,emit:n}){const r=t,a=n,l=e.useAttrs(),s=e.useSlots(),i=e.ref(),{canShowContextMenu:h,getNodeActions:b,isActionDisabled:S,getNodeTitle:c,handleActionClick:p}=Ue({props:r,emit:a,attrs:l}),u=(k,E)=>{p(k,E)},A=e.computed(()=>Object.keys(s).filter(k=>k!=="title")),g=(k,...E)=>i.value?.[k]?.(...E);return o({getTree:()=>i.value,toggleCheck:(k,E)=>g("toggleCheck",k,E),scrollIntoView:k=>g("scrollIntoView",k),getSelectedNodes:()=>g("getSelectedNodes"),getCheckedNodes:k=>g("getCheckedNodes",k),getHalfCheckedNodes:()=>g("getHalfCheckedNodes"),getExpandedNodes:()=>g("getExpandedNodes"),checkAll:k=>g("checkAll",k),checkNode:(k,E,x)=>g("checkNode",k,E,x),selectAll:k=>g("selectAll",k),selectNode:(k,E)=>g("selectNode",k,E),expandAll:k=>g("expandAll",k),expandNode:(k,E)=>g("expandNode",k,E)}),(k,E)=>(e.openBlock(),e.createElementBlock("div",yo,[e.createVNode(e.unref(w.Tree),e.mergeProps({ref_key:"treeRef",ref:i},k.$attrs),e.createSlots({title:e.withCtx(x=>[e.unref(h)(x)?(e.openBlock(),e.createBlock(e.unref(w.Dropdown),{key:0,trigger:"contextMenu","popup-max-height":!1,onSelect:C=>u(C,x)},{content:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b)(x),C=>(e.openBlock(),e.createBlock(e.unref(w.Doption),{key:`${String(x?.key)}-${C.key}`,value:C.key,disabled:e.unref(S)(C,x)},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass({"sunny-resource-tree__danger":C.danger})},e.toDisplayString(C.label),3)]),_:2},1032,["value","disabled"]))),128))]),default:e.withCtx(()=>[e.createElementVNode("span",So,[e.renderSlot(k.$slots,"title",e.normalizeProps(e.guardReactiveProps(x)),()=>[e.createTextVNode(e.toDisplayString(e.unref(c)(x)),1)],!0)])]),_:2},1032,["onSelect"])):e.renderSlot(k.$slots,"title",e.normalizeProps(e.mergeProps({key:1},x)),()=>[e.createTextVNode(e.toDisplayString(e.unref(c)(x)),1)],!0)]),_:2},[e.renderList(A.value,x=>({name:x,fn:e.withCtx(C=>[e.renderSlot(k.$slots,x,e.normalizeProps(e.guardReactiveProps(C||{})),void 0,!0)])}))]),1040)]))}}),[["__scopeId","data-v-d8fa1bbf"]]);function bo(t){if(!t||!Array.isArray(t))return{};const o={};return t.forEach(n=>{n.fieldName&&n.defaultValue!==void 0&&(o[n.fieldName]=n.defaultValue)}),o}function ko(t,o){const n=e.ref(!1),r=e.ref({}),a=e.ref([]),l=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"),b=d=>q.get(d,h.value),S=()=>{const d=bo(t.formSchema);r.value={...d}};e.watch(()=>t.visible,d=>{d&&(t.modelValue&&Array.isArray(t.modelValue)?a.value=q.cloneDeep(t.modelValue):a.value=[])},{immediate:!0});const c=async d=>{if(t.searchApi){d&&(r.value={...d}),n.value=!0;try{const m={pageNo:l.value.current,pageSize:l.value.pageSize,...r.value};let f;if(typeof t.searchApi=="function"&&(f=await t.searchApi(m)),f){const B=f.list||f.records||[],N=f.total||f.totalCount||0;s.value=B,l.value.total=N}}catch(m){console.error("Search failed:",m),w.Message.error("查询失败")}finally{n.value=!1}}},p=d=>{l.value.current=d,c()},u=d=>{l.value.pageSize=d,l.value.current=1,c()},A=(d,m)=>{const f=b(d),B=a.value.findIndex(N=>b(N)===f);m?B===-1&&(t.multiple?a.value.push(d):a.value=[d]):B>-1&&a.value.splice(B,1)};return{loading:n,searchParams:r,selectedRows:a,pagination:l,tableData:s,actualFieldNames:i,actualRowKey:h,initDefaultValues:S,handleSearch:c,handlePageChange:p,handlePageSizeChange:u,handleCheckboxChange:d=>{const{row:m,checked:f}=d;A(m,f)},handleCheckboxAll:d=>{const{checked:m,records:f}=d;m?f.forEach(B=>A(B,!0)):s.value.forEach(B=>A(B,!1))},handleRadioChange:d=>{const{row:m}=d;a.value=[m]},removeRow:d=>{A(d,!1)},handleOk:()=>{o("update:modelValue",a.value),o("confirm",a.value),o("update:visible",!1)},handleCancel:()=>{a.value=[],o("update:modelValue",[]),o("cancel"),o("update:visible",!1)},toggleRowSelection:A,reset:()=>{s.value=[],a.value=[],l.value.current=1,l.value.total=0,o("update:modelValue",[])}}}const Ao={class:"flex flex-col h-full"},wo={class:"mb-4 border-b border-gray-100 pb-4 shrink-0"},Bo={class:"flex-1 overflow-hidden"},xo={class:"w-[180px] border-l border-gray-200 bg-gray-50 flex flex-col ml-2 overflow-hidden shrink-0"},Eo={class:"font-bold px-2 py-2 text-gray-700 flex justify-between items-center text-xs border-b border-gray-200 shrink-0"},No={class:"flex-1 min-h-0 overflow-y-auto p-2 custom-scrollbar"},Vo={class:"text-xs font-medium text-gray-800 truncate leading-none mb-1"},Po={class:"text-[10px] text-gray-500 truncate leading-none"},Io=["onClick"],Ro={key:1,class:"h-full flex items-center justify-center text-gray-400 text-xs"},Mo={class:"flex justify-between items-center w-full"},Fo={class:"space-x-2"},qe=H(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:o,emit:n}){const r=e.useSlots(),a=t,l=n,s=e.computed({get:()=>a.visible,set:O=>l("update:visible",O)}),i=e.ref(),h=e.ref(null),{loading:b,searchParams:S,selectedRows:c,pagination:p,tableData:u,actualFieldNames:A,actualRowKey:g,initDefaultValues:k,handleSearch:E,handlePageChange:x,handlePageSizeChange:C,handleCheckboxChange:I,handleCheckboxAll:y,handleRadioChange:d,removeRow:m,handleOk:f,handleCancel:B,toggleRowSelection:N,reset:j}=ko(a,l);o({reset:j});const P=async()=>{p.value.current=1,k(),await e.nextTick(),await V()},V=async()=>{if(!h.value)return E(),!0;try{const{valid:O}=await h.value.validate();return O?(E(),!0):!1}catch(O){return console.error("Form validation failed:",O),!1}},R=async O=>{p.value.current=1,a.clearOnSearch&&(c.value=[]),E(O)},M=e.computed(()=>({border:!0,stripe:!0,showOverflow:!0,height:a.contentHeight,align:"center",autoResize:!0,columnConfig:{resizable:!0},rowConfig:{isCurrent:!0,isHover:!0,keyField:g.value},checkboxConfig:{trigger:"row",highlight:!0,reserve:!1},radioConfig:{trigger:"row",highlight:!0,reserve:!1}}));e.watch([()=>u.value,()=>c.value],async()=>{await e.nextTick();const O=i.value?.getGrid?.()||i.value;if(O&&u.value.length>0){O.clearCheckboxRow();const z=u.value.filter($=>c.value.some(L=>L[g.value]===$[g.value]));z.length>0&&O.setCheckboxRow(z,!0)}},{deep:!0});const Q=({row:O})=>{if(!a.multiple)c.value=[O],f();else{const z=c.value.some($=>$[g.value]===O[g.value]);N(O,!z)}};return e.watch(()=>a.visible,O=>{O&&(k(),a.resetOnOpen&&(u.value=[],p.value.total=0,e.nextTick(()=>{V()})))}),(O,z)=>(e.openBlock(),e.createBlock(Z,{modelValue:s.value,"onUpdate:modelValue":z[3]||(z[3]=$=>s.value=$),title:a.title,width:a.width,"unmount-on-close":"","title-align":"start",fullscreen:!1,"help-message":a.helpMessage,onCancel:e.unref(B),onClose:e.unref(B),onOk:e.unref(f)},{footer:e.withCtx(()=>[e.createElementVNode("div",Mo,[e.createVNode(e.unref(w.Pagination),{current:e.unref(p).current,"onUpdate:current":z[2]||(z[2]=$=>e.unref(p).current=$),"page-size":e.unref(p).pageSize,total:e.unref(p).total,"show-total":"","show-page-size":"","page-size-options":[20,50,100,200],size:"small",onChange:e.unref(x),onPageSizeChange:e.unref(C)},null,8,["current","page-size","total","onChange","onPageSizeChange"]),e.createElementVNode("div",Fo,[e.createVNode(e.unref(w.Button),{onClick:e.unref(B)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(D.$t)("common.cancel")),1)]),_:1},8,["onClick"]),e.createVNode(e.unref(w.Button),{type:"primary",onClick:e.unref(f)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(D.$t)("common.confirm")),1)]),_:1},8,["onClick"])])])]),default:e.withCtx(()=>[e.createElementVNode("div",Ao,[e.createElementVNode("div",wo,[e.createVNode(Qe,{ref_key:"formRef",ref:h,values:e.unref(S),"onUpdate:values":z[0]||(z[0]=$=>e.isRef(S)?S.value=$:null),schema:a.formSchema,"common-config":a.commonConfig,"show-default-actions":"","reset-button-options":{show:!0},onSubmit:R,onReset:P,layout:"vertical"},e.createSlots({_:2},[e.renderList(e.unref(r),($,L)=>({name:L,fn:e.withCtx(gr=>[e.renderSlot(O.$slots,L,e.normalizeProps(e.guardReactiveProps(gr)),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 a.contentHeight=="number"?a.contentHeight+"px":a.contentHeight})},[e.createElementVNode("div",Bo,[e.createVNode($e,e.mergeProps({ref_key:"gridRef",ref:i,columns:a.tableColumns,data:e.unref(u),loading:e.unref(b)},M.value,{onCheckboxChange:e.unref(I),onCheckboxAll:e.unref(y),onRadioChange:e.unref(d),onCellDblclick:Q}),null,16,["columns","data","loading","onCheckboxChange","onCheckboxAll","onRadioChange"])]),e.createElementVNode("div",xo,[e.createElementVNode("div",Eo,[e.createElementVNode("span",null,e.toDisplayString(e.unref(D.$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]=$=>c.value=[])},e.toDisplayString(e.unref(D.$t)("common.clear")),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",No,[e.unref(c).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(c),$=>(e.openBlock(),e.createElementBlock("div",{key:$[e.unref(g)],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(w.Tooltip),{content:`${$[e.unref(A).desc]}`},{default:e.withCtx(()=>[e.createElementVNode("div",Vo,e.toDisplayString($[e.unref(A).value]||"-"),1),e.createElementVNode("div",Po,e.toDisplayString($[e.unref(A).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:L=>e.unref(m)($)},[e.createVNode(e.unref(Ce),{size:10})],8,Io)]))),128)):(e.openBlock(),e.createElementBlock("div",Ro,e.toDisplayString(e.unref(D.$t)("common.noData")),1))])])],4)])]),_:3},8,["modelValue","title","width","help-message","onCancel","onClose","onOk"]))}}),[["__scopeId","data-v-4414876c"]]),We={};async function _e(t){const o=We[t];return o?await o():(console.warn(`[SunnyBusinessSearch] Config for type "${t}" not found.`),null)}function To(t,o){We[t]=o}function jo(t,o){const n=e.ref(!1),r=e.ref(!1),a=e.ref({}),l=e.computed({get:()=>t.modelValue||[],set:p=>{o("update:modelValue",p),o("change",p)}}),s=()=>U.businessSearchAdapter,i=p=>async u=>{if(!p?.search)return console.warn("[SunnyBusinessSearch] No search adapter configured."),{records:[],total:0};try{return await p.search({...u,cNum:t.cNum})}catch(A){throw console.error("[SunnyBusinessSearch] Search failed:",A),A}},h=async()=>{if(!t.cNum)return;const p=s();if(!p?.loadConfig){console.warn("[SunnyBusinessSearch] No loadConfig adapter configured. Please call setupBusinessForm() in your app entry.");return}r.value=!0;try{const u=await p.loadConfig(t.cNum);u.searchApi=i(p),a.value=u}catch(u){console.error("[SunnyBusinessSearch] Failed to load dynamic config:",u)}finally{r.value=!1}},b=async()=>{if(t.type){r.value=!0;try{const p=await _e(t.type);p&&(a.value=p)}catch(p){console.error("[SunnyBusinessSearch] Failed to load static config:",p)}finally{r.value=!1}}},S=async()=>{n.value=!0,t.cNum?a.value.title||await h():t.type&&(a.value.title||await b())},c=p=>{l.value=p,n.value=!1};return e.watch(()=>[t.cNum,t.type],()=>{a.value={}}),{visible:n,loading:r,currentConfig:a,selectedValues:l,handleOpen:S,handleConfirm:c}}const Lo={class:"sunny-business-search w-full"},he=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:o}){const n=t,r=o,{visible:a,currentConfig:l,selectedValues:s,handleOpen:i,handleConfirm:h}=jo(n,r),b=e.computed(()=>n.fieldNames||n.modalProps?.fieldNames||l.value.fieldNames||{label:"label",value:"value"}),S=e.computed(()=>{let c=n.modalProps?.multiple;c===void 0&&(c=n.multiple),c===void 0&&n.cSelectionMode&&(c=n.cSelectionMode!=="single"),c=c??l.value.multiple??!0;let u=[...n.modalProps.tableColumns||l.value.tableColumns||[]];return!u.some(g=>g.type==="checkbox"||g.type==="radio")&&u.length>0&&(c?u.unshift({type:"checkbox",width:50,fixed:"left",align:"center"}):u.unshift({type:"radio",width:50,fixed:"left",align:"center"})),{...l.value,multiple:c,fieldNames:b.value,...n.modalProps,tableColumns:u}});return(c,p)=>(e.openBlock(),e.createElementBlock("div",Lo,[e.createVNode(e.unref(Ve),e.mergeProps(c.$attrs,{"model-value":e.unref(s),placeholder:t.placeholder,disabled:t.disabled,"max-tag-count":t.maxTagCount,"field-names":b.value,"onUpdate:modelValue":p[0]||(p[0]=u=>s.value=u),onSearch:e.unref(i)}),e.createSlots({_:2},[e.renderList(c.$slots,(u,A)=>({name:A,fn:e.withCtx(g=>[e.renderSlot(c.$slots,A,e.normalizeProps(e.guardReactiveProps(g||{})))])}))]),1040,["model-value","placeholder","disabled","max-tag-count","field-names","onSearch"]),e.unref(l).title||e.unref(a)?(e.openBlock(),e.createBlock(e.unref(qe),e.mergeProps({key:0,visible:e.unref(a),"onUpdate:visible":p[1]||(p[1]=u=>e.isRef(a)?a.value=u:null),"model-value":e.unref(s)},S.value,{onConfirm:e.unref(h)}),null,16,["visible","model-value","onConfirm"])):e.createCommentVNode("",!0)]))}}),Oo=Object.freeze(Object.defineProperty({__proto__:null,default:he},Symbol.toStringTag,{value:"Module"})),Je={findAllByResourceid:async()=>({data:[]}),findSearchPlanColsByPlanId:async()=>({data:{}}),insert:async()=>({}),update:async()=>({}),del:async()=>({}),findDefSearchPlan:async()=>({data:{}})};function Ye(t,o,n,r,a=Je){const l=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 x=n?.value||t.model;if(r)try{const y=await r.getValues();y&&(x=y)}catch{}const C={...x};if(Object.keys(C).forEach(y=>{const d=C[y];Array.isArray(d)&&(t.formConfig?.some(f=>f.fieldName===y&&f.component&&(f.component.name==="SunnyBusinessSearch"||f.component==="SunnyBusinessSearch"))?C[y]=JSON.stringify(d):C[y]=d.map(f=>{let B=f;return typeof f=="object"&&f!==null&&(B=f.value!==void 0?f.value:f.ID!==void 0?f.ID:f.id!==void 0?f.id:f),typeof B=="string"?B:String(B)}))}),!Object.values(C).some(y=>Array.isArray(y)?y.length>0:y!==""&&y!==void 0&&y!==null)){w.Message.error("请输入查询条件");return}try{let y=s.value.trim();t.searchPlanList.length===0&&(y="默认方案");const d=await a.insert({assSearchplan:{cSearchplanname:y,...t.nResourceid&&{nResourceid:t.nResourceid}},colMap:C});if(d.message&&w.Message.success(d.message),t.resourceId){const m=await p(t.resourceId);o("update:searchPlanList",m);const f=m.find(B=>B.CSEARCHPLANNAME===y);f&&await c(f)}o("add",y,{...C}),s.value=""}catch(y){o("error",y)}},b=async()=>{if(!t.currentSearchPlan){i.value=!0;return}i.value=!1;let x=n?.value||t.model;if(r)try{const y=await r.getValues();y&&(x=y)}catch{}const C={...x};if(Object.keys(C).forEach(y=>{const d=C[y];Array.isArray(d)&&(t.formConfig?.some(f=>f.fieldName===y&&f.component&&(f.component.name==="SunnyBusinessSearch"||f.component==="SunnyBusinessSearch"))?C[y]=JSON.stringify(d):C[y]=d.map(f=>{let B=f;return typeof f=="object"&&f!==null&&(B=f.value!==void 0?f.value:f.ID!==void 0?f.ID:f.id!==void 0?f.id:f),typeof B=="string"?B:String(B)}))}),!Object.values(C).some(y=>Array.isArray(y)?y.length>0:y!==""&&y!==void 0&&y!==null)){w.Message.error("请输入查询条件");return}try{const y=await a.update({assSearchplan:{id:t.currentSearchPlan.ID,...t.nResourceid&&{nResourceid:t.nResourceid},...s.value.trim()&&{cSearchplanname:s.value.trim()}},colMap:C});if(y.message&&w.Message.success(y.message),t.resourceId){const d=await p(t.resourceId);o("update:searchPlanList",d);const m=d.find(f=>f.ID===t.currentSearchPlan?.ID);m&&await c(m)}o("update",t.currentSearchPlan?.ID,s.value.trim()||t.currentSearchPlan?.CSEARCHPLANNAME,{...C}),s.value=""}catch(y){o("error",y)}},S=async x=>{try{const C=await a.del({id:x.ID});if(o("delete",x.ID),t.currentSearchPlan&&t.currentSearchPlan.ID===x.ID&&o("update:currentSearchPlan",void 0),C.message&&w.Message.success(C.message),t.resourceId){const I=await p(t.resourceId);o("update:searchPlanList",I)}}catch(C){o("error",C)}},c=async x=>{o("update:currentSearchPlan",x);try{const C={...t.nResourceid&&{nResourceid:t.nResourceid},nPlanId:x.ID};let y=(await a.findSearchPlanColsByPlanId(C)).result||{};if(Object.keys(y).forEach(d=>{let m=y[d];try{if(t.formConfig?.some(B=>B.fieldName===d&&B.component&&(B.component.name==="SunnyBusinessSearch"||B.component==="SunnyBusinessSearch"))){if(typeof m=="string")try{m=JSON.parse(m)}catch{}if(Array.isArray(m)&&m.every(N=>typeof N=="string")&&m.length>0)try{const N=m.join(""),j=[];let P="",V=0;for(let R=0;R<N.length;R++){const M=N[R];if(P+=M,M==="{")V++;else if(M==="}"&&(V--,V===0)){try{j.push(JSON.parse(P))}catch{}P=""}}j.length>0?m=j:m=JSON.parse(N)}catch{try{const N=m.join(""),j=[];N.split("}{").map((V,R)=>R===0?V+"}":R===N.split("}{").length-1?"{"+V:"{"+V+"}").forEach(V=>{if(V.trim()){const R=V.match(/"([^"]+)"\s*:\s*("[^"]*"|\d+)/g)||[],M={};R.forEach(Q=>{const[O,z]=Q.split(/\s*:\s*/),$=O.replace(/"/g,"");let L=z;L.startsWith('"')&&L.endsWith('"')?L=L.substring(1,L.length-1):isNaN(Number(L))||(L=Number(L)),M[$]=L}),Object.keys(M).length>0&&j.push(M)}}),j.length>0&&(m=j)}catch{}}}else{if(typeof m=="string"&&(m.startsWith("[")||m.includes(",")))try{m=JSON.parse(m)}catch{m.includes(",")&&(m=m.split(",").map(B=>B.trim()))}Array.isArray(m)&&(m=m.map(B=>{const N=typeof B=="string"?B.trim():B;return String(N)}))}y[d]=m}catch{}}),t.formConfig?.forEach(d=>{const m=d.fieldName;let f=y[m];if(f!=null&&d.component&&(d.component.name==="SunnyBusinessSearch"||d.component==="SunnyBusinessSearch")){if(typeof f=="string")try{f=JSON.parse(f)}catch{}if(Array.isArray(f)){if(f.every(N=>typeof N=="string")&&f.length>0)try{const N=f.join("");f=JSON.parse(N)}catch{}Array.isArray(f)?y[m]=f.map(N=>typeof N=="object"&&N!==null?N:{value:N}):typeof f=="object"&&f!==null?y[m]=[f]:y[m]=f}}}),n&&(n.value={...y}),r)try{await r.setValues(y)}catch{}o("select",x)}catch(C){o("error",C)}},p=async x=>{try{const C={...t.nResourceid&&{nResourceid:t.nResourceid}};return(await a.findAllByResourceid(C)).result?.searchplanList||[]}catch(C){return o("error",C),[]}};return{visible:l,inputValue:s,showNameError:i,handleAdd:h,handleUpdate:b,handleDelete:S,handleSelect:c,handleReset:async()=>{if(r)try{await r.resetForm()}catch{}if(n){const x={...n.value};Object.keys(x).forEach(C=>{x[C]=""}),n.value=x}},handleSearch:async()=>{let x=n?.value||t.model;if(r)try{const C=await r.getValues();C&&(x=C)}catch{}o("search",{...x}),l.value=!1},handleClose:()=>{l.value=!1,s.value="",i.value=!1},handleOpen:async()=>{if(l.value=!0,s.value="",i.value=!1,n){const x={...n.value};Object.keys(x).forEach(C=>{x[C]=""}),n.value=x}if(r)try{await r.resetForm()}catch{}if(t.resourceId)try{const x=await p(t.resourceId);if(o("update:searchPlanList",x),x.length>0){o("update:currentSearchPlan",x[0]);const C={...t.nResourceid&&{nResourceid:t.nResourceid},nPlanId:x[0].ID};let y=(await a.findSearchPlanColsByPlanId(C)).result||{};if(Object.keys(y).forEach(d=>{let m=y[d];try{if(t.formConfig?.some(B=>B.fieldName===d&&B.component&&(B.component.name==="SunnyBusinessSearch"||B.component==="SunnyBusinessSearch"))){if(typeof m=="string")try{m=JSON.parse(m)}catch{}if(Array.isArray(m)&&m.every(N=>typeof N=="string")&&m.length>0)try{const N=m.join("");m=JSON.parse(N)}catch{}}else{if(typeof m=="string"&&(m.startsWith("[")||m.includes(",")))try{m=JSON.parse(m)}catch{m.includes(",")&&(m=m.split(",").map(B=>B.trim()))}Array.isArray(m)&&(m=m.map(B=>{const N=typeof B=="string"?B.trim():B;return String(N)}))}y[d]=m}catch{}}),t.formConfig?.forEach(d=>{const m=d.fieldName;let f=y[m];if(f!=null&&d.component&&(d.component.name==="SunnyBusinessSearch"||d.component==="SunnyBusinessSearch")){if(typeof f=="string")try{f=JSON.parse(f)}catch{}if(Array.isArray(f)){if(f.every(N=>typeof N=="string")&&f.length>0)try{const N=f.join(""),j=[];let P="",V=0;for(let R=0;R<N.length;R++){const M=N[R];if(P+=M,M==="{")V++;else if(M==="}"&&(V--,V===0)){try{j.push(JSON.parse(P))}catch{}P=""}}j.length>0?f=j:f=JSON.parse(N)}catch{try{const N=f.join(""),j=[];N.split("}{").map((V,R)=>R===0?V+"}":R===N.split("}{").length-1?"{"+V:"{"+V+"}").forEach(V=>{if(V.trim()){const R=V.match(/"([^"]+)"\s*:\s*("[^"]*"|\d+)/g)||[],M={};R.forEach(Q=>{const[O,z]=Q.split(/\s*:\s*/),$=O.replace(/"/g,"");let L=z;L.startsWith('"')&&L.endsWith('"')?L=L.substring(1,L.length-1):isNaN(Number(L))||(L=Number(L)),M[$]=L}),Object.keys(M).length>0&&j.push(M)}}),j.length>0&&(f=j)}catch{}}Array.isArray(f)?y[m]=f.map(N=>typeof N=="object"&&N!==null?N:{value:N}):typeof f=="object"&&f!==null?y[m]=[f]:y[m]=f}}}),n&&(n.value={...y}),r)try{await r.setValues(y)}catch{}o("select",x[0])}}catch{}},loadSearchPlans:p,loadDefaultSearchPlan:async()=>{try{const x={...t.nResourceid&&{nResourceid:t.nResourceid}},I=(await a.findDefSearchPlan(x)).result||[];if(I.length>0){const y={};if(I.forEach(d=>{d.C_COLNAME&&d.C_COLVALUE!==void 0&&(y[d.C_COLNAME]=d.C_COLVALUE)}),Object.keys(y).forEach(d=>{let m=y[d];try{if(t.formConfig?.some(B=>B.fieldName===d&&B.component&&(B.component.name==="SunnyBusinessSearch"||B.component==="SunnyBusinessSearch"))){if(typeof m=="string")try{m=JSON.parse(m)}catch{}if(Array.isArray(m)&&m.every(N=>typeof N=="string")&&m.length>0)try{const N=m.join("");m=JSON.parse(N)}catch{}}else{if(typeof m=="string"&&(m.startsWith("[")||m.includes(",")))try{m=JSON.parse(m)}catch{m.includes(",")&&(m=m.split(",").map(B=>B.trim()))}Array.isArray(m)&&(m=m.map(B=>{const N=typeof B=="string"?B.trim():B;return String(N)}))}y[d]=m}catch{}}),t.formConfig?.forEach(d=>{const m=d.fieldName;let f=y[m];if(f!=null&&d.component&&(d.component.name==="SunnyBusinessSearch"||d.component==="SunnyBusinessSearch")){if(typeof f=="string")try{f=JSON.parse(f)}catch{}if(Array.isArray(f)){if(f.every(N=>typeof N=="string")&&f.length>0)try{const N=f.join(""),j=[];let P="",V=0;for(let R=0;R<N.length;R++){const M=N[R];if(P+=M,M==="{")V++;else if(M==="}"&&(V--,V===0)){try{j.push(JSON.parse(P))}catch{}P=""}}j.length>0?f=j:f=JSON.parse(N)}catch{try{const N=f.join(""),j=[];N.split("}{").map((V,R)=>R===0?V+"}":R===N.split("}{").length-1?"{"+V:"{"+V+"}").forEach(V=>{if(V.trim()){const R=V.match(/"([^"]+)"\s*:\s*("[^"]*"|\d+)/g)||[],M={};R.forEach(Q=>{const[O,z]=Q.split(/\s*:\s*/),$=O.replace(/"/g,"");let L=z;L.startsWith('"')&&L.endsWith('"')?L=L.substring(1,L.length-1):isNaN(Number(L))||(L=Number(L)),M[$]=L}),Object.keys(M).length>0&&j.push(M)}}),j.length>0&&(f=j)}catch{}}Array.isArray(f)?y[m]=f.map(N=>typeof N=="object"&&N!==null?N:{value:N}):typeof f=="object"&&f!==null?y[m]=[f]:y[m]=f}}}),n&&(n.value={...y}),r)try{await r.setValues(y)}catch{}return o("default-plan-loaded",y),y}return o("default-plan-loaded",{}),{}}catch(x){return o("error",x),o("default-plan-loaded",{}),{}}}}}const Do={class:"inline-block"},zo=["disabled"],Qo={class:"p-5 relative"},$o={key:0,class:"absolute inset-0 bg-white/80 flex flex-col items-center justify-center z-10 rounded"},Uo={class:"text-sm text-[var(--color-text-2)]"},qo={class:"w-2/3 min-w-0 pr-6 border-r border-[#D8D8D8]"},Wo={class:"w-1/3 pl-6"},_o={class:"text-base font-semibold mb-4 text-[var(--color-text-1)]"},Jo={class:"mb-5"},Yo={class:"mb-3"},Go={class:"block text-sm text-[var(--color-text-2)] mb-1"},Ko=["placeholder","disabled"],Ho={key:0,class:"text-xs text-red-500 mt-1"},Xo={class:"flex gap-2 mt-3"},Zo=["disabled"],vo=["disabled"],er={class:"text-base font-semibold mb-4 text-[var(--color-text-1)]"},tr={class:"max-h-44 overflow-y-auto border border-[var(--color-border-2)] rounded p-2"},nr=["onClick"],or=["onClick","disabled"],rr={key:0,class:"text-center py-8 text-sm text-[var(--color-text-3)]"},ar={class:"flex justify-end gap-3 pt-5 border-t border-[var(--color-border-2)]"},lr=["disabled"],sr=["disabled"],Ge=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:()=>D.$t("common.searchPlan.title")},width:{default:900},loading:{type:Boolean,default:!1},api:{default:()=>Je}},emits:["add","update","delete","select","reset","search","error","default-plan-loaded","update:model","update:modelValue","update:currentSearchPlan","update:searchPlanList"],setup(t,{emit:o}){const n=t,r=o,[,a]=ze({schema:n.formConfig,model:n.modelValue||n.model}),l=e.ref({...n.modelValue||n.model}),{visible:s,inputValue:i,showNameError:h,handleAdd:b,handleUpdate:S,handleDelete:c,handleSelect:p,handleReset:u,handleSearch:A,handleClose:g,handleOpen:k,loadSearchPlans:E,loadDefaultSearchPlan:x}=Ye(n,r,l,a,n.api);e.onMounted(async()=>{if(n.resourceId)try{const V=await E(n.resourceId);r("update:searchPlanList",V),await x()}catch(V){console.error("Failed to initialize search plan:",V)}else try{await x()}catch(V){console.error("Failed to load default search plan:",V)}});const C=async()=>{await k()},I=()=>{console.log("SunnyUseForm mounted"),a&&(n.modelValue||n.model)&&a.setValues(n.modelValue||n.model).catch(V=>{console.error("setValues error:",V)})};e.watch(()=>[n.model,n.modelValue],([V,R])=>{const M=R||V;M&&(l.value={...M},a&&a.setValues(M).catch(Q=>{console.error("setValues error:",Q)}))},{deep:!0}),e.watch(()=>l.value,V=>{r("update:model",V),r("update:modelValue",V)},{deep:!0});const y=e.computed(()=>({...n.modalProps})),d=e.computed(()=>n.formConfig.map(V=>({...V,labelWidth:80,colProps:{...V.colProps,span:8}}))),m=e.computed(()=>n.searchPlanList),f=e.computed(()=>n.currentSearchPlan),B=e.computed(()=>n.disabled),N=e.computed(()=>n.formProps),j=e.computed(()=>n.title),P=e.computed(()=>n.width);return(V,R)=>(e.openBlock(),e.createElementBlock("div",Do,[e.renderSlot(V.$slots,"trigger",{open:C,disabled:B.value},()=>[e.createElementVNode("button",{class:"px-3 py-1.5 border border-[var(--color-border-2)] rounded bg-white text-base transition-all hover:border-[rgb(var(--primary-6))] hover:text-[rgb(var(--primary-6))] disabled:cursor-not-allowed disabled:opacity-60",disabled:B.value,onClick:C},e.toDisplayString(e.unref(D.$t)("common.searchPlan.title")),9,zo)]),e.createVNode(e.unref(Z),e.mergeProps({visible:e.unref(s),"onUpdate:visible":R[5]||(R[5]=M=>e.isRef(s)?s.value=M:null),title:j.value,width:P.value,top:"50px","close-on-click-modal":!1},y.value,{onCancel:e.unref(g),onClose:e.unref(g)}),{footer:e.withCtx(()=>[e.createElementVNode("div",ar,[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:R[3]||(R[3]=(...M)=>e.unref(u)&&e.unref(u)(...M)),disabled:n.loading},e.toDisplayString(e.unref(D.$t)("common.searchPlan.reset")),9,lr),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:R[4]||(R[4]=(...M)=>e.unref(A)&&e.unref(A)(...M)),disabled:n.loading},e.toDisplayString(e.unref(D.$t)("common.searchPlan.search")),9,sr)])]),default:e.withCtx(()=>[e.createElementVNode("div",Qo,[n.loading?(e.openBlock(),e.createElementBlock("div",$o,[R[6]||(R[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",Uo,e.toDisplayString(e.unref(D.$t)("common.searchPlan.loading")),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([{"opacity-60":n.loading},"flex gap-5"])},[e.createElementVNode("div",qo,[e.createVNode(e.unref(De),e.mergeProps({"form-api":e.unref(a),schema:d.value,"show-default-actions":!1,"show-message":!1,layout:"vertical"},N.value,{onMounted:I}),null,16,["form-api","schema"])]),e.createElementVNode("div",Wo,[e.createElementVNode("h3",_o,e.toDisplayString(e.unref(D.$t)("common.searchPlan.newPlan")),1),e.createElementVNode("div",Jo,[e.createElementVNode("div",Yo,[e.createElementVNode("label",Go,e.toDisplayString(e.unref(D.$t)("common.searchPlan.planName")),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":R[0]||(R[0]=M=>e.isRef(i)?i.value=M:null),type:"text",placeholder:e.unref(D.$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:n.loading},null,8,Ko),[[e.vModelText,e.unref(i)]]),!e.unref(i).trim()&&e.unref(h)?(e.openBlock(),e.createElementBlock("div",Ho,e.toDisplayString(e.unref(D.$t)("common.searchPlan.planNameRequired")),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Xo,[e.createElementVNode("button",{class:"px-3 py-1 border border-[rgb(var(--primary-6))] text-[rgb(var(--primary-6))] text-xs rounded hover:bg-[rgb(var(--primary-6))] hover:text-white transition-colors disabled:cursor-not-allowed disabled:opacity-60",onClick:R[1]||(R[1]=(...M)=>e.unref(b)&&e.unref(b)(...M)),disabled:n.loading},e.toDisplayString(e.unref(D.$t)("common.searchPlan.add")),9,Zo),e.createElementVNode("button",{class:"px-3 py-1 border border-[#ff4949] text-[#ff4949] text-xs rounded hover:bg-[#ff4949] hover:text-white transition-colors disabled:cursor-not-allowed disabled:opacity-60",disabled:!f.value||n.loading,onClick:R[2]||(R[2]=(...M)=>e.unref(S)&&e.unref(S)(...M))},e.toDisplayString(e.unref(D.$t)("common.searchPlan.update")),9,vo)])]),R[7]||(R[7]=e.createElementVNode("div",{class:"h-px bg-[var(--color-border-2)] my-5"},null,-1)),e.createElementVNode("h3",er,e.toDisplayString(e.unref(D.$t)("common.searchPlan.savedPlans")),1),e.createElementVNode("div",tr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(M,Q)=>(e.openBlock(),e.createElementBlock("div",{key:M.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))]":f.value&&(f.value.ID==M.ID||f.value.ID===M.ID)}]),onClick:O=>e.unref(p)(M),style:e.normalizeStyle({cursor:n.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)]",f.value&&(f.value.ID==M.ID||f.value.ID===M.ID)?"bg-[rgb(var(--primary-6))] text-white":"bg-[var(--color-fill-2)]"])},e.toDisplayString(String(Q+1).padStart(2,"0")),3),e.createElementVNode("div",{class:e.normalizeClass(["flex-1 text-xs truncate",f.value&&(f.value.ID==M.ID||f.value.ID===M.ID)?"text-[rgb(var(--primary-6))] font-medium":"text-[var(--color-text-1)]"])},e.toDisplayString(M.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(O=>e.unref(c)(M),["stop"]),disabled:n.loading}," × ",8,or)],14,nr))),128)),m.value.length===0?(e.openBlock(),e.createElementBlock("div",rr,e.toDisplayString(e.unref(D.$t)("common.searchPlan.noPlans")),1)):e.createCommentVNode("",!0)])])],2)])]),_:1},16,["visible","title","width","onCancel","onClose"])]))}}),ir={class:"w-full"},cr={key:0,class:"flex justify-between items-center w-full"},dr={class:"text-[var(--color-text-3)] text-xs"},fr=e.defineComponent({name:"SunnyCustomizeSelect",inheritAttrs:!0,__name:"CustomizeSelect",props:{value:{default:""},cNum:{default:""},defaultQuery:{type:Boolean,default:!0},defaultConfig:{default:()=>({})},attrParam:{default:()=>({})},fieldNames:{default:()=>({label:"cKeyname",value:"cKeynumb"})}},emits:["update:modelValue","selectChange","change"],setup(t,{emit:o}){const n=w.Select,r=w.Option,a=t,l=o,s=e.getCurrentInstance(),i=e.ref({nType:1,cLabelslotcol:"",nSearchinterval:700}),h=e.ref([{cKeynumb:"",cKeyname:"",cSlot:""}]),b=e.ref([]),S=e.ref(!1),c=e.ref(!1),p=e.computed({get:()=>a.value,set:E=>{l("update:modelValue",E)}}),u=async()=>{if(a.cNum)try{const E=U.customizeSelectAdapter;if(!E?.query){c.value=!0,w.Message.error("CustomizeSelect adapter not configured");return}const x={cNum:a.cNum,attrParam:{...a.attrParam}};p.value&&(x.cVal=q.toString(p.value));const C=await E.query(x);h.value=C.options||[],b.value=C.options||[],C.config&&(i.value=Object.assign({},i.value,C.config)),c.value=!1}catch(E){c.value=!0,w.Message.error(E?.message||"加载失败")}},A=E=>{l("selectChange",E,s?.proxy)},g=q.debounce(E=>{if(E!==""){S.value=!0;const x=U.customizeSelectAdapter,C={cNum:a.cNum,attrParam:{...a.attrParam},searchCondition:E};Promise.resolve().then(async()=>{if(!x?.query)throw new Error("CustomizeSelect adapter not configured");return x.query(C)}).then(I=>{I.config&&(i.value=Object.assign({},i.value,I.config)),h.value=I.options||[],b.value=I.options||[]}).catch(I=>{w.Message.error(I?.message||"查询失败")}).finally(()=>{S.value=!1})}else h.value=b.value},i.value.nSearchinterval||700),k=()=>{g("")};return e.watch(()=>a.attrParam,()=>{u()},{deep:!0}),e.onMounted(()=>{a.defaultQuery&&a.defaultQuery===!0?u():a.cNum&&a.defaultQuery===!1&&(i.value=Object.assign({},i.value,a.defaultConfig))}),(E,x)=>(e.openBlock(),e.createElementBlock("div",ir,[e.createVNode(e.unref(n),e.mergeProps({modelValue:p.value,"onUpdate:modelValue":x[0]||(x[0]=C=>p.value=C),"allow-clear":"","allow-search":i.value.nType==1,loading:S.value,error:c.value},E.$attrs,{onChange:A,onClear:k,onSearch:e.unref(g),triggerProps:{contentClass:"customize-select-content"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,C=>(e.openBlock(),e.createBlock(e.unref(r),{key:C[a.fieldNames.value],label:C[a.fieldNames.label],value:C[a.fieldNames.value]},{default:e.withCtx(()=>[i.value.cLabelslotcol?(e.openBlock(),e.createElementBlock("div",cr,[e.createElementVNode("span",null,e.toDisplayString(C.cKeyname),1),e.createElementVNode("span",dr,e.toDisplayString(C.cSlot),1)])):e.createCommentVNode("",!0)]),_:2},1032,["label","value"]))),128))]),_:1},16,["modelValue","allow-search","loading","error","onSearch"])]))}}),Ke=e.defineComponent({__name:"SunnyExportModal",props:{exportUrl:{default:""},nmodid:{},nButtonid:{},conditionMap:{}},emits:["export-success","export-error","close"],setup(t,{expose:o,emit:n}){const{t:r}=Se.useI18n(),a=t,l=n,s=e.ref(!1),i=e.ref([]),h=e.ref({}),b=e.ref(!1),S=e.ref(!1),c=[{label:r("common.exportModal.default"),value:"default"},{label:r("common.exportModal.varchar"),value:"varchar"},{label:r("common.exportModal.number"),value:"number"},{label:r("common.exportModal.date"),value:"date"}],p=[{label:"10000",value:"10000"},{label:"20000",value:"20000"},{label:"50000",value:"50000"},{label:"100000",value:"100000"}],u=async()=>{b.value=!0;try{const C=await W.post(`${U.apiPrefix}${a.exportUrl}/export/openInit`,{nmodid:a.nmodid,nButtonid:a.nButtonid});C.data.code===200?(i.value=C.data.result.exportList,h.value=C.data.result.exportUserWebConfig,s.value=!0):w.Message.error(C.data.message)}catch(C){w.Message.error(C.message)}finally{b.value=!1}},A=()=>{u()},g=()=>{s.value=!1,l("close")};o({open:A,close:g});const k=({newIndex:C,oldIndex:I})=>{const y=i.value.splice(I,1)[0];i.value.splice(C,0,y)},E=async()=>{S.value=!0;try{i.value.forEach(d=>{d.colType==="spanselect"&&isNaN(Number(d.selId))});const C={conditionMap:a.conditionMap||{},exportList:i.value,exportUserWebConfig:h.value,nmodid:a.nmodid,nButtonid:a.nButtonid},I=await W.post(`${U.apiPrefix}${a.exportUrl}/export/exportExecuteStream`,C,{responseType:"blob"}),y=new FileReader;y.onload=function(){const d=I.headers["content-disposition"]?.split("attachment;filename=")[1],m=new Blob([I.data]),f=document.createElement("a");f.href=URL.createObjectURL(m),f.download=decodeURI(d||"export.xlsx"),f.click(),URL.revokeObjectURL(f.href),g(),l("export-success",I)},y.readAsText(I.data)}catch(C){w.Message.error(C.message),l("export-error",C)}finally{S.value=!1}},x=()=>{g()};return(C,I)=>{const y=e.resolveComponent("vxe-checkbox"),d=e.resolveComponent("vxe-column"),m=e.resolveComponent("vxe-table");return e.openBlock(),e.createBlock(e.unref(w.Modal),{visible:s.value,"onUpdate:visible":I[2]||(I[2]=f=>s.value=f),title:e.unref(r)("common.exportModal.title"),width:700,"mask-closable":!1,onCancel:x},{footer:e.withCtx(()=>[e.createVNode(e.unref(w.Button),{onClick:x},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("common.modal.cancel")),1)]),_:1}),e.createVNode(e.unref(w.Button),{type:"primary",loading:S.value,onClick:E},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("common.modal.confirm")),1)]),_:1},8,["loading"])]),default:e.withCtx(()=>[e.createVNode(e.unref(w.Form),{model:h.value,layout:"inline"},{default:e.withCtx(()=>[h.value.showSheetRowNum?(e.openBlock(),e.createBlock(e.unref(w.FormItem),{key:0,label:e.unref(r)("common.exportModal.showSheetRowNum")},{default:e.withCtx(()=>[e.createVNode(e.unref(w.Select),{modelValue:h.value.nSheetRowNum,"onUpdate:modelValue":I[0]||(I[0]=f=>h.value.nSheetRowNum=f),placeholder:h.value.hintSheetRowNum,"allow-clear":""},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(p,f=>e.createVNode(e.unref(w.Option),{key:f.value,label:f.label,value:f.value},null,8,["label","value"])),64))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"])):e.createCommentVNode("",!0),h.value.showMaxExportNumber?(e.openBlock(),e.createBlock(e.unref(w.FormItem),{key:1,label:e.unref(r)("common.exportModal.showMaxExportNumber")},{default:e.withCtx(()=>[e.createVNode(e.unref(w.InputNumber),{modelValue:h.value.maxExportNumber,"onUpdate:modelValue":I[1]||(I[1]=f=>h.value.maxExportNumber=f),placeholder:h.value.hintMaxExportNumber},null,8,["modelValue","placeholder"])]),_:1},8,["label"])):e.createCommentVNode("",!0)]),_:1},8,["model"]),e.createVNode(m,{size:"mini",data:i.value,border:"","max-height":"500",loading:b.value,"row-config":{drag:!0},onRowDragEnd:k},{default:e.withCtx(()=>[e.createVNode(d,{title:e.unref(r)("common.exportModal.nSfExport"),width:"70",align:"center"},{default:e.withCtx(({row:f})=>[e.createVNode(y,{modelValue:f.nSfExport,"onUpdate:modelValue":B=>f.nSfExport=B,size:"small","checked-value":1,"unchecked-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1},8,["title"]),e.createVNode(d,{field:"colName",title:e.unref(r)("common.exportModal.colName"),align:"center"},null,8,["title"]),e.createVNode(d,{title:e.unref(r)("common.exportModal.colWidth"),width:"100",align:"center"},{default:e.withCtx(({row:f})=>[e.createVNode(e.unref(w.InputNumber),{modelValue:f.colWidth,"onUpdate:modelValue":B=>f.colWidth=B,size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1},8,["title"]),e.createVNode(d,{title:e.unref(r)("common.exportModal.colDataType"),width:"120",align:"center"},{default:e.withCtx(({row:f})=>[e.createVNode(e.unref(w.Select),{modelValue:f.colDataType,"onUpdate:modelValue":B=>f.colDataType=B,size:"small"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(c,B=>e.createVNode(e.unref(w.Option),{key:B.value,label:B.label,value:B.value},null,8,["label","value"])),64))]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1},8,["title"]),e.createVNode(d,{title:e.unref(r)("common.exportModal.drag"),width:"50",align:"center",fixed:"right",dragSort:!0},null,8,["title"])]),_:1},8,["data","loading"])]),_:1},8,["visible","title"])}}});function mr(t={}){const o=e.shallowRef(null),n=e.ref(t);return[e.defineComponent({name:"useSunnyExportModalWrapper",setup(l,{attrs:s,slots:i}){return()=>e.h(Ke,{ref:o,...n.value,...l,...s},i)}}),{open:l=>{n.value={...n.value,...l},e.nextTick(()=>{o.value?.open()})},close:()=>{o.value?.close()}}]}const ur={class:"import-modal-body"},pr={class:"option-label"},He=e.defineComponent({__name:"SunnyImportModal",props:{templateUrl:{default:""},uploadUrl:{default:""},accept:{default:".xlsx,.xls"},maxSize:{default:10},limit:{default:1},params:{},nModid:{},nButtonid:{}},emits:["upload-success","upload-error","download-success","download-error","close"],setup(t,{expose:o,emit:n}){const{t:r}=Se.useI18n(),a=t,l=n,s=e.ref(!1),i=e.ref([]),h=e.ref(!1),b=e.ref(!1),S=e.ref(),c=C=>i.value.length>=a.limit?(w.Message.error(r("common.importModal.maxUploadLimit",{limit:a.limit})),!1):a.accept.split(",").some(d=>C.name.endsWith(d.replace(".","")))?C.size/1024/1024<a.maxSize?!0:(w.Message.error(r("common.importModal.maxSize",{maxSize:a.maxSize})),!1):(w.Message.error(r("common.importModal.onlySupport",{accept:a.accept})),!1),p=()=>{S.value.submit()},u=async C=>{const{onProgress:I,onError:y,onSuccess:d,fileItem:m,name:f}=C;h.value=!0;try{const B=new FormData;B.append("fileName",m.file),B.append("nModid",String(a.nModid)),B.append("nButtonid",String(a.nButtonid)),a.params&&B.append("paramMap",JSON.stringify(a.params));const N=b.value?`${U.apiPrefix}${a.uploadUrl}/upload/fileUploadDecode`:`${U.apiPrefix}${a.uploadUrl}/upload/fileUpload`,j=await W.post(N,B,{headers:{"Content-Type":"multipart/form-data"}});j.data.code===200?(w.Message.success({content:j.data.message||r("common.importModal.uploadSuccess"),duration:5e3}),d(j.data),l("upload-success",j.data),E()):(w.Message.error(j.data.message||r("common.importModal.uploadError")),y(j.data),l("upload-error",j.data))}catch(B){w.Message.error(B.message||r("common.importModal.uploadError")),y(B),l("upload-error",B)}finally{h.value=!1}},A=C=>{C.value=C},g=async()=>{try{const C=await W.post(`${U.apiPrefix}${a.templateUrl}/export/fileDownload?nModid=${a.nModid}&nButtonid=${a.nButtonid}`,{},{responseType:"blob"}),I=new FileReader;I.onload=function(){const y=C.headers["content-disposition"]?.split("attachment;filename=")[1],d=new Blob([C.data]),m=document.createElement("a");m.href=URL.createObjectURL(d),m.download=decodeURI(y||"template.xlsx"),m.click(),URL.revokeObjectURL(m.href),l("download-success")},I.readAsText(C.data)}catch(C){w.Message.error(C.message||"模板下载失败"),l("download-error",C)}},k=()=>{s.value=!0,i.value=[],b.value=!1},E=()=>{i.value=[],s.value=!1,l("close")};o({open:k,close:E});const x=()=>{E()};return(C,I)=>{const y=e.resolveComponent("a-space");return e.openBlock(),e.createBlock(e.unref(w.Modal),{visible:s.value,"onUpdate:visible":I[3]||(I[3]=d=>s.value=d),title:e.unref(r)("common.importModal.title"),width:550,"mask-closable":!1,footer:!1,onCancel:x},{default:e.withCtx(()=>[e.createElementVNode("div",ur,[e.createVNode(e.unref(w.Upload),{action:"#","auto-upload":!1,ref_key:"uploadRef",ref:S,multiple:"","custom-request":u,onBeforeUpload:c,onChange:A},{"upload-button":e.withCtx(()=>[e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(e.unref(w.Button),{type:"outline",disabled:h.value,onClick:e.withModifiers(g,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("common.importModal.downloadTemplate")),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(w.Button),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("common.importModal.selectFile")),1)]),_:1}),e.createVNode(e.unref(w.Button),{type:"primary",disabled:h.value,onClick:e.withModifiers(p,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("common.importModal.upload")),1)]),_:1},8,["disabled"]),e.createElementVNode("div",{onClick:I[2]||(I[2]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("span",pr,e.toDisplayString(e.unref(r)("common.importModal.isdecode"))+":",1),e.createVNode(e.unref(w.Switch),{modelValue:b.value,"onUpdate:modelValue":I[0]||(I[0]=d=>b.value=d),onClick:I[1]||(I[1]=e.withModifiers(()=>{},["stop"]))},null,8,["modelValue"])])]),_:1})]),_:1},512)])]),_:1},8,["visible","title"])}}});function hr(t={}){const o=e.shallowRef(null),n=e.ref(t);return[e.defineComponent({name:"useSunnyImportModalWrapper",setup(l,{attrs:s,slots:i}){return()=>e.h(He,{ref:o,...n.value,...l,...s},i)}}),{open:l=>{n.value={...n.value,...l},e.nextTick(()=>{o.value?.open()})},close:()=>{o.value?.close()}}]}Object.defineProperty(F,"patterns",{enumerable:!0,get:()=>T.patterns}),Object.defineProperty(F,"startProgress",{enumerable:!0,get:()=>T.startProgress}),Object.defineProperty(F,"stopProgress",{enumerable:!0,get:()=>T.stopProgress}),F.z=nt,F.DEFAULT_FORM_COMMON_CONFIG=U,F.EditRender=so,F.ErrorBoundary=ln,F.FormApi=Ie,F.Modal=Z,F.ModalTypes=Jt,F.SunnyBatchSelect=Dn,F.SunnyBusinessSearch=he,F.SunnyCustomizeSelect=fr,F.SunnyExportModal=Ke,F.SunnyForm=Qe,F.SunnyIcon=ue,F.SunnyImportModal=He,F.SunnyLoading=mn,F.SunnyResourceTree=Co,F.SunnyScrollbar=Sn,F.SunnySearchInputTag=Ve,F.SunnySearchModal=qe,F.SunnySearchPlan=Ge,F.SunnySelect=Ne,F.SunnySimpleUpload=Ee,F.SunnySpinner=hn,F.SunnyUpload=Mn,F.Validators=io,F.getBusinessConfig=_e,F.registerBusinessConfig=To,F.setupSunnyForm=Zn,F.useExportModal=mr,F.useImportModal=hr,F.useSunnyEditGrid=lo,F.useSunnyForm=ze,F.useSunnyModal=_t,F.useSunnyQueryGrid=go,F.useSunnyResourceTree=Ue,F.useSunnySearchPlan=Ye,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
(function(F,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/utils"),require("@sunny-base-web/icons"),require("reka-ui"),require("axios"),require("@tanstack/vue-store"),require("lodash-es"),require("@tanstack/store"),require("@vueuse/core"),require("vee-validate"),require("@vee-validate/zod"),require("zod"),require("vxe-table"),require("vxe-pc-ui"),require("vue-i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@arco-design/web-vue","@sunny-base-web/locales","@sunny-base-web/utils","@sunny-base-web/icons","reka-ui","axios","@tanstack/vue-store","lodash-es","@tanstack/store","@vueuse/core","vee-validate","@vee-validate/zod","zod","vxe-table","vxe-pc-ui","vue-i18n"],e):(F=typeof globalThis<"u"?globalThis:F||self,e(F.SunnyBaseWebUI={},F.Vue,F.ArcoVue,F.SunnyBaseWebLocales,F.SunnyBaseWebUtils,F.SunnyBaseWebIcons,F.rekaUi,F.axios,F.vueStore,F.lodashEs,F.store,F.core,F.veeValidate,F.zod$1,F.zod,F.vxeTable,F.vxePcUi,F.vueI18n))})(this,(function(F,e,w,D,T,ge,X,W,Xe,q,Ze,ye,G,ve,et,ne,K,Se){"use strict";function tt(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(o,n,r.get?r:{enumerable:!0,get:()=>t[n]})}}return o.default=t,Object.freeze(o)}const nt=tt(et),ot=Symbol("ArcoConfigProvider"),rt="arco",at="$arco",_=t=>{var o,n,r;const a=e.getCurrentInstance(),l=e.inject(ot,void 0);return`${(r=(n=l?.prefixCls)!=null?n:(o=a?.appContext.config.globalProperties[at])==null?void 0:o.classPrefix)!=null?r:rt}-${t}`},lt=Object.prototype.toString;function J(t){return lt.call(t)==="[object Number]"&&t===t}var Y=(t,o)=>{for(const[n,r]of o)t[n]=r;return t};const st=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-close`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),it=["stroke-width","stroke-linecap","stroke-linejoin"];function ct(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,it)}var oe=Y(st,[["render",ct]]);const Ce=Object.assign(oe,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+oe.name,oe)}}),dt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-question-circle`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),ft=["stroke-width","stroke-linecap","stroke-linejoin"];function mt(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,ft)}var re=Y(dt,[["render",mt]]);const be=Object.assign(re,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+re.name,re)}}),ut=e.defineComponent({name:"IconRefresh",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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-refresh`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),pt=["stroke-width","stroke-linecap","stroke-linejoin"];function ht(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M38.837 18C36.463 12.136 30.715 8 24 8 15.163 8 8 15.163 8 24s7.163 16 16 16c7.455 0 13.72-5.1 15.496-12M40 8v10H30"},null,-1)]),14,pt)}var ae=Y(ut,[["render",ht]]);const gt=Object.assign(ae,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+ae.name,ae)}}),yt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-search`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),St=["stroke-width","stroke-linecap","stroke-linejoin"];function Ct(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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 le=Y(yt,[["render",Ct]]);const se=Object.assign(le,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+le.name,le)}}),bt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-upload`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),kt=["stroke-width","stroke-linecap","stroke-linejoin"];function At(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,kt)}var ie=Y(bt,[["render",At]]);const wt=Object.assign(ie,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+ie.name,ie)}}),Bt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-attachment`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),xt=["stroke-width","stroke-linecap","stroke-linejoin"];function Et(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,xt)}var ce=Y(Bt,[["render",Et]]);const Nt=Object.assign(ce,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+ce.name,ce)}}),Vt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-delete`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),Pt=["stroke-width","stroke-linecap","stroke-linejoin"];function It(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,Pt)}var de=Y(Vt,[["render",It]]);const ke=Object.assign(de,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+de.name,de)}}),Rt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-fullscreen-exit`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),Mt=["stroke-width","stroke-linecap","stroke-linejoin"];function Ft(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,Mt)}var fe=Y(Rt,[["render",Ft]]);const Tt=Object.assign(fe,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+fe.name,fe)}}),jt=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:o}){const n=_("icon"),r=e.computed(()=>[n,`${n}-fullscreen`,{[`${n}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=J(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:r,innerStyle:a,onClick:s=>{o("click",s)}}}}),Lt=["stroke-width","stroke-linecap","stroke-linejoin"];function Ot(t,o,n,r,a,l){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:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[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,Lt)}var me=Y(jt,[["render",Ot]]);const Dt=Object.assign(me,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+me.name,me)}}),zt="data:image/png;base64,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",Qt={class:"flex-1 font-semibold text-base text-[var(--color-text-1)] overflow-hidden text-ellipsis whitespace-nowrap"},$t={class:"flex items-center gap-3 ml-3"},Ut={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)]"},qt={key:1,class:"flex items-center justify-end gap-2"},Z=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,{expose:o,emit:n}){const{t:r}=D.useI18n(),a=t,l=n,s=e.useAttrs(),i=e.ref(!1),h=e.computed({get:()=>a.modelValue,set:g=>l("update:modelValue",g)}),b=e.computed(()=>a.helpMessage||r("common.modal.helpTip")),S=e.ref(!1),c=()=>{S.value=!S.value,l("fullscreen-change",S.value)},p=async()=>{const g=a.onBeforeCancel;typeof g=="function"&&await g()===!1||(S.value=!1,h.value=!1,l("close"))},u=p,A=async()=>{const g=a.onBeforeOk;if(typeof g=="function")try{i.value=!0,await g()!==!1&&(S.value=!1,l("ok"),h.value=!1)}catch(k){console.error(k)}finally{i.value=!1}else S.value=!1,l("ok"),h.value=!1};return o({toggleMaximize:c}),(g,k)=>(e.openBlock(),e.createBlock(e.unref(w.Modal),e.mergeProps({visible:h.value,"onUpdate:visible":k[1]||(k[1]=E=>h.value=E),title:t.title,width:t.width,top:t.top,"z-index":t.zIndex,"mask-closable":t.closeOnClickModal,"esc-to-close":t.closeOnEsc,fullscreen:S.value,closable:!1},g.$attrs,{class:"k-modal-custom",style:{"--modal-bg-image":`url(${e.unref(zt)})`},onClick:k[2]||(k[2]=e.withModifiers(()=>{},["stop"])),onMousedown:k[3]||(k[3]=e.withModifiers(()=>{},["stop"]))}),{title:e.withCtx(()=>[e.createElementVNode("div",{class:"flex items-center justify-between w-full",onDblclick:k[0]||(k[0]=E=>a.fullscreen&&c())},[e.createElementVNode("div",Qt,[e.renderSlot(g.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),e.createElementVNode("div",$t,[b.value?(e.openBlock(),e.createBlock(e.unref(w.Tooltip),{key:0,content:b.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ut,[e.createVNode(e.unref(be))])]),_:1},8,["content"])):e.createCommentVNode("",!0),a.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(c,["stop"])},[S.value?(e.openBlock(),e.createBlock(e.unref(Tt),{key:0})):(e.openBlock(),e.createBlock(e.unref(Dt),{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(p,["stop"])},[e.createVNode(e.unref(Ce))])])],32)]),footer:e.withCtx(()=>[g.$slots.footer?e.renderSlot(g.$slots,"footer",{key:0}):(e.openBlock(),e.createElementBlock("div",qt,[e.renderSlot(g.$slots,"insertFooter"),e.unref(s).hideCancel?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:0},e.unref(s).cancelButtonProps,{onClick:e.unref(u)}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s).cancelText||e.unref(r)("common.modal.cancel")),1)]),_:1},16,["onClick"])),e.renderSlot(g.$slots,"centerFooter"),e.createVNode(e.unref(w.Button),e.mergeProps({type:"primary",loading:i.value||e.unref(s).okLoading||e.unref(s).confirmLoading},e.unref(s).okButtonProps,{onClick:A}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s).okText||e.unref(r)("common.modal.confirm")),1)]),_:1},16,["loading"]),e.renderSlot(g.$slots,"appendFooter")]))]),default:e.withCtx(()=>[e.renderSlot(g.$slots,"default")]),_:3},16,["visible","title","width","top","z-index","mask-closable","esc-to-close","fullscreen","style"]))}});class Wt{state;constructor(o={}){this.state=e.reactive({modelValue:!1,...o})}open=()=>{this.setState({modelValue:!0}),this.state.onVisibleChange?.(!0)};close=()=>{this.setState({modelValue:!1}),this.state.onVisibleChange?.(!1)};setProps=o=>{this.setState(o)};setState(o){if(typeof o=="function"){const n=o(this.state);Object.assign(this.state,n)}else Object.assign(this.state,o);return this}}function _t(t={}){const o=new Wt(t);return[e.defineComponent({name:"SunnyConnectedModal",inheritAttrs:!1,setup(r,{attrs:a,slots:l}){return()=>e.h(Z,{...o.state,...a,"onUpdate:modelValue":s=>{o.setState({modelValue:s}),o.state.onVisibleChange?.(s),typeof a["onUpdate:modelValue"]=="function"&&a["onUpdate:modelValue"](s)}},l)}}),o]}const Jt=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Yt={key:0,class:"flex items-center justify-center min-h-[400px] p-8"},Gt={class:"max-w-[520px] w-full text-center"},Kt={class:"mb-3 text-lg font-semibold text-[var(--color-text-1)]"},Ht={class:"mb-6 text-sm text-[var(--color-text-2)] leading-relaxed"},Xt={key:0,class:"mt-6 mb-6 text-left bg-[var(--color-fill-1)] border border-[var(--color-border-2)] rounded-md overflow-hidden"},Zt={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)]"},vt={class:"p-4"},en={class:"mb-3"},tn={class:"block mb-1 text-xs text-[var(--color-text-3)]"},nn={class:"p-2 bg-[var(--color-fill-1)] rounded text-xs text-[var(--color-text-2)] font-mono break-all"},on={class:"block mb-1 text-xs text-[var(--color-text-3)]"},rn={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]"},an={class:"flex gap-3 justify-center flex-wrap"},ln=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:o}){const n=t,r=o,a=e.shallowRef(!1),l=e.shallowRef(null),s=e.computed(()=>({title:n.errorMessage||D.$t("error.title"),desc:D.$t("error.message"),retry:D.$t("error.retry"),refresh:D.$t("error.refresh"),report:D.$t("error.reportError"),details:D.$t("error.details"),errorMessage:D.$t("error.errorMessage"),errorStack:D.$t("error.errorStack")}));e.onErrorCaptured((S,c,p)=>{if(a.value)return!1;const u=S instanceof Error?S:new Error(String(S));return a.value=!0,l.value=e.markRaw(u),!1});function i(){a.value=!1,l.value=null,r("retry")}function h(){window.location.reload()}function b(){l.value&&r("report",l.value)}return(S,c)=>a.value?(e.openBlock(),e.createElementBlock("div",Yt,[e.createElementVNode("div",Gt,[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",Kt,e.toDisplayString(s.value.title),1),e.createElementVNode("div",Ht,e.toDisplayString(s.value.desc),1),l.value?(e.openBlock(),e.createElementBlock("div",Xt,[e.createElementVNode("div",Zt,[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",vt,[e.createElementVNode("div",en,[e.createElementVNode("span",tn,e.toDisplayString(s.value.errorMessage),1),e.createElementVNode("div",nn,e.toDisplayString(l.value?.message),1)]),e.createElementVNode("div",null,[e.createElementVNode("span",on,e.toDisplayString(s.value.errorStack),1),e.createElementVNode("pre",rn,e.toDisplayString(l.value?.stack),1)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",an,[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:b},e.toDisplayString(s.value.report),1)):e.createCommentVNode("",!0)])])])):e.renderSlot(S.$slots,"default",{key:1})}});function Ae(t){const{spinning:o,minLoadingTime:n=50}=t,r=e.ref(!1),a=e.ref(!1),l=e.ref(),s=e.computed(()=>{const h=typeof n=="number"?n:n.value;return h<0?(console.warn("[SunnyLoading] minLoadingTime 不能为负数,已自动设置为 0"),0):h>1e4?(console.warn("[SunnyLoading] minLoadingTime 不应超过 10000ms,已自动限制"),1e4):h});e.watch(o,h=>{if(clearTimeout(l.value),!h){r.value=!1;return}l.value=setTimeout(()=>{a.value=!0,requestAnimationFrame(()=>{r.value=!0})},s.value)},{immediate:!0}),e.onUnmounted(()=>{clearTimeout(l.value)});function i(){r.value||(a.value=!1)}return{isVisible:r,shouldRender:a,handleTransitionEnd:i}}const sn=["aria-live","aria-busy"],cn=["aria-label"],dn={key:0,class:"mt-4 text-sm text-[rgb(var(--primary-6))]"},fn=e.defineComponent({name:"SunnyLoading",__name:"SunnyLoading",props:{class:{},minLoadingTime:{default:50},spinning:{type:Boolean,default:!1},text:{default:""}},setup(t){const o=t,n=e.computed(()=>{const s=o.minLoadingTime??50;return s<0?(console.warn("[SunnyLoading] minLoadingTime 不能为负数,已自动设置为 0"),0):s>1e4?(console.warn("[SunnyLoading] minLoadingTime 不应超过 10000ms,已自动限制"),1e4):s}),{isVisible:r,shouldRender:a,handleTransitionEnd:l}=Ae({spinning:e.computed(()=>o.spinning),minLoadingTime:n});return(s,i)=>(e.openBlock(),e.createElementBlock("output",{class:e.normalizeClass(e.unref(T.cn)("absolute left-0 top-0 z-100 flex size-full flex-col items-center justify-center","transition-all duration-500 ease-in-out","bg-[var(--color-bg-2)]/80 backdrop-blur-sm",{"invisible opacity-0":!e.unref(r)},o.class)),"aria-live":t.spinning?"polite":"off","aria-busy":t.spinning,onTransitionend:i[0]||(i[0]=(...h)=>e.unref(l)&&e.unref(l)(...h))},[e.unref(a)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(s.$slots,"icon",{},()=>[e.createElementVNode("div",{class:"loading-spinner","aria-label":t.text||"加载中"},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(4,h=>e.createElementVNode("span",{key:h,class:"dot","aria-hidden":"true"})),64))],8,cn)],!0),t.text?(e.openBlock(),e.createElementBlock("div",dn,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"default",{},void 0,!0)],64)):e.createCommentVNode("",!0)],42,sn))}}),H=(t,o)=>{const n=t.__vccOpts||t;for(const[r,a]of o)n[r]=a;return n},mn=H(fn,[["__scopeId","data-v-4642fea4"]]),un=["aria-live","aria-busy"],pn={key:0,class:"spinner","aria-hidden":"true"},hn=H(e.defineComponent({name:"SunnySpinner",__name:"SunnySpinner",props:{class:{},minLoadingTime:{default:50},spinning:{type:Boolean,default:!1}},setup(t){const o=t,n=e.computed(()=>{const s=o.minLoadingTime??50;return s<0?(console.warn("[SunnySpinner] minLoadingTime 不能为负数,已自动设置为 0"),0):s>1e4?(console.warn("[SunnySpinner] minLoadingTime 不应超过 10000ms,已自动限制"),1e4):s}),{isVisible:r,shouldRender:a,handleTransitionEnd:l}=Ae({spinning:e.computed(()=>o.spinning),minLoadingTime:n});return(s,i)=>(e.openBlock(),e.createElementBlock("output",{class:e.normalizeClass(e.unref(T.cn)("absolute left-0 top-0 z-100 flex size-full items-center justify-center","transition-all duration-500 ease-in-out","bg-[var(--color-bg-2)]/80 backdrop-blur-sm",{"invisible opacity-0":!e.unref(r)},o.class)),"aria-label":"加载中","aria-live":t.spinning?"polite":"off","aria-busy":t.spinning,onTransitionend:i[0]||(i[0]=(...h)=>e.unref(l)&&e.unref(l)(...h))},[e.unref(a)?(e.openBlock(),e.createElementBlock("div",pn,[...i[1]||(i[1]=[e.createElementVNode("div",{class:"cube"},null,-1),e.createElementVNode("div",{class:"shadow"},null,-1)])])):e.createCommentVNode("",!0)],42,un))}}),[["__scopeId","data-v-033b7571"]]),gn=["src"],ue=e.defineComponent({name:"SunnyIcon",__name:"icon",props:{fallback:{type:Boolean},icon:{type:[Function,String]}},setup(t){const o=t,n=e.computed(()=>T.isString(o.icon)&&T.isHttpUrl(o.icon)),r=e.computed(()=>{const{icon:a}=o;return!T.isString(a)&&(T.isObject(a)||T.isFunction(a))});return(a,l)=>r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),e.normalizeProps(e.mergeProps({key:0},a.$attrs)),null,16)):n.value?(e.openBlock(),e.createElementBlock("img",e.mergeProps({key:1,src:t.icon},a.$attrs),null,16,gn)):t.icon?(e.openBlock(),e.createBlock(e.unref(ge.IconifyIcon),e.mergeProps({key:2},a.$attrs,{icon:t.icon}),null,16,["icon"])):t.fallback?(e.openBlock(),e.createBlock(e.unref(ge.IconDefault),e.normalizeProps(e.mergeProps({key:3},a.$attrs)),null,16)):e.createCommentVNode("",!0)}}),yn=e.defineComponent({name:"SunnyScrollArea",__name:"ScrollArea",props:{type:{},dir:{},scrollHideDelay:{},asChild:{type:Boolean},as:{},class:{},onScroll:{type:Function,default:()=>{}}},setup(t){const o=t,n=e.computed(()=>{const{class:r,onScroll:a,...l}=o;return l});return(r,a)=>(e.openBlock(),e.createBlock(e.unref(X.ScrollAreaRoot),e.mergeProps(n.value,{class:e.unref(T.cn)("relative overflow-hidden",o.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(X.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(we)),e.createVNode(e.unref(X.ScrollAreaCorner))]),_:3},16,["class"]))}}),we=e.defineComponent({name:"SunnyScrollBar",__name:"ScrollBar",props:{orientation:{default:"vertical"},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(t){const o=t,n=e.computed(()=>{const{class:r,...a}=o;return a});return(r,a)=>(e.openBlock(),e.createBlock(e.unref(X.ScrollAreaScrollbar),e.mergeProps(n.value,{class:e.unref(T.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",o.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(X.ScrollAreaThumb),{class:"relative flex-1 rounded-full bg-border"})]),_:1},16,["class"]))}}),Be=1,Sn=H(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:o}){const n=t,r=o,a=e.ref(!0),l=e.ref(!1),s=e.ref(!1),i=e.ref(!0),h=e.computed(()=>n.shadow&&n.shadowTop),b=e.computed(()=>n.shadow&&n.shadowBottom),S=e.computed(()=>n.shadow&&n.shadowLeft),c=e.computed(()=>n.shadow&&n.shadowRight),p=e.computed(()=>({"both-shadow":!i.value&&!l.value&&S.value&&c.value,"left-shadow":!i.value&&S.value,"right-shadow":!l.value&&c.value}));function u(A){const g=A.target,k=g?.scrollTop??0,E=g?.scrollLeft??0,x=g?.clientHeight??0,C=g?.clientWidth??0,I=g?.scrollHeight??0,y=g?.scrollWidth??0;a.value=k<=0,i.value=E<=0,s.value=Math.abs(k)+x>=I-Be,l.value=Math.abs(E)+C>=y-Be,r("scrollAt",{bottom:s.value,left:i.value,right:l.value,top:a.value})}return(A,g)=>(e.openBlock(),e.createBlock(e.unref(yn),{class:e.normalizeClass([[e.unref(T.cn)(n.class),p.value],"sunny-scrollbar relative"]),"on-scroll":u},{default:e.withCtx(()=>[h.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([{"opacity-100":!a.value,"border-t border-border":t.shadowBorder&&!a.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(A.$slots,"default",{},void 0,!0),b.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([{"opacity-100":!a.value&&!s.value,"border-b border-border":t.shadowBorder&&!a.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(we),{key:2,class:e.normalizeClass(t.scrollBarClass),orientation:"horizontal"},null,8,["class"])):e.createCommentVNode("",!0)]),_:3},8,["class"]))}}),[["__scopeId","data-v-299d4e0d"]]),Cn={class:"sunny-file-upload"},bn={class:"font-bold text-gray-700 mb-2"},kn={class:"flex flex-wrap items-center text-sm mb-3 select-none"},An={class:"cursor-pointer text-blue-600 hover:text-blue-700 flex items-center mr-4 transition-colors"},wn={class:"text-xs text-blue-600"},Bn={class:"text-xs text-gray-400"},xn={class:"border border-dashed border-gray-300 rounded-lg p-4 transition-all duration-300"},En={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},Nn={class:"flex-1 min-w-0 pr-8"},Vn=["title"],Pn={class:"flex items-center text-xs text-gray-500"},In={class:"mr-3 min-w-[3em]"},Rn={class:"ml-2 w-8 text-right"},xe=1024,Mn=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:o}){const n=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],r=t,a=o,l=e.ref(!0),s=e.ref(!1),i=e.ref([]),h=e.ref(!1),b=e.computed(()=>i.value.every(y=>!!y.url)),S=e.computed(()=>i.value.filter(y=>y.checked).length);e.watch(()=>r.modelValue,y=>{try{i.value=JSON.parse(y||"[]")}catch(d){console.warn("Failed to parse modelValue:",d),i.value=[]}},{immediate:!0,deep:!0});const c=y=>y,p=y=>{if(y===0)return"0 B";const d=Math.floor(Math.log(y)/Math.log(xe));return(y/Math.pow(xe,d)).toPrecision(3)+" "+n[d]},u=y=>{const d=y.type||"",f=(y.name||"").split(".").pop()?.toLowerCase()||"",B={"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[N,j]of Object.entries(B))if(j.includes(f)||j.some(P=>d.includes(P)))return N;return d.includes("excel")||d.includes("spreadsheet")?"vscode-icons:file-type-excel":d.includes("powerpoint")||d.includes("presentation")?"vscode-icons:file-type-powerpoint":d.includes("text/plain")?"vscode-icons:file-type-text":d.includes("word")||d.includes("document")?"vscode-icons:file-type-word":d.includes("zip")||d.includes("compressed")?"vscode-icons:file-type-zip":d.includes("pdf")?"vscode-icons:file-type-pdf":"vscode-icons:default-file"},A=()=>{const y=JSON.stringify(i.value);a("update:modelValue",y),a("change",y)},g=(y,d)=>{if(d.status!=="init")return;if(i.value.length>=r.limit){w.Message.error(`最多上传${r.limit}个文件`);return}const m=r.maxSize*1024*1024;if(d.file.size>m){w.Message.error(`文件最大限制${p(m)}`);return}i.value.push({uid:d.uid,name:d.name,size:d.file?.size,type:d.file?.type,file:d.file,percentage:0,checked:!1})},k=async()=>{if(i.value.length===0)return;const y=i.value.filter(d=>!d.url);for(const d of y){const m=new FormData;m.append("fileName",d.file),m.append("encryptFile",s.value?"1":"0"),r.storeType&&m.append("storeType",r.storeType),r.s3FileDir&&m.append("s3FileDir",r.s3FileDir),r.preSigned&&m.append("preSigned",r.preSigned),r.preSignedExpire&&m.append("preSignedExpire",r.preSignedExpire);try{const f=await W.post(r.action,m,{onUploadProgress:N=>{if(N.total){const j=Math.floor(N.loaded/N.total*100);d.percentage=j}}}),{data:B}=f;B.code===200?(Object.assign(d,B.result),w.Message.success(B.message||"上传成功")):(w.Message.error(B.message||"上传失败"),E(d.uid))}catch{w.Message.error("上传失败"),E(d.uid)}}A()},E=y=>{const d=i.value.findIndex(m=>m.uid===y);d>-1&&i.value.splice(d,1)},x=(y,d)=>{y.url?w.Modal.confirm({title:c("提示"),content:c("是否删除该文件?"),onOk:()=>{W.post(r.delAction,{filePathList:[y.url],storeType:r.storeType}).then(m=>{const{data:f}=m;w.Message[f.success?"success":"error"](f.message),f.code===200&&(i.value.splice(d,1),A())})}}):(i.value.splice(d,1),A())},C=()=>{const y=i.value.every(d=>d.checked);i.value.forEach(d=>d.checked=!y)},I=()=>{const y=i.value.filter(d=>d.checked);y.length!==0&&w.Modal.confirm({title:c("提示"),content:c("是否删除选中的文件?"),onOk:()=>{h.value=!0;const d=y.map(m=>m.url).filter(Boolean);d.length>0?W.post(r.delAction,{filePathList:d,storeType:r.storeType}).then(m=>{const{data:f}=m;w.Message[f.success?"success":"error"](f.message),f.code===200&&(i.value=i.value.filter(B=>!B.checked),A())}).finally(()=>{h.value=!1}):(i.value=i.value.filter(m=>!m.checked),A(),h.value=!1)}})};return(y,d)=>(e.openBlock(),e.createElementBlock("div",Cn,[e.createElementVNode("div",bn,e.toDisplayString(c("附件")),1),e.withDirectives(e.createElementVNode("div",kn,[e.createVNode(e.unref(w.Upload),{"show-file-list":!1,"auto-upload":!1,multiple:"",accept:t.accept,onChange:g},{"upload-button":e.withCtx(()=>[e.createElementVNode("span",An,[e.createVNode(e.unref(Nt),{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",b.value?"text-gray-300 cursor-not-allowed":"cursor-pointer text-gray-600 hover:text-gray-800"]),onClick:d[0]||(d[0]=m=>!b.value&&k())},[e.createVNode(e.unref(wt),{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:C},e.toDisplayString(c("全选")),1),e.createElementVNode("span",{class:e.normalizeClass(["mr-4 transition-colors",S.value===0?"text-gray-300 cursor-not-allowed":"cursor-pointer text-gray-500 hover:text-red-500"]),onClick:I},e.toDisplayString(c("删除")),3),t.showEncrypt?(e.openBlock(),e.createBlock(e.unref(w.Checkbox),{key:0,modelValue:s.value,"onUpdate:modelValue":d[1]||(d[1]=m=>s.value=m),class:"mr-4"},{default:e.withCtx(()=>[e.createElementVNode("span",wn,e.toDisplayString(c("是否加密")),1)]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),e.createElementVNode("span",Bn," ("+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:d[2]||(d[2]=m=>l.value=!l.value)},e.toDisplayString(l.value?c("隐藏"):c("展开")),1)],512),[[e.vShow,!t.readonly]]),e.withDirectives(e.createElementVNode("div",xn,[e.createElementVNode("div",En,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(m,f)=>(e.openBlock(),e.createElementBlock("div",{key:m.uid||f,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(ue),{icon:u(m),class:"w-10 h-10 mr-3 flex-shrink-0"},null,8,["icon"]),e.createElementVNode("div",Nn,[e.createElementVNode("div",{class:"text-sm truncate font-medium text-gray-700 mb-1",title:m.name},e.toDisplayString(m.name),9,Vn),e.createElementVNode("div",Pn,[e.createElementVNode("span",In,e.toDisplayString(p(m.size)),1),e.createVNode(e.unref(w.Progress),{percent:m.percentage/100,size:"small","show-text":!1,color:m.percentage===100?"#00b42a":"#165dff",class:"flex-1"},null,8,["percent","color"]),e.createElementVNode("span",Rn,e.toDisplayString(m.percentage)+"%",1)])]),t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(w.Checkbox),{key:0,modelValue:m.checked,"onUpdate:modelValue":B=>m.checked=B,class:"absolute top-3 right-3"},null,8,["modelValue","onUpdate:modelValue"])),t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(ke),{key:1,class:"absolute bottom-3 right-3 w-4 h-4 cursor-pointer text-gray-400 hover:text-red-500 transition-colors",onClick:B=>x(m,f)},null,8,["onClick"]))]))),128))])],512),[[e.vShow,i.value.length>0&&l.value]])]))}}),Fn={class:"flex gap-2 items-center flex-nowrap overflow-hidden"},Tn={class:"flex gap-2 item-center flex-nowrap"},Ee=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:o}){const n=t,r=e.computed(()=>JSON.parse(n.modelValue||"[]")),a=o,l=i=>{const{onProgress:h,onError:b,onSuccess:S,fileItem:c,name:p}=i;if(n.limit&&r.value.length>=n.limit){w.Message.error(`最多只能上传 ${n.limit} 个文件`),b();return}if(n.maxSize&&c.file.size>n.maxSize*1024*1024){w.Message.error(`文件大小不能超过 ${n.maxSize} MB`),b();return}var u=new FormData;u.append("fileName",c.file),u.append("encryptFile",n.encryptFile===!0?"1":"0"),u.append("storeType",n.storeType),n.s3FileDir&&u.append("s3FileDir",n.s3FileDir),n.preSigned&&u.append("preSigned",n.preSigned===!0?"1":"0"),n.preSignedExpire&&u.append("preSignedExpire",String(n.preSignedExpire)),W.post(n.action,u,{onUploadProgress:A=>{const g=Math.floor(A.loaded/A.total*100);h(g)}}).then(A=>{if(A.data.code===200){w.Message.success(A.data.message||"上传成功"),S(A.data.result);const g=[...r.value,c];a("update:modelValue",JSON.stringify(g)),a("change",JSON.stringify(g))}else w.Message.error(A.data.message||"上传失败"),b()}).catch(()=>{b()})},s=i=>{W.post(n.delAction,{filePathList:[i.response.url],storeType:n.storeType}).then(h=>{const{data:b}=h;if(w.Message.success(b.message||"删除成功"),b.code===200){const S=r.value.filter(c=>c.uid!==i.uid);a("update:modelValue",JSON.stringify(S))}}).catch(h=>{w.Message.error("删除失败"),console.error("删除文件失败:",h)})};return(i,h)=>{const b=e.resolveComponent("a-button"),S=e.resolveComponent("a-upload"),c=e.resolveComponent("a-tag");return e.openBlock(),e.createElementBlock("div",Fn,[e.createVNode(S,{"show-file-list":!1,action:t.action,"custom-request":l},{"upload-button":e.withCtx(()=>[e.createVNode(b,{type:"primary",size:"mini"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("common.upload")),1)]),_:1})]),_:1},8,["action"]),e.createElementVNode("div",Tn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,p=>(e.openBlock(),e.createBlock(c,{loading:!1,color:p.status==="error"?"red":"green",closable:"",onClose:u=>s(p)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.name),1)]),_:2},1032,["color","onClose"]))),256))])])}}}),Ne=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:o,slots:n,attrs:r}){const a=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(([b,S])=>{const c=t.filterModel[b];return c==null?!1:String(c)===String(S)})},l=e.computed(()=>{const i=t.modelValue;if(i==null||i===""||r["allow-create"]===!0||r["allow-create"]==="")return i;const h=b=>t.options.some(S=>a(S)?S.value==b||typeof b=="object"&&b!==null&&"value"in b&&S.value==b.value:!1);if(Array.isArray(i)){const b=i.filter(S=>h(S));return b.length===i.length?i:b}else return h(i)?i:void 0});e.watch(l,i=>{i!==t.modelValue&&o("update:modelValue",i)});const s=i=>{o("update:modelValue",i)};return()=>e.createVNode(w.Select,e.mergeProps(r,{modelValue:l.value,"onUpdate:modelValue":s}),{default:()=>t.options.map(i=>a(i)?e.createVNode(w.Option,e.mergeProps({key:i.value},i),{default:()=>n.option?n.option({data:i}):i.label}):null),...Object.fromEntries(Object.entries(n).filter(([i])=>i!=="option"&&i!=="default"))})}}),jn={class:"flex items-center justify-between px-3 py-2 border-b border-[var(--color-neutral-3)] bg-[var(--color-bg-popup)] select-none"},Ln={class:"flex items-center gap-1"},On={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"},Dn=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:o}){const n=t,r=o,a=e.computed(()=>n.options.filter(c=>!c.disabled)),l=e.computed(()=>a.value.length===0?!1:a.value.every(c=>n.modelValue.includes(c.value))),s=e.computed(()=>{if(a.value.length===0)return!1;const c=a.value.filter(p=>n.modelValue.includes(p.value)).length;return c>0&&c<a.value.length}),i=c=>{r("update:modelValue",c),r("change",c)},h=c=>{if(c===!0){const u=a.value.map(k=>k.value),A=n.modelValue.filter(k=>{const E=n.options.find(x=>x.value===k);return E&&E.disabled}),g=Array.from(new Set([...A,...u]));r("update:modelValue",g),r("change",g)}else{const u=n.modelValue.filter(A=>{const g=n.options.find(k=>k.value===A);return g&&g.disabled});r("update:modelValue",u),r("change",u)}},b=()=>{const c=n.modelValue.filter(p=>{const u=n.options.find(A=>A.value===p);return u&&u.disabled});r("update:modelValue",c),r("change",c)},S=c=>{const p=c.clipboardData||window.clipboardData;if(!p)return;const u=p.getData("text");if(!u)return;const A=u.split(/\r?\n/).map(x=>x.trim()).filter(x=>x);if(A.length===0)return;const g=[];let k=0;const E=x=>{const C=x.cMeta;return!C||Object.keys(C).length===0?!0:!n.filterModel||Object.keys(n.filterModel).length===0?!1:Object.entries(C).every(([I,y])=>{const d=n.filterModel[I];return d==null?!1:String(d)===String(y)})};if(A.forEach(x=>{if(n.matchStrategy==="value"||n.matchStrategy==="both"){const C=n.options.find(I=>String(I.value)===x);if(C&&!C.disabled&&E(C)){g.push(C.value),k++;return}}if(n.matchStrategy==="label"||n.matchStrategy==="both"){const C=n.options.find(I=>I.label===x);C&&!C.disabled&&E(C)&&(g.push(C.value),k++)}}),g.length>0){c.preventDefault();const x=Array.from(new Set([...n.modelValue,...g]));r("update:modelValue",x),r("change",x),w.Message.success(`成功识别并选中 ${k} 项 (Matched ${k} items)`)}};return(c,p)=>{const u=e.resolveComponent("a-checkbox"),A=e.resolveComponent("a-tooltip");return e.openBlock(),e.createBlock(e.unref(Ne),e.mergeProps(c.$attrs,{"model-value":t.modelValue,options:t.options,"filter-model":t.filterModel,multiple:"","allow-search":"","onUpdate:modelValue":i,onPaste:S}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",jn,[e.createVNode(u,{"model-value":l.value,indeterminate:s.value,onChange:h,class:"pl-1"},{default:e.withCtx(()=>[...p[0]||(p[0]=[e.createElementVNode("span",{class:"text-[var(--color-text-1)]"},"全选",-1)])]),_:1},8,["model-value","indeterminate"]),e.createElementVNode("div",Ln,[e.createVNode(A,{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:b},[e.createVNode(e.unref(ke))])]),_:1}),p[1]||(p[1]=e.createElementVNode("div",{class:"w-[1px] h-3 bg-[var(--color-neutral-3)] mx-1"},null,-1)),e.createVNode(A,{content:"支持从 Excel 或文本编辑器(↓列数据)复制多行数据,粘贴至搜索框即可自动匹配并选中。",position:"left"},{default:e.withCtx(()=>[e.createElementVNode("div",On,[e.createVNode(e.unref(be))])]),_:1})])])]),_:2},[e.renderList(c.$slots,(g,k)=>({name:k,fn:e.withCtx(E=>[e.renderSlot(c.$slots,k,e.normalizeProps(e.guardReactiveProps(E||{})))])}))]),1040,["model-value","options","filter-model"])}}}),Ve=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:o}){const n=t,r=o,a=e.computed(()=>n.fieldNames?.label||"label"),l=e.computed(()=>n.fieldNames?.value||"value"),s=e.computed(()=>n.modelValue.map(c=>({label:c[a.value],value:c[l.value],closable:!n.disabled,tagProps:c.tagProps}))),i=c=>{n.disabled||["Backspace","Delete","Tab","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(c.key)||c.preventDefault()},h=(c,p)=>{const u=[...n.modelValue];u.splice(p,1),r("update:modelValue",u),r("change",u)},b=()=>{r("update:modelValue",[]),r("change",[]),r("clear")},S=()=>{n.disabled||r("search")};return(c,p)=>{const u=e.resolveComponent("a-input-tag");return e.openBlock(),e.createBlock(u,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:b,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(S,["stop"])},[e.createVNode(e.unref(se),{class:"transition-colors group-hover:text-[var(--color-primary-6)]"})],2)]),_:2},[e.renderList(c.$slots,(A,g)=>({name:g,fn:e.withCtx(k=>[e.renderSlot(c.$slots,g,e.normalizeProps(e.guardReactiveProps(k||{})))])}))]),1040,["model-value","disabled","placeholder","max-tag-count"])}}});class zn{store;constructor(o,n){this.store=new Ze.Store(o),n?.onUpdate&&this.store.subscribe(()=>{n.onUpdate?.()})}setState(o){this.store.setState(n=>{const r=typeof o=="function"?o(n):o;return{...n,...r}})}getState(){return this.store.state}}function Pe(t,o="YYYY-MM-DD"){if(!t)return t;if(T.isFunction(t.format))return t.format(o);if(t instanceof Date){const n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),l=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0");return o.replace("YYYY",String(n)).replace("MM",r).replace("DD",a).replace("HH",l).replace("mm",s).replace("ss",i)}return String(t)}function v(t){return T.is(t,"Date")}function ee(t){return T.isObject(t)&&"$d"in t&&"$y"in t&&"$M"in t}function te(t,o){if(!T.isObject(t)||!T.isObject(o)||Array.isArray(o))return o;const n={...t};return Object.keys(o).forEach(r=>{const a=n[r],l=o[r];T.isObject(a)&&T.isObject(l)?n[r]=te(a,l):n[r]=l}),n}class Qn{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(o=>{this.resolveFn=o})),await this.promise)}}function $n(t){const o=Object.getPrototypeOf(t),n=Object.getOwnPropertyNames(o);for(const r of n){const a=t[r];r!=="constructor"&&typeof a=="function"&&(t[r]=a.bind(t))}}function Un(){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 Ie{form;isMounted=!1;state=null;stateHandler;store;componentRefMap=new Map;latestSubmissionValues=null;prevState=null;constructor(o={}){const{...n}=o,r=Un();this.store=new zn({...r,...n},{onUpdate:()=>{this.prevState=this.state,this.state=this.store.getState(),this.updateState()}}),this.state=this.store.getState(),this.stateHandler=new Qn,$n(this)}getFieldComponentRef(o){let n=this.componentRefMap.has(o)?this.componentRefMap.get(o):void 0;if(n&&n.$&&n.$.type&&n.$.type.name==="AsyncComponentWrapper"&&n.$.subTree&&n.$.subTree.ref){const r=n.$.subTree.ref;Array.isArray(r)?r.length>0&&r[0]&&e.isRef(r[0].r)&&(n=r[0].r.value):e.isRef(r.r)&&(n=r.r.value)}return n}getFocusedField(){for(const o of this.componentRefMap.keys()){const n=this.getFieldComponentRef(o);if(n){let r=null;if(n instanceof HTMLElement?r=n:n.$el instanceof HTMLElement&&(r=n.$el),!r)continue;if(r===document.activeElement||r.contains(document.activeElement))return o}}}getLatestSubmissionValues(){return this.latestSubmissionValues||{}}getState(){return this.state}async getValues(){const o=await this.getForm();return o.values?this.handleRangeTimeValue(o.values):{}}async isFieldValid(o){return(await this.getForm()).isFieldValid(o)}merge(o){const n=[this,o],r=new Proxy(o,{get(a,l){return l==="merge"?s=>(n.push(s),r):l==="submitAllForm"?async(s=!0)=>{try{const i=await Promise.all(n.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)}}:a[l]}});return r}mount(o,n){this.isMounted||(this.form=o,this.stateHandler.setConditionTrue(),this.setLatestSubmissionValues({...e.toRaw(this.handleRangeTimeValue(this.form.values))}),n&&(this.componentRefMap=n),this.isMounted=!0)}async removeSchemaByFields(o){const n=new Set(o),a=(this.state?.schema??[]).filter(l=>l.fieldName&&!n.has(l.fieldName));this.setState({schema:a})}async resetForm(o,n){return(await this.getForm()).resetForm(o,n)}async resetValidate(){const o=await this.getForm();Object.keys(o.errors.value).forEach(r=>{o.setFieldError(r,void 0)})}scrollToFirstError(o){const n=typeof o=="string"?o:Object.keys(o)[0];if(!n)return;let r=document.querySelector(`[name="${n}"]`);if(!r){const a=this.getFieldComponentRef(n);a&&a.$el instanceof HTMLElement?r=a.$el:a instanceof HTMLElement&&(r=a)}r&&r.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})}async setFieldValue(o,n,r){const a=await this.getForm();if(o.includes(".")||o.includes("[")){const l={...a.values},s=q.set(l,o,n);a.setValues(s,r)}else a.setValues({[o]:n},r)}setLatestSubmissionValues(o){this.latestSubmissionValues={...e.toRaw(o)}}setState(o){T.isFunction(o)?this.store.setState(n=>te(n,o(n))):this.store.setState(n=>te(n,o))}async setValues(o,n=!0,r=!1){const a=await this.getForm(),l=a.values||{},s={...o};if(this.handleValueToObjectFields(s),Object.keys(s).some(b=>b.includes(".")||b.includes("["))){let b={...l};for(const[S,c]of Object.entries(s))b=q.set(b,S,c);n&&(b=this.filterNestedValues(b,l)),a.setValues(b,r);return}if(!n){a.setValues(s,r);return}const h=this.filterAndMergeValues(s,l);a.setValues(h,r)}filterNestedValues(o,n){if(!T.isObject(o)||!T.isObject(n)||Array.isArray(o))return o;const r={};for(const a in o)if(Object.prototype.hasOwnProperty.call(o,a)&&a in n){const l=o[a],s=n[a];T.isObject(l)&&!Array.isArray(l)&&!v(l)&&!ee(l)&&T.isObject(s)&&!Array.isArray(s)&&!v(s)&&!ee(s)?r[a]=this.filterNestedValues(l,s):r[a]=l}return r}filterAndMergeValues(o,n){if(!T.isObject(o)||!T.isObject(n)||Array.isArray(o))return o;const r={};for(const a in o)if(Object.prototype.hasOwnProperty.call(o,a)&&a in n){const l=o[a],s=n[a];T.isObject(l)&&!Array.isArray(l)&&!v(l)&&!ee(l)&&T.isObject(s)&&!Array.isArray(s)&&!v(s)&&!ee(s)?r[a]=this.filterAndMergeValues(l,s):r[a]=l}return r}async resetValues(o){return this.setValues(o)}async submitForm(o){o?.preventDefault(),o?.stopPropagation();const n=await this.getForm(),{valid:r,errors:a}=await n.validate(),l=e.toRaw(await this.getValues());return r?await this.state?.handleSubmit?.(l):this.state?.scrollToFirstError&&this.scrollToFirstError(a),{valid:r,values:l,errors:a}}unmount(){this.form?.resetForm?.(),this.latestSubmissionValues=null,this.isMounted=!1,this.stateHandler.reset()}updateSchema(o){const n=[...o];if(!n.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 a=T.cloneDeep(this.state?.schema??[]),l={};n.forEach(s=>{s.fieldName&&(l[s.fieldName]=s)}),a.forEach((s,i)=>{if(!s.fieldName)return;const h=l[s.fieldName];h&&(a[i]=te(s,h))}),this.setState({schema:a})}async validate(o){const r=await(await this.getForm()).validate(o);return Object.keys(r?.errors??{}).length>0&&(console.error("validate error",r?.errors),this.state?.scrollToFirstError&&this.scrollToFirstError(r.errors)),r}async validateAndSubmitForm(){const o=await this.getForm(),{valid:n,errors:r}=await o.validate();if(!n){this.state?.scrollToFirstError&&this.scrollToFirstError(r);return}return await this.submitForm()}async validateField(o,n){const a=await(await this.getForm()).validateField(o,n);return Object.keys(a?.errors??{}).length>0&&(console.error("validate error",a?.errors),this.state?.scrollToFirstError&&this.scrollToFirstError(o)),a}async getForm(){if(this.isMounted||await this.stateHandler.waitForCondition(),!this.form?.meta)throw new Error("<SunnyUseForm /> is not mounted");return this.form}handleMultiFields=o=>{const n=this.state?.arrayToStringFields;if(!n||!Array.isArray(n))return;const r=(a,l=",")=>{this.processFields(a,l,o,(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(n.every(a=>typeof a=="string")){const a=n[n.length-1]||"",l=a.length===1?n.slice(0,-1):n,s=a.length===1?a:",";r(l,s);return}n.forEach(a=>{if(Array.isArray(a)){const[l,s=","]=a;if(!Array.isArray(l)){console.warn(`Invalid field configuration: fields should be an array of strings, got ${typeof l}`);return}r(l,s)}})};handleObjectToValueFields=o=>{const n=this.state?.objectToValueFields;!n||!Array.isArray(n)||n.forEach(r=>{const a=o[r];if(!Array.isArray(a)||a.length===0)return;const l=this.state?.schema?.find(S=>S.fieldName===r);if(!l)return;let s=l.componentProps;if(typeof s=="function")try{s=s(o,this.form)}catch(S){console.warn(`[SunnyForm] Failed to resolve componentProps for field ${r}`,S);return}const h=(s?.modalProps?.fieldNames||s?.fieldNames)?.value;if(!h)return;const b=a.map(S=>S&&typeof S=="object"?S[h]:S).filter(S=>S!=null).join(",");o[r]=b})};handleValueToObjectFields=o=>{const n=this.state?.objectToValueFields;!n||!Array.isArray(n)||n.forEach(r=>{const a=o[r];if(typeof a!="string"||a===""||Array.isArray(a))return;const l=this.state?.schema?.find(c=>c.fieldName===r);if(!l)return;let s=l.componentProps;if(typeof s=="function")try{s=s(o,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",b=i?.label||"label";if(!i?.value)return;const S=a.split(",").map(c=>c.trim()).filter(c=>c!=="").map(c=>({[h]:c,[b]:c}));o[r]=S})};handleRangeTimeValue=o=>{const n={...o},r=this.state?.fieldMappingTime;return this.handleMultiFields(n),this.handleObjectToValueFields(n),!r||!Array.isArray(r)||r.forEach(([a,[l,s],i="YYYY-MM-DD"])=>{if(l&&s&&n[a]===null&&(Reflect.deleteProperty(n,l),Reflect.deleteProperty(n,s)),!n[a]){Reflect.deleteProperty(n,a);return}const[h,b]=n[a];if(i===null)n[l]=h,n[s]=b;else if(T.isFunction(i))n[l]=i(h,a),n[s]=i(b,a);else{const[S,c]=Array.isArray(i)?i:[i,i];n[l]=h?Pe(h,S):void 0,n[s]=b?Pe(b,c):void 0}Reflect.deleteProperty(n,a)}),n};processFields=(o,n,r,a)=>{o.forEach(l=>{const s=r[l];s!=null&&(r[l]=a(s,n))})};updateState(){const o=this.state?.schema??[],n=this.prevState?.schema??[];if(o.length<n.length){const r=new Set(o.map(l=>l.fieldName)),a=n.filter(l=>!r.has(l.fieldName));for(const l of a)l.fieldName&&this.form?.setFieldValue?.(l.fieldName,void 0)}}useStore}const Re=Symbol("FormRenderProps"),qn=Symbol("ComponentRefMap"),Me=Symbol("FieldSlots"),Wn=t=>{e.provide(Re,t)},pe=()=>{const t=e.inject(Re);if(!t)throw new Error("injectRenderFormProps must be used within provideFormRenderProps");return t},_n=t=>{e.provide(qn,t)},Jn=t=>{e.provide(Me,t)},Yn=()=>e.inject(Me),Fe=()=>{const t=pe(),o=e.computed(()=>t.layout==="vertical");return{props:t,isVertical:o,componentBindEventMap:e.computed(()=>t.config?.modelPropNameMap)}},Te=Symbol("FormPropsKey");function je(t){e.provide(Te,t)}function Gn(){const t=e.inject(Te);if(!t)throw new Error("Form context not found (表单上下文未找到,请确保在 SunnyForm 或 SunnyUseForm 内部使用)");return t}function Kn(t){const o=e.useSlots(),n=e.computed(()=>{const l=e.unref(t),s={};return(l.schema||[]).forEach(i=>{i.fieldName&&i.defaultValue!==void 0&&(s[i.fieldName]=i.defaultValue)}),l.values&&Object.assign(s,l.values),s}),r=G.useForm({initialValues:n.value}),a=e.computed(()=>{const l=[],s=Object.keys(o);for(const i of s)i!=="default"&&typeof o[i]=="function"&&l.push(i);return l});return{form:r,delegatedSlots:a}}const Hn=e.defineAsyncComponent(()=>Promise.resolve().then(()=>Oo));G.defineRule("required",t=>t==null||t===""||Array.isArray(t)&&t.length===0?"此项必填":!0);const Xn={Input:w.Input,InputPassword:w.InputPassword,InputNumber:w.InputNumber,Textarea:w.Textarea,Select:w.Select,Checkbox:w.Checkbox,CheckboxGroup:w.CheckboxGroup,Radio:w.Radio,RadioGroup:w.RadioGroup,Switch:w.Switch,DatePicker:w.DatePicker,RangePicker:w.RangePicker,TimePicker:w.TimePicker,Upload:w.Upload,Rate:w.Rate,Slider:w.Slider,Cascader:w.Cascader,TreeSelect:w.TreeSelect,SunnySelect:w.Select,SunnyCheckbox:w.Checkbox,SunnyRadio:w.Radio,SunnySwitch:w.Switch,SunnyDatePicker:w.DatePicker,SunnyTimePicker:w.TimePicker,SunnyUpload:w.Upload,SunnyBusinessSearch:Hn},U={};function Zn(t){const{config:o,defineRules:n}=t,{disabled:r=!1,disabledOnChangeListener:a=!0,disabledOnInputListener:l=!0,emptyStateValue:s=void 0,businessSearchAdapter:i,customizeSelectAdapter:h,selectOptionsAdapter:b,permissionOptionsAdapter:S,apiPrefix:c}=o||{};if(Object.assign(U,{disabled:r,disabledOnChangeListener:a,disabledOnInputListener:l,emptyStateValue:s,businessSearchAdapter:i,customizeSelectAdapter:h,selectOptionsAdapter:b,permissionOptionsAdapter:S,apiPrefix:c}),n)for(const p of Object.keys(n))G.defineRule(p,n[p])}function vn(t){const o=G.useFormValues(),r=pe().form;if(!o)throw new Error("useDependencies should be used within <SunnyForm> (VeeValidate Form)");const a=e.computed(()=>o.value),l=e.computed(()=>t()),s=e.computed(()=>{const p=l.value;if(!p)return!0;const{if:u}=p,A=a.value;return T.isFunction(u)?!!u(A,r):T.isBoolean(u)?u:!0}),i=e.computed(()=>{const p=l.value;if(!p)return!0;const{show:u}=p,A=a.value;return T.isFunction(u)?!!u(A,r):T.isBoolean(u)?u:!0}),h=e.computed(()=>{const p=l.value;if(!p)return!1;const{disabled:u}=p,A=a.value;return T.isFunction(u)?!!u(A,r):T.isBoolean(u)?u:!1}),b=e.computed(()=>{const p=l.value;if(!p)return!1;const{required:u}=p,A=a.value;return T.isFunction(u)?!!u(A,r):!1}),S=e.computed(()=>{const p=l.value;if(!p)return{};const{componentProps:u}=p,A=a.value;return T.isFunction(u)?u(A,r)||{}:{}}),c=e.computed(()=>{const p=l.value;if(!p)return;const{rules:u}=p,A=a.value;if(T.isFunction(u))return u(A,r)});return{dynamicComponentProps:S,dynamicRules:c,isDisabled:h,isIf:s,isRequired:b,isShow:i}}const eo=e.defineComponent({__name:"FormField",props:{schema:{}},setup(t){const o=t,n=G.useFormValues(),r=pe(),a=e.computed(()=>U.disabled??!1),{isVertical:l}=Fe(),s=r.form,i=Yn(),{dynamicComponentProps:h,dynamicRules:b,isDisabled:S,isIf:c,isRequired:p,isShow:u}=vn(()=>o.schema.dependencies),A=e.computed(()=>{const{component:P}=o.schema;return T.isString(P)&&Xn[P]||P}),g=e.computed(()=>{const{component:P}=o.schema;return P==="Slot"}),k=e.computed(()=>{if(!g.value||!i)return!1;const P=o.schema.fieldName;return P?!!i[P]:!1}),E=(P,V)=>{const R=o.schema.fieldName;if(!R||!i||!i[R])return null;const M=i[R],Q=z=>{P.onInput(z)},O={model:n.value,value:P.value,setValue:Q,disabled:B.value,errorMessage:V,field:P,componentProps:m.value};return M(O)},x=e.defineComponent({name:"FieldSlotRenderer",props:{field:{type:Object,required:!0},errorMessage:{type:String,default:void 0}},setup(P){return()=>E(P.field,P.errorMessage)}}),C=e.computed(()=>o.schema.hidden?!1:c.value&&u.value),I=e.computed(()=>b.value||o.schema.rules),y=e.computed(()=>{if(!C.value)return!1;if(!I.value)return p.value;if(p.value)return!0;if(T.isString(I.value))return I.value.split("|").includes("required");const P=e.toRaw(I.value);let V=P?.isOptional?.();if(P?._def?.typeName==="ZodDefault"){const M=P?._def.innerType;M&&(V=M.isOptional?.())}return!V}),d=e.computed(()=>{if(!C.value)return null;let P=e.toRaw(I.value);if(!P)return p.value?"required":void 0;if(T.isString(P))return P;if(!!y.value){const R=P?.unwrap?.();R&&(P=R)}return ve.toTypedSchema(P)}),m=e.computed(()=>{const{componentProps:P,commonComponentProps:V}=o.schema,R=T.isFunction(P)?P(n.value,s):P;return{...V,...R,...h.value}}),f=P=>{const V=m.value,R=(Q,O)=>(...z)=>{T.isFunction(Q)&&Q(...z),O(...z)},M=Q=>{T.isFunction(V?.onInput)&&V.onInput(Q),P.onInput(Q)};return{...V,onInput:R(V?.onInput,P.onInput),onChange:R(V?.onChange,P.onChange),modelValue:P.value,"onUpdate:modelValue":M}};e.watch(()=>m.value?.autofocus,P=>{P===!0&&e.nextTick(()=>{})},{immediate:!0});const B=e.computed(()=>S.value||o.schema.disabled||m.value?.disabled||o.schema.formDisabled||a.value),N=e.computed(()=>{if(!(l.value||!o.schema.labelWidth))return{style:{flex:1}}}),j=e.computed(()=>{if(l.value||!o.schema.labelWidth)return;const P=o.schema.labelWidth,V=typeof P=="number"?`${P}px`:P;return{style:{width:V,minWidth:V,maxWidth:V,flex:`0 0 ${V}`}}});return(P,V)=>{const R=e.resolveComponent("a-form-item");return C.value&&t.schema.fieldName?(e.openBlock(),e.createBlock(e.unref(G.Field),{key:0,name:t.schema.fieldName,rules:d.value,label:t.schema.label},{default:e.withCtx(({field:M,errorMessage:Q})=>[e.createVNode(R,e.mergeProps({label:t.schema.label,help:Q||t.schema.help,"validate-status":Q?"error":void 0,required:y.value,"label-col-props":j.value,"wrapper-col-props":N.value},t.schema.formFieldProps),{default:e.withCtx(()=>[k.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(x)),{key:0,field:M,"error-message":Q},null,8,["field","error-message"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(A.value),e.mergeProps({key:1},f(M),{disabled:B.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)}}}),to=["onClick"],Le=e.defineComponent({__name:"form-actions",props:{modelValue:{type:Boolean},formApi:{},searchPlanConfig:{}},emits:["update:modelValue","reset","submit"],setup(t,{expose:o,emit:n}){const r=t,a=n,{props:l}=Fe(),s=G.useFormContext(),i=e.computed({get:()=>r.modelValue??!1,set:u=>a("update:modelValue",u)}),h=e.computed(()=>({content:"重置",show:!0,type:"outline",...e.unref(l).resetButtonOptions})),b=e.computed(()=>({content:"查询",show:!0,htmlType:r.formApi?"button":"submit",...e.unref(l).submitButtonOptions}));async function S(u){if(r.formApi){u?.preventDefault(),u?.stopPropagation();const A=e.unref(l),{valid:g}=await r.formApi.validate();if(!g)return;const k=e.toRaw(await r.formApi.getValues())??{};await A.handleSubmit?.(k)}}async function c(u){u?.preventDefault(),u?.stopPropagation();const A=e.unref(l);if(r.formApi){const g=e.toRaw(await r.formApi.getValues())??{};A.handleReset?await A.handleReset(g):r.formApi.resetForm()}else if(s)if(A.handleReset){const g=s.values;await A.handleReset(g)}else s.resetForm();a("reset")}e.watch(()=>i.value,()=>{e.unref(l).collapseTriggerResize&&window.dispatchEvent(new Event("resize"))});const p=e.computed(()=>{const u=e.unref(l),A=u.actionPosition||"right",g=["flex","items-center","gap-3",u.layout==="vertical"?"self-end":"self-start",u.layout==="inline"?"":"w-full",u.actionWrapperClass];switch(A){case"center":{g.push("justify-center");break}case"left":{g.push("justify-start");break}default:{g.push("justify-end");break}}return g.join(" ")});return o({handleReset:c,handleSubmit:S}),(u,A)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(p.value)},[e.unref(e.unref(l)).actionButtonsReverse?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(u.$slots,"submit-before"),b.value.show?(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:0,type:"primary",size:e.unref(e.unref(l)).size||"small",onClick:S},b.value),{icon:e.withCtx(()=>[e.createVNode(e.unref(se))]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(b.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0)],64)),e.renderSlot(u.$slots,"reset-before"),h.value.show?(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:1,size:e.unref(e.unref(l)).size,onClick:c},h.value),{icon:e.withCtx(()=>[e.createVNode(e.unref(gt))]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(h.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0),e.unref(e.unref(l)).actionButtonsReverse?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.renderSlot(u.$slots,"submit-before"),b.value.show?(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:0,type:"primary",size:e.unref(e.unref(l)).size||"small",onClick:S},b.value),{icon:e.withCtx(()=>[e.createVNode(e.unref(se))]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(b.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"expand-before"),e.renderSlot(u.$slots,"search-plan",{},()=>[r.searchPlanConfig?.enable?(e.openBlock(),e.createBlock(e.unref(Ge),{key:0,"form-config":r.searchPlanConfig.formConfig,"current-search-plan":r.searchPlanConfig.currentSearchPlan,"search-plan-list":r.searchPlanConfig.searchPlanList,"resource-id":r.searchPlanConfig.resourceId,"n-resourceid":r.searchPlanConfig.nResourceid,api:r.searchPlanConfig.api,onSearch:r.searchPlanConfig.onSearch,onDefaultPlanLoaded:r.searchPlanConfig.onDefaultPlanLoaded,"onUpdate:currentSearchPlan":A[0]||(A[0]=g=>r.searchPlanConfig?.onUpdateCurrentSearchPlan&&r.searchPlanConfig.onUpdateCurrentSearchPlan(g)),"onUpdate:searchPlanList":A[1]||(A[1]=g=>r.searchPlanConfig?.onUpdateSearchPlanList&&r.searchPlanConfig.onUpdateSearchPlanList(g))},{trigger:e.withCtx(({open:g})=>[e.createElementVNode("button",{type:"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 mr-2",onClick:g,title:"查询方案"},[e.createVNode(e.unref(ue),{icon:"lucide:filter",class:"w-4 h-4"})],8,to)]),_:1},8,["form-config","current-search-plan","search-plan-list","resource-id","n-resourceid","api","onSearch","onDefaultPlanLoaded"])):e.createCommentVNode("",!0)]),e.unref(e.unref(l)).showCollapseButton?(e.openBlock(),e.createElementBlock("div",{key:3,class:"cursor-pointer ml-2 text-primary hover:opacity-80 transition-opacity select-none",onClick:A[2]||(A[2]=g=>i.value=!i.value)},[e.createElementVNode("span",null,e.toDisplayString(i.value?"展开":"收起"),1)])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"expand-after")],2))}});function no(t){const o={xs:576,sm:576,md:768,lg:992,xl:1200,xxl:1600},n=ye.useBreakpoints(o),r=e.computed(()=>{const i={},h=t.schema||[],b=l(),S=t.commonConfig?.colProps;return h.forEach(c=>{if(!c.fieldName)return;const p=c.colProps||S;i[c.fieldName]=s(p,c.colSpan,b)}),i}),a=e.computed(()=>{const i=l();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 l(){return n.greaterOrEqual("xxl").value?"xxl":n.greaterOrEqual("xl").value?"xl":n.greaterOrEqual("lg").value?"lg":n.greaterOrEqual("md").value?"md":n.greaterOrEqual("sm").value?"sm":"xs"}function s(i,h,b){if(i){const S=["xxl","xl","lg","md","sm","xs"],c=S.indexOf(b);for(let p=c;p<S.length;p++){const u=S[p],A=i[u];if(A!==void 0)return typeof A=="object"?A.span??24:A}if(i.span!==void 0)return i.span}return h!==void 0?h:24}return{spans:r,actionSpan:a}}const oo={class:"h-full flex flex-col justify-end"},Oe=e.defineComponent({__name:"Form",props:{formApi:{},form:{}},emits:["submit"],setup(t,{expose:o,emit:n}){const r=t,a=n,l=e.useSlots(),s=Gn(),i=e.reactive({...s.value});e.watch(()=>s.value,d=>{Object.assign(i,d)},{deep:!0}),Wn(i),Jn(l);const{spans:h,actionSpan:b}=no(i),S=e.computed(()=>{const{commonConfig:d={},labelWidth:m,schema:f=[]}=i,{componentProps:B={},formFieldProps:N={},disabled:j,...P}=d,V={...P};return m!==void 0&&Object.assign(V,{labelWidth:m}),f.map(R=>({...V,...R,formDisabled:j,hidden:R.hidden??R.hide,commonComponentProps:B,formFieldProps:{...N,...R.formFieldProps||{}},componentProps:R.componentProps}))}),c=e.computed(()=>i.layout==="inline"),{handleSubmit:p,resetForm:u,setValues:A,values:g,validate:k,errors:E,meta:x}=r.form||G.useForm({initialValues:S.value.reduce((d,m)=>(m.fieldName&&(d[m.fieldName]=m.defaultValue),d),{})});o({validate:async()=>({valid:(await k()).valid,errors:E.value}),handleSubmit:p}),e.onMounted(()=>{r.formApi&&r.formApi.mount({handleSubmit:p,resetForm:u,setValues:A,values:g,validate:k,errors:E,meta:x})});const C=p(d=>{a("submit",d),i.handleSubmit&&i.handleSubmit(d)}),I=d=>{i.collapsed=d,i.handleCollapsedChange?.(d),r.formApi&&r.formApi.setState({collapsed:d})},y=e.computed(()=>{const{compact:d,gridProps:m}=i,f=d?8:16,B=m?.xGap??m?.["x-gap"]??f,N=m?.yGap??m?.["y-gap"]??f;return{x:B,y:N}});return(d,m)=>{const f=e.resolveComponent("a-col"),B=e.resolveComponent("a-row"),N=e.resolveComponent("a-form");return e.openBlock(),e.createBlock(N,{model:{},layout:e.unref(s).layout||"horizontal",size:e.unref(s).size||"small",class:"arco-form",onSubmit:m[0]||(m[0]=(j,P)=>e.unref(C)(P))},{default:e.withCtx(()=>[e.createVNode(B,{gutter:[y.value.x,y.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(S.value,(j,P)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:j.fieldName||P},[j.fieldName&&!j.hidden&&(!i.collapsed||P<24/(e.unref(h)[j.fieldName]??24)*(i.collapsedRows??1)-1)?(e.openBlock(),e.createBlock(f,{key:0,span:e.unref(h)[j.fieldName]??(c.value?void 0:24)},{default:e.withCtx(()=>[e.createVNode(eo,{schema:j},null,8,["schema"])]),_:2},1032,["span"])):e.createCommentVNode("",!0)],64))),128)),i.showDefaultActions||e.unref(l).actions?(e.openBlock(),e.createBlock(f,{key:0,span:e.unref(b),style:e.normalizeStyle(c.value?{marginLeft:"16px"}:{flex:1,textAlign:"right"})},{default:e.withCtx(()=>[e.createElementVNode("div",oo,[e.unref(l).actions?e.renderSlot(d.$slots,"actions",{key:0,collapsed:i.collapsed,formApi:r.formApi}):(e.openBlock(),e.createBlock(Le,{key:1,"model-value":i.collapsed,"onUpdate:modelValue":I,"form-api":r.formApi,"search-plan-config":i.searchPlanConfig},e.createSlots({_:2},[e.unref(l)["submit-before"]?{name:"submit-before",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"submit-before")]),key:"0"}:void 0,e.unref(l)["reset-before"]?{name:"reset-before",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"reset-before")]),key:"1"}:void 0,e.unref(l)["expand-before"]?{name:"expand-before",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"expand-before")]),key:"2"}:void 0,e.unref(l)["expand-after"]?{name:"expand-after",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"expand-after")]),key:"3"}:void 0]),1032,["model-value","form-api","search-plan-config"]))])]),_:3},8,["span","style"])):e.createCommentVNode("",!0)]),_:3},8,["gutter","class","align"])]),_:3},8,["layout","size"])}}}),De=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:{},searchPlanConfig:{},formApi:{}},setup(t){const o=t,n=o.formApi.useStore?.()||e.computed(()=>({})),r=e.computed(()=>{const S=Object.entries(o).reduce((c,[p,u])=>(u!==void 0&&(c[p]=u),c),{});return{...n.value,...S}}),a=new Map,{delegatedSlots:l,form:s}=Kn(r);je(r),_n(a),e.onBeforeUnmount(()=>{o.formApi.unmount()});const i={};e.onMounted(async()=>{o.formApi.mount(s,a),o.formApi.setState({values:T.cloneDeep(s.values)}),await e.nextTick(),e.watch(()=>s.values,async S=>{if(o.formApi.setState({values:T.cloneDeep(S)}),h(),!r.value.handleValuesChange)return;const c=r.value.schema?.map(u=>u.fieldName)||[];if(c.length===0)return;const p=[];for(const u of c){const A=T.get(S,u),g=T.get(i,u);T.isEqual(A,g)||(p.push(u),T.set(i,u,A))}if(p.length>0){const u=await o.formApi.getValues();r.value.handleValuesChange(T.cloneDeep(u??{}),p)}},{deep:!0})});const h=ye.useDebounceFn(async()=>{n.value.submitOnChange&&await o.formApi.submitForm()},300);function b(S){n.value.submitOnEnter&&(S.target instanceof HTMLTextAreaElement||(S.preventDefault(),o.formApi.submitForm()))}return(S,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value.wrapperClass)},[e.createVNode(Oe,e.mergeProps(r.value,{form:e.unref(s),"form-api":o.formApi,onKeydown:e.withKeys(b,["enter"])}),e.createSlots({default:e.withCtx(()=>[]),_:2},[e.renderList(e.unref(l),p=>({name:p,fn:e.withCtx(u=>[e.renderSlot(S.$slots,p,e.normalizeProps(e.guardReactiveProps(u)))])}))]),1040,["form","form-api"])],2))}});function ze(t={}){const o=new Ie(t);return o.useStore=r=>Xe.useStore(o.store.store,r),e.isReactive(t)&&e.watch(()=>t.schema,()=>{t.schema&&o.setState({schema:t.schema})},{immediate:!0}),[e.defineComponent({name:"useSunnyFormWrapper",setup(r,{attrs:a,slots:l}){return o.setState({...r,...a}),()=>e.h(De,{...r,...a,formApi:o},l)}}),o]}const Qe=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:{},searchPlanConfig:{}},emits:["submit","reset","update:collapsed"],setup(t,{expose:o,emit:n}){const r=t,a=n,l=e.useSlots(),s=e.ref(null),i=e.computed(()=>r);je(i);const h=c=>{a("update:collapsed",c),r.handleCollapsedChange?.(c)},b=c=>{a("submit",c),r.handleSubmit?.(c)},S=()=>{a("reset",void 0)};return o({validate:async()=>s.value?s.value.validate():{valid:!1,errors:{}},submit:()=>{s.value?.handleSubmit&&s.value.handleSubmit(b)(void 0)}}),(c,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.wrapperClass)},[e.createVNode(Oe,{ref_key:"formRenderRef",ref:s,onSubmit:b},e.createSlots({default:e.withCtx(()=>[r.showDefaultActions?(e.openBlock(),e.createBlock(Le,{key:0,"model-value":r.collapsed,"onUpdate:modelValue":h,onReset:S,"search-plan-config":r.searchPlanConfig},{"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","search-plan-config"])):e.createCommentVNode("",!0)]),_:2},[e.renderList(e.unref(l),(u,A)=>({name:A,fn:e.withCtx(g=>[e.renderSlot(c.$slots,A,e.normalizeProps(e.guardReactiveProps(g)))])}))]),1536)],2))}});let ro=class{gridRef;constructor(o,n){this.gridRef=o}get grid(){return this.gridRef.value?.getGrid?.()||this.gridRef.value}get $grid(){return this.grid}async reloadData(o){const n=this.grid;n&&await n.reloadData(o)}async getFullData(){const o=this.grid;return o?o.getFullData():[]}async getCheckboxRecords(){const o=this.grid;return o?o.getCheckboxRecords():[]}async addEvent(o,n){const r=this.grid;if(r){const{row:a}=await r.insertAt(o,n);await e.nextTick(),r.setEditRow(a)}}async deleteSelection(){const o=this.grid;if(o){const n=o.getCheckboxRecords();n.length>0&&await o.remove(n)}}async validate(o=!0){const n=this.grid;return n?n.validate(o):null}};const ao=e.defineComponent({__name:"use-vxe-grid",setup(t,{expose:o}){const n=e.ref();return o({getGrid:()=>n.value}),(r,a)=>{const l=e.resolveComponent("a-config-provider");return e.openBlock(),e.createBlock(l,{size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(ne.VxeGrid),e.mergeProps({ref_key:"gridRef",ref:n},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 lo(t){const o=e.ref(),n=new ro(o,t);return[e.defineComponent((a,{attrs:l,slots:s})=>{const{gridEvents:i,gridOptions:h}=t,b=Object.entries(i||{}).reduce((S,[c,p])=>{const u=`on${c.charAt(0).toUpperCase()+c.slice(1)}`;return S[u]=p,S},{});return()=>e.h(ao,{ref:o,...a,...l,...h,...b},s)}),n]}const so=Object.freeze(Object.defineProperty({__proto__:null,BusinessSearchRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]?JSON.stringify(t[o.field]):""])],edit:({row:t,column:o})=>[e.createVNode(he,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},DatePickerRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>[e.createVNode(w.DatePicker,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},InputNumberRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>{const n=t[o.field],r=typeof n=="string"&&n!==""?Number(n):n;return[e.createVNode(w.InputNumber,e.mergeProps({modelValue:r,"onUpdate:modelValue":a=>{typeof n=="string"&&a!==null&&a!==void 0?t[o.field]=String(a):t[o.field]=a}},o.params),null)]}}},InputRangeRender:{editRender:{},slots:{default:({row:t,column:o})=>{const n=o.params?.fieldNames;let r;if(n){const a=t[n.start],l=t[n.end];r=[a,l]}else r=t[o.field];return[e.createVNode("span",null,[q.isArray(r)?r.join(" ~ "):r])]},edit:({row:t,column:o})=>{const n=o.params?.fieldNames,r=o.params?.inputType||"input",a=r==="number"?w.InputNumber:w.Input;if(n){const i=t[n.start],h=t[n.end],b=r==="number"&&typeof i=="string"&&i!==""?Number(i):i,S=r==="number"&&typeof h=="string"&&h!==""?Number(h):h;return[e.createVNode("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},[e.createVNode(a,e.mergeProps({modelValue:b,"onUpdate:modelValue":c=>{r==="number"&&typeof i=="string"&&c!==null&&c!==void 0?t[n.start]=String(c):t[n.start]=c}},o.params),null),e.createVNode("span",null,[e.createTextVNode("~")]),e.createVNode(a,e.mergeProps({modelValue:S,"onUpdate:modelValue":c=>{r==="number"&&typeof h=="string"&&c!==null&&c!==void 0?t[n.end]=String(c):t[n.end]=c}},o.params),null)])]}const l=t[o.field],s=r==="number"&&typeof l=="string"&&l!==""?Number(l):l;return[e.createVNode(a,e.mergeProps({modelValue:s,"onUpdate:modelValue":i=>{r==="number"&&typeof l=="string"&&i!==null&&i!==void 0?t[o.field]=String(i):t[o.field]=i}},o.params),null)]}}},InputRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>[e.createVNode(w.Input,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},MonthPickerRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>[e.createVNode(w.MonthPicker,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},RangePickerRender:{editRender:{},slots:{default:({row:t,column:o})=>{const n=o.params?.fieldNames;let r;if(n){const a=t[n.start],l=t[n.end];r=[a,l]}else r=t[o.field];return[e.createVNode("span",null,[q.isArray(r)?r.join(" / "):r])]},edit:({row:t,column:o})=>{const n=o.params?.fieldNames;let r;if(n){const a=t[n.start],l=t[n.end];r=[a,l]}else r=t[o.field];return[e.createVNode(w.RangePicker,e.mergeProps({modelValue:r,"onUpdate:modelValue":a=>{n?q.isArray(a)&&a.length===2?(t[n.start]=a[0],t[n.end]=a[1]):(t[n.start]=void 0,t[n.end]=void 0):t[o.field]=a}},o.params),null)]}}},SelectRender:{editRender:{},slots:{default:({row:t,column:o})=>{const n=t[o.field],a=o.params?.options?.find(l=>l.value===n);return[e.createVNode("span",null,[a?.label??n])]},edit:({row:t,column:o})=>[e.createVNode(w.Select,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},SpanRender:{editRender:{},slots:{default:({row:t,column:o})=>{const n=t[o.field],a=o.params?.options?.find(l=>l.value===n);return[e.createVNode("span",null,[a?.label??n])]}}},SpanselectRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])]}},SwitchRender:{editRender:{},slots:{default:({row:t,column:o})=>{const{checkedValue:n,checkedText:r,uncheckedValue:a,uncheckedText:l}=o.params||{},s=t[o.field];return n!==void 0&&r!==void 0&&s===n?[e.createVNode("span",null,[r])]:a!==void 0&&l!==void 0&&s===a?[e.createVNode("span",null,[l])]:[e.createVNode("span",null,[s])]},edit:({row:t,column:o})=>[e.createVNode(w.Switch,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},TextareaRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>{const n=e.ref(!1),r=e.ref(t[o.field]||"");return[e.createVNode(w.Popover,{popupVisible:n.value,"onUpdate:popupVisible":a=>n.value=a,trigger:"click",position:"top"},{default:()=>[e.createVNode(w.Input,e.mergeProps({modelValue:r.value,"onUpdate:modelValue":a=>{r.value=a,t[o.field]=a},onFocus:()=>{n.value=!0}},o.params),null)],content:()=>[e.createVNode(w.Textarea,e.mergeProps({modelValue:r.value,"onUpdate:modelValue":a=>{r.value=a,t[o.field]=a},autoSize:{minRows:3,maxRows:6},placeholder:o.params?.placeholder||"请输入内容"},o.params),null)]})]}}},UploadRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]?JSON.stringify(t[o.field]):""])],edit:({row:t,column:o})=>[e.createVNode(Ee,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},WeekPickerRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>[e.createVNode(w.WeekPicker,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}},YearPickerRender:{editRender:{},slots:{default:({row:t,column:o})=>[e.createVNode("span",null,[t[o.field]])],edit:({row:t,column:o})=>[e.createVNode(w.YearPicker,e.mergeProps({modelValue:t[o.field],"onUpdate:modelValue":n=>{t[o.field]=n}},o.params),null)]}}},Symbol.toStringTag,{value:"Module"})),io=Object.freeze(Object.defineProperty({__proto__:null,requiredValidator:({row:t,rule:o})=>{const n=t[o.field];if(n==null||n==="")return new Error(o.message)}},Symbol.toStringTag,{value:"Module"}));class co{gridRef;constructor(o){this.gridRef=o}get grid(){return this.gridRef.value?.getGrid?.()||this.gridRef.value}get $grid(){return this.grid}async addEvent(o={}){const n=this.grid;if(n){const{record:r={},index:a=-1}=o,{row:l}=await n.insertAt(r,a);await e.nextTick(),n.setEditRow(l)}}getSelection(){const o=this.grid;return o?o.getCheckboxRecords():[]}async deleteSelection(){const o=this.grid;if(o){const n=o.getCheckboxRecords();n.length>0&&await o.remove(n)}}clearSelection(){const o=this.grid;o&&o.clearCheckboxRow()}commitProxy(o,...n){const r=this.grid;if(r)return r.commitProxy(o,...n)}}function fo(t,o){let n=null,r=null,a=null,l=null,s=null,i=!1,h=!1;const b=g=>{if(!g)return window;let k=g.parentElement;for(;k;){const E=window.getComputedStyle(k);if(/(auto|scroll)/.test(E.overflow+E.overflowY+E.overflowX))return k;k=k.parentElement}return window},S=()=>{n&&n.classList.contains("is-sticky")&&(n.style.position="",n.style.top="",n.style.left="",n.style.zIndex="",n.style.width="",n.classList.remove("is-sticky"),r&&r.parentNode&&(r.parentNode.removeChild(r),r=null)),l&&(l.style.display="none")},c=()=>{h||l&&a&&(i=!0,l.scrollLeft=a.scrollLeft,requestAnimationFrame(()=>{i=!1}))},p=()=>{i||l&&a&&(h=!0,a.scrollLeft=l.scrollLeft,requestAnimationFrame(()=>{h=!1}))},u=()=>{!t.value||l||(l=document.createElement("div"),l.className="vxe-table--sticky-scrollbar",l.style.position="fixed",l.style.bottom="0",l.style.overflowX="auto",l.style.overflowY="hidden",l.style.zIndex="101",l.style.display="none",s=document.createElement("div"),l.appendChild(s),l.addEventListener("scroll",p),document.body.appendChild(l),a=t.value.$el.querySelector(".vxe-table--body-wrapper"),a&&a.addEventListener("scroll",c))},A=()=>{if(!t.value||!n)return;if(!o.sticky){S();return}const g=t.value.$el,k=g.getBoundingClientRect(),E=n.getBoundingClientRect(),x=b(g);let C={top:0,bottom:window.innerHeight};if(x!==window&&x instanceof HTMLElement&&(C=x.getBoundingClientRect()),C.bottom>0&&C.top<window.innerHeight&&k.top<C.top&&k.bottom>E.height){const y=Math.max(0,C.top);k.bottom-E.height>y?(!n.classList.contains("is-sticky")||n.style.top!==`${y}px`||n.style.left!==`${k.left}px`)&&(n.style.position="fixed",n.style.top=`${y}px`,n.style.left=`${k.left}px`,n.style.width=`${k.width}px`,n.style.zIndex="100",n.classList.add("is-sticky"),r||(r=document.createElement("div"),n.parentNode?.insertBefore(r,n)),r.style.height=`${E.height}px`):S()}else n.classList.contains("is-sticky")&&(n.style.position="",n.style.top="",n.style.left="",n.style.width="",n.classList.remove("is-sticky"),r&&r.parentNode&&(r.parentNode.removeChild(r),r=null));if((!l||!a)&&u(),l&&a&&s){const y=a.scrollWidth,d=a.clientWidth;if(y>d){const m=window.innerHeight;k.bottom>m&&k.top<m?(l.style.display="block",l.style.width=`${k.width}px`,l.style.left=`${k.left}px`,s.style.width=`${y}px`,Math.abs(l.scrollLeft-a.scrollLeft)>1&&(l.scrollLeft=a.scrollLeft)):l.style.display="none"}else l.style.display="none"}};e.watch(()=>o.sticky,()=>{A()}),e.onMounted(()=>{setTimeout(()=>{t.value&&(n=t.value.$el.querySelector(".vxe-table--header-wrapper"),n&&(window.addEventListener("scroll",A,!0),window.addEventListener("resize",A)),u())},100)}),e.onBeforeUnmount(()=>{window.removeEventListener("scroll",A,!0),window.removeEventListener("resize",A),r&&r.parentNode&&r.parentNode.removeChild(r),l&&l.parentNode&&l.parentNode.removeChild(l),a&&a.removeEventListener("scroll",c)})}const mo={class:"my-filter-complex"},uo={key:0,class:"my-filter-input"},po={class:"my-fc-footer"},ho=H(e.defineComponent({__name:"FilterComplex",props:{renderOpts:Object,renderParams:Object},setup(t){const o=t,n=e.ref(),r=e.computed(()=>{const{column:c}=o.renderParams||{};return c?c.field:""}),a=()=>{const{renderParams:c}=o;if(c){const{column:p}=c,u=p.filters[0];n.value=u}};e.watch(r,()=>{a()}),a();const l=e.computed(()=>o.renderParams?.column),s=e.computed(()=>{const c=l.value;return c&&q.hasIn(c.params,"optionlist")?"select":"input"}),i=()=>{const{renderParams:c}=o,p=n.value;if(c&&p){const{$table:u}=c,A=!!p.data;u.updateFilterOptionStatus(p,A)}},h=()=>{const{renderParams:c}=o,p={};if(c){const{$table:u}=c;u.getColumns().forEach(g=>{const{field:k,filters:E}=g;if(k&&E&&E.length){const x=E[0];x.data&&(p[k]=x.data)}})}return p},b=()=>{const{renderParams:c}=o;if(c){const{$table:p,$grid:u}=c,A=n.value;A&&p.updateFilterOptionStatus(A,!!A.data);const g=h();u.commitProxy("query",g),u.closeFilter()}},S=()=>{const{renderParams:c}=o,p=n.value;if(c&&p){const{$table:u,$grid:A}=c;p.data="",u.updateFilterOptionStatus(p,!1);const g=h();A.commitProxy("query",g),A.closeFilter()}};return(c,p)=>(e.openBlock(),e.createElementBlock("div",mo,[n.value?(e.openBlock(),e.createElementBlock("div",uo,[s.value==="select"&&l.value?(e.openBlock(),e.createBlock(e.unref(K.VxeSelect),{key:0,modelValue:n.value.data,"onUpdate:modelValue":p[0]||(p[0]=u=>n.value.data=u),options:l.value.params.optionlist,clearable:"",onChange:i},null,8,["modelValue","options"])):(e.openBlock(),e.createBlock(e.unref(K.VxeInput),{key:1,modelValue:n.value.data,"onUpdate:modelValue":p[1]||(p[1]=u=>n.value.data=u),clearable:"",onKeyup:e.withKeys(b,["enter"]),onInput:i},null,8,["modelValue"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",po,[e.createVNode(e.unref(K.VxeButton),{onClick:S},{default:e.withCtx(()=>[...p[2]||(p[2]=[e.createTextVNode("重置",-1)])]),_:1}),e.createVNode(e.unref(K.VxeButton),{status:"primary",onClick:b},{default:e.withCtx(()=>[...p[3]||(p[3]=[e.createTextVNode("确认",-1)])]),_:1})])]))}}),[["__scopeId","data-v-85c1d0e2"]]);ne.VxeUI.renderer.add("MyFilterComplex",{showTableFilterFooter:!1,renderTableFilter(t,o){return e.createVNode(ho,{renderOpts:t,renderParams:o},null)}});const $e=e.defineComponent({components:{VxePager:K.VxePager,VxeButton:K.VxeButton},__name:"use-query-grid",props:{size:{default:"small"}},setup(t,{expose:o}){const n=t,r=e.ref(),a=e.useAttrs();return fo(r,a),o({getGrid:()=>r.value}),(l,s)=>(e.openBlock(),e.createBlock(e.unref(ne.VxeGrid),e.mergeProps({ref_key:"gridRef",ref:r},l.$attrs,{size:n.size}),e.createSlots({_:2},[e.renderList(l.$slots,(i,h)=>({name:h,fn:e.withCtx(b=>[e.renderSlot(l.$slots,h,e.normalizeProps(e.guardReactiveProps(b||{})))])}))]),1040,["size"]))}});function go(t){const o=e.ref(),n=new co(o);return[e.defineComponent((a,{attrs:l,slots:s})=>{const{gridEvents:i,gridOptions:h}=t,b=Object.entries(i||{}).reduce((S,[c,p])=>{const u=`on${c.charAt(0).toUpperCase()+c.slice(1)}`;return S[u]=p,S},{});return()=>e.h($e,{ref:o,...a,...l,...h,...b},s)}),n]}function Ue(t){const{props:o,emit:n,attrs:r}=t,a=e.computed(()=>o.contextMenuActions||o.actions||[]),l=e.computed(()=>{const g=r["field-names"],k=r.fieldNames;return{key:"key",title:"title",children:"children",...g||k||{}}}),s=g=>{const k=l.value.key||"key";return g[k]??g.key},i=()=>r.data||[],h=g=>{const k=s(g);return k==null?!1:i().some(E=>s(E)===k||E===g)},b=(g,k,E)=>typeof g=="boolean"?g:typeof g=="function"?g(k):E,S=g=>g?!o.enableRootContextMenu&&h(g)?[]:a.value.filter(k=>b(k.visible,g,!0)):[],c=(g,k)=>b(g.disabled,k,!1);return{canShowContextMenu:g=>S(g).length>0,getNodeActions:S,isActionDisabled:c,getNodeTitle:g=>{const k=l.value.title||"title",E=s(g);return String(g?.[k]??g?.title??E??"")},handleActionClick:async(g,k)=>{const E=S(k).find(x=>x.key===String(g));E&&(c(E,k)||(E.handler&&await E.handler(k),n("action",{key:E.key,action:E,node:k})))}}}const yo={class:"sunny-resource-tree"},So={class:"sunny-resource-tree__title"},Co=H(e.defineComponent({name:"SunnyResourceTree",inheritAttrs:!1,__name:"SunnyResourceTree",props:{contextMenuActions:{default:()=>[]},actions:{default:()=>[]},enableRootContextMenu:{type:Boolean,default:!1}},emits:["action"],setup(t,{expose:o,emit:n}){const r=t,a=n,l=e.useAttrs(),s=e.useSlots(),i=e.ref(),{canShowContextMenu:h,getNodeActions:b,isActionDisabled:S,getNodeTitle:c,handleActionClick:p}=Ue({props:r,emit:a,attrs:l}),u=(k,E)=>{p(k,E)},A=e.computed(()=>Object.keys(s).filter(k=>k!=="title")),g=(k,...E)=>i.value?.[k]?.(...E);return o({getTree:()=>i.value,toggleCheck:(k,E)=>g("toggleCheck",k,E),scrollIntoView:k=>g("scrollIntoView",k),getSelectedNodes:()=>g("getSelectedNodes"),getCheckedNodes:k=>g("getCheckedNodes",k),getHalfCheckedNodes:()=>g("getHalfCheckedNodes"),getExpandedNodes:()=>g("getExpandedNodes"),checkAll:k=>g("checkAll",k),checkNode:(k,E,x)=>g("checkNode",k,E,x),selectAll:k=>g("selectAll",k),selectNode:(k,E)=>g("selectNode",k,E),expandAll:k=>g("expandAll",k),expandNode:(k,E)=>g("expandNode",k,E)}),(k,E)=>(e.openBlock(),e.createElementBlock("div",yo,[e.createVNode(e.unref(w.Tree),e.mergeProps({ref_key:"treeRef",ref:i},k.$attrs),e.createSlots({title:e.withCtx(x=>[e.unref(h)(x)?(e.openBlock(),e.createBlock(e.unref(w.Dropdown),{key:0,trigger:"contextMenu","popup-max-height":!1,onSelect:C=>u(C,x)},{content:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b)(x),C=>(e.openBlock(),e.createBlock(e.unref(w.Doption),{key:`${String(x?.key)}-${C.key}`,value:C.key,disabled:e.unref(S)(C,x)},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass({"sunny-resource-tree__danger":C.danger})},e.toDisplayString(C.label),3)]),_:2},1032,["value","disabled"]))),128))]),default:e.withCtx(()=>[e.createElementVNode("span",So,[e.renderSlot(k.$slots,"title",e.normalizeProps(e.guardReactiveProps(x)),()=>[e.createTextVNode(e.toDisplayString(e.unref(c)(x)),1)],!0)])]),_:2},1032,["onSelect"])):e.renderSlot(k.$slots,"title",e.normalizeProps(e.mergeProps({key:1},x)),()=>[e.createTextVNode(e.toDisplayString(e.unref(c)(x)),1)],!0)]),_:2},[e.renderList(A.value,x=>({name:x,fn:e.withCtx(C=>[e.renderSlot(k.$slots,x,e.normalizeProps(e.guardReactiveProps(C||{})),void 0,!0)])}))]),1040)]))}}),[["__scopeId","data-v-f860649c"]]);function bo(t){if(!t||!Array.isArray(t))return{};const o={};return t.forEach(n=>{n.fieldName&&n.defaultValue!==void 0&&(o[n.fieldName]=n.defaultValue)}),o}function ko(t,o){const n=e.ref(!1),r=e.ref({}),a=e.ref([]),l=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"),b=d=>q.get(d,h.value),S=()=>{const d=bo(t.formSchema);r.value={...d}};e.watch(()=>t.visible,d=>{d&&(t.modelValue&&Array.isArray(t.modelValue)?a.value=q.cloneDeep(t.modelValue):a.value=[])},{immediate:!0});const c=async d=>{if(t.searchApi){d&&(r.value={...d}),n.value=!0;try{const m={pageNo:l.value.current,pageSize:l.value.pageSize,...r.value};let f;if(typeof t.searchApi=="function"&&(f=await t.searchApi(m)),f){const B=f.list||f.records||[],N=f.total||f.totalCount||0;s.value=B,l.value.total=N}}catch(m){console.error("Search failed:",m),w.Message.error("查询失败")}finally{n.value=!1}}},p=d=>{l.value.current=d,c()},u=d=>{l.value.pageSize=d,l.value.current=1,c()},A=(d,m)=>{const f=b(d),B=a.value.findIndex(N=>b(N)===f);m?B===-1&&(t.multiple?a.value.push(d):a.value=[d]):B>-1&&a.value.splice(B,1)};return{loading:n,searchParams:r,selectedRows:a,pagination:l,tableData:s,actualFieldNames:i,actualRowKey:h,initDefaultValues:S,handleSearch:c,handlePageChange:p,handlePageSizeChange:u,handleCheckboxChange:d=>{const{row:m,checked:f}=d;A(m,f)},handleCheckboxAll:d=>{const{checked:m,records:f}=d;m?f.forEach(B=>A(B,!0)):s.value.forEach(B=>A(B,!1))},handleRadioChange:d=>{const{row:m}=d;a.value=[m]},removeRow:d=>{A(d,!1)},handleOk:()=>{o("update:modelValue",a.value),o("confirm",a.value),o("update:visible",!1)},handleCancel:()=>{a.value=[],o("update:modelValue",[]),o("cancel"),o("update:visible",!1)},toggleRowSelection:A,reset:()=>{s.value=[],a.value=[],l.value.current=1,l.value.total=0,o("update:modelValue",[])}}}const Ao={class:"flex flex-col h-full"},wo={class:"mb-4 border-b border-gray-100 pb-4 shrink-0"},Bo={class:"flex-1 overflow-hidden"},xo={class:"w-[180px] border-l border-gray-200 bg-gray-50 flex flex-col ml-2 overflow-hidden shrink-0"},Eo={class:"font-bold px-2 py-2 text-gray-700 flex justify-between items-center text-xs border-b border-gray-200 shrink-0"},No={class:"flex-1 min-h-0 overflow-y-auto p-2 custom-scrollbar"},Vo={class:"text-xs font-medium text-gray-800 truncate leading-none mb-1"},Po={class:"text-[10px] text-gray-500 truncate leading-none"},Io=["onClick"],Ro={key:1,class:"h-full flex items-center justify-center text-gray-400 text-xs"},Mo={class:"flex justify-between items-center w-full"},Fo={class:"space-x-2"},qe=H(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:o,emit:n}){const r=e.useSlots(),a=t,l=n,s=e.computed({get:()=>a.visible,set:O=>l("update:visible",O)}),i=e.ref(),h=e.ref(null),{loading:b,searchParams:S,selectedRows:c,pagination:p,tableData:u,actualFieldNames:A,actualRowKey:g,initDefaultValues:k,handleSearch:E,handlePageChange:x,handlePageSizeChange:C,handleCheckboxChange:I,handleCheckboxAll:y,handleRadioChange:d,removeRow:m,handleOk:f,handleCancel:B,toggleRowSelection:N,reset:j}=ko(a,l);o({reset:j});const P=async()=>{p.value.current=1,k(),await e.nextTick(),await V()},V=async()=>{if(!h.value)return E(),!0;try{const{valid:O}=await h.value.validate();return O?(E(),!0):!1}catch(O){return console.error("Form validation failed:",O),!1}},R=async O=>{p.value.current=1,a.clearOnSearch&&(c.value=[]),E(O)},M=e.computed(()=>({border:!0,stripe:!0,showOverflow:!0,height:a.contentHeight,align:"center",autoResize:!0,columnConfig:{resizable:!0},rowConfig:{isCurrent:!0,isHover:!0,keyField:g.value},checkboxConfig:{trigger:"row",highlight:!0,reserve:!1},radioConfig:{trigger:"row",highlight:!0,reserve:!1}}));e.watch([()=>u.value,()=>c.value],async()=>{await e.nextTick();const O=i.value?.getGrid?.()||i.value;if(O&&u.value.length>0){O.clearCheckboxRow();const z=u.value.filter($=>c.value.some(L=>L[g.value]===$[g.value]));z.length>0&&O.setCheckboxRow(z,!0)}},{deep:!0});const Q=({row:O})=>{if(!a.multiple)c.value=[O],f();else{const z=c.value.some($=>$[g.value]===O[g.value]);N(O,!z)}};return e.watch(()=>a.visible,O=>{O&&(k(),a.resetOnOpen&&(u.value=[],p.value.total=0,e.nextTick(()=>{V()})))}),(O,z)=>(e.openBlock(),e.createBlock(Z,{modelValue:s.value,"onUpdate:modelValue":z[3]||(z[3]=$=>s.value=$),title:a.title,width:a.width,"unmount-on-close":"","title-align":"start",fullscreen:!1,"help-message":a.helpMessage,onCancel:e.unref(B),onClose:e.unref(B),onOk:e.unref(f)},{footer:e.withCtx(()=>[e.createElementVNode("div",Mo,[e.createVNode(e.unref(w.Pagination),{current:e.unref(p).current,"onUpdate:current":z[2]||(z[2]=$=>e.unref(p).current=$),"page-size":e.unref(p).pageSize,total:e.unref(p).total,"show-total":"","show-page-size":"","page-size-options":[20,50,100,200],size:"small",onChange:e.unref(x),onPageSizeChange:e.unref(C)},null,8,["current","page-size","total","onChange","onPageSizeChange"]),e.createElementVNode("div",Fo,[e.createVNode(e.unref(w.Button),{onClick:e.unref(B)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(D.$t)("common.cancel")),1)]),_:1},8,["onClick"]),e.createVNode(e.unref(w.Button),{type:"primary",onClick:e.unref(f)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(D.$t)("common.confirm")),1)]),_:1},8,["onClick"])])])]),default:e.withCtx(()=>[e.createElementVNode("div",Ao,[e.createElementVNode("div",wo,[e.createVNode(Qe,{ref_key:"formRef",ref:h,values:e.unref(S),"onUpdate:values":z[0]||(z[0]=$=>e.isRef(S)?S.value=$:null),schema:a.formSchema,"common-config":a.commonConfig,"show-default-actions":"","reset-button-options":{show:!0},onSubmit:R,onReset:P,layout:"vertical"},e.createSlots({_:2},[e.renderList(e.unref(r),($,L)=>({name:L,fn:e.withCtx(gr=>[e.renderSlot(O.$slots,L,e.normalizeProps(e.guardReactiveProps(gr)),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 a.contentHeight=="number"?a.contentHeight+"px":a.contentHeight})},[e.createElementVNode("div",Bo,[e.createVNode($e,e.mergeProps({ref_key:"gridRef",ref:i,columns:a.tableColumns,data:e.unref(u),loading:e.unref(b)},M.value,{onCheckboxChange:e.unref(I),onCheckboxAll:e.unref(y),onRadioChange:e.unref(d),onCellDblclick:Q}),null,16,["columns","data","loading","onCheckboxChange","onCheckboxAll","onRadioChange"])]),e.createElementVNode("div",xo,[e.createElementVNode("div",Eo,[e.createElementVNode("span",null,e.toDisplayString(e.unref(D.$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]=$=>c.value=[])},e.toDisplayString(e.unref(D.$t)("common.clear")),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",No,[e.unref(c).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(c),$=>(e.openBlock(),e.createElementBlock("div",{key:$[e.unref(g)],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(w.Tooltip),{content:`${$[e.unref(A).desc]}`},{default:e.withCtx(()=>[e.createElementVNode("div",Vo,e.toDisplayString($[e.unref(A).value]||"-"),1),e.createElementVNode("div",Po,e.toDisplayString($[e.unref(A).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:L=>e.unref(m)($)},[e.createVNode(e.unref(Ce),{size:10})],8,Io)]))),128)):(e.openBlock(),e.createElementBlock("div",Ro,e.toDisplayString(e.unref(D.$t)("common.noData")),1))])])],4)])]),_:3},8,["modelValue","title","width","help-message","onCancel","onClose","onOk"]))}}),[["__scopeId","data-v-4414876c"]]),We={};async function _e(t){const o=We[t];return o?await o():(console.warn(`[SunnyBusinessSearch] Config for type "${t}" not found.`),null)}function To(t,o){We[t]=o}function jo(t,o){const n=e.ref(!1),r=e.ref(!1),a=e.ref({}),l=e.computed({get:()=>t.modelValue||[],set:p=>{o("update:modelValue",p),o("change",p)}}),s=()=>U.businessSearchAdapter,i=p=>async u=>{if(!p?.search)return console.warn("[SunnyBusinessSearch] No search adapter configured."),{records:[],total:0};try{return await p.search({...u,cNum:t.cNum})}catch(A){throw console.error("[SunnyBusinessSearch] Search failed:",A),A}},h=async()=>{if(!t.cNum)return;const p=s();if(!p?.loadConfig){console.warn("[SunnyBusinessSearch] No loadConfig adapter configured. Please call setupBusinessForm() in your app entry.");return}r.value=!0;try{const u=await p.loadConfig(t.cNum);u.searchApi=i(p),a.value=u}catch(u){console.error("[SunnyBusinessSearch] Failed to load dynamic config:",u)}finally{r.value=!1}},b=async()=>{if(t.type){r.value=!0;try{const p=await _e(t.type);p&&(a.value=p)}catch(p){console.error("[SunnyBusinessSearch] Failed to load static config:",p)}finally{r.value=!1}}},S=async()=>{n.value=!0,t.cNum?a.value.title||await h():t.type&&(a.value.title||await b())},c=p=>{l.value=p,n.value=!1};return e.watch(()=>[t.cNum,t.type],()=>{a.value={}}),{visible:n,loading:r,currentConfig:a,selectedValues:l,handleOpen:S,handleConfirm:c}}const Lo={class:"sunny-business-search w-full"},he=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:o}){const n=t,r=o,{visible:a,currentConfig:l,selectedValues:s,handleOpen:i,handleConfirm:h}=jo(n,r),b=e.computed(()=>n.fieldNames||n.modalProps?.fieldNames||l.value.fieldNames||{label:"label",value:"value"}),S=e.computed(()=>{let c=n.modalProps?.multiple;c===void 0&&(c=n.multiple),c===void 0&&n.cSelectionMode&&(c=n.cSelectionMode!=="single"),c=c??l.value.multiple??!0;let u=[...n.modalProps.tableColumns||l.value.tableColumns||[]];return!u.some(g=>g.type==="checkbox"||g.type==="radio")&&u.length>0&&(c?u.unshift({type:"checkbox",width:50,fixed:"left",align:"center"}):u.unshift({type:"radio",width:50,fixed:"left",align:"center"})),{...l.value,multiple:c,fieldNames:b.value,...n.modalProps,tableColumns:u}});return(c,p)=>(e.openBlock(),e.createElementBlock("div",Lo,[e.createVNode(e.unref(Ve),e.mergeProps(c.$attrs,{"model-value":e.unref(s),placeholder:t.placeholder,disabled:t.disabled,"max-tag-count":t.maxTagCount,"field-names":b.value,"onUpdate:modelValue":p[0]||(p[0]=u=>s.value=u),onSearch:e.unref(i)}),e.createSlots({_:2},[e.renderList(c.$slots,(u,A)=>({name:A,fn:e.withCtx(g=>[e.renderSlot(c.$slots,A,e.normalizeProps(e.guardReactiveProps(g||{})))])}))]),1040,["model-value","placeholder","disabled","max-tag-count","field-names","onSearch"]),e.unref(l).title||e.unref(a)?(e.openBlock(),e.createBlock(e.unref(qe),e.mergeProps({key:0,visible:e.unref(a),"onUpdate:visible":p[1]||(p[1]=u=>e.isRef(a)?a.value=u:null),"model-value":e.unref(s)},S.value,{onConfirm:e.unref(h)}),null,16,["visible","model-value","onConfirm"])):e.createCommentVNode("",!0)]))}}),Oo=Object.freeze(Object.defineProperty({__proto__:null,default:he},Symbol.toStringTag,{value:"Module"})),Je={findAllByResourceid:async()=>({data:[]}),findSearchPlanColsByPlanId:async()=>({data:{}}),insert:async()=>({}),update:async()=>({}),del:async()=>({}),findDefSearchPlan:async()=>({data:{}})};function Ye(t,o,n,r,a=Je){const l=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 x=n?.value||t.model;if(r)try{const y=await r.getValues();y&&(x=y)}catch{}const C={...x};if(Object.keys(C).forEach(y=>{const d=C[y];Array.isArray(d)&&(t.formConfig?.some(f=>f.fieldName===y&&f.component&&(f.component.name==="SunnyBusinessSearch"||f.component==="SunnyBusinessSearch"))?C[y]=JSON.stringify(d):C[y]=d.map(f=>{let B=f;return typeof f=="object"&&f!==null&&(B=f.value!==void 0?f.value:f.ID!==void 0?f.ID:f.id!==void 0?f.id:f),typeof B=="string"?B:String(B)}))}),!Object.values(C).some(y=>Array.isArray(y)?y.length>0:y!==""&&y!==void 0&&y!==null)){w.Message.error("请输入查询条件");return}try{let y=s.value.trim();t.searchPlanList.length===0&&(y="默认方案");const d=await a.insert({assSearchplan:{cSearchplanname:y,...t.nResourceid&&{nResourceid:t.nResourceid}},colMap:C});if(d.message&&w.Message.success(d.message),t.resourceId){const m=await p(t.resourceId);o("update:searchPlanList",m);const f=m.find(B=>B.CSEARCHPLANNAME===y);f&&await c(f)}o("add",y,{...C}),s.value=""}catch(y){o("error",y)}},b=async()=>{if(!t.currentSearchPlan){i.value=!0;return}i.value=!1;let x=n?.value||t.model;if(r)try{const y=await r.getValues();y&&(x=y)}catch{}const C={...x};if(Object.keys(C).forEach(y=>{const d=C[y];Array.isArray(d)&&(t.formConfig?.some(f=>f.fieldName===y&&f.component&&(f.component.name==="SunnyBusinessSearch"||f.component==="SunnyBusinessSearch"))?C[y]=JSON.stringify(d):C[y]=d.map(f=>{let B=f;return typeof f=="object"&&f!==null&&(B=f.value!==void 0?f.value:f.ID!==void 0?f.ID:f.id!==void 0?f.id:f),typeof B=="string"?B:String(B)}))}),!Object.values(C).some(y=>Array.isArray(y)?y.length>0:y!==""&&y!==void 0&&y!==null)){w.Message.error("请输入查询条件");return}try{const y=await a.update({assSearchplan:{id:t.currentSearchPlan.ID,...t.nResourceid&&{nResourceid:t.nResourceid},...s.value.trim()&&{cSearchplanname:s.value.trim()}},colMap:C});if(y.message&&w.Message.success(y.message),t.resourceId){const d=await p(t.resourceId);o("update:searchPlanList",d);const m=d.find(f=>f.ID===t.currentSearchPlan?.ID);m&&await c(m)}o("update",t.currentSearchPlan?.ID,s.value.trim()||t.currentSearchPlan?.CSEARCHPLANNAME,{...C}),s.value=""}catch(y){o("error",y)}},S=async x=>{try{const C=await a.del({id:x.ID});if(o("delete",x.ID),t.currentSearchPlan&&t.currentSearchPlan.ID===x.ID&&o("update:currentSearchPlan",void 0),C.message&&w.Message.success(C.message),t.resourceId){const I=await p(t.resourceId);o("update:searchPlanList",I)}}catch(C){o("error",C)}},c=async x=>{o("update:currentSearchPlan",x);try{const C={...t.nResourceid&&{nResourceid:t.nResourceid},nPlanId:x.ID};let y=(await a.findSearchPlanColsByPlanId(C)).result||{};if(Object.keys(y).forEach(d=>{let m=y[d];try{if(t.formConfig?.some(B=>B.fieldName===d&&B.component&&(B.component.name==="SunnyBusinessSearch"||B.component==="SunnyBusinessSearch"))){if(typeof m=="string")try{m=JSON.parse(m)}catch{}if(Array.isArray(m)&&m.every(N=>typeof N=="string")&&m.length>0)try{const N=m.join(""),j=[];let P="",V=0;for(let R=0;R<N.length;R++){const M=N[R];if(P+=M,M==="{")V++;else if(M==="}"&&(V--,V===0)){try{j.push(JSON.parse(P))}catch{}P=""}}j.length>0?m=j:m=JSON.parse(N)}catch{try{const N=m.join(""),j=[];N.split("}{").map((V,R)=>R===0?V+"}":R===N.split("}{").length-1?"{"+V:"{"+V+"}").forEach(V=>{if(V.trim()){const R=V.match(/"([^"]+)"\s*:\s*("[^"]*"|\d+)/g)||[],M={};R.forEach(Q=>{const[O,z]=Q.split(/\s*:\s*/),$=O.replace(/"/g,"");let L=z;L.startsWith('"')&&L.endsWith('"')?L=L.substring(1,L.length-1):isNaN(Number(L))||(L=Number(L)),M[$]=L}),Object.keys(M).length>0&&j.push(M)}}),j.length>0&&(m=j)}catch{}}}else{if(typeof m=="string"&&(m.startsWith("[")||m.includes(",")))try{m=JSON.parse(m)}catch{m.includes(",")&&(m=m.split(",").map(B=>B.trim()))}Array.isArray(m)&&(m=m.map(B=>{const N=typeof B=="string"?B.trim():B;return String(N)}))}y[d]=m}catch{}}),t.formConfig?.forEach(d=>{const m=d.fieldName;let f=y[m];if(f!=null&&d.component&&(d.component.name==="SunnyBusinessSearch"||d.component==="SunnyBusinessSearch")){if(typeof f=="string")try{f=JSON.parse(f)}catch{}if(Array.isArray(f)){if(f.every(N=>typeof N=="string")&&f.length>0)try{const N=f.join("");f=JSON.parse(N)}catch{}Array.isArray(f)?y[m]=f.map(N=>typeof N=="object"&&N!==null?N:{value:N}):typeof f=="object"&&f!==null?y[m]=[f]:y[m]=f}}}),n&&(n.value={...y}),r)try{await r.setValues(y)}catch{}o("select",x)}catch(C){o("error",C)}},p=async x=>{try{const C={...t.nResourceid&&{nResourceid:t.nResourceid}};return(await a.findAllByResourceid(C)).result?.searchplanList||[]}catch(C){return o("error",C),[]}};return{visible:l,inputValue:s,showNameError:i,handleAdd:h,handleUpdate:b,handleDelete:S,handleSelect:c,handleReset:async()=>{if(r)try{await r.resetForm()}catch{}if(n){const x={...n.value};Object.keys(x).forEach(C=>{x[C]=""}),n.value=x}},handleSearch:async()=>{let x=n?.value||t.model;if(r)try{const C=await r.getValues();C&&(x=C)}catch{}o("search",{...x}),l.value=!1},handleClose:()=>{l.value=!1,s.value="",i.value=!1},handleOpen:async()=>{if(l.value=!0,s.value="",i.value=!1,n){const x={...n.value};Object.keys(x).forEach(C=>{x[C]=""}),n.value=x}if(r)try{await r.resetForm()}catch{}if(t.resourceId)try{const x=await p(t.resourceId);if(o("update:searchPlanList",x),x.length>0){o("update:currentSearchPlan",x[0]);const C={...t.nResourceid&&{nResourceid:t.nResourceid},nPlanId:x[0].ID};let y=(await a.findSearchPlanColsByPlanId(C)).result||{};if(Object.keys(y).forEach(d=>{let m=y[d];try{if(t.formConfig?.some(B=>B.fieldName===d&&B.component&&(B.component.name==="SunnyBusinessSearch"||B.component==="SunnyBusinessSearch"))){if(typeof m=="string")try{m=JSON.parse(m)}catch{}if(Array.isArray(m)&&m.every(N=>typeof N=="string")&&m.length>0)try{const N=m.join("");m=JSON.parse(N)}catch{}}else{if(typeof m=="string"&&(m.startsWith("[")||m.includes(",")))try{m=JSON.parse(m)}catch{m.includes(",")&&(m=m.split(",").map(B=>B.trim()))}Array.isArray(m)&&(m=m.map(B=>{const N=typeof B=="string"?B.trim():B;return String(N)}))}y[d]=m}catch{}}),t.formConfig?.forEach(d=>{const m=d.fieldName;let f=y[m];if(f!=null&&d.component&&(d.component.name==="SunnyBusinessSearch"||d.component==="SunnyBusinessSearch")){if(typeof f=="string")try{f=JSON.parse(f)}catch{}if(Array.isArray(f)){if(f.every(N=>typeof N=="string")&&f.length>0)try{const N=f.join(""),j=[];let P="",V=0;for(let R=0;R<N.length;R++){const M=N[R];if(P+=M,M==="{")V++;else if(M==="}"&&(V--,V===0)){try{j.push(JSON.parse(P))}catch{}P=""}}j.length>0?f=j:f=JSON.parse(N)}catch{try{const N=f.join(""),j=[];N.split("}{").map((V,R)=>R===0?V+"}":R===N.split("}{").length-1?"{"+V:"{"+V+"}").forEach(V=>{if(V.trim()){const R=V.match(/"([^"]+)"\s*:\s*("[^"]*"|\d+)/g)||[],M={};R.forEach(Q=>{const[O,z]=Q.split(/\s*:\s*/),$=O.replace(/"/g,"");let L=z;L.startsWith('"')&&L.endsWith('"')?L=L.substring(1,L.length-1):isNaN(Number(L))||(L=Number(L)),M[$]=L}),Object.keys(M).length>0&&j.push(M)}}),j.length>0&&(f=j)}catch{}}Array.isArray(f)?y[m]=f.map(N=>typeof N=="object"&&N!==null?N:{value:N}):typeof f=="object"&&f!==null?y[m]=[f]:y[m]=f}}}),n&&(n.value={...y}),r)try{await r.setValues(y)}catch{}o("select",x[0])}}catch{}},loadSearchPlans:p,loadDefaultSearchPlan:async()=>{try{const x={...t.nResourceid&&{nResourceid:t.nResourceid}},I=(await a.findDefSearchPlan(x)).result||[];if(I.length>0){const y={};if(I.forEach(d=>{d.C_COLNAME&&d.C_COLVALUE!==void 0&&(y[d.C_COLNAME]=d.C_COLVALUE)}),Object.keys(y).forEach(d=>{let m=y[d];try{if(t.formConfig?.some(B=>B.fieldName===d&&B.component&&(B.component.name==="SunnyBusinessSearch"||B.component==="SunnyBusinessSearch"))){if(typeof m=="string")try{m=JSON.parse(m)}catch{}if(Array.isArray(m)&&m.every(N=>typeof N=="string")&&m.length>0)try{const N=m.join("");m=JSON.parse(N)}catch{}}else{if(typeof m=="string"&&(m.startsWith("[")||m.includes(",")))try{m=JSON.parse(m)}catch{m.includes(",")&&(m=m.split(",").map(B=>B.trim()))}Array.isArray(m)&&(m=m.map(B=>{const N=typeof B=="string"?B.trim():B;return String(N)}))}y[d]=m}catch{}}),t.formConfig?.forEach(d=>{const m=d.fieldName;let f=y[m];if(f!=null&&d.component&&(d.component.name==="SunnyBusinessSearch"||d.component==="SunnyBusinessSearch")){if(typeof f=="string")try{f=JSON.parse(f)}catch{}if(Array.isArray(f)){if(f.every(N=>typeof N=="string")&&f.length>0)try{const N=f.join(""),j=[];let P="",V=0;for(let R=0;R<N.length;R++){const M=N[R];if(P+=M,M==="{")V++;else if(M==="}"&&(V--,V===0)){try{j.push(JSON.parse(P))}catch{}P=""}}j.length>0?f=j:f=JSON.parse(N)}catch{try{const N=f.join(""),j=[];N.split("}{").map((V,R)=>R===0?V+"}":R===N.split("}{").length-1?"{"+V:"{"+V+"}").forEach(V=>{if(V.trim()){const R=V.match(/"([^"]+)"\s*:\s*("[^"]*"|\d+)/g)||[],M={};R.forEach(Q=>{const[O,z]=Q.split(/\s*:\s*/),$=O.replace(/"/g,"");let L=z;L.startsWith('"')&&L.endsWith('"')?L=L.substring(1,L.length-1):isNaN(Number(L))||(L=Number(L)),M[$]=L}),Object.keys(M).length>0&&j.push(M)}}),j.length>0&&(f=j)}catch{}}Array.isArray(f)?y[m]=f.map(N=>typeof N=="object"&&N!==null?N:{value:N}):typeof f=="object"&&f!==null?y[m]=[f]:y[m]=f}}}),n&&(n.value={...y}),r)try{await r.setValues(y)}catch{}return o("default-plan-loaded",y),y}return o("default-plan-loaded",{}),{}}catch(x){return o("error",x),o("default-plan-loaded",{}),{}}}}}const Do={class:"inline-block"},zo=["disabled"],Qo={class:"p-5 relative"},$o={key:0,class:"absolute inset-0 bg-white/80 flex flex-col items-center justify-center z-10 rounded"},Uo={class:"text-sm text-[var(--color-text-2)]"},qo={class:"w-2/3 min-w-0 pr-6 border-r border-[#D8D8D8]"},Wo={class:"w-1/3 pl-6"},_o={class:"text-base font-semibold mb-4 text-[var(--color-text-1)]"},Jo={class:"mb-5"},Yo={class:"mb-3"},Go={class:"block text-sm text-[var(--color-text-2)] mb-1"},Ko=["placeholder","disabled"],Ho={key:0,class:"text-xs text-red-500 mt-1"},Xo={class:"flex gap-2 mt-3"},Zo=["disabled"],vo=["disabled"],er={class:"text-base font-semibold mb-4 text-[var(--color-text-1)]"},tr={class:"max-h-44 overflow-y-auto border border-[var(--color-border-2)] rounded p-2"},nr=["onClick"],or=["onClick","disabled"],rr={key:0,class:"text-center py-8 text-sm text-[var(--color-text-3)]"},ar={class:"flex justify-end gap-3 pt-5 border-t border-[var(--color-border-2)]"},lr=["disabled"],sr=["disabled"],Ge=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:()=>D.$t("common.searchPlan.title")},width:{default:900},loading:{type:Boolean,default:!1},api:{default:()=>Je}},emits:["add","update","delete","select","reset","search","error","default-plan-loaded","update:model","update:modelValue","update:currentSearchPlan","update:searchPlanList"],setup(t,{emit:o}){const n=t,r=o,[,a]=ze({schema:n.formConfig,model:n.modelValue||n.model}),l=e.ref({...n.modelValue||n.model}),{visible:s,inputValue:i,showNameError:h,handleAdd:b,handleUpdate:S,handleDelete:c,handleSelect:p,handleReset:u,handleSearch:A,handleClose:g,handleOpen:k,loadSearchPlans:E,loadDefaultSearchPlan:x}=Ye(n,r,l,a,n.api);e.onMounted(async()=>{if(n.resourceId)try{const V=await E(n.resourceId);r("update:searchPlanList",V),await x()}catch(V){console.error("Failed to initialize search plan:",V)}else try{await x()}catch(V){console.error("Failed to load default search plan:",V)}});const C=async()=>{await k()},I=()=>{console.log("SunnyUseForm mounted"),a&&(n.modelValue||n.model)&&a.setValues(n.modelValue||n.model).catch(V=>{console.error("setValues error:",V)})};e.watch(()=>[n.model,n.modelValue],([V,R])=>{const M=R||V;M&&(l.value={...M},a&&a.setValues(M).catch(Q=>{console.error("setValues error:",Q)}))},{deep:!0}),e.watch(()=>l.value,V=>{r("update:model",V),r("update:modelValue",V)},{deep:!0});const y=e.computed(()=>({...n.modalProps})),d=e.computed(()=>n.formConfig.map(V=>({...V,labelWidth:80,colProps:{...V.colProps,span:8}}))),m=e.computed(()=>n.searchPlanList),f=e.computed(()=>n.currentSearchPlan),B=e.computed(()=>n.disabled),N=e.computed(()=>n.formProps),j=e.computed(()=>n.title),P=e.computed(()=>n.width);return(V,R)=>(e.openBlock(),e.createElementBlock("div",Do,[e.renderSlot(V.$slots,"trigger",{open:C,disabled:B.value},()=>[e.createElementVNode("button",{class:"px-3 py-1.5 border border-[var(--color-border-2)] rounded bg-white text-base transition-all hover:border-[rgb(var(--primary-6))] hover:text-[rgb(var(--primary-6))] disabled:cursor-not-allowed disabled:opacity-60",disabled:B.value,onClick:C},e.toDisplayString(e.unref(D.$t)("common.searchPlan.title")),9,zo)]),e.createVNode(e.unref(Z),e.mergeProps({visible:e.unref(s),"onUpdate:visible":R[5]||(R[5]=M=>e.isRef(s)?s.value=M:null),title:j.value,width:P.value,top:"50px","close-on-click-modal":!1},y.value,{onCancel:e.unref(g),onClose:e.unref(g)}),{footer:e.withCtx(()=>[e.createElementVNode("div",ar,[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:R[3]||(R[3]=(...M)=>e.unref(u)&&e.unref(u)(...M)),disabled:n.loading},e.toDisplayString(e.unref(D.$t)("common.searchPlan.reset")),9,lr),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:R[4]||(R[4]=(...M)=>e.unref(A)&&e.unref(A)(...M)),disabled:n.loading},e.toDisplayString(e.unref(D.$t)("common.searchPlan.search")),9,sr)])]),default:e.withCtx(()=>[e.createElementVNode("div",Qo,[n.loading?(e.openBlock(),e.createElementBlock("div",$o,[R[6]||(R[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",Uo,e.toDisplayString(e.unref(D.$t)("common.searchPlan.loading")),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([{"opacity-60":n.loading},"flex gap-5"])},[e.createElementVNode("div",qo,[e.createVNode(e.unref(De),e.mergeProps({"form-api":e.unref(a),schema:d.value,"show-default-actions":!1,"show-message":!1,layout:"vertical"},N.value,{onMounted:I}),null,16,["form-api","schema"])]),e.createElementVNode("div",Wo,[e.createElementVNode("h3",_o,e.toDisplayString(e.unref(D.$t)("common.searchPlan.newPlan")),1),e.createElementVNode("div",Jo,[e.createElementVNode("div",Yo,[e.createElementVNode("label",Go,e.toDisplayString(e.unref(D.$t)("common.searchPlan.planName")),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":R[0]||(R[0]=M=>e.isRef(i)?i.value=M:null),type:"text",placeholder:e.unref(D.$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:n.loading},null,8,Ko),[[e.vModelText,e.unref(i)]]),!e.unref(i).trim()&&e.unref(h)?(e.openBlock(),e.createElementBlock("div",Ho,e.toDisplayString(e.unref(D.$t)("common.searchPlan.planNameRequired")),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Xo,[e.createElementVNode("button",{class:"px-3 py-1 border border-[rgb(var(--primary-6))] text-[rgb(var(--primary-6))] text-xs rounded hover:bg-[rgb(var(--primary-6))] hover:text-white transition-colors disabled:cursor-not-allowed disabled:opacity-60",onClick:R[1]||(R[1]=(...M)=>e.unref(b)&&e.unref(b)(...M)),disabled:n.loading},e.toDisplayString(e.unref(D.$t)("common.searchPlan.add")),9,Zo),e.createElementVNode("button",{class:"px-3 py-1 border border-[#ff4949] text-[#ff4949] text-xs rounded hover:bg-[#ff4949] hover:text-white transition-colors disabled:cursor-not-allowed disabled:opacity-60",disabled:!f.value||n.loading,onClick:R[2]||(R[2]=(...M)=>e.unref(S)&&e.unref(S)(...M))},e.toDisplayString(e.unref(D.$t)("common.searchPlan.update")),9,vo)])]),R[7]||(R[7]=e.createElementVNode("div",{class:"h-px bg-[var(--color-border-2)] my-5"},null,-1)),e.createElementVNode("h3",er,e.toDisplayString(e.unref(D.$t)("common.searchPlan.savedPlans")),1),e.createElementVNode("div",tr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(M,Q)=>(e.openBlock(),e.createElementBlock("div",{key:M.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))]":f.value&&(f.value.ID==M.ID||f.value.ID===M.ID)}]),onClick:O=>e.unref(p)(M),style:e.normalizeStyle({cursor:n.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)]",f.value&&(f.value.ID==M.ID||f.value.ID===M.ID)?"bg-[rgb(var(--primary-6))] text-white":"bg-[var(--color-fill-2)]"])},e.toDisplayString(String(Q+1).padStart(2,"0")),3),e.createElementVNode("div",{class:e.normalizeClass(["flex-1 text-xs truncate",f.value&&(f.value.ID==M.ID||f.value.ID===M.ID)?"text-[rgb(var(--primary-6))] font-medium":"text-[var(--color-text-1)]"])},e.toDisplayString(M.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(O=>e.unref(c)(M),["stop"]),disabled:n.loading}," × ",8,or)],14,nr))),128)),m.value.length===0?(e.openBlock(),e.createElementBlock("div",rr,e.toDisplayString(e.unref(D.$t)("common.searchPlan.noPlans")),1)):e.createCommentVNode("",!0)])])],2)])]),_:1},16,["visible","title","width","onCancel","onClose"])]))}}),ir={class:"w-full"},cr={key:0,class:"flex justify-between items-center w-full"},dr={class:"text-[var(--color-text-3)] text-xs"},fr=e.defineComponent({name:"SunnyCustomizeSelect",inheritAttrs:!0,__name:"CustomizeSelect",props:{value:{default:""},cNum:{default:""},defaultQuery:{type:Boolean,default:!0},defaultConfig:{default:()=>({})},attrParam:{default:()=>({})},fieldNames:{default:()=>({label:"cKeyname",value:"cKeynumb"})}},emits:["update:modelValue","selectChange","change"],setup(t,{emit:o}){const n=w.Select,r=w.Option,a=t,l=o,s=e.getCurrentInstance(),i=e.ref({nType:1,cLabelslotcol:"",nSearchinterval:700}),h=e.ref([{cKeynumb:"",cKeyname:"",cSlot:""}]),b=e.ref([]),S=e.ref(!1),c=e.ref(!1),p=e.computed({get:()=>a.value,set:E=>{l("update:modelValue",E)}}),u=async()=>{if(a.cNum)try{const E=U.customizeSelectAdapter;if(!E?.query){c.value=!0,w.Message.error("CustomizeSelect adapter not configured");return}const x={cNum:a.cNum,attrParam:{...a.attrParam}};p.value&&(x.cVal=q.toString(p.value));const C=await E.query(x);h.value=C.options||[],b.value=C.options||[],C.config&&(i.value=Object.assign({},i.value,C.config)),c.value=!1}catch(E){c.value=!0,w.Message.error(E?.message||"加载失败")}},A=E=>{l("selectChange",E,s?.proxy)},g=q.debounce(E=>{if(E!==""){S.value=!0;const x=U.customizeSelectAdapter,C={cNum:a.cNum,attrParam:{...a.attrParam},searchCondition:E};Promise.resolve().then(async()=>{if(!x?.query)throw new Error("CustomizeSelect adapter not configured");return x.query(C)}).then(I=>{I.config&&(i.value=Object.assign({},i.value,I.config)),h.value=I.options||[],b.value=I.options||[]}).catch(I=>{w.Message.error(I?.message||"查询失败")}).finally(()=>{S.value=!1})}else h.value=b.value},i.value.nSearchinterval||700),k=()=>{g("")};return e.watch(()=>a.attrParam,()=>{u()},{deep:!0}),e.onMounted(()=>{a.defaultQuery&&a.defaultQuery===!0?u():a.cNum&&a.defaultQuery===!1&&(i.value=Object.assign({},i.value,a.defaultConfig))}),(E,x)=>(e.openBlock(),e.createElementBlock("div",ir,[e.createVNode(e.unref(n),e.mergeProps({modelValue:p.value,"onUpdate:modelValue":x[0]||(x[0]=C=>p.value=C),"allow-clear":"","allow-search":i.value.nType==1,loading:S.value,error:c.value},E.$attrs,{onChange:A,onClear:k,onSearch:e.unref(g),triggerProps:{contentClass:"customize-select-content"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,C=>(e.openBlock(),e.createBlock(e.unref(r),{key:C[a.fieldNames.value],label:C[a.fieldNames.label],value:C[a.fieldNames.value]},{default:e.withCtx(()=>[i.value.cLabelslotcol?(e.openBlock(),e.createElementBlock("div",cr,[e.createElementVNode("span",null,e.toDisplayString(C.cKeyname),1),e.createElementVNode("span",dr,e.toDisplayString(C.cSlot),1)])):e.createCommentVNode("",!0)]),_:2},1032,["label","value"]))),128))]),_:1},16,["modelValue","allow-search","loading","error","onSearch"])]))}}),Ke=e.defineComponent({__name:"SunnyExportModal",props:{exportUrl:{default:""},nmodid:{},nButtonid:{},conditionMap:{}},emits:["export-success","export-error","close"],setup(t,{expose:o,emit:n}){const{t:r}=Se.useI18n(),a=t,l=n,s=e.ref(!1),i=e.ref([]),h=e.ref({}),b=e.ref(!1),S=e.ref(!1),c=[{label:r("common.exportModal.default"),value:"default"},{label:r("common.exportModal.varchar"),value:"varchar"},{label:r("common.exportModal.number"),value:"number"},{label:r("common.exportModal.date"),value:"date"}],p=[{label:"10000",value:"10000"},{label:"20000",value:"20000"},{label:"50000",value:"50000"},{label:"100000",value:"100000"}],u=async()=>{b.value=!0;try{const C=await W.post(`${U.apiPrefix}${a.exportUrl}/export/openInit`,{nmodid:a.nmodid,nButtonid:a.nButtonid});C.data.code===200?(i.value=C.data.result.exportList,h.value=C.data.result.exportUserWebConfig,s.value=!0):w.Message.error(C.data.message)}catch(C){w.Message.error(C.message)}finally{b.value=!1}},A=()=>{u()},g=()=>{s.value=!1,l("close")};o({open:A,close:g});const k=({newIndex:C,oldIndex:I})=>{const y=i.value.splice(I,1)[0];i.value.splice(C,0,y)},E=async()=>{S.value=!0;try{i.value.forEach(d=>{d.colType==="spanselect"&&isNaN(Number(d.selId))});const C={conditionMap:a.conditionMap||{},exportList:i.value,exportUserWebConfig:h.value,nmodid:a.nmodid,nButtonid:a.nButtonid},I=await W.post(`${U.apiPrefix}${a.exportUrl}/export/exportExecuteStream`,C,{responseType:"blob"}),y=new FileReader;y.onload=function(){const d=I.headers["content-disposition"]?.split("attachment;filename=")[1],m=new Blob([I.data]),f=document.createElement("a");f.href=URL.createObjectURL(m),f.download=decodeURI(d||"export.xlsx"),f.click(),URL.revokeObjectURL(f.href),g(),l("export-success",I)},y.readAsText(I.data)}catch(C){w.Message.error(C.message),l("export-error",C)}finally{S.value=!1}},x=()=>{g()};return(C,I)=>{const y=e.resolveComponent("vxe-checkbox"),d=e.resolveComponent("vxe-column"),m=e.resolveComponent("vxe-table");return e.openBlock(),e.createBlock(e.unref(w.Modal),{visible:s.value,"onUpdate:visible":I[2]||(I[2]=f=>s.value=f),title:e.unref(r)("common.exportModal.title"),width:700,"mask-closable":!1,onCancel:x},{footer:e.withCtx(()=>[e.createVNode(e.unref(w.Button),{onClick:x},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("common.modal.cancel")),1)]),_:1}),e.createVNode(e.unref(w.Button),{type:"primary",loading:S.value,onClick:E},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("common.modal.confirm")),1)]),_:1},8,["loading"])]),default:e.withCtx(()=>[e.createVNode(e.unref(w.Form),{model:h.value,layout:"inline"},{default:e.withCtx(()=>[h.value.showSheetRowNum?(e.openBlock(),e.createBlock(e.unref(w.FormItem),{key:0,label:e.unref(r)("common.exportModal.showSheetRowNum")},{default:e.withCtx(()=>[e.createVNode(e.unref(w.Select),{modelValue:h.value.nSheetRowNum,"onUpdate:modelValue":I[0]||(I[0]=f=>h.value.nSheetRowNum=f),placeholder:h.value.hintSheetRowNum,"allow-clear":""},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(p,f=>e.createVNode(e.unref(w.Option),{key:f.value,label:f.label,value:f.value},null,8,["label","value"])),64))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"])):e.createCommentVNode("",!0),h.value.showMaxExportNumber?(e.openBlock(),e.createBlock(e.unref(w.FormItem),{key:1,label:e.unref(r)("common.exportModal.showMaxExportNumber")},{default:e.withCtx(()=>[e.createVNode(e.unref(w.InputNumber),{modelValue:h.value.maxExportNumber,"onUpdate:modelValue":I[1]||(I[1]=f=>h.value.maxExportNumber=f),placeholder:h.value.hintMaxExportNumber},null,8,["modelValue","placeholder"])]),_:1},8,["label"])):e.createCommentVNode("",!0)]),_:1},8,["model"]),e.createVNode(m,{size:"mini",data:i.value,border:"","max-height":"500",loading:b.value,"row-config":{drag:!0},onRowDragEnd:k},{default:e.withCtx(()=>[e.createVNode(d,{title:e.unref(r)("common.exportModal.nSfExport"),width:"70",align:"center"},{default:e.withCtx(({row:f})=>[e.createVNode(y,{modelValue:f.nSfExport,"onUpdate:modelValue":B=>f.nSfExport=B,size:"small","checked-value":1,"unchecked-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1},8,["title"]),e.createVNode(d,{field:"colName",title:e.unref(r)("common.exportModal.colName"),align:"center"},null,8,["title"]),e.createVNode(d,{title:e.unref(r)("common.exportModal.colWidth"),width:"100",align:"center"},{default:e.withCtx(({row:f})=>[e.createVNode(e.unref(w.InputNumber),{modelValue:f.colWidth,"onUpdate:modelValue":B=>f.colWidth=B,size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1},8,["title"]),e.createVNode(d,{title:e.unref(r)("common.exportModal.colDataType"),width:"120",align:"center"},{default:e.withCtx(({row:f})=>[e.createVNode(e.unref(w.Select),{modelValue:f.colDataType,"onUpdate:modelValue":B=>f.colDataType=B,size:"small"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(c,B=>e.createVNode(e.unref(w.Option),{key:B.value,label:B.label,value:B.value},null,8,["label","value"])),64))]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1},8,["title"]),e.createVNode(d,{title:e.unref(r)("common.exportModal.drag"),width:"50",align:"center",fixed:"right",dragSort:!0},null,8,["title"])]),_:1},8,["data","loading"])]),_:1},8,["visible","title"])}}});function mr(t={}){const o=e.shallowRef(null),n=e.ref(t);return[e.defineComponent({name:"useSunnyExportModalWrapper",setup(l,{attrs:s,slots:i}){return()=>e.h(Ke,{ref:o,...n.value,...l,...s},i)}}),{open:l=>{n.value={...n.value,...l},e.nextTick(()=>{o.value?.open()})},close:()=>{o.value?.close()}}]}const ur={class:"import-modal-body"},pr={class:"option-label"},He=e.defineComponent({__name:"SunnyImportModal",props:{templateUrl:{default:""},uploadUrl:{default:""},accept:{default:".xlsx,.xls"},maxSize:{default:10},limit:{default:1},params:{},nModid:{},nButtonid:{}},emits:["upload-success","upload-error","download-success","download-error","close"],setup(t,{expose:o,emit:n}){const{t:r}=Se.useI18n(),a=t,l=n,s=e.ref(!1),i=e.ref([]),h=e.ref(!1),b=e.ref(!1),S=e.ref(),c=C=>i.value.length>=a.limit?(w.Message.error(r("common.importModal.maxUploadLimit",{limit:a.limit})),!1):a.accept.split(",").some(d=>C.name.endsWith(d.replace(".","")))?C.size/1024/1024<a.maxSize?!0:(w.Message.error(r("common.importModal.maxSize",{maxSize:a.maxSize})),!1):(w.Message.error(r("common.importModal.onlySupport",{accept:a.accept})),!1),p=()=>{S.value.submit()},u=async C=>{const{onProgress:I,onError:y,onSuccess:d,fileItem:m,name:f}=C;h.value=!0;try{const B=new FormData;B.append("fileName",m.file),B.append("nModid",String(a.nModid)),B.append("nButtonid",String(a.nButtonid)),a.params&&B.append("paramMap",JSON.stringify(a.params));const N=b.value?`${U.apiPrefix}${a.uploadUrl}/upload/fileUploadDecode`:`${U.apiPrefix}${a.uploadUrl}/upload/fileUpload`,j=await W.post(N,B,{headers:{"Content-Type":"multipart/form-data"}});j.data.code===200?(w.Message.success({content:j.data.message||r("common.importModal.uploadSuccess"),duration:5e3}),d(j.data),l("upload-success",j.data),E()):(w.Message.error(j.data.message||r("common.importModal.uploadError")),y(j.data),l("upload-error",j.data))}catch(B){w.Message.error(B.message||r("common.importModal.uploadError")),y(B),l("upload-error",B)}finally{h.value=!1}},A=C=>{C.value=C},g=async()=>{try{const C=await W.post(`${U.apiPrefix}${a.templateUrl}/export/fileDownload?nModid=${a.nModid}&nButtonid=${a.nButtonid}`,{},{responseType:"blob"}),I=new FileReader;I.onload=function(){const y=C.headers["content-disposition"]?.split("attachment;filename=")[1],d=new Blob([C.data]),m=document.createElement("a");m.href=URL.createObjectURL(d),m.download=decodeURI(y||"template.xlsx"),m.click(),URL.revokeObjectURL(m.href),l("download-success")},I.readAsText(C.data)}catch(C){w.Message.error(C.message||"模板下载失败"),l("download-error",C)}},k=()=>{s.value=!0,i.value=[],b.value=!1},E=()=>{i.value=[],s.value=!1,l("close")};o({open:k,close:E});const x=()=>{E()};return(C,I)=>{const y=e.resolveComponent("a-space");return e.openBlock(),e.createBlock(e.unref(w.Modal),{visible:s.value,"onUpdate:visible":I[3]||(I[3]=d=>s.value=d),title:e.unref(r)("common.importModal.title"),width:550,"mask-closable":!1,footer:!1,onCancel:x},{default:e.withCtx(()=>[e.createElementVNode("div",ur,[e.createVNode(e.unref(w.Upload),{action:"#","auto-upload":!1,ref_key:"uploadRef",ref:S,multiple:"","custom-request":u,onBeforeUpload:c,onChange:A},{"upload-button":e.withCtx(()=>[e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(e.unref(w.Button),{type:"outline",disabled:h.value,onClick:e.withModifiers(g,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("common.importModal.downloadTemplate")),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(w.Button),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("common.importModal.selectFile")),1)]),_:1}),e.createVNode(e.unref(w.Button),{type:"primary",disabled:h.value,onClick:e.withModifiers(p,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("common.importModal.upload")),1)]),_:1},8,["disabled"]),e.createElementVNode("div",{onClick:I[2]||(I[2]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("span",pr,e.toDisplayString(e.unref(r)("common.importModal.isdecode"))+":",1),e.createVNode(e.unref(w.Switch),{modelValue:b.value,"onUpdate:modelValue":I[0]||(I[0]=d=>b.value=d),onClick:I[1]||(I[1]=e.withModifiers(()=>{},["stop"]))},null,8,["modelValue"])])]),_:1})]),_:1},512)])]),_:1},8,["visible","title"])}}});function hr(t={}){const o=e.shallowRef(null),n=e.ref(t);return[e.defineComponent({name:"useSunnyImportModalWrapper",setup(l,{attrs:s,slots:i}){return()=>e.h(He,{ref:o,...n.value,...l,...s},i)}}),{open:l=>{n.value={...n.value,...l},e.nextTick(()=>{o.value?.open()})},close:()=>{o.value?.close()}}]}Object.defineProperty(F,"patterns",{enumerable:!0,get:()=>T.patterns}),Object.defineProperty(F,"startProgress",{enumerable:!0,get:()=>T.startProgress}),Object.defineProperty(F,"stopProgress",{enumerable:!0,get:()=>T.stopProgress}),F.z=nt,F.DEFAULT_FORM_COMMON_CONFIG=U,F.EditRender=so,F.ErrorBoundary=ln,F.FormApi=Ie,F.Modal=Z,F.ModalTypes=Jt,F.SunnyBatchSelect=Dn,F.SunnyBusinessSearch=he,F.SunnyCustomizeSelect=fr,F.SunnyExportModal=Ke,F.SunnyForm=Qe,F.SunnyIcon=ue,F.SunnyImportModal=He,F.SunnyLoading=mn,F.SunnyResourceTree=Co,F.SunnyScrollbar=Sn,F.SunnySearchInputTag=Ve,F.SunnySearchModal=qe,F.SunnySearchPlan=Ge,F.SunnySelect=Ne,F.SunnySimpleUpload=Ee,F.SunnySpinner=hn,F.SunnyUpload=Mn,F.Validators=io,F.getBusinessConfig=_e,F.registerBusinessConfig=To,F.setupSunnyForm=Zn,F.useExportModal=mr,F.useImportModal=hr,F.useSunnyEditGrid=lo,F.useSunnyForm=ze,F.useSunnyModal=_t,F.useSunnyQueryGrid=go,F.useSunnyResourceTree=Ue,F.useSunnySearchPlan=Ye,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})}));
|