@chewel611/naive-ui-plus 0.0.5 → 0.0.6

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(T,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","pinia","vue-router","element-resize-detector","vuedraggable"],n):(T=typeof globalThis<"u"?globalThis:T||self,n(T.naiveplus={},T.naiveUi,T.Vue,T.antd,T.pinia,T.vueRouter,T.elementResizeDetectorMaker,T.Draggable))})(this,function(T,n,e,E,v,D,fe,pe){"use strict";const ee=(o,s={})=>{Object.keys(o).forEach(c=>{Array.isArray(o[c])?o[c]=[]:o[c]&&typeof o[c]=="object"&&!Array.isArray(o[c])?s[c]&&typeof s[c]=="object"&&!Array.isArray(s[c])?ee(o[c],s[c]):o[c]=void 0:o[c]=s[c]!==void 0?s[c]:void 0})},he={id:"data-content"},me={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},ue={key:1},ge={key:2},_e=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{},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 c=e.ref(null),u=n.useDialog(),x=n.useMessage(),g=e.ref(!1),y=e.ref([]),C=e.ref([]),S=e.ref(null),B=e.ref(!1),p=e.ref(!1),b=e.ref(!1),a=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async r=>{a.value.page=r,await O()},onUpdatePageSize:async r=>{a.value.pageSize=r,await O()}}),i=o,h=r=>{const f=N=>{const L=[];return r&&r.forEach(t=>{t.key!=="edit"&&t.key!=="delete"&&L.push({label:t.name,key:t.key,props:{onClick:()=>t.action(N)}})}),L};return{title:"操作",key:"actions",width:100,fixed:"right",render:N=>{let L=[];if(i.hiddenEdit||L.push({label:"编辑",key:"edit",props:{onClick:()=>A(N)}}),i.hiddenDelete||L.push({label:"删除",key:"delete",props:{onClick:()=>w(N)}}),L=[...L,...f(N)],!(L.length<=0))return e.h(n.NDropdown,{options:L,placement:"bottom-start"},{default:()=>e.h(n.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(n.NIcon,()=>e.h(E.MoreOutlined))]})})}}},_=e.computed(()=>{const r=i.columns.filter(N=>N.key!="action").map(N=>({title:N.title,key:N.key,width:N.width,fixed:N.fixed??!1,render:N.render,ellipsis:N.ellipsis?{tooltip:!0}:!1})),f=i.columns.reduce((N,L)=>L.key==="action"?L:N,void 0)?.action;return f&&f?.length>0||!i.hiddenDelete||!i.hiddenEdit?[{type:"selection",fixed:"left"},...r,h(f)]:[{type:"selection",fixed:"left"},...r]}),m=async()=>{await O()},w=r=>{P([r])},$=()=>{const r=W();P(r)},P=r=>{r&&r.length>0&&u.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(i.onDelete)try{await i.onDelete(r)?(O(),x.success("删除成功")):x.error("删除失败")}catch(f){x.error(f.message)}}})},k=()=>{if(i.onOpenModal){i.onOpenModal();return}p.value=!1,B.value=!0},A=async r=>{if(i.onOpenModal){i.onOpenModal(r);return}i.onGet&&(r=await i.onGet(r[i.idField])),S.value=r,Object.assign(i.item,r),B.value=!1,p.value=!0},F=async()=>{if(i.onSave)try{b.value=!0,(B.value?await i.onSave():await i.onSave(S.value[i.idField]))&&(R(),await O())}catch(r){x.error(r.message)}finally{b.value=!1}},R=()=>{i.onCloseModal&&i.onCloseModal(),ee(i.item),S.value=null,B.value=!1,p.value=!1},W=()=>y.value?C.value.filter(f=>y.value.includes(f.id)).map(f=>e.toRaw(f)):[],j=()=>W()[0],K=()=>e.toRaw(C.value),O=async()=>{if(!g.value){g.value=!0;try{if(i.onLoad){var{data:r,total:f}=await i.onLoad(a.value.page,a.value.pageSize);C.value=r,a.value.itemCount=f}}catch(N){x.error(N.message)}finally{g.value=!1}}},Y=e.computed(()=>{const r=e.unref(c);if(!r)return;const f=r?.$el,N=f.querySelector(".n-data-table-thead "),{bottomIncludeBody:L}=G(N),t=64;let d=2,l=24;const V=f.querySelector(".n-data-table__pagination");if(V){const q=V.offsetHeight;d+=q||0}else d+=28;let M=L-(t+d+l);return console.log("height",M),M}),X=r=>!r||!r.getBoundingClientRect?0:r.getBoundingClientRect(),G=r=>{const f=document.documentElement,N=f.scrollLeft,L=f.scrollTop,t=f.clientLeft,d=f.clientTop,l=window.pageXOffset,V=window.pageYOffset,M=X(r),{left:q,top:J,width:Z,height:Xe}=M,Ge=(l||N)-(t||0),Je=(V||L)-(d||0),Ze=q+l,Qe=J+V,Q=Ze-Ge,U=Qe-Je,ie=window.document.documentElement.clientWidth,de=window.document.documentElement.clientHeight;return{left:Q,top:U,right:ie-Z-Q,bottom:de-Xe-U,rightIncludeBody:ie-Q,bottomIncludeBody:de-U}};return e.onMounted(async()=>await m()),s({getData:K,getSelectedRow:j,getSelectedRows:W,closeModal:R,refreshData:O,resetPage:()=>{a.value.page=1}}),(r,f)=>{const N=n.NTooltip,L=n.NDataTable,t=n.NSpace,d=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(()=>[r.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(N,{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:k},{default:e.withCtx(()=>[e.createVNode(e.unref(E.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[f[3]||(f[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),r.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(N,{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:$},{default:e.withCtx(()=>[e.createVNode(e.unref(E.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[f[4]||(f[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(N,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:m},{default:e.withCtx(()=>[e.createVNode(e.unref(E.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[f[5]||(f[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",he,[r.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",me,[e.renderSlot(r.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(L,{remote:"",ref_key:"$table",ref:c,"checked-row-keys":y.value,"onUpdate:checkedRowKeys":f[0]||(f[0]=l=>y.value=l),"max-height":Y.value,loading:g.value,bordered:!1,"single-line":!1,columns:_.value,data:C.value,pagination:a.value,"row-key":l=>l[r.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),r.$slots.addModal?(e.openBlock(),e.createElementBlock("div",ue,[e.createVNode(d,{title:"新增",preset:"dialog",show:B.value,"onUpdate:show":f[1]||(f[1]=l=>B.value=l),closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${r.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(t,null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:b.value,onClick:F},{default:e.withCtx(()=>f[6]||(f[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:R},{default:e.withCtx(()=>f[7]||(f[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(r.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),r.$slots.editModal?(e.openBlock(),e.createElementBlock("div",ge,[e.createVNode(d,{title:"编辑",show:p.value,"onUpdate:show":f[2]||(f[2]=l=>p.value=l),preset:"dialog",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${r.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(t,null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:b.value,onClick:F},{default:e.withCtx(()=>f[8]||(f[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:R},{default:e.withCtx(()=>f[9]||(f[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(r.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}}),I=o=>{const s=o;return s.install=function(c){c.component(s.__name,o)},o},te=I(_e),we=["Redirect","RedirectSon","login"],z=v.defineStore("p-layout",()=>{const o=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1});return{state:o,initTabs:h=>{h.sort((_,m)=>(m.meta.affix?1:0)-(_.meta.affix?1:0)),o.tabs=h},addTab:h=>we.includes(h.name)?!1:(o.tabs?.some(m=>m.fullPath==h.fullPath)||o.tabs?.push(h),!0),closeCurrentTab:h=>{const _=o.tabs.findIndex(m=>m.fullPath==h.fullPath);o.tabs.splice(_,1)},closeAllTabs:()=>{o.tabs=o.tabs.filter(h=>h?.meta?.affix??!1)},closeOtherTabs:h=>{o.tabs=o.tabs.filter(_=>_.fullPath==h.fullPath||(_?.meta?.affix??!1))},closeLeftTabs:h=>{const _=o.tabs.findIndex(m=>m.fullPath==h.fullPath);o.tabs=o.tabs.filter((m,w)=>w>=_||(m?.meta?.affix??!1))},closeRightTabs:h=>{const _=o.tabs.findIndex(m=>m.fullPath==h.fullPath);o.tabs=o.tabs.filter((m,w)=>w<=_||(m?.meta?.affix??!1))},collapse:()=>{o.collapsed=!o.collapsed},setTitle:h=>{o.title=h},setLogo:h=>{o.logo=h},setUser:(h,_)=>{o.uid=h,o.uname=_},setSettingPages:h=>{o.settingPages=h},setLogout:h=>{o.logout=h}}}),ye={class:"logo"},Ce=e.defineComponent({__name:"PLogo",setup(o){const s=z();return(c,u)=>(e.openBlock(),e.createElementBlock("div",ye,[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]])]))}}),H=(o,s)=>{const c=o.__vccOpts||o;for(const[u,x]of s)c[u]=x;return c},be=H(Ce,[["__scopeId","data-v-c9496d2e"]]),Ne={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],selectCallback:o=>{},initLanguage:o=>{}},oe=v.defineStore("language",()=>{const o=e.ref(Ne),s=p=>{p.forEach(b=>{(b.key==="Chinese"||b.key==="chinese")&&(b.key="chinese_simplified")}),o.value.options=[...p]},c=()=>o.value.options,u=p=>{if(o.value.currentLanguage===p)return;const b=o.value.options.find(a=>a.key===p);b&&(o.value.currentLanguage=b.key,o.value.selectCallback(b))},x=()=>{if(o.value.currentLanguage)return o.value.options.find(p=>p.key===o.value.currentLanguage)},g=p=>{o.value.selectCallback=p},y=()=>o.value.translationApiUrl,C=p=>{o.value.translationApiUrl=p},S=p=>{(p==="Chinese"||p==="chinese")&&(p="chinese_simplified"),o.value.defaultLanguage=p},B=()=>o.value.defaultLanguage?o.value.defaultLanguage:"chinese_simplified";return e.onMounted(()=>{o.value.initLanguage(o.value)}),{state:o,select:u,setLanguages:s,getLanguages:c,getCurrentLanguage:x,setSelectCallback:g,setTranslationApiUrl:C,getTranslationApiUrl:y,setDefaultLanguage:S,getDefaultLanguage:B}}),ke={key:1},ne=e.defineComponent({__name:"PLanguage",setup(o){const{select:s,getLanguages:c,getCurrentLanguage:u,getDefaultLanguage:x,getTranslationApiUrl:g}=oe(),y=S=>s(S),C=()=>{window.translate.selectLanguageTag.show=!1,window.translate.selectLanguageTag.languages=c().map(S=>S.key).join(","),window.translate.ignore.class.push("ignore-translate-flag"),window.translate.ignore.id.push("ignore-translation"),window.translate.language.setLocal(x()),window.translate.request.api.translate="api/v1/translation",window.translate.request.api.connectTest="api/v1/translation/connect-test",window.translate.request.api.init="api/v1/translation/init",window.translate.request.api.language="api/v1/translation/language",window.translate.request.setHost(g()),window.translate.request.listener.start(),window.translate.listener.start(),window.translate.whole.enableAll(),window.translate.execute()};return e.onMounted(async()=>await e.nextTick(()=>C())),(S,B)=>{const p=n.NIcon,b=n.NButton;return e.unref(c)().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:y,options:e.unref(c)()},{default:e.withCtx(()=>[e.createVNode(b,{quaternary:"",type:"info"},{default:e.withCtx(()=>[e.unref(u)()?(e.openBlock(),e.createElementBlock("label",ke,e.toDisplayString(e.unref(u)()?.label),1)):(e.openBlock(),e.createBlock(p,{key:0,size:"18"},{default:e.withCtx(()=>B[0]||(B[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,__:[0]}))]),_:1})]),_:1},8,["options"])):e.createCommentVNode("",!0)}}}),xe={class:"layout-header"},Ve={class:"layout-header-left"},Se={class:"link-text"},Be={key:1,class:"link-text"},Te={class:"layout-header-right"},Pe={class:"layout-header-trigger-min"},Le={class:"layout-header-trigger layout-header-trigger-min"},Ee={class:"layout-header-trigger layout-header-trigger-min"},$e={class:"avatar"},Me=H(e.defineComponent({__name:"PHeader",setup(o){const s=n.useMessage(),c=n.useDialog(),u=z(),x=D.useRouter(),g=D.useRoute(),y=e.inject("reloadPage"),C=_=>x.push({name:_}),S=e.computed(()=>B(g.matched)),B=_=>_.map(m=>{const w={key:m.name,label:m.meta.title,icon:m.meta.icon,meta:m.meta,disabled:m.path==="/",children:void 0};return m.children&&m.children.length>0&&(w.children=B(m.children)),w}),p=e.ref(!1),b=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),p.value=!1):(document.documentElement.requestFullscreen(),p.value=!0)},a=e.computed(()=>{const _=[];return _.push({label:"退出登录",key:"logout"}),u.state.settingPages&&u.state.settingPages.length>0&&u.state.settingPages.forEach(m=>{_.push({label:m.title,key:m.route})}),_}),i=_=>{switch(_){case"logout":h();break;default:x.push({name:_})}},h=()=>{c.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(u.state.logout)try{await u.state.logout(),localStorage.removeItem("TABS-ROUTES"),s.error("退出成功")}catch(_){console.error(_),s.error("退出登录失败")}finally{location.reload()}else s.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(_,m)=>{const w=n.NTooltip,$=n.NDivider,P=n.NAvatar;return e.openBlock(),e.createElementBlock("div",xe,[e.createElementVNode("div",Ve,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:m[0]||(m[0]=(...k)=>e.unref(u).collapse&&e.unref(u).collapse(...k))},[e.unref(u).state.collapsed?(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:m[1]||(m[1]=(...k)=>e.unref(y)&&e.unref(y)(...k))},[e.createVNode(e.unref(n.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(n.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,k=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k.label},[k.label?(e.openBlock(),e.createBlock(e.unref(n.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[k.children&&k.children.length?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,options:k.children,onSelect:C},{default:e.withCtx(()=>[e.createElementVNode("span",Se,[k.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(k.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Be,[k.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(k.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",Te,[e.createElementVNode("div",Pe,[e.createVNode(ne)]),e.createElementVNode("div",Le,[e.createVNode(w,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",onClick:e.withModifiers(b,["stop"])},{default:e.withCtx(()=>[p.value?(e.openBlock(),e.createBlock(e.unref(E.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(E.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[m[2]||(m[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1,__:[2]})]),e.createElementVNode("div",Ee,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:i,options:a.value},{default:e.withCtx(()=>[e.createElementVNode("div",$e,[e.createElementVNode("span",null,e.toDisplayString(e.unref(u).state.uname),1),e.createVNode($,{vertical:""}),e.createVNode(P,{round:"",src:e.unref(u).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-93589779"]]),Oe={class:"mt-1"},De=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(o){return(s,c)=>{const u=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",Oe,[s.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,{key:0},{default:e.withCtx(({Component:x,route:g})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x),{key:g.fullPath}))],1024))]),_:1}))])}}}),ze={class:"tabs-view-main"},Re=["id","onClick","onContextmenu"],Ie={class:"tabs-close"},Ae={class:"tabs-close-btn"},We=H(e.defineComponent({__name:"PTabs",setup(o){e.useCssVars(t=>({"4cb4fdc8":c.value,"21e8bab2":u.value}));const s=n.useThemeVars(),c=e.computed(()=>s.value.cardColor),u=e.computed(()=>s.value.textColor1),x=n.useMessage(),g=D.useRoute(),y=D.useRouter(),C=e.ref(null),S=e.ref(null),B=e.ref(!1),p=z(),b=e.computed(()=>p.state.tabs),a=e.reactive({activeKey:g.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),i=["Login","Redirect","ErrorPage"],h=t=>{const{fullPath:d,hash:l,meta:V,name:M,params:q,path:J,query:Z}=t;return{fullPath:d,hash:l,meta:V,name:M,params:q,path:J,query:Z}},_=e.computed(()=>{const l=p.state.collapsed?"64px":"272px";return{left:l,width:`calc(100% - ${l})`}}),m=e.computed(()=>{const t=b.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(E.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:B.value||t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(E.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(E.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(E.MinusOutlined)})}]}),w=()=>{let t=[];const d=h(g);try{if(p.state.cacheTabs){const l=localStorage.getItem("TABS_ROUTES");t=l?JSON.parse(l):[d]}}catch{t=[d]}finally{return t}},$=t=>{const d=y.getRoutes();t.forEach(l=>{const V=d.find(M=>M.path===l.path);V&&(l.meta=V.meta||l.meta,l.name=V.name||l.name)}),p.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(t))},P=()=>{const t=w();$(t),p.initTabs(t)},k=async t=>{if(await e.nextTick(),!C.value)return;const d=C.value.offsetWidth,l=C.value.scrollWidth;d<l?(a.scrollable=!0,t&&[...C.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach(M=>{M.id===`tag${a.activeKey.split("/").join("/")}`&&M.scrollIntoView&&M.scrollIntoView()})):a.scrollable=!1},A=t=>!(t.draggedContext.element.meta.affix||t.relatedContext.element.meta.affix),F=()=>{let t;t=fe(),t.listenTo(S.value,()=>k(!0))},R=t=>{const{fullPath:d}=t;if(d===g.fullPath||(a.activeKey=d,!t))return;const{replace:l}=y;toString.call(t),l(t).catch(console.error)},W=(t,d)=>{t.preventDefault(),B.value=d.path==="/home",a.showDropdown=!1,e.nextTick().then(()=>{a.showDropdown=!0,a.dropdownX=t.clientX,a.dropdownY=t.clientY})},j=()=>{g.meta.keepAlive&&y.currentRoute.value.matched.find(t=>t.name==g.name)?.components?.default.name},K=t=>{if(b.value.length===1)return x.warning("这已经是最后一页,不能再关闭了!");if(j(),p.closeCurrentTab(t),a.activeKey===t.fullPath){const d=b.value[Math.max(0,b.value.length-1)];a.activeKey=d.fullPath,y.push(d)}k()},O=t=>{const{fullPath:d}=t,l=b.value.find(V=>V.fullPath==d);K(l)},Y=t=>{p.closeOtherTabs(t),a.activeKey=t.fullPath,y.replace(t.fullPath),k()},X=()=>{p.closeAllTabs(),k()},G=e.inject("reloadPage"),r=t=>{switch(t){case"1":G();break;case"2":K(g);break;case"3":Y(g);break;case"4":X();break}k(),a.showDropdown=!1},f=(t,d)=>{const l=C.value.scrollLeft,V=d>0&&l+d>=t||d<0&&l+d<=t?t:l+d;if(C.value&&C.value.scrollTo(V,0),V!==t)return window.requestAnimationFrame(()=>f(t,d))},N=()=>{const t=C.value.offsetWidth,d=C.value.scrollLeft;if(!d)return;const l=d>t?d-t:0;f(l,(l-d)/20)},L=()=>{const t=C.value.offsetWidth,d=C.value.scrollWidth,l=C.value.scrollLeft;if(d-l<=t)return;const V=d-l>t*2?l+t:d-t;f(V,(V-l)/20)};return window.addEventListener("beforeunload",()=>{localStorage.setItem("TABS_ROUTES",JSON.stringify(b.value))}),window.addEventListener("scroll",t=>{let d=t.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;a.isMultiHeaderFixed=d>=64},!0),e.watch(()=>g.fullPath,t=>{i.includes(g.name)||(a.activeKey=t,p.addTab(h(g)),k(!0))},{immediate:!0}),P(),e.onMounted(()=>F()),(t,d)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(_.value)},[e.createElementVNode("div",ze,[e.createElementVNode("div",{ref_key:"navWrap",ref:S,class:e.normalizeClass(["tabs-card",{"tabs-card-scrollable":a.scrollable}])},[e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-prev",{"tabs-card-prev-hide":!a.scrollable}]),onClick:N},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.LeftOutlined))]),_:1})],2),e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-next",{"tabs-card-next-hide":!a.scrollable}]),onClick:L},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.RightOutlined))]),_:1})],2),e.createElementVNode("div",{ref_key:"navScroll",ref:C,class:"tabs-card-scroll"},[e.createVNode(e.unref(pe),{list:b.value,animation:"300","item-key":"fullPath",class:"flex",move:A},{item:e.withCtx(({element:l})=>[e.createElementVNode("div",{id:`tag${l.fullPath.split("/").join("/")}`,class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":a.activeKey===l.fullPath}]),onClick:e.withModifiers(V=>R(l),["stop"]),onContextmenu:V=>W(V,l)},[e.createElementVNode("span",null,e.toDisplayString(l.meta.title),1),l.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"14",onClick:e.withModifiers(V=>O(l),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(E.CloseOutlined))]),_:2},1032,["onClick"]))],42,Re)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",Ie,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:r,placement:"bottom-end",options:m.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ae,[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.DownOutlined))]),_:1})])]),_:1},8,["options"])]),e.createVNode(e.unref(n.NDropdown),{show:a.showDropdown,x:a.dropdownX,y:a.dropdownY,onClickoutside:d[0]||(d[0]=l=>a.showDropdown=!1),placement:"bottom-start",onSelect:r,options:m.value},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-f0706f46"]]),qe=e.defineComponent({__name:"PMenus",setup(o){const s=D.useRoute(),c=D.useRouter(),u=z(),x=e.ref(s.name),g=e.ref(s.matched&&s.matched.length?s.matched.map(a=>a.name):[]),y=e.ref([]),C=a=>{/http(s)?:/.test(a)?window.open(a):c.push({name:a})},S=a=>{if(!a)return;const i=a.find(h=>g.value.indexOf(h)===-1);g.value=i?[i]:[]},B=()=>{const a=s.matched;g.value=a.map(h=>h.name);const i=s.meta?.activeMenu||"";x.value=i||s.name},p=(a,i=[],h=!1)=>{const _=[],m=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!a||a.length===0)return _;a=a.sort((w,$)=>{let P=($.children?.length?1:0)-(w.children?.length?1:0);return P===0&&(P=(w.meta?.sort??0)-($.meta?.sort??0)),P});for(const w of a){if(h||(w.meta?.hidden||!1)==!0||m.includes(w.path)){i.push(w.name),w.children&&w.children.length>0&&p(w.children,i,!0);continue}const $=w.meta?.alwaysShow!=!0&&w?.children?.filter(A=>!A?.meta?.hidden)?.length===1,P=$?w.children[0]:w,k={key:P.name,label:P.meta?.title,affix:P.meta?.affix,sort:P.meta?.sort,path:P.path,redirect:P.redirect,icon:$?w.meta?.icon:P.meta?.icon,permissions:P.meta?.permissions,meta:P.meta,children:void 0};if(!i.includes(w.name)){if(_.push(k),i.push(w.name),$){p(w.children,i,h);continue}w.children&&w.children.length>0&&(k.children=p(w.children,i,h))}}return _},b=()=>{const a=c.getRoutes();y.value=p(a)};return e.watch(()=>s.fullPath,()=>{B()}),e.onMounted(()=>{b(),B()}),(a,i)=>(e.openBlock(),e.createBlock(e.unref(n.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:y.value,collapsed:e.unref(u).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":g.value,value:x.value,"onUpdate:value":C,"onUpdate:expandedKeys":S},null,8,["options","collapsed","expanded-keys","value"]))}}),He={class:"layout-content-main layout-content-main-fix"},Fe={class:"main-view main-view-fix"},ae=I(H(e.defineComponent({__name:"PLayout",setup(o){const s=z(),c=e.ref(!1),u=()=>{c.value=!0,e.nextTick(()=>c.value=!1)};return e.provide("reloadPage",u),(x,g)=>{const y=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(be),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(Me)]),_:1}),e.createVNode(e.unref(n.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",He,[e.createVNode(We),e.createElementVNode("div",Fe,[e.createVNode(De,{loading:c.value},null,8,["loading"])])])]),_:1}),e.createVNode(y,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-87dcb433"]])),le=I(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(o){return(s,c)=>{const u=n.NConfigProvider;return e.openBlock(),e.createBlock(u,{locale:e.unref(n.zhCN),theme:s.theme,"theme-overrides":s.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"])}}})),Ke={class:"w-full cursor-move",id:"basic-modal-bar"},se=I(e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保 存"},closable:{type:Boolean,default:!1},preset:{default:"dialog"},title:{default:"操作"},width:{default:800},onSave:{},onClose:{}},setup(o,{expose:s}){const c=n.useMessage(),u=o,x=e.ref(null),g=e.ref(!1),y=e.ref(!1),C=async()=>{g.value=!0;try{u.onSave&&await u.onSave()&&S()}catch(a){c.error(a.message)}finally{g.value=!1}},S=()=>{y.value=!1,g.value=!1},B=async()=>{try{u.onClose?await u.onClose()&&S():S()}catch(a){c.error(a.message)}};return s({open:()=>{g.value=!1,y.value=!0},close:()=>{y.value=!1,g.value=!1}}),(a,i)=>{const h=n.NButton,_=n.NSpace;return e.openBlock(),e.createBlock(e.unref(n.NModal),e.mergeProps({ref_key:"$modal",ref:x,preset:"dialog",show:y.value,"onUpdate:show":i[0]||(i[0]=m=>y.value=m)},a.$attrs,{draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,style:{width:`${u.width}px`},onClose:S}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",Ke,e.toDisplayString(a.title),1)]),default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:2},[a.$slots.action?{name:"action",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"action")]),key:"1"}:{name:"action",fn:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(h,{type:"primary",loading:g.value,onClick:C},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.saveBtnText),1)]),_:1},8,["loading"]),e.createVNode(h,{onClick:B},{default:e.withCtx(()=>i[1]||(i[1]=[e.createTextVNode("取 消",-1)])),_:1,__:[1]})]),_:1})]),key:"0"}]),1040,["show","style"])}}})),re=I(ne),je=Object.freeze(Object.defineProperty({__proto__:null,PApplication:le,PLanguage:re,PLayout:ae,PModal:se,PTable:te},Symbol.toStringTag,{value:"Module"})),ce=(o,s)=>(Object.values(je).forEach(c=>{c.install&&o.use(c)}),s?.(),o),Ye={install:ce};T.PApplication=le,T.PLanguage=re,T.PLayout=ae,T.PModal=se,T.PTable=te,T.default=Ye,T.install=ce,T.usePLanguageStore=oe,T.usePLayoutStore=z,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(B,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","pinia","vue-router","element-resize-detector","vuedraggable"],n):(B=typeof globalThis<"u"?globalThis:B||self,n(B.naiveplus={},B.naiveUi,B.Vue,B.antd,B.pinia,B.vueRouter,B.elementResizeDetectorMaker,B.Draggable))})(this,function(B,n,e,L,v,O,fe,pe){"use strict";const ee=o=>{Object.keys(o).forEach(c=>{const u=o[c];Array.isArray(u)?o[c]=[]:u!==null&&typeof u=="object"?ee(u):o[c]=void 0})},he={id:"data-content"},ue={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},me={key:1},ge={key:2},we=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:c}){const u=e.ref(null),g=n.useDialog(),k=n.useMessage(),_=e.ref(!1),V=e.ref([]),b=e.ref([]),T=e.ref(null),S=e.ref(!1),f=e.ref(!1),m=e.ref(!1),a=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async l=>{a.value.page=l,await $()},onUpdatePageSize:async l=>{a.value.pageSize=l,await $()}}),i=o,p=l=>{const d=N=>{const t=[];return l&&l.forEach(s=>{s.key!=="edit"&&s.key!=="delete"&&t.push({label:s.name,key:s.key,props:{onClick:()=>s.action(N)}})}),t};return{title:"操作",key:"actions",width:100,fixed:"right",render:N=>{let t=[];if(i.hiddenEdit||t.push({label:"编辑",key:"edit",props:{onClick:()=>I(N)}}),i.hiddenDelete||t.push({label:"删除",key:"delete",props:{onClick:()=>y(N)}}),t=[...t,...d(N)],!(t.length<=0))return e.h(n.NDropdown,{options:t,placement:"bottom-start"},{default:()=>e.h(n.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(n.NIcon,()=>e.h(L.MoreOutlined))]})})}}},w=e.computed(()=>{const l=i.columns.filter(N=>N.key!="action").map(N=>({title:N.title,key:N.key,width:N.width,fixed:N.fixed??!1,render:N.render,ellipsis:N.ellipsis?{tooltip:!0}:!1})),d=i.columns.reduce((N,t)=>t.key==="action"?t:N,void 0)?.action;return d&&d?.length>0||!i.hiddenDelete||!i.hiddenEdit?[{type:"selection",fixed:"left"},...l,p(d)]:[{type:"selection",fixed:"left"},...l]}),h=async()=>{await $()},y=l=>{P([l])},M=()=>{const l=A();P(l)},P=l=>{l&&l.length>0&&g.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(i.onDelete)try{await i.onDelete(l)?($(),k.success("删除成功")):k.error("删除失败")}catch(d){k.error(d.message)}}})},x=()=>{T.value=null,F()},I=async l=>{T.value=l,F(l,async()=>{i.onGet&&(l=await i.onGet(l[i.idField])),Object.assign(i.item,l)})},H=async()=>{if(i.onSave)try{m.value=!0,(S.value?await i.onSave(void 0,e.toRaw(i.item)):await i.onSave(T.value[i.idField],e.toRaw(i.item)))&&(R(),await $())}catch(l){k.error(l.message)}finally{m.value=!1}},F=async(l,d)=>{if(ee(i.item),i.onOpenModal){i.onOpenModal(l);return}await d?.(),l?(S.value=!1,f.value=!0):(f.value=!1,S.value=!0)},R=()=>{if(T.value=null,i.onCloseModal){i.onCloseModal();return}S.value=!1,f.value=!1},A=()=>V.value?b.value.filter(d=>V.value.includes(d.id)).map(d=>e.toRaw(d)):[],j=()=>A()[0],X=()=>e.toRaw(b.value),$=async()=>{if(!_.value){_.value=!0;try{if(i.onLoad){var{data:l,total:d}=await i.onLoad(a.value.page,a.value.pageSize);b.value=l,a.value.itemCount=d}}catch(N){k.error(N.message)}finally{_.value=!1}}},G=e.computed(()=>{const l=e.unref(u);if(!l)return;const d=l?.$el,N=d.querySelector(".n-data-table-thead "),{bottomIncludeBody:t}=K(N),s=64;let r=2,C=24;const E=d.querySelector(".n-data-table__pagination");if(E){const W=E.offsetHeight;r+=W||0}else r+=28;return t-(s+r+C)}),J=l=>!l||!l.getBoundingClientRect?0:l.getBoundingClientRect(),K=l=>{const d=document.documentElement,N=d.scrollLeft,t=d.scrollTop,s=d.clientLeft,r=d.clientTop,C=window.pageXOffset,E=window.pageYOffset,Y=J(l),{left:W,top:Z,width:Xe,height:Ge}=Y,Je=(C||N)-(s||0),Ze=(E||t)-(r||0),Qe=W+C,Ue=Z+E,Q=Qe-Je,U=Ue-Ze,ie=window.document.documentElement.clientWidth,de=window.document.documentElement.clientHeight;return{left:Q,top:U,right:ie-Xe-Q,bottom:de-Ge-U,rightIncludeBody:ie-Q,bottomIncludeBody:de-U}};return e.onMounted(async()=>await h()),c({getData:X,getSelectedRow:j,getSelectedRows:A,closeModal:R,refreshData:$,resetPage:()=>{a.value.page=1}}),(l,d)=>{const N=n.NTooltip,t=n.NDataTable,s=n.NSpace,r=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(()=>[l.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(N,{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:x},{default:e.withCtx(()=>[e.createVNode(e.unref(L.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[d[3]||(d[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),l.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(N,{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:M},{default:e.withCtx(()=>[e.createVNode(e.unref(L.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[d[4]||(d[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(N,{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(L.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[d[5]||(d[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",he,[l.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",ue,[e.renderSlot(l.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(t,{remote:"",ref_key:"$table",ref:u,"checked-row-keys":V.value,"onUpdate:checkedRowKeys":d[0]||(d[0]=C=>V.value=C),"max-height":G.value,loading:_.value,bordered:!1,"single-line":!1,columns:w.value,data:b.value,pagination:a.value,"row-key":C=>C[l.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),l.$slots.addModal?(e.openBlock(),e.createElementBlock("div",me,[e.createVNode(r,{title:"新增",preset:"dialog",show:S.value,"onUpdate:show":d[1]||(d[1]=C=>S.value=C),closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${l.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:m.value,onClick:H},{default:e.withCtx(()=>d[6]||(d[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:R},{default:e.withCtx(()=>d[7]||(d[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(l.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),l.$slots.editModal?(e.openBlock(),e.createElementBlock("div",ge,[e.createVNode(r,{title:"编辑",show:f.value,"onUpdate:show":d[2]||(d[2]=C=>f.value=C),preset:"dialog",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${l.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:m.value,onClick:H},{default:e.withCtx(()=>d[8]||(d[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:R},{default:e.withCtx(()=>d[9]||(d[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(l.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}}),z=o=>{const c=o;return c.install=function(u){u.component(c.__name,o)},o},te=z(we),_e=["Redirect","RedirectSon","login"],D=v.defineStore("p-layout",()=>{const o=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1});return{state:o,initTabs:p=>{p.sort((w,h)=>(h.meta.affix?1:0)-(w.meta.affix?1:0)),o.tabs=p},addTab:p=>_e.includes(p.name)?!1:(o.tabs?.some(h=>h.fullPath==p.fullPath)||o.tabs?.push(p),!0),closeCurrentTab:p=>{const w=o.tabs.findIndex(h=>h.fullPath==p.fullPath);o.tabs.splice(w,1)},closeAllTabs:()=>{o.tabs=o.tabs.filter(p=>p?.meta?.affix??!1)},closeOtherTabs:p=>{o.tabs=o.tabs.filter(w=>w.fullPath==p.fullPath||(w?.meta?.affix??!1))},closeLeftTabs:p=>{const w=o.tabs.findIndex(h=>h.fullPath==p.fullPath);o.tabs=o.tabs.filter((h,y)=>y>=w||(h?.meta?.affix??!1))},closeRightTabs:p=>{const w=o.tabs.findIndex(h=>h.fullPath==p.fullPath);o.tabs=o.tabs.filter((h,y)=>y<=w||(h?.meta?.affix??!1))},collapse:()=>{o.collapsed=!o.collapsed},setTitle:p=>{o.title=p},setLogo:p=>{o.logo=p},setUser:(p,w)=>{o.uid=p,o.uname=w},setSettingPages:p=>{o.settingPages=p},setLogout:p=>{o.logout=p}}}),ye={class:"logo"},be=e.defineComponent({__name:"PLogo",setup(o){const c=D();return(u,g)=>(e.openBlock(),e.createElementBlock("div",ye,[e.createVNode(e.unref(n.NAvatar),{color:"var(--color-logo)",size:32,src:e.unref(c).state.logo,class:e.normalizeClass({"mr-2":!e.unref(c).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(c).state.title),513),[[e.vShow,!e.unref(c).state.collapsed]])]))}}),q=(o,c)=>{const u=o.__vccOpts||o;for(const[g,k]of c)u[g]=k;return u},Ce=q(be,[["__scopeId","data-v-c9496d2e"]]),ke={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],selectCallback:o=>{},initLanguage:o=>{}},oe=v.defineStore("language",()=>{const o=e.ref(ke),c=f=>{f.forEach(m=>{(m.key==="Chinese"||m.key==="chinese")&&(m.key="chinese_simplified")}),o.value.options=[...f]},u=()=>o.value.options,g=f=>{if(o.value.currentLanguage===f)return;const m=o.value.options.find(a=>a.key===f);m&&(o.value.currentLanguage=m.key,o.value.selectCallback(m))},k=()=>{if(o.value.currentLanguage)return o.value.options.find(f=>f.key===o.value.currentLanguage)},_=f=>{o.value.selectCallback=f},V=()=>o.value.translationApiUrl,b=f=>{o.value.translationApiUrl=f},T=f=>{(f==="Chinese"||f==="chinese")&&(f="chinese_simplified"),o.value.defaultLanguage=f},S=()=>o.value.defaultLanguage?o.value.defaultLanguage:"chinese_simplified";return e.onMounted(()=>{o.value.initLanguage(o.value)}),{state:o,select:g,setLanguages:c,getLanguages:u,getCurrentLanguage:k,setSelectCallback:_,setTranslationApiUrl:b,getTranslationApiUrl:V,setDefaultLanguage:T,getDefaultLanguage:S}}),Ne={key:1},ne=e.defineComponent({__name:"PLanguage",setup(o){const{select:c,getLanguages:u,getCurrentLanguage:g,getDefaultLanguage:k,getTranslationApiUrl:_}=oe(),V=T=>c(T),b=()=>{window.translate.selectLanguageTag.show=!1,window.translate.selectLanguageTag.languages=u().map(T=>T.key).join(","),window.translate.ignore.class.push("ignore-translate-flag"),window.translate.ignore.id.push("ignore-translation"),window.translate.language.setLocal(k()),window.translate.request.api.translate="api/v1/translation",window.translate.request.api.connectTest="api/v1/translation/connect-test",window.translate.request.api.init="api/v1/translation/init",window.translate.request.api.language="api/v1/translation/language",window.translate.request.setHost(_()),window.translate.request.listener.start(),window.translate.listener.start(),window.translate.whole.enableAll(),window.translate.execute()};return e.onMounted(async()=>await e.nextTick(()=>b())),(T,S)=>{const f=n.NIcon,m=n.NButton;return e.unref(u)().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:V,options:e.unref(u)()},{default:e.withCtx(()=>[e.createVNode(m,{quaternary:"",type:"info"},{default:e.withCtx(()=>[e.unref(g)()?(e.openBlock(),e.createElementBlock("label",Ne,e.toDisplayString(e.unref(g)()?.label),1)):(e.openBlock(),e.createBlock(f,{key:0,size:"18"},{default:e.withCtx(()=>S[0]||(S[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,__:[0]}))]),_:1})]),_:1},8,["options"])):e.createCommentVNode("",!0)}}}),xe={class:"layout-header"},Ve={class:"layout-header-left"},Se={class:"link-text"},Be={key:1,class:"link-text"},Te={class:"layout-header-right"},Pe={class:"layout-header-trigger-min"},Le={class:"layout-header-trigger layout-header-trigger-min"},Ee={class:"layout-header-trigger layout-header-trigger-min"},Me={class:"avatar"},$e=q(e.defineComponent({__name:"PHeader",setup(o){const c=n.useMessage(),u=n.useDialog(),g=D(),k=O.useRouter(),_=O.useRoute(),V=e.inject("reloadPage"),b=w=>k.push({name:w}),T=e.computed(()=>S(_.matched)),S=w=>w.map(h=>{const y={key:h.name,label:h.meta.title,icon:h.meta.icon,meta:h.meta,disabled:h.path==="/",children:void 0};return h.children&&h.children.length>0&&(y.children=S(h.children)),y}),f=e.ref(!1),m=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),f.value=!1):(document.documentElement.requestFullscreen(),f.value=!0)},a=e.computed(()=>{const w=[];return w.push({label:"退出登录",key:"logout"}),g.state.settingPages&&g.state.settingPages.length>0&&g.state.settingPages.forEach(h=>{w.push({label:h.title,key:h.route})}),w}),i=w=>{switch(w){case"logout":p();break;default:k.push({name:w})}},p=()=>{u.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(g.state.logout)try{await g.state.logout(),localStorage.removeItem("TABS-ROUTES"),c.error("退出成功")}catch(w){console.error(w),c.error("退出登录失败")}finally{location.reload()}else c.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(w,h)=>{const y=n.NTooltip,M=n.NDivider,P=n.NAvatar;return e.openBlock(),e.createElementBlock("div",xe,[e.createElementVNode("div",Ve,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:h[0]||(h[0]=(...x)=>e.unref(g).collapse&&e.unref(g).collapse(...x))},[e.unref(g).state.collapsed?(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:h[1]||(h[1]=(...x)=>e.unref(V)&&e.unref(V)(...x))},[e.createVNode(e.unref(n.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(n.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.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:b},{default:e.withCtx(()=>[e.createElementVNode("span",Se,[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",Be,[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",Te,[e.createElementVNode("div",Pe,[e.createVNode(ne)]),e.createElementVNode("div",Le,[e.createVNode(y,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",onClick:e.withModifiers(m,["stop"])},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(e.unref(L.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(L.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[h[2]||(h[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1,__:[2]})]),e.createElementVNode("div",Ee,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:i,options:a.value},{default:e.withCtx(()=>[e.createElementVNode("div",Me,[e.createElementVNode("span",null,e.toDisplayString(e.unref(g).state.uname),1),e.createVNode(M,{vertical:""}),e.createVNode(P,{round:"",src:e.unref(g).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-93589779"]]),Oe={class:"mt-1"},De=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(o){return(c,u)=>{const g=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",Oe,[c.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(g,{key:0},{default:e.withCtx(({Component:k,route:_})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k),{key:_.fullPath}))],1024))]),_:1}))])}}}),Re={class:"tabs-view-main"},ze=["id","onClick","onContextmenu"],Ie={class:"tabs-close"},Ae={class:"tabs-close-btn"},We=q(e.defineComponent({__name:"PTabs",setup(o){e.useCssVars(t=>({"4cb4fdc8":u.value,"21e8bab2":g.value}));const c=n.useThemeVars(),u=e.computed(()=>c.value.cardColor),g=e.computed(()=>c.value.textColor1),k=n.useMessage(),_=O.useRoute(),V=O.useRouter(),b=e.ref(null),T=e.ref(null),S=e.ref(!1),f=D(),m=e.computed(()=>f.state.tabs),a=e.reactive({activeKey:_.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),i=["Login","Redirect","ErrorPage"],p=t=>{const{fullPath:s,hash:r,meta:C,name:E,params:Y,path:W,query:Z}=t;return{fullPath:s,hash:r,meta:C,name:E,params:Y,path:W,query:Z}},w=e.computed(()=>{const r=f.state.collapsed?"64px":"272px";return{left:r,width:`calc(100% - ${r})`}}),h=e.computed(()=>{const t=m.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(L.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:S.value||t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(L.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(L.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(L.MinusOutlined)})}]}),y=()=>{let t=[];const s=p(_);try{if(f.state.cacheTabs){const r=localStorage.getItem("TABS_ROUTES");t=r?JSON.parse(r):[s]}}catch{t=[s]}finally{return t}},M=t=>{const s=V.getRoutes();t.forEach(r=>{const C=s.find(E=>E.path===r.path);C&&(r.meta=C.meta||r.meta,r.name=C.name||r.name)}),f.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(t))},P=()=>{const t=y();M(t),f.initTabs(t)},x=async t=>{if(await e.nextTick(),!b.value)return;const s=b.value.offsetWidth,r=b.value.scrollWidth;s<r?(a.scrollable=!0,t&&[...b.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach(E=>{E.id===`tag${a.activeKey.split("/").join("/")}`&&E.scrollIntoView&&E.scrollIntoView()})):a.scrollable=!1},I=t=>!(t.draggedContext.element.meta.affix||t.relatedContext.element.meta.affix),H=()=>{let t;t=fe(),t.listenTo(T.value,()=>x(!0))},F=t=>{const{fullPath:s}=t;if(s===_.fullPath||(a.activeKey=s,!t))return;const{replace:r}=V;toString.call(t),r(t).catch(console.error)},R=(t,s)=>{t.preventDefault(),S.value=s.path==="/home",a.showDropdown=!1,e.nextTick().then(()=>{a.showDropdown=!0,a.dropdownX=t.clientX,a.dropdownY=t.clientY})},A=()=>{_.meta.keepAlive&&V.currentRoute.value.matched.find(t=>t.name==_.name)?.components?.default.name},j=t=>{if(m.value.length===1)return k.warning("这已经是最后一页,不能再关闭了!");if(A(),f.closeCurrentTab(t),a.activeKey===t.fullPath){const s=m.value[Math.max(0,m.value.length-1)];a.activeKey=s.fullPath,V.push(s)}x()},X=t=>{const{fullPath:s}=t,r=m.value.find(C=>C.fullPath==s);j(r)},$=t=>{f.closeOtherTabs(t),a.activeKey=t.fullPath,V.replace(t.fullPath),x()},G=()=>{f.closeAllTabs(),x()},J=e.inject("reloadPage"),K=t=>{switch(t){case"1":J();break;case"2":j(_);break;case"3":$(_);break;case"4":G();break}x(),a.showDropdown=!1},l=(t,s)=>{const r=b.value.scrollLeft,C=s>0&&r+s>=t||s<0&&r+s<=t?t:r+s;if(b.value&&b.value.scrollTo(C,0),C!==t)return window.requestAnimationFrame(()=>l(t,s))},d=()=>{const t=b.value.offsetWidth,s=b.value.scrollLeft;if(!s)return;const r=s>t?s-t:0;l(r,(r-s)/20)},N=()=>{const t=b.value.offsetWidth,s=b.value.scrollWidth,r=b.value.scrollLeft;if(s-r<=t)return;const C=s-r>t*2?r+t:s-t;l(C,(C-r)/20)};return window.addEventListener("beforeunload",()=>{localStorage.setItem("TABS_ROUTES",JSON.stringify(m.value))}),window.addEventListener("scroll",t=>{let s=t.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;a.isMultiHeaderFixed=s>=64},!0),e.watch(()=>_.fullPath,t=>{i.includes(_.name)||(a.activeKey=t,f.addTab(p(_)),x(!0))},{immediate:!0}),P(),e.onMounted(()=>H()),(t,s)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(w.value)},[e.createElementVNode("div",Re,[e.createElementVNode("div",{ref_key:"navWrap",ref:T,class:e.normalizeClass(["tabs-card",{"tabs-card-scrollable":a.scrollable}])},[e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-prev",{"tabs-card-prev-hide":!a.scrollable}]),onClick:d},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.LeftOutlined))]),_:1})],2),e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-next",{"tabs-card-next-hide":!a.scrollable}]),onClick:N},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.RightOutlined))]),_:1})],2),e.createElementVNode("div",{ref_key:"navScroll",ref:b,class:"tabs-card-scroll"},[e.createVNode(e.unref(pe),{list:m.value,animation:"300","item-key":"fullPath",class:"flex",move:I},{item:e.withCtx(({element:r})=>[e.createElementVNode("div",{id:`tag${r.fullPath.split("/").join("/")}`,class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":a.activeKey===r.fullPath}]),onClick:e.withModifiers(C=>F(r),["stop"]),onContextmenu:C=>R(C,r)},[e.createElementVNode("span",null,e.toDisplayString(r.meta.title),1),r.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"14",onClick:e.withModifiers(C=>X(r),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(L.CloseOutlined))]),_:2},1032,["onClick"]))],42,ze)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",Ie,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:K,placement:"bottom-end",options:h.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ae,[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.DownOutlined))]),_:1})])]),_:1},8,["options"])]),e.createVNode(e.unref(n.NDropdown),{show:a.showDropdown,x:a.dropdownX,y:a.dropdownY,onClickoutside:s[0]||(s[0]=r=>a.showDropdown=!1),placement:"bottom-start",onSelect:K,options:h.value},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-f0706f46"]]),qe=e.defineComponent({__name:"PMenus",setup(o){const c=O.useRoute(),u=O.useRouter(),g=D(),k=e.ref(c.name),_=e.ref(c.matched&&c.matched.length?c.matched.map(a=>a.name):[]),V=e.ref([]),b=a=>{/http(s)?:/.test(a)?window.open(a):u.push({name:a})},T=a=>{if(!a)return;const i=a.find(p=>_.value.indexOf(p)===-1);_.value=i?[i]:[]},S=()=>{const a=c.matched;_.value=a.map(p=>p.name);const i=c.meta?.activeMenu||"";k.value=i||c.name},f=(a,i=[],p=!1)=>{const w=[],h=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!a||a.length===0)return w;a=a.sort((y,M)=>{let P=(M.children?.length?1:0)-(y.children?.length?1:0);return P===0&&(P=(y.meta?.sort??0)-(M.meta?.sort??0)),P});for(const y of a){if(p||(y.meta?.hidden||!1)==!0||h.includes(y.path)){i.push(y.name),y.children&&y.children.length>0&&f(y.children,i,!0);continue}const M=y.meta?.alwaysShow!=!0&&y?.children?.filter(I=>!I?.meta?.hidden)?.length===1,P=M?y.children[0]:y,x={key:P.name,label:P.meta?.title,affix:P.meta?.affix,sort:P.meta?.sort,path:P.path,redirect:P.redirect,icon:M?y.meta?.icon:P.meta?.icon,permissions:P.meta?.permissions,meta:P.meta,children:void 0};if(!i.includes(y.name)){if(w.push(x),i.push(y.name),M){f(y.children,i,p);continue}y.children&&y.children.length>0&&(x.children=f(y.children,i,p))}}return w},m=()=>{const a=u.getRoutes();V.value=f(a)};return e.watch(()=>c.fullPath,()=>{S()}),e.onMounted(()=>{m(),S()}),(a,i)=>(e.openBlock(),e.createBlock(e.unref(n.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:V.value,collapsed:e.unref(g).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":_.value,value:k.value,"onUpdate:value":b,"onUpdate:expandedKeys":T},null,8,["options","collapsed","expanded-keys","value"]))}}),He={class:"layout-content-main layout-content-main-fix"},Fe={class:"main-view main-view-fix"},ae=z(q(e.defineComponent({__name:"PLayout",setup(o){const c=D(),u=e.ref(!1),g=()=>{u.value=!0,e.nextTick(()=>u.value=!1)};return e.provide("reloadPage",g),(k,_)=>{const V=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(c).state.collapsed,"native-scrollbar":!1,"collapsed-width":64,onCollapse:e.unref(c).collapse,onExpand:e.unref(c).collapse},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NFlex),{vertical:""},{default:e.withCtx(()=>[e.createVNode(Ce),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($e)]),_:1}),e.createVNode(e.unref(n.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",He,[e.createVNode(We),e.createElementVNode("div",Fe,[e.createVNode(De,{loading:u.value},null,8,["loading"])])])]),_:1}),e.createVNode(V,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-87dcb433"]])),le=z(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(o){return(c,u)=>{const g=n.NConfigProvider;return e.openBlock(),e.createBlock(g,{locale:e.unref(n.zhCN),theme:c.theme,"theme-overrides":c.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(c.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["locale","theme","theme-overrides","date-locale"])}}})),je={class:"w-full cursor-move",id:"basic-modal-bar"},se=z(e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保 存"},closable:{type:Boolean,default:!1},preset:{default:"dialog"},title:{default:"操作"},width:{default:800},onSave:{},onClose:{}},setup(o,{expose:c}){const u=n.useMessage(),g=o,k=e.ref(!1),_=e.ref(!1),V=async()=>{k.value=!0;try{g.onSave&&await g.onSave()&&b()}catch(m){u.error(m.message)}finally{k.value=!1}},b=()=>{_.value=!1,k.value=!1},T=async()=>{try{g.onClose?await g.onClose()&&b():b()}catch(m){u.error(m.message)}};return c({open:()=>{k.value=!1,_.value=!0},close:()=>{_.value=!1,k.value=!1}}),(m,a)=>{const i=n.NButton,p=n.NSpace;return e.openBlock(),e.createBlock(e.unref(n.NModal),e.mergeProps({ref:"$modal",preset:"dialog",show:_.value,"onUpdate:show":a[0]||(a[0]=w=>_.value=w)},m.$attrs,{draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,style:{width:`${g.width}px`},onClose:b}),{header:e.withCtx(()=>[e.createElementVNode("div",je,e.toDisplayString(m.title),1)]),default:e.withCtx(()=>[e.renderSlot(m.$slots,"default")]),action:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(i,{type:"primary",loading:k.value,onClick:V},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(m.$slots,"action-extra"),e.createVNode(i,{onClick:T},{default:e.withCtx(()=>a[1]||(a[1]=[e.createTextVNode("取 消",-1)])),_:1,__:[1]})]),_:3})]),_:3},16,["show","style"])}}})),re=z(ne),Ke=Object.freeze(Object.defineProperty({__proto__:null,PApplication:le,PLanguage:re,PLayout:ae,PModal:se,PTable:te},Symbol.toStringTag,{value:"Module"})),ce=(o,c)=>(Object.values(Ke).forEach(u=>{u.install&&o.use(u)}),c?.(),o),Ye={install:ce};B.PApplication=le,B.PLanguage=re,B.PLayout=ae,B.PModal=se,B.PTable=te,B.default=Ye,B.install=ce,B.usePLanguageStore=oe,B.usePLayoutStore=D,Object.defineProperties(B,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -3,7 +3,7 @@ declare function __VLS_template(): {
3
3
  attrs: Partial<{}>;
4
4
  slots: {
5
5
  default?(_: {}): any;
6
- action?(_: {}): any;
6
+ 'action-extra'?(_: {}): any;
7
7
  };
8
8
  refs: {
9
9
  $modal: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
@@ -1,9 +1,9 @@
1
- import { useMessage as b, NModal as h, NSpace as k, NButton as S } from "naive-ui";
2
- import { defineComponent as $, ref as r, createBlock as B, openBlock as N, unref as M, mergeProps as T, createSlots as V, withCtx as o, renderSlot as i, createElementVNode as x, toDisplayString as u, createVNode as c, createTextVNode as p } from "vue";
3
- const P = {
1
+ import { useMessage as C, NModal as b, NSpace as h, NButton as S } from "naive-ui";
2
+ import { defineComponent as B, ref as f, createBlock as N, openBlock as $, unref as k, mergeProps as x, withCtx as a, createVNode as r, renderSlot as u, createTextVNode as i, toDisplayString as p, createElementVNode as M } from "vue";
3
+ const T = {
4
4
  class: "w-full cursor-move",
5
5
  id: "basic-modal-bar"
6
- }, j = /* @__PURE__ */ $({
6
+ }, L = /* @__PURE__ */ B({
7
7
  __name: "PModal",
8
8
  props: {
9
9
  saveBtnText: { default: "保 存" },
@@ -14,94 +14,83 @@ const P = {
14
14
  onSave: {},
15
15
  onClose: {}
16
16
  },
17
- setup(m, { expose: v }) {
18
- const f = b(), s = m, y = r(null), a = r(!1), l = r(!1), g = async () => {
19
- a.value = !0;
17
+ setup(v, { expose: m }) {
18
+ const c = C(), s = v, o = f(!1), t = f(!1), g = async () => {
19
+ o.value = !0;
20
20
  try {
21
- s.onSave && await s.onSave() && t();
21
+ s.onSave && await s.onSave() && l();
22
22
  } catch (e) {
23
- f.error(e.message);
23
+ c.error(e.message);
24
24
  } finally {
25
- a.value = !1;
25
+ o.value = !1;
26
26
  }
27
- }, t = () => {
28
- l.value = !1, a.value = !1;
29
- }, _ = async () => {
27
+ }, l = () => {
28
+ t.value = !1, o.value = !1;
29
+ }, y = async () => {
30
30
  try {
31
- s.onClose ? await s.onClose() && t() : t();
31
+ s.onClose ? await s.onClose() && l() : l();
32
32
  } catch (e) {
33
- f.error(e.message);
33
+ c.error(e.message);
34
34
  }
35
35
  };
36
- return v({
36
+ return m({
37
37
  open: () => {
38
- a.value = !1, l.value = !0;
38
+ o.value = !1, t.value = !0;
39
39
  },
40
40
  close: () => {
41
- l.value = !1, a.value = !1;
41
+ t.value = !1, o.value = !1;
42
42
  }
43
43
  }), (e, n) => {
44
- const d = S, w = k;
45
- return N(), B(M(h), T({
46
- ref_key: "$modal",
47
- ref: y,
44
+ const d = S, _ = h;
45
+ return $(), N(k(b), x({
46
+ ref: "$modal",
48
47
  preset: "dialog",
49
- show: l.value,
50
- "onUpdate:show": n[0] || (n[0] = (C) => l.value = C)
48
+ show: t.value,
49
+ "onUpdate:show": n[0] || (n[0] = (w) => t.value = w)
51
50
  }, e.$attrs, {
52
51
  draggable: !0,
53
52
  closable: !1,
54
53
  "close-on-esc": !1,
55
54
  "mask-closable": !1,
56
55
  style: { width: `${s.width}px` },
57
- onClose: t
58
- }), V({
59
- header: o(() => [
60
- x("div", P, u(e.title), 1)
56
+ onClose: l
57
+ }), {
58
+ header: a(() => [
59
+ M("div", T, p(e.title), 1)
61
60
  ]),
62
- default: o(() => [
63
- i(e.$slots, "default")
61
+ default: a(() => [
62
+ u(e.$slots, "default")
64
63
  ]),
65
- _: 2
66
- }, [
67
- e.$slots.action ? {
68
- name: "action",
69
- fn: o(() => [
70
- i(e.$slots, "action")
71
- ]),
72
- key: "1"
73
- } : {
74
- name: "action",
75
- fn: o(() => [
76
- c(w, null, {
77
- default: o(() => [
78
- c(d, {
79
- type: "primary",
80
- loading: a.value,
81
- onClick: g
82
- }, {
83
- default: o(() => [
84
- p(u(e.saveBtnText), 1)
85
- ]),
86
- _: 1
87
- }, 8, ["loading"]),
88
- c(d, { onClick: _ }, {
89
- default: o(() => n[1] || (n[1] = [
90
- p("取 消", -1)
91
- ])),
92
- _: 1,
93
- __: [1]
94
- })
95
- ]),
96
- _: 1
97
- })
98
- ]),
99
- key: "0"
100
- }
101
- ]), 1040, ["show", "style"]);
64
+ action: a(() => [
65
+ r(_, null, {
66
+ default: a(() => [
67
+ r(d, {
68
+ type: "primary",
69
+ loading: o.value,
70
+ onClick: g
71
+ }, {
72
+ default: a(() => [
73
+ i(p(e.saveBtnText), 1)
74
+ ]),
75
+ _: 1
76
+ }, 8, ["loading"]),
77
+ u(e.$slots, "action-extra"),
78
+ r(d, { onClick: y }, {
79
+ default: a(() => n[1] || (n[1] = [
80
+ i("取 消", -1)
81
+ ])),
82
+ _: 1,
83
+ __: [1]
84
+ })
85
+ ]),
86
+ _: 3
87
+ })
88
+ ]),
89
+ _: 3
90
+ }, 16, ["show", "style"]);
102
91
  };
103
92
  }
104
93
  });
105
94
  export {
106
- j as default
95
+ L as default
107
96
  };
@@ -2113,7 +2113,7 @@ declare const _default: {
2113
2113
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
2114
2114
  $slots: {
2115
2115
  default?(_: {}): any;
2116
- action?(_: {}): any;
2116
+ 'action-extra'?(_: {}): any;
2117
2117
  };
2118
2118
  }) & import('vue').Plugin;
2119
2119
  export default _default;
@@ -21,6 +21,7 @@ declare const __VLS_component: import('vue').DefineComponent<DataTableProps, {
21
21
  getSelectedRow: <T>() => T;
22
22
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<DataTableProps> & Readonly<{}>, {
23
23
  idField: string;
24
+ item: any;
24
25
  modalWidth: number;
25
26
  hiddenAdd: boolean;
26
27
  hiddenEdit: boolean;