@chewel611/naive-ui-plus 0.0.41 → 0.0.42
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 +1 -1
- package/dist/index.umd.cjs +1 -1
- package/es/table/PTable.vue.js +1 -1
- package/es/table/typing.d.ts +2 -2
- package/lib/table/PTable.vue.cjs +1 -1
- package/lib/table/typing.d.ts +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -118,7 +118,7 @@ const Tt = { class: "text-lg font-medium" }, $t = { id: "data-content" }, Et = {
|
|
|
118
118
|
c.value = !0;
|
|
119
119
|
try {
|
|
120
120
|
if (L.onLoad) {
|
|
121
|
-
var {
|
|
121
|
+
var { items: k, totalCount: x } = await L.onLoad(
|
|
122
122
|
T.value.page,
|
|
123
123
|
T.value.pageSize
|
|
124
124
|
);
|
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("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","pinia","vue-router","element-resize-detector","vuedraggable"],n):(C=typeof globalThis<"u"?globalThis:C||self,n(C.naiveplus={},C.naiveUi,C.Vue,C.antd,C.pinia,C.vueRouter,C.elementResizeDetectorMaker,C.Draggable))})(this,(function(C,n,e,S,Y,R,he,_e){"use strict";const ye={class:"text-lg font-medium"},we={id:"data-content"},be={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-4 mb-4"},ke=e.defineComponent({__name:"PTable",props:{title:{},idField:{default:"id"},columns:{},onLoad:{},onDelete:{},onAdd:{},onEdit:{}},setup(t,{expose:l}){const a=e.ref(null),p=n.useDialog(),d=n.useMessage(),r=e.ref(!1),w=e.ref([]),g=e.ref([]),P=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async b=>{P.value.page=b,await L()},onUpdatePageSize:async b=>{P.value.pageSize=b,await L()}}),N=t,s=b=>{const k=x=>{const V=[];return b&&b.forEach(O=>{O.key!=="edit"&&O.key!=="delete"&&V.push({label:O.name,key:O.key,icon:O.icon&&(()=>e.h(n.NIcon,null,{default:()=>e.h(O.icon)})),props:{onClick:()=>O.action(x)}})}),V};return{title:"操作",key:"actions",width:100,fixed:"right",render:x=>{let V=[];if(N.onEdit&&V.push({label:"编辑",key:"edit",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.EditOutlined)}),props:{onClick:async()=>await N.onEdit(x)}}),N.onDelete&&V.push({label:"删除",key:"delete",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.DeleteOutlined)}),props:{onClick:()=>B(x)}}),V=[...V,...k(x)],!(V.length<=0))return e.h(n.NDropdown,{options:V,placement:"bottom-start"},{default:()=>e.h(n.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(n.NIcon,()=>e.h(S.MoreOutlined))]})})}}},_=e.computed(()=>{const b=N.columns.filter(x=>x.key!="action").map(x=>({title:x.title,key:x.key,width:x.width,fixed:x.fixed??!1,render:x.render,ellipsis:x.ellipsis?{tooltip:!0}:!1})),k=N.columns.reduce((x,V)=>V.key==="action"?V:x,void 0)?.action;return k&&k?.length>0||N.onEdit||N.onDelete?[{type:"selection",fixed:"left"},...b,s(k)]:[{type:"selection",fixed:"left"},...b]}),c=async()=>await L(),B=b=>i([b]),E=()=>{const b=m();i(b)},i=b=>{b&&b.length>0&&p.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(N.onDelete)try{await N.onDelete(b)?(L(),d.success("删除成功")):d.error("删除失败")}catch(k){d.error(k.message)}}})},m=()=>w.value?g.value.filter(k=>w.value.includes(k.id)).map(k=>e.toRaw(k)):[],y=()=>m()[0],$=()=>e.toRaw(g.value),L=async()=>{if(!r.value){r.value=!0;try{if(N.onLoad){var{data:b,total:k}=await N.onLoad(P.value.page,P.value.pageSize);g.value=b,P.value.itemCount=k}}catch(x){d.error(x.message)}finally{r.value=!1}}},u=e.computed(()=>{const b=e.unref(a);if(!b)return;const k=b?.$el,x=k.querySelector(".n-data-table-thead "),{bottomIncludeBody:V}=F(x),O=48;let I=12,W=25;const A=k.querySelector(".n-data-table__pagination");if(A){const z=A.offsetHeight;I+=z||0}else I+=28;return V-(O+I+W)}),H=b=>!b||!b.getBoundingClientRect?0:b.getBoundingClientRect(),F=b=>{const k=document.documentElement,x=k.scrollLeft,V=k.scrollTop,O=k.clientLeft,I=k.clientTop,W=window.pageXOffset,A=window.pageYOffset,K=H(b),{left:z,top:X,width:J,height:o}=K,f=(W||x)-(O||0),h=(A||V)-(I||0),T=z+W,q=X+A,Z=T-f,G=q-h,ge=window.document.documentElement.clientWidth,ue=window.document.documentElement.clientHeight;return{left:Z,top:G,right:ge-J-Z,bottom:ue-o-G,rightIncludeBody:ge-Z,bottomIncludeBody:ue-G}};return e.onMounted(async()=>await L()),l({getData:$,getSelectedRow:y,getSelectedRows:m,refreshData:L,resetPage:()=>{P.value.page=1}}),(b,k)=>{const x=n.NTooltip,V=n.NSpace,O=n.NDataTable;return e.openBlock(),e.createBlock(e.unref(n.NCard),{bordered:!1},{header:e.withCtx(()=>[e.createVNode(V,{justify:"space-between",align:"center",class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("span",ye,e.toDisplayString(t.title),1),e.createVNode(V,null,{default:e.withCtx(()=>[N.onAdd?(e.openBlock(),e.createBlock(x,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:N.onAdd},{default:e.withCtx(()=>[e.createVNode(e.unref(S.PlusSquareOutlined))]),_:1},8,["onClick"])]),default:e.withCtx(()=>[k[1]||(k[1]=e.createElementVNode("span",null,"新增",-1))]),_:1})):e.createCommentVNode("",!0),N.onDelete?(e.openBlock(),e.createBlock(x,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:E},{default:e.withCtx(()=>[e.createVNode(e.unref(S.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[k[2]||(k[2]=e.createElementVNode("span",null,"删除",-1))]),_:1})):e.createCommentVNode("",!0),e.createVNode(x,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:c},{default:e.withCtx(()=>[e.createVNode(e.unref(S.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[k[3]||(k[3]=e.createElementVNode("span",null,"刷新",-1))]),_:1})]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",we,[b.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",be,[e.renderSlot(b.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(O,{remote:"",ref_key:"$table",ref:a,"checked-row-keys":w.value,"onUpdate:checkedRowKeys":k[0]||(k[0]=I=>w.value=I),"max-height":u.value,loading:r.value,bordered:!1,"single-line":!1,columns:_.value,data:g.value,pagination:P.value,"row-key":I=>I[t.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"])])]),_:3})}}}),D=t=>{const l=t;return l.install=function(a){a.component(l.__name,t)},t},Q=D(ke),Ce=["Redirect","RedirectSon","login"],j=Y.defineStore("p-layout",()=>{const t=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1,enableLanguage:!1});return{state:t,initTabs:i=>{i.sort((m,y)=>m.meta.affix&&!y.meta.affix?-1:!m.meta.affix&&y.meta.affix?1:Number(y.meta.sort??0)-Number(m.meta.sort??0)),t.tabs=i},addTab:i=>Ce.includes(i.name)?!1:(t.tabs?.some(y=>y.fullPath==i.fullPath)||t.tabs?.push(i),!0),closeCurrentTab:i=>{const m=t.tabs.findIndex(y=>y.fullPath==i.fullPath);t.tabs.splice(m,1)},closeAllTabs:()=>{t.tabs=t.tabs.filter(i=>i?.meta?.affix??!1)},closeOtherTabs:i=>{t.tabs=t.tabs.filter(m=>m.fullPath==i.fullPath||(m?.meta?.affix??!1))},closeLeftTabs:i=>{const m=t.tabs.findIndex(y=>y.fullPath==i.fullPath);t.tabs=t.tabs.filter((y,$)=>$>=m||(y?.meta?.affix??!1))},closeRightTabs:i=>{const m=t.tabs.findIndex(y=>y.fullPath==i.fullPath);t.tabs=t.tabs.filter((y,$)=>$<=m||(y?.meta?.affix??!1))},collapse:()=>{t.collapsed=!t.collapsed},setTitle:i=>{t.title=i},setLogo:i=>{t.logo=i},setUser:(i,m)=>{t.uid=i,t.uname=m},setSettingPages:i=>{t.settingPages=i},setLogout:i=>{t.logout=i},enableLanguage:i=>{t.enableLanguage=i}}}),Ne={class:"logo"},xe=e.defineComponent({__name:"PLogo",setup(t){const l=j();return(a,p)=>(e.openBlock(),e.createElementBlock("div",Ne,[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=(t,l)=>{const a=t.__vccOpts||t;for(const[p,d]of l)a[p]=d;return a},Pe=M(xe,[["__scopeId","data-v-e48aeefa"]]),Be={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],initLanguages:async()=>[],selectLanguage:async t=>{}},U=Y.defineStore("language",()=>{const t=e.ref(Be),l=async()=>(t.value.options.length===0&&(t.value.options=await t.value.initLanguages()),t.value.options);return{select:async s=>{if(t.value.currentLanguage===s)return;const _=(await l()).find(c=>c.key===s);_&&(t.value.currentLanguage=_.key,t.value.selectLanguage(_))},selectLanguageCallback:async s=>{t.value.selectLanguage=s},initLanguagesCallback:async s=>{t.value.initLanguages=s},getLanguages:l,getCurrentLanguage:async()=>{if(t.value.currentLanguage)return(await l()).find(s=>s.key===t.value.currentLanguage)},setTranslationApiUrl:s=>{t.value.translationApiUrl=s},getTranslationApiUrl:()=>t.value.translationApiUrl,getDefaultLanguage:()=>t.value.defaultLanguage?t.value.defaultLanguage:"chinese_simplified",setDefaultLanguage:s=>{(s==="Chinese"||s==="chinese")&&(s="chinese_simplified"),t.value.defaultLanguage=s}}}),Ve={key:1},v=e.defineComponent({__name:"PLanguage",setup(t){const{select:l,getLanguages:a,getCurrentLanguage:p,getDefaultLanguage:d,getTranslationApiUrl:r}=U(),w=e.ref(),g=e.ref([]),P=async s=>await l(s),N=async()=>{const s=window.translate;s&&(s.selectLanguageTag.show=!1,s.selectLanguageTag.languages=(await a()).map(_=>_.key).join(","),s.ignore.class.push("ignore-translate-flag"),s.ignore.id.push("ignore-translation"),s.language.setLocal(d()),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(r()),s.request.listener.start(),s.listener.start(),s.whole.enableAll(),s.execute())};return e.onMounted(async()=>{await e.nextTick(),await N(),w.value=await p(),g.value=await a()}),(s,_)=>{const c=n.NIcon,B=n.NButton;return g.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:g.value},{default:e.withCtx(()=>[e.createVNode(B,{quaternary:"",type:"info"},{default:e.withCtx(()=>[w.value?(e.openBlock(),e.createElementBlock("label",Ve,e.toDisplayString(w.value?.label),1)):(e.openBlock(),e.createBlock(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)}}}),Se={class:"layout-header"},Ee={class:"layout-header-left"},Le={class:"link-text"},Te={key:1,class:"link-text"},$e={class:"layout-header-right"},Oe={key:0,class:"layout-header-trigger-min"},De={class:"layout-header-trigger layout-header-trigger-min"},Ie={class:"layout-header-trigger layout-header-trigger-min"},Re={class:"avatar"},Me=M(e.defineComponent({__name:"PHeader",setup(t){const l=n.useMessage(),a=n.useDialog(),p=j(),d=R.useRouter(),r=R.useRoute(),w=e.inject("reloadPage"),g=i=>d.push({name:i}),P=e.computed(()=>N(r.matched)),N=i=>i.map(m=>{const y={key:m.name,label:m.meta.title,icon:m.meta.icon,meta:m.meta,disabled:m.path==="/",children:void 0};return m.children&&m.children.length>0&&(y.children=N(m.children)),y}),s=e.ref(!1),_=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),s.value=!1):(document.documentElement.requestFullscreen(),s.value=!0)},c=e.computed(()=>{const i=[];return i.push({label:"退出登录",key:"logout"}),p.state.settingPages&&p.state.settingPages.length>0&&p.state.settingPages.forEach(m=>{i.push({label:m.title,key:m.route})}),i}),B=i=>{i==="logout"?E():d.push({name:i})},E=()=>{a.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(p.state.logout)try{await p.state.logout(),localStorage.removeItem("TABS-ROUTES"),l.error("退出成功")}catch(i){console.error(i),l.error("退出登录失败")}finally{location.reload()}else l.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(i,m)=>{const y=n.NTooltip,$=n.NDivider,L=n.NAvatar;return e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",Ee,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:m[0]||(m[0]=(...u)=>e.unref(p).collapse&&e.unref(p).collapse(...u))},[e.unref(p).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:m[1]||(m[1]=(...u)=>e.unref(w)&&e.unref(w)(...u))},[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,u=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u.label},[u.label?(e.openBlock(),e.createBlock(e.unref(n.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[u.children&&u.children.length?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,options:u.children,onSelect:g},{default:e.withCtx(()=>[e.createElementVNode("span",Le,[u.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(u.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Te,[u.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(u.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",$e,[e.unref(p).state.enableLanguage?(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(v)])):e.createCommentVNode("",!0),e.createElementVNode("div",De,[e.createVNode(y,{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(()=>[m[2]||(m[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1})]),e.createElementVNode("div",Ie,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:B,options:c.value},{default:e.withCtx(()=>[e.createElementVNode("div",Re,[e.createElementVNode("span",null,e.toDisplayString(e.unref(p).state.uname),1),e.createVNode($,{vertical:""}),e.createVNode(L,{round:"",src:e.unref(p).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-563e4e55"]]),Ae={class:"mt-1"},ze=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(t){return(l,a)=>{const p=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",Ae,[t.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(p,{key:0},{default:e.withCtx(({Component:d,route:r})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d),{key:r.fullPath}))],1024))]),_:1}))])}}}),qe={class:"tabs-view-main"},je=["id","onClick","onContextmenu"],He={class:"tabs-close"},We={class:"tabs-close-btn"},Fe=M(e.defineComponent({__name:"PTabs",setup(t){e.useCssVars(o=>({d48fbd46:a.value,v380ec63c:p.value}));const l=n.useThemeVars(),a=e.computed(()=>l.value.cardColor),p=e.computed(()=>l.value.textColor1),d=n.useMessage(),r=R.useRoute(),w=R.useRouter(),g=e.ref(null),P=e.ref(null),N=e.ref(!1),s=j(),_=e.computed(()=>s.state.tabs),c=e.reactive({activeKey:r.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),B=["Login","Redirect","ErrorPage"],E=o=>({meta:o.meta,name:o.name,fullPath:o.fullPath??o.path,path:o.path,hash:o.hash??"",query:o.query??{},params:o.params??{}}),i=e.computed(()=>{const h=s.state.collapsed?"64px":"272px";return{left:h,width:`calc(100% - ${h})`}}),m=e.computed(()=>{const o=_.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:N.value||o,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:o,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:o,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.MinusOutlined)})}]}),y=()=>{let o=[E(r)];w.getRoutes().filter(f=>f.meta.affix).forEach(f=>{const h=E(f);o.every(T=>T.name!==h.name)&&o.push(h)});try{if(s.state.cacheTabs){const f=localStorage.getItem("TABS_ROUTES");o=f?JSON.parse(f):o}}finally{return o}},$=o=>{const f=w.getRoutes();o.forEach(h=>{const T=f.find(q=>q.path===h.path);T&&(h.meta=T.meta||h.meta,h.name=T.name||h.name)}),s.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(o))},L=()=>{const o=y();$(o),s.initTabs(o)},u=async o=>{if(await e.nextTick(),!g.value)return;const f=g.value.offsetWidth,h=g.value.scrollWidth;f<h?(c.scrollable=!0,o&&[...g.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach(q=>{q.id===`tag${c.activeKey.split("/").join("/")}`&&q.scrollIntoView&&q.scrollIntoView()})):c.scrollable=!1},H=o=>!(o.draggedContext.element.meta.affix||o.relatedContext.element.meta.affix),F=()=>{let o;o=he(),o.listenTo(P.value,()=>u(!0))},b=o=>{if(!o||o.fullPath===r.fullPath)return;if(c.activeKey=o.fullPath,toString.call(o)==="[object String]"){w.replace(o).catch(console.error);return}const f=o;w.replace(f).catch(console.error)},k=(o,f)=>{o.preventDefault(),N.value=f.path==="/home",c.showDropdown=!1,e.nextTick().then(()=>{c.showDropdown=!0,c.dropdownX=o.clientX,c.dropdownY=o.clientY})},x=()=>{if(r.meta.keepAlive){var o=w.currentRoute.value.matched.find(f=>f.name==r.name);o&&o.components?.default?.name}},V=o=>{if(_.value.length===1)return d.warning("这已经是最后一页,不能再关闭了!");if(x(),s.closeCurrentTab(o),c.activeKey===o.fullPath){const f=_.value[Math.max(0,_.value.length-1)];c.activeKey=f.fullPath,w.push(f)}u()},O=o=>{const f=_.value.find(h=>h.fullPath==o.fullPath);f&&V(f)},I=o=>{s.closeOtherTabs(o),c.activeKey=o.fullPath,u()},W=()=>{s.closeAllTabs(),u()},A=e.inject("reloadPage"),K=o=>{switch(o){case"1":A();break;case"2":V(r);break;case"3":I(r);break;case"4":W();break}u(),c.showDropdown=!1},z=(o,f)=>{const h=g.value.scrollLeft,T=f>0&&h+f>=o||f<0&&h+f<=o?o:h+f;if(g.value&&g.value.scrollTo(T,0),T!==o)return window.requestAnimationFrame(()=>z(o,f))},X=()=>{const o=g.value.offsetWidth,f=g.value.scrollLeft;if(!f)return;const h=f>o?f-o:0;z(h,(h-f)/20)},J=()=>{const o=g.value.offsetWidth,f=g.value.scrollWidth,h=g.value.scrollLeft;if(f-h<=o)return;const T=f-h>o*2?h+o:f-o;z(T,(T-h)/20)};return window.addEventListener("beforeunload",()=>{s.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(_.value))}),window.addEventListener("scroll",o=>{let f=o.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;c.isMultiHeaderFixed=f>=64},!0),e.watch(()=>r.fullPath,o=>{B.includes(r.name)||(c.activeKey=o,s.addTab(E(r)),u(!0))},{immediate:!0}),L(),e.onMounted(()=>F()),(o,f)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(i.value)},[e.createElementVNode("div",qe,[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:X},[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:J},[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:g,class:"tabs-card-scroll"},[e.createVNode(e.unref(_e),{animation:"300","item-key":"fullPath",class:"flex",list:_.value,move:H},{item:e.withCtx(({element:h})=>[e.createElementVNode("div",{class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":c.activeKey===h.fullPath}]),id:`tag${h.fullPath.split("/").join("/")}`,onClick:e.withModifiers(T=>b(h),["stop"]),onContextmenu:T=>k(T,h)},[e.createElementVNode("span",null,e.toDisplayString(h.meta.title),1),h.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"14",onClick:e.withModifiers(T=>O(h),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(S.CloseOutlined))]),_:1},8,["onClick"]))],42,je)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",He,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",placement:"bottom-end",options:m.value,onSelect:K},{default:e.withCtx(()=>[e.createElementVNode("div",We,[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),{placement:"bottom-start",show:c.showDropdown,x:c.dropdownX,y:c.dropdownY,options:m.value,onClickoutside:f[0]||(f[0]=h=>c.showDropdown=!1),onSelect:K},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-428fe23d"]]),Ke=e.defineComponent({__name:"PMenus",setup(t){const l=e.ref([]),a=R.useRoute(),p=R.useRouter(),d=j(),r=e.ref(a.name),w=e.ref(a.matched&&a.matched.length?a.matched.map(c=>c.name):[]),g=c=>{a.name!==c&&(/http(s)?:/.test(c)?window.open(c):p.push({name:c}))},P=c=>{if(!c)return;const B=c.find(E=>w.value.indexOf(E)===-1);w.value=B?[B]:[]},N=()=>{const c=a.matched;w.value=c.map(E=>E.name);const B=a.meta?.activeMenu||"";r.value=B||a.name},s=(c,B=[],E=!1)=>{const i=[],m=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!c||c.length===0)return i;c=c.sort((y,$)=>{let L=($.children?.length?1:0)-(y.children?.length?1:0);return L===0&&(L=(y.meta?.sort??0)-($.meta?.sort??0)),L});for(const y of c){if(E||y.meta?.hidden||m.includes(y.path.toLowerCase())){B.push(y.name),s(y.children||[],B,!0);continue}const $=y.children?.filter(F=>!F.meta?.hidden)||[],L=y.meta?.alwaysShow!=!0&&$.length===1,u=L?$[0]:y,H={key:u.name,label:u.meta?.title,affix:u.meta?.affix,sort:L?y.meta?.sort??0:u.meta?.sort??0,path:u.path,redirect:u.redirect,icon:L?y.meta?.icon:u.meta?.icon,permissions:u.meta?.permissions,meta:u.meta,children:void 0};B.includes(u.name)||(i.push(H),B.push(u.name)),u.children?.length>0&&(H.children=s(u.children,B,E))}return i},_=()=>{const c=p.getRoutes();l.value=s(c)};return e.watch(()=>a.fullPath,()=>{N()}),e.onMounted(()=>{_(),N()}),(c,B)=>(e.openBlock(),e.createBlock(e.unref(n.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:l.value,collapsed:e.unref(d).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":w.value,value:r.value,"onUpdate:value":g,"onUpdate:expandedKeys":P},null,8,["options","collapsed","expanded-keys","value"]))}}),Ye={class:"layout-content-main layout-content-main-fix"},Xe={class:"main-view main-view-fix"},Je=M(e.defineComponent({__name:"PLayout",setup(t){const l=j(),a=e.ref(!1),p=()=>{a.value=!0,e.nextTick(()=>a.value=!1)};return e.provide("reloadPage",p),(d,r)=>{const w=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","trigger-class":"!-right-5","collapsed-trigger-class":"!-right-5",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(Pe),e.createVNode(Ke)]),_:1})]),_:1},8,["collapsed","onCollapse","onExpand"]),e.createVNode(e.unref(n.NLayout),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NLayoutHeader),{position:"absolute"},{default:e.withCtx(()=>[e.createVNode(Me)]),_:1}),e.createVNode(e.unref(n.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[e.createVNode(Fe),e.createElementVNode("div",Xe,[e.createVNode(ze,{loading:a.value},null,8,["loading"])])])]),_:1}),e.createVNode(w,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-0bac2e7d"]]),Ze={};function Ge(t,l){const a=e.resolveComponent("router-view");return e.openBlock(),e.createBlock(a)}const ee=D(M(Ze,[["render",Ge]])),te=D(Je),oe=D(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(t){return(l,a)=>{const p=n.NConfigProvider;return e.openBlock(),e.createBlock(p,{locale:e.unref(n.zhCN),theme:t.theme,"theme-overrides":t.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"])}}})),ne=D(e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},cancelBtnText:{default:"取消"},hideCancelBtn:{type:Boolean,default:!1},hideSaveBtn:{type:Boolean,default:!1},title:{},width:{default:800},height:{default:500},visible:{type:Boolean},loading:{type:Boolean},onSave:{},onClose:{},onAfterEnter:{},onAfterLeave:{},onUpdateShow:{}},emits:["update:visible","update:loading"],setup(t,{expose:l,emit:a}){const p=n.useMessage(),d=t,r=a,w=async()=>{r("update:loading",!0);try{d.onSave&&await d.onSave()&&g()}catch(_){p.error(_.message)}finally{r("update:loading",!1)}},g=()=>{r("update:visible",!1),r("update:loading",!1)},P=async()=>{try{d.onClose?await d.onClose()&&g():g()}catch(_){p.error(_.message),r("update:loading",!1)}};return l({open:()=>{r("update:visible",!0),r("update:loading",!1)},close:()=>{r("update:visible",!1),r("update:loading",!1)}}),(_,c)=>{const B=n.NText,E=n.NButton,i=n.NSpace;return e.openBlock(),e.createBlock(e.unref(n.NModal),e.mergeProps({ref:"$modal",preset:"card"},_.$attrs,{"header-class":"bg-gray-50",show:d.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${d.width}px`},onClose:g,onAfterEnter:d.onAfterEnter,onAfterLeave:d.onAfterLeave,onUpdateShow:d.onUpdateShow}),{header:e.withCtx(()=>[_.$slots.header?e.renderSlot(_.$slots,"header",{key:0}):d.title?(e.openBlock(),e.createBlock(B,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(_.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${d.height}px`})},[e.renderSlot(_.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(_.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(i,{justify:"end"},{default:e.withCtx(()=>[d.hideSaveBtn?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(E,{key:0,type:"primary",loading:t.loading,onClick:w},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.saveBtnText),1)]),_:1},8,["loading"])),e.renderSlot(_.$slots,"action-extra",{loading:t.loading}),d.hideCancelBtn?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(E,{key:1,onClick:P,loading:t.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelBtnText),1)]),_:1},8,["loading"]))]),_:3})]),_:3},16,["show","style","onAfterEnter","onAfterLeave","onUpdateShow"])}}})),ae=D(v),Qe=e.defineComponent({name:"Redirect",setup(){const t=R.useRoute(),l=R.useRouter();return e.onBeforeMount(()=>{const{params:a,query:p}=t,{path:d}=a;l.replace({path:"/"+(Array.isArray(d)?d.join("/"):d),query:p})}),()=>React.createElement(n.NEmpty,null)}}),le=D(Qe),Ue={class:"frame"},ve=["src"],se=D(M(e.defineComponent({__name:"PIframe",setup(t){const l=R.useRoute(),a=e.ref(!1),p=e.ref(null),d=e.ref("");e.unref(l.meta)?.frameSrc&&(d.value=e.unref(l.meta)?.frameSrc);function r(){a.value=!1}function w(){e.nextTick(()=>{const g=e.unref(p);if(!g)return;const P=g;P.attachEvent?P.attachEvent("onload",()=>{r()}):g.onload=()=>{r()}})}return e.onMounted(()=>{a.value=!0,w()}),(g,P)=>{const N=n.NSpin;return e.openBlock(),e.createBlock(N,{show:a.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ue,[e.createElementVNode("iframe",{src:d.value,class:"frame-iframe",ref_key:"frameRef",ref:p},null,8,ve)])]),_:1},8,["show"])}}}),[["__scopeId","data-v-161a378e"]])),et={class:"border border-gray-100 rounded-lg"},tt={class:"text-xl font-semibold text-gray-800"},ot={class:"text-sm text-gray-500 mt-1"},re=D(e.defineComponent({__name:"PPage",props:{icon:{type:Object,required:!1,default:()=>S.AlertOutlined},title:{type:String,required:!0},subtitle:{type:String,required:!1}},setup(t){const l=t;return(a,p)=>{const d=n.NIcon,r=n.NAvatar,w=n.NSpace,g=n.NCard;return e.openBlock(),e.createElementBlock("div",et,[l.title?(e.openBlock(),e.createBlock(g,{key:0,class:"mb-4",bordered:!1,"content-class":"py-4"},{default:e.withCtx(()=>[e.createVNode(w,{align:"center",justify:"space-between"},{default:e.withCtx(()=>[e.createVNode(w,{align:"center",size:16},{default:e.withCtx(()=>[l.icon?(e.openBlock(),e.createBlock(r,{key:0,size:48,class:"bg-linear-to-br from-blue-500 to-indigo-600"},{default:e.withCtx(()=>[e.createVNode(d,{size:24,component:l.icon,color:"#fff"},null,8,["component"])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",null,[e.createElementVNode("div",tt,e.toDisplayString(l.title),1),e.createElementVNode("div",ot,e.toDisplayString(l.subtitle??l.title+"主页"),1)])]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0),a.$slots.search?(e.openBlock(),e.createBlock(g,{key:1,class:"mb-4","content-class":"flex flex-row gap-2",bordered:!1},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"search")]),_:3})):e.createCommentVNode("",!0),a.$slots.default?(e.openBlock(),e.createBlock(g,{key:2,"content-class":"flex flex-row gap-2 p-0!",bordered:!1},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3})):e.createCommentVNode("",!0)])}}})),nt={},at={class:"flex flex-col justify-center page-container"};function lt(t,l){const a=n.NResult;return e.openBlock(),e.createElementBlock("div",at,[e.createVNode(a,{status:"500",title:"服务器错误",description:"抱歉,服务器出错了"})])}const st=M(nt,[["render",lt],["__scopeId","data-v-89cb65c7"]]),rt={},ct={class:"flex flex-col justify-center page-container"};function it(t,l){const a=n.NResult;return e.openBlock(),e.createElementBlock("div",ct,[e.createVNode(a,{status:"404",title:"资源不存在",description:"抱歉,你访问的页面不存在"})])}const dt=M(rt,[["render",it],["__scopeId","data-v-99232671"]]),ft={},pt={class:"flex flex-col justify-center page-container"};function mt(t,l){const a=n.NResult;return e.openBlock(),e.createElementBlock("div",pt,[e.createVNode(a,{status:"403",title:"禁止访问",description:"抱歉,你无权访问该页面"})])}const gt=M(ft,[["render",mt],["__scopeId","data-v-3baa9c16"]]),ce=D(st),ie=D(dt),de=D(gt),fe=Y.defineStore("app-oidc",()=>{const t=e.reactive({});return{setCallback:r=>t.callback=r,callCallback:async r=>await t.callback?.(r),setError:r=>t.error=r,callError:async(r,w)=>await t.error?.(r,w)}}),ut={class:"view-auth-callback"},pe=D(M(e.defineComponent({__name:"POidc",setup(t){const l=R.useRouter(),{callCallback:a,callError:p}=fe();return e.onMounted(async()=>{try{await a(l)}catch(d){await p(l,d)}}),(d,r)=>(e.openBlock(),e.createElementBlock("div",ut,[...r[0]||(r[0]=[e.createElementVNode("div",{class:"view-auth-callback-content"},[e.createElementVNode("div",{class:"view-auth-callback-spinner"},[e.createElementVNode("span",null,"正在处理登录回调...")])],-1)])]))}}),[["__scopeId","data-v-167395ae"]])),ht=Object.freeze(Object.defineProperty({__proto__:null,P403:de,P404:ie,P500:ce,PApplication:oe,PEmptyLayout:ee,PIframe:se,PLanguage:ae,PLayout:te,PModal:ne,POidc:pe,PPage:re,PRedirect:le,PTable:Q},Symbol.toStringTag,{value:"Module"})),me=(t,l)=>(Object.values(ht).forEach(a=>{a.install&&t.use(a)}),l?.(),t),_t={install:me};C.P403=de,C.P404=ie,C.P500=ce,C.PApplication=oe,C.PEmptyLayout=ee,C.PIframe=se,C.PLanguage=ae,C.PLayout=te,C.PModal=ne,C.POidc=pe,C.PPage=re,C.PRedirect=le,C.PTable=Q,C.default=_t,C.install=me,C.useLanguageStore=U,C.useLayoutStore=j,C.useOidcStore=fe,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
1
|
+
(function(C,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","pinia","vue-router","element-resize-detector","vuedraggable"],n):(C=typeof globalThis<"u"?globalThis:C||self,n(C.naiveplus={},C.naiveUi,C.Vue,C.antd,C.pinia,C.vueRouter,C.elementResizeDetectorMaker,C.Draggable))})(this,(function(C,n,e,S,Y,R,he,_e){"use strict";const ye={class:"text-lg font-medium"},we={id:"data-content"},be={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-4 mb-4"},ke=e.defineComponent({__name:"PTable",props:{title:{},idField:{default:"id"},columns:{},onLoad:{},onDelete:{},onAdd:{},onEdit:{}},setup(t,{expose:l}){const a=e.ref(null),p=n.useDialog(),d=n.useMessage(),r=e.ref(!1),w=e.ref([]),g=e.ref([]),P=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async b=>{P.value.page=b,await L()},onUpdatePageSize:async b=>{P.value.pageSize=b,await L()}}),N=t,s=b=>{const k=x=>{const V=[];return b&&b.forEach(O=>{O.key!=="edit"&&O.key!=="delete"&&V.push({label:O.name,key:O.key,icon:O.icon&&(()=>e.h(n.NIcon,null,{default:()=>e.h(O.icon)})),props:{onClick:()=>O.action(x)}})}),V};return{title:"操作",key:"actions",width:100,fixed:"right",render:x=>{let V=[];if(N.onEdit&&V.push({label:"编辑",key:"edit",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.EditOutlined)}),props:{onClick:async()=>await N.onEdit(x)}}),N.onDelete&&V.push({label:"删除",key:"delete",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.DeleteOutlined)}),props:{onClick:()=>B(x)}}),V=[...V,...k(x)],!(V.length<=0))return e.h(n.NDropdown,{options:V,placement:"bottom-start"},{default:()=>e.h(n.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(n.NIcon,()=>e.h(S.MoreOutlined))]})})}}},_=e.computed(()=>{const b=N.columns.filter(x=>x.key!="action").map(x=>({title:x.title,key:x.key,width:x.width,fixed:x.fixed??!1,render:x.render,ellipsis:x.ellipsis?{tooltip:!0}:!1})),k=N.columns.reduce((x,V)=>V.key==="action"?V:x,void 0)?.action;return k&&k?.length>0||N.onEdit||N.onDelete?[{type:"selection",fixed:"left"},...b,s(k)]:[{type:"selection",fixed:"left"},...b]}),c=async()=>await L(),B=b=>i([b]),E=()=>{const b=m();i(b)},i=b=>{b&&b.length>0&&p.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(N.onDelete)try{await N.onDelete(b)?(L(),d.success("删除成功")):d.error("删除失败")}catch(k){d.error(k.message)}}})},m=()=>w.value?g.value.filter(k=>w.value.includes(k.id)).map(k=>e.toRaw(k)):[],y=()=>m()[0],$=()=>e.toRaw(g.value),L=async()=>{if(!r.value){r.value=!0;try{if(N.onLoad){var{items:b,totalCount:k}=await N.onLoad(P.value.page,P.value.pageSize);g.value=b,P.value.itemCount=k}}catch(x){d.error(x.message)}finally{r.value=!1}}},u=e.computed(()=>{const b=e.unref(a);if(!b)return;const k=b?.$el,x=k.querySelector(".n-data-table-thead "),{bottomIncludeBody:V}=F(x),O=48;let I=12,W=25;const A=k.querySelector(".n-data-table__pagination");if(A){const z=A.offsetHeight;I+=z||0}else I+=28;return V-(O+I+W)}),H=b=>!b||!b.getBoundingClientRect?0:b.getBoundingClientRect(),F=b=>{const k=document.documentElement,x=k.scrollLeft,V=k.scrollTop,O=k.clientLeft,I=k.clientTop,W=window.pageXOffset,A=window.pageYOffset,K=H(b),{left:z,top:X,width:J,height:o}=K,f=(W||x)-(O||0),h=(A||V)-(I||0),T=z+W,q=X+A,Z=T-f,G=q-h,ge=window.document.documentElement.clientWidth,ue=window.document.documentElement.clientHeight;return{left:Z,top:G,right:ge-J-Z,bottom:ue-o-G,rightIncludeBody:ge-Z,bottomIncludeBody:ue-G}};return e.onMounted(async()=>await L()),l({getData:$,getSelectedRow:y,getSelectedRows:m,refreshData:L,resetPage:()=>{P.value.page=1}}),(b,k)=>{const x=n.NTooltip,V=n.NSpace,O=n.NDataTable;return e.openBlock(),e.createBlock(e.unref(n.NCard),{bordered:!1},{header:e.withCtx(()=>[e.createVNode(V,{justify:"space-between",align:"center",class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("span",ye,e.toDisplayString(t.title),1),e.createVNode(V,null,{default:e.withCtx(()=>[N.onAdd?(e.openBlock(),e.createBlock(x,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:N.onAdd},{default:e.withCtx(()=>[e.createVNode(e.unref(S.PlusSquareOutlined))]),_:1},8,["onClick"])]),default:e.withCtx(()=>[k[1]||(k[1]=e.createElementVNode("span",null,"新增",-1))]),_:1})):e.createCommentVNode("",!0),N.onDelete?(e.openBlock(),e.createBlock(x,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:E},{default:e.withCtx(()=>[e.createVNode(e.unref(S.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[k[2]||(k[2]=e.createElementVNode("span",null,"删除",-1))]),_:1})):e.createCommentVNode("",!0),e.createVNode(x,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:c},{default:e.withCtx(()=>[e.createVNode(e.unref(S.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[k[3]||(k[3]=e.createElementVNode("span",null,"刷新",-1))]),_:1})]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",we,[b.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",be,[e.renderSlot(b.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(O,{remote:"",ref_key:"$table",ref:a,"checked-row-keys":w.value,"onUpdate:checkedRowKeys":k[0]||(k[0]=I=>w.value=I),"max-height":u.value,loading:r.value,bordered:!1,"single-line":!1,columns:_.value,data:g.value,pagination:P.value,"row-key":I=>I[t.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"])])]),_:3})}}}),D=t=>{const l=t;return l.install=function(a){a.component(l.__name,t)},t},Q=D(ke),Ce=["Redirect","RedirectSon","login"],j=Y.defineStore("p-layout",()=>{const t=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1,enableLanguage:!1});return{state:t,initTabs:i=>{i.sort((m,y)=>m.meta.affix&&!y.meta.affix?-1:!m.meta.affix&&y.meta.affix?1:Number(y.meta.sort??0)-Number(m.meta.sort??0)),t.tabs=i},addTab:i=>Ce.includes(i.name)?!1:(t.tabs?.some(y=>y.fullPath==i.fullPath)||t.tabs?.push(i),!0),closeCurrentTab:i=>{const m=t.tabs.findIndex(y=>y.fullPath==i.fullPath);t.tabs.splice(m,1)},closeAllTabs:()=>{t.tabs=t.tabs.filter(i=>i?.meta?.affix??!1)},closeOtherTabs:i=>{t.tabs=t.tabs.filter(m=>m.fullPath==i.fullPath||(m?.meta?.affix??!1))},closeLeftTabs:i=>{const m=t.tabs.findIndex(y=>y.fullPath==i.fullPath);t.tabs=t.tabs.filter((y,$)=>$>=m||(y?.meta?.affix??!1))},closeRightTabs:i=>{const m=t.tabs.findIndex(y=>y.fullPath==i.fullPath);t.tabs=t.tabs.filter((y,$)=>$<=m||(y?.meta?.affix??!1))},collapse:()=>{t.collapsed=!t.collapsed},setTitle:i=>{t.title=i},setLogo:i=>{t.logo=i},setUser:(i,m)=>{t.uid=i,t.uname=m},setSettingPages:i=>{t.settingPages=i},setLogout:i=>{t.logout=i},enableLanguage:i=>{t.enableLanguage=i}}}),Ne={class:"logo"},xe=e.defineComponent({__name:"PLogo",setup(t){const l=j();return(a,p)=>(e.openBlock(),e.createElementBlock("div",Ne,[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=(t,l)=>{const a=t.__vccOpts||t;for(const[p,d]of l)a[p]=d;return a},Pe=M(xe,[["__scopeId","data-v-e48aeefa"]]),Be={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],initLanguages:async()=>[],selectLanguage:async t=>{}},U=Y.defineStore("language",()=>{const t=e.ref(Be),l=async()=>(t.value.options.length===0&&(t.value.options=await t.value.initLanguages()),t.value.options);return{select:async s=>{if(t.value.currentLanguage===s)return;const _=(await l()).find(c=>c.key===s);_&&(t.value.currentLanguage=_.key,t.value.selectLanguage(_))},selectLanguageCallback:async s=>{t.value.selectLanguage=s},initLanguagesCallback:async s=>{t.value.initLanguages=s},getLanguages:l,getCurrentLanguage:async()=>{if(t.value.currentLanguage)return(await l()).find(s=>s.key===t.value.currentLanguage)},setTranslationApiUrl:s=>{t.value.translationApiUrl=s},getTranslationApiUrl:()=>t.value.translationApiUrl,getDefaultLanguage:()=>t.value.defaultLanguage?t.value.defaultLanguage:"chinese_simplified",setDefaultLanguage:s=>{(s==="Chinese"||s==="chinese")&&(s="chinese_simplified"),t.value.defaultLanguage=s}}}),Ve={key:1},v=e.defineComponent({__name:"PLanguage",setup(t){const{select:l,getLanguages:a,getCurrentLanguage:p,getDefaultLanguage:d,getTranslationApiUrl:r}=U(),w=e.ref(),g=e.ref([]),P=async s=>await l(s),N=async()=>{const s=window.translate;s&&(s.selectLanguageTag.show=!1,s.selectLanguageTag.languages=(await a()).map(_=>_.key).join(","),s.ignore.class.push("ignore-translate-flag"),s.ignore.id.push("ignore-translation"),s.language.setLocal(d()),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(r()),s.request.listener.start(),s.listener.start(),s.whole.enableAll(),s.execute())};return e.onMounted(async()=>{await e.nextTick(),await N(),w.value=await p(),g.value=await a()}),(s,_)=>{const c=n.NIcon,B=n.NButton;return g.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:g.value},{default:e.withCtx(()=>[e.createVNode(B,{quaternary:"",type:"info"},{default:e.withCtx(()=>[w.value?(e.openBlock(),e.createElementBlock("label",Ve,e.toDisplayString(w.value?.label),1)):(e.openBlock(),e.createBlock(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)}}}),Se={class:"layout-header"},Ee={class:"layout-header-left"},Le={class:"link-text"},Te={key:1,class:"link-text"},$e={class:"layout-header-right"},Oe={key:0,class:"layout-header-trigger-min"},De={class:"layout-header-trigger layout-header-trigger-min"},Ie={class:"layout-header-trigger layout-header-trigger-min"},Re={class:"avatar"},Me=M(e.defineComponent({__name:"PHeader",setup(t){const l=n.useMessage(),a=n.useDialog(),p=j(),d=R.useRouter(),r=R.useRoute(),w=e.inject("reloadPage"),g=i=>d.push({name:i}),P=e.computed(()=>N(r.matched)),N=i=>i.map(m=>{const y={key:m.name,label:m.meta.title,icon:m.meta.icon,meta:m.meta,disabled:m.path==="/",children:void 0};return m.children&&m.children.length>0&&(y.children=N(m.children)),y}),s=e.ref(!1),_=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),s.value=!1):(document.documentElement.requestFullscreen(),s.value=!0)},c=e.computed(()=>{const i=[];return i.push({label:"退出登录",key:"logout"}),p.state.settingPages&&p.state.settingPages.length>0&&p.state.settingPages.forEach(m=>{i.push({label:m.title,key:m.route})}),i}),B=i=>{i==="logout"?E():d.push({name:i})},E=()=>{a.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(p.state.logout)try{await p.state.logout(),localStorage.removeItem("TABS-ROUTES"),l.error("退出成功")}catch(i){console.error(i),l.error("退出登录失败")}finally{location.reload()}else l.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(i,m)=>{const y=n.NTooltip,$=n.NDivider,L=n.NAvatar;return e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",Ee,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:m[0]||(m[0]=(...u)=>e.unref(p).collapse&&e.unref(p).collapse(...u))},[e.unref(p).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:m[1]||(m[1]=(...u)=>e.unref(w)&&e.unref(w)(...u))},[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,u=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u.label},[u.label?(e.openBlock(),e.createBlock(e.unref(n.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[u.children&&u.children.length?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,options:u.children,onSelect:g},{default:e.withCtx(()=>[e.createElementVNode("span",Le,[u.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(u.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Te,[u.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(u.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",$e,[e.unref(p).state.enableLanguage?(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(v)])):e.createCommentVNode("",!0),e.createElementVNode("div",De,[e.createVNode(y,{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(()=>[m[2]||(m[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1})]),e.createElementVNode("div",Ie,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:B,options:c.value},{default:e.withCtx(()=>[e.createElementVNode("div",Re,[e.createElementVNode("span",null,e.toDisplayString(e.unref(p).state.uname),1),e.createVNode($,{vertical:""}),e.createVNode(L,{round:"",src:e.unref(p).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-563e4e55"]]),Ae={class:"mt-1"},ze=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(t){return(l,a)=>{const p=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",Ae,[t.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(p,{key:0},{default:e.withCtx(({Component:d,route:r})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d),{key:r.fullPath}))],1024))]),_:1}))])}}}),qe={class:"tabs-view-main"},je=["id","onClick","onContextmenu"],He={class:"tabs-close"},We={class:"tabs-close-btn"},Fe=M(e.defineComponent({__name:"PTabs",setup(t){e.useCssVars(o=>({d48fbd46:a.value,v380ec63c:p.value}));const l=n.useThemeVars(),a=e.computed(()=>l.value.cardColor),p=e.computed(()=>l.value.textColor1),d=n.useMessage(),r=R.useRoute(),w=R.useRouter(),g=e.ref(null),P=e.ref(null),N=e.ref(!1),s=j(),_=e.computed(()=>s.state.tabs),c=e.reactive({activeKey:r.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),B=["Login","Redirect","ErrorPage"],E=o=>({meta:o.meta,name:o.name,fullPath:o.fullPath??o.path,path:o.path,hash:o.hash??"",query:o.query??{},params:o.params??{}}),i=e.computed(()=>{const h=s.state.collapsed?"64px":"272px";return{left:h,width:`calc(100% - ${h})`}}),m=e.computed(()=>{const o=_.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:N.value||o,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:o,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:o,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(S.MinusOutlined)})}]}),y=()=>{let o=[E(r)];w.getRoutes().filter(f=>f.meta.affix).forEach(f=>{const h=E(f);o.every(T=>T.name!==h.name)&&o.push(h)});try{if(s.state.cacheTabs){const f=localStorage.getItem("TABS_ROUTES");o=f?JSON.parse(f):o}}finally{return o}},$=o=>{const f=w.getRoutes();o.forEach(h=>{const T=f.find(q=>q.path===h.path);T&&(h.meta=T.meta||h.meta,h.name=T.name||h.name)}),s.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(o))},L=()=>{const o=y();$(o),s.initTabs(o)},u=async o=>{if(await e.nextTick(),!g.value)return;const f=g.value.offsetWidth,h=g.value.scrollWidth;f<h?(c.scrollable=!0,o&&[...g.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach(q=>{q.id===`tag${c.activeKey.split("/").join("/")}`&&q.scrollIntoView&&q.scrollIntoView()})):c.scrollable=!1},H=o=>!(o.draggedContext.element.meta.affix||o.relatedContext.element.meta.affix),F=()=>{let o;o=he(),o.listenTo(P.value,()=>u(!0))},b=o=>{if(!o||o.fullPath===r.fullPath)return;if(c.activeKey=o.fullPath,toString.call(o)==="[object String]"){w.replace(o).catch(console.error);return}const f=o;w.replace(f).catch(console.error)},k=(o,f)=>{o.preventDefault(),N.value=f.path==="/home",c.showDropdown=!1,e.nextTick().then(()=>{c.showDropdown=!0,c.dropdownX=o.clientX,c.dropdownY=o.clientY})},x=()=>{if(r.meta.keepAlive){var o=w.currentRoute.value.matched.find(f=>f.name==r.name);o&&o.components?.default?.name}},V=o=>{if(_.value.length===1)return d.warning("这已经是最后一页,不能再关闭了!");if(x(),s.closeCurrentTab(o),c.activeKey===o.fullPath){const f=_.value[Math.max(0,_.value.length-1)];c.activeKey=f.fullPath,w.push(f)}u()},O=o=>{const f=_.value.find(h=>h.fullPath==o.fullPath);f&&V(f)},I=o=>{s.closeOtherTabs(o),c.activeKey=o.fullPath,u()},W=()=>{s.closeAllTabs(),u()},A=e.inject("reloadPage"),K=o=>{switch(o){case"1":A();break;case"2":V(r);break;case"3":I(r);break;case"4":W();break}u(),c.showDropdown=!1},z=(o,f)=>{const h=g.value.scrollLeft,T=f>0&&h+f>=o||f<0&&h+f<=o?o:h+f;if(g.value&&g.value.scrollTo(T,0),T!==o)return window.requestAnimationFrame(()=>z(o,f))},X=()=>{const o=g.value.offsetWidth,f=g.value.scrollLeft;if(!f)return;const h=f>o?f-o:0;z(h,(h-f)/20)},J=()=>{const o=g.value.offsetWidth,f=g.value.scrollWidth,h=g.value.scrollLeft;if(f-h<=o)return;const T=f-h>o*2?h+o:f-o;z(T,(T-h)/20)};return window.addEventListener("beforeunload",()=>{s.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(_.value))}),window.addEventListener("scroll",o=>{let f=o.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;c.isMultiHeaderFixed=f>=64},!0),e.watch(()=>r.fullPath,o=>{B.includes(r.name)||(c.activeKey=o,s.addTab(E(r)),u(!0))},{immediate:!0}),L(),e.onMounted(()=>F()),(o,f)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(i.value)},[e.createElementVNode("div",qe,[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:X},[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:J},[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:g,class:"tabs-card-scroll"},[e.createVNode(e.unref(_e),{animation:"300","item-key":"fullPath",class:"flex",list:_.value,move:H},{item:e.withCtx(({element:h})=>[e.createElementVNode("div",{class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":c.activeKey===h.fullPath}]),id:`tag${h.fullPath.split("/").join("/")}`,onClick:e.withModifiers(T=>b(h),["stop"]),onContextmenu:T=>k(T,h)},[e.createElementVNode("span",null,e.toDisplayString(h.meta.title),1),h.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"14",onClick:e.withModifiers(T=>O(h),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(S.CloseOutlined))]),_:1},8,["onClick"]))],42,je)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",He,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",placement:"bottom-end",options:m.value,onSelect:K},{default:e.withCtx(()=>[e.createElementVNode("div",We,[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),{placement:"bottom-start",show:c.showDropdown,x:c.dropdownX,y:c.dropdownY,options:m.value,onClickoutside:f[0]||(f[0]=h=>c.showDropdown=!1),onSelect:K},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-428fe23d"]]),Ke=e.defineComponent({__name:"PMenus",setup(t){const l=e.ref([]),a=R.useRoute(),p=R.useRouter(),d=j(),r=e.ref(a.name),w=e.ref(a.matched&&a.matched.length?a.matched.map(c=>c.name):[]),g=c=>{a.name!==c&&(/http(s)?:/.test(c)?window.open(c):p.push({name:c}))},P=c=>{if(!c)return;const B=c.find(E=>w.value.indexOf(E)===-1);w.value=B?[B]:[]},N=()=>{const c=a.matched;w.value=c.map(E=>E.name);const B=a.meta?.activeMenu||"";r.value=B||a.name},s=(c,B=[],E=!1)=>{const i=[],m=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!c||c.length===0)return i;c=c.sort((y,$)=>{let L=($.children?.length?1:0)-(y.children?.length?1:0);return L===0&&(L=(y.meta?.sort??0)-($.meta?.sort??0)),L});for(const y of c){if(E||y.meta?.hidden||m.includes(y.path.toLowerCase())){B.push(y.name),s(y.children||[],B,!0);continue}const $=y.children?.filter(F=>!F.meta?.hidden)||[],L=y.meta?.alwaysShow!=!0&&$.length===1,u=L?$[0]:y,H={key:u.name,label:u.meta?.title,affix:u.meta?.affix,sort:L?y.meta?.sort??0:u.meta?.sort??0,path:u.path,redirect:u.redirect,icon:L?y.meta?.icon:u.meta?.icon,permissions:u.meta?.permissions,meta:u.meta,children:void 0};B.includes(u.name)||(i.push(H),B.push(u.name)),u.children?.length>0&&(H.children=s(u.children,B,E))}return i},_=()=>{const c=p.getRoutes();l.value=s(c)};return e.watch(()=>a.fullPath,()=>{N()}),e.onMounted(()=>{_(),N()}),(c,B)=>(e.openBlock(),e.createBlock(e.unref(n.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:l.value,collapsed:e.unref(d).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":w.value,value:r.value,"onUpdate:value":g,"onUpdate:expandedKeys":P},null,8,["options","collapsed","expanded-keys","value"]))}}),Ye={class:"layout-content-main layout-content-main-fix"},Xe={class:"main-view main-view-fix"},Je=M(e.defineComponent({__name:"PLayout",setup(t){const l=j(),a=e.ref(!1),p=()=>{a.value=!0,e.nextTick(()=>a.value=!1)};return e.provide("reloadPage",p),(d,r)=>{const w=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","trigger-class":"!-right-5","collapsed-trigger-class":"!-right-5",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(Pe),e.createVNode(Ke)]),_:1})]),_:1},8,["collapsed","onCollapse","onExpand"]),e.createVNode(e.unref(n.NLayout),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NLayoutHeader),{position:"absolute"},{default:e.withCtx(()=>[e.createVNode(Me)]),_:1}),e.createVNode(e.unref(n.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[e.createVNode(Fe),e.createElementVNode("div",Xe,[e.createVNode(ze,{loading:a.value},null,8,["loading"])])])]),_:1}),e.createVNode(w,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-0bac2e7d"]]),Ze={};function Ge(t,l){const a=e.resolveComponent("router-view");return e.openBlock(),e.createBlock(a)}const ee=D(M(Ze,[["render",Ge]])),te=D(Je),oe=D(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(t){return(l,a)=>{const p=n.NConfigProvider;return e.openBlock(),e.createBlock(p,{locale:e.unref(n.zhCN),theme:t.theme,"theme-overrides":t.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"])}}})),ne=D(e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},cancelBtnText:{default:"取消"},hideCancelBtn:{type:Boolean,default:!1},hideSaveBtn:{type:Boolean,default:!1},title:{},width:{default:800},height:{default:500},visible:{type:Boolean},loading:{type:Boolean},onSave:{},onClose:{},onAfterEnter:{},onAfterLeave:{},onUpdateShow:{}},emits:["update:visible","update:loading"],setup(t,{expose:l,emit:a}){const p=n.useMessage(),d=t,r=a,w=async()=>{r("update:loading",!0);try{d.onSave&&await d.onSave()&&g()}catch(_){p.error(_.message)}finally{r("update:loading",!1)}},g=()=>{r("update:visible",!1),r("update:loading",!1)},P=async()=>{try{d.onClose?await d.onClose()&&g():g()}catch(_){p.error(_.message),r("update:loading",!1)}};return l({open:()=>{r("update:visible",!0),r("update:loading",!1)},close:()=>{r("update:visible",!1),r("update:loading",!1)}}),(_,c)=>{const B=n.NText,E=n.NButton,i=n.NSpace;return e.openBlock(),e.createBlock(e.unref(n.NModal),e.mergeProps({ref:"$modal",preset:"card"},_.$attrs,{"header-class":"bg-gray-50",show:d.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${d.width}px`},onClose:g,onAfterEnter:d.onAfterEnter,onAfterLeave:d.onAfterLeave,onUpdateShow:d.onUpdateShow}),{header:e.withCtx(()=>[_.$slots.header?e.renderSlot(_.$slots,"header",{key:0}):d.title?(e.openBlock(),e.createBlock(B,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(_.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${d.height}px`})},[e.renderSlot(_.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(_.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(i,{justify:"end"},{default:e.withCtx(()=>[d.hideSaveBtn?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(E,{key:0,type:"primary",loading:t.loading,onClick:w},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.saveBtnText),1)]),_:1},8,["loading"])),e.renderSlot(_.$slots,"action-extra",{loading:t.loading}),d.hideCancelBtn?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(E,{key:1,onClick:P,loading:t.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelBtnText),1)]),_:1},8,["loading"]))]),_:3})]),_:3},16,["show","style","onAfterEnter","onAfterLeave","onUpdateShow"])}}})),ae=D(v),Qe=e.defineComponent({name:"Redirect",setup(){const t=R.useRoute(),l=R.useRouter();return e.onBeforeMount(()=>{const{params:a,query:p}=t,{path:d}=a;l.replace({path:"/"+(Array.isArray(d)?d.join("/"):d),query:p})}),()=>React.createElement(n.NEmpty,null)}}),le=D(Qe),Ue={class:"frame"},ve=["src"],se=D(M(e.defineComponent({__name:"PIframe",setup(t){const l=R.useRoute(),a=e.ref(!1),p=e.ref(null),d=e.ref("");e.unref(l.meta)?.frameSrc&&(d.value=e.unref(l.meta)?.frameSrc);function r(){a.value=!1}function w(){e.nextTick(()=>{const g=e.unref(p);if(!g)return;const P=g;P.attachEvent?P.attachEvent("onload",()=>{r()}):g.onload=()=>{r()}})}return e.onMounted(()=>{a.value=!0,w()}),(g,P)=>{const N=n.NSpin;return e.openBlock(),e.createBlock(N,{show:a.value},{default:e.withCtx(()=>[e.createElementVNode("div",Ue,[e.createElementVNode("iframe",{src:d.value,class:"frame-iframe",ref_key:"frameRef",ref:p},null,8,ve)])]),_:1},8,["show"])}}}),[["__scopeId","data-v-161a378e"]])),et={class:"border border-gray-100 rounded-lg"},tt={class:"text-xl font-semibold text-gray-800"},ot={class:"text-sm text-gray-500 mt-1"},re=D(e.defineComponent({__name:"PPage",props:{icon:{type:Object,required:!1,default:()=>S.AlertOutlined},title:{type:String,required:!0},subtitle:{type:String,required:!1}},setup(t){const l=t;return(a,p)=>{const d=n.NIcon,r=n.NAvatar,w=n.NSpace,g=n.NCard;return e.openBlock(),e.createElementBlock("div",et,[l.title?(e.openBlock(),e.createBlock(g,{key:0,class:"mb-4",bordered:!1,"content-class":"py-4"},{default:e.withCtx(()=>[e.createVNode(w,{align:"center",justify:"space-between"},{default:e.withCtx(()=>[e.createVNode(w,{align:"center",size:16},{default:e.withCtx(()=>[l.icon?(e.openBlock(),e.createBlock(r,{key:0,size:48,class:"bg-linear-to-br from-blue-500 to-indigo-600"},{default:e.withCtx(()=>[e.createVNode(d,{size:24,component:l.icon,color:"#fff"},null,8,["component"])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",null,[e.createElementVNode("div",tt,e.toDisplayString(l.title),1),e.createElementVNode("div",ot,e.toDisplayString(l.subtitle??l.title+"主页"),1)])]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0),a.$slots.search?(e.openBlock(),e.createBlock(g,{key:1,class:"mb-4","content-class":"flex flex-row gap-2",bordered:!1},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"search")]),_:3})):e.createCommentVNode("",!0),a.$slots.default?(e.openBlock(),e.createBlock(g,{key:2,"content-class":"flex flex-row gap-2 p-0!",bordered:!1},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3})):e.createCommentVNode("",!0)])}}})),nt={},at={class:"flex flex-col justify-center page-container"};function lt(t,l){const a=n.NResult;return e.openBlock(),e.createElementBlock("div",at,[e.createVNode(a,{status:"500",title:"服务器错误",description:"抱歉,服务器出错了"})])}const st=M(nt,[["render",lt],["__scopeId","data-v-89cb65c7"]]),rt={},ct={class:"flex flex-col justify-center page-container"};function it(t,l){const a=n.NResult;return e.openBlock(),e.createElementBlock("div",ct,[e.createVNode(a,{status:"404",title:"资源不存在",description:"抱歉,你访问的页面不存在"})])}const dt=M(rt,[["render",it],["__scopeId","data-v-99232671"]]),ft={},pt={class:"flex flex-col justify-center page-container"};function mt(t,l){const a=n.NResult;return e.openBlock(),e.createElementBlock("div",pt,[e.createVNode(a,{status:"403",title:"禁止访问",description:"抱歉,你无权访问该页面"})])}const gt=M(ft,[["render",mt],["__scopeId","data-v-3baa9c16"]]),ce=D(st),ie=D(dt),de=D(gt),fe=Y.defineStore("app-oidc",()=>{const t=e.reactive({});return{setCallback:r=>t.callback=r,callCallback:async r=>await t.callback?.(r),setError:r=>t.error=r,callError:async(r,w)=>await t.error?.(r,w)}}),ut={class:"view-auth-callback"},pe=D(M(e.defineComponent({__name:"POidc",setup(t){const l=R.useRouter(),{callCallback:a,callError:p}=fe();return e.onMounted(async()=>{try{await a(l)}catch(d){await p(l,d)}}),(d,r)=>(e.openBlock(),e.createElementBlock("div",ut,[...r[0]||(r[0]=[e.createElementVNode("div",{class:"view-auth-callback-content"},[e.createElementVNode("div",{class:"view-auth-callback-spinner"},[e.createElementVNode("span",null,"正在处理登录回调...")])],-1)])]))}}),[["__scopeId","data-v-167395ae"]])),ht=Object.freeze(Object.defineProperty({__proto__:null,P403:de,P404:ie,P500:ce,PApplication:oe,PEmptyLayout:ee,PIframe:se,PLanguage:ae,PLayout:te,PModal:ne,POidc:pe,PPage:re,PRedirect:le,PTable:Q},Symbol.toStringTag,{value:"Module"})),me=(t,l)=>(Object.values(ht).forEach(a=>{a.install&&t.use(a)}),l?.(),t),_t={install:me};C.P403=de,C.P404=ie,C.P500=ce,C.PApplication=oe,C.PEmptyLayout=ee,C.PIframe=se,C.PLanguage=ae,C.PLayout=te,C.PModal=ne,C.POidc=pe,C.PPage=re,C.PRedirect=le,C.PTable=Q,C.default=_t,C.install=me,C.useLanguageStore=U,C.useLayoutStore=j,C.useOidcStore=fe,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
package/es/table/PTable.vue.js
CHANGED
|
@@ -114,7 +114,7 @@ const we = { class: "text-lg font-medium" }, be = { id: "data-content" }, Ce = {
|
|
|
114
114
|
k.value = !0;
|
|
115
115
|
try {
|
|
116
116
|
if (l.onLoad) {
|
|
117
|
-
var {
|
|
117
|
+
var { items: e, totalCount: t } = await l.onLoad(
|
|
118
118
|
u.value.page,
|
|
119
119
|
u.value.pageSize
|
|
120
120
|
);
|
package/es/table/typing.d.ts
CHANGED
|
@@ -19,8 +19,8 @@ export type DataTableProps = {
|
|
|
19
19
|
idField?: string;
|
|
20
20
|
columns: DataTableColumnDefine[];
|
|
21
21
|
onLoad: (page: number, pageSize: number) => Promise<{
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
items: any[];
|
|
23
|
+
totalCount: number;
|
|
24
24
|
}>;
|
|
25
25
|
onDelete?: (rows: any[]) => Promise<boolean>;
|
|
26
26
|
onAdd?: () => Promise<void>;
|
package/lib/table/PTable.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("naive-ui"),e=require("vue"),u=require("@vicons/antd"),K={class:"text-lg font-medium"},X={id:"data-content"},Y={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-4 mb-4"},G=e.defineComponent({__name:"PTable",props:{title:{},idField:{default:"id"},columns:{},onLoad:{},onDelete:{},onAdd:{},onEdit:{}},setup(y,{expose:S}){const N=e.ref(null),D=a.useDialog(),g=a.useMessage(),p=e.ref(!1),h=e.ref([]),m=e.ref([]),c=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async t=>{c.value.page=t,await d()},onUpdatePageSize:async t=>{c.value.pageSize=t,await d()}}),i=y,B=t=>{const o=n=>{const l=[];return t&&t.forEach(r=>{r.key!=="edit"&&r.key!=="delete"&&l.push({label:r.name,key:r.key,icon:r.icon&&(()=>e.h(a.NIcon,null,{default:()=>e.h(r.icon)})),props:{onClick:()=>r.action(n)}})}),l};return{title:"操作",key:"actions",width:100,fixed:"right",render:n=>{let l=[];if(i.onEdit&&l.push({label:"编辑",key:"edit",icon:()=>e.h(a.NIcon,null,{default:()=>e.h(u.EditOutlined)}),props:{onClick:async()=>await i.onEdit(n)}}),i.onDelete&&l.push({label:"删除",key:"delete",icon:()=>e.h(a.NIcon,null,{default:()=>e.h(u.DeleteOutlined)}),props:{onClick:()=>R(n)}}),l=[...l,...o(n)],!(l.length<=0))return e.h(a.NDropdown,{options:l,placement:"bottom-start"},{default:()=>e.h(a.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(a.NIcon,()=>e.h(u.MoreOutlined))]})})}}},O=e.computed(()=>{const t=i.columns.filter(n=>n.key!="action").map(n=>({title:n.title,key:n.key,width:n.width,fixed:n.fixed??!1,render:n.render,ellipsis:n.ellipsis?{tooltip:!0}:!1})),o=i.columns.reduce((n,l)=>l.key==="action"?l:n,void 0)?.action;return o&&o?.length>0||i.onEdit||i.onDelete?[{type:"selection",fixed:"left"},...t,B(o)]:[{type:"selection",fixed:"left"},...t]}),T=async()=>await d(),R=t=>x([t]),I=()=>{const t=k();x(t)},x=t=>{t&&t.length>0&&D.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(i.onDelete)try{await i.onDelete(t)?(d(),g.success("删除成功")):g.error("删除失败")}catch(o){g.error(o.message)}}})},k=()=>h.value?m.value.filter(o=>h.value.includes(o.id)).map(o=>e.toRaw(o)):[],z=()=>k()[0],L=()=>e.toRaw(m.value),d=async()=>{if(!p.value){p.value=!0;try{if(i.onLoad){var{
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("naive-ui"),e=require("vue"),u=require("@vicons/antd"),K={class:"text-lg font-medium"},X={id:"data-content"},Y={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-4 mb-4"},G=e.defineComponent({__name:"PTable",props:{title:{},idField:{default:"id"},columns:{},onLoad:{},onDelete:{},onAdd:{},onEdit:{}},setup(y,{expose:S}){const N=e.ref(null),D=a.useDialog(),g=a.useMessage(),p=e.ref(!1),h=e.ref([]),m=e.ref([]),c=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async t=>{c.value.page=t,await d()},onUpdatePageSize:async t=>{c.value.pageSize=t,await d()}}),i=y,B=t=>{const o=n=>{const l=[];return t&&t.forEach(r=>{r.key!=="edit"&&r.key!=="delete"&&l.push({label:r.name,key:r.key,icon:r.icon&&(()=>e.h(a.NIcon,null,{default:()=>e.h(r.icon)})),props:{onClick:()=>r.action(n)}})}),l};return{title:"操作",key:"actions",width:100,fixed:"right",render:n=>{let l=[];if(i.onEdit&&l.push({label:"编辑",key:"edit",icon:()=>e.h(a.NIcon,null,{default:()=>e.h(u.EditOutlined)}),props:{onClick:async()=>await i.onEdit(n)}}),i.onDelete&&l.push({label:"删除",key:"delete",icon:()=>e.h(a.NIcon,null,{default:()=>e.h(u.DeleteOutlined)}),props:{onClick:()=>R(n)}}),l=[...l,...o(n)],!(l.length<=0))return e.h(a.NDropdown,{options:l,placement:"bottom-start"},{default:()=>e.h(a.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(a.NIcon,()=>e.h(u.MoreOutlined))]})})}}},O=e.computed(()=>{const t=i.columns.filter(n=>n.key!="action").map(n=>({title:n.title,key:n.key,width:n.width,fixed:n.fixed??!1,render:n.render,ellipsis:n.ellipsis?{tooltip:!0}:!1})),o=i.columns.reduce((n,l)=>l.key==="action"?l:n,void 0)?.action;return o&&o?.length>0||i.onEdit||i.onDelete?[{type:"selection",fixed:"left"},...t,B(o)]:[{type:"selection",fixed:"left"},...t]}),T=async()=>await d(),R=t=>x([t]),I=()=>{const t=k();x(t)},x=t=>{t&&t.length>0&&D.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(i.onDelete)try{await i.onDelete(t)?(d(),g.success("删除成功")):g.error("删除失败")}catch(o){g.error(o.message)}}})},k=()=>h.value?m.value.filter(o=>h.value.includes(o.id)).map(o=>e.toRaw(o)):[],z=()=>k()[0],L=()=>e.toRaw(m.value),d=async()=>{if(!p.value){p.value=!0;try{if(i.onLoad){var{items:t,totalCount:o}=await i.onLoad(c.value.page,c.value.pageSize);m.value=t,c.value.itemCount=o}}catch(n){g.error(n.message)}finally{p.value=!1}}},H=e.computed(()=>{const t=e.unref(N);if(!t)return;const o=t?.$el,n=o.querySelector(".n-data-table-thead "),{bottomIncludeBody:l}=$(n),r=48;let s=12,w=25;const f=o.querySelector(".n-data-table__pagination");if(f){const v=f.offsetHeight;s+=v||0}else s+=28;return l-(r+s+w)}),P=t=>!t||!t.getBoundingClientRect?0:t.getBoundingClientRect(),$=t=>{const o=document.documentElement,n=o.scrollLeft,l=o.scrollTop,r=o.clientLeft,s=o.clientTop,w=window.pageXOffset,f=window.pageYOffset,_=P(t),{left:v,top:q,width:M,height:A}=_,j=(w||n)-(r||0),U=(f||l)-(s||0),W=v+w,F=q+f,C=W-j,b=F-U,V=window.document.documentElement.clientWidth,E=window.document.documentElement.clientHeight;return{left:C,top:b,right:V-M-C,bottom:E-A-b,rightIncludeBody:V-C,bottomIncludeBody:E-b}};return e.onMounted(async()=>await d()),S({getData:L,getSelectedRow:z,getSelectedRows:k,refreshData:d,resetPage:()=>{c.value.page=1}}),(t,o)=>{const n=a.NTooltip,l=a.NSpace,r=a.NDataTable;return e.openBlock(),e.createBlock(e.unref(a.NCard),{bordered:!1},{header:e.withCtx(()=>[e.createVNode(l,{justify:"space-between",align:"center",class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("span",K,e.toDisplayString(y.title),1),e.createVNode(l,null,{default:e.withCtx(()=>[i.onAdd?(e.openBlock(),e.createBlock(n,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(a.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:i.onAdd},{default:e.withCtx(()=>[e.createVNode(e.unref(u.PlusSquareOutlined))]),_:1},8,["onClick"])]),default:e.withCtx(()=>[o[1]||(o[1]=e.createElementVNode("span",null,"新增",-1))]),_:1})):e.createCommentVNode("",!0),i.onDelete?(e.openBlock(),e.createBlock(n,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(a.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:I},{default:e.withCtx(()=>[e.createVNode(e.unref(u.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[o[2]||(o[2]=e.createElementVNode("span",null,"删除",-1))]),_:1})):e.createCommentVNode("",!0),e.createVNode(n,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(a.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:T},{default:e.withCtx(()=>[e.createVNode(e.unref(u.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[o[3]||(o[3]=e.createElementVNode("span",null,"刷新",-1))]),_:1})]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",X,[t.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",Y,[e.renderSlot(t.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(r,{remote:"",ref_key:"$table",ref:N,"checked-row-keys":h.value,"onUpdate:checkedRowKeys":o[0]||(o[0]=s=>h.value=s),"max-height":H.value,loading:p.value,bordered:!1,"single-line":!1,columns:O.value,data:m.value,pagination:c.value,"row-key":s=>s[y.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"])])]),_:3})}}});exports.default=G;
|
package/lib/table/typing.d.ts
CHANGED
|
@@ -19,8 +19,8 @@ export type DataTableProps = {
|
|
|
19
19
|
idField?: string;
|
|
20
20
|
columns: DataTableColumnDefine[];
|
|
21
21
|
onLoad: (page: number, pageSize: number) => Promise<{
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
items: any[];
|
|
23
|
+
totalCount: number;
|
|
24
24
|
}>;
|
|
25
25
|
onDelete?: (rows: any[]) => Promise<boolean>;
|
|
26
26
|
onAdd?: () => Promise<void>;
|