@chewel611/naive-ui-plus 0.0.1 → 0.0.3
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 +407 -408
- package/dist/index.umd.cjs +1 -1
- package/es/index.d.ts +2 -2
- package/es/index.js +20 -20
- package/es/languages/PLanguage.vue.js +15 -17
- package/es/modal/PModal.vue.js +16 -16
- package/es/table/PTable.vue.js +24 -23
- package/es/table/typing.d.ts +1 -0
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/languages/PLanguage.vue.cjs +1 -1
- package/lib/modal/PModal.vue.cjs +1 -1
- package/lib/table/PTable.vue.cjs +1 -1
- package/lib/table/typing.d.ts +1 -0
- package/package.json +2 -2
package/dist/index.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(P,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","pinia","vue-router","element-resize-detector","vuedraggable"],o):(P=typeof globalThis<"u"?globalThis:P||self,o(P.naiveplus={},P.naiveUi,P.Vue,P.antd,P.pinia,P.vueRouter,P.elementResizeDetectorMaker,P.Draggable))})(this,function(P,o,e,E,v,D,de,fe){"use strict";const pe={id:"data-content"},he={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},ue={key:1},me={key:2},ge=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup(l,{expose:i}){const w=e.ref(null),g=o.useDialog(),x=o.useMessage(),u=e.ref(!1),y=e.ref([]),b=e.ref([]),S=e.ref(null),B=e.ref(!1),f=e.ref(!1),k=e.ref(!1),n=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async a=>{n.value.page=a,await O()},onUpdatePageSize:async a=>{n.value.pageSize=a,await O()}}),r=l,p=a=>{const d=N=>{const L=[];return a&&a.forEach(t=>{t.key!=="edit"&&t.key!=="delete"&&L.push({label:t.name,key:t.key,props:{onClick:()=>t.action(N)}})}),L};return{title:"操作",key:"actions",width:100,fixed:"left",render:N=>{let L=[];if(r.hiddenEdit||L.push({label:"编辑",key:"edit",props:{onClick:()=>A(N)}}),r.hiddenDelete||L.push({label:"删除",key:"delete",props:{onClick:()=>_(N)}}),L=[...L,...d(N)],!(L.length<=0))return e.h(o.NDropdown,{options:L,placement:"bottom-start"},{default:()=>e.h(o.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(o.NIcon,()=>e.h(E.MoreOutlined))]})})}}},m=e.computed(()=>{const a=r.columns.filter(N=>N.key!="action").map(N=>({title:N.title,key:N.key,width:N.width,render:N.render,ellipsis:N.ellipsis?{tooltip:!0}:!1})),d=r.columns.reduce((N,L)=>L.key==="action"?L:N,void 0)?.action;return d&&d?.length>0||!r.hiddenDelete||!r.hiddenEdit?[{type:"selection",fixed:"left"},...a,p(d)]:[{type:"selection",fixed:"left"},...a]}),h=async()=>{await O()},_=a=>{T([a])},M=()=>{const a=W();T(a)},T=a=>{a&&a.length>0&&g.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(r.onDelete)try{await r.onDelete(a)?(O(),x.success("删除成功")):x.error("删除失败")}catch(d){console.error(d),x.error("删除异常,详情F12请查看控制台日志")}}})},C=()=>{if(r.onOpenModal){r.onOpenModal();return}f.value=!1,B.value=!0},A=async a=>{if(r.onOpenModal){r.onOpenModal(a);return}r.onGet&&(a=await r.onGet(a[r.idField])),S.value=a,Object.assign(r.item,a),B.value=!1,f.value=!0},H=async()=>{if(r.onSave)try{k.value=!0,(B.value?await r.onSave():await r.onSave(S.value[r.idField]))&&(R(),await O())}catch(a){console.error(a),x.error("操作失败, 详情F12请查看控制台日志")}finally{k.value=!1}},R=()=>{r.onCloseModal&&r.onCloseModal(),Object.keys(r.item).forEach(a=>r.item[a]=void 0),S.value=null,B.value=!1,f.value=!1},W=()=>y.value?b.value.filter(d=>y.value.includes(d.id)).map(d=>e.toRaw(d)):[],K=()=>W()[0],j=()=>e.toRaw(b.value),O=async()=>{if(!u.value){u.value=!0;try{if(r.onLoad){var{data:a,total:d}=await r.onLoad(n.value.page,n.value.pageSize);b.value=a,n.value.itemCount=d}}catch(N){console.error(N),x.error("获取数据失败, 详情F12请查看控制台日志")}finally{u.value=!1}}},Y=e.computed(()=>{const a=e.unref(w);if(!a)return;const d=a?.$el,N=d.querySelector(".n-data-table-thead "),{bottomIncludeBody:L}=G(N),t=64;let c=2,s=24;const V=d.querySelector(".n-data-table__pagination");if(V){const F=V.offsetHeight;c+=F||0}else c+=28;let $=L-(t+c+s);return console.log("height",$),$}),X=a=>!a||!a.getBoundingClientRect?0:a.getBoundingClientRect(),G=a=>{const d=document.documentElement,N=d.scrollLeft,L=d.scrollTop,t=d.clientLeft,c=d.clientTop,s=window.pageXOffset,V=window.pageYOffset,$=X(a),{left:F,top:J,width:Z,height:Ye}=$,Xe=(s||N)-(t||0),Ge=(V||L)-(c||0),Je=F+s,Ze=J+V,Q=Je-Xe,U=Ze-Ge,ce=window.document.documentElement.clientWidth,ie=window.document.documentElement.clientHeight;return{left:Q,top:U,right:ce-Z-Q,bottom:ie-Ye-U,rightIncludeBody:ce-Q,bottomIncludeBody:ie-U}};return e.onMounted(async()=>await h()),i({getData:j,getSelectedRow:K,getSelectedRows:W,closeModal:R,refreshData:O,resetPage:()=>{n.value.page=1}}),(a,d)=>{const N=o.NTooltip,L=o.NDataTable,t=o.NSpace,c=o.NModal;return e.openBlock(),e.createBlock(e.unref(o.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[a.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(N,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:C},{default:e.withCtx(()=>[e.createVNode(e.unref(E.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[d[3]||(d[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),a.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(N,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:M},{default:e.withCtx(()=>[e.createVNode(e.unref(E.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[d[4]||(d[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(N,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:h},{default:e.withCtx(()=>[e.createVNode(e.unref(E.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[d[5]||(d[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",pe,[a.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",he,[e.renderSlot(a.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(L,{remote:"",ref_key:"$table",ref:w,"checked-row-keys":y.value,"onUpdate:checkedRowKeys":d[0]||(d[0]=s=>y.value=s),"max-height":Y.value,loading:u.value,bordered:!1,"single-line":!1,columns:m.value,data:b.value,pagination:n.value,"row-key":s=>s[a.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),a.$slots.addModal?(e.openBlock(),e.createElementBlock("div",ue,[e.createVNode(c,{title:"新增",preset:"dialog",show:B.value,"onUpdate:show":d[1]||(d[1]=s=>B.value=s),closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${a.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(t,null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NButton),{type:"primary",loading:k.value,onClick:H},{default:e.withCtx(()=>d[6]||(d[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(o.NButton),{onClick:R},{default:e.withCtx(()=>d[7]||(d[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(a.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),a.$slots.editModal?(e.openBlock(),e.createElementBlock("div",me,[e.createVNode(c,{title:"编辑",show:f.value,"onUpdate:show":d[2]||(d[2]=s=>f.value=s),preset:"dialog",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${a.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(t,null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NButton),{type:"primary",loading:k.value,onClick:H},{default:e.withCtx(()=>d[8]||(d[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(o.NButton),{onClick:R},{default:e.withCtx(()=>d[9]||(d[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(a.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}}),I=l=>{const i=l;return i.install=function(w){w.component(i.__name,l)},l},ee=I(ge),_e=["Redirect","RedirectSon","login"],z=v.defineStore("p-layout",()=>{const l=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1});return{state:l,initTabs:p=>{p.sort((m,h)=>(h.meta.affix?1:0)-(m.meta.affix?1:0)),l.tabs=p},addTab:p=>_e.includes(p.name)?!1:(l.tabs?.some(h=>h.fullPath==p.fullPath)||l.tabs?.push(p),!0),closeCurrentTab:p=>{const m=l.tabs.findIndex(h=>h.fullPath==p.fullPath);l.tabs.splice(m,1)},closeAllTabs:()=>{l.tabs=l.tabs.filter(p=>p?.meta?.affix??!1)},closeOtherTabs:p=>{l.tabs=l.tabs.filter(m=>m.fullPath==p.fullPath||(m?.meta?.affix??!1))},closeLeftTabs:p=>{const m=l.tabs.findIndex(h=>h.fullPath==p.fullPath);l.tabs=l.tabs.filter((h,_)=>_>=m||(h?.meta?.affix??!1))},closeRightTabs:p=>{const m=l.tabs.findIndex(h=>h.fullPath==p.fullPath);l.tabs=l.tabs.filter((h,_)=>_<=m||(h?.meta?.affix??!1))},collapse:()=>{l.collapsed=!l.collapsed},setTitle:p=>{l.title=p},setLogo:p=>{l.logo=p},setUser:(p,m)=>{l.uid=p,l.uname=m},setSettingPages:p=>{l.settingPages=p},setLogout:p=>{l.logout=p}}}),we={class:"logo"},ye=e.defineComponent({__name:"PLogo",setup(l){const i=z();return(w,g)=>(e.openBlock(),e.createElementBlock("div",we,[e.createVNode(e.unref(o.NAvatar),{color:"var(--color-logo)",size:32,src:e.unref(i).state.logo,class:e.normalizeClass({"mr-2":!e.unref(i).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(i).state.title),513),[[e.vShow,!e.unref(i).state.collapsed]])]))}}),q=(l,i)=>{const w=l.__vccOpts||l;for(const[g,x]of i)w[g]=x;return w},be=q(ye,[["__scopeId","data-v-c9496d2e"]]),ke={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],selectCallback:l=>{},initLanguage:l=>{}},te=v.defineStore("language",()=>{const l=e.ref(ke),i=f=>{f.forEach(k=>{(k.key==="Chinese"||k.key==="chinese")&&(k.key="chinese_simplified")}),l.value.options=[...f]},w=()=>l.value.options,g=f=>{if(l.value.currentLanguage===f)return;const k=l.value.options.find(n=>n.key===f);k&&(l.value.currentLanguage=k.key,l.value.selectCallback(k))},x=()=>{if(l.value.currentLanguage)return l.value.options.find(f=>f.key===l.value.currentLanguage)},u=f=>{l.value.selectCallback=f},y=()=>l.value.translationApiUrl,b=f=>{l.value.translationApiUrl=f},S=f=>{(f==="Chinese"||f==="chinese")&&(f="chinese_simplified"),l.value.defaultLanguage=f},B=()=>l.value.defaultLanguage?l.value.defaultLanguage:"chinese_simplified";return e.onMounted(()=>{l.value.initLanguage(l.value)}),{state:l,select:g,setLanguages:i,getLanguages:w,getCurrentLanguage:x,setSelectCallback:u,setTranslationApiUrl:b,getTranslationApiUrl:y,setDefaultLanguage:S,getDefaultLanguage:B}}),Ce={key:1},oe=e.defineComponent({__name:"PLanguage",setup(l){const{select:i,getLanguages:w,getCurrentLanguage:g,getDefaultLanguage:x,getTranslationApiUrl:u}=te(),y=S=>i(S),b=()=>{window.translate.selectLanguageTag.show=!1,window.translate.selectLanguageTag.languages=w().map(S=>S.key).join(","),window.translate.ignore.class.push("ignore-translate-flag"),window.translate.ignore.id.push("ignore-translation"),window.translate.language.setLocal(x()),window.translate.request.api.translate="api/v1/translation",window.translate.request.api.connectTest="api/v1/translation/connect-test",window.translate.request.api.init="api/v1/translation/init",window.translate.request.api.language="api/v1/translation/language",window.translate.request.setHost(u()),window.translate.request.listener.start(),window.translate.listener.start(),window.translate.whole.enableAll(),window.translate.execute()};return e.onMounted(async()=>{b()}),(S,B)=>{const f=o.NIcon,k=o.NButton;return e.unref(w)().length>0?(e.openBlock(),e.createBlock(e.unref(o.NDropdown),{key:0,id:"ignore-translation",placement:"bottom-start",trigger:"hover",class:"flex flex-col justify-center h-full ignore",onSelect:y,options:e.unref(w)()},{default:e.withCtx(()=>[e.createVNode(k,{quaternary:"",type:"info"},{default:e.withCtx(()=>[e.unref(g)()?(e.openBlock(),e.createElementBlock("label",Ce,e.toDisplayString(e.unref(g)()?.label),1)):(e.openBlock(),e.createBlock(f,{key:0,size:"18"},{default:e.withCtx(()=>B[0]||(B[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[e.createElementVNode("path",{d:"M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z",fill:"currentColor"}),e.createElementVNode("path",{d:"M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z",fill:"currentColor"})],-1)])),_:1,__:[0]}))]),_:1})]),_:1},8,["options"])):e.createCommentVNode("",!0)}}}),Ne={class:"layout-header"},xe={class:"layout-header-left"},Ve={class:"link-text"},Se={key:1,class:"link-text"},Be={class:"layout-header-right"},Pe={class:"layout-header-trigger-min"},Te={class:"layout-header-trigger layout-header-trigger-min"},Le={class:"layout-header-trigger layout-header-trigger-min"},Ee={class:"avatar"},Me=q(e.defineComponent({__name:"PHeader",setup(l){const i=o.useMessage(),w=o.useDialog(),g=z(),x=D.useRouter(),u=D.useRoute(),y=e.inject("reloadPage"),b=m=>x.push({name:m}),S=e.computed(()=>B(u.matched)),B=m=>m.map(h=>{const _={key:h.name,label:h.meta.title,icon:h.meta.icon,meta:h.meta,disabled:h.path==="/",children:void 0};return h.children&&h.children.length>0&&(_.children=B(h.children)),_}),f=e.ref(!1),k=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),f.value=!1):(document.documentElement.requestFullscreen(),f.value=!0)},n=e.computed(()=>{const m=[];return m.push({label:"退出登录",key:"logout"}),g.state.settingPages&&g.state.settingPages.length>0&&g.state.settingPages.forEach(h=>{m.push({label:h.title,key:h.route})}),m}),r=m=>{switch(m){case"logout":p();break;default:x.push({name:m})}},p=()=>{w.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(g.state.logout)try{await g.state.logout(),localStorage.removeItem("TABS-ROUTES"),i.error("退出成功")}catch(m){console.error(m),i.error("退出登录失败")}finally{location.reload()}else i.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(m,h)=>{const _=o.NTooltip,M=o.NDivider,T=o.NAvatar;return e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("div",xe,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:h[0]||(h[0]=(...C)=>e.unref(g).collapse&&e.unref(g).collapse(...C))},[e.unref(g).state.collapsed?(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:h[1]||(h[1]=(...C)=>e.unref(y)&&e.unref(y)(...C))},[e.createVNode(e.unref(o.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(o.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.label},[C.label?(e.openBlock(),e.createBlock(e.unref(o.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[C.children&&C.children.length?(e.openBlock(),e.createBlock(e.unref(o.NDropdown),{key:0,options:C.children,onSelect:b},{default:e.withCtx(()=>[e.createElementVNode("span",Ve,[C.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(C.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Se,[C.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(C.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",Be,[e.createElementVNode("div",Pe,[e.createVNode(oe)]),e.createElementVNode("div",Te,[e.createVNode(_,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",onClick:e.withModifiers(k,["stop"])},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(e.unref(E.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(E.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[h[2]||(h[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1,__:[2]})]),e.createElementVNode("div",Le,[e.createVNode(e.unref(o.NDropdown),{trigger:"hover",onSelect:r,options:n.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ee,[e.createElementVNode("span",null,e.toDisplayString(e.unref(g).state.uname),1),e.createVNode(M,{vertical:""}),e.createVNode(T,{round:"",src:e.unref(g).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-93589779"]]),$e={class:"mt-1"},Oe=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(l){return(i,w)=>{const g=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",$e,[i.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(g,{key:0},{default:e.withCtx(({Component:x,route:u})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x),{key:u.fullPath}))],1024))]),_:1}))])}}}),De={class:"tabs-view-main"},ze=["id","onClick","onContextmenu"],Re={class:"tabs-close"},Ie={class:"tabs-close-btn"},Ae=q(e.defineComponent({__name:"PTabs",setup(l){e.useCssVars(t=>({"4cb4fdc8":w.value,"21e8bab2":g.value}));const i=o.useThemeVars(),w=e.computed(()=>i.value.cardColor),g=e.computed(()=>i.value.textColor1),x=o.useMessage(),u=D.useRoute(),y=D.useRouter(),b=e.ref(null),S=e.ref(null),B=e.ref(!1),f=z(),k=e.computed(()=>f.state.tabs),n=e.reactive({activeKey:u.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),r=["Login","Redirect","ErrorPage"],p=t=>{const{fullPath:c,hash:s,meta:V,name:$,params:F,path:J,query:Z}=t;return{fullPath:c,hash:s,meta:V,name:$,params:F,path:J,query:Z}},m=e.computed(()=>{const s=f.state.collapsed?"64px":"272px";return{left:s,width:`calc(100% - ${s})`}}),h=e.computed(()=>{const t=k.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(o.NIcon,null,{default:()=>e.h(E.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:B.value||t,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(E.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:t,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(E.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:t,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(E.MinusOutlined)})}]}),_=()=>{let t=[];const c=p(u);try{if(f.state.cacheTabs){const s=localStorage.getItem("TABS_ROUTES");t=s?JSON.parse(s):[c]}}catch{t=[c]}finally{return t}},M=t=>{const c=y.getRoutes();t.forEach(s=>{const V=c.find($=>$.path===s.path);V&&(s.meta=V.meta||s.meta,s.name=V.name||s.name)}),f.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(t))},T=()=>{const t=_();M(t),f.initTabs(t)},C=async t=>{if(await e.nextTick(),!b.value)return;const c=b.value.offsetWidth,s=b.value.scrollWidth;c<s?(n.scrollable=!0,t&&[...b.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach($=>{$.id===`tag${n.activeKey.split("/").join("/")}`&&$.scrollIntoView&&$.scrollIntoView()})):n.scrollable=!1},A=t=>!(t.draggedContext.element.meta.affix||t.relatedContext.element.meta.affix),H=()=>{let t;t=de(),t.listenTo(S.value,()=>C(!0))},R=t=>{const{fullPath:c}=t;if(c===u.fullPath||(n.activeKey=c,!t))return;const{replace:s}=y;toString.call(t),s(t).catch(console.error)},W=(t,c)=>{t.preventDefault(),B.value=c.path==="/home",n.showDropdown=!1,e.nextTick().then(()=>{n.showDropdown=!0,n.dropdownX=t.clientX,n.dropdownY=t.clientY})},K=()=>{u.meta.keepAlive&&y.currentRoute.value.matched.find(t=>t.name==u.name)?.components?.default.name},j=t=>{if(k.value.length===1)return x.warning("这已经是最后一页,不能再关闭了!");if(K(),f.closeCurrentTab(t),n.activeKey===t.fullPath){const c=k.value[Math.max(0,k.value.length-1)];n.activeKey=c.fullPath,y.push(c)}C()},O=t=>{const{fullPath:c}=t,s=k.value.find(V=>V.fullPath==c);j(s)},Y=t=>{f.closeOtherTabs(t),n.activeKey=t.fullPath,y.replace(t.fullPath),C()},X=()=>{f.closeAllTabs(),C()},G=e.inject("reloadPage"),a=t=>{switch(t){case"1":G();break;case"2":j(u);break;case"3":Y(u);break;case"4":X();break}C(),n.showDropdown=!1},d=(t,c)=>{const s=b.value.scrollLeft,V=c>0&&s+c>=t||c<0&&s+c<=t?t:s+c;if(b.value&&b.value.scrollTo(V,0),V!==t)return window.requestAnimationFrame(()=>d(t,c))},N=()=>{const t=b.value.offsetWidth,c=b.value.scrollLeft;if(!c)return;const s=c>t?c-t:0;d(s,(s-c)/20)},L=()=>{const t=b.value.offsetWidth,c=b.value.scrollWidth,s=b.value.scrollLeft;if(c-s<=t)return;const V=c-s>t*2?s+t:c-t;d(V,(V-s)/20)};return window.addEventListener("beforeunload",()=>{localStorage.setItem("TABS_ROUTES",JSON.stringify(k.value))}),window.addEventListener("scroll",t=>{let c=t.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;n.isMultiHeaderFixed=c>=64},!0),e.watch(()=>u.fullPath,t=>{r.includes(u.name)||(n.activeKey=t,f.addTab(p(u)),C(!0))},{immediate:!0}),T(),e.onMounted(()=>H()),(t,c)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(m.value)},[e.createElementVNode("div",De,[e.createElementVNode("div",{ref_key:"navWrap",ref:S,class:e.normalizeClass(["tabs-card",{"tabs-card-scrollable":n.scrollable}])},[e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-prev",{"tabs-card-prev-hide":!n.scrollable}]),onClick:N},[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.LeftOutlined))]),_:1})],2),e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-next",{"tabs-card-next-hide":!n.scrollable}]),onClick:L},[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.RightOutlined))]),_:1})],2),e.createElementVNode("div",{ref_key:"navScroll",ref:b,class:"tabs-card-scroll"},[e.createVNode(e.unref(fe),{list:k.value,animation:"300","item-key":"fullPath",class:"flex",move:A},{item:e.withCtx(({element:s})=>[e.createElementVNode("div",{id:`tag${s.fullPath.split("/").join("/")}`,class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":n.activeKey===s.fullPath}]),onClick:e.withModifiers(V=>R(s),["stop"]),onContextmenu:V=>W(V,s)},[e.createElementVNode("span",null,e.toDisplayString(s.meta.title),1),s.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:0,size:"14",onClick:e.withModifiers(V=>O(s),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(E.CloseOutlined))]),_:2},1032,["onClick"]))],42,ze)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",Re,[e.createVNode(e.unref(o.NDropdown),{trigger:"hover",onSelect:a,placement:"bottom-end",options:h.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ie,[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.DownOutlined))]),_:1})])]),_:1},8,["options"])]),e.createVNode(e.unref(o.NDropdown),{show:n.showDropdown,x:n.dropdownX,y:n.dropdownY,onClickoutside:c[0]||(c[0]=s=>n.showDropdown=!1),placement:"bottom-start",onSelect:a,options:h.value},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-f0706f46"]]),We=e.defineComponent({__name:"PMenus",setup(l){const i=D.useRoute(),w=D.useRouter(),g=z(),x=e.ref(i.name),u=e.ref(i.matched&&i.matched.length?i.matched.map(n=>n.name):[]),y=e.ref([]),b=n=>{/http(s)?:/.test(n)?window.open(n):w.push({name:n})},S=n=>{if(!n)return;const r=n.find(p=>u.value.indexOf(p)===-1);u.value=r?[r]:[]},B=()=>{const n=i.matched;u.value=n.map(p=>p.name);const r=i.meta?.activeMenu||"";x.value=r||i.name},f=(n,r=[],p=!1)=>{const m=[],h=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!n||n.length===0)return m;n=n.sort((_,M)=>{let T=(M.children?.length?1:0)-(_.children?.length?1:0);return T===0&&(T=(_.meta?.sort??0)-(M.meta?.sort??0)),T});for(const _ of n){if(p||(_.meta?.hidden||!1)==!0||h.includes(_.path)){r.push(_.name),_.children&&_.children.length>0&&f(_.children,r,!0);continue}const M=_.meta?.alwaysShow!=!0&&_?.children?.filter(A=>!A?.meta?.hidden)?.length===1,T=M?_.children[0]:_,C={key:T.name,label:T.meta?.title,affix:T.meta?.affix,sort:T.meta?.sort,path:T.path,redirect:T.redirect,icon:M?_.meta?.icon:T.meta?.icon,permissions:T.meta?.permissions,meta:T.meta,children:void 0};if(!r.includes(_.name)){if(m.push(C),r.push(_.name),M){f(_.children,r,p);continue}_.children&&_.children.length>0&&(C.children=f(_.children,r,p))}}return m},k=()=>{const n=w.getRoutes();y.value=f(n)};return e.watch(()=>i.fullPath,()=>{B()}),e.onMounted(()=>{k(),B()}),(n,r)=>(e.openBlock(),e.createBlock(e.unref(o.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:y.value,collapsed:e.unref(g).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":u.value,value:x.value,"onUpdate:value":b,"onUpdate:expandedKeys":S},null,8,["options","collapsed","expanded-keys","value"]))}}),Fe={class:"layout-content-main layout-content-main-fix"},qe={class:"main-view main-view-fix"},ne=I(q(e.defineComponent({__name:"PLayout",setup(l){const i=z(),w=e.ref(!1),g=()=>{w.value=!0,e.nextTick(()=>w.value=!1)};return e.provide("reloadPage",g),(x,u)=>{const y=o.NBackTop;return e.openBlock(),e.createBlock(e.unref(o.NLayout),{"has-sider":"",class:"layout",position:"absolute"},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NLayoutSider),{class:"layout-sider",inverted:"","show-trigger":"bar",position:"absolute","collapse-mode":"width",collapsed:e.unref(i).state.collapsed,"native-scrollbar":!1,"collapsed-width":64,onCollapse:e.unref(i).collapse,onExpand:e.unref(i).collapse},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NFlex),{vertical:""},{default:e.withCtx(()=>[e.createVNode(be),e.createVNode(We)]),_:1})]),_:1},8,["collapsed","onCollapse","onExpand"]),e.createVNode(e.unref(o.NLayout),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NLayoutHeader),{position:"absolute"},{default:e.withCtx(()=>[e.createVNode(Me)]),_:1}),e.createVNode(e.unref(o.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",Fe,[e.createVNode(Ae),e.createElementVNode("div",qe,[e.createVNode(Oe,{loading:w.value},null,8,["loading"])])])]),_:1}),e.createVNode(y,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-87dcb433"]])),le=I(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(l){return(i,w)=>{const g=o.NConfigProvider;return e.openBlock(),e.createBlock(g,{locale:e.unref(o.zhCN),theme:i.theme,"theme-overrides":i.themeOverrides,"date-locale":e.unref(o.dateZhCN)},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NDialogProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NNotificationProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NMessageProvider),null,{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["locale","theme","theme-overrides","date-locale"])}}})),He={class:"w-full cursor-move",id:"basic-modal-bar"},ae=I(e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保 存"},closable:{type:Boolean,default:!1},preset:{default:"dialog"},title:{default:"操作"},onSave:{},onClose:{}},setup(l,{expose:i}){const w=o.useMessage(),g=l,x=e.ref(null),u=e.ref(!1),y=e.ref(!1),b=async()=>{u.value=!0;try{g.onSave&&await g.onSave()&&S()}catch(n){console.error(n),w.error("操作失败, 详情F12请查看控制台日志")}finally{u.value=!1}},S=()=>{y.value=!1,u.value=!1},B=async()=>{try{g.onClose?await g.onClose()&&S():S()}catch(n){console.error(n),w.error("取消失败, 详情F12请查看控制台日志")}};return i({open:()=>{u.value=!1,y.value=!0},close:()=>{y.value=!1,u.value=!1}}),(n,r)=>{const p=o.NButton,m=o.NSpace;return e.openBlock(),e.createBlock(e.unref(o.NModal),e.mergeProps({ref_key:"$modal",ref:x,preset:"dialog",show:y.value,"onUpdate:show":r[0]||(r[0]=h=>y.value=h)},n.$attrs,{draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,style:{width:"800px"},onClose:S}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",He,e.toDisplayString(n.title),1)]),default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:2},[n.$slots.action?{name:"action",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"action")]),key:"1"}:{name:"action",fn:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(p,{type:"primary",loading:u.value,onClick:b},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.saveBtnText),1)]),_:1},8,["loading"]),e.createVNode(p,{onClick:B},{default:e.withCtx(()=>r[1]||(r[1]=[e.createTextVNode("取 消",-1)])),_:1,__:[1]})]),_:1})]),key:"0"}]),1040,["show"])}}})),se=I(oe),je=Object.freeze(Object.defineProperty({__proto__:null,PApplication:le,PLanguage:se,PLayout:ne,PModal:ae,PTable:ee},Symbol.toStringTag,{value:"Module"})),re=l=>(Object.values(je).forEach(i=>{i.install&&l.use(i)}),l),Ke={install:re};P.PApplication=le,P.PLanguage=se,P.PLayout=ne,P.PModal=ae,P.PTable=ee,P.default=Ke,P.install=re,P.usePLanguageStore=te,P.usePLayoutStore=z,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(T,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","pinia","vue-router","element-resize-detector","vuedraggable"],o):(T=typeof globalThis<"u"?globalThis:T||self,o(T.naiveplus={},T.naiveUi,T.Vue,T.antd,T.pinia,T.vueRouter,T.elementResizeDetectorMaker,T.Draggable))})(this,function(T,o,e,E,v,D,de,fe){"use strict";const pe={id:"data-content"},he={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},me={key:1},ue={key:2},ge=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup(a,{expose:d}){const _=e.ref(null),g=o.useDialog(),x=o.useMessage(),m=e.ref(!1),y=e.ref([]),b=e.ref([]),S=e.ref(null),B=e.ref(!1),f=e.ref(!1),k=e.ref(!1),n=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async l=>{n.value.page=l,await O()},onUpdatePageSize:async l=>{n.value.pageSize=l,await O()}}),r=a,p=l=>{const i=C=>{const L=[];return l&&l.forEach(t=>{t.key!=="edit"&&t.key!=="delete"&&L.push({label:t.name,key:t.key,props:{onClick:()=>t.action(C)}})}),L};return{title:"操作",key:"actions",width:100,fixed:"right",render:C=>{let L=[];if(r.hiddenEdit||L.push({label:"编辑",key:"edit",props:{onClick:()=>A(C)}}),r.hiddenDelete||L.push({label:"删除",key:"delete",props:{onClick:()=>w(C)}}),L=[...L,...i(C)],!(L.length<=0))return e.h(o.NDropdown,{options:L,placement:"bottom-start"},{default:()=>e.h(o.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(o.NIcon,()=>e.h(E.MoreOutlined))]})})}}},u=e.computed(()=>{const l=r.columns.filter(C=>C.key!="action").map(C=>({title:C.title,key:C.key,width:C.width,fixed:C.fixed??!1,render:C.render,ellipsis:C.ellipsis?{tooltip:!0}:!1})),i=r.columns.reduce((C,L)=>L.key==="action"?L:C,void 0)?.action;return i&&i?.length>0||!r.hiddenDelete||!r.hiddenEdit?[{type:"selection",fixed:"left"},...l,p(i)]:[{type:"selection",fixed:"left"},...l]}),h=async()=>{await O()},w=l=>{P([l])},M=()=>{const l=W();P(l)},P=l=>{l&&l.length>0&&g.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(r.onDelete)try{await r.onDelete(l)?(O(),x.success("删除成功")):x.error("删除失败")}catch(i){x.error(i.message)}}})},N=()=>{if(r.onOpenModal){r.onOpenModal();return}f.value=!1,B.value=!0},A=async l=>{if(r.onOpenModal){r.onOpenModal(l);return}r.onGet&&(l=await r.onGet(l[r.idField])),S.value=l,Object.assign(r.item,l),B.value=!1,f.value=!0},F=async()=>{if(r.onSave)try{k.value=!0,(B.value?await r.onSave():await r.onSave(S.value[r.idField]))&&(R(),await O())}catch(l){x.error(l.message)}finally{k.value=!1}},R=()=>{r.onCloseModal&&r.onCloseModal(),Object.keys(r.item).forEach(l=>r.item[l]=void 0),S.value=null,B.value=!1,f.value=!1},W=()=>y.value?b.value.filter(i=>y.value.includes(i.id)).map(i=>e.toRaw(i)):[],K=()=>W()[0],j=()=>e.toRaw(b.value),O=async()=>{if(!m.value){m.value=!0;try{if(r.onLoad){var{data:l,total:i}=await r.onLoad(n.value.page,n.value.pageSize);b.value=l,n.value.itemCount=i}}catch(C){x.error(C.message)}finally{m.value=!1}}},Y=e.computed(()=>{const l=e.unref(_);if(!l)return;const i=l?.$el,C=i.querySelector(".n-data-table-thead "),{bottomIncludeBody:L}=G(C),t=64;let c=2,s=24;const V=i.querySelector(".n-data-table__pagination");if(V){const q=V.offsetHeight;c+=q||0}else c+=28;let $=L-(t+c+s);return console.log("height",$),$}),X=l=>!l||!l.getBoundingClientRect?0:l.getBoundingClientRect(),G=l=>{const i=document.documentElement,C=i.scrollLeft,L=i.scrollTop,t=i.clientLeft,c=i.clientTop,s=window.pageXOffset,V=window.pageYOffset,$=X(l),{left:q,top:J,width:Z,height:Ye}=$,Xe=(s||C)-(t||0),Ge=(V||L)-(c||0),Je=q+s,Ze=J+V,Q=Je-Xe,U=Ze-Ge,ce=window.document.documentElement.clientWidth,ie=window.document.documentElement.clientHeight;return{left:Q,top:U,right:ce-Z-Q,bottom:ie-Ye-U,rightIncludeBody:ce-Q,bottomIncludeBody:ie-U}};return e.onMounted(async()=>await h()),d({getData:j,getSelectedRow:K,getSelectedRows:W,closeModal:R,refreshData:O,resetPage:()=>{n.value.page=1}}),(l,i)=>{const C=o.NTooltip,L=o.NDataTable,t=o.NSpace,c=o.NModal;return e.openBlock(),e.createBlock(e.unref(o.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[l.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(C,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:N},{default:e.withCtx(()=>[e.createVNode(e.unref(E.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[i[3]||(i[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),l.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(C,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:M},{default:e.withCtx(()=>[e.createVNode(e.unref(E.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[i[4]||(i[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(C,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:h},{default:e.withCtx(()=>[e.createVNode(e.unref(E.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[i[5]||(i[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",pe,[l.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",he,[e.renderSlot(l.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(L,{remote:"",ref_key:"$table",ref:_,"checked-row-keys":y.value,"onUpdate:checkedRowKeys":i[0]||(i[0]=s=>y.value=s),"max-height":Y.value,loading:m.value,bordered:!1,"single-line":!1,columns:u.value,data:b.value,pagination:n.value,"row-key":s=>s[l.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),l.$slots.addModal?(e.openBlock(),e.createElementBlock("div",me,[e.createVNode(c,{title:"新增",preset:"dialog",show:B.value,"onUpdate:show":i[1]||(i[1]=s=>B.value=s),closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${l.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(t,null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NButton),{type:"primary",loading:k.value,onClick:F},{default:e.withCtx(()=>i[6]||(i[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(o.NButton),{onClick:R},{default:e.withCtx(()=>i[7]||(i[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(l.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),l.$slots.editModal?(e.openBlock(),e.createElementBlock("div",ue,[e.createVNode(c,{title:"编辑",show:f.value,"onUpdate:show":i[2]||(i[2]=s=>f.value=s),preset:"dialog",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${l.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(t,null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NButton),{type:"primary",loading:k.value,onClick:F},{default:e.withCtx(()=>i[8]||(i[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(o.NButton),{onClick:R},{default:e.withCtx(()=>i[9]||(i[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(l.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}}),I=a=>{const d=a;return d.install=function(_){_.component(d.__name,a)},a},ee=I(ge),_e=["Redirect","RedirectSon","login"],z=v.defineStore("p-layout",()=>{const a=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1});return{state:a,initTabs:p=>{p.sort((u,h)=>(h.meta.affix?1:0)-(u.meta.affix?1:0)),a.tabs=p},addTab:p=>_e.includes(p.name)?!1:(a.tabs?.some(h=>h.fullPath==p.fullPath)||a.tabs?.push(p),!0),closeCurrentTab:p=>{const u=a.tabs.findIndex(h=>h.fullPath==p.fullPath);a.tabs.splice(u,1)},closeAllTabs:()=>{a.tabs=a.tabs.filter(p=>p?.meta?.affix??!1)},closeOtherTabs:p=>{a.tabs=a.tabs.filter(u=>u.fullPath==p.fullPath||(u?.meta?.affix??!1))},closeLeftTabs:p=>{const u=a.tabs.findIndex(h=>h.fullPath==p.fullPath);a.tabs=a.tabs.filter((h,w)=>w>=u||(h?.meta?.affix??!1))},closeRightTabs:p=>{const u=a.tabs.findIndex(h=>h.fullPath==p.fullPath);a.tabs=a.tabs.filter((h,w)=>w<=u||(h?.meta?.affix??!1))},collapse:()=>{a.collapsed=!a.collapsed},setTitle:p=>{a.title=p},setLogo:p=>{a.logo=p},setUser:(p,u)=>{a.uid=p,a.uname=u},setSettingPages:p=>{a.settingPages=p},setLogout:p=>{a.logout=p}}}),we={class:"logo"},ye=e.defineComponent({__name:"PLogo",setup(a){const d=z();return(_,g)=>(e.openBlock(),e.createElementBlock("div",we,[e.createVNode(e.unref(o.NAvatar),{color:"var(--color-logo)",size:32,src:e.unref(d).state.logo,class:e.normalizeClass({"mr-2":!e.unref(d).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(d).state.title),513),[[e.vShow,!e.unref(d).state.collapsed]])]))}}),H=(a,d)=>{const _=a.__vccOpts||a;for(const[g,x]of d)_[g]=x;return _},be=H(ye,[["__scopeId","data-v-c9496d2e"]]),ke={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],selectCallback:a=>{},initLanguage:a=>{}},te=v.defineStore("language",()=>{const a=e.ref(ke),d=f=>{f.forEach(k=>{(k.key==="Chinese"||k.key==="chinese")&&(k.key="chinese_simplified")}),a.value.options=[...f]},_=()=>a.value.options,g=f=>{if(a.value.currentLanguage===f)return;const k=a.value.options.find(n=>n.key===f);k&&(a.value.currentLanguage=k.key,a.value.selectCallback(k))},x=()=>{if(a.value.currentLanguage)return a.value.options.find(f=>f.key===a.value.currentLanguage)},m=f=>{a.value.selectCallback=f},y=()=>a.value.translationApiUrl,b=f=>{a.value.translationApiUrl=f},S=f=>{(f==="Chinese"||f==="chinese")&&(f="chinese_simplified"),a.value.defaultLanguage=f},B=()=>a.value.defaultLanguage?a.value.defaultLanguage:"chinese_simplified";return e.onMounted(()=>{a.value.initLanguage(a.value)}),{state:a,select:g,setLanguages:d,getLanguages:_,getCurrentLanguage:x,setSelectCallback:m,setTranslationApiUrl:b,getTranslationApiUrl:y,setDefaultLanguage:S,getDefaultLanguage:B}}),Ce={key:1},oe=e.defineComponent({__name:"PLanguage",setup(a){const{select:d,getLanguages:_,getCurrentLanguage:g,getDefaultLanguage:x,getTranslationApiUrl:m}=te(),y=S=>d(S),b=()=>{window.translate.selectLanguageTag.show=!1,window.translate.selectLanguageTag.languages=_().map(S=>S.key).join(","),window.translate.ignore.class.push("ignore-translate-flag"),window.translate.ignore.id.push("ignore-translation"),window.translate.language.setLocal(x()),window.translate.request.api.translate="api/v1/translation",window.translate.request.api.connectTest="api/v1/translation/connect-test",window.translate.request.api.init="api/v1/translation/init",window.translate.request.api.language="api/v1/translation/language",window.translate.request.setHost(m()),window.translate.request.listener.start(),window.translate.listener.start(),window.translate.whole.enableAll(),window.translate.execute()};return e.onMounted(async()=>await e.nextTick(()=>b())),(S,B)=>{const f=o.NIcon,k=o.NButton;return e.unref(_)().length>0?(e.openBlock(),e.createBlock(e.unref(o.NDropdown),{key:0,id:"ignore-translation",placement:"bottom-start",trigger:"hover",class:"flex flex-col justify-center h-full ignore",onSelect:y,options:e.unref(_)()},{default:e.withCtx(()=>[e.createVNode(k,{quaternary:"",type:"info"},{default:e.withCtx(()=>[e.unref(g)()?(e.openBlock(),e.createElementBlock("label",Ce,e.toDisplayString(e.unref(g)()?.label),1)):(e.openBlock(),e.createBlock(f,{key:0,size:"18"},{default:e.withCtx(()=>B[0]||(B[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[e.createElementVNode("path",{d:"M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z",fill:"currentColor"}),e.createElementVNode("path",{d:"M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z",fill:"currentColor"})],-1)])),_:1,__:[0]}))]),_:1})]),_:1},8,["options"])):e.createCommentVNode("",!0)}}}),Ne={class:"layout-header"},xe={class:"layout-header-left"},Ve={class:"link-text"},Se={key:1,class:"link-text"},Be={class:"layout-header-right"},Te={class:"layout-header-trigger-min"},Pe={class:"layout-header-trigger layout-header-trigger-min"},Le={class:"layout-header-trigger layout-header-trigger-min"},Ee={class:"avatar"},Me=H(e.defineComponent({__name:"PHeader",setup(a){const d=o.useMessage(),_=o.useDialog(),g=z(),x=D.useRouter(),m=D.useRoute(),y=e.inject("reloadPage"),b=u=>x.push({name:u}),S=e.computed(()=>B(m.matched)),B=u=>u.map(h=>{const w={key:h.name,label:h.meta.title,icon:h.meta.icon,meta:h.meta,disabled:h.path==="/",children:void 0};return h.children&&h.children.length>0&&(w.children=B(h.children)),w}),f=e.ref(!1),k=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),f.value=!1):(document.documentElement.requestFullscreen(),f.value=!0)},n=e.computed(()=>{const u=[];return u.push({label:"退出登录",key:"logout"}),g.state.settingPages&&g.state.settingPages.length>0&&g.state.settingPages.forEach(h=>{u.push({label:h.title,key:h.route})}),u}),r=u=>{switch(u){case"logout":p();break;default:x.push({name:u})}},p=()=>{_.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(g.state.logout)try{await g.state.logout(),localStorage.removeItem("TABS-ROUTES"),d.error("退出成功")}catch(u){console.error(u),d.error("退出登录失败")}finally{location.reload()}else d.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(u,h)=>{const w=o.NTooltip,M=o.NDivider,P=o.NAvatar;return e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("div",xe,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:h[0]||(h[0]=(...N)=>e.unref(g).collapse&&e.unref(g).collapse(...N))},[e.unref(g).state.collapsed?(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:h[1]||(h[1]=(...N)=>e.unref(y)&&e.unref(y)(...N))},[e.createVNode(e.unref(o.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(o.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,N=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:N.label},[N.label?(e.openBlock(),e.createBlock(e.unref(o.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[N.children&&N.children.length?(e.openBlock(),e.createBlock(e.unref(o.NDropdown),{key:0,options:N.children,onSelect:b},{default:e.withCtx(()=>[e.createElementVNode("span",Ve,[N.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(N.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Se,[N.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(N.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",Be,[e.createElementVNode("div",Te,[e.createVNode(oe)]),e.createElementVNode("div",Pe,[e.createVNode(w,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(o.NIcon),{size:"18",onClick:e.withModifiers(k,["stop"])},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(e.unref(E.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(E.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[h[2]||(h[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1,__:[2]})]),e.createElementVNode("div",Le,[e.createVNode(e.unref(o.NDropdown),{trigger:"hover",onSelect:r,options:n.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ee,[e.createElementVNode("span",null,e.toDisplayString(e.unref(g).state.uname),1),e.createVNode(M,{vertical:""}),e.createVNode(P,{round:"",src:e.unref(g).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-93589779"]]),$e={class:"mt-1"},Oe=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(a){return(d,_)=>{const g=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",$e,[d.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(g,{key:0},{default:e.withCtx(({Component:x,route:m})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x),{key:m.fullPath}))],1024))]),_:1}))])}}}),De={class:"tabs-view-main"},ze=["id","onClick","onContextmenu"],Re={class:"tabs-close"},Ie={class:"tabs-close-btn"},Ae=H(e.defineComponent({__name:"PTabs",setup(a){e.useCssVars(t=>({"4cb4fdc8":_.value,"21e8bab2":g.value}));const d=o.useThemeVars(),_=e.computed(()=>d.value.cardColor),g=e.computed(()=>d.value.textColor1),x=o.useMessage(),m=D.useRoute(),y=D.useRouter(),b=e.ref(null),S=e.ref(null),B=e.ref(!1),f=z(),k=e.computed(()=>f.state.tabs),n=e.reactive({activeKey:m.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),r=["Login","Redirect","ErrorPage"],p=t=>{const{fullPath:c,hash:s,meta:V,name:$,params:q,path:J,query:Z}=t;return{fullPath:c,hash:s,meta:V,name:$,params:q,path:J,query:Z}},u=e.computed(()=>{const s=f.state.collapsed?"64px":"272px";return{left:s,width:`calc(100% - ${s})`}}),h=e.computed(()=>{const t=k.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(o.NIcon,null,{default:()=>e.h(E.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:B.value||t,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(E.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:t,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(E.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:t,icon:()=>e.h(o.NIcon,null,{default:()=>e.h(E.MinusOutlined)})}]}),w=()=>{let t=[];const c=p(m);try{if(f.state.cacheTabs){const s=localStorage.getItem("TABS_ROUTES");t=s?JSON.parse(s):[c]}}catch{t=[c]}finally{return t}},M=t=>{const c=y.getRoutes();t.forEach(s=>{const V=c.find($=>$.path===s.path);V&&(s.meta=V.meta||s.meta,s.name=V.name||s.name)}),f.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(t))},P=()=>{const t=w();M(t),f.initTabs(t)},N=async t=>{if(await e.nextTick(),!b.value)return;const c=b.value.offsetWidth,s=b.value.scrollWidth;c<s?(n.scrollable=!0,t&&[...b.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach($=>{$.id===`tag${n.activeKey.split("/").join("/")}`&&$.scrollIntoView&&$.scrollIntoView()})):n.scrollable=!1},A=t=>!(t.draggedContext.element.meta.affix||t.relatedContext.element.meta.affix),F=()=>{let t;t=de(),t.listenTo(S.value,()=>N(!0))},R=t=>{const{fullPath:c}=t;if(c===m.fullPath||(n.activeKey=c,!t))return;const{replace:s}=y;toString.call(t),s(t).catch(console.error)},W=(t,c)=>{t.preventDefault(),B.value=c.path==="/home",n.showDropdown=!1,e.nextTick().then(()=>{n.showDropdown=!0,n.dropdownX=t.clientX,n.dropdownY=t.clientY})},K=()=>{m.meta.keepAlive&&y.currentRoute.value.matched.find(t=>t.name==m.name)?.components?.default.name},j=t=>{if(k.value.length===1)return x.warning("这已经是最后一页,不能再关闭了!");if(K(),f.closeCurrentTab(t),n.activeKey===t.fullPath){const c=k.value[Math.max(0,k.value.length-1)];n.activeKey=c.fullPath,y.push(c)}N()},O=t=>{const{fullPath:c}=t,s=k.value.find(V=>V.fullPath==c);j(s)},Y=t=>{f.closeOtherTabs(t),n.activeKey=t.fullPath,y.replace(t.fullPath),N()},X=()=>{f.closeAllTabs(),N()},G=e.inject("reloadPage"),l=t=>{switch(t){case"1":G();break;case"2":j(m);break;case"3":Y(m);break;case"4":X();break}N(),n.showDropdown=!1},i=(t,c)=>{const s=b.value.scrollLeft,V=c>0&&s+c>=t||c<0&&s+c<=t?t:s+c;if(b.value&&b.value.scrollTo(V,0),V!==t)return window.requestAnimationFrame(()=>i(t,c))},C=()=>{const t=b.value.offsetWidth,c=b.value.scrollLeft;if(!c)return;const s=c>t?c-t:0;i(s,(s-c)/20)},L=()=>{const t=b.value.offsetWidth,c=b.value.scrollWidth,s=b.value.scrollLeft;if(c-s<=t)return;const V=c-s>t*2?s+t:c-t;i(V,(V-s)/20)};return window.addEventListener("beforeunload",()=>{localStorage.setItem("TABS_ROUTES",JSON.stringify(k.value))}),window.addEventListener("scroll",t=>{let c=t.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;n.isMultiHeaderFixed=c>=64},!0),e.watch(()=>m.fullPath,t=>{r.includes(m.name)||(n.activeKey=t,f.addTab(p(m)),N(!0))},{immediate:!0}),P(),e.onMounted(()=>F()),(t,c)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(u.value)},[e.createElementVNode("div",De,[e.createElementVNode("div",{ref_key:"navWrap",ref:S,class:e.normalizeClass(["tabs-card",{"tabs-card-scrollable":n.scrollable}])},[e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-prev",{"tabs-card-prev-hide":!n.scrollable}]),onClick:C},[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.LeftOutlined))]),_:1})],2),e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-next",{"tabs-card-next-hide":!n.scrollable}]),onClick:L},[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.RightOutlined))]),_:1})],2),e.createElementVNode("div",{ref_key:"navScroll",ref:b,class:"tabs-card-scroll"},[e.createVNode(e.unref(fe),{list:k.value,animation:"300","item-key":"fullPath",class:"flex",move:A},{item:e.withCtx(({element:s})=>[e.createElementVNode("div",{id:`tag${s.fullPath.split("/").join("/")}`,class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":n.activeKey===s.fullPath}]),onClick:e.withModifiers(V=>R(s),["stop"]),onContextmenu:V=>W(V,s)},[e.createElementVNode("span",null,e.toDisplayString(s.meta.title),1),s.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(o.NIcon),{key:0,size:"14",onClick:e.withModifiers(V=>O(s),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(E.CloseOutlined))]),_:2},1032,["onClick"]))],42,ze)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",Re,[e.createVNode(e.unref(o.NDropdown),{trigger:"hover",onSelect:l,placement:"bottom-end",options:h.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ie,[e.createVNode(e.unref(o.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.DownOutlined))]),_:1})])]),_:1},8,["options"])]),e.createVNode(e.unref(o.NDropdown),{show:n.showDropdown,x:n.dropdownX,y:n.dropdownY,onClickoutside:c[0]||(c[0]=s=>n.showDropdown=!1),placement:"bottom-start",onSelect:l,options:h.value},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-f0706f46"]]),We=e.defineComponent({__name:"PMenus",setup(a){const d=D.useRoute(),_=D.useRouter(),g=z(),x=e.ref(d.name),m=e.ref(d.matched&&d.matched.length?d.matched.map(n=>n.name):[]),y=e.ref([]),b=n=>{/http(s)?:/.test(n)?window.open(n):_.push({name:n})},S=n=>{if(!n)return;const r=n.find(p=>m.value.indexOf(p)===-1);m.value=r?[r]:[]},B=()=>{const n=d.matched;m.value=n.map(p=>p.name);const r=d.meta?.activeMenu||"";x.value=r||d.name},f=(n,r=[],p=!1)=>{const u=[],h=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!n||n.length===0)return u;n=n.sort((w,M)=>{let P=(M.children?.length?1:0)-(w.children?.length?1:0);return P===0&&(P=(w.meta?.sort??0)-(M.meta?.sort??0)),P});for(const w of n){if(p||(w.meta?.hidden||!1)==!0||h.includes(w.path)){r.push(w.name),w.children&&w.children.length>0&&f(w.children,r,!0);continue}const M=w.meta?.alwaysShow!=!0&&w?.children?.filter(A=>!A?.meta?.hidden)?.length===1,P=M?w.children[0]:w,N={key:P.name,label:P.meta?.title,affix:P.meta?.affix,sort:P.meta?.sort,path:P.path,redirect:P.redirect,icon:M?w.meta?.icon:P.meta?.icon,permissions:P.meta?.permissions,meta:P.meta,children:void 0};if(!r.includes(w.name)){if(u.push(N),r.push(w.name),M){f(w.children,r,p);continue}w.children&&w.children.length>0&&(N.children=f(w.children,r,p))}}return u},k=()=>{const n=_.getRoutes();y.value=f(n)};return e.watch(()=>d.fullPath,()=>{B()}),e.onMounted(()=>{k(),B()}),(n,r)=>(e.openBlock(),e.createBlock(e.unref(o.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:y.value,collapsed:e.unref(g).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":m.value,value:x.value,"onUpdate:value":b,"onUpdate:expandedKeys":S},null,8,["options","collapsed","expanded-keys","value"]))}}),qe={class:"layout-content-main layout-content-main-fix"},He={class:"main-view main-view-fix"},ne=I(H(e.defineComponent({__name:"PLayout",setup(a){const d=z(),_=e.ref(!1),g=()=>{_.value=!0,e.nextTick(()=>_.value=!1)};return e.provide("reloadPage",g),(x,m)=>{const y=o.NBackTop;return e.openBlock(),e.createBlock(e.unref(o.NLayout),{"has-sider":"",class:"layout",position:"absolute"},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NLayoutSider),{class:"layout-sider",inverted:"","show-trigger":"bar",position:"absolute","collapse-mode":"width",collapsed:e.unref(d).state.collapsed,"native-scrollbar":!1,"collapsed-width":64,onCollapse:e.unref(d).collapse,onExpand:e.unref(d).collapse},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NFlex),{vertical:""},{default:e.withCtx(()=>[e.createVNode(be),e.createVNode(We)]),_:1})]),_:1},8,["collapsed","onCollapse","onExpand"]),e.createVNode(e.unref(o.NLayout),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NLayoutHeader),{position:"absolute"},{default:e.withCtx(()=>[e.createVNode(Me)]),_:1}),e.createVNode(e.unref(o.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",qe,[e.createVNode(Ae),e.createElementVNode("div",He,[e.createVNode(Oe,{loading:_.value},null,8,["loading"])])])]),_:1}),e.createVNode(y,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-87dcb433"]])),ae=I(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(a){return(d,_)=>{const g=o.NConfigProvider;return e.openBlock(),e.createBlock(g,{locale:e.unref(o.zhCN),theme:d.theme,"theme-overrides":d.themeOverrides,"date-locale":e.unref(o.dateZhCN)},{default:e.withCtx(()=>[e.createVNode(e.unref(o.NDialogProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NNotificationProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(o.NMessageProvider),null,{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["locale","theme","theme-overrides","date-locale"])}}})),Fe={class:"w-full cursor-move",id:"basic-modal-bar"},le=I(e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保 存"},closable:{type:Boolean,default:!1},preset:{default:"dialog"},title:{default:"操作"},onSave:{},onClose:{}},setup(a,{expose:d}){const _=o.useMessage(),g=a,x=e.ref(null),m=e.ref(!1),y=e.ref(!1),b=async()=>{m.value=!0;try{g.onSave&&await g.onSave()&&S()}catch(n){_.error(n.message)}finally{m.value=!1}},S=()=>{y.value=!1,m.value=!1},B=async()=>{try{g.onClose?await g.onClose()&&S():S()}catch(n){_.error(n.message)}};return d({open:()=>{m.value=!1,y.value=!0},close:()=>{y.value=!1,m.value=!1}}),(n,r)=>{const p=o.NButton,u=o.NSpace;return e.openBlock(),e.createBlock(e.unref(o.NModal),e.mergeProps({ref_key:"$modal",ref:x,preset:"dialog",show:y.value,"onUpdate:show":r[0]||(r[0]=h=>y.value=h)},n.$attrs,{draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,style:{width:"800px"},onClose:S}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",Fe,e.toDisplayString(n.title),1)]),default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:2},[n.$slots.action?{name:"action",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"action")]),key:"1"}:{name:"action",fn:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(p,{type:"primary",loading:m.value,onClick:b},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.saveBtnText),1)]),_:1},8,["loading"]),e.createVNode(p,{onClick:B},{default:e.withCtx(()=>r[1]||(r[1]=[e.createTextVNode("取 消",-1)])),_:1,__:[1]})]),_:1})]),key:"0"}]),1040,["show"])}}})),se=I(oe),je=Object.freeze(Object.defineProperty({__proto__:null,PApplication:ae,PLanguage:se,PLayout:ne,PModal:le,PTable:ee},Symbol.toStringTag,{value:"Module"})),re=(a,d)=>(Object.values(je).forEach(_=>{_.install&&a.use(_)}),d?.(),a),Ke={install:re};T.PApplication=ae,T.PLanguage=se,T.PLayout=ne,T.PModal=le,T.PTable=ee,T.default=Ke,T.install=re,T.usePLanguageStore=te,T.usePLayoutStore=z,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/es/index.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import { App } from 'vue';
|
|
|
2
2
|
export * from './components';
|
|
3
3
|
export * from './typing';
|
|
4
4
|
export type { NaivePlusUIResolver } from './utils/resolver';
|
|
5
|
-
export declare const install: (app: App) => App<any>;
|
|
5
|
+
export declare const install: (app: App, callback?: () => void) => App<any>;
|
|
6
6
|
declare const _default: {
|
|
7
|
-
install: (app: App) => App<any>;
|
|
7
|
+
install: (app: App, callback?: () => void) => App<any>;
|
|
8
8
|
};
|
|
9
9
|
export default _default;
|
package/es/index.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { PLanguageSwitch as
|
|
3
|
-
import { default as
|
|
4
|
-
import { default as
|
|
5
|
-
import { default as
|
|
6
|
-
import { default as
|
|
7
|
-
import { usePLayoutStore as
|
|
8
|
-
import { usePLanguageStore as
|
|
9
|
-
const
|
|
1
|
+
import * as a from "./components.js";
|
|
2
|
+
import { PLanguageSwitch as l } from "./languages/index.js";
|
|
3
|
+
import { default as m } from "./table/index.js";
|
|
4
|
+
import { default as x } from "./layout/index.js";
|
|
5
|
+
import { default as P } from "./application/index.js";
|
|
6
|
+
import { default as c } from "./modal/index.js";
|
|
7
|
+
import { usePLayoutStore as L } from "./layout/layout.js";
|
|
8
|
+
import { usePLanguageStore as b } from "./languages/store.js";
|
|
9
|
+
const r = (e, t) => (Object.values(a).forEach((o) => {
|
|
10
10
|
o.install && e.use(o);
|
|
11
|
-
}), e),
|
|
12
|
-
install:
|
|
11
|
+
}), t?.(), e), s = {
|
|
12
|
+
install: r
|
|
13
13
|
};
|
|
14
14
|
export {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
P as PApplication,
|
|
16
|
+
l as PLanguage,
|
|
17
|
+
x as PLayout,
|
|
18
|
+
c as PModal,
|
|
19
|
+
m as PTable,
|
|
20
|
+
s as default,
|
|
21
|
+
r as install,
|
|
22
|
+
b as usePLanguageStore,
|
|
23
|
+
L as usePLayoutStore
|
|
24
24
|
};
|
|
@@ -1,38 +1,36 @@
|
|
|
1
1
|
import { NDropdown as m, NButton as _, NIcon as h } from "naive-ui";
|
|
2
|
-
import { defineComponent as
|
|
3
|
-
import { usePLanguageStore as
|
|
4
|
-
const
|
|
2
|
+
import { defineComponent as x, onMounted as L, nextTick as k, createBlock as i, createCommentVNode as v, unref as t, openBlock as n, withCtx as o, createVNode as y, createElementBlock as q, createElementVNode as l, toDisplayString as C } from "vue";
|
|
3
|
+
import { usePLanguageStore as N } from "./store.js";
|
|
4
|
+
const b = { key: 1 }, M = /* @__PURE__ */ x({
|
|
5
5
|
__name: "PLanguage",
|
|
6
|
-
setup(
|
|
6
|
+
setup(B) {
|
|
7
7
|
const {
|
|
8
8
|
select: c,
|
|
9
|
-
getLanguages:
|
|
9
|
+
getLanguages: a,
|
|
10
10
|
getCurrentLanguage: r,
|
|
11
11
|
getDefaultLanguage: g,
|
|
12
|
-
getTranslationApiUrl:
|
|
13
|
-
} =
|
|
14
|
-
window.translate.selectLanguageTag.show = !1, window.translate.selectLanguageTag.languages =
|
|
12
|
+
getTranslationApiUrl: w
|
|
13
|
+
} = N(), u = (e) => c(e), p = () => {
|
|
14
|
+
window.translate.selectLanguageTag.show = !1, window.translate.selectLanguageTag.languages = a().map((e) => e.key).join(","), window.translate.ignore.class.push("ignore-translate-flag"), window.translate.ignore.id.push("ignore-translation"), window.translate.language.setLocal(g()), window.translate.request.api.translate = "api/v1/translation", window.translate.request.api.connectTest = "api/v1/translation/connect-test", window.translate.request.api.init = "api/v1/translation/init", window.translate.request.api.language = "api/v1/translation/language", window.translate.request.setHost(w()), window.translate.request.listener.start(), window.translate.listener.start(), window.translate.whole.enableAll(), window.translate.execute();
|
|
15
15
|
};
|
|
16
|
-
return
|
|
17
|
-
p();
|
|
18
|
-
}), (e, s) => {
|
|
16
|
+
return L(async () => await k(() => p())), (e, s) => {
|
|
19
17
|
const d = h, f = _;
|
|
20
|
-
return t(
|
|
18
|
+
return t(a)().length > 0 ? (n(), i(t(m), {
|
|
21
19
|
key: 0,
|
|
22
20
|
id: "ignore-translation",
|
|
23
21
|
placement: "bottom-start",
|
|
24
22
|
trigger: "hover",
|
|
25
23
|
class: "flex flex-col justify-center h-full ignore",
|
|
26
|
-
onSelect:
|
|
27
|
-
options: t(
|
|
24
|
+
onSelect: u,
|
|
25
|
+
options: t(a)()
|
|
28
26
|
}, {
|
|
29
27
|
default: o(() => [
|
|
30
|
-
|
|
28
|
+
y(f, {
|
|
31
29
|
quaternary: "",
|
|
32
30
|
type: "info"
|
|
33
31
|
}, {
|
|
34
32
|
default: o(() => [
|
|
35
|
-
t(r)() ? (
|
|
33
|
+
t(r)() ? (n(), q("label", b, C(t(r)()?.label), 1)) : (n(), i(d, {
|
|
36
34
|
key: 0,
|
|
37
35
|
size: "18"
|
|
38
36
|
}, {
|
|
@@ -60,7 +58,7 @@ const N = { key: 1 }, M = /* @__PURE__ */ L({
|
|
|
60
58
|
})
|
|
61
59
|
]),
|
|
62
60
|
_: 1
|
|
63
|
-
}, 8, ["options"])) :
|
|
61
|
+
}, 8, ["options"])) : v("", !0);
|
|
64
62
|
};
|
|
65
63
|
}
|
|
66
64
|
});
|
package/es/modal/PModal.vue.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useMessage as k, NModal as w, NSpace as S, NButton as $ } from "naive-ui";
|
|
2
2
|
import { defineComponent as h, ref as r, createBlock as B, openBlock as N, unref as M, mergeProps as T, createSlots as V, withCtx as o, renderSlot as u, createElementVNode as x, toDisplayString as i, createVNode as c, createTextVNode as p } from "vue";
|
|
3
|
-
const
|
|
3
|
+
const P = {
|
|
4
4
|
class: "w-full cursor-move",
|
|
5
5
|
id: "basic-modal-bar"
|
|
6
|
-
},
|
|
6
|
+
}, j = /* @__PURE__ */ h({
|
|
7
7
|
__name: "PModal",
|
|
8
8
|
props: {
|
|
9
9
|
saveBtnText: { default: "保 存" },
|
|
@@ -14,39 +14,39 @@ const F = {
|
|
|
14
14
|
onClose: {}
|
|
15
15
|
},
|
|
16
16
|
setup(m, { expose: v }) {
|
|
17
|
-
const f = k(),
|
|
17
|
+
const f = k(), l = m, g = r(null), a = r(!1), s = r(!1), y = async () => {
|
|
18
18
|
a.value = !0;
|
|
19
19
|
try {
|
|
20
|
-
|
|
20
|
+
l.onSave && await l.onSave() && t();
|
|
21
21
|
} catch (e) {
|
|
22
|
-
|
|
22
|
+
f.error(e.message);
|
|
23
23
|
} finally {
|
|
24
24
|
a.value = !1;
|
|
25
25
|
}
|
|
26
26
|
}, t = () => {
|
|
27
|
-
|
|
27
|
+
s.value = !1, a.value = !1;
|
|
28
28
|
}, _ = async () => {
|
|
29
29
|
try {
|
|
30
|
-
|
|
30
|
+
l.onClose ? await l.onClose() && t() : t();
|
|
31
31
|
} catch (e) {
|
|
32
|
-
|
|
32
|
+
f.error(e.message);
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
return v({
|
|
36
36
|
open: () => {
|
|
37
|
-
a.value = !1,
|
|
37
|
+
a.value = !1, s.value = !0;
|
|
38
38
|
},
|
|
39
39
|
close: () => {
|
|
40
|
-
|
|
40
|
+
s.value = !1, a.value = !1;
|
|
41
41
|
}
|
|
42
42
|
}), (e, n) => {
|
|
43
43
|
const d = $, C = S;
|
|
44
44
|
return N(), B(M(w), T({
|
|
45
45
|
ref_key: "$modal",
|
|
46
|
-
ref:
|
|
46
|
+
ref: g,
|
|
47
47
|
preset: "dialog",
|
|
48
|
-
show:
|
|
49
|
-
"onUpdate:show": n[0] || (n[0] = (b) =>
|
|
48
|
+
show: s.value,
|
|
49
|
+
"onUpdate:show": n[0] || (n[0] = (b) => s.value = b)
|
|
50
50
|
}, e.$attrs, {
|
|
51
51
|
draggable: !0,
|
|
52
52
|
closable: !1,
|
|
@@ -56,7 +56,7 @@ const F = {
|
|
|
56
56
|
onClose: t
|
|
57
57
|
}), V({
|
|
58
58
|
header: o(() => [
|
|
59
|
-
x("div",
|
|
59
|
+
x("div", P, i(e.title), 1)
|
|
60
60
|
]),
|
|
61
61
|
default: o(() => [
|
|
62
62
|
u(e.$slots, "default")
|
|
@@ -77,7 +77,7 @@ const F = {
|
|
|
77
77
|
c(d, {
|
|
78
78
|
type: "primary",
|
|
79
79
|
loading: a.value,
|
|
80
|
-
onClick:
|
|
80
|
+
onClick: y
|
|
81
81
|
}, {
|
|
82
82
|
default: o(() => [
|
|
83
83
|
p(i(e.saveBtnText), 1)
|
|
@@ -102,5 +102,5 @@ const F = {
|
|
|
102
102
|
}
|
|
103
103
|
});
|
|
104
104
|
export {
|
|
105
|
-
|
|
105
|
+
j as default
|
|
106
106
|
};
|
package/es/table/PTable.vue.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useDialog as he, useMessage as me, NCard as ve, NDataTable as ye, NModal as ke, NSpace as we, NButton as k, NTooltip as be, NIcon as D, NDropdown as _e } from "naive-ui";
|
|
2
|
-
import { defineComponent as Ce, ref as c, computed as j, unref as r, onMounted as Se, createBlock as H, openBlock as h, withCtx as n, createElementVNode as E, createElementBlock as x, createCommentVNode as w, createVNode as s, renderSlot as
|
|
2
|
+
import { defineComponent as Ce, ref as c, computed as j, unref as r, onMounted as Se, createBlock as H, openBlock as h, withCtx as n, createElementVNode as E, createElementBlock as x, createCommentVNode as w, createVNode as s, renderSlot as P, normalizeStyle as q, createTextVNode as B, h as T, toRaw as G } from "vue";
|
|
3
3
|
import { PlusSquareOutlined as Me, DeleteOutlined as Oe, ReloadOutlined as De, MoreOutlined as Ee } from "@vicons/antd";
|
|
4
4
|
const Be = { id: "data-content" }, Te = {
|
|
5
5
|
key: 0,
|
|
@@ -22,7 +22,7 @@ const Be = { id: "data-content" }, Te = {
|
|
|
22
22
|
onDelete: {}
|
|
23
23
|
},
|
|
24
24
|
setup(K, { expose: X }) {
|
|
25
|
-
const
|
|
25
|
+
const W = c(null), Y = he(), m = me(), b = c(!1), _ = c([]), C = c([]), $ = c(null), p = c(!1), v = c(!1), S = c(!1), f = c({
|
|
26
26
|
page: 1,
|
|
27
27
|
itemCount: 0,
|
|
28
28
|
pageSize: 10,
|
|
@@ -49,7 +49,7 @@ const Be = { id: "data-content" }, Te = {
|
|
|
49
49
|
title: "操作",
|
|
50
50
|
key: "actions",
|
|
51
51
|
width: 100,
|
|
52
|
-
fixed: "
|
|
52
|
+
fixed: "right",
|
|
53
53
|
render: (l) => {
|
|
54
54
|
let a = [];
|
|
55
55
|
if (o.hiddenEdit || a.push({
|
|
@@ -82,6 +82,7 @@ const Be = { id: "data-content" }, Te = {
|
|
|
82
82
|
title: l.title,
|
|
83
83
|
key: l.key,
|
|
84
84
|
width: l.width,
|
|
85
|
+
fixed: l.fixed ?? !1,
|
|
85
86
|
render: l.render,
|
|
86
87
|
ellipsis: l.ellipsis ? { tooltip: !0 } : !1
|
|
87
88
|
})), t = o.columns.reduce(
|
|
@@ -93,14 +94,14 @@ const Be = { id: "data-content" }, Te = {
|
|
|
93
94
|
...e,
|
|
94
95
|
J(t)
|
|
95
96
|
] : [{ type: "selection", fixed: "left" }, ...e];
|
|
96
|
-
}),
|
|
97
|
+
}), A = async () => {
|
|
97
98
|
await g();
|
|
98
99
|
}, Z = (e) => {
|
|
99
|
-
|
|
100
|
+
I([e]);
|
|
100
101
|
}, ee = () => {
|
|
101
102
|
const e = N();
|
|
102
|
-
|
|
103
|
-
},
|
|
103
|
+
I(e);
|
|
104
|
+
}, I = (e) => {
|
|
104
105
|
e && e.length > 0 && Y.warning({
|
|
105
106
|
title: "警告",
|
|
106
107
|
content: "删除数据不可恢复, 确认删除吗?",
|
|
@@ -111,7 +112,7 @@ const Be = { id: "data-content" }, Te = {
|
|
|
111
112
|
try {
|
|
112
113
|
await o.onDelete(e) ? (g(), m.success("删除成功")) : m.error("删除失败");
|
|
113
114
|
} catch (t) {
|
|
114
|
-
|
|
115
|
+
m.error(t.message);
|
|
115
116
|
}
|
|
116
117
|
}
|
|
117
118
|
});
|
|
@@ -127,12 +128,12 @@ const Be = { id: "data-content" }, Te = {
|
|
|
127
128
|
return;
|
|
128
129
|
}
|
|
129
130
|
o.onGet && (e = await o.onGet(e[o.idField])), $.value = e, Object.assign(o.item, e), p.value = !1, v.value = !0;
|
|
130
|
-
},
|
|
131
|
+
}, V = async () => {
|
|
131
132
|
if (o.onSave)
|
|
132
133
|
try {
|
|
133
134
|
S.value = !0, (p.value ? await o.onSave() : await o.onSave($.value[o.idField])) && (M(), await g());
|
|
134
135
|
} catch (e) {
|
|
135
|
-
|
|
136
|
+
m.error(e.message);
|
|
136
137
|
} finally {
|
|
137
138
|
S.value = !1;
|
|
138
139
|
}
|
|
@@ -150,13 +151,13 @@ const Be = { id: "data-content" }, Te = {
|
|
|
150
151
|
C.value = e, f.value.itemCount = t;
|
|
151
152
|
}
|
|
152
153
|
} catch (l) {
|
|
153
|
-
|
|
154
|
+
m.error(l.message);
|
|
154
155
|
} finally {
|
|
155
156
|
b.value = !1;
|
|
156
157
|
}
|
|
157
158
|
}
|
|
158
159
|
}, ae = j(() => {
|
|
159
|
-
const e = r(
|
|
160
|
+
const e = r(W);
|
|
160
161
|
if (!e) return;
|
|
161
162
|
const t = e?.$el, l = t.querySelector(".n-data-table-thead "), { bottomIncludeBody: a } = ie(l), i = 64;
|
|
162
163
|
let u = 2, d = 24;
|
|
@@ -176,17 +177,17 @@ const Be = { id: "data-content" }, Te = {
|
|
|
176
177
|
top: de,
|
|
177
178
|
width: re,
|
|
178
179
|
height: ce
|
|
179
|
-
} = O, ue = (d || l) - (i || 0), fe = (y || a) - (u || 0), pe = R + d, ge = de + y, z = pe - ue, L = ge - fe,
|
|
180
|
+
} = O, ue = (d || l) - (i || 0), fe = (y || a) - (u || 0), pe = R + d, ge = de + y, z = pe - ue, L = ge - fe, F = window.document.documentElement.clientWidth, U = window.document.documentElement.clientHeight;
|
|
180
181
|
return {
|
|
181
182
|
left: z,
|
|
182
183
|
top: L,
|
|
183
|
-
right:
|
|
184
|
+
right: F - re - z,
|
|
184
185
|
bottom: U - ce - L,
|
|
185
|
-
rightIncludeBody:
|
|
186
|
+
rightIncludeBody: F - z,
|
|
186
187
|
bottomIncludeBody: U - L
|
|
187
188
|
};
|
|
188
189
|
};
|
|
189
|
-
return Se(async () => await
|
|
190
|
+
return Se(async () => await A()), X({
|
|
190
191
|
getData: ne,
|
|
191
192
|
getSelectedRow: le,
|
|
192
193
|
getSelectedRows: N,
|
|
@@ -253,7 +254,7 @@ const Be = { id: "data-content" }, Te = {
|
|
|
253
254
|
s(r(D), {
|
|
254
255
|
size: "18",
|
|
255
256
|
class: "cursor-pointer hover:text-blue-600",
|
|
256
|
-
onClick:
|
|
257
|
+
onClick: A
|
|
257
258
|
}, {
|
|
258
259
|
default: n(() => [
|
|
259
260
|
s(r(De))
|
|
@@ -271,12 +272,12 @@ const Be = { id: "data-content" }, Te = {
|
|
|
271
272
|
default: n(() => [
|
|
272
273
|
E("div", Be, [
|
|
273
274
|
e.$slots.toolbar ? (h(), x("div", Te, [
|
|
274
|
-
|
|
275
|
+
P(e.$slots, "toolbar")
|
|
275
276
|
])) : w("", !0),
|
|
276
277
|
s(a, {
|
|
277
278
|
remote: "",
|
|
278
279
|
ref_key: "$table",
|
|
279
|
-
ref:
|
|
280
|
+
ref: W,
|
|
280
281
|
"checked-row-keys": _.value,
|
|
281
282
|
"onUpdate:checkedRowKeys": t[0] || (t[0] = (d) => _.value = d),
|
|
282
283
|
"max-height": ae.value,
|
|
@@ -305,7 +306,7 @@ const Be = { id: "data-content" }, Te = {
|
|
|
305
306
|
s(r(k), {
|
|
306
307
|
type: "primary",
|
|
307
308
|
loading: S.value,
|
|
308
|
-
onClick:
|
|
309
|
+
onClick: V
|
|
309
310
|
}, {
|
|
310
311
|
default: n(() => t[6] || (t[6] = [
|
|
311
312
|
B("保存", -1)
|
|
@@ -325,7 +326,7 @@ const Be = { id: "data-content" }, Te = {
|
|
|
325
326
|
})
|
|
326
327
|
]),
|
|
327
328
|
default: n(() => [
|
|
328
|
-
|
|
329
|
+
P(e.$slots, "addModal")
|
|
329
330
|
]),
|
|
330
331
|
_: 3
|
|
331
332
|
}, 8, ["show", "style"])
|
|
@@ -347,7 +348,7 @@ const Be = { id: "data-content" }, Te = {
|
|
|
347
348
|
s(r(k), {
|
|
348
349
|
type: "primary",
|
|
349
350
|
loading: S.value,
|
|
350
|
-
onClick:
|
|
351
|
+
onClick: V
|
|
351
352
|
}, {
|
|
352
353
|
default: n(() => t[8] || (t[8] = [
|
|
353
354
|
B("保存", -1)
|
|
@@ -367,7 +368,7 @@ const Be = { id: "data-content" }, Te = {
|
|
|
367
368
|
})
|
|
368
369
|
]),
|
|
369
370
|
default: n(() => [
|
|
370
|
-
|
|
371
|
+
P(e.$slots, "editModal")
|
|
371
372
|
]),
|
|
372
373
|
_: 3
|
|
373
374
|
}, 8, ["show", "style"])
|
package/es/table/typing.d.ts
CHANGED
package/lib/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("./components.cjs"),o=require("./languages/index.cjs"),a=require("./table/index.cjs"),i=require("./layout/index.cjs"),s=require("./application/index.cjs"),l=require("./modal/index.cjs"),c=require("./layout/layout.cjs"),d=require("./languages/store.cjs"),u=(e,n)=>(Object.values(r).forEach(t=>{t.install&&e.use(t)}),n?.(),e),P={install:u};exports.PLanguage=o.PLanguageSwitch;exports.PTable=a.default;exports.PLayout=i.default;exports.PApplication=s.default;exports.PModal=l.default;exports.usePLayoutStore=c.usePLayoutStore;exports.usePLanguageStore=d.usePLanguageStore;exports.default=P;exports.install=u;
|
package/lib/index.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import { App } from 'vue';
|
|
|
2
2
|
export * from './components';
|
|
3
3
|
export * from './typing';
|
|
4
4
|
export type { NaivePlusUIResolver } from './utils/resolver';
|
|
5
|
-
export declare const install: (app: App) => App<any>;
|
|
5
|
+
export declare const install: (app: App, callback?: () => void) => App<any>;
|
|
6
6
|
declare const _default: {
|
|
7
|
-
install: (app: App) => App<any>;
|
|
7
|
+
install: (app: App, callback?: () => void) => App<any>;
|
|
8
8
|
};
|
|
9
9
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("naive-ui"),e=require("vue"),d=require("./store.cjs"),p={key:1},f=e.defineComponent({__name:"PLanguage",setup(_){const{select:r,getLanguages:n,getCurrentLanguage:o,getDefaultLanguage:s,getTranslationApiUrl:i}=d.usePLanguageStore(),c=t=>r(t),u=()=>{window.translate.selectLanguageTag.show=!1,window.translate.selectLanguageTag.languages=n().map(t=>t.key).join(","),window.translate.ignore.class.push("ignore-translate-flag"),window.translate.ignore.id.push("ignore-translation"),window.translate.language.setLocal(s()),window.translate.request.api.translate="api/v1/translation",window.translate.request.api.connectTest="api/v1/translation/connect-test",window.translate.request.api.init="api/v1/translation/init",window.translate.request.api.language="api/v1/translation/language",window.translate.request.setHost(i()),window.translate.request.listener.start(),window.translate.listener.start(),window.translate.whole.enableAll(),window.translate.execute()};return e.onMounted(async()=>
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("naive-ui"),e=require("vue"),d=require("./store.cjs"),p={key:1},f=e.defineComponent({__name:"PLanguage",setup(_){const{select:r,getLanguages:n,getCurrentLanguage:o,getDefaultLanguage:s,getTranslationApiUrl:i}=d.usePLanguageStore(),c=t=>r(t),u=()=>{window.translate.selectLanguageTag.show=!1,window.translate.selectLanguageTag.languages=n().map(t=>t.key).join(","),window.translate.ignore.class.push("ignore-translate-flag"),window.translate.ignore.id.push("ignore-translation"),window.translate.language.setLocal(s()),window.translate.request.api.translate="api/v1/translation",window.translate.request.api.connectTest="api/v1/translation/connect-test",window.translate.request.api.init="api/v1/translation/init",window.translate.request.api.language="api/v1/translation/language",window.translate.request.setHost(i()),window.translate.request.listener.start(),window.translate.listener.start(),window.translate.whole.enableAll(),window.translate.execute()};return e.onMounted(async()=>await e.nextTick(()=>u())),(t,l)=>{const g=a.NIcon,w=a.NButton;return e.unref(n)().length>0?(e.openBlock(),e.createBlock(e.unref(a.NDropdown),{key:0,id:"ignore-translation",placement:"bottom-start",trigger:"hover",class:"flex flex-col justify-center h-full ignore",onSelect:c,options:e.unref(n)()},{default:e.withCtx(()=>[e.createVNode(w,{quaternary:"",type:"info"},{default:e.withCtx(()=>[e.unref(o)()?(e.openBlock(),e.createElementBlock("label",p,e.toDisplayString(e.unref(o)()?.label),1)):(e.openBlock(),e.createBlock(g,{key:0,size:"18"},{default:e.withCtx(()=>l[0]||(l[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[e.createElementVNode("path",{d:"M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z",fill:"currentColor"}),e.createElementVNode("path",{d:"M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z",fill:"currentColor"})],-1)])),_:1,__:[0]}))]),_:1})]),_:1},8,["options"])):e.createCommentVNode("",!0)}}});exports.default=f;
|
package/lib/modal/PModal.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("naive-ui"),e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("naive-ui"),e=require("vue"),C={class:"w-full cursor-move",id:"basic-modal-bar"},y=e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保 存"},closable:{type:Boolean,default:!1},preset:{default:"dialog"},title:{default:"操作"},onSave:{},onClose:{}},setup(u,{expose:d}){const i=r.useMessage(),s=u,f=e.ref(null),o=e.ref(!1),a=e.ref(!1),p=async()=>{o.value=!0;try{s.onSave&&await s.onSave()&&l()}catch(t){i.error(t.message)}finally{o.value=!1}},l=()=>{a.value=!1,o.value=!1},v=async()=>{try{s.onClose?await s.onClose()&&l():l()}catch(t){i.error(t.message)}};return d({open:()=>{o.value=!1,a.value=!0},close:()=>{a.value=!1,o.value=!1}}),(t,n)=>{const c=r.NButton,m=r.NSpace;return e.openBlock(),e.createBlock(e.unref(r.NModal),e.mergeProps({ref_key:"$modal",ref:f,preset:"dialog",show:a.value,"onUpdate:show":n[0]||(n[0]=g=>a.value=g)},t.$attrs,{draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,style:{width:"800px"},onClose:l}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",C,e.toDisplayString(t.title),1)]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:2},[t.$slots.action?{name:"action",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"action")]),key:"1"}:{name:"action",fn:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(c,{type:"primary",loading:o.value,onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.saveBtnText),1)]),_:1},8,["loading"]),e.createVNode(c,{onClick:v},{default:e.withCtx(()=>n[1]||(n[1]=[e.createTextVNode("取 消",-1)])),_:1,__:[1]})]),_:1})]),key:"0"}]),1040,["show"])}}});exports.default=y;
|