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