@chewel611/naive-ui-plus 0.0.21 → 0.0.22

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