@chewel611/naive-ui-plus 0.0.26 → 0.0.28

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.
@@ -1 +1 @@
1
- (function(k,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("lodash"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","lodash","pinia","vue-router","element-resize-detector","vuedraggable"],n):(k=typeof globalThis<"u"?globalThis:k||self,n(k.naiveplus={},k.naiveUi,k.Vue,k.antd,k.lodash,k.pinia,k.vueRouter,k.elementResizeDetectorMaker,k.Draggable))})(this,(function(k,n,e,S,be,Y,O,ke,Ce){"use strict";const te=o=>{Object.keys(o).forEach(s=>{const d=o[s];Array.isArray(d)?o[s]=[]:d!==null&&typeof d=="object"?te(d):o[s]=void 0})},Ne={id:"data-content"},xe={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},Pe={key:1},Ve={key:2},Be=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{default:{}},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup(o,{expose:s}){const d=e.ref(null),u=n.useDialog(),m=n.useMessage(),f=e.ref(!1),C=e.ref([]),_=e.ref([]),P=e.ref(null),V=e.ref(!1),r=e.ref(!1),h=e.ref(!1),i=e.ref({}),N=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async p=>{N.value.page=p,await R()},onUpdatePageSize:async p=>{N.value.pageSize=p,await R()}}),a=o,y=p=>{const t=l=>{const c=[];return p&&p.forEach(b=>{b.key!=="edit"&&b.key!=="delete"&&c.push({label:b.name,key:b.key,props:{onClick:()=>b.action(l)}})}),c};return{title:"操作",key:"actions",width:100,fixed:"right",render:l=>{let c=[];if(a.hiddenEdit||c.push({label:"编辑",key:"edit",props:{onClick:()=>X(l)}}),a.hiddenDelete||c.push({label:"删除",key:"delete",props:{onClick:()=>$(l)}}),c=[...c,...t(l)],!(c.length<=0))return e.h(n.NDropdown,{options:c,placement:"bottom-start"},{default:()=>e.h(n.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(n.NIcon,()=>e.h(S.MoreOutlined))]})})}}},g=e.computed(()=>{const p=a.columns.filter(l=>l.key!="action").map(l=>({title:l.title,key:l.key,width:l.width,fixed:l.fixed??!1,render:l.render,ellipsis:l.ellipsis?{tooltip:!0}:!1})),t=a.columns.reduce((l,c)=>c.key==="action"?c:l,void 0)?.action;return t&&t?.length>0||!a.hiddenDelete||!a.hiddenEdit?[{type:"selection",fixed:"left"},...p,y(t)]:[{type:"selection",fixed:"left"},...p]}),w=async()=>{await R()},$=p=>{x([p])},B=()=>{const p=A();x(p)},x=p=>{p&&p.length>0&&u.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(a.onDelete)try{await a.onDelete(p)?(R(),m.success("删除成功")):m.error("删除失败")}catch(t){m.error(t.message)}}})},W=()=>{P.value=null,H()},X=async p=>{P.value=be.cloneDeep(p),H(P.value,async()=>{a.onGet&&(P.value=await a.onGet(p[a.idField])),Object.assign(a.item,P.value)})},j=async()=>{if(a.onSave)try{h.value=!0,(V.value?await a.onSave(void 0,e.toRaw(a.item)):await a.onSave(P.value[a.idField],e.toRaw(a.item)))&&(z(),await R())}catch(p){m.error(p.message)}finally{h.value=!1}},H=async(p,t)=>{a.onOpenModal?.(p),await t?.(),p?(V.value=!1,r.value=!0):(r.value=!1,V.value=!0)},z=()=>{P.value=null,te(a.item),Object.assign(a.item,{...e.toRaw(i.value)}),a.onCloseModal?.(a.item),V.value=!1,r.value=!1},A=()=>C.value?_.value.filter(t=>C.value.includes(t.id)).map(t=>e.toRaw(t)):[],G=()=>A()[0],J=()=>e.toRaw(_.value),R=async()=>{if(!f.value){f.value=!0;try{if(a.onLoad){var{data:p,total:t}=await a.onLoad(N.value.page,N.value.pageSize);_.value=p,N.value.itemCount=t}}catch(l){m.error(l.message)}finally{f.value=!1}}},Z=e.computed(()=>{const p=e.unref(d);if(!p)return;const t=p?.$el,l=t.querySelector(".n-data-table-thead "),{bottomIncludeBody:c}=q(l),b=64;let E=2,L=24;const D=t.querySelector(".n-data-table__pagination");if(D){const U=D.offsetHeight;E+=U||0}else E+=28;return c-(b+E+L)}),F=p=>!p||!p.getBoundingClientRect?0:p.getBoundingClientRect(),q=p=>{const t=document.documentElement,l=t.scrollLeft,c=t.scrollTop,b=t.clientLeft,E=t.clientTop,L=window.pageXOffset,D=window.pageYOffset,K=F(p),{left:U,top:kt,width:Ct,height:Nt}=K,xt=(L||l)-(b||0),Pt=(D||c)-(E||0),Vt=U+L,Bt=kt+D,v=Vt-xt,ee=Bt-Pt,ye=window.document.documentElement.clientWidth,we=window.document.documentElement.clientHeight;return{left:v,top:ee,right:ye-Ct-v,bottom:we-Nt-ee,rightIncludeBody:ye-v,bottomIncludeBody:we-ee}},Q=()=>{i.value={...e.toRaw(a.item)}};return e.onMounted(async()=>{Q(),await R()}),s({getData:J,getSelectedRow:G,getSelectedRows:A,closeModal:z,refreshData:R,resetPage:()=>{N.value.page=1}}),(p,t)=>{const l=n.NTooltip,c=n.NDataTable,b=n.NSpace,E=n.NModal;return e.openBlock(),e.createBlock(e.unref(n.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[o.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(l,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:W},{default:e.withCtx(()=>[e.createVNode(e.unref(S.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[t[3]||(t[3]=e.createElementVNode("span",null,"新增",-1))]),_:1})),o.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(l,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:B},{default:e.withCtx(()=>[e.createVNode(e.unref(S.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[t[4]||(t[4]=e.createElementVNode("span",null,"删除",-1))]),_:1})),e.createVNode(l,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:w},{default:e.withCtx(()=>[e.createVNode(e.unref(S.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[t[5]||(t[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",Ne,[p.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",xe,[e.renderSlot(p.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(c,{remote:"",ref_key:"$table",ref:d,"checked-row-keys":C.value,"onUpdate:checkedRowKeys":t[0]||(t[0]=L=>C.value=L),"max-height":Z.value,loading:f.value,bordered:!1,"single-line":!1,columns:g.value,data:_.value,pagination:N.value,"row-key":L=>L[o.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),p.$slots.addModal?(e.openBlock(),e.createElementBlock("div",Pe,[e.createVNode(E,{title:"新增",preset:"card",show:V.value,"onUpdate:show":t[1]||(t[1]=L=>V.value=L),"header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${o.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(b,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:h.value,onClick:j},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode("保存",-1)])]),_:1},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:z},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode("取消",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(p.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),p.$slots.editModal?(e.openBlock(),e.createElementBlock("div",Ve,[e.createVNode(E,{title:"编辑",show:r.value,"onUpdate:show":t[2]||(t[2]=L=>r.value=L),preset:"card","header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${o.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(b,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:h.value,onClick:j},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode("保存",-1)])]),_:1},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:z},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode("取消",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(p.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}}),T=o=>{const s=o;return s.install=function(d){d.component(s.__name,o)},o},oe=T(Be),Se=["Redirect","RedirectSon","login"],I=Y.defineStore("p-layout",()=>{const o=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1,enableLanguage:!1});return{state:o,initTabs:a=>{a.sort((y,g)=>(g.meta.affix?1:0)-(y.meta.affix?1:0)),o.tabs=a},addTab:a=>Se.includes(a.name)?!1:(o.tabs?.some(g=>g.fullPath==a.fullPath)||o.tabs?.push(a),!0),closeCurrentTab:a=>{const y=o.tabs.findIndex(g=>g.fullPath==a.fullPath);o.tabs.splice(y,1)},closeAllTabs:()=>{o.tabs=o.tabs.filter(a=>a?.meta?.affix??!1)},closeOtherTabs:a=>{o.tabs=o.tabs.filter(y=>y.fullPath==a.fullPath||(y?.meta?.affix??!1))},closeLeftTabs:a=>{const y=o.tabs.findIndex(g=>g.fullPath==a.fullPath);o.tabs=o.tabs.filter((g,w)=>w>=y||(g?.meta?.affix??!1))},closeRightTabs:a=>{const y=o.tabs.findIndex(g=>g.fullPath==a.fullPath);o.tabs=o.tabs.filter((g,w)=>w<=y||(g?.meta?.affix??!1))},collapse:()=>{o.collapsed=!o.collapsed},setTitle:a=>{o.title=a},setLogo:a=>{o.logo=a},setUser:(a,y)=>{o.uid=a,o.uname=y},setSettingPages:a=>{o.settingPages=a},setLogout:a=>{o.logout=a}}}),Ee={class:"logo"},Le=e.defineComponent({__name:"PLogo",setup(o){const s=I();return(d,u)=>(e.openBlock(),e.createElementBlock("div",Ee,[e.createVNode(e.unref(n.NAvatar),{color:"var(--color-logo)",size:32,src:e.unref(s).state.logo,class:e.normalizeClass({"mr-2":!e.unref(s).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(s).state.title),513),[[e.vShow,!e.unref(s).state.collapsed]])]))}}),M=(o,s)=>{const d=o.__vccOpts||o;for(const[u,m]of s)d[u]=m;return d},Te=M(Le,[["__scopeId","data-v-e48aeefa"]]),$e={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],initLanguages:async()=>[],selectLanguage:async o=>{}},ne=Y.defineStore("language",()=>{const o=e.ref($e),s=async()=>(o.value.options.length===0&&(o.value.options=await o.value.initLanguages()),o.value.options);return{select:async r=>{if(o.value.currentLanguage===r)return;const h=(await s()).find(i=>i.key===r);h&&(o.value.currentLanguage=h.key,o.value.selectLanguage(h))},selectLanguageCallback:async r=>{o.value.selectLanguage=r},initLanguagesCallback:async r=>{o.value.initLanguages=r},getLanguages:s,getCurrentLanguage:async()=>{if(o.value.currentLanguage)return(await s()).find(r=>r.key===o.value.currentLanguage)},setTranslationApiUrl:r=>{o.value.translationApiUrl=r},getTranslationApiUrl:()=>o.value.translationApiUrl,getDefaultLanguage:()=>o.value.defaultLanguage?o.value.defaultLanguage:"chinese_simplified",setDefaultLanguage:r=>{(r==="Chinese"||r==="chinese")&&(r="chinese_simplified"),o.value.defaultLanguage=r}}}),Oe={key:1},ae=e.defineComponent({__name:"PLanguage",setup(o){const{select:s,getLanguages:d,getCurrentLanguage:u,getDefaultLanguage:m,getTranslationApiUrl:f}=ne(),C=e.ref(),_=e.ref([]),P=async r=>await s(r),V=async()=>{const r=window.translate;r&&(r.selectLanguageTag.show=!1,r.selectLanguageTag.languages=(await d()).map(h=>h.key).join(","),r.ignore.class.push("ignore-translate-flag"),r.ignore.id.push("ignore-translation"),r.language.setLocal(m()),r.request.api.translate="api/v1/translation",r.request.api.connectTest="api/v1/translation/connect-test",r.request.api.init="api/v1/translation/init",r.request.api.language="api/v1/translation/language",r.request.setHost(f()),r.request.listener.start(),r.listener.start(),r.whole.enableAll(),r.execute())};return e.onMounted(async()=>{await e.nextTick(),await V(),C.value=await u(),_.value=await d()}),(r,h)=>{const i=n.NIcon,N=n.NButton;return _.value.length>0?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,id:"ignore-translation",placement:"bottom-start",trigger:"hover",class:"flex flex-col justify-center h-full ignore",onSelect:P,options:_.value},{default:e.withCtx(()=>[e.createVNode(N,{quaternary:"",type:"info"},{default:e.withCtx(()=>[C.value?(e.openBlock(),e.createElementBlock("label",Oe,e.toDisplayString(C.value?.label),1)):(e.openBlock(),e.createBlock(i,{key:0,size:"18"},{default:e.withCtx(()=>[...h[0]||(h[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)}}}),Me={class:"layout-header"},Re={class:"layout-header-left"},De={class:"link-text"},Ie={key:1,class:"link-text"},ze={class:"layout-header-right"},Ae={key:0,class:"layout-header-trigger-min"},We={class:"layout-header-trigger layout-header-trigger-min"},qe={class:"layout-header-trigger layout-header-trigger-min"},je={class:"avatar"},He=M(e.defineComponent({__name:"PHeader",setup(o){const s=n.useMessage(),d=n.useDialog(),u=I(),m=O.useRouter(),f=O.useRoute(),C=e.inject("reloadPage"),_=y=>m.push({name:y}),P=e.computed(()=>V(f.matched)),V=y=>y.map(g=>{const w={key:g.name,label:g.meta.title,icon:g.meta.icon,meta:g.meta,disabled:g.path==="/",children:void 0};return g.children&&g.children.length>0&&(w.children=V(g.children)),w}),r=e.ref(!1),h=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),r.value=!1):(document.documentElement.requestFullscreen(),r.value=!0)},i=e.computed(()=>{const y=[];return y.push({label:"退出登录",key:"logout"}),u.state.settingPages&&u.state.settingPages.length>0&&u.state.settingPages.forEach(g=>{y.push({label:g.title,key:g.route})}),y}),N=y=>{y==="logout"?a():m.push({name:y})},a=()=>{d.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(u.state.logout)try{await u.state.logout(),localStorage.removeItem("TABS-ROUTES"),s.error("退出成功")}catch(y){console.error(y),s.error("退出登录失败")}finally{location.reload()}else s.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(y,g)=>{const w=n.NTooltip,$=n.NDivider,B=n.NAvatar;return e.openBlock(),e.createElementBlock("div",Me,[e.createElementVNode("div",Re,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:g[0]||(g[0]=(...x)=>e.unref(u).collapse&&e.unref(u).collapse(...x))},[e.unref(u).state.collapsed?(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(S.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(S.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:g[1]||(g[1]=(...x)=>e.unref(C)&&e.unref(C)(...x))},[e.createVNode(e.unref(n.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(S.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(n.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,x=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:x.label},[x.label?(e.openBlock(),e.createBlock(e.unref(n.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[x.children&&x.children.length?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,options:x.children,onSelect:_},{default:e.withCtx(()=>[e.createElementVNode("span",De,[x.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(x.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Ie,[x.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(x.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",ze,[e.unref(u).state.enableLanguage?(e.openBlock(),e.createElementBlock("div",Ae,[e.createVNode(ae)])):e.createCommentVNode("",!0),e.createElementVNode("div",We,[e.createVNode(w,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",onClick:e.withModifiers(h,["stop"])},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(e.unref(S.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(S.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[g[2]||(g[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1})]),e.createElementVNode("div",qe,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:N,options:i.value},{default:e.withCtx(()=>[e.createElementVNode("div",je,[e.createElementVNode("span",null,e.toDisplayString(e.unref(u).state.uname),1),e.createVNode($,{vertical:""}),e.createVNode(B,{round:"",src:e.unref(u).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-563e4e55"]]),Fe={class:"mt-1"},Ke=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(o){return(s,d)=>{const u=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",Fe,[o.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,{key:0},{default:e.withCtx(({Component:m,route:f})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m),{key:f.fullPath}))],1024))]),_:1}))])}}}),Ye={class:"tabs-view-main"},Xe=["id","onClick","onContextmenu"],Ge={class:"tabs-close"},Je={class:"tabs-close-btn"},Ze=M(e.defineComponent({__name:"PTabs",setup(o){e.useCssVars(t=>({v141ddb06:d.value,cf709148:u.value}));const s=n.useThemeVars(),d=e.computed(()=>s.value.cardColor),u=e.computed(()=>s.value.textColor1),m=n.useMessage(),f=O.useRoute(),C=O.useRouter(),_=e.ref(null),P=e.ref(null),V=e.ref(!1),r=I(),h=e.computed(()=>r.state.tabs),i=e.reactive({activeKey:f.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),N=["Login","Redirect","ErrorPage"],a=t=>{const{fullPath:l,hash:c,meta:b,name:E,params:L,path:D,query:K}=t;return{fullPath:l,hash:c,meta:b,name:E,params:L,path:D,query:K}},y=e.computed(()=>{const c=r.state.collapsed?"64px":"272px";return{left:c,width:`calc(100% - ${c})`}}),g=e.computed(()=>{const t=h.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:V.value||t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.MinusOutlined)})}]}),w=()=>{let t=[];const l=a(f);try{if(r.state.cacheTabs){const c=localStorage.getItem("TABS_ROUTES");t=c?JSON.parse(c):[l]}}catch{t=[l]}finally{return t}},$=t=>{const l=C.getRoutes();t.forEach(c=>{const b=l.find(E=>E.path===c.path);b&&(c.meta=b.meta||c.meta,c.name=b.name||c.name)}),r.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(t))},B=()=>{const t=w();$(t),r.initTabs(t)},x=async t=>{if(await e.nextTick(),!_.value)return;const l=_.value.offsetWidth,c=_.value.scrollWidth;l<c?(i.scrollable=!0,t&&[..._.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach(E=>{E.id===`tag${i.activeKey.split("/").join("/")}`&&E.scrollIntoView&&E.scrollIntoView()})):i.scrollable=!1},W=t=>!(t.draggedContext.element.meta.affix||t.relatedContext.element.meta.affix),X=()=>{let t;t=ke(),t.listenTo(P.value,()=>x(!0))},j=t=>{const{fullPath:l}=t;if(l===f.fullPath||(i.activeKey=l,!t))return;const{replace:c}=C;toString.call(t),c(t).catch(console.error)},H=(t,l)=>{t.preventDefault(),V.value=l.path==="/home",i.showDropdown=!1,e.nextTick().then(()=>{i.showDropdown=!0,i.dropdownX=t.clientX,i.dropdownY=t.clientY})},z=()=>{if(f.meta.keepAlive){var t=C.currentRoute.value.matched.find(l=>l.name==f.name);t&&t.components?.default?.name}},A=t=>{if(h.value.length===1)return m.warning("这已经是最后一页,不能再关闭了!");if(z(),r.closeCurrentTab(t),i.activeKey===t.fullPath){const l=h.value[Math.max(0,h.value.length-1)];i.activeKey=l.fullPath,C.push(l)}x()},G=t=>{const{fullPath:l}=t,c=h.value.find(b=>b.fullPath==l);A(c)},J=t=>{r.closeOtherTabs(t),i.activeKey=t.fullPath,C.replace(t.fullPath),x()},R=()=>{r.closeAllTabs(),x()},Z=e.inject("reloadPage"),F=t=>{switch(t){case"1":Z();break;case"2":A(f);break;case"3":J(f);break;case"4":R();break}x(),i.showDropdown=!1},q=(t,l)=>{const c=_.value.scrollLeft,b=l>0&&c+l>=t||l<0&&c+l<=t?t:c+l;if(_.value&&_.value.scrollTo(b,0),b!==t)return window.requestAnimationFrame(()=>q(t,l))},Q=()=>{const t=_.value.offsetWidth,l=_.value.scrollLeft;if(!l)return;const c=l>t?l-t:0;q(c,(c-l)/20)},p=()=>{const t=_.value.offsetWidth,l=_.value.scrollWidth,c=_.value.scrollLeft;if(l-c<=t)return;const b=l-c>t*2?c+t:l-t;q(b,(b-c)/20)};return window.addEventListener("beforeunload",()=>{localStorage.setItem("TABS_ROUTES",JSON.stringify(h.value))}),window.addEventListener("scroll",t=>{let l=t.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;i.isMultiHeaderFixed=l>=64},!0),e.watch(()=>f.fullPath,t=>{N.includes(f.name)||(i.activeKey=t,r.addTab(a(f)),x(!0))},{immediate:!0}),B(),e.onMounted(()=>X()),(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(y.value)},[e.createElementVNode("div",Ye,[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:Q},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(S.LeftOutlined))]),_:1})],2),e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-next",{"tabs-card-next-hide":!i.scrollable}]),onClick:p},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(S.RightOutlined))]),_:1})],2),e.createElementVNode("div",{ref_key:"navScroll",ref:_,class:"tabs-card-scroll"},[e.createVNode(e.unref(Ce),{list:h.value,animation:"300","item-key":"fullPath",class:"flex",move:W},{item:e.withCtx(({element:c})=>[e.createElementVNode("div",{id:`tag${c.fullPath.split("/").join("/")}`,class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":i.activeKey===c.fullPath}]),onClick:e.withModifiers(b=>j(c),["stop"]),onContextmenu:b=>H(b,c)},[e.createElementVNode("span",null,e.toDisplayString(c.meta.title),1),c.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"14",onClick:e.withModifiers(b=>G(c),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(S.CloseOutlined))]),_:1},8,["onClick"]))],42,Xe)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",Ge,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:F,placement:"bottom-end",options:g.value},{default:e.withCtx(()=>[e.createElementVNode("div",Je,[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(S.DownOutlined))]),_:1})])]),_:1},8,["options"])]),e.createVNode(e.unref(n.NDropdown),{show:i.showDropdown,x:i.dropdownX,y:i.dropdownY,onClickoutside:l[0]||(l[0]=c=>i.showDropdown=!1),placement:"bottom-start",onSelect:F,options:g.value},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-48b3be2d"]]),Qe=e.defineComponent({__name:"PMenus",setup(o){const s=O.useRoute(),d=O.useRouter(),u=I(),m=e.ref(s.name),f=e.ref(s.matched&&s.matched.length?s.matched.map(i=>i.name):[]),C=e.ref([]),_=i=>{/http(s)?:/.test(i)?window.open(i):d.push({name:i})},P=i=>{if(!i)return;const N=i.find(a=>f.value.indexOf(a)===-1);f.value=N?[N]:[]},V=()=>{const i=s.matched;f.value=i.map(a=>a.name);const N=s.meta?.activeMenu||"";m.value=N||s.name},r=(i,N=[],a=!1)=>{const y=[],g=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!i||i.length===0)return y;i=i.sort((w,$)=>{let B=($.children?.length?1:0)-(w.children?.length?1:0);return B===0&&(B=(w.meta?.sort??0)-($.meta?.sort??0)),B});for(const w of i){if(a||(w.meta?.hidden||!1)==!0||g.includes(w.path)){N.push(w.name),w.children&&w.children.length>0&&r(w.children,N,!0);continue}const $=w.meta?.alwaysShow!=!0&&w?.children?.filter(W=>!W?.meta?.hidden)?.length===1,B=$?w.children[0]:w,x={key:B.name,label:B.meta?.title,affix:B.meta?.affix,sort:B.meta?.sort,path:B.path,redirect:B.redirect,icon:$?w.meta?.icon:B.meta?.icon,permissions:B.meta?.permissions,meta:B.meta,children:void 0};if(!N.includes(w.name)){if(y.push(x),N.push(w.name),$){r(w.children,N,a);continue}w.children&&w.children.length>0&&(x.children=r(w.children,N,a))}}return y},h=()=>{const i=d.getRoutes();C.value=r(i)};return e.watch(()=>s.fullPath,()=>{V()}),e.onMounted(()=>{h(),V()}),(i,N)=>(e.openBlock(),e.createBlock(e.unref(n.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:C.value,collapsed:e.unref(u).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":f.value,value:m.value,"onUpdate:value":_,"onUpdate:expandedKeys":P},null,8,["options","collapsed","expanded-keys","value"]))}}),Ue={class:"layout-content-main layout-content-main-fix"},ve={class:"main-view main-view-fix"},et=M(e.defineComponent({__name:"PLayout",setup(o){const s=I(),d=e.ref(!1),u=()=>{d.value=!0,e.nextTick(()=>d.value=!1)};return e.provide("reloadPage",u),(m,f)=>{const C=n.NBackTop;return e.openBlock(),e.createBlock(e.unref(n.NLayout),{"has-sider":"",class:"layout",position:"absolute"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NLayoutSider),{class:"layout-sider",inverted:"","show-trigger":"bar",position:"absolute","collapse-mode":"width",collapsed:e.unref(s).state.collapsed,"native-scrollbar":!1,"collapsed-width":64,onCollapse:e.unref(s).collapse,onExpand:e.unref(s).collapse},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NFlex),{vertical:""},{default:e.withCtx(()=>[e.createVNode(Te),e.createVNode(Qe)]),_:1})]),_:1},8,["collapsed","onCollapse","onExpand"]),e.createVNode(e.unref(n.NLayout),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NLayoutHeader),{position:"absolute"},{default:e.withCtx(()=>[e.createVNode(He)]),_:1}),e.createVNode(e.unref(n.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",Ue,[e.createVNode(Ze),e.createElementVNode("div",ve,[e.createVNode(Ke,{loading:d.value},null,8,["loading"])])])]),_:1}),e.createVNode(C,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-8d20e006"]]),tt={};function ot(o,s){const d=e.resolveComponent("router-view");return e.openBlock(),e.createBlock(d)}const le=T(M(tt,[["render",ot]])),se=T(et),re=T(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(o){return(s,d)=>{const u=n.NConfigProvider;return e.openBlock(),e.createBlock(u,{locale:e.unref(n.zhCN),theme:o.theme,"theme-overrides":o.themeOverrides,"date-locale":e.unref(n.dateZhCN)},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NDialogProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NNotificationProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NMessageProvider),null,{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["locale","theme","theme-overrides","date-locale"])}}})),ce=T(e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},closable:{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(o,{expose:s,emit:d}){const u=n.useMessage(),m=o,f=d,C=async()=>{f("update:loading",!0);try{m.onSave&&await m.onSave()&&_()}catch(h){u.error(h.message)}finally{f("update:loading",!1)}},_=()=>{f("update:visible",!1),f("update:loading",!1)},P=async()=>{try{m.onClose?await m.onClose()&&_():_()}catch(h){u.error(h.message),f("update:loading",!1)}};return s({open:()=>{f("update:visible",!0),f("update:loading",!1)},close:()=>{f("update:visible",!1),f("update:loading",!1)}}),(h,i)=>{const N=n.NText,a=n.NButton,y=n.NSpace;return e.openBlock(),e.createBlock(e.unref(n.NModal),e.mergeProps({ref:"$modal",preset:"card"},h.$attrs,{"header-class":"bg-gray-50",show:m.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${m.width}px`},onClose:_}),{header:e.withCtx(()=>[h.$slots.header?e.renderSlot(h.$slots,"header",{key:0}):m.title?(e.openBlock(),e.createBlock(N,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(h.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${m.height}px`})},[e.renderSlot(h.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(h.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(y,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(a,{type:"primary",loading:o.loading,onClick:C},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(h.$slots,"action-extra",{loading:o.loading}),e.createVNode(a,{onClick:P,loading:o.loading},{default:e.withCtx(()=>[...i[0]||(i[0]=[e.createTextVNode("取消",-1)])]),_:1},8,["loading"])]),_:3})]),_:3},16,["show","style"])}}})),ie=T(ae),nt=e.defineComponent({name:"Redirect",setup(){const o=O.useRoute(),s=O.useRouter();return e.onBeforeMount(()=>{const{params:d,query:u}=o,{path:m}=d;s.replace({path:"/"+(Array.isArray(m)?m.join("/"):m),query:u})}),()=>React.createElement(n.NEmpty,null)}}),de=T(nt),at={class:"frame"},lt=["src"],fe=T(M(e.defineComponent({__name:"PIframe",setup(o){const s=O.useRoute(),d=e.ref(!1),u=e.ref(null),m=e.ref("");e.unref(s.meta)?.frameSrc&&(m.value=e.unref(s.meta)?.frameSrc);function f(){d.value=!1}function C(){e.nextTick(()=>{const _=e.unref(u);if(!_)return;const P=_;P.attachEvent?P.attachEvent("onload",()=>{f()}):_.onload=()=>{f()}})}return e.onMounted(()=>{d.value=!0,C()}),(_,P)=>{const V=n.NSpin;return e.openBlock(),e.createBlock(V,{show:d.value},{default:e.withCtx(()=>[e.createElementVNode("div",at,[e.createElementVNode("iframe",{src:m.value,class:"frame-iframe",ref_key:"frameRef",ref:u},null,8,lt)])]),_:1},8,["show"])}}}),[["__scopeId","data-v-161a378e"]])),st={},rt={class:"flex flex-col justify-center page-container"};function ct(o,s){const d=n.NResult;return e.openBlock(),e.createElementBlock("div",rt,[e.createVNode(d,{status:"500",title:"服务器错误",description:"抱歉,服务器出错了"})])}const it=M(st,[["render",ct],["__scopeId","data-v-89cb65c7"]]),dt={},ft={class:"flex flex-col justify-center page-container"};function pt(o,s){const d=n.NResult;return e.openBlock(),e.createElementBlock("div",ft,[e.createVNode(d,{status:"404",title:"资源不存在",description:"抱歉,你访问的页面不存在"})])}const mt=M(dt,[["render",pt],["__scopeId","data-v-99232671"]]),ut={},ht={class:"flex flex-col justify-center page-container"};function gt(o,s){const d=n.NResult;return e.openBlock(),e.createElementBlock("div",ht,[e.createVNode(d,{status:"403",title:"禁止访问",description:"抱歉,你无权访问该页面"})])}const _t=M(ut,[["render",gt],["__scopeId","data-v-3baa9c16"]]),pe=T(it),me=T(mt),ue=T(_t),he=Y.defineStore("app-oidc",()=>{const o=e.reactive({});return{setCallback:f=>o.callback=f,callCallback:async f=>await o.callback?.(f),setError:f=>o.error=f,callError:async(f,C)=>await o.error?.(f,C)}}),yt={class:"view-auth-callback"},ge=T(M(e.defineComponent({__name:"POidc",setup(o){const s=O.useRouter(),{callCallback:d,callError:u}=he();return e.onMounted(async()=>{try{await d(s)}catch(m){await u(s,m)}}),(m,f)=>(e.openBlock(),e.createElementBlock("div",yt,[...f[0]||(f[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"]])),wt=Object.freeze(Object.defineProperty({__proto__:null,P403:ue,P404:me,P500:pe,PApplication:re,PEmptyLayout:le,PIframe:fe,PLanguage:ie,PLayout:se,PModal:ce,POidc:ge,PRedirect:de,PTable:oe},Symbol.toStringTag,{value:"Module"})),_e=(o,s)=>(Object.values(wt).forEach(d=>{d.install&&o.use(d)}),s?.(),o),bt={install:_e};k.P403=ue,k.P404=me,k.P500=pe,k.PApplication=re,k.PEmptyLayout=le,k.PIframe=fe,k.PLanguage=ie,k.PLayout=se,k.PModal=ce,k.POidc=ge,k.PRedirect=de,k.PTable=oe,k.default=bt,k.install=_e,k.useLanguageStore=ne,k.useLayoutStore=I,k.useOidcStore=he,Object.defineProperties(k,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(k,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("lodash"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","lodash","pinia","vue-router","element-resize-detector","vuedraggable"],n):(k=typeof globalThis<"u"?globalThis:k||self,n(k.naiveplus={},k.naiveUi,k.Vue,k.antd,k.lodash,k.pinia,k.vueRouter,k.elementResizeDetectorMaker,k.Draggable))})(this,(function(k,n,e,S,ke,Y,O,Ne,Ce){"use strict";const te=o=>{Object.keys(o).forEach(a=>{const c=o[a];Array.isArray(c)?o[a]=[]:c!==null&&typeof c=="object"?te(c):o[a]=void 0})},xe={class:"text-lg font-medium"},Pe={id:"data-content"},Ve={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-4 mb-4"},Be={key:1},Se={key:2},Ee=e.defineComponent({__name:"PTable",props:{title:{},idField:{default:"id"},item:{default:{}},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup(o,{expose:a}){const c=e.ref(null),u=n.useDialog(),m=n.useMessage(),i=e.ref(!1),b=e.ref([]),_=e.ref([]),P=e.ref(null),V=e.ref(!1),r=e.ref(!1),y=e.ref(!1),d=e.ref({}),C=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async p=>{C.value.page=p,await D()},onUpdatePageSize:async p=>{C.value.pageSize=p,await D()}}),g=o,f=p=>{const t=l=>{const s=[];return p&&p.forEach(N=>{N.key!=="edit"&&N.key!=="delete"&&s.push({label:N.name,key:N.key,props:{onClick:()=>N.action(l)}})}),s};return{title:"操作",key:"actions",width:100,fixed:"right",render:l=>{let s=[];if(g.hiddenEdit||s.push({label:"编辑",key:"edit",props:{onClick:()=>X(l)}}),g.hiddenDelete||s.push({label:"删除",key:"delete",props:{onClick:()=>E(l)}}),s=[...s,...t(l)],!(s.length<=0))return e.h(n.NDropdown,{options:s,placement:"bottom-start"},{default:()=>e.h(n.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(n.NIcon,()=>e.h(S.MoreOutlined))]})})}}},w=e.computed(()=>{const p=g.columns.filter(l=>l.key!="action").map(l=>({title:l.title,key:l.key,width:l.width,fixed:l.fixed??!1,render:l.render,ellipsis:l.ellipsis?{tooltip:!0}:!1})),t=g.columns.reduce((l,s)=>s.key==="action"?s:l,void 0)?.action;return t&&t?.length>0||!g.hiddenDelete||!g.hiddenEdit?[{type:"selection",fixed:"left"},...p,f(t)]:[{type:"selection",fixed:"left"},...p]}),h=async()=>{await D()},E=p=>{x([p])},B=()=>{const p=A();x(p)},x=p=>{p&&p.length>0&&u.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(g.onDelete)try{await g.onDelete(p)?(D(),m.success("删除成功")):m.error("删除失败")}catch(t){m.error(t.message)}}})},q=()=>{P.value=null,H()},X=async p=>{P.value=ke.cloneDeep(p),H(P.value,async()=>{g.onGet&&(P.value=await g.onGet(p[g.idField])),Object.assign(g.item,P.value)})},W=async()=>{if(g.onSave)try{y.value=!0,(V.value?await g.onSave(void 0,e.toRaw(g.item)):await g.onSave(P.value[g.idField],e.toRaw(g.item)))&&(z(),await D())}catch(p){m.error(p.message)}finally{y.value=!1}},H=async(p,t)=>{g.onOpenModal?.(p),await t?.(),p?(V.value=!1,r.value=!0):(r.value=!1,V.value=!0)},z=()=>{P.value=null,te(g.item),Object.assign(g.item,{...e.toRaw(d.value)}),g.onCloseModal?.(g.item),V.value=!1,r.value=!1},A=()=>b.value?_.value.filter(t=>b.value.includes(t.id)).map(t=>e.toRaw(t)):[],G=()=>A()[0],J=()=>e.toRaw(_.value),D=async()=>{if(!i.value){i.value=!0;try{if(g.onLoad){var{data:p,total:t}=await g.onLoad(C.value.page,C.value.pageSize);_.value=p,C.value.itemCount=t}}catch(l){m.error(l.message)}finally{i.value=!1}}},Z=e.computed(()=>{const p=e.unref(c);if(!p)return;const t=p?.$el,l=t.querySelector(".n-data-table-thead "),{bottomIncludeBody:s}=j(l),N=48;let L=12,T=24;const R=t.querySelector(".n-data-table__pagination");if(R){const U=R.offsetHeight;L+=U||0}else L+=28;return s-(N+L+T)}),F=p=>!p||!p.getBoundingClientRect?0:p.getBoundingClientRect(),j=p=>{const t=document.documentElement,l=t.scrollLeft,s=t.scrollTop,N=t.clientLeft,L=t.clientTop,T=window.pageXOffset,R=window.pageYOffset,K=F(p),{left:U,top:Vt,width:Bt,height:St}=K,Et=(T||l)-(N||0),Lt=(R||s)-(L||0),Tt=U+T,$t=Vt+R,v=Tt-Et,ee=$t-Lt,we=window.document.documentElement.clientWidth,be=window.document.documentElement.clientHeight;return{left:v,top:ee,right:we-Bt-v,bottom:be-St-ee,rightIncludeBody:we-v,bottomIncludeBody:be-ee}},Q=()=>{d.value={...e.toRaw(g.item)}};return e.onMounted(async()=>{Q(),await D()}),a({getData:J,getSelectedRow:G,getSelectedRows:A,closeModal:z,refreshData:D,resetPage:()=>{C.value.page=1}}),(p,t)=>{const l=n.NTooltip,s=n.NSpace,N=n.NDataTable,L=n.NModal;return e.openBlock(),e.createBlock(e.unref(n.NCard),{bordered:!1,"content-class":"!p-0","header-class":"!px-0 !pt-0"},{header:e.withCtx(()=>[e.createVNode(s,{justify:"space-between",align:"center",class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("span",xe,e.toDisplayString(o.title),1),e.createVNode(s,null,{default:e.withCtx(()=>[o.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(l,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:q},{default:e.withCtx(()=>[e.createVNode(e.unref(S.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[t[3]||(t[3]=e.createElementVNode("span",null,"新增",-1))]),_:1})),o.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(l,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:B},{default:e.withCtx(()=>[e.createVNode(e.unref(S.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[t[4]||(t[4]=e.createElementVNode("span",null,"删除",-1))]),_:1})),e.createVNode(l,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:h},{default:e.withCtx(()=>[e.createVNode(e.unref(S.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[t[5]||(t[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1})]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",Pe,[p.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",Ve,[e.renderSlot(p.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(N,{remote:"",ref_key:"$table",ref:c,"checked-row-keys":b.value,"onUpdate:checkedRowKeys":t[0]||(t[0]=T=>b.value=T),"max-height":Z.value,loading:i.value,bordered:!1,"single-line":!1,columns:w.value,data:_.value,pagination:C.value,"row-key":T=>T[o.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),p.$slots.addModal?(e.openBlock(),e.createElementBlock("div",Be,[e.createVNode(L,{title:"新增",preset:"card",show:V.value,"onUpdate:show":t[1]||(t[1]=T=>V.value=T),"header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${o.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(s,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:y.value,onClick:W},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode("保存",-1)])]),_:1},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:z},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode("取消",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(p.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),p.$slots.editModal?(e.openBlock(),e.createElementBlock("div",Se,[e.createVNode(L,{title:"编辑",show:r.value,"onUpdate:show":t[2]||(t[2]=T=>r.value=T),preset:"card","header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${o.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(s,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:y.value,onClick:W},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode("保存",-1)])]),_:1},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:z},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode("取消",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(p.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}}),$=o=>{const a=o;return a.install=function(c){c.component(a.__name,o)},o},oe=$(Ee),Le=["Redirect","RedirectSon","login"],I=Y.defineStore("p-layout",()=>{const o=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1,enableLanguage:!1});return{state:o,initTabs:f=>{f.sort((w,h)=>(h.meta.affix?1:0)-(w.meta.affix?1:0)),o.tabs=f},addTab:f=>Le.includes(f.name)?!1:(o.tabs?.some(h=>h.fullPath==f.fullPath)||o.tabs?.push(f),!0),closeCurrentTab:f=>{const w=o.tabs.findIndex(h=>h.fullPath==f.fullPath);o.tabs.splice(w,1)},closeAllTabs:()=>{o.tabs=o.tabs.filter(f=>f?.meta?.affix??!1)},closeOtherTabs:f=>{o.tabs=o.tabs.filter(w=>w.fullPath==f.fullPath||(w?.meta?.affix??!1))},closeLeftTabs:f=>{const w=o.tabs.findIndex(h=>h.fullPath==f.fullPath);o.tabs=o.tabs.filter((h,E)=>E>=w||(h?.meta?.affix??!1))},closeRightTabs:f=>{const w=o.tabs.findIndex(h=>h.fullPath==f.fullPath);o.tabs=o.tabs.filter((h,E)=>E<=w||(h?.meta?.affix??!1))},collapse:()=>{o.collapsed=!o.collapsed},setTitle:f=>{o.title=f},setLogo:f=>{o.logo=f},setUser:(f,w)=>{o.uid=f,o.uname=w},setSettingPages:f=>{o.settingPages=f},setLogout:f=>{o.logout=f},enableLanguage:f=>{o.enableLanguage=f}}}),Te={class:"logo"},$e=e.defineComponent({__name:"PLogo",setup(o){const a=I();return(c,u)=>(e.openBlock(),e.createElementBlock("div",Te,[e.createVNode(e.unref(n.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=(o,a)=>{const c=o.__vccOpts||o;for(const[u,m]of a)c[u]=m;return c},Oe=M($e,[["__scopeId","data-v-e48aeefa"]]),Me={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],initLanguages:async()=>[],selectLanguage:async o=>{}},ne=Y.defineStore("language",()=>{const o=e.ref(Me),a=async()=>(o.value.options.length===0&&(o.value.options=await o.value.initLanguages()),o.value.options);return{select:async r=>{if(o.value.currentLanguage===r)return;const y=(await a()).find(d=>d.key===r);y&&(o.value.currentLanguage=y.key,o.value.selectLanguage(y))},selectLanguageCallback:async r=>{o.value.selectLanguage=r},initLanguagesCallback:async r=>{o.value.initLanguages=r},getLanguages:a,getCurrentLanguage:async()=>{if(o.value.currentLanguage)return(await a()).find(r=>r.key===o.value.currentLanguage)},setTranslationApiUrl:r=>{o.value.translationApiUrl=r},getTranslationApiUrl:()=>o.value.translationApiUrl,getDefaultLanguage:()=>o.value.defaultLanguage?o.value.defaultLanguage:"chinese_simplified",setDefaultLanguage:r=>{(r==="Chinese"||r==="chinese")&&(r="chinese_simplified"),o.value.defaultLanguage=r}}}),De={key:1},ae=e.defineComponent({__name:"PLanguage",setup(o){const{select:a,getLanguages:c,getCurrentLanguage:u,getDefaultLanguage:m,getTranslationApiUrl:i}=ne(),b=e.ref(),_=e.ref([]),P=async r=>await a(r),V=async()=>{const r=window.translate;r&&(r.selectLanguageTag.show=!1,r.selectLanguageTag.languages=(await c()).map(y=>y.key).join(","),r.ignore.class.push("ignore-translate-flag"),r.ignore.id.push("ignore-translation"),r.language.setLocal(m()),r.request.api.translate="api/v1/translation",r.request.api.connectTest="api/v1/translation/connect-test",r.request.api.init="api/v1/translation/init",r.request.api.language="api/v1/translation/language",r.request.setHost(i()),r.request.listener.start(),r.listener.start(),r.whole.enableAll(),r.execute())};return e.onMounted(async()=>{await e.nextTick(),await V(),b.value=await u(),_.value=await c()}),(r,y)=>{const d=n.NIcon,C=n.NButton;return _.value.length>0?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,id:"ignore-translation",placement:"bottom-start",trigger:"hover",class:"flex flex-col justify-center h-full ignore",onSelect:P,options:_.value},{default:e.withCtx(()=>[e.createVNode(C,{quaternary:"",type:"info"},{default:e.withCtx(()=>[b.value?(e.openBlock(),e.createElementBlock("label",De,e.toDisplayString(b.value?.label),1)):(e.openBlock(),e.createBlock(d,{key:0,size:"18"},{default:e.withCtx(()=>[...y[0]||(y[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)}}}),Re={class:"layout-header"},Ie={class:"layout-header-left"},ze={class:"link-text"},Ae={key:1,class:"link-text"},qe={class:"layout-header-right"},je={key:0,class:"layout-header-trigger-min"},We={class:"layout-header-trigger layout-header-trigger-min"},He={class:"layout-header-trigger layout-header-trigger-min"},Fe={class:"avatar"},Ke=M(e.defineComponent({__name:"PHeader",setup(o){const a=n.useMessage(),c=n.useDialog(),u=I(),m=O.useRouter(),i=O.useRoute(),b=e.inject("reloadPage"),_=f=>m.push({name:f}),P=e.computed(()=>V(i.matched)),V=f=>f.map(w=>{const h={key:w.name,label:w.meta.title,icon:w.meta.icon,meta:w.meta,disabled:w.path==="/",children:void 0};return w.children&&w.children.length>0&&(h.children=V(w.children)),h}),r=e.ref(!1),y=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),r.value=!1):(document.documentElement.requestFullscreen(),r.value=!0)},d=e.computed(()=>{const f=[];return f.push({label:"退出登录",key:"logout"}),u.state.settingPages&&u.state.settingPages.length>0&&u.state.settingPages.forEach(w=>{f.push({label:w.title,key:w.route})}),f}),C=f=>{f==="logout"?g():m.push({name:f})},g=()=>{c.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(u.state.logout)try{await u.state.logout(),localStorage.removeItem("TABS-ROUTES"),a.error("退出成功")}catch(f){console.error(f),a.error("退出登录失败")}finally{location.reload()}else a.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(f,w)=>{const h=n.NTooltip,E=n.NDivider,B=n.NAvatar;return e.openBlock(),e.createElementBlock("div",Re,[e.createElementVNode("div",Ie,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:w[0]||(w[0]=(...x)=>e.unref(u).collapse&&e.unref(u).collapse(...x))},[e.unref(u).state.collapsed?(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(S.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(S.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:w[1]||(w[1]=(...x)=>e.unref(b)&&e.unref(b)(...x))},[e.createVNode(e.unref(n.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(S.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(n.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,x=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:x.label},[x.label?(e.openBlock(),e.createBlock(e.unref(n.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[x.children&&x.children.length?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,options:x.children,onSelect:_},{default:e.withCtx(()=>[e.createElementVNode("span",ze,[x.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(x.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Ae,[x.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(x.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",qe,[e.unref(u).state.enableLanguage?(e.openBlock(),e.createElementBlock("div",je,[e.createVNode(ae)])):e.createCommentVNode("",!0),e.createElementVNode("div",We,[e.createVNode(h,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",onClick:e.withModifiers(y,["stop"])},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(e.unref(S.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(S.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[w[2]||(w[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1})]),e.createElementVNode("div",He,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:C,options:d.value},{default:e.withCtx(()=>[e.createElementVNode("div",Fe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(u).state.uname),1),e.createVNode(E,{vertical:""}),e.createVNode(B,{round:"",src:e.unref(u).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-563e4e55"]]),Ye={class:"mt-1"},Xe=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(o){return(a,c)=>{const u=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",Ye,[o.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,{key:0},{default:e.withCtx(({Component:m,route:i})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m),{key:i.fullPath}))],1024))]),_:1}))])}}}),Ge={class:"tabs-view-main"},Je=["id","onClick","onContextmenu"],Ze={class:"tabs-close"},Qe={class:"tabs-close-btn"},Ue=M(e.defineComponent({__name:"PTabs",setup(o){e.useCssVars(t=>({v141ddb06:c.value,cf709148:u.value}));const a=n.useThemeVars(),c=e.computed(()=>a.value.cardColor),u=e.computed(()=>a.value.textColor1),m=n.useMessage(),i=O.useRoute(),b=O.useRouter(),_=e.ref(null),P=e.ref(null),V=e.ref(!1),r=I(),y=e.computed(()=>r.state.tabs),d=e.reactive({activeKey:i.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),C=["Login","Redirect","ErrorPage"],g=t=>{const{fullPath:l,hash:s,meta:N,name:L,params:T,path:R,query:K}=t;return{fullPath:l,hash:s,meta:N,name:L,params:T,path:R,query:K}},f=e.computed(()=>{const s=r.state.collapsed?"64px":"272px";return{left:s,width:`calc(100% - ${s})`}}),w=e.computed(()=>{const t=y.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:V.value||t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.MinusOutlined)})}]}),h=()=>{let t=[];const l=g(i);try{if(r.state.cacheTabs){const s=localStorage.getItem("TABS_ROUTES");t=s?JSON.parse(s):[l]}}catch{t=[l]}finally{return t}},E=t=>{const l=b.getRoutes();t.forEach(s=>{const N=l.find(L=>L.path===s.path);N&&(s.meta=N.meta||s.meta,s.name=N.name||s.name)}),r.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(t))},B=()=>{const t=h();E(t),r.initTabs(t)},x=async t=>{if(await e.nextTick(),!_.value)return;const l=_.value.offsetWidth,s=_.value.scrollWidth;l<s?(d.scrollable=!0,t&&[..._.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach(L=>{L.id===`tag${d.activeKey.split("/").join("/")}`&&L.scrollIntoView&&L.scrollIntoView()})):d.scrollable=!1},q=t=>!(t.draggedContext.element.meta.affix||t.relatedContext.element.meta.affix),X=()=>{let t;t=Ne(),t.listenTo(P.value,()=>x(!0))},W=t=>{const{fullPath:l}=t;if(l===i.fullPath||(d.activeKey=l,!t))return;const{replace:s}=b;toString.call(t),s(t).catch(console.error)},H=(t,l)=>{t.preventDefault(),V.value=l.path==="/home",d.showDropdown=!1,e.nextTick().then(()=>{d.showDropdown=!0,d.dropdownX=t.clientX,d.dropdownY=t.clientY})},z=()=>{if(i.meta.keepAlive){var t=b.currentRoute.value.matched.find(l=>l.name==i.name);t&&t.components?.default?.name}},A=t=>{if(y.value.length===1)return m.warning("这已经是最后一页,不能再关闭了!");if(z(),r.closeCurrentTab(t),d.activeKey===t.fullPath){const l=y.value[Math.max(0,y.value.length-1)];d.activeKey=l.fullPath,b.push(l)}x()},G=t=>{const{fullPath:l}=t,s=y.value.find(N=>N.fullPath==l);A(s)},J=t=>{r.closeOtherTabs(t),d.activeKey=t.fullPath,b.replace(t.fullPath),x()},D=()=>{r.closeAllTabs(),x()},Z=e.inject("reloadPage"),F=t=>{switch(t){case"1":Z();break;case"2":A(i);break;case"3":J(i);break;case"4":D();break}x(),d.showDropdown=!1},j=(t,l)=>{const s=_.value.scrollLeft,N=l>0&&s+l>=t||l<0&&s+l<=t?t:s+l;if(_.value&&_.value.scrollTo(N,0),N!==t)return window.requestAnimationFrame(()=>j(t,l))},Q=()=>{const t=_.value.offsetWidth,l=_.value.scrollLeft;if(!l)return;const s=l>t?l-t:0;j(s,(s-l)/20)},p=()=>{const t=_.value.offsetWidth,l=_.value.scrollWidth,s=_.value.scrollLeft;if(l-s<=t)return;const N=l-s>t*2?s+t:l-t;j(N,(N-s)/20)};return window.addEventListener("beforeunload",()=>{localStorage.setItem("TABS_ROUTES",JSON.stringify(y.value))}),window.addEventListener("scroll",t=>{let l=t.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;d.isMultiHeaderFixed=l>=64},!0),e.watch(()=>i.fullPath,t=>{C.includes(i.name)||(d.activeKey=t,r.addTab(g(i)),x(!0))},{immediate:!0}),B(),e.onMounted(()=>X()),(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(f.value)},[e.createElementVNode("div",Ge,[e.createElementVNode("div",{ref_key:"navWrap",ref:P,class:e.normalizeClass(["tabs-card",{"tabs-card-scrollable":d.scrollable}])},[e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-prev",{"tabs-card-prev-hide":!d.scrollable}]),onClick:Q},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(S.LeftOutlined))]),_:1})],2),e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-next",{"tabs-card-next-hide":!d.scrollable}]),onClick:p},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(S.RightOutlined))]),_:1})],2),e.createElementVNode("div",{ref_key:"navScroll",ref:_,class:"tabs-card-scroll"},[e.createVNode(e.unref(Ce),{list:y.value,animation:"300","item-key":"fullPath",class:"flex",move:q},{item:e.withCtx(({element:s})=>[e.createElementVNode("div",{id:`tag${s.fullPath.split("/").join("/")}`,class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":d.activeKey===s.fullPath}]),onClick:e.withModifiers(N=>W(s),["stop"]),onContextmenu:N=>H(N,s)},[e.createElementVNode("span",null,e.toDisplayString(s.meta.title),1),s.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"14",onClick:e.withModifiers(N=>G(s),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(S.CloseOutlined))]),_:1},8,["onClick"]))],42,Je)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",Ze,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:F,placement:"bottom-end",options:w.value},{default:e.withCtx(()=>[e.createElementVNode("div",Qe,[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(S.DownOutlined))]),_:1})])]),_:1},8,["options"])]),e.createVNode(e.unref(n.NDropdown),{show:d.showDropdown,x:d.dropdownX,y:d.dropdownY,onClickoutside:l[0]||(l[0]=s=>d.showDropdown=!1),placement:"bottom-start",onSelect:F,options:w.value},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-48b3be2d"]]),ve=e.defineComponent({__name:"PMenus",setup(o){const a=O.useRoute(),c=O.useRouter(),u=I(),m=e.ref(a.name),i=e.ref(a.matched&&a.matched.length?a.matched.map(d=>d.name):[]),b=e.ref([]),_=d=>{/http(s)?:/.test(d)?window.open(d):c.push({name:d})},P=d=>{if(!d)return;const C=d.find(g=>i.value.indexOf(g)===-1);i.value=C?[C]:[]},V=()=>{const d=a.matched;i.value=d.map(g=>g.name);const C=a.meta?.activeMenu||"";m.value=C||a.name},r=(d,C=[],g=!1)=>{const f=[],w=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!d||d.length===0)return f;d=d.sort((h,E)=>{let B=(E.children?.length?1:0)-(h.children?.length?1:0);return B===0&&(B=(h.meta?.sort??0)-(E.meta?.sort??0)),B});for(const h of d){if(g||(h.meta?.hidden||!1)==!0||w.includes(h.path)){C.push(h.name),h.children&&h.children.length>0&&r(h.children,C,!0);continue}const E=h.meta?.alwaysShow!=!0&&h?.children?.filter(q=>!q?.meta?.hidden)?.length===1,B=E?h.children[0]:h,x={key:B.name,label:B.meta?.title,affix:B.meta?.affix,sort:B.meta?.sort,path:B.path,redirect:B.redirect,icon:E?h.meta?.icon:B.meta?.icon,permissions:B.meta?.permissions,meta:B.meta,children:void 0};if(!C.includes(h.name)){if(f.push(x),C.push(h.name),E){r(h.children,C,g);continue}h.children&&h.children.length>0&&(x.children=r(h.children,C,g))}}return f},y=()=>{const d=c.getRoutes();b.value=r(d)};return e.watch(()=>a.fullPath,()=>{V()}),e.onMounted(()=>{y(),V()}),(d,C)=>(e.openBlock(),e.createBlock(e.unref(n.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:b.value,collapsed:e.unref(u).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":i.value,value:m.value,"onUpdate:value":_,"onUpdate:expandedKeys":P},null,8,["options","collapsed","expanded-keys","value"]))}}),et={class:"layout-content-main layout-content-main-fix"},tt={class:"main-view main-view-fix"},ot=M(e.defineComponent({__name:"PLayout",setup(o){const a=I(),c=e.ref(!1),u=()=>{c.value=!0,e.nextTick(()=>c.value=!1)};return e.provide("reloadPage",u),(m,i)=>{const b=n.NBackTop;return e.openBlock(),e.createBlock(e.unref(n.NLayout),{"has-sider":"",class:"layout",position:"absolute"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.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(n.NFlex),{vertical:""},{default:e.withCtx(()=>[e.createVNode(Oe),e.createVNode(ve)]),_:1})]),_:1},8,["collapsed","onCollapse","onExpand"]),e.createVNode(e.unref(n.NLayout),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NLayoutHeader),{position:"absolute"},{default:e.withCtx(()=>[e.createVNode(Ke)]),_:1}),e.createVNode(e.unref(n.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",et,[e.createVNode(Ue),e.createElementVNode("div",tt,[e.createVNode(Xe,{loading:c.value},null,8,["loading"])])])]),_:1}),e.createVNode(b,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-0bac2e7d"]]),nt={};function at(o,a){const c=e.resolveComponent("router-view");return e.openBlock(),e.createBlock(c)}const le=$(M(nt,[["render",at]])),se=$(ot),re=$(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(o){return(a,c)=>{const u=n.NConfigProvider;return e.openBlock(),e.createBlock(u,{locale:e.unref(n.zhCN),theme:o.theme,"theme-overrides":o.themeOverrides,"date-locale":e.unref(n.dateZhCN)},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NDialogProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NNotificationProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NMessageProvider),null,{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["locale","theme","theme-overrides","date-locale"])}}})),ce=$(e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},closable:{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(o,{expose:a,emit:c}){const u=n.useMessage(),m=o,i=c,b=async()=>{i("update:loading",!0);try{m.onSave&&await m.onSave()&&_()}catch(y){u.error(y.message)}finally{i("update:loading",!1)}},_=()=>{i("update:visible",!1),i("update:loading",!1)},P=async()=>{try{m.onClose?await m.onClose()&&_():_()}catch(y){u.error(y.message),i("update:loading",!1)}};return a({open:()=>{i("update:visible",!0),i("update:loading",!1)},close:()=>{i("update:visible",!1),i("update:loading",!1)}}),(y,d)=>{const C=n.NText,g=n.NButton,f=n.NSpace;return e.openBlock(),e.createBlock(e.unref(n.NModal),e.mergeProps({ref:"$modal",preset:"card"},y.$attrs,{"header-class":"bg-gray-50",show:m.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${m.width}px`},onClose:_}),{header:e.withCtx(()=>[y.$slots.header?e.renderSlot(y.$slots,"header",{key:0}):m.title?(e.openBlock(),e.createBlock(C,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(y.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${m.height}px`})},[e.renderSlot(y.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(y.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(f,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(g,{type:"primary",loading:o.loading,onClick:b},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(y.$slots,"action-extra",{loading:o.loading}),e.createVNode(g,{onClick:P,loading:o.loading},{default:e.withCtx(()=>[...d[0]||(d[0]=[e.createTextVNode("取消",-1)])]),_:1},8,["loading"])]),_:3})]),_:3},16,["show","style"])}}})),ie=$(ae),lt=e.defineComponent({name:"Redirect",setup(){const o=O.useRoute(),a=O.useRouter();return e.onBeforeMount(()=>{const{params:c,query:u}=o,{path:m}=c;a.replace({path:"/"+(Array.isArray(m)?m.join("/"):m),query:u})}),()=>React.createElement(n.NEmpty,null)}}),de=$(lt),st={class:"frame"},rt=["src"],fe=$(M(e.defineComponent({__name:"PIframe",setup(o){const a=O.useRoute(),c=e.ref(!1),u=e.ref(null),m=e.ref("");e.unref(a.meta)?.frameSrc&&(m.value=e.unref(a.meta)?.frameSrc);function i(){c.value=!1}function b(){e.nextTick(()=>{const _=e.unref(u);if(!_)return;const P=_;P.attachEvent?P.attachEvent("onload",()=>{i()}):_.onload=()=>{i()}})}return e.onMounted(()=>{c.value=!0,b()}),(_,P)=>{const V=n.NSpin;return e.openBlock(),e.createBlock(V,{show:c.value},{default:e.withCtx(()=>[e.createElementVNode("div",st,[e.createElementVNode("iframe",{src:m.value,class:"frame-iframe",ref_key:"frameRef",ref:u},null,8,rt)])]),_:1},8,["show"])}}}),[["__scopeId","data-v-161a378e"]])),ct={class:"border border-gray-100 rounded-lg"},it={class:"text-xl font-semibold text-gray-800"},dt={class:"text-sm text-gray-500 mt-1"},pe=$(e.defineComponent({__name:"PPage",props:{icon:{type:Object,required:!1,default:()=>S.AlertOutlined},title:{type:String,required:!0},subtitle:{type:String,required:!1}},setup(o){const a=o;return(c,u)=>{const m=n.NIcon,i=n.NAvatar,b=n.NSpace,_=n.NCard;return e.openBlock(),e.createElementBlock("div",ct,[a.title?(e.openBlock(),e.createBlock(_,{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(i,{key:0,size:48,class:"bg-linear-to-br from-blue-500 to-indigo-600"},{default:e.withCtx(()=>[e.createVNode(m,{size:24,component:a.icon,color:"#fff"},null,8,["component"])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",null,[e.createElementVNode("div",it,e.toDisplayString(a.title),1),e.createElementVNode("div",dt,e.toDisplayString(a.subtitle??a.title+"主页"),1)])]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0),c.$slots.search?(e.openBlock(),e.createBlock(_,{key:1,class:"mb-4",bordered:!1,"content-class":"py-4"},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"search")]),_:3})):e.createCommentVNode("",!0),c.$slots.default?(e.openBlock(),e.createBlock(_,{key:2,bordered:!1,"content-class":"!py-0"},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3})):e.createCommentVNode("",!0)])}}})),ft={},pt={class:"flex flex-col justify-center page-container"};function mt(o,a){const c=n.NResult;return e.openBlock(),e.createElementBlock("div",pt,[e.createVNode(c,{status:"500",title:"服务器错误",description:"抱歉,服务器出错了"})])}const gt=M(ft,[["render",mt],["__scopeId","data-v-89cb65c7"]]),ht={},ut={class:"flex flex-col justify-center page-container"};function _t(o,a){const c=n.NResult;return e.openBlock(),e.createElementBlock("div",ut,[e.createVNode(c,{status:"404",title:"资源不存在",description:"抱歉,你访问的页面不存在"})])}const yt=M(ht,[["render",_t],["__scopeId","data-v-99232671"]]),wt={},bt={class:"flex flex-col justify-center page-container"};function kt(o,a){const c=n.NResult;return e.openBlock(),e.createElementBlock("div",bt,[e.createVNode(c,{status:"403",title:"禁止访问",description:"抱歉,你无权访问该页面"})])}const Nt=M(wt,[["render",kt],["__scopeId","data-v-3baa9c16"]]),me=$(gt),ge=$(yt),he=$(Nt),ue=Y.defineStore("app-oidc",()=>{const o=e.reactive({});return{setCallback:i=>o.callback=i,callCallback:async i=>await o.callback?.(i),setError:i=>o.error=i,callError:async(i,b)=>await o.error?.(i,b)}}),Ct={class:"view-auth-callback"},_e=$(M(e.defineComponent({__name:"POidc",setup(o){const a=O.useRouter(),{callCallback:c,callError:u}=ue();return e.onMounted(async()=>{try{await c(a)}catch(m){await u(a,m)}}),(m,i)=>(e.openBlock(),e.createElementBlock("div",Ct,[...i[0]||(i[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"]])),xt=Object.freeze(Object.defineProperty({__proto__:null,P403:he,P404:ge,P500:me,PApplication:re,PEmptyLayout:le,PIframe:fe,PLanguage:ie,PLayout:se,PModal:ce,POidc:_e,PPage:pe,PRedirect:de,PTable:oe},Symbol.toStringTag,{value:"Module"})),ye=(o,a)=>(Object.values(xt).forEach(c=>{c.install&&o.use(c)}),a?.(),o),Pt={install:ye};k.P403=he,k.P404=ge,k.P500=me,k.PApplication=re,k.PEmptyLayout=le,k.PIframe=fe,k.PLanguage=ie,k.PLayout=se,k.PModal=ce,k.POidc=_e,k.PPage=pe,k.PRedirect=de,k.PTable=oe,k.default=Pt,k.install=ye,k.useLanguageStore=ne,k.useLayoutStore=I,k.useOidcStore=ue,Object.defineProperties(k,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .logo[data-v-e48aeefa]{display:flex;align-items:center;justify-content:start;padding-left:16px;height:64px;line-height:64px;overflow:hidden;white-space:nowrap}.logo-size[data-v-e48aeefa]{font-size:20px}.layout-header[data-v-563e4e55]{display:flex;justify-content:space-between;align-items:center;padding:0;height:64px;box-shadow:0 1px 4px #00152914;transition:all .2s ease-in-out;width:100%;z-index:11}.layout-header-left[data-v-563e4e55]{display:flex;align-items:center}.layout-header-left .logo[data-v-563e4e55]{display:flex;align-items:center;justify-content:center;height:64px;line-height:64px;overflow:hidden;white-space:nowrap;padding-left:10px}.layout-header-left .logo img[data-v-563e4e55]{width:auto;height:32px;margin-right:10px}.layout-header-left .logo .title[data-v-563e4e55]{margin-bottom:0}.layout-header-left[data-v-563e4e55] .ant-breadcrumb span:last-child .link-text{color:#515a6e}.layout-header-left .n-breadcrumb[data-v-563e4e55]{display:inline-block}.layout-header-left-menu[data-v-563e4e55]{color:var(--text-color)}.layout-header-right[data-v-563e4e55]{display:flex;align-items:center;margin-right:5px}.layout-header-right .avatar[data-v-563e4e55]{display:flex;align-items:center;height:64px}.layout-header-right[data-v-563e4e55]>*{cursor:pointer}.layout-header-trigger[data-v-563e4e55]{display:inline-block;width:64px;height:64px;text-align:center;cursor:pointer;transition:all .2s ease-in-out}.layout-header-trigger .n-icon[data-v-563e4e55]{display:flex;align-items:center;height:64px;line-height:64px}.layout-header-trigger[data-v-563e4e55]:hover{background:#ffffff14}.layout-header-trigger .anticon[data-v-563e4e55]{font-size:16px;color:#515a6e}.layout-header-trigger-min[data-v-563e4e55]{width:auto;padding:0 10px}.layout-header-light[data-v-563e4e55]{background:#fff;color:#515a6e}.layout-header-light .n-icon[data-v-563e4e55]{color:#515a6e}.layout-header-light .layout-header-left[data-v-563e4e55] .n-breadcrumb .n-breadcrumb-item:last-child .n-breadcrumb-item__link{color:#515a6e}.layout-header-light .layout-header-trigger[data-v-563e4e55]:hover{background:#f8f8f9}.layout-header-fix[data-v-563e4e55]{position:fixed;top:0;right:0;left:200px;z-index:11}[data-v-563e4e55] .menu-router-link{color:#515a6e}[data-v-563e4e55] .menu-router-link:hover{color:#1890ff}.tabs-view[data-v-48b3be2d]{width:100%;padding:6px 0;display:flex;transition:all .2s ease-in-out}.tabs-view-main[data-v-48b3be2d]{height:32px;display:flex;max-width:100%;min-width:100%}.tabs-view-main .tabs-card[data-v-48b3be2d]{-webkit-box-flex:1;flex-grow:1;flex-shrink:1;overflow:hidden;position:relative}.tabs-view-main .tabs-card .tabs-card-prev[data-v-48b3be2d],.tabs-view-main .tabs-card .tabs-card-next[data-v-48b3be2d]{width:32px;text-align:center;position:absolute;line-height:32px;cursor:pointer}.tabs-view-main .tabs-card .tabs-card-prev .n-icon[data-v-48b3be2d],.tabs-view-main .tabs-card .tabs-card-next .n-icon[data-v-48b3be2d]{display:flex;align-items:center;justify-content:center;height:32px;width:32px}.tabs-view-main .tabs-card .tabs-card-prev[data-v-48b3be2d]{left:0}.tabs-view-main .tabs-card .tabs-card-next[data-v-48b3be2d]{right:0}.tabs-view-main .tabs-card .tabs-card-next-hide[data-v-48b3be2d],.tabs-view-main .tabs-card .tabs-card-prev-hide[data-v-48b3be2d]{display:none}.tabs-view-main .tabs-card-scroll[data-v-48b3be2d]{white-space:nowrap;overflow:hidden}.tabs-view-main .tabs-card-scroll-item[data-v-48b3be2d]{background:var(--v141ddb06);color:var(--cf709148);height:32px;padding:6px 16px 4px;border-radius:3px;margin-right:6px;cursor:pointer;display:inline-block;position:relative;flex:0 0 auto}.tabs-view-main .tabs-card-scroll-item span[data-v-48b3be2d]{float:left;vertical-align:middle}.tabs-view-main .tabs-card-scroll-item[data-v-48b3be2d]:hover{color:#515a6e}.tabs-view-main .tabs-card-scroll-item .n-icon[data-v-48b3be2d]{height:22px;width:21px;margin-right:-6px;position:relative;vertical-align:middle;text-align:center;color:#808695}.tabs-view-main .tabs-card-scroll-item .n-icon[data-v-48b3be2d]:hover{color:#515a6e!important}.tabs-view-main .tabs-card-scroll-item .n-icon svg[data-v-48b3be2d]{height:21px;display:inline-block}.tabs-view-main .tabs-card-scroll .active-item[data-v-48b3be2d]{color:#2d8cf0}.tabs-view-main .tabs-card-scrollable[data-v-48b3be2d]{padding:0 32px;overflow:hidden}.tabs-view .tabs-close[data-v-48b3be2d]{min-width:32px;width:32px;height:32px;line-height:32px;text-align:center;background:var(--color);border-radius:2px;cursor:pointer}.tabs-view .tabs-close-btn[data-v-48b3be2d]{color:var(--color);height:100%;display:flex;align-items:center;justify-content:center}.tabs-view-default-background[data-v-48b3be2d]{background:#f5f7f9}.tabs-view-dark-background[data-v-48b3be2d]{background:#101014}.tabs-view-fix[data-v-48b3be2d]{position:fixed;z-index:5;padding:6px 10px;left:200px}.tabs-view-fixed-header[data-v-48b3be2d]{top:0}.layout[data-v-8d20e006]{display:flex;flex-direction:row;flex:auto}.layout-default-background[data-v-8d20e006]{background:#f5f7f9}.layout .layout-sider[data-v-8d20e006]{min-height:100vh;box-shadow:2px 0 8px #1d23290d;position:relative;z-index:13;transition:all .2s ease-in-out}.layout .layout-sider-fix[data-v-8d20e006]{position:fixed;top:0;left:0}.layout .ant-layout[data-v-8d20e006]{overflow:hidden}.layout .layout-right-fix[data-v-8d20e006]{overflow-x:hidden;padding-left:200px;min-height:100vh;transition:all .2s ease-in-out}.layout .layout-content[data-v-8d20e006]{flex:auto;min-height:100vh}.layout .n-layout-header.n-layout-header--absolute-positioned[data-v-8d20e006]{z-index:11}.layout-content-main[data-v-8d20e006]{margin:0 10px 10px;position:relative;padding-top:64px}.layout-content-main-fix[data-v-8d20e006]{padding-top:64px}.main-view-fix[data-v-8d20e006]{padding-top:44px}.frame[data-v-161a378e]{width:100%;height:100vh}.frame-iframe[data-v-161a378e]{width:100%;height:100%;overflow:hidden;border:0;box-sizing:border-box}.page-container[data-v-89cb65c7],.page-container[data-v-99232671],.page-container[data-v-3baa9c16]{width:100%;border-radius:4px;padding:50px 0;height:100vh;margin-top:-128px}.view-auth-callback[data-v-167395ae]{display:flex;flex-direction:column;height:100vh;overflow:auto}.view-auth-callback-content[data-v-167395ae]{flex:1;padding:32px 12px;display:flex;justify-content:center;align-items:center}.view-auth-callback-spinner[data-v-167395ae]{display:flex;justify-content:center;align-items:center;height:100px}
1
+ .logo[data-v-e48aeefa]{display:flex;align-items:center;justify-content:start;padding-left:16px;height:64px;line-height:64px;overflow:hidden;white-space:nowrap}.logo-size[data-v-e48aeefa]{font-size:20px}.layout-header[data-v-563e4e55]{display:flex;justify-content:space-between;align-items:center;padding:0;height:64px;box-shadow:0 1px 4px #00152914;transition:all .2s ease-in-out;width:100%;z-index:11}.layout-header-left[data-v-563e4e55]{display:flex;align-items:center}.layout-header-left .logo[data-v-563e4e55]{display:flex;align-items:center;justify-content:center;height:64px;line-height:64px;overflow:hidden;white-space:nowrap;padding-left:10px}.layout-header-left .logo img[data-v-563e4e55]{width:auto;height:32px;margin-right:10px}.layout-header-left .logo .title[data-v-563e4e55]{margin-bottom:0}.layout-header-left[data-v-563e4e55] .ant-breadcrumb span:last-child .link-text{color:#515a6e}.layout-header-left .n-breadcrumb[data-v-563e4e55]{display:inline-block}.layout-header-left-menu[data-v-563e4e55]{color:var(--text-color)}.layout-header-right[data-v-563e4e55]{display:flex;align-items:center;margin-right:5px}.layout-header-right .avatar[data-v-563e4e55]{display:flex;align-items:center;height:64px}.layout-header-right[data-v-563e4e55]>*{cursor:pointer}.layout-header-trigger[data-v-563e4e55]{display:inline-block;width:64px;height:64px;text-align:center;cursor:pointer;transition:all .2s ease-in-out}.layout-header-trigger .n-icon[data-v-563e4e55]{display:flex;align-items:center;height:64px;line-height:64px}.layout-header-trigger[data-v-563e4e55]:hover{background:#ffffff14}.layout-header-trigger .anticon[data-v-563e4e55]{font-size:16px;color:#515a6e}.layout-header-trigger-min[data-v-563e4e55]{width:auto;padding:0 10px}.layout-header-light[data-v-563e4e55]{background:#fff;color:#515a6e}.layout-header-light .n-icon[data-v-563e4e55]{color:#515a6e}.layout-header-light .layout-header-left[data-v-563e4e55] .n-breadcrumb .n-breadcrumb-item:last-child .n-breadcrumb-item__link{color:#515a6e}.layout-header-light .layout-header-trigger[data-v-563e4e55]:hover{background:#f8f8f9}.layout-header-fix[data-v-563e4e55]{position:fixed;top:0;right:0;left:200px;z-index:11}[data-v-563e4e55] .menu-router-link{color:#515a6e}[data-v-563e4e55] .menu-router-link:hover{color:#1890ff}.tabs-view[data-v-48b3be2d]{width:100%;padding:6px 0;display:flex;transition:all .2s ease-in-out}.tabs-view-main[data-v-48b3be2d]{height:32px;display:flex;max-width:100%;min-width:100%}.tabs-view-main .tabs-card[data-v-48b3be2d]{-webkit-box-flex:1;flex-grow:1;flex-shrink:1;overflow:hidden;position:relative}.tabs-view-main .tabs-card .tabs-card-prev[data-v-48b3be2d],.tabs-view-main .tabs-card .tabs-card-next[data-v-48b3be2d]{width:32px;text-align:center;position:absolute;line-height:32px;cursor:pointer}.tabs-view-main .tabs-card .tabs-card-prev .n-icon[data-v-48b3be2d],.tabs-view-main .tabs-card .tabs-card-next .n-icon[data-v-48b3be2d]{display:flex;align-items:center;justify-content:center;height:32px;width:32px}.tabs-view-main .tabs-card .tabs-card-prev[data-v-48b3be2d]{left:0}.tabs-view-main .tabs-card .tabs-card-next[data-v-48b3be2d]{right:0}.tabs-view-main .tabs-card .tabs-card-next-hide[data-v-48b3be2d],.tabs-view-main .tabs-card .tabs-card-prev-hide[data-v-48b3be2d]{display:none}.tabs-view-main .tabs-card-scroll[data-v-48b3be2d]{white-space:nowrap;overflow:hidden}.tabs-view-main .tabs-card-scroll-item[data-v-48b3be2d]{background:var(--v141ddb06);color:var(--cf709148);height:32px;padding:6px 16px 4px;border-radius:3px;margin-right:6px;cursor:pointer;display:inline-block;position:relative;flex:0 0 auto}.tabs-view-main .tabs-card-scroll-item span[data-v-48b3be2d]{float:left;vertical-align:middle}.tabs-view-main .tabs-card-scroll-item[data-v-48b3be2d]:hover{color:#515a6e}.tabs-view-main .tabs-card-scroll-item .n-icon[data-v-48b3be2d]{height:22px;width:21px;margin-right:-6px;position:relative;vertical-align:middle;text-align:center;color:#808695}.tabs-view-main .tabs-card-scroll-item .n-icon[data-v-48b3be2d]:hover{color:#515a6e!important}.tabs-view-main .tabs-card-scroll-item .n-icon svg[data-v-48b3be2d]{height:21px;display:inline-block}.tabs-view-main .tabs-card-scroll .active-item[data-v-48b3be2d]{color:#2d8cf0}.tabs-view-main .tabs-card-scrollable[data-v-48b3be2d]{padding:0 32px;overflow:hidden}.tabs-view .tabs-close[data-v-48b3be2d]{min-width:32px;width:32px;height:32px;line-height:32px;text-align:center;background:var(--color);border-radius:2px;cursor:pointer}.tabs-view .tabs-close-btn[data-v-48b3be2d]{color:var(--color);height:100%;display:flex;align-items:center;justify-content:center}.tabs-view-default-background[data-v-48b3be2d]{background:#f5f7f9}.tabs-view-dark-background[data-v-48b3be2d]{background:#101014}.tabs-view-fix[data-v-48b3be2d]{position:fixed;z-index:5;padding:6px 10px;left:200px}.tabs-view-fixed-header[data-v-48b3be2d]{top:0}.layout[data-v-0bac2e7d]{display:flex;flex-direction:row;flex:auto}.layout-default-background[data-v-0bac2e7d]{background:#f5f7f9}.layout .layout-sider[data-v-0bac2e7d]{min-height:100vh;box-shadow:2px 0 8px #1d23290d;position:relative;z-index:13;transition:all .2s ease-in-out}.layout .layout-sider-fix[data-v-0bac2e7d]{position:fixed;top:0;left:0}.layout .ant-layout[data-v-0bac2e7d]{overflow:hidden}.layout .layout-right-fix[data-v-0bac2e7d]{overflow-x:hidden;padding-left:200px;min-height:100vh;transition:all .2s ease-in-out}.layout .layout-content[data-v-0bac2e7d]{flex:auto;min-height:100vh}.layout .n-layout-header.n-layout-header--absolute-positioned[data-v-0bac2e7d]{z-index:11}.layout-content-main[data-v-0bac2e7d]{margin:0 5px 5px;position:relative;padding-top:64px}.layout-content-main-fix[data-v-0bac2e7d]{padding-top:64px}.main-view-fix[data-v-0bac2e7d]{padding-top:45px}.frame[data-v-161a378e]{width:100%;height:100vh}.frame-iframe[data-v-161a378e]{width:100%;height:100%;overflow:hidden;border:0;box-sizing:border-box}.page-container[data-v-89cb65c7],.page-container[data-v-99232671],.page-container[data-v-3baa9c16]{width:100%;border-radius:4px;padding:50px 0;height:100vh;margin-top:-128px}.view-auth-callback[data-v-167395ae]{display:flex;flex-direction:column;height:100vh;overflow:auto}.view-auth-callback-content[data-v-167395ae]{flex:1;padding:32px 12px;display:flex;justify-content:center;align-items:center}.view-auth-callback-spinner[data-v-167395ae]{display:flex;justify-content:center;align-items:center;height:100px}
@@ -5,5 +5,6 @@ export { PModalPlugin as PModal } from './modal';
5
5
  export { PLanguagePlugin as PLanguage } from './languages';
6
6
  export { PRedirectPlugin as PRedirect } from './redirect';
7
7
  export { PIframePlugin as PIframe } from './iframe';
8
+ export { PPagePlugin as PPage } from './page';
8
9
  export { P500Plugin as P500, P404Plugin as P404, P403Plugin as P403, } from './error';
9
10
  export { POidcPlugin as POidc } from './oidc';
package/es/components.js CHANGED
@@ -1,23 +1,25 @@
1
1
  import { PTablePlugin as o } from "./table/index.js";
2
- import { PEmptyLayoutPlugin as i, PLayoutPlugin as e } from "./layout/index.js";
3
- import { PApplicationPlugin as l } from "./application/index.js";
4
- import { PModalPlugin as g } from "./modal/index.js";
2
+ import { PEmptyLayoutPlugin as e, PLayoutPlugin as i } from "./layout/index.js";
3
+ import { PApplicationPlugin as g } from "./application/index.js";
4
+ import { PModalPlugin as u } from "./modal/index.js";
5
5
  import { PLanguagePlugin as p } from "./languages/index.js";
6
6
  import { PRedirectPlugin as s } from "./redirect/index.js";
7
7
  import { PIframePlugin as x } from "./iframe/index.js";
8
- import { P403Plugin as d, P404Plugin as y, P500Plugin as L } from "./error/index.js";
9
- import { POidcPlugin as A } from "./oidc/index.js";
8
+ import { PPagePlugin as d } from "./page/index.js";
9
+ import { P403Plugin as L, P404Plugin as b, P500Plugin as A } from "./error/index.js";
10
+ import { POidcPlugin as I } from "./oidc/index.js";
10
11
  export {
11
- d as P403,
12
- y as P404,
13
- L as P500,
14
- l as PApplication,
15
- i as PEmptyLayout,
12
+ L as P403,
13
+ b as P404,
14
+ A as P500,
15
+ g as PApplication,
16
+ e as PEmptyLayout,
16
17
  x as PIframe,
17
18
  p as PLanguage,
18
- e as PLayout,
19
- g as PModal,
20
- A as POidc,
19
+ i as PLayout,
20
+ u as PModal,
21
+ I as POidc,
22
+ d as PPage,
21
23
  s as PRedirect,
22
24
  o as PTable
23
25
  };
package/es/index.js CHANGED
@@ -1,20 +1,21 @@
1
- import * as r from "./components.js";
1
+ import * as e from "./components.js";
2
2
  import { PEmptyLayoutPlugin as n, PLayoutPlugin as l } from "./layout/index.js";
3
- import { PLanguagePlugin as f } from "./languages/index.js";
3
+ import { PLanguagePlugin as g } from "./languages/index.js";
4
4
  import { POidcPlugin as m } from "./oidc/index.js";
5
5
  import { P403Plugin as x, P404Plugin as c, P500Plugin as d } from "./error/index.js";
6
6
  import { PApplicationPlugin as y } from "./application/index.js";
7
7
  import { PIframePlugin as b } from "./iframe/index.js";
8
8
  import { PModalPlugin as S } from "./modal/index.js";
9
- import { PRedirectPlugin as I } from "./redirect/index.js";
10
- import { PTablePlugin as R } from "./table/index.js";
11
- import { useLanguageStore as h } from "./languages/store.js";
12
- import { useLayoutStore as v } from "./layout/store.js";
13
- import { useOidcStore as q } from "./oidc/store.js";
14
- const t = (o, e) => (Object.values(r).forEach((a) => {
15
- a.install && o.use(a);
16
- }), e?.(), o), P = {
17
- install: t
9
+ import { PPagePlugin as I } from "./page/index.js";
10
+ import { PRedirectPlugin as R } from "./redirect/index.js";
11
+ import { PTablePlugin as h } from "./table/index.js";
12
+ import { useLanguageStore as v } from "./languages/store.js";
13
+ import { useLayoutStore as q } from "./layout/store.js";
14
+ import { useOidcStore as z } from "./oidc/store.js";
15
+ const r = (o, a) => (Object.values(e).forEach((P) => {
16
+ P.install && o.use(P);
17
+ }), a?.(), o), t = {
18
+ install: r
18
19
  };
19
20
  export {
20
21
  x as P403,
@@ -23,15 +24,16 @@ export {
23
24
  y as PApplication,
24
25
  n as PEmptyLayout,
25
26
  b as PIframe,
26
- f as PLanguage,
27
+ g as PLanguage,
27
28
  l as PLayout,
28
29
  S as PModal,
29
30
  m as POidc,
30
- I as PRedirect,
31
- R as PTable,
32
- P as default,
33
- t as install,
34
- h as useLanguageStore,
35
- v as useLayoutStore,
36
- q as useOidcStore
31
+ I as PPage,
32
+ R as PRedirect,
33
+ h as PTable,
34
+ t as default,
35
+ r as install,
36
+ v as useLanguageStore,
37
+ q as useLayoutStore,
38
+ z as useOidcStore
37
39
  };
@@ -1 +1 @@
1
- .layout[data-v-8d20e006]{display:flex;flex-direction:row;flex:auto}.layout-default-background[data-v-8d20e006]{background:#f5f7f9}.layout .layout-sider[data-v-8d20e006]{min-height:100vh;box-shadow:2px 0 8px #1d23290d;position:relative;z-index:13;transition:all .2s ease-in-out}.layout .layout-sider-fix[data-v-8d20e006]{position:fixed;top:0;left:0}.layout .ant-layout[data-v-8d20e006]{overflow:hidden}.layout .layout-right-fix[data-v-8d20e006]{overflow-x:hidden;padding-left:200px;min-height:100vh;transition:all .2s ease-in-out}.layout .layout-content[data-v-8d20e006]{flex:auto;min-height:100vh}.layout .n-layout-header.n-layout-header--absolute-positioned[data-v-8d20e006]{z-index:11}.layout-content-main[data-v-8d20e006]{margin:0 10px 10px;position:relative;padding-top:64px}.layout-content-main-fix[data-v-8d20e006]{padding-top:64px}.main-view-fix[data-v-8d20e006]{padding-top:44px}
1
+ .layout[data-v-0bac2e7d]{display:flex;flex-direction:row;flex:auto}.layout-default-background[data-v-0bac2e7d]{background:#f5f7f9}.layout .layout-sider[data-v-0bac2e7d]{min-height:100vh;box-shadow:2px 0 8px #1d23290d;position:relative;z-index:13;transition:all .2s ease-in-out}.layout .layout-sider-fix[data-v-0bac2e7d]{position:fixed;top:0;left:0}.layout .ant-layout[data-v-0bac2e7d]{overflow:hidden}.layout .layout-right-fix[data-v-0bac2e7d]{overflow-x:hidden;padding-left:200px;min-height:100vh;transition:all .2s ease-in-out}.layout .layout-content[data-v-0bac2e7d]{flex:auto;min-height:100vh}.layout .n-layout-header.n-layout-header--absolute-positioned[data-v-0bac2e7d]{z-index:11}.layout-content-main[data-v-0bac2e7d]{margin:0 5px 5px;position:relative;padding-top:64px}.layout-content-main-fix[data-v-0bac2e7d]{padding-top:64px}.main-view-fix[data-v-0bac2e7d]{padding-top:45px}
@@ -1,7 +1,7 @@
1
1
  import o from "./PLayout.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../_virtual/_plugin-vue_export-helper.js";
4
- const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-8d20e006"]]);
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-0bac2e7d"]]);
5
5
  export {
6
6
  p as default
7
7
  };
@@ -1,6 +1,6 @@
1
1
  import { NLayout as s, NLayoutSider as i, NFlex as c, NLayoutHeader as d, NLayoutContent as u, NBackTop as p } from "naive-ui";
2
- import { defineComponent as m, ref as f, provide as _, openBlock as y, createBlock as g, unref as e, withCtx as a, createVNode as o, createElementVNode as n, nextTick as v } from "vue";
3
- import h from "./sider/PLogo.vue.js";
2
+ import { defineComponent as m, ref as f, provide as _, openBlock as g, createBlock as y, unref as e, withCtx as a, createVNode as o, createElementVNode as r, nextTick as h } from "vue";
3
+ import v from "./sider/PLogo.vue.js";
4
4
  import x from "./header/PHeader.vue.js";
5
5
  import b from "./content/PContent.vue.js";
6
6
  import N from "./content/PTabs.vue.js";
@@ -11,10 +11,10 @@ const k = { class: "layout-content-main layout-content-main-fix" }, w = { class:
11
11
  setup(C) {
12
12
  const t = P(), l = f(!1);
13
13
  return _("reloadPage", () => {
14
- l.value = !0, v(() => l.value = !1);
14
+ l.value = !0, h(() => l.value = !1);
15
15
  }), (E, T) => {
16
- const r = p;
17
- return y(), g(e(s), {
16
+ const n = p;
17
+ return g(), y(e(s), {
18
18
  "has-sider": "",
19
19
  class: "layout",
20
20
  position: "absolute"
@@ -26,6 +26,8 @@ const k = { class: "layout-content-main layout-content-main-fix" }, w = { class:
26
26
  "show-trigger": "bar",
27
27
  position: "absolute",
28
28
  "collapse-mode": "width",
29
+ "trigger-class": "!-right-5",
30
+ "collapsed-trigger-class": "!-right-5",
29
31
  collapsed: e(t).state.collapsed,
30
32
  "native-scrollbar": !1,
31
33
  "collapsed-width": 64,
@@ -35,7 +37,7 @@ const k = { class: "layout-content-main layout-content-main-fix" }, w = { class:
35
37
  default: a(() => [
36
38
  o(e(c), { vertical: "" }, {
37
39
  default: a(() => [
38
- o(h),
40
+ o(v),
39
41
  o(L)
40
42
  ]),
41
43
  _: 1
@@ -53,16 +55,16 @@ const k = { class: "layout-content-main layout-content-main-fix" }, w = { class:
53
55
  }),
54
56
  o(e(u), { class: "layout-content layout-default-background" }, {
55
57
  default: a(() => [
56
- n("div", k, [
58
+ r("div", k, [
57
59
  o(N),
58
- n("div", w, [
60
+ r("div", w, [
59
61
  o(b, { loading: l.value }, null, 8, ["loading"])
60
62
  ])
61
63
  ])
62
64
  ]),
63
65
  _: 1
64
66
  }),
65
- o(r, {
67
+ o(n, {
66
68
  right: 20,
67
69
  class: "z-50"
68
70
  })
@@ -6995,6 +6995,7 @@ export declare const useLayoutStore: import('pinia').StoreDefinition<"p-layout",
6995
6995
  title: string;
6996
6996
  }[]) => void;
6997
6997
  setLogout: (logout: () => Promise<void>) => void;
6998
+ enableLanguage: (enable: boolean) => void;
6998
6999
  }, "state">, Pick<{
6999
7000
  state: {
7000
7001
  title: string;
@@ -13991,6 +13992,7 @@ export declare const useLayoutStore: import('pinia').StoreDefinition<"p-layout",
13991
13992
  title: string;
13992
13993
  }[]) => void;
13993
13994
  setLogout: (logout: () => Promise<void>) => void;
13995
+ enableLanguage: (enable: boolean) => void;
13994
13996
  }, never>, Pick<{
13995
13997
  state: {
13996
13998
  title: string;
@@ -20987,4 +20989,5 @@ export declare const useLayoutStore: import('pinia').StoreDefinition<"p-layout",
20987
20989
  title: string;
20988
20990
  }[]) => void;
20989
20991
  setLogout: (logout: () => Promise<void>) => void;
20990
- }, "initTabs" | "addTab" | "closeCurrentTab" | "closeAllTabs" | "closeOtherTabs" | "closeLeftTabs" | "closeRightTabs" | "collapse" | "setTitle" | "setLogo" | "setUser" | "setSettingPages" | "setLogout">>;
20992
+ enableLanguage: (enable: boolean) => void;
20993
+ }, "enableLanguage" | "initTabs" | "addTab" | "closeCurrentTab" | "closeAllTabs" | "closeOtherTabs" | "closeLeftTabs" | "closeRightTabs" | "collapse" | "setTitle" | "setLogo" | "setUser" | "setSettingPages" | "setLogout">>;
@@ -1,7 +1,7 @@
1
1
  import { defineStore as o } from "pinia";
2
- import { reactive as i } from "vue";
3
- const n = ["Redirect", "RedirectSon", "login"], R = o("p-layout", () => {
4
- const s = i({
2
+ import { reactive as n } from "vue";
3
+ const i = ["Redirect", "RedirectSon", "login"], I = o("p-layout", () => {
4
+ const s = n({
5
5
  collapsed: !1,
6
6
  title: "输入项目名称",
7
7
  logo: "https://picsum.photos/id/1/100/100",
@@ -17,7 +17,7 @@ const n = ["Redirect", "RedirectSon", "login"], R = o("p-layout", () => {
17
17
  initTabs: (t) => {
18
18
  t.sort((e, a) => (a.meta.affix ? 1 : 0) - (e.meta.affix ? 1 : 0)), s.tabs = t;
19
19
  },
20
- addTab: (t) => n.includes(t.name) ? !1 : (s.tabs?.some(
20
+ addTab: (t) => i.includes(t.name) ? !1 : (s.tabs?.some(
21
21
  (a) => a.fullPath == t.fullPath
22
22
  ) || s.tabs?.push(t), !0),
23
23
  closeCurrentTab: (t) => {
@@ -67,9 +67,12 @@ const n = ["Redirect", "RedirectSon", "login"], R = o("p-layout", () => {
67
67
  },
68
68
  setLogout: (t) => {
69
69
  s.logout = t;
70
+ },
71
+ enableLanguage: (t) => {
72
+ s.enableLanguage = t;
70
73
  }
71
74
  };
72
75
  });
73
76
  export {
74
- R as useLayoutStore
77
+ I as useLayoutStore
75
78
  };
@@ -0,0 +1,48 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ search?(_: {}): any;
5
+ default?(_: {}): any;
6
+ };
7
+ refs: {};
8
+ rootEl: HTMLDivElement;
9
+ };
10
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
+ declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
12
+ icon: {
13
+ type: ObjectConstructor;
14
+ required: false;
15
+ default: () => import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
16
+ };
17
+ title: {
18
+ type: StringConstructor;
19
+ required: true;
20
+ };
21
+ subtitle: {
22
+ type: StringConstructor;
23
+ required: false;
24
+ };
25
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
26
+ icon: {
27
+ type: ObjectConstructor;
28
+ required: false;
29
+ default: () => import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
30
+ };
31
+ title: {
32
+ type: StringConstructor;
33
+ required: true;
34
+ };
35
+ subtitle: {
36
+ type: StringConstructor;
37
+ required: false;
38
+ };
39
+ }>> & Readonly<{}>, {
40
+ icon: Record<string, any>;
41
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
42
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
43
+ export default _default;
44
+ type __VLS_WithTemplateSlots<T, S> = T & {
45
+ new (): {
46
+ $slots: S;
47
+ };
48
+ };
@@ -0,0 +1,87 @@
1
+ import { NCard as m, NSpace as b, NAvatar as y, NIcon as g } from "naive-ui";
2
+ import { defineComponent as h, openBlock as o, createElementBlock as k, createBlock as r, withCtx as t, createVNode as a, createCommentVNode as s, createElementVNode as c, toDisplayString as d, renderSlot as u } from "vue";
3
+ import { AlertOutlined as N } from "@vicons/antd";
4
+ const v = { class: "border border-gray-100 rounded-lg" }, S = { class: "text-xl font-semibold text-gray-800" }, x = { class: "text-sm text-gray-500 mt-1" }, B = /* @__PURE__ */ h({
5
+ __name: "PPage",
6
+ props: {
7
+ icon: { type: Object, required: !1, default: () => N },
8
+ title: { type: String, required: !0 },
9
+ subtitle: { type: String, required: !1 }
10
+ },
11
+ setup(p) {
12
+ const e = p;
13
+ return (n, C) => {
14
+ const f = g, _ = y, i = b, l = m;
15
+ return o(), k("div", v, [
16
+ e.title ? (o(), r(l, {
17
+ key: 0,
18
+ class: "mb-4",
19
+ bordered: !1,
20
+ "content-class": "py-4"
21
+ }, {
22
+ default: t(() => [
23
+ a(i, {
24
+ align: "center",
25
+ justify: "space-between"
26
+ }, {
27
+ default: t(() => [
28
+ a(i, {
29
+ align: "center",
30
+ size: 16
31
+ }, {
32
+ default: t(() => [
33
+ e.icon ? (o(), r(_, {
34
+ key: 0,
35
+ size: 48,
36
+ class: "bg-linear-to-br from-blue-500 to-indigo-600"
37
+ }, {
38
+ default: t(() => [
39
+ a(f, {
40
+ size: 24,
41
+ component: e.icon,
42
+ color: "#fff"
43
+ }, null, 8, ["component"])
44
+ ]),
45
+ _: 1
46
+ })) : s("", !0),
47
+ c("div", null, [
48
+ c("div", S, d(e.title), 1),
49
+ c("div", x, d(e.subtitle ?? e.title + "主页"), 1)
50
+ ])
51
+ ]),
52
+ _: 1
53
+ })
54
+ ]),
55
+ _: 1
56
+ })
57
+ ]),
58
+ _: 1
59
+ })) : s("", !0),
60
+ n.$slots.search ? (o(), r(l, {
61
+ key: 1,
62
+ class: "mb-4",
63
+ bordered: !1,
64
+ "content-class": "py-4"
65
+ }, {
66
+ default: t(() => [
67
+ u(n.$slots, "search")
68
+ ]),
69
+ _: 3
70
+ })) : s("", !0),
71
+ n.$slots.default ? (o(), r(l, {
72
+ key: 2,
73
+ bordered: !1,
74
+ "content-class": "!py-0"
75
+ }, {
76
+ default: t(() => [
77
+ u(n.$slots, "default")
78
+ ]),
79
+ _: 3
80
+ })) : s("", !0)
81
+ ]);
82
+ };
83
+ }
84
+ });
85
+ export {
86
+ B as default
87
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./PPage.vue.js";
2
+ export {
3
+ f as default
4
+ };