@chewel611/naive-ui-plus 0.0.37 → 0.0.39
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 +256 -250
- package/dist/index.umd.cjs +1 -1
- package/es/modal/PModal.vue.js +45 -39
- package/es/modal/typing.d.ts +3 -0
- package/lib/modal/PModal.vue.cjs +1 -1
- package/lib/modal/typing.d.ts +3 -0
- package/package.json +1 -1
package/dist/index.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(C,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","pinia","vue-router","element-resize-detector","vuedraggable"],o):(C=typeof globalThis<"u"?globalThis:C||self,o(C.naiveplus={},C.naiveUi,C.Vue,C.antd,C.pinia,C.vueRouter,C.elementResizeDetectorMaker,C.Draggable))})(this,(function(C,o,e,L,Z,R,he,_e){"use strict";const ye={class:"text-lg font-medium"},ke={id:"data-content"},be={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-4 mb-4"},we=e.defineComponent({__name:"PTable",props:{title:{},idField:{default:"id"},columns:{},onLoad:{},onDelete:{},onAdd:{},onEdit:{}},setup(t,{expose:a}){const c=e.ref(null),m=o.useDialog(),d=o.useMessage(),s=e.ref(!1),b=e.ref([]),g=e.ref([]),P=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async k=>{P.value.page=k,await E()},onUpdatePageSize:async k=>{P.value.pageSize=k,await E()}}),N=t,l=k=>{const w=x=>{const V=[];return k&&k.forEach(O=>{O.key!=="edit"&&O.key!=="delete"&&V.push({label:O.name,key:O.key,icon:O.icon&&(()=>e.h(o.NIcon,null,{default:()=>e.h(O.icon)})),props:{onClick:()=>O.action(x)}})}),V};return{title:"操作",key:"actions",width:100,fixed:"right",render:x=>{let V=[];if(N.onEdit&&V.push({label:"编辑",key:"edit",icon:()=>e.h(o.NIcon,null,{default:()=>e.h(L.EditOutlined)}),props:{onClick:async()=>await N.onEdit(x)}}),N.onDelete&&V.push({label:"删除",key:"delete",icon:()=>e.h(o.NIcon,null,{default:()=>e.h(L.DeleteOutlined)}),props:{onClick:()=>B(x)}}),V=[...V,...w(x)],!(V.length<=0))return e.h(o.NDropdown,{options:V,placement:"bottom-start"},{default:()=>e.h(o.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(o.NIcon,()=>e.h(L.MoreOutlined))]})})}}},_=e.computed(()=>{const k=N.columns.filter(x=>x.key!="action").map(x=>({title:x.title,key:x.key,width:x.width,fixed:x.fixed??!1,render:x.render,ellipsis:x.ellipsis?{tooltip:!0}:!1})),w=N.columns.reduce((x,V)=>V.key==="action"?V:x,void 0)?.action;return w&&w?.length>0||N.onEdit||N.onDelete?[{type:"selection",fixed:"left"},...k,l(w)]:[{type:"selection",fixed:"left"},...k]}),i=async()=>await E(),B=k=>r([k]),T=()=>{const k=u();r(k)},r=k=>{k&&k.length>0&&m.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(N.onDelete)try{await N.onDelete(k)?(E(),d.success("删除成功")):d.error("删除失败")}catch(w){d.error(w.message)}}})},u=()=>b.value?g.value.filter(w=>b.value.includes(w.id)).map(w=>e.toRaw(w)):[],y=()=>u()[0],$=()=>e.toRaw(g.value),E=async()=>{if(!s.value){s.value=!0;try{if(N.onLoad){var{data:k,total:w}=await N.onLoad(P.value.page,P.value.pageSize);g.value=k,P.value.itemCount=w}}catch(x){d.error(x.message)}finally{s.value=!1}}},h=e.computed(()=>{const k=e.unref(c);if(!k)return;const w=k?.$el,x=w.querySelector(".n-data-table-thead "),{bottomIncludeBody:V}=F(x),O=48;let I=12,W=25;const A=w.querySelector(".n-data-table__pagination");if(A){const q=A.offsetHeight;I+=q||0}else I+=28;return V-(O+I+W)}),H=k=>!k||!k.getBoundingClientRect?0:k.getBoundingClientRect(),F=k=>{const w=document.documentElement,x=w.scrollLeft,V=w.scrollTop,O=w.clientLeft,I=w.clientTop,W=window.pageXOffset,A=window.pageYOffset,K=H(k),{left:q,top:G,width:Q,height:n}=K,f=(W||x)-(O||0),p=(A||V)-(I||0),S=q+W,z=G+A,Y=S-f,X=z-p,J=window.document.documentElement.clientWidth,ue=window.document.documentElement.clientHeight;return{left:Y,top:X,right:J-Q-Y,bottom:ue-n-X,rightIncludeBody:J-Y,bottomIncludeBody:ue-X}};return e.onMounted(async()=>await E()),a({getData:$,getSelectedRow:y,getSelectedRows:u,refreshData:E,resetPage:()=>{P.value.page=1}}),(k,w)=>{const x=o.NTooltip,V=o.NSpace,O=o.NDataTable;return e.openBlock(),e.createBlock(e.unref(o.NCard),{bordered:!1},{header:e.withCtx(()=>[e.createVNode(V,{justify:"space-between",align:"center",class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("span",ye,e.toDisplayString(t.title),1),e.createVNode(V,null,{default:e.withCtx(()=>[N.onAdd?(e.openBlock(),e.createBlock(x,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:N.onAdd},{default:e.withCtx(()=>[e.createVNode(e.unref(L.PlusSquareOutlined))]),_:1},8,["onClick"])]),default:e.withCtx(()=>[w[1]||(w[1]=e.createElementVNode("span",null,"新增",-1))]),_:1})):e.createCommentVNode("",!0),N.onDelete?(e.openBlock(),e.createBlock(x,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:T},{default:e.withCtx(()=>[e.createVNode(e.unref(L.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[w[2]||(w[2]=e.createElementVNode("span",null,"删除",-1))]),_:1})):e.createCommentVNode("",!0),e.createVNode(x,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:i},{default:e.withCtx(()=>[e.createVNode(e.unref(L.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[w[3]||(w[3]=e.createElementVNode("span",null,"刷新",-1))]),_:1})]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",ke,[k.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",be,[e.renderSlot(k.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(O,{remote:"",ref_key:"$table",ref:c,"checked-row-keys":b.value,"onUpdate:checkedRowKeys":w[0]||(w[0]=I=>b.value=I),"max-height":h.value,loading:s.value,bordered:!1,"single-line":!1,columns:_.value,data:g.value,pagination:P.value,"row-key":I=>I[t.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"])])]),_:3})}}}),D=t=>{const a=t;return a.install=function(c){c.component(a.__name,t)},t},U=D(we),Ce=["Redirect","RedirectSon","login"],j=Z.defineStore("p-layout",()=>{const t=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1,enableLanguage:!1});return{state:t,initTabs:r=>{r.sort((u,y)=>(y.meta.affix?1:0)-(u.meta.affix?1:0)),t.tabs=r},addTab:r=>Ce.includes(r.name)?!1:(t.tabs?.some(y=>y.fullPath==r.fullPath)||t.tabs?.push(r),!0),closeCurrentTab:r=>{const u=t.tabs.findIndex(y=>y.fullPath==r.fullPath);t.tabs.splice(u,1)},closeAllTabs:()=>{t.tabs=t.tabs.filter(r=>r?.meta?.affix??!1)},closeOtherTabs:r=>{t.tabs=t.tabs.filter(u=>u.fullPath==r.fullPath||(u?.meta?.affix??!1))},closeLeftTabs:r=>{const u=t.tabs.findIndex(y=>y.fullPath==r.fullPath);t.tabs=t.tabs.filter((y,$)=>$>=u||(y?.meta?.affix??!1))},closeRightTabs:r=>{const u=t.tabs.findIndex(y=>y.fullPath==r.fullPath);t.tabs=t.tabs.filter((y,$)=>$<=u||(y?.meta?.affix??!1))},collapse:()=>{t.collapsed=!t.collapsed},setTitle:r=>{t.title=r},setLogo:r=>{t.logo=r},setUser:(r,u)=>{t.uid=r,t.uname=u},setSettingPages:r=>{t.settingPages=r},setLogout:r=>{t.logout=r},enableLanguage:r=>{t.enableLanguage=r}}}),Ne={class:"logo"},xe=e.defineComponent({__name:"PLogo",setup(t){const a=j();return(c,m)=>(e.openBlock(),e.createElementBlock("div",Ne,[e.createVNode(e.unref(o.NAvatar),{color:"var(--color-logo)",size:32,src:e.unref(a).state.logo,class:e.normalizeClass({"mr-2":!e.unref(a).state.collapsed})},null,8,["src","class"]),e.withDirectives(e.createElementVNode("h1",{class:"font-bold ease-in-out ml-2 logo-size"},e.toDisplayString(e.unref(a).state.title),513),[[e.vShow,!e.unref(a).state.collapsed]])]))}}),M=(t,a)=>{const c=t.__vccOpts||t;for(const[m,d]of a)c[m]=d;return c},Pe=M(xe,[["__scopeId","data-v-e48aeefa"]]),Be={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],initLanguages:async()=>[],selectLanguage:async t=>{}},v=Z.defineStore("language",()=>{const t=e.ref(Be),a=async()=>(t.value.options.length===0&&(t.value.options=await t.value.initLanguages()),t.value.options);return{select:async l=>{if(t.value.currentLanguage===l)return;const _=(await a()).find(i=>i.key===l);_&&(t.value.currentLanguage=_.key,t.value.selectLanguage(_))},selectLanguageCallback:async l=>{t.value.selectLanguage=l},initLanguagesCallback:async l=>{t.value.initLanguages=l},getLanguages:a,getCurrentLanguage:async()=>{if(t.value.currentLanguage)return(await a()).find(l=>l.key===t.value.currentLanguage)},setTranslationApiUrl:l=>{t.value.translationApiUrl=l},getTranslationApiUrl:()=>t.value.translationApiUrl,getDefaultLanguage:()=>t.value.defaultLanguage?t.value.defaultLanguage:"chinese_simplified",setDefaultLanguage:l=>{(l==="Chinese"||l==="chinese")&&(l="chinese_simplified"),t.value.defaultLanguage=l}}}),Ve={key:1},ee=e.defineComponent({__name:"PLanguage",setup(t){const{select:a,getLanguages:c,getCurrentLanguage:m,getDefaultLanguage:d,getTranslationApiUrl:s}=v(),b=e.ref(),g=e.ref([]),P=async l=>await a(l),N=async()=>{const l=window.translate;l&&(l.selectLanguageTag.show=!1,l.selectLanguageTag.languages=(await c()).map(_=>_.key).join(","),l.ignore.class.push("ignore-translate-flag"),l.ignore.id.push("ignore-translation"),l.language.setLocal(d()),l.request.api.translate="api/v1/translation",l.request.api.connectTest="api/v1/translation/connect-test",l.request.api.init="api/v1/translation/init",l.request.api.language="api/v1/translation/language",l.request.setHost(s()),l.request.listener.start(),l.listener.start(),l.whole.enableAll(),l.execute())};return e.onMounted(async()=>{await e.nextTick(),await N(),b.value=await m(),g.value=await c()}),(l,_)=>{const i=o.NIcon,B=o.NButton;return g.value.length>0?(e.openBlock(),e.createBlock(e.unref(o.NDropdown),{key:0,id:"ignore-translation",placement:"bottom-start",trigger:"hover",class:"flex flex-col justify-center h-full ignore",onSelect:P,options:g.value},{default:e.withCtx(()=>[e.createVNode(B,{quaternary:"",type:"info"},{default:e.withCtx(()=>[b.value?(e.openBlock(),e.createElementBlock("label",Ve,e.toDisplayString(b.value?.label),1)):(e.openBlock(),e.createBlock(i,{key:0,size:"18"},{default:e.withCtx(()=>[..._[0]||(_[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[e.createElementVNode("path",{d:"M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z",fill:"currentColor"}),e.createElementVNode("path",{d:"M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z",fill:"currentColor"})],-1)])]),_:1}))]),_:1})]),_:1},8,["options"])):e.createCommentVNode("",!0)}}}),Se={class:"layout-header"},Le={class:"layout-header-left"},Ee={class:"link-text"},Te={key:1,class:"link-text"},$e={class:"layout-header-right"},Oe={key:0,class:"layout-header-trigger-min"},De={class:"layout-header-trigger layout-header-trigger-min"},Ie={class:"layout-header-trigger layout-header-trigger-min"},Re={class:"avatar"},Me=M(e.defineComponent({__name:"PHeader",setup(t){const a=o.useMessage(),c=o.useDialog(),m=j(),d=R.useRouter(),s=R.useRoute(),b=e.inject("reloadPage"),g=r=>d.push({name:r}),P=e.computed(()=>N(s.matched)),N=r=>r.map(u=>{const y={key:u.name,label:u.meta.title,icon:u.meta.icon,meta:u.meta,disabled:u.path==="/",children:void 0};return u.children&&u.children.length>0&&(y.children=N(u.children)),y}),l=e.ref(!1),_=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),l.value=!1):(document.documentElement.requestFullscreen(),l.value=!0)},i=e.computed(()=>{const r=[];return r.push({label:"退出登录",key:"logout"}),m.state.settingPages&&m.state.settingPages.length>0&&m.state.settingPages.forEach(u=>{r.push({label:u.title,key:u.route})}),r}),B=r=>{r==="logout"?T():d.push({name:r})},T=()=>{c.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(m.state.logout)try{await m.state.logout(),localStorage.removeItem("TABS-ROUTES"),a.error("退出成功")}catch(r){console.error(r),a.error("退出登录失败")}finally{location.reload()}else a.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(r,u)=>{const y=o.NTooltip,$=o.NDivider,E=o.NAvatar;return e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",Le,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:u[0]||(u[0]=(...h)=>e.unref(m).collapse&&e.unref(m).collapse(...h))},[e.unref(m).state.collapsed?(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:u[1]||(u[1]=(...h)=>e.unref(b)&&e.unref(b)(...h))},[e.createVNode(e.unref(o.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(o.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,h=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:h.label},[h.label?(e.openBlock(),e.createBlock(e.unref(o.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[h.children&&h.children.length?(e.openBlock(),e.createBlock(e.unref(o.NDropdown),{key:0,options:h.children,onSelect:g},{default:e.withCtx(()=>[e.createElementVNode("span",Ee,[h.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(h.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Te,[h.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(h.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",$e,[e.unref(m).state.enableLanguage?(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(ee)])):e.createCommentVNode("",!0),e.createElementVNode("div",De,[e.createVNode(y,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",onClick:e.withModifiers(_,["stop"])},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(e.unref(L.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(L.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[u[2]||(u[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1})]),e.createElementVNode("div",Ie,[e.createVNode(e.unref(o.NDropdown),{trigger:"hover",onSelect:B,options:i.value},{default:e.withCtx(()=>[e.createElementVNode("div",Re,[e.createElementVNode("span",null,e.toDisplayString(e.unref(m).state.uname),1),e.createVNode($,{vertical:""}),e.createVNode(E,{round:"",src:e.unref(m).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-563e4e55"]]),ze={class:"mt-1"},Ae=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(t){return(a,c)=>{const m=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",ze,[t.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(m,{key:0},{default:e.withCtx(({Component:d,route:s})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d),{key:s.fullPath}))],1024))]),_:1}))])}}}),qe={class:"tabs-view-main"},je=["id","onClick","onContextmenu"],He={class:"tabs-close"},We={class:"tabs-close-btn"},Fe=M(e.defineComponent({__name:"PTabs",setup(t){e.useCssVars(n=>({v4a1a98ea:c.value,v271d846e:m.value}));const a=o.useThemeVars(),c=e.computed(()=>a.value.cardColor),m=e.computed(()=>a.value.textColor1),d=o.useMessage(),s=R.useRoute(),b=R.useRouter(),g=e.ref(null),P=e.ref(null),N=e.ref(!1),l=j(),_=e.computed(()=>l.state.tabs),i=e.reactive({activeKey:s.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),B=["Login","Redirect","ErrorPage"],T=n=>{const{fullPath:f,hash:p,meta:S,name:z,params:Y,path:X,query:J}=n;return{fullPath:f,hash:p,meta:S,name:z,params:Y,path:X,query:J}},r=e.computed(()=>{const p=l.state.collapsed?"64px":"272px";return{left:p,width:`calc(100% - ${p})`}}),u=e.computed(()=>{const n=_.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(o.NIcon,null,{default:()=>e.h(L.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:N.value||n,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(L.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:n,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(L.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:n,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(L.MinusOutlined)})}]}),y=()=>{let n=[];const f=T(s);try{if(l.state.cacheTabs){const p=localStorage.getItem("TABS_ROUTES");n=p?JSON.parse(p):[f]}else n=[f]}catch{n=[f]}finally{return n}},$=n=>{const f=b.getRoutes();n.forEach(p=>{const S=f.find(z=>z.path===p.path);S&&(p.meta=S.meta||p.meta,p.name=S.name||p.name)}),l.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(n))},E=()=>{const n=y();$(n),l.initTabs(n)},h=async n=>{if(await e.nextTick(),!g.value)return;const f=g.value.offsetWidth,p=g.value.scrollWidth;f<p?(i.scrollable=!0,n&&[...g.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach(z=>{z.id===`tag${i.activeKey.split("/").join("/")}`&&z.scrollIntoView&&z.scrollIntoView()})):i.scrollable=!1},H=n=>!(n.draggedContext.element.meta.affix||n.relatedContext.element.meta.affix),F=()=>{let n;n=he(),n.listenTo(P.value,()=>h(!0))},k=n=>{const{fullPath:f}=n;if(f===s.fullPath||(i.activeKey=f,!n))return;const{replace:p}=b;toString.call(n),p(n).catch(console.error)},w=(n,f)=>{n.preventDefault(),N.value=f.path==="/home",i.showDropdown=!1,e.nextTick().then(()=>{i.showDropdown=!0,i.dropdownX=n.clientX,i.dropdownY=n.clientY})},x=()=>{if(s.meta.keepAlive){var n=b.currentRoute.value.matched.find(f=>f.name==s.name);n&&n.components?.default?.name}},V=n=>{if(_.value.length===1)return d.warning("这已经是最后一页,不能再关闭了!");if(x(),l.closeCurrentTab(n),i.activeKey===n.fullPath){const f=_.value[Math.max(0,_.value.length-1)];i.activeKey=f.fullPath,b.push(f)}h()},O=n=>{const{fullPath:f}=n,p=_.value.find(S=>S.fullPath==f);V(p)},I=n=>{l.closeOtherTabs(n),i.activeKey=n.fullPath,b.replace(n.fullPath),h()},W=()=>{l.closeAllTabs(),h()},A=e.inject("reloadPage"),K=n=>{switch(n){case"1":A();break;case"2":V(s);break;case"3":I(s);break;case"4":W();break}h(),i.showDropdown=!1},q=(n,f)=>{const p=g.value.scrollLeft,S=f>0&&p+f>=n||f<0&&p+f<=n?n:p+f;if(g.value&&g.value.scrollTo(S,0),S!==n)return window.requestAnimationFrame(()=>q(n,f))},G=()=>{const n=g.value.offsetWidth,f=g.value.scrollLeft;if(!f)return;const p=f>n?f-n:0;q(p,(p-f)/20)},Q=()=>{const n=g.value.offsetWidth,f=g.value.scrollWidth,p=g.value.scrollLeft;if(f-p<=n)return;const S=f-p>n*2?p+n:f-n;q(S,(S-p)/20)};return window.addEventListener("beforeunload",()=>{localStorage.setItem("TABS_ROUTES",JSON.stringify(_.value))}),window.addEventListener("scroll",n=>{let f=n.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;i.isMultiHeaderFixed=f>=64},!0),e.watch(()=>s.fullPath,n=>{B.includes(s.name)||(i.activeKey=n,l.addTab(T(s)),h(!0))},{immediate:!0}),E(),e.onMounted(()=>F()),(n,f)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(r.value)},[e.createElementVNode("div",qe,[e.createElementVNode("div",{ref_key:"navWrap",ref:P,class:e.normalizeClass(["tabs-card",{"tabs-card-scrollable":i.scrollable}])},[e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-prev",{"tabs-card-prev-hide":!i.scrollable}]),onClick:G},[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.LeftOutlined))]),_:1})],2),e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-next",{"tabs-card-next-hide":!i.scrollable}]),onClick:Q},[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.RightOutlined))]),_:1})],2),e.createElementVNode("div",{ref_key:"navScroll",ref:g,class:"tabs-card-scroll"},[e.createVNode(e.unref(_e),{list:_.value,animation:"300","item-key":"fullPath",class:"flex",move:H},{item:e.withCtx(({element:p})=>[e.createElementVNode("div",{id:`tag${p.fullPath.split("/").join("/")}`,class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":i.activeKey===p.fullPath}]),onClick:e.withModifiers(S=>k(p),["stop"]),onContextmenu:S=>w(S,p)},[e.createElementVNode("span",null,e.toDisplayString(p.meta.title),1),p.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:0,size:"14",onClick:e.withModifiers(S=>O(p),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(L.CloseOutlined))]),_:1},8,["onClick"]))],42,je)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",He,[e.createVNode(e.unref(o.NDropdown),{trigger:"hover",onSelect:K,placement:"bottom-end",options:u.value},{default:e.withCtx(()=>[e.createElementVNode("div",We,[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.DownOutlined))]),_:1})])]),_:1},8,["options"])]),e.createVNode(e.unref(o.NDropdown),{show:i.showDropdown,x:i.dropdownX,y:i.dropdownY,onClickoutside:f[0]||(f[0]=p=>i.showDropdown=!1),placement:"bottom-start",onSelect:K,options:u.value},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-e37d2460"]]),Ke=e.defineComponent({__name:"PMenus",setup(t){const a=R.useRoute(),c=R.useRouter(),m=j(),d=e.ref(a.name),s=e.ref(a.matched&&a.matched.length?a.matched.map(i=>i.name):[]),b=e.ref([]),g=i=>{/http(s)?:/.test(i)?window.open(i):c.push({name:i})},P=i=>{if(!i)return;const B=i.find(T=>s.value.indexOf(T)===-1);s.value=B?[B]:[]},N=()=>{const i=a.matched;s.value=i.map(T=>T.name);const B=a.meta?.activeMenu||"";d.value=B||a.name},l=(i,B=[],T=!1)=>{const r=[],u=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!i||i.length===0)return r;i=i.sort((y,$)=>{let E=($.children?.length?1:0)-(y.children?.length?1:0);return E===0&&(E=(y.meta?.sort??0)-($.meta?.sort??0)),E});for(const y of i){if(T||y.meta?.hidden||u.includes(y.path.toLowerCase())){B.push(y.name),l(y.children||[],B,!0);continue}const $=y.children?.filter(F=>!F.meta?.hidden)||[],E=y.meta?.alwaysShow!=!0&&$.length===1,h=E?$[0]:y,H={key:h.name,label:h.meta?.title,affix:h.meta?.affix,sort:E?y.meta?.sort??0:h.meta?.sort??0,path:h.path,redirect:h.redirect,icon:E?y.meta?.icon:h.meta?.icon,permissions:h.meta?.permissions,meta:h.meta,children:void 0};B.includes(h.name)||(r.push(H),B.push(h.name)),h.children?.length>0&&(H.children=l(h.children,B,T))}return r},_=()=>{const i=c.getRoutes();b.value=l(i)};return e.watch(()=>a.fullPath,()=>{N()}),e.onMounted(()=>{_(),N()}),(i,B)=>(e.openBlock(),e.createBlock(e.unref(o.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:b.value,collapsed:e.unref(m).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":s.value,value:d.value,"onUpdate:value":g,"onUpdate:expandedKeys":P},null,8,["options","collapsed","expanded-keys","value"]))}}),Ye={class:"layout-content-main layout-content-main-fix"},Xe={class:"main-view main-view-fix"},Je=M(e.defineComponent({__name:"PLayout",setup(t){const a=j(),c=e.ref(!1),m=()=>{c.value=!0,e.nextTick(()=>c.value=!1)};return e.provide("reloadPage",m),(d,s)=>{const b=o.NBackTop;return e.openBlock(),e.createBlock(e.unref(o.NLayout),{"has-sider":"",class:"layout",position:"absolute"},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NLayoutSider),{class:"layout-sider",inverted:"","show-trigger":"bar",position:"absolute","collapse-mode":"width","trigger-class":"!-right-5","collapsed-trigger-class":"!-right-5",collapsed:e.unref(a).state.collapsed,"native-scrollbar":!1,"collapsed-width":64,onCollapse:e.unref(a).collapse,onExpand:e.unref(a).collapse},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NFlex),{vertical:""},{default:e.withCtx(()=>[e.createVNode(Pe),e.createVNode(Ke)]),_:1})]),_:1},8,["collapsed","onCollapse","onExpand"]),e.createVNode(e.unref(o.NLayout),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NLayoutHeader),{position:"absolute"},{default:e.withCtx(()=>[e.createVNode(Me)]),_:1}),e.createVNode(e.unref(o.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[e.createVNode(Fe),e.createElementVNode("div",Xe,[e.createVNode(Ae,{loading:c.value},null,8,["loading"])])])]),_:1}),e.createVNode(b,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-0bac2e7d"]]),Ze={};function Ge(t,a){const c=e.resolveComponent("router-view");return e.openBlock(),e.createBlock(c)}const te=D(M(Ze,[["render",Ge]])),oe=D(Je),ne=D(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(t){return(a,c)=>{const m=o.NConfigProvider;return e.openBlock(),e.createBlock(m,{locale:e.unref(o.zhCN),theme:t.theme,"theme-overrides":t.themeOverrides,"date-locale":e.unref(o.dateZhCN)},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NDialogProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NNotificationProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NMessageProvider),null,{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["locale","theme","theme-overrides","date-locale"])}}})),ae=D(e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},cancelBtnText:{default:"取消"},hideCancelBtn:{type:Boolean,default:!1},hideSaveBtn:{type:Boolean,default:!1},title:{},width:{default:800},height:{default:500},visible:{type:Boolean},loading:{type:Boolean},onSave:{},onClose:{}},emits:["update:visible","update:loading"],setup(t,{expose:a,emit:c}){const m=o.useMessage(),d=t,s=c,b=async()=>{s("update:loading",!0);try{d.onSave&&await d.onSave()&&g()}catch(_){m.error(_.message)}finally{s("update:loading",!1)}},g=()=>{s("update:visible",!1),s("update:loading",!1)},P=async()=>{try{d.onClose?await d.onClose()&&g():g()}catch(_){m.error(_.message),s("update:loading",!1)}};return a({open:()=>{s("update:visible",!0),s("update:loading",!1)},close:()=>{s("update:visible",!1),s("update:loading",!1)}}),(_,i)=>{const B=o.NText,T=o.NButton,r=o.NSpace;return e.openBlock(),e.createBlock(e.unref(o.NModal),e.mergeProps({ref:"$modal",preset:"card"},_.$attrs,{"header-class":"bg-gray-50",show:d.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${d.width}px`},onClose:g}),{header:e.withCtx(()=>[_.$slots.header?e.renderSlot(_.$slots,"header",{key:0}):d.title?(e.openBlock(),e.createBlock(B,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(_.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${d.height}px`})},[e.renderSlot(_.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(_.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(r,{justify:"end"},{default:e.withCtx(()=>[d.hideSaveBtn?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:0,type:"primary",loading:t.loading,onClick:b},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.saveBtnText),1)]),_:1},8,["loading"])),e.renderSlot(_.$slots,"action-extra",{loading:t.loading}),d.hideCancelBtn?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:1,onClick:P,loading:t.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelBtnText),1)]),_:1},8,["loading"]))]),_:3})]),_:3},16,["show","style"])}}})),le=D(ee),Qe=e.defineComponent({name:"Redirect",setup(){const t=R.useRoute(),a=R.useRouter();return e.onBeforeMount(()=>{const{params:c,query:m}=t,{path:d}=c;a.replace({path:"/"+(Array.isArray(d)?d.join("/"):d),query:m})}),()=>React.createElement(o.NEmpty,null)}}),se=D(Qe),Ue={class:"frame"},ve=["src"],ce=D(M(e.defineComponent({__name:"PIframe",setup(t){const a=R.useRoute(),c=e.ref(!1),m=e.ref(null),d=e.ref("");e.unref(a.meta)?.frameSrc&&(d.value=e.unref(a.meta)?.frameSrc);function s(){c.value=!1}function b(){e.nextTick(()=>{const g=e.unref(m);if(!g)return;const P=g;P.attachEvent?P.attachEvent("onload",()=>{s()}):g.onload=()=>{s()}})}return e.onMounted(()=>{c.value=!0,b()}),(g,P)=>{const N=o.NSpin;return e.openBlock(),e.createBlock(N,{show:c.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ue,[e.createElementVNode("iframe",{src:d.value,class:"frame-iframe",ref_key:"frameRef",ref:m},null,8,ve)])]),_:1},8,["show"])}}}),[["__scopeId","data-v-161a378e"]])),et={class:"border border-gray-100 rounded-lg"},tt={class:"text-xl font-semibold text-gray-800"},ot={class:"text-sm text-gray-500 mt-1"},re=D(e.defineComponent({__name:"PPage",props:{icon:{type:Object,required:!1,default:()=>L.AlertOutlined},title:{type:String,required:!0},subtitle:{type:String,required:!1}},setup(t){const a=t;return(c,m)=>{const d=o.NIcon,s=o.NAvatar,b=o.NSpace,g=o.NCard;return e.openBlock(),e.createElementBlock("div",et,[a.title?(e.openBlock(),e.createBlock(g,{key:0,class:"mb-4",bordered:!1,"content-class":"py-4"},{default:e.withCtx(()=>[e.createVNode(b,{align:"center",justify:"space-between"},{default:e.withCtx(()=>[e.createVNode(b,{align:"center",size:16},{default:e.withCtx(()=>[a.icon?(e.openBlock(),e.createBlock(s,{key:0,size:48,class:"bg-linear-to-br from-blue-500 to-indigo-600"},{default:e.withCtx(()=>[e.createVNode(d,{size:24,component:a.icon,color:"#fff"},null,8,["component"])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",null,[e.createElementVNode("div",tt,e.toDisplayString(a.title),1),e.createElementVNode("div",ot,e.toDisplayString(a.subtitle??a.title+"主页"),1)])]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0),c.$slots.search?(e.openBlock(),e.createBlock(g,{key:1,class:"mb-4","content-class":"flex flex-row gap-2",bordered:!1},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"search")]),_:3})):e.createCommentVNode("",!0),c.$slots.default?(e.openBlock(),e.createBlock(g,{key:2,"content-class":"flex flex-row gap-2 p-0!",bordered:!1},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3})):e.createCommentVNode("",!0)])}}})),nt={},at={class:"flex flex-col justify-center page-container"};function lt(t,a){const c=o.NResult;return e.openBlock(),e.createElementBlock("div",at,[e.createVNode(c,{status:"500",title:"服务器错误",description:"抱歉,服务器出错了"})])}const st=M(nt,[["render",lt],["__scopeId","data-v-89cb65c7"]]),ct={},rt={class:"flex flex-col justify-center page-container"};function it(t,a){const c=o.NResult;return e.openBlock(),e.createElementBlock("div",rt,[e.createVNode(c,{status:"404",title:"资源不存在",description:"抱歉,你访问的页面不存在"})])}const dt=M(ct,[["render",it],["__scopeId","data-v-99232671"]]),ft={},pt={class:"flex flex-col justify-center page-container"};function mt(t,a){const c=o.NResult;return e.openBlock(),e.createElementBlock("div",pt,[e.createVNode(c,{status:"403",title:"禁止访问",description:"抱歉,你无权访问该页面"})])}const gt=M(ft,[["render",mt],["__scopeId","data-v-3baa9c16"]]),ie=D(st),de=D(dt),fe=D(gt),pe=Z.defineStore("app-oidc",()=>{const t=e.reactive({});return{setCallback:s=>t.callback=s,callCallback:async s=>await t.callback?.(s),setError:s=>t.error=s,callError:async(s,b)=>await t.error?.(s,b)}}),ut={class:"view-auth-callback"},me=D(M(e.defineComponent({__name:"POidc",setup(t){const a=R.useRouter(),{callCallback:c,callError:m}=pe();return e.onMounted(async()=>{try{await c(a)}catch(d){await m(a,d)}}),(d,s)=>(e.openBlock(),e.createElementBlock("div",ut,[...s[0]||(s[0]=[e.createElementVNode("div",{class:"view-auth-callback-content"},[e.createElementVNode("div",{class:"view-auth-callback-spinner"},[e.createElementVNode("span",null,"正在处理登录回调...")])],-1)])]))}}),[["__scopeId","data-v-167395ae"]])),ht=Object.freeze(Object.defineProperty({__proto__:null,P403:fe,P404:de,P500:ie,PApplication:ne,PEmptyLayout:te,PIframe:ce,PLanguage:le,PLayout:oe,PModal:ae,POidc:me,PPage:re,PRedirect:se,PTable:U},Symbol.toStringTag,{value:"Module"})),ge=(t,a)=>(Object.values(ht).forEach(c=>{c.install&&t.use(c)}),a?.(),t),_t={install:ge};C.P403=fe,C.P404=de,C.P500=ie,C.PApplication=ne,C.PEmptyLayout=te,C.PIframe=ce,C.PLanguage=le,C.PLayout=oe,C.PModal=ae,C.POidc=me,C.PPage=re,C.PRedirect=se,C.PTable=U,C.default=_t,C.install=ge,C.useLanguageStore=v,C.useLayoutStore=j,C.useOidcStore=pe,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
1
|
+
(function(C,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","pinia","vue-router","element-resize-detector","vuedraggable"],o):(C=typeof globalThis<"u"?globalThis:C||self,o(C.naiveplus={},C.naiveUi,C.Vue,C.antd,C.pinia,C.vueRouter,C.elementResizeDetectorMaker,C.Draggable))})(this,(function(C,o,e,L,Z,R,ue,_e){"use strict";const ye={class:"text-lg font-medium"},ke={id:"data-content"},we={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-4 mb-4"},be=e.defineComponent({__name:"PTable",props:{title:{},idField:{default:"id"},columns:{},onLoad:{},onDelete:{},onAdd:{},onEdit:{}},setup(t,{expose:a}){const c=e.ref(null),m=o.useDialog(),d=o.useMessage(),s=e.ref(!1),w=e.ref([]),g=e.ref([]),P=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async k=>{P.value.page=k,await E()},onUpdatePageSize:async k=>{P.value.pageSize=k,await E()}}),N=t,l=k=>{const b=x=>{const V=[];return k&&k.forEach(O=>{O.key!=="edit"&&O.key!=="delete"&&V.push({label:O.name,key:O.key,icon:O.icon&&(()=>e.h(o.NIcon,null,{default:()=>e.h(O.icon)})),props:{onClick:()=>O.action(x)}})}),V};return{title:"操作",key:"actions",width:100,fixed:"right",render:x=>{let V=[];if(N.onEdit&&V.push({label:"编辑",key:"edit",icon:()=>e.h(o.NIcon,null,{default:()=>e.h(L.EditOutlined)}),props:{onClick:async()=>await N.onEdit(x)}}),N.onDelete&&V.push({label:"删除",key:"delete",icon:()=>e.h(o.NIcon,null,{default:()=>e.h(L.DeleteOutlined)}),props:{onClick:()=>B(x)}}),V=[...V,...b(x)],!(V.length<=0))return e.h(o.NDropdown,{options:V,placement:"bottom-start"},{default:()=>e.h(o.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(o.NIcon,()=>e.h(L.MoreOutlined))]})})}}},_=e.computed(()=>{const k=N.columns.filter(x=>x.key!="action").map(x=>({title:x.title,key:x.key,width:x.width,fixed:x.fixed??!1,render:x.render,ellipsis:x.ellipsis?{tooltip:!0}:!1})),b=N.columns.reduce((x,V)=>V.key==="action"?V:x,void 0)?.action;return b&&b?.length>0||N.onEdit||N.onDelete?[{type:"selection",fixed:"left"},...k,l(b)]:[{type:"selection",fixed:"left"},...k]}),i=async()=>await E(),B=k=>r([k]),T=()=>{const k=h();r(k)},r=k=>{k&&k.length>0&&m.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(N.onDelete)try{await N.onDelete(k)?(E(),d.success("删除成功")):d.error("删除失败")}catch(b){d.error(b.message)}}})},h=()=>w.value?g.value.filter(b=>w.value.includes(b.id)).map(b=>e.toRaw(b)):[],y=()=>h()[0],$=()=>e.toRaw(g.value),E=async()=>{if(!s.value){s.value=!0;try{if(N.onLoad){var{data:k,total:b}=await N.onLoad(P.value.page,P.value.pageSize);g.value=k,P.value.itemCount=b}}catch(x){d.error(x.message)}finally{s.value=!1}}},u=e.computed(()=>{const k=e.unref(c);if(!k)return;const b=k?.$el,x=b.querySelector(".n-data-table-thead "),{bottomIncludeBody:V}=F(x),O=48;let I=12,W=25;const z=b.querySelector(".n-data-table__pagination");if(z){const q=z.offsetHeight;I+=q||0}else I+=28;return V-(O+I+W)}),H=k=>!k||!k.getBoundingClientRect?0:k.getBoundingClientRect(),F=k=>{const b=document.documentElement,x=b.scrollLeft,V=b.scrollTop,O=b.clientLeft,I=b.clientTop,W=window.pageXOffset,z=window.pageYOffset,K=H(k),{left:q,top:G,width:Q,height:n}=K,f=(W||x)-(O||0),p=(z||V)-(I||0),S=q+W,A=G+z,Y=S-f,X=A-p,J=window.document.documentElement.clientWidth,he=window.document.documentElement.clientHeight;return{left:Y,top:X,right:J-Q-Y,bottom:he-n-X,rightIncludeBody:J-Y,bottomIncludeBody:he-X}};return e.onMounted(async()=>await E()),a({getData:$,getSelectedRow:y,getSelectedRows:h,refreshData:E,resetPage:()=>{P.value.page=1}}),(k,b)=>{const x=o.NTooltip,V=o.NSpace,O=o.NDataTable;return e.openBlock(),e.createBlock(e.unref(o.NCard),{bordered:!1},{header:e.withCtx(()=>[e.createVNode(V,{justify:"space-between",align:"center",class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("span",ye,e.toDisplayString(t.title),1),e.createVNode(V,null,{default:e.withCtx(()=>[N.onAdd?(e.openBlock(),e.createBlock(x,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:N.onAdd},{default:e.withCtx(()=>[e.createVNode(e.unref(L.PlusSquareOutlined))]),_:1},8,["onClick"])]),default:e.withCtx(()=>[b[1]||(b[1]=e.createElementVNode("span",null,"新增",-1))]),_:1})):e.createCommentVNode("",!0),N.onDelete?(e.openBlock(),e.createBlock(x,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:T},{default:e.withCtx(()=>[e.createVNode(e.unref(L.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[b[2]||(b[2]=e.createElementVNode("span",null,"删除",-1))]),_:1})):e.createCommentVNode("",!0),e.createVNode(x,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:i},{default:e.withCtx(()=>[e.createVNode(e.unref(L.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[b[3]||(b[3]=e.createElementVNode("span",null,"刷新",-1))]),_:1})]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",ke,[k.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",we,[e.renderSlot(k.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(O,{remote:"",ref_key:"$table",ref:c,"checked-row-keys":w.value,"onUpdate:checkedRowKeys":b[0]||(b[0]=I=>w.value=I),"max-height":u.value,loading:s.value,bordered:!1,"single-line":!1,columns:_.value,data:g.value,pagination:P.value,"row-key":I=>I[t.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"])])]),_:3})}}}),D=t=>{const a=t;return a.install=function(c){c.component(a.__name,t)},t},U=D(be),Ce=["Redirect","RedirectSon","login"],j=Z.defineStore("p-layout",()=>{const t=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1,enableLanguage:!1});return{state:t,initTabs:r=>{r.sort((h,y)=>(y.meta.affix?1:0)-(h.meta.affix?1:0)),t.tabs=r},addTab:r=>Ce.includes(r.name)?!1:(t.tabs?.some(y=>y.fullPath==r.fullPath)||t.tabs?.push(r),!0),closeCurrentTab:r=>{const h=t.tabs.findIndex(y=>y.fullPath==r.fullPath);t.tabs.splice(h,1)},closeAllTabs:()=>{t.tabs=t.tabs.filter(r=>r?.meta?.affix??!1)},closeOtherTabs:r=>{t.tabs=t.tabs.filter(h=>h.fullPath==r.fullPath||(h?.meta?.affix??!1))},closeLeftTabs:r=>{const h=t.tabs.findIndex(y=>y.fullPath==r.fullPath);t.tabs=t.tabs.filter((y,$)=>$>=h||(y?.meta?.affix??!1))},closeRightTabs:r=>{const h=t.tabs.findIndex(y=>y.fullPath==r.fullPath);t.tabs=t.tabs.filter((y,$)=>$<=h||(y?.meta?.affix??!1))},collapse:()=>{t.collapsed=!t.collapsed},setTitle:r=>{t.title=r},setLogo:r=>{t.logo=r},setUser:(r,h)=>{t.uid=r,t.uname=h},setSettingPages:r=>{t.settingPages=r},setLogout:r=>{t.logout=r},enableLanguage:r=>{t.enableLanguage=r}}}),Ne={class:"logo"},xe=e.defineComponent({__name:"PLogo",setup(t){const a=j();return(c,m)=>(e.openBlock(),e.createElementBlock("div",Ne,[e.createVNode(e.unref(o.NAvatar),{color:"var(--color-logo)",size:32,src:e.unref(a).state.logo,class:e.normalizeClass({"mr-2":!e.unref(a).state.collapsed})},null,8,["src","class"]),e.withDirectives(e.createElementVNode("h1",{class:"font-bold ease-in-out ml-2 logo-size"},e.toDisplayString(e.unref(a).state.title),513),[[e.vShow,!e.unref(a).state.collapsed]])]))}}),M=(t,a)=>{const c=t.__vccOpts||t;for(const[m,d]of a)c[m]=d;return c},Pe=M(xe,[["__scopeId","data-v-e48aeefa"]]),Be={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],initLanguages:async()=>[],selectLanguage:async t=>{}},v=Z.defineStore("language",()=>{const t=e.ref(Be),a=async()=>(t.value.options.length===0&&(t.value.options=await t.value.initLanguages()),t.value.options);return{select:async l=>{if(t.value.currentLanguage===l)return;const _=(await a()).find(i=>i.key===l);_&&(t.value.currentLanguage=_.key,t.value.selectLanguage(_))},selectLanguageCallback:async l=>{t.value.selectLanguage=l},initLanguagesCallback:async l=>{t.value.initLanguages=l},getLanguages:a,getCurrentLanguage:async()=>{if(t.value.currentLanguage)return(await a()).find(l=>l.key===t.value.currentLanguage)},setTranslationApiUrl:l=>{t.value.translationApiUrl=l},getTranslationApiUrl:()=>t.value.translationApiUrl,getDefaultLanguage:()=>t.value.defaultLanguage?t.value.defaultLanguage:"chinese_simplified",setDefaultLanguage:l=>{(l==="Chinese"||l==="chinese")&&(l="chinese_simplified"),t.value.defaultLanguage=l}}}),Ve={key:1},ee=e.defineComponent({__name:"PLanguage",setup(t){const{select:a,getLanguages:c,getCurrentLanguage:m,getDefaultLanguage:d,getTranslationApiUrl:s}=v(),w=e.ref(),g=e.ref([]),P=async l=>await a(l),N=async()=>{const l=window.translate;l&&(l.selectLanguageTag.show=!1,l.selectLanguageTag.languages=(await c()).map(_=>_.key).join(","),l.ignore.class.push("ignore-translate-flag"),l.ignore.id.push("ignore-translation"),l.language.setLocal(d()),l.request.api.translate="api/v1/translation",l.request.api.connectTest="api/v1/translation/connect-test",l.request.api.init="api/v1/translation/init",l.request.api.language="api/v1/translation/language",l.request.setHost(s()),l.request.listener.start(),l.listener.start(),l.whole.enableAll(),l.execute())};return e.onMounted(async()=>{await e.nextTick(),await N(),w.value=await m(),g.value=await c()}),(l,_)=>{const i=o.NIcon,B=o.NButton;return g.value.length>0?(e.openBlock(),e.createBlock(e.unref(o.NDropdown),{key:0,id:"ignore-translation",placement:"bottom-start",trigger:"hover",class:"flex flex-col justify-center h-full ignore",onSelect:P,options:g.value},{default:e.withCtx(()=>[e.createVNode(B,{quaternary:"",type:"info"},{default:e.withCtx(()=>[w.value?(e.openBlock(),e.createElementBlock("label",Ve,e.toDisplayString(w.value?.label),1)):(e.openBlock(),e.createBlock(i,{key:0,size:"18"},{default:e.withCtx(()=>[..._[0]||(_[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[e.createElementVNode("path",{d:"M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z",fill:"currentColor"}),e.createElementVNode("path",{d:"M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z",fill:"currentColor"})],-1)])]),_:1}))]),_:1})]),_:1},8,["options"])):e.createCommentVNode("",!0)}}}),Se={class:"layout-header"},Le={class:"layout-header-left"},Ee={class:"link-text"},Te={key:1,class:"link-text"},$e={class:"layout-header-right"},Oe={key:0,class:"layout-header-trigger-min"},De={class:"layout-header-trigger layout-header-trigger-min"},Ie={class:"layout-header-trigger layout-header-trigger-min"},Re={class:"avatar"},Me=M(e.defineComponent({__name:"PHeader",setup(t){const a=o.useMessage(),c=o.useDialog(),m=j(),d=R.useRouter(),s=R.useRoute(),w=e.inject("reloadPage"),g=r=>d.push({name:r}),P=e.computed(()=>N(s.matched)),N=r=>r.map(h=>{const y={key:h.name,label:h.meta.title,icon:h.meta.icon,meta:h.meta,disabled:h.path==="/",children:void 0};return h.children&&h.children.length>0&&(y.children=N(h.children)),y}),l=e.ref(!1),_=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),l.value=!1):(document.documentElement.requestFullscreen(),l.value=!0)},i=e.computed(()=>{const r=[];return r.push({label:"退出登录",key:"logout"}),m.state.settingPages&&m.state.settingPages.length>0&&m.state.settingPages.forEach(h=>{r.push({label:h.title,key:h.route})}),r}),B=r=>{r==="logout"?T():d.push({name:r})},T=()=>{c.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(m.state.logout)try{await m.state.logout(),localStorage.removeItem("TABS-ROUTES"),a.error("退出成功")}catch(r){console.error(r),a.error("退出登录失败")}finally{location.reload()}else a.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(r,h)=>{const y=o.NTooltip,$=o.NDivider,E=o.NAvatar;return e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",Le,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:h[0]||(h[0]=(...u)=>e.unref(m).collapse&&e.unref(m).collapse(...u))},[e.unref(m).state.collapsed?(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:h[1]||(h[1]=(...u)=>e.unref(w)&&e.unref(w)(...u))},[e.createVNode(e.unref(o.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(o.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,u=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u.label},[u.label?(e.openBlock(),e.createBlock(e.unref(o.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[u.children&&u.children.length?(e.openBlock(),e.createBlock(e.unref(o.NDropdown),{key:0,options:u.children,onSelect:g},{default:e.withCtx(()=>[e.createElementVNode("span",Ee,[u.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(u.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Te,[u.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(u.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",$e,[e.unref(m).state.enableLanguage?(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(ee)])):e.createCommentVNode("",!0),e.createElementVNode("div",De,[e.createVNode(y,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",onClick:e.withModifiers(_,["stop"])},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(e.unref(L.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(L.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[h[2]||(h[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1})]),e.createElementVNode("div",Ie,[e.createVNode(e.unref(o.NDropdown),{trigger:"hover",onSelect:B,options:i.value},{default:e.withCtx(()=>[e.createElementVNode("div",Re,[e.createElementVNode("span",null,e.toDisplayString(e.unref(m).state.uname),1),e.createVNode($,{vertical:""}),e.createVNode(E,{round:"",src:e.unref(m).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-563e4e55"]]),Ae={class:"mt-1"},ze=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(t){return(a,c)=>{const m=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",Ae,[t.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(m,{key:0},{default:e.withCtx(({Component:d,route:s})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d),{key:s.fullPath}))],1024))]),_:1}))])}}}),qe={class:"tabs-view-main"},je=["id","onClick","onContextmenu"],He={class:"tabs-close"},We={class:"tabs-close-btn"},Fe=M(e.defineComponent({__name:"PTabs",setup(t){e.useCssVars(n=>({v4a1a98ea:c.value,v271d846e:m.value}));const a=o.useThemeVars(),c=e.computed(()=>a.value.cardColor),m=e.computed(()=>a.value.textColor1),d=o.useMessage(),s=R.useRoute(),w=R.useRouter(),g=e.ref(null),P=e.ref(null),N=e.ref(!1),l=j(),_=e.computed(()=>l.state.tabs),i=e.reactive({activeKey:s.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),B=["Login","Redirect","ErrorPage"],T=n=>{const{fullPath:f,hash:p,meta:S,name:A,params:Y,path:X,query:J}=n;return{fullPath:f,hash:p,meta:S,name:A,params:Y,path:X,query:J}},r=e.computed(()=>{const p=l.state.collapsed?"64px":"272px";return{left:p,width:`calc(100% - ${p})`}}),h=e.computed(()=>{const n=_.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(o.NIcon,null,{default:()=>e.h(L.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:N.value||n,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(L.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:n,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(L.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:n,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(L.MinusOutlined)})}]}),y=()=>{let n=[];const f=T(s);try{if(l.state.cacheTabs){const p=localStorage.getItem("TABS_ROUTES");n=p?JSON.parse(p):[f]}else n=[f]}catch{n=[f]}finally{return n}},$=n=>{const f=w.getRoutes();n.forEach(p=>{const S=f.find(A=>A.path===p.path);S&&(p.meta=S.meta||p.meta,p.name=S.name||p.name)}),l.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(n))},E=()=>{const n=y();$(n),l.initTabs(n)},u=async n=>{if(await e.nextTick(),!g.value)return;const f=g.value.offsetWidth,p=g.value.scrollWidth;f<p?(i.scrollable=!0,n&&[...g.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach(A=>{A.id===`tag${i.activeKey.split("/").join("/")}`&&A.scrollIntoView&&A.scrollIntoView()})):i.scrollable=!1},H=n=>!(n.draggedContext.element.meta.affix||n.relatedContext.element.meta.affix),F=()=>{let n;n=ue(),n.listenTo(P.value,()=>u(!0))},k=n=>{const{fullPath:f}=n;if(f===s.fullPath||(i.activeKey=f,!n))return;const{replace:p}=w;toString.call(n),p(n).catch(console.error)},b=(n,f)=>{n.preventDefault(),N.value=f.path==="/home",i.showDropdown=!1,e.nextTick().then(()=>{i.showDropdown=!0,i.dropdownX=n.clientX,i.dropdownY=n.clientY})},x=()=>{if(s.meta.keepAlive){var n=w.currentRoute.value.matched.find(f=>f.name==s.name);n&&n.components?.default?.name}},V=n=>{if(_.value.length===1)return d.warning("这已经是最后一页,不能再关闭了!");if(x(),l.closeCurrentTab(n),i.activeKey===n.fullPath){const f=_.value[Math.max(0,_.value.length-1)];i.activeKey=f.fullPath,w.push(f)}u()},O=n=>{const{fullPath:f}=n,p=_.value.find(S=>S.fullPath==f);V(p)},I=n=>{l.closeOtherTabs(n),i.activeKey=n.fullPath,w.replace(n.fullPath),u()},W=()=>{l.closeAllTabs(),u()},z=e.inject("reloadPage"),K=n=>{switch(n){case"1":z();break;case"2":V(s);break;case"3":I(s);break;case"4":W();break}u(),i.showDropdown=!1},q=(n,f)=>{const p=g.value.scrollLeft,S=f>0&&p+f>=n||f<0&&p+f<=n?n:p+f;if(g.value&&g.value.scrollTo(S,0),S!==n)return window.requestAnimationFrame(()=>q(n,f))},G=()=>{const n=g.value.offsetWidth,f=g.value.scrollLeft;if(!f)return;const p=f>n?f-n:0;q(p,(p-f)/20)},Q=()=>{const n=g.value.offsetWidth,f=g.value.scrollWidth,p=g.value.scrollLeft;if(f-p<=n)return;const S=f-p>n*2?p+n:f-n;q(S,(S-p)/20)};return window.addEventListener("beforeunload",()=>{localStorage.setItem("TABS_ROUTES",JSON.stringify(_.value))}),window.addEventListener("scroll",n=>{let f=n.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;i.isMultiHeaderFixed=f>=64},!0),e.watch(()=>s.fullPath,n=>{B.includes(s.name)||(i.activeKey=n,l.addTab(T(s)),u(!0))},{immediate:!0}),E(),e.onMounted(()=>F()),(n,f)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(r.value)},[e.createElementVNode("div",qe,[e.createElementVNode("div",{ref_key:"navWrap",ref:P,class:e.normalizeClass(["tabs-card",{"tabs-card-scrollable":i.scrollable}])},[e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-prev",{"tabs-card-prev-hide":!i.scrollable}]),onClick:G},[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.LeftOutlined))]),_:1})],2),e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-next",{"tabs-card-next-hide":!i.scrollable}]),onClick:Q},[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.RightOutlined))]),_:1})],2),e.createElementVNode("div",{ref_key:"navScroll",ref:g,class:"tabs-card-scroll"},[e.createVNode(e.unref(_e),{list:_.value,animation:"300","item-key":"fullPath",class:"flex",move:H},{item:e.withCtx(({element:p})=>[e.createElementVNode("div",{id:`tag${p.fullPath.split("/").join("/")}`,class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":i.activeKey===p.fullPath}]),onClick:e.withModifiers(S=>k(p),["stop"]),onContextmenu:S=>b(S,p)},[e.createElementVNode("span",null,e.toDisplayString(p.meta.title),1),p.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:0,size:"14",onClick:e.withModifiers(S=>O(p),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(L.CloseOutlined))]),_:1},8,["onClick"]))],42,je)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",He,[e.createVNode(e.unref(o.NDropdown),{trigger:"hover",onSelect:K,placement:"bottom-end",options:h.value},{default:e.withCtx(()=>[e.createElementVNode("div",We,[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.DownOutlined))]),_:1})])]),_:1},8,["options"])]),e.createVNode(e.unref(o.NDropdown),{show:i.showDropdown,x:i.dropdownX,y:i.dropdownY,onClickoutside:f[0]||(f[0]=p=>i.showDropdown=!1),placement:"bottom-start",onSelect:K,options:h.value},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-e37d2460"]]),Ke=e.defineComponent({__name:"PMenus",setup(t){const a=R.useRoute(),c=R.useRouter(),m=j(),d=e.ref(a.name),s=e.ref(a.matched&&a.matched.length?a.matched.map(i=>i.name):[]),w=e.ref([]),g=i=>{/http(s)?:/.test(i)?window.open(i):c.push({name:i})},P=i=>{if(!i)return;const B=i.find(T=>s.value.indexOf(T)===-1);s.value=B?[B]:[]},N=()=>{const i=a.matched;s.value=i.map(T=>T.name);const B=a.meta?.activeMenu||"";d.value=B||a.name},l=(i,B=[],T=!1)=>{const r=[],h=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!i||i.length===0)return r;i=i.sort((y,$)=>{let E=($.children?.length?1:0)-(y.children?.length?1:0);return E===0&&(E=(y.meta?.sort??0)-($.meta?.sort??0)),E});for(const y of i){if(T||y.meta?.hidden||h.includes(y.path.toLowerCase())){B.push(y.name),l(y.children||[],B,!0);continue}const $=y.children?.filter(F=>!F.meta?.hidden)||[],E=y.meta?.alwaysShow!=!0&&$.length===1,u=E?$[0]:y,H={key:u.name,label:u.meta?.title,affix:u.meta?.affix,sort:E?y.meta?.sort??0:u.meta?.sort??0,path:u.path,redirect:u.redirect,icon:E?y.meta?.icon:u.meta?.icon,permissions:u.meta?.permissions,meta:u.meta,children:void 0};B.includes(u.name)||(r.push(H),B.push(u.name)),u.children?.length>0&&(H.children=l(u.children,B,T))}return r},_=()=>{const i=c.getRoutes();w.value=l(i)};return e.watch(()=>a.fullPath,()=>{N()}),e.onMounted(()=>{_(),N()}),(i,B)=>(e.openBlock(),e.createBlock(e.unref(o.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:w.value,collapsed:e.unref(m).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":s.value,value:d.value,"onUpdate:value":g,"onUpdate:expandedKeys":P},null,8,["options","collapsed","expanded-keys","value"]))}}),Ye={class:"layout-content-main layout-content-main-fix"},Xe={class:"main-view main-view-fix"},Je=M(e.defineComponent({__name:"PLayout",setup(t){const a=j(),c=e.ref(!1),m=()=>{c.value=!0,e.nextTick(()=>c.value=!1)};return e.provide("reloadPage",m),(d,s)=>{const w=o.NBackTop;return e.openBlock(),e.createBlock(e.unref(o.NLayout),{"has-sider":"",class:"layout",position:"absolute"},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NLayoutSider),{class:"layout-sider",inverted:"","show-trigger":"bar",position:"absolute","collapse-mode":"width","trigger-class":"!-right-5","collapsed-trigger-class":"!-right-5",collapsed:e.unref(a).state.collapsed,"native-scrollbar":!1,"collapsed-width":64,onCollapse:e.unref(a).collapse,onExpand:e.unref(a).collapse},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NFlex),{vertical:""},{default:e.withCtx(()=>[e.createVNode(Pe),e.createVNode(Ke)]),_:1})]),_:1},8,["collapsed","onCollapse","onExpand"]),e.createVNode(e.unref(o.NLayout),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NLayoutHeader),{position:"absolute"},{default:e.withCtx(()=>[e.createVNode(Me)]),_:1}),e.createVNode(e.unref(o.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[e.createVNode(Fe),e.createElementVNode("div",Xe,[e.createVNode(ze,{loading:c.value},null,8,["loading"])])])]),_:1}),e.createVNode(w,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-0bac2e7d"]]),Ze={};function Ge(t,a){const c=e.resolveComponent("router-view");return e.openBlock(),e.createBlock(c)}const te=D(M(Ze,[["render",Ge]])),oe=D(Je),ne=D(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(t){return(a,c)=>{const m=o.NConfigProvider;return e.openBlock(),e.createBlock(m,{locale:e.unref(o.zhCN),theme:t.theme,"theme-overrides":t.themeOverrides,"date-locale":e.unref(o.dateZhCN)},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NDialogProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NNotificationProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NMessageProvider),null,{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["locale","theme","theme-overrides","date-locale"])}}})),ae=D(e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},cancelBtnText:{default:"取消"},hideCancelBtn:{type:Boolean,default:!1},hideSaveBtn:{type:Boolean,default:!1},title:{},width:{default:800},height:{default:500},visible:{type:Boolean},loading:{type:Boolean},onSave:{},onClose:{},onAfterEnter:{},onAfterLeave:{},onUpdateShow:{}},emits:["update:visible","update:loading"],setup(t,{expose:a,emit:c}){const m=o.useMessage(),d=t,s=c,w=async()=>{s("update:loading",!0);try{d.onSave&&await d.onSave()&&g()}catch(_){m.error(_.message)}finally{s("update:loading",!1)}},g=()=>{s("update:visible",!1),s("update:loading",!1)},P=async()=>{try{d.onClose?await d.onClose()&&g():g()}catch(_){m.error(_.message),s("update:loading",!1)}};return a({open:()=>{s("update:visible",!0),s("update:loading",!1)},close:()=>{s("update:visible",!1),s("update:loading",!1)}}),(_,i)=>{const B=o.NText,T=o.NButton,r=o.NSpace;return e.openBlock(),e.createBlock(e.unref(o.NModal),e.mergeProps({ref:"$modal",preset:"card"},_.$attrs,{"header-class":"bg-gray-50",show:d.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${d.width}px`,height:`${d.height}px`},onClose:g,onAfterEnter:d.onAfterEnter,onAfterLeave:d.onAfterLeave,onUpdateShow:d.onUpdateShow}),{header:e.withCtx(()=>[_.$slots.header?e.renderSlot(_.$slots,"header",{key:0}):d.title?(e.openBlock(),e.createBlock(B,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(_.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${d.height}px`})},[e.renderSlot(_.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(_.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(r,{justify:"end"},{default:e.withCtx(()=>[d.hideSaveBtn?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:0,type:"primary",loading:t.loading,onClick:w},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.saveBtnText),1)]),_:1},8,["loading"])),e.renderSlot(_.$slots,"action-extra",{loading:t.loading}),d.hideCancelBtn?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:1,onClick:P,loading:t.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelBtnText),1)]),_:1},8,["loading"]))]),_:3})]),_:3},16,["show","style","onAfterEnter","onAfterLeave","onUpdateShow"])}}})),le=D(ee),Qe=e.defineComponent({name:"Redirect",setup(){const t=R.useRoute(),a=R.useRouter();return e.onBeforeMount(()=>{const{params:c,query:m}=t,{path:d}=c;a.replace({path:"/"+(Array.isArray(d)?d.join("/"):d),query:m})}),()=>React.createElement(o.NEmpty,null)}}),se=D(Qe),Ue={class:"frame"},ve=["src"],ce=D(M(e.defineComponent({__name:"PIframe",setup(t){const a=R.useRoute(),c=e.ref(!1),m=e.ref(null),d=e.ref("");e.unref(a.meta)?.frameSrc&&(d.value=e.unref(a.meta)?.frameSrc);function s(){c.value=!1}function w(){e.nextTick(()=>{const g=e.unref(m);if(!g)return;const P=g;P.attachEvent?P.attachEvent("onload",()=>{s()}):g.onload=()=>{s()}})}return e.onMounted(()=>{c.value=!0,w()}),(g,P)=>{const N=o.NSpin;return e.openBlock(),e.createBlock(N,{show:c.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ue,[e.createElementVNode("iframe",{src:d.value,class:"frame-iframe",ref_key:"frameRef",ref:m},null,8,ve)])]),_:1},8,["show"])}}}),[["__scopeId","data-v-161a378e"]])),et={class:"border border-gray-100 rounded-lg"},tt={class:"text-xl font-semibold text-gray-800"},ot={class:"text-sm text-gray-500 mt-1"},re=D(e.defineComponent({__name:"PPage",props:{icon:{type:Object,required:!1,default:()=>L.AlertOutlined},title:{type:String,required:!0},subtitle:{type:String,required:!1}},setup(t){const a=t;return(c,m)=>{const d=o.NIcon,s=o.NAvatar,w=o.NSpace,g=o.NCard;return e.openBlock(),e.createElementBlock("div",et,[a.title?(e.openBlock(),e.createBlock(g,{key:0,class:"mb-4",bordered:!1,"content-class":"py-4"},{default:e.withCtx(()=>[e.createVNode(w,{align:"center",justify:"space-between"},{default:e.withCtx(()=>[e.createVNode(w,{align:"center",size:16},{default:e.withCtx(()=>[a.icon?(e.openBlock(),e.createBlock(s,{key:0,size:48,class:"bg-linear-to-br from-blue-500 to-indigo-600"},{default:e.withCtx(()=>[e.createVNode(d,{size:24,component:a.icon,color:"#fff"},null,8,["component"])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",null,[e.createElementVNode("div",tt,e.toDisplayString(a.title),1),e.createElementVNode("div",ot,e.toDisplayString(a.subtitle??a.title+"主页"),1)])]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0),c.$slots.search?(e.openBlock(),e.createBlock(g,{key:1,class:"mb-4","content-class":"flex flex-row gap-2",bordered:!1},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"search")]),_:3})):e.createCommentVNode("",!0),c.$slots.default?(e.openBlock(),e.createBlock(g,{key:2,"content-class":"flex flex-row gap-2 p-0!",bordered:!1},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3})):e.createCommentVNode("",!0)])}}})),nt={},at={class:"flex flex-col justify-center page-container"};function lt(t,a){const c=o.NResult;return e.openBlock(),e.createElementBlock("div",at,[e.createVNode(c,{status:"500",title:"服务器错误",description:"抱歉,服务器出错了"})])}const st=M(nt,[["render",lt],["__scopeId","data-v-89cb65c7"]]),ct={},rt={class:"flex flex-col justify-center page-container"};function it(t,a){const c=o.NResult;return e.openBlock(),e.createElementBlock("div",rt,[e.createVNode(c,{status:"404",title:"资源不存在",description:"抱歉,你访问的页面不存在"})])}const dt=M(ct,[["render",it],["__scopeId","data-v-99232671"]]),ft={},pt={class:"flex flex-col justify-center page-container"};function mt(t,a){const c=o.NResult;return e.openBlock(),e.createElementBlock("div",pt,[e.createVNode(c,{status:"403",title:"禁止访问",description:"抱歉,你无权访问该页面"})])}const gt=M(ft,[["render",mt],["__scopeId","data-v-3baa9c16"]]),ie=D(st),de=D(dt),fe=D(gt),pe=Z.defineStore("app-oidc",()=>{const t=e.reactive({});return{setCallback:s=>t.callback=s,callCallback:async s=>await t.callback?.(s),setError:s=>t.error=s,callError:async(s,w)=>await t.error?.(s,w)}}),ht={class:"view-auth-callback"},me=D(M(e.defineComponent({__name:"POidc",setup(t){const a=R.useRouter(),{callCallback:c,callError:m}=pe();return e.onMounted(async()=>{try{await c(a)}catch(d){await m(a,d)}}),(d,s)=>(e.openBlock(),e.createElementBlock("div",ht,[...s[0]||(s[0]=[e.createElementVNode("div",{class:"view-auth-callback-content"},[e.createElementVNode("div",{class:"view-auth-callback-spinner"},[e.createElementVNode("span",null,"正在处理登录回调...")])],-1)])]))}}),[["__scopeId","data-v-167395ae"]])),ut=Object.freeze(Object.defineProperty({__proto__:null,P403:fe,P404:de,P500:ie,PApplication:ne,PEmptyLayout:te,PIframe:ce,PLanguage:le,PLayout:oe,PModal:ae,POidc:me,PPage:re,PRedirect:se,PTable:U},Symbol.toStringTag,{value:"Module"})),ge=(t,a)=>(Object.values(ut).forEach(c=>{c.install&&t.use(c)}),a?.(),t),_t={install:ge};C.P403=fe,C.P404=de,C.P500=ie,C.PApplication=ne,C.PEmptyLayout=te,C.PIframe=ce,C.PLanguage=le,C.PLayout=oe,C.PModal=ae,C.POidc=me,C.PPage=re,C.PRedirect=se,C.PTable=U,C.default=_t,C.install=ge,C.useLanguageStore=v,C.useLayoutStore=j,C.useOidcStore=pe,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
package/es/modal/PModal.vue.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { useMessage as
|
|
2
|
-
import { defineComponent as
|
|
3
|
-
const
|
|
1
|
+
import { useMessage as w, NModal as S, NSpace as C, NButton as b, NText as $ } from "naive-ui";
|
|
2
|
+
import { defineComponent as x, openBlock as d, createBlock as r, unref as k, mergeProps as A, withCtx as o, createVNode as N, createTextVNode as i, toDisplayString as f, createCommentVNode as c, renderSlot as l, createElementVNode as T, normalizeStyle as E } from "vue";
|
|
3
|
+
const j = /* @__PURE__ */ x({
|
|
4
4
|
__name: "PModal",
|
|
5
5
|
props: {
|
|
6
6
|
saveBtnText: { default: "保存" },
|
|
@@ -13,26 +13,29 @@ const H = /* @__PURE__ */ S({
|
|
|
13
13
|
visible: { type: Boolean },
|
|
14
14
|
loading: { type: Boolean },
|
|
15
15
|
onSave: {},
|
|
16
|
-
onClose: {}
|
|
16
|
+
onClose: {},
|
|
17
|
+
onAfterEnter: {},
|
|
18
|
+
onAfterLeave: {},
|
|
19
|
+
onUpdateShow: {}
|
|
17
20
|
},
|
|
18
21
|
emits: ["update:visible", "update:loading"],
|
|
19
|
-
setup(
|
|
20
|
-
const u =
|
|
22
|
+
setup(n, { expose: p, emit: g }) {
|
|
23
|
+
const u = w(), e = n, a = g, m = async () => {
|
|
21
24
|
a("update:loading", !0);
|
|
22
25
|
try {
|
|
23
|
-
|
|
24
|
-
} catch (
|
|
25
|
-
u.error(
|
|
26
|
+
e.onSave && await e.onSave() && s();
|
|
27
|
+
} catch (t) {
|
|
28
|
+
u.error(t.message);
|
|
26
29
|
} finally {
|
|
27
30
|
a("update:loading", !1);
|
|
28
31
|
}
|
|
29
|
-
},
|
|
32
|
+
}, s = () => {
|
|
30
33
|
a("update:visible", !1), a("update:loading", !1);
|
|
31
34
|
}, y = async () => {
|
|
32
35
|
try {
|
|
33
|
-
|
|
34
|
-
} catch (
|
|
35
|
-
u.error(
|
|
36
|
+
e.onClose ? await e.onClose() && s() : s();
|
|
37
|
+
} catch (t) {
|
|
38
|
+
u.error(t.message), a("update:loading", !1);
|
|
36
39
|
}
|
|
37
40
|
};
|
|
38
41
|
return p({
|
|
@@ -42,66 +45,69 @@ const H = /* @__PURE__ */ S({
|
|
|
42
45
|
close: () => {
|
|
43
46
|
a("update:visible", !1), a("update:loading", !1);
|
|
44
47
|
}
|
|
45
|
-
}), (
|
|
46
|
-
const v =
|
|
47
|
-
return d(),
|
|
48
|
+
}), (t, V) => {
|
|
49
|
+
const v = $, h = b, B = C;
|
|
50
|
+
return d(), r(k(S), A({
|
|
48
51
|
ref: "$modal",
|
|
49
52
|
preset: "card"
|
|
50
|
-
},
|
|
53
|
+
}, t.$attrs, {
|
|
51
54
|
"header-class": "bg-gray-50",
|
|
52
|
-
show:
|
|
55
|
+
show: e.visible,
|
|
53
56
|
draggable: !0,
|
|
54
57
|
closable: !1,
|
|
55
58
|
"close-on-esc": !1,
|
|
56
59
|
"mask-closable": !1,
|
|
57
60
|
bordered: !1,
|
|
58
|
-
style: { width: `${
|
|
59
|
-
onClose:
|
|
61
|
+
style: { width: `${e.width}px`, height: `${e.height}px` },
|
|
62
|
+
onClose: s,
|
|
63
|
+
onAfterEnter: e.onAfterEnter,
|
|
64
|
+
onAfterLeave: e.onAfterLeave,
|
|
65
|
+
onUpdateShow: e.onUpdateShow
|
|
60
66
|
}), {
|
|
61
67
|
header: o(() => [
|
|
62
|
-
|
|
68
|
+
t.$slots.header ? l(t.$slots, "header", { key: 0 }) : e.title ? (d(), r(v, { key: 1 }, {
|
|
63
69
|
default: o(() => [
|
|
64
|
-
|
|
70
|
+
i(f(n.title), 1)
|
|
65
71
|
]),
|
|
66
72
|
_: 1
|
|
67
|
-
})) :
|
|
73
|
+
})) : c("", !0)
|
|
68
74
|
]),
|
|
69
75
|
"header-extra": o(() => [
|
|
70
|
-
|
|
76
|
+
l(t.$slots, "header-extra")
|
|
71
77
|
]),
|
|
72
78
|
default: o(() => [
|
|
73
|
-
|
|
79
|
+
T("div", {
|
|
74
80
|
class: "overflow-y-auto overflow-hidden mt-5",
|
|
75
|
-
style:
|
|
81
|
+
style: E({ maxHeight: `${e.height}px` })
|
|
76
82
|
}, [
|
|
77
|
-
|
|
83
|
+
l(t.$slots, "default")
|
|
78
84
|
], 4)
|
|
79
85
|
]),
|
|
80
86
|
footer: o(() => [
|
|
81
|
-
|
|
87
|
+
l(t.$slots, "footer")
|
|
82
88
|
]),
|
|
83
89
|
action: o(() => [
|
|
84
|
-
|
|
90
|
+
N(B, { justify: "end" }, {
|
|
85
91
|
default: o(() => [
|
|
86
|
-
|
|
92
|
+
e.hideSaveBtn ? c("", !0) : (d(), r(h, {
|
|
87
93
|
key: 0,
|
|
88
94
|
type: "primary",
|
|
89
|
-
loading:
|
|
90
|
-
onClick:
|
|
95
|
+
loading: n.loading,
|
|
96
|
+
onClick: m
|
|
91
97
|
}, {
|
|
92
98
|
default: o(() => [
|
|
93
|
-
|
|
99
|
+
i(f(n.saveBtnText), 1)
|
|
94
100
|
]),
|
|
95
101
|
_: 1
|
|
96
102
|
}, 8, ["loading"])),
|
|
97
|
-
|
|
98
|
-
|
|
103
|
+
l(t.$slots, "action-extra", { loading: n.loading }),
|
|
104
|
+
e.hideCancelBtn ? c("", !0) : (d(), r(h, {
|
|
99
105
|
key: 1,
|
|
100
106
|
onClick: y,
|
|
101
|
-
loading:
|
|
107
|
+
loading: n.loading
|
|
102
108
|
}, {
|
|
103
109
|
default: o(() => [
|
|
104
|
-
|
|
110
|
+
i(f(n.cancelBtnText), 1)
|
|
105
111
|
]),
|
|
106
112
|
_: 1
|
|
107
113
|
}, 8, ["loading"]))
|
|
@@ -110,10 +116,10 @@ const H = /* @__PURE__ */ S({
|
|
|
110
116
|
})
|
|
111
117
|
]),
|
|
112
118
|
_: 3
|
|
113
|
-
}, 16, ["show", "style"]);
|
|
119
|
+
}, 16, ["show", "style", "onAfterEnter", "onAfterLeave", "onUpdateShow"]);
|
|
114
120
|
};
|
|
115
121
|
}
|
|
116
122
|
});
|
|
117
123
|
export {
|
|
118
|
-
|
|
124
|
+
j as default
|
|
119
125
|
};
|
package/es/modal/typing.d.ts
CHANGED
|
@@ -10,6 +10,9 @@ export type ModalProps = {
|
|
|
10
10
|
loading: boolean;
|
|
11
11
|
onSave?: () => Promise<boolean> | boolean;
|
|
12
12
|
onClose?: () => Promise<boolean> | boolean;
|
|
13
|
+
onAfterEnter?: () => void;
|
|
14
|
+
onAfterLeave?: () => void;
|
|
15
|
+
onUpdateShow?: (value: boolean) => void;
|
|
13
16
|
};
|
|
14
17
|
export type ModalMethods = {
|
|
15
18
|
open: () => void;
|
package/lib/modal/PModal.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("naive-ui"),e=require("vue"),g=e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},cancelBtnText:{default:"取消"},hideCancelBtn:{type:Boolean,default:!1},hideSaveBtn:{type:Boolean,default:!1},title:{},width:{default:800},height:{default:500},visible:{type:Boolean},loading:{type:Boolean},onSave:{},onClose:{},onAfterEnter:{},onAfterLeave:{},onUpdateShow:{}},emits:["update:visible","update:loading"],setup(n,{expose:i,emit:c}){const r=l.useMessage(),t=n,a=c,f=async()=>{a("update:loading",!0);try{t.onSave&&await t.onSave()&&s()}catch(o){r.error(o.message)}finally{a("update:loading",!1)}},s=()=>{a("update:visible",!1),a("update:loading",!1)},u=async()=>{try{t.onClose?await t.onClose()&&s():s()}catch(o){r.error(o.message),a("update:loading",!1)}};return i({open:()=>{a("update:visible",!0),a("update:loading",!1)},close:()=>{a("update:visible",!1),a("update:loading",!1)}}),(o,v)=>{const h=l.NText,d=l.NButton,p=l.NSpace;return e.openBlock(),e.createBlock(e.unref(l.NModal),e.mergeProps({ref:"$modal",preset:"card"},o.$attrs,{"header-class":"bg-gray-50",show:t.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${t.width}px`,height:`${t.height}px`},onClose:s,onAfterEnter:t.onAfterEnter,onAfterLeave:t.onAfterLeave,onUpdateShow:t.onUpdateShow}),{header:e.withCtx(()=>[o.$slots.header?e.renderSlot(o.$slots,"header",{key:0}):t.title?(e.openBlock(),e.createBlock(h,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(o.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${t.height}px`})},[e.renderSlot(o.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(o.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(p,{justify:"end"},{default:e.withCtx(()=>[t.hideSaveBtn?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(d,{key:0,type:"primary",loading:n.loading,onClick:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.saveBtnText),1)]),_:1},8,["loading"])),e.renderSlot(o.$slots,"action-extra",{loading:n.loading}),t.hideCancelBtn?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(d,{key:1,onClick:u,loading:n.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.cancelBtnText),1)]),_:1},8,["loading"]))]),_:3})]),_:3},16,["show","style","onAfterEnter","onAfterLeave","onUpdateShow"])}}});exports.default=g;
|
package/lib/modal/typing.d.ts
CHANGED
|
@@ -10,6 +10,9 @@ export type ModalProps = {
|
|
|
10
10
|
loading: boolean;
|
|
11
11
|
onSave?: () => Promise<boolean> | boolean;
|
|
12
12
|
onClose?: () => Promise<boolean> | boolean;
|
|
13
|
+
onAfterEnter?: () => void;
|
|
14
|
+
onAfterLeave?: () => void;
|
|
15
|
+
onUpdateShow?: (value: boolean) => void;
|
|
13
16
|
};
|
|
14
17
|
export type ModalMethods = {
|
|
15
18
|
open: () => void;
|