shared-layout-components 1.0.11 → 1.0.12
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.esm.js +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/styles.css +9 -9
- package/package.json +1 -1
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 b,renderList as v,renderSlot as p,resolveComponent as y,toDisplayString as m,toRef as h,unref as k,watch as T,withCtx as g,withModifiers as w}from"vue";import{EnvironmentOutlined as A,LeftOutlined as S,RightOutlined as C}from"@ant-design/icons-vue";var _={262(e,t){t.A=(e,t)=>{const a=e.__vccOpts||e;for(const[e,n]of t)a[e]=n;return a}}},D={};function x(e){var t=D[e];if(void 0!==t)return t.exports;var a=D[e]={exports:{}};return _[e](a,a.exports,x),a.exports}x.d=(e,t)=>{for(var a in t)x.o(t,a)&&!x.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},x.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;if("string"==typeof import.meta.url&&(e=import.meta.url),!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),x.p=e})();const B=x.p+"images/icon-ai.14abd0.png",I=x.p+"images/icon-helper.e4bdca.png";function K(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=O(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 O(e,t){if(e){if("string"==typeof e)return j(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)?j(e,t):void 0}}function j(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 E={class:"system-title"},$={class:"menu-wrapper"};const L={__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,v=(r(function(){return i.systemTitle}),b(i.collapsed)),p=b([]),h=b([]);T(function(){return i.collapsed},function(e){v.value=e}),T(v,function(e){s("update:collapsed",e)}),T(function(){return i.activeKey},function(e){if(e){p.value=[e];var t=function(e,a){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,u=K(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:g,n=t(a,e);n&&!h.value.includes(n)&&(h.value=[].concat(function(e){if(Array.isArray(e))return j(e)}(r=h.value)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||O(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 g=[],w=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=w(e.children)),t})},A=r(function(){var e=i.menuData.length>0?i.menuData:g;return w(e)}),_=function(){v.value=!v.value},D=function(e){var t=e.key,a=(e.item,function(e,t){var n,r=K(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:g,r=a(n,t);r&&(s("menu-click",r),s("update:activeKey",t))},x=function(e){h.value=e};return T(p,function(e){if(e.length>0){var t=e[0];s("update:activeKey",t)}},{immediate:!1}),a({toggleCollapse:_,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=y("a-menu");return d(),l("div",{class:f(["sidebar",{collapsed:v.value}])},[o("div",E,[o("h1",null,m(i.systemTitle),1)]),o("div",$,[c(a,{selectedKeys:p.value,"onUpdate:selectedKeys":t[0]||(t[0]=function(e){return p.value=e}),openKeys:h.value,"onUpdate:openKeys":t[1]||(t[1]=function(e){return h.value=e}),mode:"inline","inline-collapsed":v.value,items:A.value,onClick:D,onOpenChange:x},null,8,["selectedKeys","openKeys","inline-collapsed","items"])]),o("div",{class:"collapse-btn",onClick:_},[v.value?(d(),u(k(C),{key:1})):(d(),u(k(S),{key:0}))])],2)}}};var M=x(262);const P=(0,M.A)(L,[["__scopeId","data-v-3166c85e"]]);var R={class:"tabs-wrapper"},U={class:"tabs-container"},X=["onClick"],V={class:"tab-title"},N=["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 a=t.emit,u=e,c=a,s=b(u.activeTab),p=[],y=r(function(){return u.tabs.length>0?u.tabs:p});return T(function(){return u.activeTab},function(e){e&&e!==s.value&&(s.value=e)},{immediate:!0}),T(y,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",R,[o("div",U,[(d(!0),l(n,null,v(y.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",V,m(e.title),1),!1!==e.closable&&y.value.length>1?(d(),l("span",{key:0,class:"tab-close",onClick:w(function(t){return function(e){c("tab-close",e)}(e)},["stop"])}," × ",8,N)):i("",!0)],10,X)}),128))])])}}}),F=(0,M.A)(z,[["__scopeId","data-v-26cdabbe"]]);var q={class:"breadcrumb-wrapper"},G={class:"breadcrumb-content"},H={key:0,class:"breadcrumb-current"},J=["onClick"],Q={class:"breadcrumb-extra"};const W=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=y("a-breadcrumb-item"),r=y("a-breadcrumb");return d(),l("div",q,[o("div",G,[c(k(A),{class:"breadcrumb-icon"}),c(r,null,{default:g(function(){return[(d(!0),l(n,null,v(f.value,function(e,t){return d(),u(a,{key:t},{default:g(function(){return[t===f.value.length-1?(d(),l("span",H,m(e.title),1)):(d(),l("a",{key:1,onClick:function(a){return function(e,t){s("click",{item:e,index:t})}(e,t)}},m(e.title),9,J))]}),_:2},1024)}),128))]}),_:1})]),o("div",Q,[p(e.$slots,"default")])])}}}),Y=(0,M.A)(W,[["__scopeId","data-v-06ed9d84"]]);var Z=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 ee(e){return function(e){if(Array.isArray(e))return ne(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ae(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 te(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=ae(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 ae(e,t){if(e){if("string"==typeof e)return ne(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)?ne(e,t):void 0}}function ne(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 re={key:1,class:"page-layout--breadcrumb"},ue={class:"page-layout--content"};const ie=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,v=n,m=s("router",null),k=s("route",null),w=Z(),A=b(!1),S=h(w,"currentTab"),C=h(w,"tabs");T(function(){return f.defaultTabs},function(e){e&&e.length>0&&e.forEach(function(e){return w.addTab(e)})},{immediate:!0,deep:!0});var _=r(function(){return w.currentTabData}),D=function(e,t){var a,n=te(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=D(r.children,t);if(u)return u}}}catch(e){n.e(e)}finally{n.f()}return null},x=function(e,t){var a,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=te(e);try{for(r.s();!(a=r.n()).done;){var u=a.value;if(u.key===t)return[].concat(ee(n),[{title:u.title||u.label,path:u.path,key:u.key}]);if(u.children&&u.children.length>0){var i=x(u.children,t,[].concat(ee(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},K=function(e,t){var a,n=te(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=K(r.children,t);if(u)return u}}}catch(e){n.e(e)}finally{n.f()}return null};T(function(){var e;return null==k||null===(e=k.value)||void 0===e?void 0:e.path},function(e){if(f.enableRouterSync&&e&&"/"!==e){var t=D(f.menuData,e);t&&R(t)}},{immediate:!0});var O=r(function(){if(S.value===f.homeBreadcrumb.key)return[f.homeBreadcrumb];if(f.menuData&&f.menuData.length>0){var e=x(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]}),j=function(e){v("menu-click",e),f.autoAddTab&&(w.addTab({key:e.key,title:e.title||e.label,closable:!0,path:e.path}),v("update:activeTab",e.key)),f.enableRouterSync&&m&&e.path&&m.push(e.path)},E=function(e){if(w.setCurrentTab(e),v("update:activeTab",e),v("tab-change",e),f.enableRouterSync&&m){var t=C.value.find(function(t){return t.key===e});null!=t&&t.path&&m.push(t.path)}},$=function(e){v("tab-click",e)},L=function(e){if(w.removeTab(e.key),v("update:activeTab",S.value),v("tab-close",e),f.enableRouterSync&&m){var t=w.currentTabData;null!=t&&t.path&&m.push(t.path)}},M=function(e){v("breadcrumb-click",e)},R=function(e){var t=K(f.menuData,e);t&&f.autoAddTab&&(w.addTab({key:t.key,title:t.title||t.label,closable:!0,path:t.path}),v("update:activeTab",e))};return a({addTab:function(e){w.addTab(e),v("update:activeTab",e.key)},removeTab:function(e){w.removeTab(e),v("update:activeTab",S.value)},getCurrentTab:function(){return w.currentTabData},addTabByMenuKey:R,findMenuItem:K,findMenuKeyByPath:D,tabsList:C,currentTab:S,currentTabData:_,breadcrumbList:O,clearTabs:w.clearTabs}),function(t,a){var n=y("a-layout-sider"),r=y("a-layout");return d(),u(r,{class:"page-layout"},{default:g(function(){return[c(n,{class:"page-layout--sider"},{default:g(function(){return[p(t.$slots,"sidebar",{},function(){return[e.showSidebar?(d(),u(P,{key:0,collapsed:A.value,"onUpdate:collapsed":a[0]||(a[0]=function(e){return A.value=e}),menuData:e.menuData,systemTitle:e.systemTitle,activeKey:S.value,onMenuClick:j},null,8,["collapsed","menuData","systemTitle","activeKey"])):i("",!0)]})]}),_:3}),c(r,{class:"page-layout--main"},{default:g(function(){return[e.showTabs?p(t.$slots,"tabs",{key:0,tabs:C.value,activeTab:S.value},function(){return[c(F,{tabs:C.value,activeTab:S.value,"onUpdate:activeTab":E,onTabClick:$,onTabClose:L},null,8,["tabs","activeTab"])]}):i("",!0),e.showBreadcrumb?(d(),l("div",re,[c(Y,{items:O.value,onClick:M},{default:g(function(){return[p(t.$slots,"breadcrumbExtra",{},function(){return[a[1]||(a[1]=o("div",{class:"breadcrumb-extra"},[o("div",{class:"extra-item"},[o("img",{src:B,alt:""}),o("p",null,"AI助手")]),o("div",{class:"extra-item"},[o("img",{src:I,alt:""}),o("p",null,"帮助文档")])],-1))]})]}),_:3},8,["items"])])):i("",!0),o("div",ue,[p(t.$slots,"default",{activeTab:S.value,tabData:_.value})])]}),_:3})]}),_:3})}}}),le=(0,M.A)(ie,[["__scopeId","data-v-3ae60c08"]]);var oe=[le,P,Y,F],ce=function(t){if(!ce.installed){if(ce.installed=!0,!t.config.globalProperties.$pinia){var n=function(){var t=e();return t.use(a),t}();t.use(n)}oe.forEach(function(e){t.component(e.name,e)})}};"undefined"!=typeof window&&window.Vue&&ce(window.Vue);const se={install:ce,PageLayout:le,SidebarLayout:P,BreadCrumb:Y,Tabs:F};export{Y as BreadCrumb,le as PageLayout,P as SidebarLayout,F as Tabs,se as default,Z 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 l,createElementVNode as o,createVNode as c,inject as s,normalizeClass as f,openBlock as d,ref as b,renderList as v,renderSlot as p,resolveComponent as y,toDisplayString as m,toRef as h,unref as g,watch as k,withCtx as T,withModifiers as S}from"vue";import{EnvironmentOutlined as w,LeftOutlined as A,RightOutlined as C}from"@ant-design/icons-vue";var _={262(e,t){t.A=(e,t)=>{const n=e.__vccOpts||e;for(const[e,a]of t)n[e]=a;return n}}},D={};function x(e){var t=D[e];if(void 0!==t)return t.exports;var n=D[e]={exports:{}};return _[e](n,n.exports,x),n.exports}x.d=(e,t)=>{for(var n in t)x.o(t,n)&&!x.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},x.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;if("string"==typeof import.meta.url&&(e=import.meta.url),!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),x.p=e})();const B=x.p+"images/icon-ai.14abd0.png",I=x.p+"images/icon-helper.e4bdca.png";function K(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=O(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,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,u=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw u}}}}function O(e,t){if(e){if("string"==typeof e)return j(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)?j(e,t):void 0}}function j(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 E={class:"system-title"},$={class:"menu-wrapper"};const L={__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,s=a,v=(r(function(){return i.systemTitle}),b(i.collapsed)),p=b([]),h=b([]);k(function(){return i.collapsed},function(e){v.value=e}),k(v,function(e){s("update:collapsed",e)}),k(function(){return i.activeKey},function(e){if(e){p.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 l=t(i.children,n,i.key);if(null!==l)return l}}}catch(e){u.e(e)}finally{u.f()}return null},n=i.menuData.length>0?i.menuData:T,a=t(n,e);a&&!h.value.includes(a)&&(h.value=[].concat(function(e){if(Array.isArray(e))return j(e)}(r=h.value)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||O(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})},w=r(function(){var e=i.menuData.length>0?i.menuData:T;return S(e)}),_=function(){v.value=!v.value},D=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&&(s("menu-click",r),s("update:activeKey",t))},x=function(e){h.value=e};return k(p,function(e){if(e.length>0){var t=e[0];s("update:activeKey",t)}},{immediate:!1}),n({toggleCollapse:_,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 n=y("a-menu");return d(),l("div",{class:f(["sidebar",{collapsed:v.value}])},[o("div",E,[o("h1",null,m(i.systemTitle),1)]),o("div",$,[c(n,{selectedKeys:p.value,"onUpdate:selectedKeys":t[0]||(t[0]=function(e){return p.value=e}),openKeys:h.value,"onUpdate:openKeys":t[1]||(t[1]=function(e){return h.value=e}),mode:"inline","inline-collapsed":v.value,items:w.value,onClick:D,onOpenChange:x},null,8,["selectedKeys","openKeys","inline-collapsed","items"])]),o("div",{class:"collapse-btn",onClick:_},[v.value?(d(),u(g(C),{key:1})):(d(),u(g(A),{key:0}))])],2)}}};var M=x(262);const P=(0,M.A)(L,[["__scopeId","data-v-3166c85e"]]);var R={class:"tabs-wrapper"},U={class:"tabs-container"},X=["onClick"],V={class:"tab-title"},N=["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,s=b(u.activeTab),p=[],y=r(function(){return u.tabs.length>0?u.tabs:p});return k(function(){return u.activeTab},function(e){e&&e!==s.value&&(s.value=e)},{immediate:!0}),k(y,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",R,[o("div",U,[(d(!0),l(a,null,v(y.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",V,m(e.title),1),!1!==e.closable&&y.value.length>1?(d(),l("span",{key:0,class:"tab-close",onClick:S(function(t){return function(e){c("tab-close",e)}(e)},["stop"])}," × ",8,N)):i("",!0)],10,X)}),128))])])}}}),F=(0,M.A)(z,[["__scopeId","data-v-26cdabbe"]]);var q={class:"breadcrumb-wrapper"},G={class:"breadcrumb-content"},H={key:0,class:"breadcrumb-current"},J=["onClick"],Q={class:"breadcrumb-extra"};const W=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,f=r(function(){return i.items.length>0?i.items:[]});return function(e,t){var n=y("a-breadcrumb-item"),r=y("a-breadcrumb");return d(),l("div",q,[o("div",G,[c(g(w),{class:"breadcrumb-icon"}),c(r,null,{default:T(function(){return[(d(!0),l(a,null,v(f.value,function(e,t){return d(),u(n,{key:t},{default:T(function(){return[t===f.value.length-1?(d(),l("span",H,m(e.title),1)):(d(),l("a",{key:1,onClick:function(n){return function(e,t){s("click",{item:e,index:t})}(e,t)}},m(e.title),9,J))]}),_:2},1024)}),128))]}),_:1})]),o("div",Q,[p(e.$slots,"default")])])}}}),Y=(0,M.A)(W,[["__scopeId","data-v-06ed9d84"]]);var Z=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 ee(e){return function(e){if(Array.isArray(e))return ae(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ne(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 te(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=ne(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,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,u=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw u}}}}function ne(e,t){if(e){if("string"==typeof e)return ae(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)?ae(e,t):void 0}}function ae(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 re={key:1,class:"page-layout--breadcrumb"},ue={class:"page-layout--content"};const ie=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,f=e,v=a,m=s("router",null),g=s("route",null),S=Z(),w=b(!1),A=h(S,"currentTab"),C=h(S,"tabs");k(function(){return f.defaultTabs},function(e){e&&e.length>0&&e.forEach(function(e){return S.addTab(e)})},{immediate:!0,deep:!0});var _=r(function(){return S.currentTabData}),D=function(e,t){var n,a=te(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},x=function(e,t){var n,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=te(e);try{for(r.s();!(n=r.n()).done;){var u=n.value;if(u.key===t)return[].concat(ee(a),[{title:u.title||u.label,path:u.path,key:u.key}]);if(u.children&&u.children.length>0){var i=x(u.children,t,[].concat(ee(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},K=function(e,t){var n,a=te(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=K(r.children,t);if(u)return u}}}catch(e){a.e(e)}finally{a.f()}return null};k(function(){var e;return null==g||null===(e=g.value)||void 0===e?void 0:e.path},function(e){if(f.enableRouterSync&&e&&"/"!==e){var t=D(f.menuData,e);t&&R(t)}},{immediate:!0});var O=r(function(){if(A.value===f.homeBreadcrumb.key)return[f.homeBreadcrumb];if(f.menuData&&f.menuData.length>0){var e=x(f.menuData,A.value);if(e)return e}var t=C.value.find(function(e){return e.key===A.value});return t?[f.homeBreadcrumb,{title:t.title,key:t.key}]:[f.homeBreadcrumb]}),j=function(e){v("menu-click",e),f.autoAddTab&&(S.addTab({key:e.key,title:e.title||e.label,closable:!0,path:e.path}),v("update:activeTab",e.key)),console.log("props.enableRouterSync",f.enableRouterSync),console.log("router",m),console.log("item.path",e.path),f.enableRouterSync&&m&&e.path&&m.push(e.path)},E=function(e){if(S.setCurrentTab(e),v("update:activeTab",e),v("tab-change",e),f.enableRouterSync&&m){var t=C.value.find(function(t){return t.key===e});null!=t&&t.path&&m.push(t.path)}},$=function(e){v("tab-click",e)},L=function(e){if(S.removeTab(e.key),v("update:activeTab",A.value),v("tab-close",e),f.enableRouterSync&&m){var t=S.currentTabData;null!=t&&t.path&&m.push(t.path)}},M=function(e){v("breadcrumb-click",e)},R=function(e){var t=K(f.menuData,e);t&&f.autoAddTab&&(S.addTab({key:t.key,title:t.title||t.label,closable:!0,path:t.path}),v("update:activeTab",e))};return n({addTab:function(e){S.addTab(e),v("update:activeTab",e.key)},removeTab:function(e){S.removeTab(e),v("update:activeTab",A.value)},getCurrentTab:function(){return S.currentTabData},addTabByMenuKey:R,findMenuItem:K,findMenuKeyByPath:D,tabsList:C,currentTab:A,currentTabData:_,breadcrumbList:O,clearTabs:S.clearTabs}),function(t,n){var a=y("a-layout-sider"),r=y("a-layout");return d(),u(r,{class:"page-layout"},{default:T(function(){return[c(a,{class:"page-layout--sider"},{default:T(function(){return[p(t.$slots,"sidebar",{},function(){return[e.showSidebar?(d(),u(P,{key:0,collapsed:w.value,"onUpdate:collapsed":n[0]||(n[0]=function(e){return w.value=e}),menuData:e.menuData,systemTitle:e.systemTitle,activeKey:A.value,onMenuClick:j},null,8,["collapsed","menuData","systemTitle","activeKey"])):i("",!0)]})]}),_:3}),c(r,{class:"page-layout--main"},{default:T(function(){return[e.showTabs?p(t.$slots,"tabs",{key:0,tabs:C.value,activeTab:A.value},function(){return[c(F,{tabs:C.value,activeTab:A.value,"onUpdate:activeTab":E,onTabClick:$,onTabClose:L},null,8,["tabs","activeTab"])]}):i("",!0),e.showBreadcrumb?(d(),l("div",re,[c(Y,{items:O.value,onClick:M},{default:T(function(){return[p(t.$slots,"breadcrumbExtra",{},function(){return[n[1]||(n[1]=o("div",{class:"breadcrumb-extra"},[o("div",{class:"extra-item"},[o("img",{src:B,alt:""}),o("p",null,"AI助手")]),o("div",{class:"extra-item"},[o("img",{src:I,alt:""}),o("p",null,"帮助文档")])],-1))]})]}),_:3},8,["items"])])):i("",!0),o("div",ue,[p(t.$slots,"default",{activeTab:A.value,tabData:_.value})])]}),_:3})]}),_:3})}}}),le=(0,M.A)(ie,[["__scopeId","data-v-a73872fc"]]);var oe=[le,P,Y,F],ce=function(t){if(!ce.installed){if(ce.installed=!0,!t.config.globalProperties.$pinia){var a=function(){var t=e();return t.use(n),t}();t.use(a)}oe.forEach(function(e){t.component(e.name,e)})}};"undefined"!=typeof window&&window.Vue&&ce(window.Vue);const se={install:ce,PageLayout:le,SidebarLayout:P,BreadCrumb:Y,Tabs:F};export{Y as BreadCrumb,le as PageLayout,P as SidebarLayout,F as Tabs,se as default,Z 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.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;i.g.importScripts&&(e=i.g.location+"");var t=i.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var a=n.length-1;a>-1&&(!e||!/^http(s?):/.test(e));)e=n[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})();var u={};i.d(u,{default:()=>H});var l=i(144),c=i(282),s=i.n(c),d=i(594);const f=i.p+"images/icon-ai.14abd0.png",p=i.p+"images/icon-helper.e4bdca.png";var m=i(166);function b(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=v(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,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){u=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw o}}}}function v(e,t){if(e){if("string"==typeof e)return y(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)?y(e,t):void 0}}function y(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 h={class:"system-title"},k={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,a=t.emit,r=e,o=a,i=((0,d.computed)(function(){return r.systemTitle}),(0,d.ref)(r.collapsed)),u=(0,d.ref)([]),l=(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){u.value=[e];var t=function(e,n){var a,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=b(e);try{for(o.s();!(a=o.n()).done;){var i=a.value;if(i.key===n)return r;if(i.children){var u=t(i.children,n,i.key);if(null!==u)return u}}}catch(e){o.e(e)}finally{o.f()}return null},n=r.menuData.length>0?r.menuData:c,a=t(n,e);a&&!l.value.includes(a)&&(l.value=[].concat(function(e){if(Array.isArray(e))return y(e)}(o=l.value)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||v(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})},f=(0,d.computed)(function(){var e=r.menuData.length>0?r.menuData:c;return s(e)}),p=function(){i.value=!i.value},g=function(e){var t=e.key,n=(e.item,function(e,t){var a,r=b(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))},T=function(e){l.value=e};return(0,d.watch)(u,function(e){if(e.length>0){var t=e[0];o("update:activeKey",t)}},{immediate:!1}),n({toggleCollapse:p,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,d.resolveComponent)("a-menu");return(0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(["sidebar",{collapsed:i.value}])},[(0,d.createElementVNode)("div",h,[(0,d.createElementVNode)("h1",null,(0,d.toDisplayString)(r.systemTitle),1)]),(0,d.createElementVNode)("div",k,[(0,d.createVNode)(n,{selectedKeys:u.value,"onUpdate:selectedKeys":t[0]||(t[0]=function(e){return u.value=e}),openKeys:l.value,"onUpdate:openKeys":t[1]||(t[1]=function(e){return l.value=e}),mode:"inline","inline-collapsed":i.value,items:f.value,onClick:g,onOpenChange:T},null,8,["selectedKeys","openKeys","inline-collapsed","items"])]),(0,d.createElementVNode)("div",{class:"collapse-btn",onClick:p},[i.value?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(m.RightOutlined),{key:1})):((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(m.LeftOutlined),{key:0}))])],2)}}};var T=i(262);const w=(0,T.A)(g,[["__scopeId","data-v-3166c85e"]]);var B={class:"tabs-wrapper"},S={class:"tabs-container"},C=["onClick"],E={class:"tab-title"},x=["onClick"];const A=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=[],u=(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)(u,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",B,[(0,d.createElementVNode)("div",S,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(u.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",E,(0,d.toDisplayString)(e.title),1),!1!==e.closable&&u.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,x)):(0,d.createCommentVNode)("",!0)],10,C)}),128))])])}}}),V=(0,T.A)(A,[["__scopeId","data-v-26cdabbe"]]);var N={class:"breadcrumb-wrapper"},D={class:"breadcrumb-content"},_={key:0,class:"breadcrumb-current"},j=["onClick"],I={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",N,[(0,d.createElementVNode)("div",D,[(0,d.createVNode)((0,d.unref)(m.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",_,(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,j))]}),_:2},1024)}),128))]}),_:1})]),(0,d.createElementVNode)("div",I,[(0,d.renderSlot)(e.$slots,"default")])])}}}),O=(0,T.A)(K,[["__scopeId","data-v-06ed9d84"]]);var L=(0,l.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 P(e){return function(e){if(Array.isArray(e))return R(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||$(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 M(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=$(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,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){u=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw o}}}}function $(e,t){if(e){if("string"==typeof e)return R(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)?R(e,t):void 0}}function R(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"},U={class:"page-layout--content"};const X=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),u=(0,d.inject)("route",null),l=L(),c=(0,d.ref)(!1),s=(0,d.toRef)(l,"currentTab"),m=(0,d.toRef)(l,"tabs");(0,d.watch)(function(){return r.defaultTabs},function(e){e&&e.length>0&&e.forEach(function(e){return l.addTab(e)})},{immediate:!0,deep:!0});var b=(0,d.computed)(function(){return l.currentTabData}),v=function(e,t){var n,a=M(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=v(r.children,t);if(o)return o}}}catch(e){a.e(e)}finally{a.f()}return null},y=function(e,t){var n,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=M(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;if(o.key===t)return[].concat(P(a),[{title:o.title||o.label,path:o.path,key:o.key}]);if(o.children&&o.children.length>0){var i=y(o.children,t,[].concat(P(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},h=function(e,t){var n,a=M(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=h(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==u||null===(e=u.value)||void 0===e?void 0:e.path},function(e){if(r.enableRouterSync&&e&&"/"!==e){var t=v(r.menuData,e);t&&E(t)}},{immediate:!0});var k=(0,d.computed)(function(){if(s.value===r.homeBreadcrumb.key)return[r.homeBreadcrumb];if(r.menuData&&r.menuData.length>0){var e=y(r.menuData,s.value);if(e)return e}var t=m.value.find(function(e){return e.key===s.value});return t?[r.homeBreadcrumb,{title:t.title,key:t.key}]:[r.homeBreadcrumb]}),g=function(e){o("menu-click",e),r.autoAddTab&&(l.addTab({key:e.key,title:e.title||e.label,closable:!0,path:e.path}),o("update:activeTab",e.key)),r.enableRouterSync&&i&&e.path&&i.push(e.path)},T=function(e){if(l.setCurrentTab(e),o("update:activeTab",e),o("tab-change",e),r.enableRouterSync&&i){var t=m.value.find(function(t){return t.key===e});null!=t&&t.path&&i.push(t.path)}},B=function(e){o("tab-click",e)},S=function(e){if(l.removeTab(e.key),o("update:activeTab",s.value),o("tab-close",e),r.enableRouterSync&&i){var t=l.currentTabData;null!=t&&t.path&&i.push(t.path)}},C=function(e){o("breadcrumb-click",e)},E=function(e){var t=h(r.menuData,e);t&&r.autoAddTab&&(l.addTab({key:t.key,title:t.title||t.label,closable:!0,path:t.path}),o("update:activeTab",e))};return n({addTab:function(e){l.addTab(e),o("update:activeTab",e.key)},removeTab:function(e){l.removeTab(e),o("update:activeTab",s.value)},getCurrentTab:function(){return l.currentTabData},addTabByMenuKey:E,findMenuItem:h,findMenuKeyByPath:v,tabsList:m,currentTab:s,currentTabData:b,breadcrumbList:k,clearTabs:l.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)(w,{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:g},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:m.value,activeTab:s.value},function(){return[(0,d.createVNode)(V,{tabs:m.value,activeTab:s.value,"onUpdate:activeTab":T,onTabClick:B,onTabClose:S},null,8,["tabs","activeTab"])]}):(0,d.createCommentVNode)("",!0),e.showBreadcrumb?((0,d.openBlock)(),(0,d.createElementBlock)("div",q,[(0,d.createVNode)(O,{items:k.value,onClick:C},{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:f,alt:""}),(0,d.createElementVNode)("p",null,"AI助手")]),(0,d.createElementVNode)("div",{class:"extra-item"},[(0,d.createElementVNode)("img",{src:p,alt:""}),(0,d.createElementVNode)("p",null,"帮助文档")])],-1))]})]}),_:3},8,["items"])])):(0,d.createCommentVNode)("",!0),(0,d.createElementVNode)("div",U,[(0,d.renderSlot)(t.$slots,"default",{activeTab:s.value,tabData:b.value})])]}),_:3})]}),_:3})}}}),F=(0,T.A)(X,[["__scopeId","data-v-3ae60c08"]]);var z=[F,w,O,V],G=function(e){if(!G.installed){if(G.installed=!0,!e.config.globalProperties.$pinia){var t=function(){var e=(0,l.createPinia)();return e.use(s()),e}();e.use(t)}z.forEach(function(t){e.component(t.name,t)})}};"undefined"!=typeof window&&window.Vue&&G(window.Vue);const H={install:G,PageLayout:F,SidebarLayout:w,BreadCrumb:O,Tabs:V};return u.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")):"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.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;i.g.importScripts&&(e=i.g.location+"");var t=i.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var a=n.length-1;a>-1&&(!e||!/^http(s?):/.test(e));)e=n[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})();var u={};i.d(u,{default:()=>H});var l=i(144),c=i(282),s=i.n(c),d=i(594);const f=i.p+"images/icon-ai.14abd0.png",p=i.p+"images/icon-helper.e4bdca.png";var m=i(166);function b(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=v(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,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){u=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw o}}}}function v(e,t){if(e){if("string"==typeof e)return y(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)?y(e,t):void 0}}function y(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 h={class:"system-title"},k={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,a=t.emit,r=e,o=a,i=((0,d.computed)(function(){return r.systemTitle}),(0,d.ref)(r.collapsed)),u=(0,d.ref)([]),l=(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){u.value=[e];var t=function(e,n){var a,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=b(e);try{for(o.s();!(a=o.n()).done;){var i=a.value;if(i.key===n)return r;if(i.children){var u=t(i.children,n,i.key);if(null!==u)return u}}}catch(e){o.e(e)}finally{o.f()}return null},n=r.menuData.length>0?r.menuData:c,a=t(n,e);a&&!l.value.includes(a)&&(l.value=[].concat(function(e){if(Array.isArray(e))return y(e)}(o=l.value)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||v(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})},f=(0,d.computed)(function(){var e=r.menuData.length>0?r.menuData:c;return s(e)}),p=function(){i.value=!i.value},g=function(e){var t=e.key,n=(e.item,function(e,t){var a,r=b(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))},T=function(e){l.value=e};return(0,d.watch)(u,function(e){if(e.length>0){var t=e[0];o("update:activeKey",t)}},{immediate:!1}),n({toggleCollapse:p,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,d.resolveComponent)("a-menu");return(0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(["sidebar",{collapsed:i.value}])},[(0,d.createElementVNode)("div",h,[(0,d.createElementVNode)("h1",null,(0,d.toDisplayString)(r.systemTitle),1)]),(0,d.createElementVNode)("div",k,[(0,d.createVNode)(n,{selectedKeys:u.value,"onUpdate:selectedKeys":t[0]||(t[0]=function(e){return u.value=e}),openKeys:l.value,"onUpdate:openKeys":t[1]||(t[1]=function(e){return l.value=e}),mode:"inline","inline-collapsed":i.value,items:f.value,onClick:g,onOpenChange:T},null,8,["selectedKeys","openKeys","inline-collapsed","items"])]),(0,d.createElementVNode)("div",{class:"collapse-btn",onClick:p},[i.value?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(m.RightOutlined),{key:1})):((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(m.LeftOutlined),{key:0}))])],2)}}};var T=i(262);const w=(0,T.A)(g,[["__scopeId","data-v-3166c85e"]]);var B={class:"tabs-wrapper"},S={class:"tabs-container"},C=["onClick"],E={class:"tab-title"},x=["onClick"];const A=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=[],u=(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)(u,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",B,[(0,d.createElementVNode)("div",S,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(u.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",E,(0,d.toDisplayString)(e.title),1),!1!==e.closable&&u.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,x)):(0,d.createCommentVNode)("",!0)],10,C)}),128))])])}}}),V=(0,T.A)(A,[["__scopeId","data-v-26cdabbe"]]);var N={class:"breadcrumb-wrapper"},D={class:"breadcrumb-content"},_={key:0,class:"breadcrumb-current"},j=["onClick"],I={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",N,[(0,d.createElementVNode)("div",D,[(0,d.createVNode)((0,d.unref)(m.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",_,(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,j))]}),_:2},1024)}),128))]}),_:1})]),(0,d.createElementVNode)("div",I,[(0,d.renderSlot)(e.$slots,"default")])])}}}),O=(0,T.A)(K,[["__scopeId","data-v-06ed9d84"]]);var L=(0,l.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 P(e){return function(e){if(Array.isArray(e))return $(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||R(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 M(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=R(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,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){u=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw o}}}}function R(e,t){if(e){if("string"==typeof e)return $(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)?$(e,t):void 0}}function $(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"},U={class:"page-layout--content"};const X=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),u=(0,d.inject)("route",null),l=L(),c=(0,d.ref)(!1),s=(0,d.toRef)(l,"currentTab"),m=(0,d.toRef)(l,"tabs");(0,d.watch)(function(){return r.defaultTabs},function(e){e&&e.length>0&&e.forEach(function(e){return l.addTab(e)})},{immediate:!0,deep:!0});var b=(0,d.computed)(function(){return l.currentTabData}),v=function(e,t){var n,a=M(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=v(r.children,t);if(o)return o}}}catch(e){a.e(e)}finally{a.f()}return null},y=function(e,t){var n,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=M(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;if(o.key===t)return[].concat(P(a),[{title:o.title||o.label,path:o.path,key:o.key}]);if(o.children&&o.children.length>0){var i=y(o.children,t,[].concat(P(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},h=function(e,t){var n,a=M(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=h(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==u||null===(e=u.value)||void 0===e?void 0:e.path},function(e){if(r.enableRouterSync&&e&&"/"!==e){var t=v(r.menuData,e);t&&E(t)}},{immediate:!0});var k=(0,d.computed)(function(){if(s.value===r.homeBreadcrumb.key)return[r.homeBreadcrumb];if(r.menuData&&r.menuData.length>0){var e=y(r.menuData,s.value);if(e)return e}var t=m.value.find(function(e){return e.key===s.value});return t?[r.homeBreadcrumb,{title:t.title,key:t.key}]:[r.homeBreadcrumb]}),g=function(e){o("menu-click",e),r.autoAddTab&&(l.addTab({key:e.key,title:e.title||e.label,closable:!0,path:e.path}),o("update:activeTab",e.key)),console.log("props.enableRouterSync",r.enableRouterSync),console.log("router",i),console.log("item.path",e.path),r.enableRouterSync&&i&&e.path&&i.push(e.path)},T=function(e){if(l.setCurrentTab(e),o("update:activeTab",e),o("tab-change",e),r.enableRouterSync&&i){var t=m.value.find(function(t){return t.key===e});null!=t&&t.path&&i.push(t.path)}},B=function(e){o("tab-click",e)},S=function(e){if(l.removeTab(e.key),o("update:activeTab",s.value),o("tab-close",e),r.enableRouterSync&&i){var t=l.currentTabData;null!=t&&t.path&&i.push(t.path)}},C=function(e){o("breadcrumb-click",e)},E=function(e){var t=h(r.menuData,e);t&&r.autoAddTab&&(l.addTab({key:t.key,title:t.title||t.label,closable:!0,path:t.path}),o("update:activeTab",e))};return n({addTab:function(e){l.addTab(e),o("update:activeTab",e.key)},removeTab:function(e){l.removeTab(e),o("update:activeTab",s.value)},getCurrentTab:function(){return l.currentTabData},addTabByMenuKey:E,findMenuItem:h,findMenuKeyByPath:v,tabsList:m,currentTab:s,currentTabData:b,breadcrumbList:k,clearTabs:l.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)(w,{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:g},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:m.value,activeTab:s.value},function(){return[(0,d.createVNode)(V,{tabs:m.value,activeTab:s.value,"onUpdate:activeTab":T,onTabClick:B,onTabClose:S},null,8,["tabs","activeTab"])]}):(0,d.createCommentVNode)("",!0),e.showBreadcrumb?((0,d.openBlock)(),(0,d.createElementBlock)("div",q,[(0,d.createVNode)(O,{items:k.value,onClick:C},{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:f,alt:""}),(0,d.createElementVNode)("p",null,"AI助手")]),(0,d.createElementVNode)("div",{class:"extra-item"},[(0,d.createElementVNode)("img",{src:p,alt:""}),(0,d.createElementVNode)("p",null,"帮助文档")])],-1))]})]}),_:3},8,["items"])])):(0,d.createCommentVNode)("",!0),(0,d.createElementVNode)("div",U,[(0,d.renderSlot)(t.$slots,"default",{activeTab:s.value,tabData:b.value})])]}),_:3})]}),_:3})}}}),F=(0,T.A)(X,[["__scopeId","data-v-a73872fc"]]);var z=[F,w,O,V],G=function(e){if(!G.installed){if(G.installed=!0,!e.config.globalProperties.$pinia){var t=function(){var e=(0,l.createPinia)();return e.use(s()),e}();e.use(t)}z.forEach(function(t){e.component(t.name,t)})}};"undefined"!=typeof window&&window.Vue&&G(window.Vue);const H={install:G,PageLayout:F,SidebarLayout:w,BreadCrumb:O,Tabs:V};return u.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-a73872fc] {
|
|
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-a73872fc] {
|
|
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-a73872fc] {
|
|
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-a73872fc] {
|
|
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-a73872fc] {
|
|
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-a73872fc] {
|
|
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-a73872fc] {
|
|
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-a73872fc] {
|
|
279
279
|
margin-bottom: 0;
|
|
280
280
|
}
|
|
281
|
-
.page-layout .page-layout--content[data-v-
|
|
281
|
+
.page-layout .page-layout--content[data-v-a73872fc] {
|
|
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.12","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","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":""}
|