shared-layout-components 1.0.13 → 1.0.14
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/README.md +37 -16
- package/dist/index.esm.js +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/styles.css +9 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -32,6 +32,7 @@ npm install shared-layout-components
|
|
|
32
32
|
```json
|
|
33
33
|
{
|
|
34
34
|
"vue": "^3.3.4",
|
|
35
|
+
"vue-router": "^4.0.0",
|
|
35
36
|
"ant-design-vue": "^4.2.6",
|
|
36
37
|
"@ant-design/icons-vue": "^7.0.0",
|
|
37
38
|
"pinia": "^3.0.0",
|
|
@@ -41,38 +42,58 @@ npm install shared-layout-components
|
|
|
41
42
|
|
|
42
43
|
## 快速开始
|
|
43
44
|
|
|
44
|
-
### 1.
|
|
45
|
+
### 1. 定义路由配置
|
|
46
|
+
|
|
47
|
+
```js
|
|
48
|
+
// router.js
|
|
49
|
+
export const routes = [
|
|
50
|
+
{
|
|
51
|
+
path: '/',
|
|
52
|
+
redirect: '/dashboard'
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
path: '/dashboard',
|
|
56
|
+
name: 'Dashboard',
|
|
57
|
+
component: () => import('./pages/Dashboard.vue'),
|
|
58
|
+
meta: { title: '仪表盘' }
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
path: '/user/list',
|
|
62
|
+
name: 'UserList',
|
|
63
|
+
component: () => import('./pages/UserList.vue'),
|
|
64
|
+
meta: { title: '用户列表' }
|
|
65
|
+
}
|
|
66
|
+
];
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 2. 初始化应用
|
|
45
70
|
|
|
46
71
|
```js
|
|
47
72
|
// main.js
|
|
48
73
|
import { createApp } from 'vue';
|
|
49
|
-
import { createPinia } from 'pinia';
|
|
50
|
-
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';
|
|
51
74
|
import Antd from 'ant-design-vue';
|
|
52
75
|
import 'ant-design-vue/dist/reset.css';
|
|
53
76
|
import App from './App.vue';
|
|
54
|
-
import
|
|
77
|
+
import { routes } from './router';
|
|
55
78
|
import SharedLayoutComponents from 'shared-layout-components';
|
|
56
79
|
|
|
57
80
|
const app = createApp(App);
|
|
58
81
|
|
|
59
|
-
//
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
app.use(pinia);
|
|
63
|
-
|
|
64
|
-
app.use(SharedLayoutComponents);
|
|
82
|
+
// 使用组件库,传入路由配置
|
|
83
|
+
// 组件库会自动创建和管理路由、Pinia 实例
|
|
84
|
+
app.use(SharedLayoutComponents, { routes });
|
|
65
85
|
app.use(Antd);
|
|
66
|
-
app.use(router);
|
|
67
|
-
|
|
68
|
-
// 提供 router 和 route 给组件库使用(实现路由联动)
|
|
69
|
-
app.provide('router', router);
|
|
70
|
-
app.provide('route', router.currentRoute);
|
|
71
86
|
|
|
72
87
|
app.mount('#app');
|
|
73
88
|
```
|
|
74
89
|
|
|
75
|
-
|
|
90
|
+
**说明**:
|
|
91
|
+
- 组件库会自动创建和管理路由实例
|
|
92
|
+
- 自动初始化 Pinia 并配置持久化插件
|
|
93
|
+
- 无需手动创建 router 和 pinia
|
|
94
|
+
- 只需提供路由配置即可
|
|
95
|
+
|
|
96
|
+
### 3. 使用 PageLayout 组件
|
|
76
97
|
|
|
77
98
|
```vue
|
|
78
99
|
<template>
|
package/dist/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createPinia as e,defineStore as t}from"pinia";import{default as a}from"pinia-plugin-persistedstate";import{Fragment as n,computed as r,createBlock as u,createCommentVNode as i,createElementBlock as l,createElementVNode as o,createVNode as c,inject as s,normalizeClass as f,openBlock as d,ref as v,renderList as b,renderSlot as y,resolveComponent as m,toDisplayString as p,toRef as h,unref as A,watch as g,withCtx as T,withModifiers as k}from"vue";import{EnvironmentOutlined as w,LeftOutlined as S,RightOutlined as C}from"@ant-design/icons-vue";var D={262(e,t){t.A=(e,t)=>{const a=e.__vccOpts||e;for(const[e,n]of t)a[e]=n;return a}}},E={};function K(e){var t=E[e];if(void 0!==t)return t.exports;var a=E[e]={exports:{}};return D[e](a,a.exports,K),a.exports}function B(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=L(e))||t&&e&&"number"==typeof e.length){a&&(e=a);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,i=!0,l=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return i=e.done,e},e:function(e){l=!0,u=e},f:function(){try{i||null==a.return||a.return()}finally{if(l)throw u}}}}function L(e,t){if(e){if("string"==typeof e)return x(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?x(e,t):void 0}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}K.d=(e,t)=>{for(var a in t)K.o(t,a)&&!K.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},K.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var R={class:"system-title"},V={class:"menu-wrapper"};const I={__name:"SidebarLayout",props:{activeKey:{type:String,default:""},menuData:{type:Array,default:function(){return[]}},collapsed:{type:Boolean,default:!1},systemTitle:{type:String,default:"XXXXXX系统名称"}},emits:["menu-click","update:activeKey","update:collapsed"],setup:function(e,t){var a=t.expose,n=t.emit,i=e,s=n,b=(r(function(){return i.systemTitle}),v(i.collapsed)),y=v([]),h=v([]);g(function(){return i.collapsed},function(e){b.value=e}),g(b,function(e){s("update:collapsed",e)}),g(function(){return i.activeKey},function(e){if(e){y.value=[e];var t=function(e,a){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,u=B(e);try{for(u.s();!(n=u.n()).done;){var i=n.value;if(i.key===a)return r;if(i.children){var l=t(i.children,a,i.key);if(null!==l)return l}}}catch(e){u.e(e)}finally{u.f()}return null},a=i.menuData.length>0?i.menuData:T,n=t(a,e);n&&!h.value.includes(n)&&(h.value=[].concat(function(e){if(Array.isArray(e))return x(e)}(r=h.value)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||L(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[n]))}var r},{immediate:!0});var T=[],k=function(e){return e.map(function(e){var t={key:e.key,label:e.label||e.title,title:e.title||e.label,path:e.path,external:e.external};return e.children&&e.children.length>0&&(t.children=k(e.children)),t})},w=r(function(){var e=i.menuData.length>0?i.menuData:T;return k(e)}),D=function(){b.value=!b.value},E=function(e){var t=e.key,a=(e.item,function(e,t){var n,r=B(e);try{for(r.s();!(n=r.n()).done;){var u=n.value;if(u.key===t)return u;if(u.children){var i=a(u.children,t);if(i)return i}}}catch(e){r.e(e)}finally{r.f()}return null}),n=i.menuData.length>0?i.menuData:T,r=a(n,t);r&&(s("menu-click",r),s("update:activeKey",t))},K=function(e){h.value=e};return g(y,function(e){if(e.length>0){var t=e[0];s("update:activeKey",t)}},{immediate:!1}),a({toggleCollapse:D,expandMenu:function(e){h.value.includes(e)||h.value.push(e)},collapseMenu:function(e){var t=h.value.indexOf(e);t>-1&&h.value.splice(t,1)}}),function(e,t){var a=m("a-menu");return d(),l("div",{class:f(["sidebar",{collapsed:b.value}])},[o("div",R,[o("h1",null,p(i.systemTitle),1)]),o("div",V,[c(a,{selectedKeys:y.value,"onUpdate:selectedKeys":t[0]||(t[0]=function(e){return y.value=e}),openKeys:h.value,"onUpdate:openKeys":t[1]||(t[1]=function(e){return h.value=e}),mode:"inline","inline-collapsed":b.value,items:w.value,onClick:E,onOpenChange:K},null,8,["selectedKeys","openKeys","inline-collapsed","items"])]),o("div",{class:"collapse-btn",onClick:D},[b.value?(d(),u(A(C),{key:1})):(d(),u(A(S),{key:0}))])],2)}}};var U=K(262);const O=(0,U.A)(I,[["__scopeId","data-v-3166c85e"]]);var P={class:"tabs-wrapper"},M={class:"tabs-container"},N=["onClick"],J={class:"tab-title"},Z=["onClick"];const F=Object.assign({name:"Tabs"},{__name:"Tabs",props:{tabs:{type:Array,default:function(){return[]}},activeTab:{type:String,default:""}},emits:["update:activeTab","tab-click","tab-close"],setup:function(e,t){var a=t.emit,u=e,c=a,s=v(u.activeTab),y=[],m=r(function(){return u.tabs.length>0?u.tabs:y});return g(function(){return u.activeTab},function(e){e&&e!==s.value&&(s.value=e)},{immediate:!0}),g(m,function(e){e.length>0&&!s.value&&(s.value=e[0].key,c("update:activeTab",e[0].key))},{immediate:!0}),function(e,t){return d(),l("div",P,[o("div",M,[(d(!0),l(n,null,b(m.value,function(e){return d(),l("div",{key:e.key,class:f(["tab-item",{active:s.value===e.key}]),onClick:function(t){return function(e){s.value=e.key,c("update:activeTab",e.key),c("tab-click",e)}(e)}},[o("span",J,p(e.title),1),!1!==e.closable&&m.value.length>1?(d(),l("span",{key:0,class:"tab-close",onClick:k(function(t){return function(e){c("tab-close",e)}(e)},["stop"])}," × ",8,Z)):i("",!0)],10,N)}),128))])])}}}),z=(0,U.A)(F,[["__scopeId","data-v-26cdabbe"]]);var Q={class:"breadcrumb-wrapper"},W={class:"breadcrumb-content"},Y={key:0,class:"breadcrumb-current"},j=["onClick"],X={class:"breadcrumb-extra"};const q=Object.assign({name:"BreadCrumb"},{__name:"BreadCrumb",props:{items:{type:Array,default:function(){return[]}}},emits:["click"],setup:function(e,t){var a=t.emit,i=e,s=a,f=r(function(){return i.items.length>0?i.items:[]});return function(e,t){var a=m("a-breadcrumb-item"),r=m("a-breadcrumb");return d(),l("div",Q,[o("div",W,[c(A(w),{class:"breadcrumb-icon"}),c(r,null,{default:T(function(){return[(d(!0),l(n,null,b(f.value,function(e,t){return d(),u(a,{key:t},{default:T(function(){return[t===f.value.length-1?(d(),l("span",Y,p(e.title),1)):(d(),l("a",{key:1,onClick:function(a){return function(e,t){s("click",{item:e,index:t})}(e,t)}},p(e.title),9,j))]}),_:2},1024)}),128))]}),_:1})]),o("div",X,[y(e.$slots,"default")])])}}}),G=(0,U.A)(q,[["__scopeId","data-v-06ed9d84"]]);var H=t("pageLayoutTabs",{state:function(){return{tabs:[],currentTab:""}},getters:{currentTabData:function(e){return e.tabs.find(function(t){return t.key===e.currentTab})||null}},actions:{addTab:function(e){this.tabs.find(function(t){return t.key===e.key})||this.tabs.push(e),this.currentTab=e.key},removeTab:function(e){var t=this.tabs.findIndex(function(t){return t.key===e});if(t>-1&&(this.tabs.splice(t,1),this.currentTab===e)){var a,n=Math.min(t,this.tabs.length-1);this.currentTab=(null===(a=this.tabs[n])||void 0===a?void 0:a.key)||""}},setCurrentTab:function(e){this.currentTab=e},clearTabs:function(){this.tabs=[],this.currentTab=""}},persist:{storage:sessionStorage}});function _(e){return function(e){if(Array.isArray(e))return te(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ee(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=ee(e))||t&&e&&"number"==typeof e.length){a&&(e=a);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,i=!0,l=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return i=e.done,e},e:function(e){l=!0,u=e},f:function(){try{i||null==a.return||a.return()}finally{if(l)throw u}}}}function ee(e,t){if(e){if("string"==typeof e)return te(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?te(e,t):void 0}}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var ae={key:1,class:"page-layout--breadcrumb"},ne={class:"page-layout--content"};const re=Object.assign({name:"PageLayout"},{__name:"PageLayout",props:{showSidebar:{type:Boolean,default:!0},menuData:{type:Array,default:function(){return[]}},systemTitle:{type:String,default:"管理系统"},showTabs:{type:Boolean,default:!0},defaultTabs:{type:Array,default:function(){return[]}},showBreadcrumb:{type:Boolean,default:!0},homeBreadcrumb:{type:Object,default:function(){return{}}},autoAddTab:{type:Boolean,default:!0},enableRouterSync:{type:Boolean,default:!0}},emits:["menu-click","tab-change","tab-click","tab-close","breadcrumb-click","update:activeTab"],setup:function(e,t){var a=t.expose,n=t.emit,f=e,b=n,p=s("router",null),A=s("route",null),k=H(),w=v(!1),S=h(k,"currentTab"),C=h(k,"tabs");g(function(){return f.defaultTabs},function(e){e&&e.length>0&&e.forEach(function(e){return k.addTab(e)})},{immediate:!0,deep:!0});var D=r(function(){return k.currentTabData}),E=function(e,t){var a,n=$(e);try{for(n.s();!(a=n.n()).done;){var r=a.value;if(r.path===t)return r.key;if(r.children&&r.children.length>0){var u=E(r.children,t);if(u)return u}}}catch(e){n.e(e)}finally{n.f()}return null},K=function(e,t){var a,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=$(e);try{for(r.s();!(a=r.n()).done;){var u=a.value;if(u.key===t)return[].concat(_(n),[{title:u.title||u.label,path:u.path,key:u.key}]);if(u.children&&u.children.length>0){var i=K(u.children,t,[].concat(_(n),[{title:u.title||u.label,path:u.path,key:u.key}]));if(i)return i}}}catch(e){r.e(e)}finally{r.f()}return null},B=function(e,t){var a,n=$(e);try{for(n.s();!(a=n.n()).done;){var r=a.value;if(r.key===t)return r;if(r.children&&r.children.length>0){var u=B(r.children,t);if(u)return u}}}catch(e){n.e(e)}finally{n.f()}return null};g(function(){var e;return null==A||null===(e=A.value)||void 0===e?void 0:e.path},function(e){if(f.enableRouterSync&&e&&"/"!==e){var t=E(f.menuData,e);t&&P(t)}},{immediate:!0});var L=r(function(){if(S.value===f.homeBreadcrumb.key)return[f.homeBreadcrumb];if(f.menuData&&f.menuData.length>0){var e=K(f.menuData,S.value);if(e)return e}var t=C.value.find(function(e){return e.key===S.value});return t?[f.homeBreadcrumb,{title:t.title,key:t.key}]:[f.homeBreadcrumb]}),x=function(e){b("menu-click",e),f.autoAddTab&&(k.addTab({key:e.key,title:e.title||e.label,closable:!0,path:e.path}),b("update:activeTab",e.key)),console.log("router",p),console.log("item.path",e.path),f.enableRouterSync&&p&&e.path&&p.push(e.path)},R=function(e){if(k.setCurrentTab(e),b("update:activeTab",e),b("tab-change",e),f.enableRouterSync&&p){var t=C.value.find(function(t){return t.key===e});console.log("tab",t),null!=t&&t.path&&p.push(t.path)}},V=function(e){b("tab-click",e)},I=function(e){if(k.removeTab(e.key),b("update:activeTab",S.value),b("tab-close",e),f.enableRouterSync&&p){var t=k.currentTabData;null!=t&&t.path&&p.push(t.path)}},U=function(e){b("breadcrumb-click",e)},P=function(e){var t=B(f.menuData,e);t&&f.autoAddTab&&(k.addTab({key:t.key,title:t.title||t.label,closable:!0,path:t.path}),b("update:activeTab",e))};return a({addTab:function(e){k.addTab(e),b("update:activeTab",e.key)},removeTab:function(e){k.removeTab(e),b("update:activeTab",S.value)},getCurrentTab:function(){return k.currentTabData},addTabByMenuKey:P,findMenuItem:B,findMenuKeyByPath:E,tabsList:C,currentTab:S,currentTabData:D,breadcrumbList:L,clearTabs:k.clearTabs}),function(t,a){var n=m("a-layout-sider"),r=m("a-layout");return d(),u(r,{class:"page-layout"},{default:T(function(){return[c(n,{class:"page-layout--sider"},{default:T(function(){return[y(t.$slots,"sidebar",{},function(){return[e.showSidebar?(d(),u(O,{key:0,collapsed:w.value,"onUpdate:collapsed":a[0]||(a[0]=function(e){return w.value=e}),menuData:e.menuData,systemTitle:e.systemTitle,activeKey:S.value,onMenuClick:x},null,8,["collapsed","menuData","systemTitle","activeKey"])):i("",!0)]})]}),_:3}),c(r,{class:"page-layout--main"},{default:T(function(){return[e.showTabs?y(t.$slots,"tabs",{key:0,tabs:C.value,activeTab:S.value},function(){return[c(z,{tabs:C.value,activeTab:S.value,"onUpdate:activeTab":R,onTabClick:V,onTabClose:I},null,8,["tabs","activeTab"])]}):i("",!0),e.showBreadcrumb?(d(),l("div",ae,[c(G,{items:L.value,onClick:U},{default:T(function(){return[y(t.$slots,"breadcrumbExtra",{},function(){return[a[1]||(a[1]=o("div",{class:"breadcrumb-extra"},[o("div",{class:"extra-item"},[o("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAYCAYAAAAPtVbGAAAEzklEQVR4AZRWWyisaxj+zVqr1TrPXkU5tWcicjdCxMWeES6EbeLGqU3OSQslJZkZRcqFJRdOiUlySNi4EpmSIqfZKUoyU05xYY1DIcl+ni8zjWFZe0/z/t/7fd97Pv2/THrht7y8rK6qqmouLS21pKWl3ScmJgooKCi4z83NXa+vr+9ZX19XvyBCXD2r5EH4XGVl5dzMzEzZxsaGgtSvX7+2Ei4uLiSz2awaHR3Nrq2tnYMhcz09PYKGdK7wRElHR4eurq6OwtU+Pj42WG1oamrSDAwMuI2NjSkJxNvb2zVardb46tUrKwxRQ6FlcnJS56qA+0dKIFDX2dmp50VFRUVLX1+fsrCwUB8WFmbimTPwrKamJhtKNSEhIQbe6fHLy8t7osihhB6srq7qP3/+bIuPj9dkZGSUubm52cj8EoDGSsOQtxwvLy9pZ2dHPzg4WObMI5REREQopqam9CQqKSnJKS4uNjkT/Rc8Li6ul4pI29/f3zw9Pa0iThBKfH19ew4PDyVPT09DamrqOC9c4f7+Xk4L4bGewL0rDRUlJSW1UNbs7Gyz/V7W1dWl3t3dVUORcNt+4bxWV1ersrKyLCiAZoSGedOBL9mZxo6Xl5frg4KCbEtLS2pWKc9lJycnfxFBHn4aosvLy7GtrS15TEyMTaVSmUkPT0TJwiudwWBwJBs5snl7extZ5mtra6KHZGgmFZny8/ONXF0Bsc1eWFhQ0NPGxsbg0NDQFtLAe/nm5mYyPNNPTEzoEZ5snhPsId/e3v6Te9mbN29UAQEBEix41hMUhLCSJQsaq5+fH/mkm5ubLwiLCRGwYrVFR0c7+GGImUV0fHwsvJUhFNLV1ZVVcLo87F6QAXlhLyiOjo6+kOz29vY3KLWhcTXop2DgDhnAbSgi6ezsTE5aUV1EngMkV+QLJd4Lxm+gsTQ0NHzHKl1fX//OvKCaLLDcQpznzvDx40exlRF59+6dcEucPDygQA1BaicvaFXvp0+fRFg+fPjA/QP14wUK5Uw8Ro5oZpm7u7sVIZDs5WYnZ9Wx3h+8YChycJeDMcOwSaenpz9VsrKyokLSJRgiKlEGL/6mVnu5QZAESxSLi4vZ9OLr169GntkBs0mg9niLjcsDuRRhDgwM/IdXMpYbQiDNz89/g3BhHaZs8vv3700KhaL8mRFj8/f3N8EAhk3OlXsIE6GBDAUmsggzGlPkT8bSDA8PN7HZMHNEuaanp38fGhrStLa2CiIIcPxRAGbeoQk1xLlyD1woQWOyXxQwchxnDLMkqgveGGCRBOKytrY20aUOqf8TiYyMFIIRBREVsgsl9CYhIcHARA8PD4+NjIw8O5fI8CuIjY0dp8EHBwcqhE4oEkrIiKrhy8lwfn4uNxqNY3yB8fxXQEEIkQ7Dswy4CiGyeXh4mBl+Vhn5HUq4aW9v10O4KFG+wJKTky2YTT1gfhRC7OUseeRDx+nM2YXXQDOacj0zM/PH27dvRd/ZK/aREiqiR3t7e0pOW6wKCMoG8xy/VqiUgML4UVRUNAcD9Pv7+3KEyKTVao1KpdLM0saYF2GCJ39Q5hMlPMSXiLW7uzsYPSE+FsjM87u7OwWBeFRUlBWjvwVh0mA6a/i+Ry6D4ZUyJSUFOrVG9Bh7Tv4vAAAA//+JkNwrAAAABklEQVQDAEMWYUbEMf08AAAAAElFTkSuQmCC",alt:""}),o("p",null,"AI助手")]),o("div",{class:"extra-item"},[o("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADaUlEQVR4AYxWXVIaQRDunkSSt+AN8AZ4guAJoieIvkj5FHlJyUIVWKW7vumbBaYKPYF4AswJ5AZyA3lMljCd71tcXPnTqWlmdqb765/pnsHJitZsdvJBdNWoRe1eELUeg7BlpFrYeqphDeNhM7osrICQhQooRIA4Fz+J+aaYFdV0qKr3JFHtm1nJRM5jc4/g7VBmkaI5BfWz9o+RuQcCEMyp31qLcxunwf7maXV/K6UwKCuEd2BiF7y7UPRQDVuHs0rA87LEcHhvF7BsSGCCnVQP7pvNveEL18vsJCh3w6PyDkB2RGWo8IgYkmnYm3zRcmE4RAYeVhN4svP2LxV58VtQMiBG1pNEAeNn3pqASsDPqgcDzKe9Hl2VEOceD5jEeT26LE0ZMKFMqgSeNIiJZUQQvyP50DCRPKhCRixNO6zZ9uZ7iHOJZwIJxrzkzfW4N2XEhLJO/B6meWB2MIqjJgjvitpdhJhyMUuqcg6LhgjbBs+EMeeca6AEJMvP0CqyDZglprlDxmwLmpleY3jVm6ftopgUTLVL69JNzgFwg+/8UdSZqwOV8TH2JF6LD52ofuPHIutltDZQkaF4+S0zTZ37wiX3YZTnmKWPfz/3KadOvzoxK9KlLEM6Z3qeBuX1sLb/yrskrGI85EH4c7+f8qcj5UR0AC8LzkTmLJAVjeCxuJ4wdCKVpayoC+wVHH7e3bPgYv54YVhn0Jyo0JV3eYHUa9Bygoe1A9aNvNFwIyBWYCowpTCu7mbIOO2/BxzxZ930HSqYGZL/9+lPcTW6iKmvOB1X3uKrhy0YIuLN7lxulLuggKGaOa6isHpwzUJaxTPZ0+8cYVDXMaWYpnSpPnO/kCklhjDAo1OL2p10bdEYRJe7XhBK1WsWpCPTWMZ7LAxvbunDQT6SqS1NCGaZiGsoitM/V3OigJogfAwq4OHoTRjxlen0NKyWN3gXZZanU8qk9eFFjp8xJVFALlTsBdMP80TJ7E2J9aW9jus8BScG6iM5VwpMFfCD6Qf3KqA86DY4a91Ww19JRnA/SzwTAuNMeh7XuZok1z0xsnyvFHCDnozVb5rIDS65bZXxbfrIEIwUhO2HUS5+JDCTg0lCmazlxCLNKeAi4wfmXa9+A55UCCBmRYKRhAeNfxaC6yIX59b5TlCGsrP0HwAA//9BECN1AAAABklEQVQDAF7M7K1fqR9uAAAAAElFTkSuQmCC",alt:""}),o("p",null,"帮助文档")])],-1))]})]}),_:3},8,["items"])])):i("",!0),o("div",ne,[y(t.$slots,"default",{activeTab:S.value,tabData:D.value})])]}),_:3})]}),_:3})}}}),ue=(0,U.A)(re,[["__scopeId","data-v-035d8c8e"]]);var ie=[ue,O,G,z],le=function(t){if(!le.installed){if(le.installed=!0,!t.config.globalProperties.$pinia){var n=function(){var t=e();return t.use(a),t}();t.use(n)}ie.forEach(function(e){t.component(e.name,e)})}};"undefined"!=typeof window&&window.Vue&&le(window.Vue);const oe={install:le,PageLayout:ue,SidebarLayout:O,BreadCrumb:G,Tabs:z};export{G as BreadCrumb,ue as PageLayout,O as SidebarLayout,z as Tabs,oe as default,H as useTabsStore};
|
|
1
|
+
import{createPinia as e,defineStore as t}from"pinia";import{default as n}from"pinia-plugin-persistedstate";import{Fragment as a,computed as r,createBlock as u,createCommentVNode as i,createElementBlock as o,createElementVNode as l,createVNode as c,normalizeClass as s,openBlock as f,ref as d,renderList as b,renderSlot as v,resolveComponent as y,toDisplayString as m,unref as p,watch as h,withCtx as A,withModifiers as g}from"vue";import{EnvironmentOutlined as T,LeftOutlined as k,RightOutlined as w}from"@ant-design/icons-vue";import{createRouter as S,createWebHistory as C}from"vue-router";var D={262(e,t){t.A=(e,t)=>{const n=e.__vccOpts||e;for(const[e,a]of t)n[e]=a;return n}}},E={};function O(e){var t=E[e];if(void 0!==t)return t.exports;var n=E[e]={exports:{}};return D[e](n,n.exports,O),n.exports}function K(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=B(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,i=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){o=!0,u=e},f:function(){try{i||null==n.return||n.return()}finally{if(o)throw u}}}}function B(e,t){if(e){if("string"==typeof e)return L(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?L(e,t):void 0}}function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}O.d=(e,t)=>{for(var n in t)O.o(t,n)&&!O.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},O.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var P={class:"system-title"},x={class:"menu-wrapper"};const R={__name:"SidebarLayout",props:{activeKey:{type:String,default:""},menuData:{type:Array,default:function(){return[]}},collapsed:{type:Boolean,default:!1},systemTitle:{type:String,default:"XXXXXX系统名称"}},emits:["menu-click","update:activeKey","update:collapsed"],setup:function(e,t){var n=t.expose,a=t.emit,i=e,b=a,v=(r(function(){return i.systemTitle}),d(i.collapsed)),A=d([]),g=d([]);h(function(){return i.collapsed},function(e){v.value=e}),h(v,function(e){b("update:collapsed",e)}),h(function(){return i.activeKey},function(e){if(e){A.value=[e];var t=function(e,n){var a,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,u=K(e);try{for(u.s();!(a=u.n()).done;){var i=a.value;if(i.key===n)return r;if(i.children){var o=t(i.children,n,i.key);if(null!==o)return o}}}catch(e){u.e(e)}finally{u.f()}return null},n=i.menuData.length>0?i.menuData:T,a=t(n,e);a&&!g.value.includes(a)&&(g.value=[].concat(function(e){if(Array.isArray(e))return L(e)}(r=g.value)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||B(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[a]))}var r},{immediate:!0});var T=[],S=function(e){return e.map(function(e){var t={key:e.key,label:e.label||e.title,title:e.title||e.label,path:e.path,external:e.external};return e.children&&e.children.length>0&&(t.children=S(e.children)),t})},C=r(function(){var e=i.menuData.length>0?i.menuData:T;return S(e)}),D=function(){v.value=!v.value},E=function(e){var t=e.key,n=(e.item,function(e,t){var a,r=K(e);try{for(r.s();!(a=r.n()).done;){var u=a.value;if(u.key===t)return u;if(u.children){var i=n(u.children,t);if(i)return i}}}catch(e){r.e(e)}finally{r.f()}return null}),a=i.menuData.length>0?i.menuData:T,r=n(a,t);r&&(b("menu-click",r),b("update:activeKey",t))},O=function(e){g.value=e};return h(A,function(e){if(e.length>0){var t=e[0];b("update:activeKey",t)}},{immediate:!1}),n({toggleCollapse:D,expandMenu:function(e){g.value.includes(e)||g.value.push(e)},collapseMenu:function(e){var t=g.value.indexOf(e);t>-1&&g.value.splice(t,1)}}),function(e,t){var n=y("a-menu");return f(),o("div",{class:s(["sidebar",{collapsed:v.value}])},[l("div",P,[l("h1",null,m(i.systemTitle),1)]),l("div",x,[c(n,{selectedKeys:A.value,"onUpdate:selectedKeys":t[0]||(t[0]=function(e){return A.value=e}),openKeys:g.value,"onUpdate:openKeys":t[1]||(t[1]=function(e){return g.value=e}),mode:"inline","inline-collapsed":v.value,items:C.value,onClick:E,onOpenChange:O},null,8,["selectedKeys","openKeys","inline-collapsed","items"])]),l("div",{class:"collapse-btn",onClick:D},[v.value?(f(),u(p(w),{key:1})):(f(),u(p(k),{key:0}))])],2)}}};var V=O(262);const I=(0,V.A)(R,[["__scopeId","data-v-3166c85e"]]);var U={class:"tabs-wrapper"},j={class:"tabs-container"},M=["onClick"],N={class:"tab-title"},J=["onClick"];const Z=Object.assign({name:"Tabs"},{__name:"Tabs",props:{tabs:{type:Array,default:function(){return[]}},activeTab:{type:String,default:""}},emits:["update:activeTab","tab-click","tab-close"],setup:function(e,t){var n=t.emit,u=e,c=n,v=d(u.activeTab),y=[],p=r(function(){return u.tabs.length>0?u.tabs:y});return h(function(){return u.activeTab},function(e){e&&e!==v.value&&(v.value=e)},{immediate:!0}),h(p,function(e){e.length>0&&!v.value&&(v.value=e[0].key,c("update:activeTab",e[0].key))},{immediate:!0}),function(e,t){return f(),o("div",U,[l("div",j,[(f(!0),o(a,null,b(p.value,function(e){return f(),o("div",{key:e.key,class:s(["tab-item",{active:v.value===e.key}]),onClick:function(t){return function(e){v.value=e.key,c("update:activeTab",e.key),c("tab-click",e)}(e)}},[l("span",N,m(e.title),1),!1!==e.closable&&p.value.length>1?(f(),o("span",{key:0,class:"tab-close",onClick:g(function(t){return function(e){c("tab-close",e)}(e)},["stop"])}," × ",8,J)):i("",!0)],10,M)}),128))])])}}}),F=(0,V.A)(Z,[["__scopeId","data-v-26cdabbe"]]);var W={class:"breadcrumb-wrapper"},z={class:"breadcrumb-content"},Q={key:0,class:"breadcrumb-current"},Y=["onClick"],X={class:"breadcrumb-extra"};const q=Object.assign({name:"BreadCrumb"},{__name:"BreadCrumb",props:{items:{type:Array,default:function(){return[]}}},emits:["click"],setup:function(e,t){var n=t.emit,i=e,s=n,d=r(function(){return i.items.length>0?i.items:[]});return function(e,t){var n=y("a-breadcrumb-item"),r=y("a-breadcrumb");return f(),o("div",W,[l("div",z,[c(p(T),{class:"breadcrumb-icon"}),c(r,null,{default:A(function(){return[(f(!0),o(a,null,b(d.value,function(e,t){return f(),u(n,{key:t},{default:A(function(){return[t===d.value.length-1?(f(),o("span",Q,m(e.title),1)):(f(),o("a",{key:1,onClick:function(n){return function(e,t){s("click",{item:e,index:t})}(e,t)}},m(e.title),9,Y))]}),_:2},1024)}),128))]}),_:1})]),l("div",X,[v(e.$slots,"default")])])}}}),G=(0,V.A)(q,[["__scopeId","data-v-06ed9d84"]]);var H=t("pageLayoutTabs",{state:function(){return{tabs:[],currentTab:""}},getters:{currentTabData:function(e){return e.tabs.find(function(t){return t.key===e.currentTab})||null}},actions:{addTab:function(e){this.tabs.find(function(t){return t.key===e.key})||this.tabs.push(e),this.currentTab=e.key},removeTab:function(e){var t=this.tabs.findIndex(function(t){return t.key===e});if(t>-1&&(this.tabs.splice(t,1),this.currentTab===e)){var n,a=Math.min(t,this.tabs.length-1);this.currentTab=(null===(n=this.tabs[a])||void 0===n?void 0:n.key)||""}},setCurrentTab:function(e){this.currentTab=e},clearTabs:function(){this.tabs=[],this.currentTab=""}},persist:{storage:sessionStorage}});function _(e){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function $(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function ee(e,t,n){return(t=function(e){var t=function(e){if("object"!=_(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=_(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==_(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var te=null,ne=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return te=S(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$(Object(n),!0).forEach(function(t){ee(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({history:C(t.basePath||""),routes:e},t)),te},ae=function(){return te},re=function(){return te?te.currentRoute:null};function ue(e){return function(e){if(Array.isArray(e))return le(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||oe(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ie(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=oe(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,i=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){o=!0,u=e},f:function(){try{i||null==n.return||n.return()}finally{if(o)throw u}}}}function oe(e,t){if(e){if("string"==typeof e)return le(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?le(e,t):void 0}}function le(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var ce={key:1,class:"page-layout--breadcrumb"},se={class:"page-layout--content"};const fe=Object.assign({name:"PageLayout"},{__name:"PageLayout",props:{showSidebar:{type:Boolean,default:!0},menuData:{type:Array,default:function(){return[]}},systemTitle:{type:String,default:"管理系统"},showTabs:{type:Boolean,default:!0},defaultTabs:{type:Array,default:function(){return[]}},showBreadcrumb:{type:Boolean,default:!0},homeBreadcrumb:{type:Object,default:function(){return{}}},autoAddTab:{type:Boolean,default:!0},enableRouterSync:{type:Boolean,default:!0}},emits:["menu-click","tab-change","tab-click","tab-close","breadcrumb-click","update:activeTab"],setup:function(e,t){var n=t.expose,a=t.emit,s=e,b=a,m=ae(),p=re(),g=null,T=function(){return g||(g=H()),g},k=d(!1),w=r({get:function(){return T().currentTab},set:function(e){T().currentTab=e}}),S=r(function(){return T().tabs});h(function(){return s.defaultTabs},function(e){e&&e.length>0&&e.forEach(function(e){return T().addTab(e)})},{immediate:!0,deep:!0});var C=r(function(){return T().currentTabData}),D=function(e,t){var n,a=ie(e);try{for(a.s();!(n=a.n()).done;){var r=n.value;if(r.path===t)return r.key;if(r.children&&r.children.length>0){var u=D(r.children,t);if(u)return u}}}catch(e){a.e(e)}finally{a.f()}return null},E=function(e,t){var n,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=ie(e);try{for(r.s();!(n=r.n()).done;){var u=n.value;if(u.key===t)return[].concat(ue(a),[{title:u.title||u.label,path:u.path,key:u.key}]);if(u.children&&u.children.length>0){var i=E(u.children,t,[].concat(ue(a),[{title:u.title||u.label,path:u.path,key:u.key}]));if(i)return i}}}catch(e){r.e(e)}finally{r.f()}return null},O=function(e,t){var n,a=ie(e);try{for(a.s();!(n=a.n()).done;){var r=n.value;if(r.key===t)return r;if(r.children&&r.children.length>0){var u=O(r.children,t);if(u)return u}}}catch(e){a.e(e)}finally{a.f()}return null};h(function(){var e;return null==p||null===(e=p.value)||void 0===e?void 0:e.path},function(e){if(s.enableRouterSync&&e&&"/"!==e){var t=D(s.menuData,e);t&&V(t)}},{immediate:!0});var K=r(function(){if(w.value===s.homeBreadcrumb.key)return[s.homeBreadcrumb];if(s.menuData&&s.menuData.length>0){var e=E(s.menuData,w.value);if(e)return e}var t=S.value.find(function(e){return e.key===w.value});return t?[s.homeBreadcrumb,{title:t.title,key:t.key}]:[s.homeBreadcrumb]}),B=function(e){b("menu-click",e),s.autoAddTab&&(T().addTab({key:e.key,title:e.title||e.label,closable:!0,path:e.path}),b("update:activeTab",e.key)),console.log("router",m),console.log("item.path",e.path),s.enableRouterSync&&m&&e.path&&m.push(e.path)},L=function(e){if(T().setCurrentTab(e),b("update:activeTab",e),b("tab-change",e),s.enableRouterSync&&m){var t=S.value.find(function(t){return t.key===e});console.log("tab",t),null!=t&&t.path&&m.push(t.path)}},P=function(e){b("tab-click",e)},x=function(e){if(T().removeTab(e.key),b("update:activeTab",w.value),b("tab-close",e),s.enableRouterSync&&m){var t=T().currentTabData;null!=t&&t.path&&m.push(t.path)}},R=function(e){b("breadcrumb-click",e)},V=function(e){var t=O(s.menuData,e);t&&s.autoAddTab&&(T().addTab({key:t.key,title:t.title||t.label,closable:!0,path:t.path}),b("update:activeTab",e))};return n({addTab:function(e){T().addTab(e),b("update:activeTab",e.key)},removeTab:function(e){T().removeTab(e),b("update:activeTab",w.value)},getCurrentTab:function(){return T().currentTabData},addTabByMenuKey:V,findMenuItem:O,findMenuKeyByPath:D,tabsList:S,currentTab:w,currentTabData:C,breadcrumbList:K,clearTabs:function(){return T().clearTabs()}}),function(t,n){var a=y("a-layout-sider"),r=y("a-layout");return f(),u(r,{class:"page-layout"},{default:A(function(){return[c(a,{class:"page-layout--sider"},{default:A(function(){return[v(t.$slots,"sidebar",{},function(){return[e.showSidebar?(f(),u(I,{key:0,collapsed:k.value,"onUpdate:collapsed":n[0]||(n[0]=function(e){return k.value=e}),menuData:e.menuData,systemTitle:e.systemTitle,activeKey:w.value,onMenuClick:B},null,8,["collapsed","menuData","systemTitle","activeKey"])):i("",!0)]})]}),_:3}),c(r,{class:"page-layout--main"},{default:A(function(){return[e.showTabs?v(t.$slots,"tabs",{key:0,tabs:S.value,activeTab:w.value},function(){return[c(F,{tabs:S.value,activeTab:w.value,"onUpdate:activeTab":L,onTabClick:P,onTabClose:x},null,8,["tabs","activeTab"])]}):i("",!0),e.showBreadcrumb?(f(),o("div",ce,[c(G,{items:K.value,onClick:R},{default:A(function(){return[v(t.$slots,"breadcrumbExtra",{},function(){return[n[1]||(n[1]=l("div",{class:"breadcrumb-extra"},[l("div",{class:"extra-item"},[l("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAYCAYAAAAPtVbGAAAEzklEQVR4AZRWWyisaxj+zVqr1TrPXkU5tWcicjdCxMWeES6EbeLGqU3OSQslJZkZRcqFJRdOiUlySNi4EpmSIqfZKUoyU05xYY1DIcl+ni8zjWFZe0/z/t/7fd97Pv2/THrht7y8rK6qqmouLS21pKWl3ScmJgooKCi4z83NXa+vr+9ZX19XvyBCXD2r5EH4XGVl5dzMzEzZxsaGgtSvX7+2Ei4uLiSz2awaHR3Nrq2tnYMhcz09PYKGdK7wRElHR4eurq6OwtU+Pj42WG1oamrSDAwMuI2NjSkJxNvb2zVardb46tUrKwxRQ6FlcnJS56qA+0dKIFDX2dmp50VFRUVLX1+fsrCwUB8WFmbimTPwrKamJhtKNSEhIQbe6fHLy8t7osihhB6srq7qP3/+bIuPj9dkZGSUubm52cj8EoDGSsOQtxwvLy9pZ2dHPzg4WObMI5REREQopqam9CQqKSnJKS4uNjkT/Rc8Li6ul4pI29/f3zw9Pa0iThBKfH19ew4PDyVPT09DamrqOC9c4f7+Xk4L4bGewL0rDRUlJSW1UNbs7Gyz/V7W1dWl3t3dVUORcNt+4bxWV1ersrKyLCiAZoSGedOBL9mZxo6Xl5frg4KCbEtLS2pWKc9lJycnfxFBHn4aosvLy7GtrS15TEyMTaVSmUkPT0TJwiudwWBwJBs5snl7extZ5mtra6KHZGgmFZny8/ONXF0Bsc1eWFhQ0NPGxsbg0NDQFtLAe/nm5mYyPNNPTEzoEZ5snhPsId/e3v6Te9mbN29UAQEBEix41hMUhLCSJQsaq5+fH/mkm5ubLwiLCRGwYrVFR0c7+GGImUV0fHwsvJUhFNLV1ZVVcLo87F6QAXlhLyiOjo6+kOz29vY3KLWhcTXop2DgDhnAbSgi6ezsTE5aUV1EngMkV+QLJd4Lxm+gsTQ0NHzHKl1fX//OvKCaLLDcQpznzvDx40exlRF59+6dcEucPDygQA1BaicvaFXvp0+fRFg+fPjA/QP14wUK5Uw8Ro5oZpm7u7sVIZDs5WYnZ9Wx3h+8YChycJeDMcOwSaenpz9VsrKyokLSJRgiKlEGL/6mVnu5QZAESxSLi4vZ9OLr169GntkBs0mg9niLjcsDuRRhDgwM/IdXMpYbQiDNz89/g3BhHaZs8vv3700KhaL8mRFj8/f3N8EAhk3OlXsIE6GBDAUmsggzGlPkT8bSDA8PN7HZMHNEuaanp38fGhrStLa2CiIIcPxRAGbeoQk1xLlyD1woQWOyXxQwchxnDLMkqgveGGCRBOKytrY20aUOqf8TiYyMFIIRBREVsgsl9CYhIcHARA8PD4+NjIw8O5fI8CuIjY0dp8EHBwcqhE4oEkrIiKrhy8lwfn4uNxqNY3yB8fxXQEEIkQ7Dswy4CiGyeXh4mBl+Vhn5HUq4aW9v10O4KFG+wJKTky2YTT1gfhRC7OUseeRDx+nM2YXXQDOacj0zM/PH27dvRd/ZK/aREiqiR3t7e0pOW6wKCMoG8xy/VqiUgML4UVRUNAcD9Pv7+3KEyKTVao1KpdLM0saYF2GCJ39Q5hMlPMSXiLW7uzsYPSE+FsjM87u7OwWBeFRUlBWjvwVh0mA6a/i+Ry6D4ZUyJSUFOrVG9Bh7Tv4vAAAA//+JkNwrAAAABklEQVQDAEMWYUbEMf08AAAAAElFTkSuQmCC",alt:""}),l("p",null,"AI助手")]),l("div",{class:"extra-item"},[l("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADaUlEQVR4AYxWXVIaQRDunkSSt+AN8AZ4guAJoieIvkj5FHlJyUIVWKW7vumbBaYKPYF4AswJ5AZyA3lMljCd71tcXPnTqWlmdqb765/pnsHJitZsdvJBdNWoRe1eELUeg7BlpFrYeqphDeNhM7osrICQhQooRIA4Fz+J+aaYFdV0qKr3JFHtm1nJRM5jc4/g7VBmkaI5BfWz9o+RuQcCEMyp31qLcxunwf7maXV/K6UwKCuEd2BiF7y7UPRQDVuHs0rA87LEcHhvF7BsSGCCnVQP7pvNveEL18vsJCh3w6PyDkB2RGWo8IgYkmnYm3zRcmE4RAYeVhN4svP2LxV58VtQMiBG1pNEAeNn3pqASsDPqgcDzKe9Hl2VEOceD5jEeT26LE0ZMKFMqgSeNIiJZUQQvyP50DCRPKhCRixNO6zZ9uZ7iHOJZwIJxrzkzfW4N2XEhLJO/B6meWB2MIqjJgjvitpdhJhyMUuqcg6LhgjbBs+EMeeca6AEJMvP0CqyDZglprlDxmwLmpleY3jVm6ftopgUTLVL69JNzgFwg+/8UdSZqwOV8TH2JF6LD52ofuPHIutltDZQkaF4+S0zTZ37wiX3YZTnmKWPfz/3KadOvzoxK9KlLEM6Z3qeBuX1sLb/yrskrGI85EH4c7+f8qcj5UR0AC8LzkTmLJAVjeCxuJ4wdCKVpayoC+wVHH7e3bPgYv54YVhn0Jyo0JV3eYHUa9Bygoe1A9aNvNFwIyBWYCowpTCu7mbIOO2/BxzxZ930HSqYGZL/9+lPcTW6iKmvOB1X3uKrhy0YIuLN7lxulLuggKGaOa6isHpwzUJaxTPZ0+8cYVDXMaWYpnSpPnO/kCklhjDAo1OL2p10bdEYRJe7XhBK1WsWpCPTWMZ7LAxvbunDQT6SqS1NCGaZiGsoitM/V3OigJogfAwq4OHoTRjxlen0NKyWN3gXZZanU8qk9eFFjp8xJVFALlTsBdMP80TJ7E2J9aW9jus8BScG6iM5VwpMFfCD6Qf3KqA86DY4a91Ww19JRnA/SzwTAuNMeh7XuZok1z0xsnyvFHCDnozVb5rIDS65bZXxbfrIEIwUhO2HUS5+JDCTg0lCmazlxCLNKeAi4wfmXa9+A55UCCBmRYKRhAeNfxaC6yIX59b5TlCGsrP0HwAA//9BECN1AAAABklEQVQDAF7M7K1fqR9uAAAAAElFTkSuQmCC",alt:""}),l("p",null,"帮助文档")])],-1))]})]}),_:3},8,["items"])])):i("",!0),l("div",se,[v(t.$slots,"default",{activeTab:w.value,tabData:C.value})])]}),_:3})]}),_:3})}}}),de=(0,V.A)(fe,[["__scopeId","data-v-2dca0f58"]]);var be=[de,I,G,F],ve=function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!ve.installed){if(ve.installed=!0,!t.config.globalProperties.$pinia){var r=function(){var t=e();return t.use(n),t}();t.use(r)}if(a.routes&&a.routes.length>0){var u=ne(a.routes,a.routerOptions||{});t.use(u)}be.forEach(function(e){t.component(e.name,e)})}};"undefined"!=typeof window&&window.Vue&&ve(window.Vue);const ye={install:ve,PageLayout:de,SidebarLayout:I,BreadCrumb:G,Tabs:F};export{G as BreadCrumb,de as PageLayout,I as SidebarLayout,F as Tabs,ne as createAppRouter,ye as default,re as getCurrentRoute,ae as getRouter,H as useTabsStore};
|
package/dist/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@ant-design/icons-vue"),require("pinia"),require("pinia-plugin-persistedstate"),require("vue")):"function"==typeof define&&define.amd?define(["@ant-design/icons-vue","pinia","pinia-plugin-persistedstate","vue"],t):"object"==typeof exports?exports.SharedLayoutComponents=t(require("@ant-design/icons-vue"),require("pinia"),require("pinia-plugin-persistedstate"),require("vue")):e.SharedLayoutComponents=t(e.icons,e.pinia,e.piniaPluginPersistedstate,e.Vue)}(this,(e,t,n,a)=>(()=>{"use strict";var r={262(e,t){t.A=(e,t)=>{const n=e.__vccOpts||e;for(const[e,a]of t)n[e]=a;return n}},166(t){t.exports=e},144(e){e.exports=t},282(e){e.exports=n},594(e){e.exports=a}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return r[e](n,n.exports,i),n.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var l={};i.d(l,{default:()=>Q});var u=i(144),c=i(282),s=i.n(c),d=i(594),f=i(166);function m(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=p(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function p(e,t){if(e){if("string"==typeof e)return v(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var b={class:"system-title"},y={class:"menu-wrapper"};const h={__name:"SidebarLayout",props:{activeKey:{type:String,default:""},menuData:{type:Array,default:function(){return[]}},collapsed:{type:Boolean,default:!1},systemTitle:{type:String,default:"XXXXXX系统名称"}},emits:["menu-click","update:activeKey","update:collapsed"],setup:function(e,t){var n=t.expose,a=t.emit,r=e,o=a,i=((0,d.computed)(function(){return r.systemTitle}),(0,d.ref)(r.collapsed)),l=(0,d.ref)([]),u=(0,d.ref)([]);(0,d.watch)(function(){return r.collapsed},function(e){i.value=e}),(0,d.watch)(i,function(e){o("update:collapsed",e)}),(0,d.watch)(function(){return r.activeKey},function(e){if(e){l.value=[e];var t=function(e,n){var a,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=m(e);try{for(o.s();!(a=o.n()).done;){var i=a.value;if(i.key===n)return r;if(i.children){var l=t(i.children,n,i.key);if(null!==l)return l}}}catch(e){o.e(e)}finally{o.f()}return null},n=r.menuData.length>0?r.menuData:c,a=t(n,e);a&&!u.value.includes(a)&&(u.value=[].concat(function(e){if(Array.isArray(e))return v(e)}(o=u.value)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||p(o)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[a]))}var o},{immediate:!0});var c=[],s=function(e){return e.map(function(e){var t={key:e.key,label:e.label||e.title,title:e.title||e.label,path:e.path,external:e.external};return e.children&&e.children.length>0&&(t.children=s(e.children)),t})},h=(0,d.computed)(function(){var e=r.menuData.length>0?r.menuData:c;return s(e)}),A=function(){i.value=!i.value},k=function(e){var t=e.key,n=(e.item,function(e,t){var a,r=m(e);try{for(r.s();!(a=r.n()).done;){var o=a.value;if(o.key===t)return o;if(o.children){var i=n(o.children,t);if(i)return i}}}catch(e){r.e(e)}finally{r.f()}return null}),a=r.menuData.length>0?r.menuData:c,i=n(a,t);i&&(o("menu-click",i),o("update:activeKey",t))},g=function(e){u.value=e};return(0,d.watch)(l,function(e){if(e.length>0){var t=e[0];o("update:activeKey",t)}},{immediate:!1}),n({toggleCollapse:A,expandMenu:function(e){u.value.includes(e)||u.value.push(e)},collapseMenu:function(e){var t=u.value.indexOf(e);t>-1&&u.value.splice(t,1)}}),function(e,t){var n=(0,d.resolveComponent)("a-menu");return(0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(["sidebar",{collapsed:i.value}])},[(0,d.createElementVNode)("div",b,[(0,d.createElementVNode)("h1",null,(0,d.toDisplayString)(r.systemTitle),1)]),(0,d.createElementVNode)("div",y,[(0,d.createVNode)(n,{selectedKeys:l.value,"onUpdate:selectedKeys":t[0]||(t[0]=function(e){return l.value=e}),openKeys:u.value,"onUpdate:openKeys":t[1]||(t[1]=function(e){return u.value=e}),mode:"inline","inline-collapsed":i.value,items:h.value,onClick:k,onOpenChange:g},null,8,["selectedKeys","openKeys","inline-collapsed","items"])]),(0,d.createElementVNode)("div",{class:"collapse-btn",onClick:A},[i.value?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.RightOutlined),{key:1})):((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.LeftOutlined),{key:0}))])],2)}}};var A=i(262);const k=(0,A.A)(h,[["__scopeId","data-v-3166c85e"]]);var g={class:"tabs-wrapper"},T={class:"tabs-container"},w=["onClick"],B={class:"tab-title"},E=["onClick"];const C=Object.assign({name:"Tabs"},{__name:"Tabs",props:{tabs:{type:Array,default:function(){return[]}},activeTab:{type:String,default:""}},emits:["update:activeTab","tab-click","tab-close"],setup:function(e,t){var n=t.emit,a=e,r=n,o=(0,d.ref)(a.activeTab),i=[],l=(0,d.computed)(function(){return a.tabs.length>0?a.tabs:i});return(0,d.watch)(function(){return a.activeTab},function(e){e&&e!==o.value&&(o.value=e)},{immediate:!0}),(0,d.watch)(l,function(e){e.length>0&&!o.value&&(o.value=e[0].key,r("update:activeTab",e[0].key))},{immediate:!0}),function(e,t){return(0,d.openBlock)(),(0,d.createElementBlock)("div",g,[(0,d.createElementVNode)("div",T,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(l.value,function(e){return(0,d.openBlock)(),(0,d.createElementBlock)("div",{key:e.key,class:(0,d.normalizeClass)(["tab-item",{active:o.value===e.key}]),onClick:function(t){return function(e){o.value=e.key,r("update:activeTab",e.key),r("tab-click",e)}(e)}},[(0,d.createElementVNode)("span",B,(0,d.toDisplayString)(e.title),1),!1!==e.closable&&l.value.length>1?((0,d.openBlock)(),(0,d.createElementBlock)("span",{key:0,class:"tab-close",onClick:(0,d.withModifiers)(function(t){return function(e){r("tab-close",e)}(e)},["stop"])}," × ",8,E)):(0,d.createCommentVNode)("",!0)],10,w)}),128))])])}}}),S=(0,A.A)(C,[["__scopeId","data-v-26cdabbe"]]);var V={class:"breadcrumb-wrapper"},D={class:"breadcrumb-content"},x={key:0,class:"breadcrumb-current"},N=["onClick"],L={class:"breadcrumb-extra"};const K=Object.assign({name:"BreadCrumb"},{__name:"BreadCrumb",props:{items:{type:Array,default:function(){return[]}}},emits:["click"],setup:function(e,t){var n=t.emit,a=e,r=n,o=(0,d.computed)(function(){return a.items.length>0?a.items:[]});return function(e,t){var n=(0,d.resolveComponent)("a-breadcrumb-item"),a=(0,d.resolveComponent)("a-breadcrumb");return(0,d.openBlock)(),(0,d.createElementBlock)("div",V,[(0,d.createElementVNode)("div",D,[(0,d.createVNode)((0,d.unref)(f.EnvironmentOutlined),{class:"breadcrumb-icon"}),(0,d.createVNode)(a,null,{default:(0,d.withCtx)(function(){return[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(o.value,function(e,t){return(0,d.openBlock)(),(0,d.createBlock)(n,{key:t},{default:(0,d.withCtx)(function(){return[t===o.value.length-1?((0,d.openBlock)(),(0,d.createElementBlock)("span",x,(0,d.toDisplayString)(e.title),1)):((0,d.openBlock)(),(0,d.createElementBlock)("a",{key:1,onClick:function(n){return function(e,t){r("click",{item:e,index:t})}(e,t)}},(0,d.toDisplayString)(e.title),9,N))]}),_:2},1024)}),128))]}),_:1})]),(0,d.createElementVNode)("div",L,[(0,d.renderSlot)(e.$slots,"default")])])}}}),R=(0,A.A)(K,[["__scopeId","data-v-06ed9d84"]]);var I=(0,u.defineStore)("pageLayoutTabs",{state:function(){return{tabs:[],currentTab:""}},getters:{currentTabData:function(e){return e.tabs.find(function(t){return t.key===e.currentTab})||null}},actions:{addTab:function(e){this.tabs.find(function(t){return t.key===e.key})||this.tabs.push(e),this.currentTab=e.key},removeTab:function(e){var t=this.tabs.findIndex(function(t){return t.key===e});if(t>-1&&(this.tabs.splice(t,1),this.currentTab===e)){var n,a=Math.min(t,this.tabs.length-1);this.currentTab=(null===(n=this.tabs[a])||void 0===n?void 0:n.key)||""}},setCurrentTab:function(e){this.currentTab=e},clearTabs:function(){this.tabs=[],this.currentTab=""}},persist:{storage:sessionStorage}});function U(e){return function(e){if(Array.isArray(e))return M(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||P(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=P(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function P(e,t){if(e){if("string"==typeof e)return M(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?M(e,t):void 0}}function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var q={key:1,class:"page-layout--breadcrumb"},J={class:"page-layout--content"};const j=Object.assign({name:"PageLayout"},{__name:"PageLayout",props:{showSidebar:{type:Boolean,default:!0},menuData:{type:Array,default:function(){return[]}},systemTitle:{type:String,default:"管理系统"},showTabs:{type:Boolean,default:!0},defaultTabs:{type:Array,default:function(){return[]}},showBreadcrumb:{type:Boolean,default:!0},homeBreadcrumb:{type:Object,default:function(){return{}}},autoAddTab:{type:Boolean,default:!0},enableRouterSync:{type:Boolean,default:!0}},emits:["menu-click","tab-change","tab-click","tab-close","breadcrumb-click","update:activeTab"],setup:function(e,t){var n=t.expose,a=t.emit,r=e,o=a,i=(0,d.inject)("router",null),l=(0,d.inject)("route",null),u=I(),c=(0,d.ref)(!1),s=(0,d.toRef)(u,"currentTab"),f=(0,d.toRef)(u,"tabs");(0,d.watch)(function(){return r.defaultTabs},function(e){e&&e.length>0&&e.forEach(function(e){return u.addTab(e)})},{immediate:!0,deep:!0});var m=(0,d.computed)(function(){return u.currentTabData}),p=function(e,t){var n,a=O(e);try{for(a.s();!(n=a.n()).done;){var r=n.value;if(r.path===t)return r.key;if(r.children&&r.children.length>0){var o=p(r.children,t);if(o)return o}}}catch(e){a.e(e)}finally{a.f()}return null},v=function(e,t){var n,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=O(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;if(o.key===t)return[].concat(U(a),[{title:o.title||o.label,path:o.path,key:o.key}]);if(o.children&&o.children.length>0){var i=v(o.children,t,[].concat(U(a),[{title:o.title||o.label,path:o.path,key:o.key}]));if(i)return i}}}catch(e){r.e(e)}finally{r.f()}return null},b=function(e,t){var n,a=O(e);try{for(a.s();!(n=a.n()).done;){var r=n.value;if(r.key===t)return r;if(r.children&&r.children.length>0){var o=b(r.children,t);if(o)return o}}}catch(e){a.e(e)}finally{a.f()}return null};(0,d.watch)(function(){var e;return null==l||null===(e=l.value)||void 0===e?void 0:e.path},function(e){if(r.enableRouterSync&&e&&"/"!==e){var t=p(r.menuData,e);t&&B(t)}},{immediate:!0});var y=(0,d.computed)(function(){if(s.value===r.homeBreadcrumb.key)return[r.homeBreadcrumb];if(r.menuData&&r.menuData.length>0){var e=v(r.menuData,s.value);if(e)return e}var t=f.value.find(function(e){return e.key===s.value});return t?[r.homeBreadcrumb,{title:t.title,key:t.key}]:[r.homeBreadcrumb]}),h=function(e){o("menu-click",e),r.autoAddTab&&(u.addTab({key:e.key,title:e.title||e.label,closable:!0,path:e.path}),o("update:activeTab",e.key)),console.log("router",i),console.log("item.path",e.path),r.enableRouterSync&&i&&e.path&&i.push(e.path)},A=function(e){if(u.setCurrentTab(e),o("update:activeTab",e),o("tab-change",e),r.enableRouterSync&&i){var t=f.value.find(function(t){return t.key===e});console.log("tab",t),null!=t&&t.path&&i.push(t.path)}},g=function(e){o("tab-click",e)},T=function(e){if(u.removeTab(e.key),o("update:activeTab",s.value),o("tab-close",e),r.enableRouterSync&&i){var t=u.currentTabData;null!=t&&t.path&&i.push(t.path)}},w=function(e){o("breadcrumb-click",e)},B=function(e){var t=b(r.menuData,e);t&&r.autoAddTab&&(u.addTab({key:t.key,title:t.title||t.label,closable:!0,path:t.path}),o("update:activeTab",e))};return n({addTab:function(e){u.addTab(e),o("update:activeTab",e.key)},removeTab:function(e){u.removeTab(e),o("update:activeTab",s.value)},getCurrentTab:function(){return u.currentTabData},addTabByMenuKey:B,findMenuItem:b,findMenuKeyByPath:p,tabsList:f,currentTab:s,currentTabData:m,breadcrumbList:y,clearTabs:u.clearTabs}),function(t,n){var a=(0,d.resolveComponent)("a-layout-sider"),r=(0,d.resolveComponent)("a-layout");return(0,d.openBlock)(),(0,d.createBlock)(r,{class:"page-layout"},{default:(0,d.withCtx)(function(){return[(0,d.createVNode)(a,{class:"page-layout--sider"},{default:(0,d.withCtx)(function(){return[(0,d.renderSlot)(t.$slots,"sidebar",{},function(){return[e.showSidebar?((0,d.openBlock)(),(0,d.createBlock)(k,{key:0,collapsed:c.value,"onUpdate:collapsed":n[0]||(n[0]=function(e){return c.value=e}),menuData:e.menuData,systemTitle:e.systemTitle,activeKey:s.value,onMenuClick:h},null,8,["collapsed","menuData","systemTitle","activeKey"])):(0,d.createCommentVNode)("",!0)]})]}),_:3}),(0,d.createVNode)(r,{class:"page-layout--main"},{default:(0,d.withCtx)(function(){return[e.showTabs?(0,d.renderSlot)(t.$slots,"tabs",{key:0,tabs:f.value,activeTab:s.value},function(){return[(0,d.createVNode)(S,{tabs:f.value,activeTab:s.value,"onUpdate:activeTab":A,onTabClick:g,onTabClose:T},null,8,["tabs","activeTab"])]}):(0,d.createCommentVNode)("",!0),e.showBreadcrumb?((0,d.openBlock)(),(0,d.createElementBlock)("div",q,[(0,d.createVNode)(R,{items:y.value,onClick:w},{default:(0,d.withCtx)(function(){return[(0,d.renderSlot)(t.$slots,"breadcrumbExtra",{},function(){return[n[1]||(n[1]=(0,d.createElementVNode)("div",{class:"breadcrumb-extra"},[(0,d.createElementVNode)("div",{class:"extra-item"},[(0,d.createElementVNode)("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAYCAYAAAAPtVbGAAAEzklEQVR4AZRWWyisaxj+zVqr1TrPXkU5tWcicjdCxMWeES6EbeLGqU3OSQslJZkZRcqFJRdOiUlySNi4EpmSIqfZKUoyU05xYY1DIcl+ni8zjWFZe0/z/t/7fd97Pv2/THrht7y8rK6qqmouLS21pKWl3ScmJgooKCi4z83NXa+vr+9ZX19XvyBCXD2r5EH4XGVl5dzMzEzZxsaGgtSvX7+2Ei4uLiSz2awaHR3Nrq2tnYMhcz09PYKGdK7wRElHR4eurq6OwtU+Pj42WG1oamrSDAwMuI2NjSkJxNvb2zVardb46tUrKwxRQ6FlcnJS56qA+0dKIFDX2dmp50VFRUVLX1+fsrCwUB8WFmbimTPwrKamJhtKNSEhIQbe6fHLy8t7osihhB6srq7qP3/+bIuPj9dkZGSUubm52cj8EoDGSsOQtxwvLy9pZ2dHPzg4WObMI5REREQopqam9CQqKSnJKS4uNjkT/Rc8Li6ul4pI29/f3zw9Pa0iThBKfH19ew4PDyVPT09DamrqOC9c4f7+Xk4L4bGewL0rDRUlJSW1UNbs7Gyz/V7W1dWl3t3dVUORcNt+4bxWV1ersrKyLCiAZoSGedOBL9mZxo6Xl5frg4KCbEtLS2pWKc9lJycnfxFBHn4aosvLy7GtrS15TEyMTaVSmUkPT0TJwiudwWBwJBs5snl7extZ5mtra6KHZGgmFZny8/ONXF0Bsc1eWFhQ0NPGxsbg0NDQFtLAe/nm5mYyPNNPTEzoEZ5snhPsId/e3v6Te9mbN29UAQEBEix41hMUhLCSJQsaq5+fH/mkm5ubLwiLCRGwYrVFR0c7+GGImUV0fHwsvJUhFNLV1ZVVcLo87F6QAXlhLyiOjo6+kOz29vY3KLWhcTXop2DgDhnAbSgi6ezsTE5aUV1EngMkV+QLJd4Lxm+gsTQ0NHzHKl1fX//OvKCaLLDcQpznzvDx40exlRF59+6dcEucPDygQA1BaicvaFXvp0+fRFg+fPjA/QP14wUK5Uw8Ro5oZpm7u7sVIZDs5WYnZ9Wx3h+8YChycJeDMcOwSaenpz9VsrKyokLSJRgiKlEGL/6mVnu5QZAESxSLi4vZ9OLr169GntkBs0mg9niLjcsDuRRhDgwM/IdXMpYbQiDNz89/g3BhHaZs8vv3700KhaL8mRFj8/f3N8EAhk3OlXsIE6GBDAUmsggzGlPkT8bSDA8PN7HZMHNEuaanp38fGhrStLa2CiIIcPxRAGbeoQk1xLlyD1woQWOyXxQwchxnDLMkqgveGGCRBOKytrY20aUOqf8TiYyMFIIRBREVsgsl9CYhIcHARA8PD4+NjIw8O5fI8CuIjY0dp8EHBwcqhE4oEkrIiKrhy8lwfn4uNxqNY3yB8fxXQEEIkQ7Dswy4CiGyeXh4mBl+Vhn5HUq4aW9v10O4KFG+wJKTky2YTT1gfhRC7OUseeRDx+nM2YXXQDOacj0zM/PH27dvRd/ZK/aREiqiR3t7e0pOW6wKCMoG8xy/VqiUgML4UVRUNAcD9Pv7+3KEyKTVao1KpdLM0saYF2GCJ39Q5hMlPMSXiLW7uzsYPSE+FsjM87u7OwWBeFRUlBWjvwVh0mA6a/i+Ry6D4ZUyJSUFOrVG9Bh7Tv4vAAAA//+JkNwrAAAABklEQVQDAEMWYUbEMf08AAAAAElFTkSuQmCC",alt:""}),(0,d.createElementVNode)("p",null,"AI助手")]),(0,d.createElementVNode)("div",{class:"extra-item"},[(0,d.createElementVNode)("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADaUlEQVR4AYxWXVIaQRDunkSSt+AN8AZ4guAJoieIvkj5FHlJyUIVWKW7vumbBaYKPYF4AswJ5AZyA3lMljCd71tcXPnTqWlmdqb765/pnsHJitZsdvJBdNWoRe1eELUeg7BlpFrYeqphDeNhM7osrICQhQooRIA4Fz+J+aaYFdV0qKr3JFHtm1nJRM5jc4/g7VBmkaI5BfWz9o+RuQcCEMyp31qLcxunwf7maXV/K6UwKCuEd2BiF7y7UPRQDVuHs0rA87LEcHhvF7BsSGCCnVQP7pvNveEL18vsJCh3w6PyDkB2RGWo8IgYkmnYm3zRcmE4RAYeVhN4svP2LxV58VtQMiBG1pNEAeNn3pqASsDPqgcDzKe9Hl2VEOceD5jEeT26LE0ZMKFMqgSeNIiJZUQQvyP50DCRPKhCRixNO6zZ9uZ7iHOJZwIJxrzkzfW4N2XEhLJO/B6meWB2MIqjJgjvitpdhJhyMUuqcg6LhgjbBs+EMeeca6AEJMvP0CqyDZglprlDxmwLmpleY3jVm6ftopgUTLVL69JNzgFwg+/8UdSZqwOV8TH2JF6LD52ofuPHIutltDZQkaF4+S0zTZ37wiX3YZTnmKWPfz/3KadOvzoxK9KlLEM6Z3qeBuX1sLb/yrskrGI85EH4c7+f8qcj5UR0AC8LzkTmLJAVjeCxuJ4wdCKVpayoC+wVHH7e3bPgYv54YVhn0Jyo0JV3eYHUa9Bygoe1A9aNvNFwIyBWYCowpTCu7mbIOO2/BxzxZ930HSqYGZL/9+lPcTW6iKmvOB1X3uKrhy0YIuLN7lxulLuggKGaOa6isHpwzUJaxTPZ0+8cYVDXMaWYpnSpPnO/kCklhjDAo1OL2p10bdEYRJe7XhBK1WsWpCPTWMZ7LAxvbunDQT6SqS1NCGaZiGsoitM/V3OigJogfAwq4OHoTRjxlen0NKyWN3gXZZanU8qk9eFFjp8xJVFALlTsBdMP80TJ7E2J9aW9jus8BScG6iM5VwpMFfCD6Qf3KqA86DY4a91Ww19JRnA/SzwTAuNMeh7XuZok1z0xsnyvFHCDnozVb5rIDS65bZXxbfrIEIwUhO2HUS5+JDCTg0lCmazlxCLNKeAi4wfmXa9+A55UCCBmRYKRhAeNfxaC6yIX59b5TlCGsrP0HwAA//9BECN1AAAABklEQVQDAF7M7K1fqR9uAAAAAElFTkSuQmCC",alt:""}),(0,d.createElementVNode)("p",null,"帮助文档")])],-1))]})]}),_:3},8,["items"])])):(0,d.createCommentVNode)("",!0),(0,d.createElementVNode)("div",J,[(0,d.renderSlot)(t.$slots,"default",{activeTab:s.value,tabData:m.value})])]}),_:3})]}),_:3})}}}),Z=(0,A.A)(j,[["__scopeId","data-v-035d8c8e"]]);var F=[Z,k,R,S],z=function(e){if(!z.installed){if(z.installed=!0,!e.config.globalProperties.$pinia){var t=function(){var e=(0,u.createPinia)();return e.use(s()),e}();e.use(t)}F.forEach(function(t){e.component(t.name,t)})}};"undefined"!=typeof window&&window.Vue&&z(window.Vue);const Q={install:z,PageLayout:Z,SidebarLayout:k,BreadCrumb:R,Tabs:S};return l.default})());
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@ant-design/icons-vue"),require("pinia"),require("pinia-plugin-persistedstate"),require("vue"),require("vue-router")):"function"==typeof define&&define.amd?define(["@ant-design/icons-vue","pinia","pinia-plugin-persistedstate","vue","vue-router"],t):"object"==typeof exports?exports.SharedLayoutComponents=t(require("@ant-design/icons-vue"),require("pinia"),require("pinia-plugin-persistedstate"),require("vue"),require("vue-router")):e.SharedLayoutComponents=t(e.icons,e.pinia,e.piniaPluginPersistedstate,e.Vue,e.VueRouter)}(this,(e,t,n,r,a)=>(()=>{"use strict";var o={262(e,t){t.A=(e,t)=>{const n=e.__vccOpts||e;for(const[e,r]of t)n[e]=r;return n}},166(t){t.exports=e},144(e){e.exports=t},282(e){e.exports=n},594(e){e.exports=r},269(e){e.exports=a}},u={};function i(e){var t=u[e];if(void 0!==t)return t.exports;var n=u[e]={exports:{}};return o[e](n,n.exports,i),n.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var l={};i.d(l,{default:()=>_});var c=i(144),s=i(282),d=i.n(s),f=i(594),p=i(166);function m(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=b(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,u=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return u=e.done,e},e:function(e){i=!0,o=e},f:function(){try{u||null==n.return||n.return()}finally{if(i)throw o}}}}function b(e,t){if(e){if("string"==typeof e)return v(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var y={class:"system-title"},h={class:"menu-wrapper"};const g={__name:"SidebarLayout",props:{activeKey:{type:String,default:""},menuData:{type:Array,default:function(){return[]}},collapsed:{type:Boolean,default:!1},systemTitle:{type:String,default:"XXXXXX系统名称"}},emits:["menu-click","update:activeKey","update:collapsed"],setup:function(e,t){var n=t.expose,r=t.emit,a=e,o=r,u=((0,f.computed)(function(){return a.systemTitle}),(0,f.ref)(a.collapsed)),i=(0,f.ref)([]),l=(0,f.ref)([]);(0,f.watch)(function(){return a.collapsed},function(e){u.value=e}),(0,f.watch)(u,function(e){o("update:collapsed",e)}),(0,f.watch)(function(){return a.activeKey},function(e){if(e){i.value=[e];var t=function(e,n){var r,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=m(e);try{for(o.s();!(r=o.n()).done;){var u=r.value;if(u.key===n)return a;if(u.children){var i=t(u.children,n,u.key);if(null!==i)return i}}}catch(e){o.e(e)}finally{o.f()}return null},n=a.menuData.length>0?a.menuData:c,r=t(n,e);r&&!l.value.includes(r)&&(l.value=[].concat(function(e){if(Array.isArray(e))return v(e)}(o=l.value)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||b(o)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[r]))}var o},{immediate:!0});var c=[],s=function(e){return e.map(function(e){var t={key:e.key,label:e.label||e.title,title:e.title||e.label,path:e.path,external:e.external};return e.children&&e.children.length>0&&(t.children=s(e.children)),t})},d=(0,f.computed)(function(){var e=a.menuData.length>0?a.menuData:c;return s(e)}),g=function(){u.value=!u.value},k=function(e){var t=e.key,n=(e.item,function(e,t){var r,a=m(e);try{for(a.s();!(r=a.n()).done;){var o=r.value;if(o.key===t)return o;if(o.children){var u=n(o.children,t);if(u)return u}}}catch(e){a.e(e)}finally{a.f()}return null}),r=a.menuData.length>0?a.menuData:c,u=n(r,t);u&&(o("menu-click",u),o("update:activeKey",t))},A=function(e){l.value=e};return(0,f.watch)(i,function(e){if(e.length>0){var t=e[0];o("update:activeKey",t)}},{immediate:!1}),n({toggleCollapse:g,expandMenu:function(e){l.value.includes(e)||l.value.push(e)},collapseMenu:function(e){var t=l.value.indexOf(e);t>-1&&l.value.splice(t,1)}}),function(e,t){var n=(0,f.resolveComponent)("a-menu");return(0,f.openBlock)(),(0,f.createElementBlock)("div",{class:(0,f.normalizeClass)(["sidebar",{collapsed:u.value}])},[(0,f.createElementVNode)("div",y,[(0,f.createElementVNode)("h1",null,(0,f.toDisplayString)(a.systemTitle),1)]),(0,f.createElementVNode)("div",h,[(0,f.createVNode)(n,{selectedKeys:i.value,"onUpdate:selectedKeys":t[0]||(t[0]=function(e){return i.value=e}),openKeys:l.value,"onUpdate:openKeys":t[1]||(t[1]=function(e){return l.value=e}),mode:"inline","inline-collapsed":u.value,items:d.value,onClick:k,onOpenChange:A},null,8,["selectedKeys","openKeys","inline-collapsed","items"])]),(0,f.createElementVNode)("div",{class:"collapse-btn",onClick:g},[u.value?((0,f.openBlock)(),(0,f.createBlock)((0,f.unref)(p.RightOutlined),{key:1})):((0,f.openBlock)(),(0,f.createBlock)((0,f.unref)(p.LeftOutlined),{key:0}))])],2)}}};var k=i(262);const A=(0,k.A)(g,[["__scopeId","data-v-3166c85e"]]);var T={class:"tabs-wrapper"},w={class:"tabs-container"},S=["onClick"],E={class:"tab-title"},B=["onClick"];const C=Object.assign({name:"Tabs"},{__name:"Tabs",props:{tabs:{type:Array,default:function(){return[]}},activeTab:{type:String,default:""}},emits:["update:activeTab","tab-click","tab-close"],setup:function(e,t){var n=t.emit,r=e,a=n,o=(0,f.ref)(r.activeTab),u=[],i=(0,f.computed)(function(){return r.tabs.length>0?r.tabs:u});return(0,f.watch)(function(){return r.activeTab},function(e){e&&e!==o.value&&(o.value=e)},{immediate:!0}),(0,f.watch)(i,function(e){e.length>0&&!o.value&&(o.value=e[0].key,a("update:activeTab",e[0].key))},{immediate:!0}),function(e,t){return(0,f.openBlock)(),(0,f.createElementBlock)("div",T,[(0,f.createElementVNode)("div",w,[((0,f.openBlock)(!0),(0,f.createElementBlock)(f.Fragment,null,(0,f.renderList)(i.value,function(e){return(0,f.openBlock)(),(0,f.createElementBlock)("div",{key:e.key,class:(0,f.normalizeClass)(["tab-item",{active:o.value===e.key}]),onClick:function(t){return function(e){o.value=e.key,a("update:activeTab",e.key),a("tab-click",e)}(e)}},[(0,f.createElementVNode)("span",E,(0,f.toDisplayString)(e.title),1),!1!==e.closable&&i.value.length>1?((0,f.openBlock)(),(0,f.createElementBlock)("span",{key:0,class:"tab-close",onClick:(0,f.withModifiers)(function(t){return function(e){a("tab-close",e)}(e)},["stop"])}," × ",8,B)):(0,f.createCommentVNode)("",!0)],10,S)}),128))])])}}}),V=(0,k.A)(C,[["__scopeId","data-v-26cdabbe"]]);var D={class:"breadcrumb-wrapper"},x={class:"breadcrumb-content"},N={key:0,class:"breadcrumb-current"},O=["onClick"],L={class:"breadcrumb-extra"};const K=Object.assign({name:"BreadCrumb"},{__name:"BreadCrumb",props:{items:{type:Array,default:function(){return[]}}},emits:["click"],setup:function(e,t){var n=t.emit,r=e,a=n,o=(0,f.computed)(function(){return r.items.length>0?r.items:[]});return function(e,t){var n=(0,f.resolveComponent)("a-breadcrumb-item"),r=(0,f.resolveComponent)("a-breadcrumb");return(0,f.openBlock)(),(0,f.createElementBlock)("div",D,[(0,f.createElementVNode)("div",x,[(0,f.createVNode)((0,f.unref)(p.EnvironmentOutlined),{class:"breadcrumb-icon"}),(0,f.createVNode)(r,null,{default:(0,f.withCtx)(function(){return[((0,f.openBlock)(!0),(0,f.createElementBlock)(f.Fragment,null,(0,f.renderList)(o.value,function(e,t){return(0,f.openBlock)(),(0,f.createBlock)(n,{key:t},{default:(0,f.withCtx)(function(){return[t===o.value.length-1?((0,f.openBlock)(),(0,f.createElementBlock)("span",N,(0,f.toDisplayString)(e.title),1)):((0,f.openBlock)(),(0,f.createElementBlock)("a",{key:1,onClick:function(n){return function(e,t){a("click",{item:e,index:t})}(e,t)}},(0,f.toDisplayString)(e.title),9,O))]}),_:2},1024)}),128))]}),_:1})]),(0,f.createElementVNode)("div",L,[(0,f.renderSlot)(e.$slots,"default")])])}}}),P=(0,k.A)(K,[["__scopeId","data-v-06ed9d84"]]);var R=(0,c.defineStore)("pageLayoutTabs",{state:function(){return{tabs:[],currentTab:""}},getters:{currentTabData:function(e){return e.tabs.find(function(t){return t.key===e.currentTab})||null}},actions:{addTab:function(e){this.tabs.find(function(t){return t.key===e.key})||this.tabs.push(e),this.currentTab=e.key},removeTab:function(e){var t=this.tabs.findIndex(function(t){return t.key===e});if(t>-1&&(this.tabs.splice(t,1),this.currentTab===e)){var n,r=Math.min(t,this.tabs.length-1);this.currentTab=(null===(n=this.tabs[r])||void 0===n?void 0:n.key)||""}},setCurrentTab:function(e){this.currentTab=e},clearTabs:function(){this.tabs=[],this.currentTab=""}},persist:{storage:sessionStorage}}),j=i(269);function I(e){return I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},I(e)}function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function M(e,t,n){return(t=function(e){var t=function(e){if("object"!=I(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=I(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==I(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var q=null;function J(e){return function(e){if(Array.isArray(e))return z(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||F(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Z(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=F(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,u=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return u=e.done,e},e:function(e){i=!0,o=e},f:function(){try{u||null==n.return||n.return()}finally{if(i)throw o}}}}function F(e,t){if(e){if("string"==typeof e)return z(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?z(e,t):void 0}}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var W={key:1,class:"page-layout--breadcrumb"},Q={class:"page-layout--content"};const Y=Object.assign({name:"PageLayout"},{__name:"PageLayout",props:{showSidebar:{type:Boolean,default:!0},menuData:{type:Array,default:function(){return[]}},systemTitle:{type:String,default:"管理系统"},showTabs:{type:Boolean,default:!0},defaultTabs:{type:Array,default:function(){return[]}},showBreadcrumb:{type:Boolean,default:!0},homeBreadcrumb:{type:Object,default:function(){return{}}},autoAddTab:{type:Boolean,default:!0},enableRouterSync:{type:Boolean,default:!0}},emits:["menu-click","tab-change","tab-click","tab-close","breadcrumb-click","update:activeTab"],setup:function(e,t){var n=t.expose,r=t.emit,a=e,o=r,u=q,i=q?q.currentRoute:null,l=null,c=function(){return l||(l=R()),l},s=(0,f.ref)(!1),d=(0,f.computed)({get:function(){return c().currentTab},set:function(e){c().currentTab=e}}),p=(0,f.computed)(function(){return c().tabs});(0,f.watch)(function(){return a.defaultTabs},function(e){e&&e.length>0&&e.forEach(function(e){return c().addTab(e)})},{immediate:!0,deep:!0});var m=(0,f.computed)(function(){return c().currentTabData}),b=function(e,t){var n,r=Z(e);try{for(r.s();!(n=r.n()).done;){var a=n.value;if(a.path===t)return a.key;if(a.children&&a.children.length>0){var o=b(a.children,t);if(o)return o}}}catch(e){r.e(e)}finally{r.f()}return null},v=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=Z(e);try{for(a.s();!(n=a.n()).done;){var o=n.value;if(o.key===t)return[].concat(J(r),[{title:o.title||o.label,path:o.path,key:o.key}]);if(o.children&&o.children.length>0){var u=v(o.children,t,[].concat(J(r),[{title:o.title||o.label,path:o.path,key:o.key}]));if(u)return u}}}catch(e){a.e(e)}finally{a.f()}return null},y=function(e,t){var n,r=Z(e);try{for(r.s();!(n=r.n()).done;){var a=n.value;if(a.key===t)return a;if(a.children&&a.children.length>0){var o=y(a.children,t);if(o)return o}}}catch(e){r.e(e)}finally{r.f()}return null};(0,f.watch)(function(){var e;return null==i||null===(e=i.value)||void 0===e?void 0:e.path},function(e){if(a.enableRouterSync&&e&&"/"!==e){var t=b(a.menuData,e);t&&E(t)}},{immediate:!0});var h=(0,f.computed)(function(){if(d.value===a.homeBreadcrumb.key)return[a.homeBreadcrumb];if(a.menuData&&a.menuData.length>0){var e=v(a.menuData,d.value);if(e)return e}var t=p.value.find(function(e){return e.key===d.value});return t?[a.homeBreadcrumb,{title:t.title,key:t.key}]:[a.homeBreadcrumb]}),g=function(e){o("menu-click",e),a.autoAddTab&&(c().addTab({key:e.key,title:e.title||e.label,closable:!0,path:e.path}),o("update:activeTab",e.key)),console.log("router",u),console.log("item.path",e.path),a.enableRouterSync&&u&&e.path&&u.push(e.path)},k=function(e){if(c().setCurrentTab(e),o("update:activeTab",e),o("tab-change",e),a.enableRouterSync&&u){var t=p.value.find(function(t){return t.key===e});console.log("tab",t),null!=t&&t.path&&u.push(t.path)}},T=function(e){o("tab-click",e)},w=function(e){if(c().removeTab(e.key),o("update:activeTab",d.value),o("tab-close",e),a.enableRouterSync&&u){var t=c().currentTabData;null!=t&&t.path&&u.push(t.path)}},S=function(e){o("breadcrumb-click",e)},E=function(e){var t=y(a.menuData,e);t&&a.autoAddTab&&(c().addTab({key:t.key,title:t.title||t.label,closable:!0,path:t.path}),o("update:activeTab",e))};return n({addTab:function(e){c().addTab(e),o("update:activeTab",e.key)},removeTab:function(e){c().removeTab(e),o("update:activeTab",d.value)},getCurrentTab:function(){return c().currentTabData},addTabByMenuKey:E,findMenuItem:y,findMenuKeyByPath:b,tabsList:p,currentTab:d,currentTabData:m,breadcrumbList:h,clearTabs:function(){return c().clearTabs()}}),function(t,n){var r=(0,f.resolveComponent)("a-layout-sider"),a=(0,f.resolveComponent)("a-layout");return(0,f.openBlock)(),(0,f.createBlock)(a,{class:"page-layout"},{default:(0,f.withCtx)(function(){return[(0,f.createVNode)(r,{class:"page-layout--sider"},{default:(0,f.withCtx)(function(){return[(0,f.renderSlot)(t.$slots,"sidebar",{},function(){return[e.showSidebar?((0,f.openBlock)(),(0,f.createBlock)(A,{key:0,collapsed:s.value,"onUpdate:collapsed":n[0]||(n[0]=function(e){return s.value=e}),menuData:e.menuData,systemTitle:e.systemTitle,activeKey:d.value,onMenuClick:g},null,8,["collapsed","menuData","systemTitle","activeKey"])):(0,f.createCommentVNode)("",!0)]})]}),_:3}),(0,f.createVNode)(a,{class:"page-layout--main"},{default:(0,f.withCtx)(function(){return[e.showTabs?(0,f.renderSlot)(t.$slots,"tabs",{key:0,tabs:p.value,activeTab:d.value},function(){return[(0,f.createVNode)(V,{tabs:p.value,activeTab:d.value,"onUpdate:activeTab":k,onTabClick:T,onTabClose:w},null,8,["tabs","activeTab"])]}):(0,f.createCommentVNode)("",!0),e.showBreadcrumb?((0,f.openBlock)(),(0,f.createElementBlock)("div",W,[(0,f.createVNode)(P,{items:h.value,onClick:S},{default:(0,f.withCtx)(function(){return[(0,f.renderSlot)(t.$slots,"breadcrumbExtra",{},function(){return[n[1]||(n[1]=(0,f.createElementVNode)("div",{class:"breadcrumb-extra"},[(0,f.createElementVNode)("div",{class:"extra-item"},[(0,f.createElementVNode)("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAYCAYAAAAPtVbGAAAEzklEQVR4AZRWWyisaxj+zVqr1TrPXkU5tWcicjdCxMWeES6EbeLGqU3OSQslJZkZRcqFJRdOiUlySNi4EpmSIqfZKUoyU05xYY1DIcl+ni8zjWFZe0/z/t/7fd97Pv2/THrht7y8rK6qqmouLS21pKWl3ScmJgooKCi4z83NXa+vr+9ZX19XvyBCXD2r5EH4XGVl5dzMzEzZxsaGgtSvX7+2Ei4uLiSz2awaHR3Nrq2tnYMhcz09PYKGdK7wRElHR4eurq6OwtU+Pj42WG1oamrSDAwMuI2NjSkJxNvb2zVardb46tUrKwxRQ6FlcnJS56qA+0dKIFDX2dmp50VFRUVLX1+fsrCwUB8WFmbimTPwrKamJhtKNSEhIQbe6fHLy8t7osihhB6srq7qP3/+bIuPj9dkZGSUubm52cj8EoDGSsOQtxwvLy9pZ2dHPzg4WObMI5REREQopqam9CQqKSnJKS4uNjkT/Rc8Li6ul4pI29/f3zw9Pa0iThBKfH19ew4PDyVPT09DamrqOC9c4f7+Xk4L4bGewL0rDRUlJSW1UNbs7Gyz/V7W1dWl3t3dVUORcNt+4bxWV1ersrKyLCiAZoSGedOBL9mZxo6Xl5frg4KCbEtLS2pWKc9lJycnfxFBHn4aosvLy7GtrS15TEyMTaVSmUkPT0TJwiudwWBwJBs5snl7extZ5mtra6KHZGgmFZny8/ONXF0Bsc1eWFhQ0NPGxsbg0NDQFtLAe/nm5mYyPNNPTEzoEZ5snhPsId/e3v6Te9mbN29UAQEBEix41hMUhLCSJQsaq5+fH/mkm5ubLwiLCRGwYrVFR0c7+GGImUV0fHwsvJUhFNLV1ZVVcLo87F6QAXlhLyiOjo6+kOz29vY3KLWhcTXop2DgDhnAbSgi6ezsTE5aUV1EngMkV+QLJd4Lxm+gsTQ0NHzHKl1fX//OvKCaLLDcQpznzvDx40exlRF59+6dcEucPDygQA1BaicvaFXvp0+fRFg+fPjA/QP14wUK5Uw8Ro5oZpm7u7sVIZDs5WYnZ9Wx3h+8YChycJeDMcOwSaenpz9VsrKyokLSJRgiKlEGL/6mVnu5QZAESxSLi4vZ9OLr169GntkBs0mg9niLjcsDuRRhDgwM/IdXMpYbQiDNz89/g3BhHaZs8vv3700KhaL8mRFj8/f3N8EAhk3OlXsIE6GBDAUmsggzGlPkT8bSDA8PN7HZMHNEuaanp38fGhrStLa2CiIIcPxRAGbeoQk1xLlyD1woQWOyXxQwchxnDLMkqgveGGCRBOKytrY20aUOqf8TiYyMFIIRBREVsgsl9CYhIcHARA8PD4+NjIw8O5fI8CuIjY0dp8EHBwcqhE4oEkrIiKrhy8lwfn4uNxqNY3yB8fxXQEEIkQ7Dswy4CiGyeXh4mBl+Vhn5HUq4aW9v10O4KFG+wJKTky2YTT1gfhRC7OUseeRDx+nM2YXXQDOacj0zM/PH27dvRd/ZK/aREiqiR3t7e0pOW6wKCMoG8xy/VqiUgML4UVRUNAcD9Pv7+3KEyKTVao1KpdLM0saYF2GCJ39Q5hMlPMSXiLW7uzsYPSE+FsjM87u7OwWBeFRUlBWjvwVh0mA6a/i+Ry6D4ZUyJSUFOrVG9Bh7Tv4vAAAA//+JkNwrAAAABklEQVQDAEMWYUbEMf08AAAAAElFTkSuQmCC",alt:""}),(0,f.createElementVNode)("p",null,"AI助手")]),(0,f.createElementVNode)("div",{class:"extra-item"},[(0,f.createElementVNode)("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADaUlEQVR4AYxWXVIaQRDunkSSt+AN8AZ4guAJoieIvkj5FHlJyUIVWKW7vumbBaYKPYF4AswJ5AZyA3lMljCd71tcXPnTqWlmdqb765/pnsHJitZsdvJBdNWoRe1eELUeg7BlpFrYeqphDeNhM7osrICQhQooRIA4Fz+J+aaYFdV0qKr3JFHtm1nJRM5jc4/g7VBmkaI5BfWz9o+RuQcCEMyp31qLcxunwf7maXV/K6UwKCuEd2BiF7y7UPRQDVuHs0rA87LEcHhvF7BsSGCCnVQP7pvNveEL18vsJCh3w6PyDkB2RGWo8IgYkmnYm3zRcmE4RAYeVhN4svP2LxV58VtQMiBG1pNEAeNn3pqASsDPqgcDzKe9Hl2VEOceD5jEeT26LE0ZMKFMqgSeNIiJZUQQvyP50DCRPKhCRixNO6zZ9uZ7iHOJZwIJxrzkzfW4N2XEhLJO/B6meWB2MIqjJgjvitpdhJhyMUuqcg6LhgjbBs+EMeeca6AEJMvP0CqyDZglprlDxmwLmpleY3jVm6ftopgUTLVL69JNzgFwg+/8UdSZqwOV8TH2JF6LD52ofuPHIutltDZQkaF4+S0zTZ37wiX3YZTnmKWPfz/3KadOvzoxK9KlLEM6Z3qeBuX1sLb/yrskrGI85EH4c7+f8qcj5UR0AC8LzkTmLJAVjeCxuJ4wdCKVpayoC+wVHH7e3bPgYv54YVhn0Jyo0JV3eYHUa9Bygoe1A9aNvNFwIyBWYCowpTCu7mbIOO2/BxzxZ930HSqYGZL/9+lPcTW6iKmvOB1X3uKrhy0YIuLN7lxulLuggKGaOa6isHpwzUJaxTPZ0+8cYVDXMaWYpnSpPnO/kCklhjDAo1OL2p10bdEYRJe7XhBK1WsWpCPTWMZ7LAxvbunDQT6SqS1NCGaZiGsoitM/V3OigJogfAwq4OHoTRjxlen0NKyWN3gXZZanU8qk9eFFjp8xJVFALlTsBdMP80TJ7E2J9aW9jus8BScG6iM5VwpMFfCD6Qf3KqA86DY4a91Ww19JRnA/SzwTAuNMeh7XuZok1z0xsnyvFHCDnozVb5rIDS65bZXxbfrIEIwUhO2HUS5+JDCTg0lCmazlxCLNKeAi4wfmXa9+A55UCCBmRYKRhAeNfxaC6yIX59b5TlCGsrP0HwAA//9BECN1AAAABklEQVQDAF7M7K1fqR9uAAAAAElFTkSuQmCC",alt:""}),(0,f.createElementVNode)("p",null,"帮助文档")])],-1))]})]}),_:3},8,["items"])])):(0,f.createCommentVNode)("",!0),(0,f.createElementVNode)("div",Q,[(0,f.renderSlot)(t.$slots,"default",{activeTab:d.value,tabData:m.value})])]}),_:3})]}),_:3})}}}),X=(0,k.A)(Y,[["__scopeId","data-v-2dca0f58"]]);var G=[X,A,P,V],H=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!H.installed){if(H.installed=!0,!e.config.globalProperties.$pinia){var n=function(){var e=(0,c.createPinia)();return e.use(d()),e}();e.use(n)}if(t.routes&&t.routes.length>0){var r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return q=(0,j.createRouter)(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?U(Object(n),!0).forEach(function(t){M(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({history:(0,j.createWebHistory)(t.basePath||""),routes:e},t)),q}(t.routes,t.routerOptions||{});e.use(r)}G.forEach(function(t){e.component(t.name,t)})}};"undefined"!=typeof window&&window.Vue&&H(window.Vue);const _={install:H,PageLayout:X,SidebarLayout:A,BreadCrumb:P,Tabs:V};return l.default})());
|
package/dist/styles.css
CHANGED
|
@@ -231,12 +231,12 @@
|
|
|
231
231
|
color: #B3B3B3;
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
-
.page-layout[data-v-
|
|
234
|
+
.page-layout[data-v-2dca0f58] {
|
|
235
235
|
height: 100%;
|
|
236
236
|
background-color: #F5F7FA;
|
|
237
237
|
overflow: hidden;
|
|
238
238
|
}
|
|
239
|
-
.page-layout .page-layout--sider[data-v-
|
|
239
|
+
.page-layout .page-layout--sider[data-v-2dca0f58] {
|
|
240
240
|
width: auto !important;
|
|
241
241
|
max-width: none !important;
|
|
242
242
|
min-width: auto !important;
|
|
@@ -245,23 +245,23 @@
|
|
|
245
245
|
height: 100%;
|
|
246
246
|
overflow-y: auto;
|
|
247
247
|
}
|
|
248
|
-
.page-layout .page-layout--main[data-v-
|
|
248
|
+
.page-layout .page-layout--main[data-v-2dca0f58] {
|
|
249
249
|
display: flex;
|
|
250
250
|
flex-direction: column;
|
|
251
251
|
height: 100%;
|
|
252
252
|
background: #FFFFFF;
|
|
253
253
|
overflow: hidden;
|
|
254
254
|
}
|
|
255
|
-
.page-layout .page-layout--breadcrumb[data-v-
|
|
255
|
+
.page-layout .page-layout--breadcrumb[data-v-2dca0f58] {
|
|
256
256
|
flex-shrink: 0;
|
|
257
257
|
padding: 0 24px;
|
|
258
258
|
background: #fff;
|
|
259
259
|
}
|
|
260
|
-
.page-layout .page-layout--breadcrumb .breadcrumb-extra[data-v-
|
|
260
|
+
.page-layout .page-layout--breadcrumb .breadcrumb-extra[data-v-2dca0f58] {
|
|
261
261
|
display: flex;
|
|
262
262
|
align-items: center;
|
|
263
263
|
}
|
|
264
|
-
.page-layout .page-layout--breadcrumb .breadcrumb-extra .extra-item[data-v-
|
|
264
|
+
.page-layout .page-layout--breadcrumb .breadcrumb-extra .extra-item[data-v-2dca0f58] {
|
|
265
265
|
display: flex;
|
|
266
266
|
align-items: center;
|
|
267
267
|
font-size: 12px;
|
|
@@ -270,15 +270,15 @@
|
|
|
270
270
|
margin-left: 10px;
|
|
271
271
|
cursor: pointer;
|
|
272
272
|
}
|
|
273
|
-
.page-layout .page-layout--breadcrumb .breadcrumb-extra .extra-item img[data-v-
|
|
273
|
+
.page-layout .page-layout--breadcrumb .breadcrumb-extra .extra-item img[data-v-2dca0f58] {
|
|
274
274
|
width: 12px;
|
|
275
275
|
height: 12px;
|
|
276
276
|
margin-right: 3px;
|
|
277
277
|
}
|
|
278
|
-
.page-layout .page-layout--breadcrumb .breadcrumb-extra .extra-item p[data-v-
|
|
278
|
+
.page-layout .page-layout--breadcrumb .breadcrumb-extra .extra-item p[data-v-2dca0f58] {
|
|
279
279
|
margin-bottom: 0;
|
|
280
280
|
}
|
|
281
|
-
.page-layout .page-layout--content[data-v-
|
|
281
|
+
.page-layout .page-layout--content[data-v-2dca0f58] {
|
|
282
282
|
flex: 1;
|
|
283
283
|
overflow: auto;
|
|
284
284
|
padding: 0;
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"shared-layout-components","version":"1.0.
|
|
1
|
+
{"name":"shared-layout-components","version":"1.0.14","description":"基于 Vue3 和 Ant Design Vue 的公共布局组件库","main":"dist/index.umd.js","module":"dist/index.esm.js","unpkg":"dist/index.umd.js","jsdelivr":"dist/index.umd.js","types":"dist/types/index.d.ts","keywords":["vue3","components","layout","ant-design-vue","sidebar","tabs","breadcrumb","admin"],"author":"","license":"MIT","files":["dist","README.md"],"scripts":{"build":"cross-env NODE_ENV=production webpack --config webpack.config.js","dev":"webpack serve --config webpack.dev.config.js","lint":"eslint src/**/*.{js,vue}","prepublishOnly":"npx rimraf dist && npm run build"},"peerDependencies":{"@ant-design/icons-vue":"^7.0.0","ant-design-vue":"^4.2.6","vue":"^3.3.4","vue-router":"^4.0.0","pinia":"^3.0.4","pinia-plugin-persistedstate":"^4.0.0"},"devDependencies":{"@ant-design/icons-vue":"^7.0.0","@babel/core":"^7.23.5","@babel/preset-env":"^7.23.5","ant-design-vue":"^4.2.6","babel-loader":"^9.1.3","core-js":"^3.33.3","cross-env":"^7.0.3","css-loader":"^6.8.1","html-webpack-plugin":"^5.6.6","less":"^4.2.0","less-loader":"^11.1.4","mini-css-extract-plugin":"^2.7.6","pinia":"^3.0.4","pinia-plugin-persistedstate":"^4.7.1","style-loader":"^3.3.3","vue":"^3.3.4","vue-loader":"^17.3.1","vue-router":"^4.6.4","webpack":"^5.89.0","webpack-cli":"^5.1.4","webpack-dev-server":"^4.15.1"},"repository":{"type":"git","url":""},"bugs":{"url":""},"homepage":""}
|