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