zzz-pc-view 0.0.41 → 0.0.43

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zzz-pc-view",
3
- "version": "0.0.41",
3
+ "version": "0.0.43",
4
4
  "main": "src/index.umd.js",
5
5
  "module": "src/index.es.js",
6
6
  "types": "src/index.d.ts",
package/src/index.es.js CHANGED
@@ -2327,7 +2327,6 @@ const watchRoute = (router2) => {
2327
2327
  const oldRouteName = oldRoute.name;
2328
2328
  const oldRouteTabIndex = tabs.findIndex((tab) => tab.id === oldRouteName);
2329
2329
  if (oldRouteTabIndex > -1) {
2330
- console.log(oldRouteName, oldRouteTabIndex + 1);
2331
2330
  tabs.splice(oldRouteTabIndex + 1, 0, getTab(newRoute));
2332
2331
  return;
2333
2332
  }
@@ -2448,6 +2447,34 @@ const clear = (option) => {
2448
2447
  });
2449
2448
  }
2450
2449
  };
2450
+ const currentRootNavComputed = computed(() => {
2451
+ const route = router.currentRoute.value;
2452
+ const raw = route.meta.raw;
2453
+ if (!raw) {
2454
+ return;
2455
+ }
2456
+ const navTree = navTreeRef.value;
2457
+ if (raw instanceof ZNavMenu && navTree.includes(raw)) {
2458
+ return;
2459
+ }
2460
+ let navDir = void 0;
2461
+ const navTreeLen = navTree.length;
2462
+ for (let i = 0; i < navTreeLen; i++) {
2463
+ const nav = navTree[i];
2464
+ if (nav.type === 1) {
2465
+ const navMenu = findLeafNode(
2466
+ nav.children || [],
2467
+ "children",
2468
+ (nav2) => nav2 === raw
2469
+ );
2470
+ if (navMenu) {
2471
+ navDir = nav;
2472
+ break;
2473
+ }
2474
+ }
2475
+ }
2476
+ return navDir;
2477
+ });
2451
2478
  const response = {
2452
2479
  /**
2453
2480
  * 根路由名称常量,用于标识根路由。
@@ -2488,6 +2515,32 @@ const response = {
2488
2515
  get navChildrenMap() {
2489
2516
  return navChildrenMapRef.value;
2490
2517
  },
2518
+ /**
2519
+ * 获取当前路由对应的根导航目录的 getter 方法。
2520
+ * 该属性返回一个计算属性 currentRootNavComputed 的值,用于获取与当前路由关联的根导航目录。
2521
+ * @returns {ZNavDir | undefined} - 当前路由对应的根导航目录对象,如果找不到则返回 undefined。
2522
+ */
2523
+ get currentRouteNav() {
2524
+ return currentRootNavComputed.value;
2525
+ },
2526
+ /**
2527
+ * 设置当前路由到指定根导航目录的第一个菜单项。
2528
+ * 如果指定的根导航目录已经是当前根导航目录,则不进行任何操作。
2529
+ * @param {ZNavDir} rootNavDir - 要设置的根导航目录对象。
2530
+ */
2531
+ setRoute: (rootNavDir) => {
2532
+ if (currentRootNavComputed.value === rootNavDir) {
2533
+ return;
2534
+ }
2535
+ const firstNav = findLeafNode(
2536
+ rootNavDir.children || [],
2537
+ "children",
2538
+ (nav) => nav instanceof ZNavMenu
2539
+ );
2540
+ if (firstNav) {
2541
+ router.push(firstNav.path);
2542
+ }
2543
+ },
2491
2544
  /**
2492
2545
  * 获取当前打开的路由标签页列表的 getter 方法。
2493
2546
  * @type {Function}
@@ -10507,7 +10560,7 @@ class CurdViewHandler extends CurdHandler {
10507
10560
  }
10508
10561
  }
10509
10562
  const _hoisted_1$b = { class: "flex column wrapper data-wrapper" };
10510
- const _hoisted_2$5 = { class: "flex flex-wrap gap-10 data-wrapper-header" };
10563
+ const _hoisted_2$6 = { class: "flex flex-wrap gap-10 data-wrapper-header" };
10511
10564
  const _hoisted_3$4 = { class: "flex gap-10 data-wrapper-footer" };
10512
10565
  const _sfc_main$m = /* @__PURE__ */ defineComponent({
10513
10566
  __name: "DataWrapperView",
@@ -10518,7 +10571,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
10518
10571
  return (_ctx, _cache) => {
10519
10572
  const _component_el_scrollbar = resolveComponent("el-scrollbar");
10520
10573
  return openBlock(), createElementBlock("div", _hoisted_1$b, [
10521
- createElementVNode("div", _hoisted_2$5, [
10574
+ createElementVNode("div", _hoisted_2$6, [
10522
10575
  renderSlot(_ctx.$slots, "header")
10523
10576
  ]),
10524
10577
  createVNode(_component_el_scrollbar, {
@@ -10744,12 +10797,12 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
10744
10797
  }
10745
10798
  });
10746
10799
  const _hoisted_1$9 = { class: "flex gap-layout wrapper" };
10747
- const _hoisted_2$4 = {
10800
+ const _hoisted_2$5 = {
10748
10801
  key: 0,
10749
10802
  class: "curd-list-aside"
10750
10803
  };
10751
10804
  const _hoisted_3$3 = { class: "flex-1 fit-size curd-list-content" };
10752
- const _hoisted_4$2 = {
10805
+ const _hoisted_4$3 = {
10753
10806
  key: 1,
10754
10807
  class: "curd-list-aside"
10755
10808
  };
@@ -10779,7 +10832,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
10779
10832
  ]),
10780
10833
  body: withCtx(() => [
10781
10834
  createElementVNode("div", _hoisted_1$9, [
10782
- _ctx.viewHandler.displayFilterConfigMap[unref(ZDecorators).FilterKey.PositionEnum.LEFT] ? (openBlock(), createElementBlock("div", _hoisted_2$4, [
10835
+ _ctx.viewHandler.displayFilterConfigMap[unref(ZDecorators).FilterKey.PositionEnum.LEFT] ? (openBlock(), createElementBlock("div", _hoisted_2$5, [
10783
10836
  createVNode(_sfc_main$i, {
10784
10837
  "view-handler": _ctx.viewHandler,
10785
10838
  position: unref(ZDecorators).FilterKey.PositionEnum.LEFT,
@@ -10802,7 +10855,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
10802
10855
  })), [
10803
10856
  [_directive_loading, _ctx.viewHandler.listLoadStatus]
10804
10857
  ]),
10805
- _ctx.viewHandler.displayFilterConfigMap[unref(ZDecorators).FilterKey.PositionEnum.RIGHT] ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
10858
+ _ctx.viewHandler.displayFilterConfigMap[unref(ZDecorators).FilterKey.PositionEnum.RIGHT] ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
10806
10859
  createVNode(_sfc_main$i, {
10807
10860
  "view-handler": _ctx.viewHandler,
10808
10861
  position: unref(ZDecorators).FilterKey.PositionEnum.RIGHT,
@@ -11417,13 +11470,16 @@ const index$3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
11417
11470
  const LayoutViewDeclare = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
11418
11471
  __proto__: null
11419
11472
  }, Symbol.toStringTag, { value: "Module" }));
11420
- const _hoisted_1$4 = ["href"];
11473
+ const _hoisted_1$4 = ["onClick"];
11474
+ const _hoisted_2$4 = ["href"];
11421
11475
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
11422
11476
  __name: "LayoutNavView",
11423
11477
  props: {
11424
- navs: {}
11478
+ navs: {},
11479
+ onlyShowRoot: { type: Boolean }
11425
11480
  },
11426
11481
  setup(__props) {
11482
+ const navStore = useNavStore();
11427
11483
  return (_ctx, _cache) => {
11428
11484
  const _component_LayoutNavView = resolveComponent("LayoutNavView", true);
11429
11485
  const _component_el_sub_menu = resolveComponent("el-sub-menu");
@@ -11433,25 +11489,40 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
11433
11489
  return openBlock(), createElementBlock(Fragment, {
11434
11490
  key: nav.id
11435
11491
  }, [
11436
- nav.type === unref(ZWebUtils).ZNavTypeEnum.DIR ? (openBlock(), createBlock(_component_el_sub_menu, {
11437
- key: 0,
11438
- index: nav.id,
11439
- class: "flex center"
11440
- }, {
11441
- title: withCtx(() => [
11492
+ nav.type === unref(ZWebUtils).ZNavTypeEnum.DIR ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
11493
+ nav.type === unref(ZWebUtils).ZNavTypeEnum.DIR && _ctx.onlyShowRoot ? (openBlock(), createElementBlock("li", {
11494
+ key: 0,
11495
+ tabindex: "0",
11496
+ class: normalizeClass(["flex center layout-nav-link el-menu-item", {
11497
+ "is-active": nav === unref(navStore).currentRouteNav
11498
+ }]),
11499
+ onClick: ($event) => unref(navStore).setRoute(nav)
11500
+ }, [
11442
11501
  nav.icon ? (openBlock(), createBlock(resolveDynamicComponent(nav.icon), {
11443
11502
  key: 0,
11444
11503
  class: "layout-nav-icon"
11445
11504
  })) : createCommentVNode("", true),
11446
11505
  createElementVNode("span", null, toDisplayString(nav.title), 1)
11447
- ]),
11448
- default: withCtx(() => [
11449
- createVNode(_component_LayoutNavView, {
11450
- navs: nav.children
11451
- }, null, 8, ["navs"])
11452
- ]),
11453
- _: 2
11454
- }, 1032, ["index"])) : nav instanceof unref(ZWebUtils).ZNavLink ? (openBlock(), createBlock(_component_el_menu_item, {
11506
+ ], 10, _hoisted_1$4)) : (openBlock(), createBlock(_component_el_sub_menu, {
11507
+ key: 1,
11508
+ index: nav.id,
11509
+ class: "flex center"
11510
+ }, {
11511
+ title: withCtx(() => [
11512
+ nav.icon ? (openBlock(), createBlock(resolveDynamicComponent(nav.icon), {
11513
+ key: 0,
11514
+ class: "layout-nav-icon"
11515
+ })) : createCommentVNode("", true),
11516
+ createElementVNode("span", null, toDisplayString(nav.title), 1)
11517
+ ]),
11518
+ default: withCtx(() => [
11519
+ createVNode(_component_LayoutNavView, {
11520
+ navs: nav.children
11521
+ }, null, 8, ["navs"])
11522
+ ]),
11523
+ _: 2
11524
+ }, 1032, ["index"]))
11525
+ ], 64)) : nav instanceof unref(ZWebUtils).ZNavLink ? (openBlock(), createBlock(_component_el_menu_item, {
11455
11526
  key: 1,
11456
11527
  index: nav.outLink
11457
11528
  }, {
@@ -11466,7 +11537,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
11466
11537
  class: "layout-nav-icon"
11467
11538
  })) : createCommentVNode("", true),
11468
11539
  createElementVNode("span", null, toDisplayString(nav.title), 1)
11469
- ], 8, _hoisted_1$4)
11540
+ ], 8, _hoisted_2$4)
11470
11541
  ]),
11471
11542
  _: 2
11472
11543
  }, 1032, ["index"])) : (openBlock(), createBlock(_component_el_menu_item, {
@@ -11532,7 +11603,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
11532
11603
  };
11533
11604
  }
11534
11605
  });
11535
- const _hoisted_1$2 = { class: "flex valign-center gap-layout layout-header" };
11606
+ const _hoisted_1$2 = { class: "relative flex valign-center gap-layout layout-header" };
11536
11607
  const _hoisted_2$2 = {
11537
11608
  key: 0,
11538
11609
  class: "flex valign-center gap-10 layout-header-system-info"
@@ -11541,8 +11612,8 @@ const _hoisted_3$2 = {
11541
11612
  key: 1,
11542
11613
  class: "layout-header-system-info-title"
11543
11614
  };
11544
- const _hoisted_4$1 = { class: "flex-1 fit-size layout-nav-scrollbar-container" };
11545
- const _hoisted_5$1 = {
11615
+ const _hoisted_4$2 = { class: "flex-1 fit-size layout-nav-scrollbar-container" };
11616
+ const _hoisted_5$2 = {
11546
11617
  key: 1,
11547
11618
  class: "flex valign-center gap-8 layout-header-toolbar"
11548
11619
  };
@@ -11550,6 +11621,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
11550
11621
  __name: "LayoutHeaderView",
11551
11622
  props: {
11552
11623
  systemInfo: {},
11624
+ navOnlyShowRoot: { type: Boolean },
11553
11625
  toolbarComponent: {},
11554
11626
  profile: {}
11555
11627
  },
@@ -11578,7 +11650,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
11578
11650
  })) : createCommentVNode("", true),
11579
11651
  _ctx.systemInfo.title ? (openBlock(), createElementBlock("div", _hoisted_3$2, toDisplayString(_ctx.systemInfo.title), 1)) : createCommentVNode("", true)
11580
11652
  ])) : createCommentVNode("", true),
11581
- createElementVNode("div", _hoisted_4$1, [
11653
+ createElementVNode("div", _hoisted_4$2, [
11582
11654
  createVNode(_component_el_scrollbar, { "view-class": "flex layout-header-scrollbar-view" }, {
11583
11655
  default: withCtx(() => [
11584
11656
  createVNode(_component_el_menu, {
@@ -11586,13 +11658,14 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
11586
11658
  mode: "horizontal",
11587
11659
  "unique-opened": "",
11588
11660
  class: normalizeClass({
11589
- "layout-main-nav-center": _ctx.systemInfo
11661
+ "layout-main-nav-center": !!_ctx.systemInfo
11590
11662
  })
11591
11663
  }, {
11592
11664
  default: withCtx(() => [
11593
11665
  createVNode(_sfc_main$4, {
11594
- navs: unref(navStore).navTree
11595
- }, null, 8, ["navs"])
11666
+ navs: unref(navStore).navTree,
11667
+ "only-show-root": _ctx.navOnlyShowRoot
11668
+ }, null, 8, ["navs", "only-show-root"])
11596
11669
  ]),
11597
11670
  _: 1
11598
11671
  }, 8, ["default-active", "class"])
@@ -11600,7 +11673,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
11600
11673
  _: 1
11601
11674
  })
11602
11675
  ]),
11603
- _ctx.toolbarComponent ? (openBlock(), createElementBlock("div", _hoisted_5$1)) : createCommentVNode("", true),
11676
+ _ctx.toolbarComponent ? (openBlock(), createElementBlock("div", _hoisted_5$2)) : createCommentVNode("", true),
11604
11677
  _ctx.profile ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
11605
11678
  Array.isArray(_ctx.profile.menus) && _ctx.profile.menus.length ? (openBlock(), createBlock(_component_el_dropdown, {
11606
11679
  key: 0,
@@ -11648,11 +11721,11 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
11648
11721
  const _hoisted_1$1 = { class: "relative layout-tab" };
11649
11722
  const _hoisted_2$1 = ["data-id", "onClick"];
11650
11723
  const _hoisted_3$1 = { class: "flex valign-center" };
11651
- const _hoisted_4 = {
11724
+ const _hoisted_4$1 = {
11652
11725
  key: 0,
11653
11726
  class: "flex center layout-tab-item-icon"
11654
11727
  };
11655
- const _hoisted_5 = { class: "layout-tab-item-text" };
11728
+ const _hoisted_5$1 = { class: "layout-tab-item-text" };
11656
11729
  const _hoisted_6 = { class: "flex valign-center" };
11657
11730
  const _hoisted_7 = ["onClick"];
11658
11731
  const _hoisted_8 = ["onClick"];
@@ -11716,10 +11789,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
11716
11789
  onClick: ($event) => onTabItemClick(tab)
11717
11790
  }, [
11718
11791
  createElementVNode("div", _hoisted_3$1, [
11719
- tab.icon ? (openBlock(), createElementBlock("span", _hoisted_4, [
11792
+ tab.icon ? (openBlock(), createElementBlock("span", _hoisted_4$1, [
11720
11793
  (openBlock(), createBlock(resolveDynamicComponent(tab.icon)))
11721
11794
  ])) : createCommentVNode("", true),
11722
- createElementVNode("span", _hoisted_5, toDisplayString(tab.title), 1)
11795
+ createElementVNode("span", _hoisted_5$1, toDisplayString(tab.title), 1)
11723
11796
  ]),
11724
11797
  createElementVNode("div", _hoisted_6, [
11725
11798
  unref(route).name === tab.id ? (openBlock(), createElementBlock("div", {
@@ -11758,8 +11831,13 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
11758
11831
  }
11759
11832
  });
11760
11833
  const _hoisted_1 = { class: "flex column wrapper layout-main" };
11761
- const _hoisted_2 = { class: "flex column flex-1 fit-size" };
11762
- const _hoisted_3 = { class: "flex-1 fit-size" };
11834
+ const _hoisted_2 = { class: "flex flex-1 fit-size" };
11835
+ const _hoisted_3 = {
11836
+ key: 0,
11837
+ class: "relative layout-aside"
11838
+ };
11839
+ const _hoisted_4 = { class: "flex column flex-1 fit-size" };
11840
+ const _hoisted_5 = { class: "flex-1 fit-size" };
11763
11841
  const _sfc_main = /* @__PURE__ */ defineComponent({
11764
11842
  __name: "LayoutMainView",
11765
11843
  props: {
@@ -11783,29 +11861,54 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
11783
11861
  };
11784
11862
  });
11785
11863
  return (_ctx, _cache) => {
11864
+ const _component_el_menu = resolveComponent("el-menu");
11865
+ const _component_el_scrollbar = resolveComponent("el-scrollbar");
11786
11866
  const _component_router_view = resolveComponent("router-view");
11787
11867
  return openBlock(), createElementBlock("div", _hoisted_1, [
11788
11868
  createVNode(_sfc_main$2, normalizeProps(guardReactiveProps(_ctx.headerProps)), null, 16),
11789
11869
  createElementVNode("div", _hoisted_2, [
11790
- _ctx.showTabs ? (openBlock(), createBlock(_sfc_main$1, { key: 0 })) : createCommentVNode("", true),
11791
- createElementVNode("div", _hoisted_3, [
11792
- createVNode(_component_router_view, null, {
11793
- default: withCtx(({ Component }) => [
11794
- createVNode(Transition, { name: "fadeLeft" }, {
11870
+ _ctx.headerProps.navOnlyShowRoot && unref(navStore).currentRouteNav ? (openBlock(), createElementBlock("aside", _hoisted_3, [
11871
+ createVNode(_component_el_scrollbar, null, {
11872
+ default: withCtx(() => [
11873
+ (openBlock(), createBlock(_component_el_menu, {
11874
+ key: unref(navStore).currentRouteNav.id,
11875
+ "default-active": unref(route).path,
11876
+ "unique-opened": "",
11877
+ class: "layout-aside-nav"
11878
+ }, {
11795
11879
  default: withCtx(() => [
11796
- _ctx.keepAliveView ? (openBlock(), createBlock(KeepAlive, normalizeProps(mergeProps({ key: 0 }, keepAlivePropsComputed.value)), [
11797
- (openBlock(), createBlock(resolveDynamicComponent(Component), {
11798
- key: `${unref(route).name}-${(unref(navStore).tabMap[unref(route).name] || {}).count}`
11799
- }))
11800
- ], 1040)) : (openBlock(), createBlock(resolveDynamicComponent(Component), { key: 1 }))
11880
+ createVNode(_sfc_main$4, {
11881
+ navs: unref(navStore).currentRouteNav.children
11882
+ }, null, 8, ["navs"])
11801
11883
  ]),
11802
- _: 2
11803
- }, 1024)
11884
+ _: 1
11885
+ }, 8, ["default-active"]))
11804
11886
  ]),
11805
11887
  _: 1
11806
11888
  })
11889
+ ])) : createCommentVNode("", true),
11890
+ createElementVNode("div", _hoisted_4, [
11891
+ _ctx.showTabs ? (openBlock(), createBlock(_sfc_main$1, { key: 0 })) : createCommentVNode("", true),
11892
+ createElementVNode("div", _hoisted_5, [
11893
+ createVNode(_component_router_view, null, {
11894
+ default: withCtx(({ Component }) => [
11895
+ createVNode(Transition, { name: "fadeLeft" }, {
11896
+ default: withCtx(() => [
11897
+ _ctx.keepAliveView ? (openBlock(), createBlock(KeepAlive, normalizeProps(mergeProps({ key: 0 }, keepAlivePropsComputed.value)), [
11898
+ (openBlock(), createBlock(resolveDynamicComponent(Component), {
11899
+ key: `${unref(route).name}-${(unref(navStore).tabMap[unref(route).name] || {}).count}`
11900
+ }))
11901
+ ], 1040)) : (openBlock(), createBlock(resolveDynamicComponent(Component), { key: 1 }))
11902
+ ]),
11903
+ _: 2
11904
+ }, 1024)
11905
+ ]),
11906
+ _: 1
11907
+ })
11908
+ ])
11807
11909
  ])
11808
- ])
11910
+ ]),
11911
+ renderSlot(_ctx.$slots, "dialog")
11809
11912
  ]);
11810
11913
  };
11811
11914
  }