@fmdeui/fmui 1.0.28 → 1.0.30

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.
Files changed (187) hide show
  1. package/es/component.mjs +3 -1
  2. package/es/components/fm-layout/index.d.ts +32 -0
  3. package/es/components/fm-layout/src/component/aside.vue.d.ts +5 -0
  4. package/es/components/fm-layout/src/component/columnsAside.vue.d.ts +5 -0
  5. package/es/components/fm-layout/src/component/header.vue.d.ts +16 -0
  6. package/es/components/fm-layout/src/component/main.vue.d.ts +7 -0
  7. package/es/components/fm-layout/src/footer/index.vue.d.ts +3 -0
  8. package/es/components/fm-layout/src/index.vue.d.ts +22 -0
  9. package/es/components/fm-layout/src/logo/index.vue.d.ts +3 -0
  10. package/es/components/fm-layout/src/main/classic.vue.d.ts +18 -0
  11. package/es/components/fm-layout/src/main/columns.vue.d.ts +19 -0
  12. package/es/components/fm-layout/src/main/defaults.vue.d.ts +48 -0
  13. package/es/components/fm-layout/src/main/transverse.vue.d.ts +18 -0
  14. package/es/components/fm-layout/src/navBars/index.vue.d.ts +16 -0
  15. package/es/components/fm-layout/src/navBars/tagsView/contextmenu.vue.d.ts +28 -0
  16. package/es/components/fm-layout/src/navBars/tagsView/tagsView.vue.d.ts +45 -0
  17. package/es/components/fm-layout/src/navBars/topBar/breadcrumb.vue.d.ts +3 -0
  18. package/es/components/fm-layout/src/navBars/topBar/index.vue.d.ts +16 -0
  19. package/es/components/fm-layout/src/navBars/topBar/search.vue.d.ts +7 -0
  20. package/es/components/fm-layout/src/navBars/topBar/upgradeInfo.vue.d.ts +5 -0
  21. package/es/components/fm-layout/src/navBars/topBar/user.vue.d.ts +75 -0
  22. package/es/components/fm-layout/src/navBars/topBar/userNews.vue.d.ts +9 -0
  23. package/es/components/fm-layout/src/navMenu/horizontal.vue.d.ts +42 -0
  24. package/es/components/fm-layout/src/navMenu/subItem.vue.d.ts +42 -0
  25. package/es/components/fm-layout/src/navMenu/vertical.vue.d.ts +42 -0
  26. package/es/components/fm-layout/src/routerView/iframes.vue.d.ts +35 -0
  27. package/es/components/fm-layout/src/routerView/parent.vue.d.ts +3 -0
  28. package/es/components/fm-layout/src/type.d.ts +2 -0
  29. package/es/components/fm-layout/style/css.d.ts +0 -0
  30. package/es/components/fm-layout/style/index.d.ts +0 -0
  31. package/es/components/index.d.ts +1 -0
  32. package/es/packages/components/fm-layout/index.mjs +7 -0
  33. package/es/packages/components/fm-layout/src/component/aside.vue.mjs +5 -0
  34. package/es/packages/components/fm-layout/src/component/aside.vue2.mjs +175 -0
  35. package/es/packages/components/fm-layout/src/component/columnsAside.vue.mjs +5 -0
  36. package/es/packages/components/fm-layout/src/component/columnsAside.vue2.mjs +273 -0
  37. package/es/packages/components/fm-layout/src/component/header.vue.mjs +5 -0
  38. package/es/packages/components/fm-layout/src/component/header.vue2.mjs +50 -0
  39. package/es/packages/components/fm-layout/src/component/main.vue.mjs +5 -0
  40. package/es/packages/components/fm-layout/src/component/main.vue2.mjs +81 -0
  41. package/es/packages/components/fm-layout/src/footer/index.vue.mjs +5 -0
  42. package/es/packages/components/fm-layout/src/footer/index.vue2.mjs +29 -0
  43. package/es/packages/components/fm-layout/src/index.vue.mjs +5 -0
  44. package/es/packages/components/fm-layout/src/index.vue2.mjs +91 -0
  45. package/es/packages/components/fm-layout/src/logo/index.vue.mjs +5 -0
  46. package/es/packages/components/fm-layout/src/logo/index.vue2.mjs +57 -0
  47. package/es/packages/components/fm-layout/src/main/classic.vue.mjs +5 -0
  48. package/es/packages/components/fm-layout/src/main/classic.vue2.mjs +87 -0
  49. package/es/packages/components/fm-layout/src/main/columns.vue.mjs +5 -0
  50. package/es/packages/components/fm-layout/src/main/columns.vue2.mjs +100 -0
  51. package/es/packages/components/fm-layout/src/main/defaults.vue.mjs +5 -0
  52. package/es/packages/components/fm-layout/src/main/defaults.vue2.mjs +153 -0
  53. package/es/packages/components/fm-layout/src/main/transverse.vue.mjs +5 -0
  54. package/es/packages/components/fm-layout/src/main/transverse.vue2.mjs +70 -0
  55. package/es/packages/components/fm-layout/src/navBars/index.vue.mjs +5 -0
  56. package/es/packages/components/fm-layout/src/navBars/index.vue2.mjs +44 -0
  57. package/es/packages/components/fm-layout/src/navBars/tagsView/contextmenu.vue.mjs +5 -0
  58. package/es/packages/components/fm-layout/src/navBars/tagsView/contextmenu.vue2.mjs +156 -0
  59. package/es/packages/components/fm-layout/src/navBars/tagsView/tagsView.vue.mjs +5 -0
  60. package/es/packages/components/fm-layout/src/navBars/tagsView/tagsView.vue2.mjs +576 -0
  61. package/es/packages/components/fm-layout/src/navBars/topBar/breadcrumb.vue.mjs +5 -0
  62. package/es/packages/components/fm-layout/src/navBars/topBar/breadcrumb.vue2.mjs +169 -0
  63. package/es/packages/components/fm-layout/src/navBars/topBar/index.vue.mjs +5 -0
  64. package/es/packages/components/fm-layout/src/navBars/topBar/index.vue2.mjs +113 -0
  65. package/es/packages/components/fm-layout/src/navBars/topBar/search.vue.mjs +5 -0
  66. package/es/packages/components/fm-layout/src/navBars/topBar/search.vue2.mjs +120 -0
  67. package/es/packages/components/fm-layout/src/navBars/topBar/upgradeInfo.vue.mjs +5 -0
  68. package/es/packages/components/fm-layout/src/navBars/topBar/upgradeInfo.vue2.mjs +72 -0
  69. package/es/packages/components/fm-layout/src/navBars/topBar/user.vue.mjs +5 -0
  70. package/es/packages/components/fm-layout/src/navBars/topBar/user.vue2.mjs +699 -0
  71. package/es/packages/components/fm-layout/src/navBars/topBar/userNews.vue.mjs +5 -0
  72. package/es/packages/components/fm-layout/src/navBars/topBar/userNews.vue2.mjs +255 -0
  73. package/es/packages/components/fm-layout/src/navMenu/horizontal.vue.mjs +5 -0
  74. package/es/packages/components/fm-layout/src/navMenu/horizontal.vue2.mjs +182 -0
  75. package/es/packages/components/fm-layout/src/navMenu/subItem.vue.mjs +5 -0
  76. package/es/packages/components/fm-layout/src/navMenu/subItem.vue2.mjs +113 -0
  77. package/es/packages/components/fm-layout/src/navMenu/vertical.vue.mjs +5 -0
  78. package/es/packages/components/fm-layout/src/navMenu/vertical.vue2.mjs +159 -0
  79. package/es/packages/components/fm-layout/src/routerView/iframes.vue.mjs +5 -0
  80. package/es/packages/components/fm-layout/src/routerView/iframes.vue2.mjs +128 -0
  81. package/es/packages/components/fm-layout/src/routerView/parent.vue.mjs +5 -0
  82. package/es/packages/components/fm-layout/src/routerView/parent.vue2.mjs +141 -0
  83. package/es/packages/components/fm-layout/src/type.mjs +1 -0
  84. package/es/packages/components/index.mjs +1 -0
  85. package/index.js +4071 -73
  86. package/index.min.js +5 -5
  87. package/index.min.mjs +5 -5
  88. package/index.mjs +4082 -81
  89. package/lib/{index.css → component.css} +2 -2
  90. package/lib/component.js +3 -1
  91. package/lib/components/fm-layout/index.d.ts +32 -0
  92. package/lib/components/fm-layout/src/component/aside.vue.d.ts +5 -0
  93. package/lib/components/fm-layout/src/component/columnsAside.vue.d.ts +5 -0
  94. package/lib/components/fm-layout/src/component/header.vue.d.ts +16 -0
  95. package/lib/components/fm-layout/src/component/main.vue.d.ts +7 -0
  96. package/lib/components/fm-layout/src/footer/index.vue.d.ts +3 -0
  97. package/lib/components/fm-layout/src/index.vue.d.ts +22 -0
  98. package/lib/components/fm-layout/src/logo/index.vue.d.ts +3 -0
  99. package/lib/components/fm-layout/src/main/classic.vue.d.ts +18 -0
  100. package/lib/components/fm-layout/src/main/columns.vue.d.ts +19 -0
  101. package/lib/components/fm-layout/src/main/defaults.vue.d.ts +48 -0
  102. package/lib/components/fm-layout/src/main/transverse.vue.d.ts +18 -0
  103. package/lib/components/fm-layout/src/navBars/index.vue.d.ts +16 -0
  104. package/lib/components/fm-layout/src/navBars/tagsView/contextmenu.vue.d.ts +28 -0
  105. package/lib/components/fm-layout/src/navBars/tagsView/tagsView.vue.d.ts +45 -0
  106. package/lib/components/fm-layout/src/navBars/topBar/breadcrumb.vue.d.ts +3 -0
  107. package/lib/components/fm-layout/src/navBars/topBar/index.vue.d.ts +16 -0
  108. package/lib/components/fm-layout/src/navBars/topBar/search.vue.d.ts +7 -0
  109. package/lib/components/fm-layout/src/navBars/topBar/upgradeInfo.vue.d.ts +5 -0
  110. package/lib/components/fm-layout/src/navBars/topBar/user.vue.d.ts +75 -0
  111. package/lib/components/fm-layout/src/navBars/topBar/userNews.vue.d.ts +9 -0
  112. package/lib/components/fm-layout/src/navMenu/horizontal.vue.d.ts +42 -0
  113. package/lib/components/fm-layout/src/navMenu/subItem.vue.d.ts +42 -0
  114. package/lib/components/fm-layout/src/navMenu/vertical.vue.d.ts +42 -0
  115. package/lib/components/fm-layout/src/routerView/iframes.vue.d.ts +35 -0
  116. package/lib/components/fm-layout/src/routerView/parent.vue.d.ts +3 -0
  117. package/lib/components/fm-layout/src/type.d.ts +2 -0
  118. package/lib/components/fm-layout/style/css.d.ts +0 -0
  119. package/lib/components/fm-layout/style/index.d.ts +0 -0
  120. package/lib/components/index.d.ts +1 -0
  121. package/lib/packages/components/fm-layout/index.js +9 -0
  122. package/lib/packages/components/fm-layout/src/component/aside.vue.js +9 -0
  123. package/lib/packages/components/fm-layout/src/component/aside.vue2.js +179 -0
  124. package/lib/packages/components/fm-layout/src/component/columnsAside.vue.js +9 -0
  125. package/lib/packages/components/fm-layout/src/component/columnsAside.vue2.js +277 -0
  126. package/lib/packages/components/fm-layout/src/component/header.vue.js +9 -0
  127. package/lib/packages/components/fm-layout/src/component/header.vue2.js +54 -0
  128. package/lib/packages/components/fm-layout/src/component/main.vue.js +9 -0
  129. package/lib/packages/components/fm-layout/src/component/main.vue2.js +85 -0
  130. package/lib/packages/components/fm-layout/src/footer/index.vue.js +9 -0
  131. package/lib/packages/components/fm-layout/src/footer/index.vue2.js +33 -0
  132. package/lib/packages/components/fm-layout/src/index.vue.js +9 -0
  133. package/lib/packages/components/fm-layout/src/index.vue2.js +95 -0
  134. package/lib/packages/components/fm-layout/src/logo/index.vue.js +9 -0
  135. package/lib/packages/components/fm-layout/src/logo/index.vue2.js +61 -0
  136. package/lib/packages/components/fm-layout/src/main/classic.vue.js +9 -0
  137. package/lib/packages/components/fm-layout/src/main/classic.vue2.js +91 -0
  138. package/lib/packages/components/fm-layout/src/main/columns.vue.js +9 -0
  139. package/lib/packages/components/fm-layout/src/main/columns.vue2.js +104 -0
  140. package/lib/packages/components/fm-layout/src/main/defaults.vue.js +9 -0
  141. package/lib/packages/components/fm-layout/src/main/defaults.vue2.js +157 -0
  142. package/lib/packages/components/fm-layout/src/main/transverse.vue.js +9 -0
  143. package/lib/packages/components/fm-layout/src/main/transverse.vue2.js +74 -0
  144. package/lib/packages/components/fm-layout/src/navBars/index.vue.js +9 -0
  145. package/lib/packages/components/fm-layout/src/navBars/index.vue2.js +48 -0
  146. package/lib/packages/components/fm-layout/src/navBars/tagsView/contextmenu.vue.js +9 -0
  147. package/lib/packages/components/fm-layout/src/navBars/tagsView/contextmenu.vue2.js +160 -0
  148. package/lib/packages/components/fm-layout/src/navBars/tagsView/tagsView.vue.js +9 -0
  149. package/lib/packages/components/fm-layout/src/navBars/tagsView/tagsView.vue2.js +580 -0
  150. package/lib/packages/components/fm-layout/src/navBars/topBar/breadcrumb.vue.js +9 -0
  151. package/lib/packages/components/fm-layout/src/navBars/topBar/breadcrumb.vue2.js +173 -0
  152. package/lib/packages/components/fm-layout/src/navBars/topBar/index.vue.js +9 -0
  153. package/lib/packages/components/fm-layout/src/navBars/topBar/index.vue2.js +117 -0
  154. package/lib/packages/components/fm-layout/src/navBars/topBar/search.vue.js +9 -0
  155. package/lib/packages/components/fm-layout/src/navBars/topBar/search.vue2.js +124 -0
  156. package/lib/packages/components/fm-layout/src/navBars/topBar/upgradeInfo.vue.js +9 -0
  157. package/lib/packages/components/fm-layout/src/navBars/topBar/upgradeInfo.vue2.js +76 -0
  158. package/lib/packages/components/fm-layout/src/navBars/topBar/user.vue.js +9 -0
  159. package/lib/packages/components/fm-layout/src/navBars/topBar/user.vue2.js +703 -0
  160. package/lib/packages/components/fm-layout/src/navBars/topBar/userNews.vue.js +9 -0
  161. package/lib/packages/components/fm-layout/src/navBars/topBar/userNews.vue2.js +259 -0
  162. package/lib/packages/components/fm-layout/src/navMenu/horizontal.vue.js +9 -0
  163. package/lib/packages/components/fm-layout/src/navMenu/horizontal.vue2.js +186 -0
  164. package/lib/packages/components/fm-layout/src/navMenu/subItem.vue.js +9 -0
  165. package/lib/packages/components/fm-layout/src/navMenu/subItem.vue2.js +117 -0
  166. package/lib/packages/components/fm-layout/src/navMenu/vertical.vue.js +9 -0
  167. package/lib/packages/components/fm-layout/src/navMenu/vertical.vue2.js +163 -0
  168. package/lib/packages/components/fm-layout/src/routerView/iframes.vue.js +9 -0
  169. package/lib/packages/components/fm-layout/src/routerView/iframes.vue2.js +132 -0
  170. package/lib/packages/components/fm-layout/src/routerView/parent.vue.js +9 -0
  171. package/lib/packages/components/fm-layout/src/routerView/parent.vue2.js +145 -0
  172. package/lib/packages/components/fm-layout/src/type.js +2 -0
  173. package/lib/packages/components/index.js +14 -12
  174. package/locale/en.js +1 -1
  175. package/locale/en.min.js +1 -1
  176. package/locale/en.min.mjs +1 -1
  177. package/locale/en.mjs +1 -1
  178. package/locale/zh-cn.js +1 -1
  179. package/locale/zh-cn.min.js +1 -1
  180. package/locale/zh-cn.min.mjs +1 -1
  181. package/locale/zh-cn.mjs +1 -1
  182. package/package.json +1 -1
  183. package/theme-chalk/f-layout.css +1 -0
  184. package/theme-chalk/index.css +1 -1
  185. package/theme-chalk/src/index.scss +1 -0
  186. package/theme-chalk/src/layout.scss +657 -0
  187. /package/es/{version.css → defaults.css} +0 -0
package/index.js CHANGED
@@ -1,9 +1,9 @@
1
- /*! fmdeui-fmui v1.0.28 */
1
+ /*! fmdeui-fmui v1.0.30 */
2
2
  (function (global, factory) {
3
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('pinia'), require('crypto-js'), require('xlsx-js-style'), require('element-plus'), require('vue'), require('@element-plus/icons-vue'), require('axios'), require('js-cookie'), require('@microsoft/signalr'), require('vxe-table'), require('@vxe-ui/plugin-render-element'), require('@vxe-ui/plugin-export-xlsx'), require('vxe-pc-ui'), require('vue-i18n'), require('exceljs'), require('lodash-es'), require('@vueuse/core'), require('mitt'), require('vue-router'), require('nprogress')) :
4
- typeof define === 'function' && define.amd ? define(['exports', 'pinia', 'crypto-js', 'xlsx-js-style', 'element-plus', 'vue', '@element-plus/icons-vue', 'axios', 'js-cookie', '@microsoft/signalr', 'vxe-table', '@vxe-ui/plugin-render-element', '@vxe-ui/plugin-export-xlsx', 'vxe-pc-ui', 'vue-i18n', 'exceljs', 'lodash-es', '@vueuse/core', 'mitt', 'vue-router', 'nprogress'], factory) :
5
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.fmdeuifmui = {}, global.Pinia, global.CryptoJS, global.XLSX, global.ElementPlus, global.Vue, global.ElementPlusIconsVue, global.axios, global.Cookies, global.SignalR, global.VxeUITable, global.VxeUIPluginRenderElement, global.VxeUIPluginExportXLSX, global.VxeUIExport, global.vueI18n, global.ExcelJS, global._, global.VueUse, global.mitt, global.vueRouter, global.NProgress));
6
- })(this, (function (exports, pinia$1, CryptoJS, XLSXS, elementPlus, vue, svg, axios, Cookies, SignalR, VxeUITable, VxeUIPluginRenderElement, VxeUIPluginExportXLSX, VxeUI, vueI18n, ExcelJS, lodashEs, core, mitt, vueRouter, NProgress) { 'use strict';
3
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vxe-table'), require('@vxe-ui/plugin-render-element'), require('@vxe-ui/plugin-export-xlsx'), require('vxe-pc-ui'), require('exceljs'), require('@element-plus/icons-vue'), require('vue'), require('element-plus'), require('lodash-es'), require('js-cookie'), require('pinia'), require('@vueuse/core'), require('crypto-js'), require('xlsx-js-style'), require('vue-router'), require('sortablejs'), require('screenfull'), require('vue-i18n'), require('push.js'), require('mitt'), require('nprogress'), require('@microsoft/signalr'), require('axios')) :
4
+ typeof define === 'function' && define.amd ? define(['exports', 'vxe-table', '@vxe-ui/plugin-render-element', '@vxe-ui/plugin-export-xlsx', 'vxe-pc-ui', 'exceljs', '@element-plus/icons-vue', 'vue', 'element-plus', 'lodash-es', 'js-cookie', 'pinia', '@vueuse/core', 'crypto-js', 'xlsx-js-style', 'vue-router', 'sortablejs', 'screenfull', 'vue-i18n', 'push.js', 'mitt', 'nprogress', '@microsoft/signalr', 'axios'], factory) :
5
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.fmdeuifmui = {}, global.VxeUITable, global.VxeUIPluginRenderElement, global.VxeUIPluginExportXLSX, global.VxeUIExport, global.ExcelJS, global.ElementPlusIconsVue, global.Vue, global.ElementPlus, global._, global.Cookies, global.Pinia, global.VueUse, global.CryptoJS, global.XLSX, global.vueRouter, global.Sortable, global.screenfull, global.vueI18n, global.Push, global.mitt, global.NProgress, global.SignalR, global.axios));
6
+ })(this, (function (exports, VxeUITable, VxeUIPluginRenderElement, VxeUIPluginExportXLSX, VxeUI, ExcelJS, svg, vue, elementPlus, lodashEs, Cookies, pinia$1, core, CryptoJS, XLSXS, vueRouter, Sortable, screenfull, vueI18n, Push, mitt, NProgress, SignalR, axios) { 'use strict';
7
7
 
8
8
  function _interopNamespaceDefault(e) {
9
9
  var n = Object.create(null);
@@ -18495,7 +18495,7 @@
18495
18495
  app.use(VxeUITable);
18496
18496
  };
18497
18497
 
18498
- var _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
18498
+ var _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18499
18499
  ...{
18500
18500
  name: "FButton"
18501
18501
  },
@@ -18565,7 +18565,7 @@
18565
18565
  }
18566
18566
  });
18567
18567
 
18568
- const FButton = _sfc_main$e;
18568
+ const FButton = _sfc_main$D;
18569
18569
 
18570
18570
  const buildTranslator = (locale) => (path, option) => translate(path, option, vue.unref(locale));
18571
18571
  const translate = (path, option, locale) => lodashEs.get(locale, path, path).replace(
@@ -19188,9 +19188,9 @@
19188
19188
  // 开发环境严格检查
19189
19189
  });
19190
19190
 
19191
- const _hoisted_1$7 = { key: 0 };
19192
- const _hoisted_2$3 = { key: 0 };
19193
- var _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
19191
+ const _hoisted_1$q = { key: 0 };
19192
+ const _hoisted_2$e = { key: 0 };
19193
+ var _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
19194
19194
  ...{
19195
19195
  name: "FInput"
19196
19196
  },
@@ -19394,7 +19394,7 @@
19394
19394
  fn: vue.withCtx(() => [
19395
19395
  __props.inputType === "amount" ? (vue.openBlock(), vue.createElementBlock(
19396
19396
  "span",
19397
- _hoisted_1$7,
19397
+ _hoisted_1$q,
19398
19398
  vue.toDisplayString(appendTitleText.value),
19399
19399
  1
19400
19400
  /* TEXT */
@@ -19427,7 +19427,7 @@
19427
19427
  fn: vue.withCtx(() => [
19428
19428
  __props.inputType === "amount" ? (vue.openBlock(), vue.createElementBlock(
19429
19429
  "span",
19430
- _hoisted_2$3,
19430
+ _hoisted_2$e,
19431
19431
  vue.toDisplayString(appendTitleText.value),
19432
19432
  1
19433
19433
  /* TEXT */
@@ -19440,13 +19440,13 @@
19440
19440
  }
19441
19441
  });
19442
19442
 
19443
- const FInput = _sfc_main$d;
19443
+ const FInput = _sfc_main$C;
19444
19444
 
19445
- const _hoisted_1$6 = {
19445
+ const _hoisted_1$p = {
19446
19446
  key: 0,
19447
19447
  class: "back_to_top"
19448
19448
  };
19449
- var _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19449
+ var _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
19450
19450
  ...{
19451
19451
  name: "FLayoutPage"
19452
19452
  },
@@ -19508,7 +19508,7 @@
19508
19508
  },
19509
19509
  [
19510
19510
  vue.renderSlot(_ctx.$slots, "default"),
19511
- __props.showGoTopButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
19511
+ __props.showGoTopButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
19512
19512
  isShowGoTopButton.value ? (vue.openBlock(), vue.createElementBlock("div", {
19513
19513
  key: 0,
19514
19514
  onClick: backToTop
@@ -19536,9 +19536,9 @@
19536
19536
  }
19537
19537
  });
19538
19538
 
19539
- const FLayoutPage = _sfc_main$c;
19539
+ const FLayoutPage = _sfc_main$B;
19540
19540
 
19541
- var _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
19541
+ var _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
19542
19542
  ...{
19543
19543
  name: "FLayoutPageItem"
19544
19544
  },
@@ -19566,7 +19566,7 @@
19566
19566
  }
19567
19567
  });
19568
19568
 
19569
- const FLayoutPageItem = _sfc_main$b;
19569
+ const FLayoutPageItem = _sfc_main$A;
19570
19570
 
19571
19571
  function debounce(func, delay = 500, immediate, resultCallback) {
19572
19572
  let timer = null;
@@ -19609,8 +19609,8 @@
19609
19609
  return name.replace(/([A-Z])/g, "_$1").toLowerCase();
19610
19610
  }
19611
19611
 
19612
- const _hoisted_1$5 = ["id"];
19613
- var _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19612
+ const _hoisted_1$o = ["id"];
19613
+ var _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
19614
19614
  ...{
19615
19615
  name: "FChart"
19616
19616
  },
@@ -19694,7 +19694,7 @@
19694
19694
  id: __props.id,
19695
19695
  ref_key: "echartRef",
19696
19696
  ref: echartRef
19697
- }, null, 8, _hoisted_1$5), [
19697
+ }, null, 8, _hoisted_1$o), [
19698
19698
  [vue.vShow, !formatEmpty.value]
19699
19699
  ]),
19700
19700
  formatEmpty.value ? vue.renderSlot(_ctx.$slots, "empty", { key: 0 }, () => [
@@ -19709,13 +19709,13 @@
19709
19709
  }
19710
19710
  });
19711
19711
 
19712
- const FChart = _sfc_main$a;
19712
+ const FChart = _sfc_main$z;
19713
19713
 
19714
- const _hoisted_1$4 = {
19714
+ const _hoisted_1$n = {
19715
19715
  key: 1,
19716
19716
  class: "f_select__pagination"
19717
19717
  };
19718
- var _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
19718
+ var _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
19719
19719
  ...{
19720
19720
  name: "FSelect"
19721
19721
  },
@@ -19928,7 +19928,7 @@
19928
19928
  128
19929
19929
  /* KEYED_FRAGMENT */
19930
19930
  )),
19931
- __props.isShowPagination && filteredOptionsCount.value > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
19931
+ __props.isShowPagination && filteredOptionsCount.value > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
19932
19932
  vue.createVNode(_component_el_pagination, vue.mergeProps({
19933
19933
  "current-page": __props.paginationOption.currentPage,
19934
19934
  "onUpdate:currentPage": _cache[1] || (_cache[1] = ($event) => __props.paginationOption.currentPage = $event),
@@ -19966,9 +19966,9 @@
19966
19966
  }
19967
19967
  });
19968
19968
 
19969
- const FSelect = _sfc_main$9;
19969
+ const FSelect = _sfc_main$y;
19970
19970
 
19971
- var _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
19971
+ var _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
19972
19972
  ...{
19973
19973
  name: "RenderComp"
19974
19974
  },
@@ -19988,12 +19988,12 @@
19988
19988
  }
19989
19989
  });
19990
19990
 
19991
- const _hoisted_1$3 = { class: "inside_box" };
19992
- const _hoisted_2$2 = { class: "inside_box_title" };
19993
- const _hoisted_3$1 = { class: "check-box" };
19994
- const _hoisted_4$1 = { class: "more_dropdown_icon" };
19995
- const _hoisted_5 = { class: "out_box" };
19996
- var _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
19991
+ const _hoisted_1$m = { class: "inside_box" };
19992
+ const _hoisted_2$d = { class: "inside_box_title" };
19993
+ const _hoisted_3$8 = { class: "check-box" };
19994
+ const _hoisted_4$5 = { class: "more_dropdown_icon" };
19995
+ const _hoisted_5$4 = { class: "out_box" };
19996
+ var _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
19997
19997
  ...{
19998
19998
  name: "MoreChoose"
19999
19999
  },
@@ -20113,10 +20113,10 @@
20113
20113
  ref: "popover"
20114
20114
  }, {
20115
20115
  reference: vue.withCtx(() => [
20116
- vue.createElementVNode("div", _hoisted_4$1, [
20116
+ vue.createElementVNode("div", _hoisted_4$5, [
20117
20117
  vue.createElementVNode(
20118
20118
  "span",
20119
- _hoisted_5,
20119
+ _hoisted_5$4,
20120
20120
  vue.toDisplayString(__props.popoverAttrsBind.showTxt),
20121
20121
  1
20122
20122
  /* TEXT */
@@ -20131,8 +20131,8 @@
20131
20131
  ])
20132
20132
  ]),
20133
20133
  default: vue.withCtx(() => [
20134
- vue.createElementVNode("div", _hoisted_1$3, [
20135
- vue.createElementVNode("div", _hoisted_2$2, [
20134
+ vue.createElementVNode("div", _hoisted_1$m, [
20135
+ vue.createElementVNode("div", _hoisted_2$d, [
20136
20136
  vue.createElementVNode(
20137
20137
  "div",
20138
20138
  null,
@@ -20140,7 +20140,7 @@
20140
20140
  1
20141
20141
  /* TEXT */
20142
20142
  ),
20143
- vue.createElementVNode("div", _hoisted_3$1, [
20143
+ vue.createElementVNode("div", _hoisted_3$8, [
20144
20144
  vue.createVNode(_component_el_button, {
20145
20145
  size: "small",
20146
20146
  link: "",
@@ -20308,7 +20308,7 @@
20308
20308
  };
20309
20309
  }
20310
20310
 
20311
- var _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
20311
+ var _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
20312
20312
  ...{
20313
20313
  name: "FQueryCondition"
20314
20314
  },
@@ -20727,7 +20727,7 @@
20727
20727
  opt.labelRender ? {
20728
20728
  name: "label",
20729
20729
  fn: vue.withCtx(() => [
20730
- vue.createVNode(_sfc_main$8, {
20730
+ vue.createVNode(_sfc_main$x, {
20731
20731
  form: vue.unref(queryState).form,
20732
20732
  render: opt.labelRender
20733
20733
  }, null, 8, ["form", "render"])
@@ -20823,7 +20823,7 @@
20823
20823
  _: 1
20824
20824
  /* STABLE */
20825
20825
  })) : vue.createCommentVNode("v-if", true),
20826
- vue.createVNode(_sfc_main$7, {
20826
+ vue.createVNode(_sfc_main$w, {
20827
20827
  isDropDownSelectMore: __props.isDropDownSelectMore,
20828
20828
  moreCheckList: __props.moreCheckList,
20829
20829
  popoverAttrsBind: popoverAttrsBind.value,
@@ -20849,7 +20849,7 @@
20849
20849
  }
20850
20850
  });
20851
20851
 
20852
- var _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
20852
+ var _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
20853
20853
  ...{
20854
20854
  name: "RenderCol"
20855
20855
  },
@@ -21005,17 +21005,17 @@
21005
21005
  };
21006
21006
  }
21007
21007
 
21008
- const _hoisted_1$2 = {
21008
+ const _hoisted_1$l = {
21009
21009
  key: 0,
21010
21010
  class: "table_query_condition"
21011
21011
  };
21012
- const _hoisted_2$1 = ["element-loading-text"];
21013
- const _hoisted_3 = { key: 2 };
21014
- const _hoisted_4 = {
21012
+ const _hoisted_2$c = ["element-loading-text"];
21013
+ const _hoisted_3$7 = { key: 2 };
21014
+ const _hoisted_4$4 = {
21015
21015
  key: 0,
21016
21016
  class: "f-table-select__page"
21017
21017
  };
21018
- var _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
21018
+ var _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
21019
21019
  ...{
21020
21020
  name: "FSelectTable"
21021
21021
  },
@@ -21637,9 +21637,9 @@
21637
21637
  style: vue.normalizeStyle({ width: __props.tableWidth ? `${__props.tableWidth}px` : "100%" })
21638
21638
  },
21639
21639
  [
21640
- __props.isShowQuery ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
21640
+ __props.isShowQuery ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
21641
21641
  vue.createVNode(
21642
- _sfc_main$6,
21642
+ _sfc_main$v,
21643
21643
  vue.mergeProps({
21644
21644
  ref_key: "fQueryConditionRef",
21645
21645
  ref: fQueryConditionRef,
@@ -21765,7 +21765,7 @@
21765
21765
  fixed: item.fixed
21766
21766
  }, { ref_for: true }, { "show-overflow-tooltip": true, ...item.bind }), {
21767
21767
  default: vue.withCtx((scope) => [
21768
- item.render ? (vue.openBlock(), vue.createBlock(_sfc_main$5, {
21768
+ item.render ? (vue.openBlock(), vue.createBlock(_sfc_main$u, {
21769
21769
  key: 0,
21770
21770
  column: item,
21771
21771
  row: scope.row,
@@ -21776,7 +21776,7 @@
21776
21776
  key: 1,
21777
21777
  scope
21778
21778
  }) : vue.createCommentVNode("v-if", true),
21779
- !item.render && !item.slotName ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
21779
+ !item.render && !item.slotName ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$7, [
21780
21780
  vue.createElementVNode(
21781
21781
  "span",
21782
21782
  null,
@@ -21798,7 +21798,7 @@
21798
21798
  _: 3
21799
21799
  /* FORWARDED */
21800
21800
  }, 16, ["data", "class"]),
21801
- __props.isShowPagination ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
21801
+ __props.isShowPagination ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [
21802
21802
  vue.createVNode(_component_el_pagination, vue.mergeProps({
21803
21803
  "current-page": __props.table.currentPage,
21804
21804
  "onUpdate:currentPage": _cache[6] || (_cache[6] = ($event) => __props.table.currentPage = $event),
@@ -21810,7 +21810,7 @@
21810
21810
  total: __props.table.total
21811
21811
  }, { background: true, size: __props.paginationSize || "small", ..._ctx.$attrs }), null, 16, ["current-page", "page-size", "pager-count", "total"])
21812
21812
  ])) : vue.createCommentVNode("v-if", true)
21813
- ], 8, _hoisted_2$1)), [
21813
+ ], 8, _hoisted_2$c)), [
21814
21814
  [_directive_loading, __props.tableLoading]
21815
21815
  ]),
21816
21816
  vue.renderSlot(_ctx.$slots, "footer")
@@ -21828,11 +21828,11 @@
21828
21828
  }
21829
21829
  });
21830
21830
 
21831
- const FSelectTable = _sfc_main$4;
21831
+ const FSelectTable = _sfc_main$t;
21832
21832
 
21833
- const FQueryCondition = _sfc_main$6;
21833
+ const FQueryCondition = _sfc_main$v;
21834
21834
 
21835
- var _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
21835
+ var _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
21836
21836
  ...{
21837
21837
  name: "RenderComp"
21838
21838
  },
@@ -21852,7 +21852,7 @@
21852
21852
  }
21853
21853
  });
21854
21854
 
21855
- var _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
21855
+ var _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
21856
21856
  ...{
21857
21857
  name: "RenderBtn"
21858
21858
  },
@@ -21872,12 +21872,12 @@
21872
21872
  }
21873
21873
  });
21874
21874
 
21875
- const _hoisted_1$1 = {
21875
+ const _hoisted_1$k = {
21876
21876
  key: 1,
21877
21877
  class: "text_show"
21878
21878
  };
21879
- const _hoisted_2 = { class: "footer_btn flex-box flex-ver f-margin-top-5" };
21880
- var _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
21879
+ const _hoisted_2$b = { class: "footer_btn flex-box flex-ver f-margin-top-5" };
21880
+ var _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
21881
21881
  ...{
21882
21882
  name: "FForm"
21883
21883
  },
@@ -22128,7 +22128,7 @@
22128
22128
  }) : vue.createCommentVNode("v-if", true),
22129
22129
  item.textShow ? (vue.openBlock(), vue.createElementBlock(
22130
22130
  "span",
22131
- _hoisted_1$1,
22131
+ _hoisted_1$k,
22132
22132
  vue.toDisplayString(item.textValue || __props.formOpts.formData[item.value]),
22133
22133
  1
22134
22134
  /* TEXT */
@@ -22248,7 +22248,7 @@
22248
22248
  item.labelSlotName || item.labelRender ? {
22249
22249
  name: "label",
22250
22250
  fn: vue.withCtx(() => [
22251
- item.labelRender ? (vue.openBlock(), vue.createBlock(_sfc_main$3, {
22251
+ item.labelRender ? (vue.openBlock(), vue.createBlock(_sfc_main$s, {
22252
22252
  key: 0,
22253
22253
  render: item.labelRender,
22254
22254
  item
@@ -22270,7 +22270,7 @@
22270
22270
  /* UNKEYED_FRAGMENT */
22271
22271
  )),
22272
22272
  vue.createCommentVNode(" \u6309\u94AE "),
22273
- vue.createElementVNode("div", _hoisted_2, [
22273
+ vue.createElementVNode("div", _hoisted_2$b, [
22274
22274
  __props.formOpts.btnSlotName ? vue.renderSlot(_ctx.$slots, __props.formOpts.btnSlotName, { key: 0 }) : vue.createCommentVNode("v-if", true),
22275
22275
  !__props.formOpts.btnSlotName && __props.formOpts.operatorList && __props.formOpts.operatorList.length > 0 ? (vue.openBlock(true), vue.createElementBlock(
22276
22276
  vue.Fragment,
@@ -22280,7 +22280,7 @@
22280
22280
  vue.Fragment,
22281
22281
  null,
22282
22282
  [
22283
- val.render ? (vue.openBlock(), vue.createBlock(_sfc_main$2, {
22283
+ val.render ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
22284
22284
  key: index,
22285
22285
  item: val,
22286
22286
  render: val.render
@@ -22327,10 +22327,10 @@
22327
22327
  }
22328
22328
  });
22329
22329
 
22330
- const FForm = _sfc_main$1;
22330
+ const FForm = _sfc_main$q;
22331
22331
 
22332
- const _hoisted_1 = ["src"];
22333
- var _sfc_main = /* @__PURE__ */ vue.defineComponent({
22332
+ const _hoisted_1$j = ["src"];
22333
+ var _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
22334
22334
  ...{
22335
22335
  name: "svgIcon"
22336
22336
  },
@@ -22401,7 +22401,7 @@
22401
22401
  vue.createElementVNode("img", {
22402
22402
  src: getIconName.value,
22403
22403
  style: vue.normalizeStyle(setIconSvgInsStyle.value)
22404
- }, null, 12, _hoisted_1)
22404
+ }, null, 12, _hoisted_1$j)
22405
22405
  ],
22406
22406
  4
22407
22407
  /* STYLE */
@@ -22428,10 +22428,94 @@
22428
22428
  }
22429
22429
  }
22430
22430
  if (!app._context.components[`SvgIcon`]) {
22431
- app.component("SvgIcon", _sfc_main);
22431
+ app.component("SvgIcon", _sfc_main$p);
22432
22432
  }
22433
22433
  }
22434
22434
 
22435
+ const emitter = mitt();
22436
+
22437
+ var _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
22438
+ ...{
22439
+ name: "FLayout"
22440
+ },
22441
+ __name: "index",
22442
+ emits: ["layoutChangePassword", "layoutOnlineUsers"],
22443
+ setup(__props, { emit: __emit }) {
22444
+ const layouts = {
22445
+ defaults: vue.defineAsyncComponent(() => Promise.resolve().then(function () { return defaults; })),
22446
+ classic: vue.defineAsyncComponent(() => Promise.resolve().then(function () { return classic; })),
22447
+ transverse: vue.defineAsyncComponent(() => Promise.resolve().then(function () { return transverse; })),
22448
+ columns: vue.defineAsyncComponent(() => Promise.resolve().then(function () { return columns; }))
22449
+ };
22450
+ const storesThemeConfig = useThemeConfig();
22451
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
22452
+ let maxClientWidth = document.body.clientWidth;
22453
+ const curMyEmit = __emit;
22454
+ provideFormEvents({
22455
+ onFormDialogOpen: (data) => {
22456
+ if (data.name == "changePassword") {
22457
+ curMyEmit("layoutChangePassword");
22458
+ } else if (data.name == "onlineUsers") {
22459
+ curMyEmit("layoutOnlineUsers");
22460
+ }
22461
+ }
22462
+ });
22463
+ const onLayoutResize = () => {
22464
+ if (!Local.get("oldLayout")) Local.set("oldLayout", themeConfig.value.layout);
22465
+ const clientWidth = document.body.clientWidth;
22466
+ if (maxClientWidth > clientWidth) return;
22467
+ maxClientWidth = clientWidth;
22468
+ if (clientWidth < 1e3) {
22469
+ themeConfig.value.isCollapse = false;
22470
+ emitter.emit("layoutMobileResize", {
22471
+ layout: "defaults",
22472
+ clientWidth
22473
+ });
22474
+ } else {
22475
+ emitter.emit("layoutMobileResize", {
22476
+ layout: Local.get("oldLayout") ? Local.get("oldLayout") : themeConfig.value.layout,
22477
+ clientWidth
22478
+ });
22479
+ }
22480
+ };
22481
+ vue.onBeforeMount(() => {
22482
+ onLayoutResize();
22483
+ window.addEventListener("resize", onLayoutResize);
22484
+ });
22485
+ vue.onUnmounted(() => {
22486
+ window.removeEventListener("resize", onLayoutResize);
22487
+ });
22488
+ return (_ctx, _cache) => {
22489
+ return vue.openBlock(), vue.createBlock(
22490
+ vue.resolveDynamicComponent(layouts[vue.unref(themeConfig).layout]),
22491
+ vue.normalizeProps(vue.guardReactiveProps(_ctx.$attrs)),
22492
+ {
22493
+ default: vue.withCtx(() => [
22494
+ (vue.openBlock(true), vue.createElementBlock(
22495
+ vue.Fragment,
22496
+ null,
22497
+ vue.renderList(_ctx.$slots, (_, name) => {
22498
+ return vue.renderSlot(_ctx.$slots, name, vue.mergeProps({
22499
+ key: name,
22500
+ ref_for: true
22501
+ }, _ctx.$slots[name].props || {}));
22502
+ }),
22503
+ 128
22504
+ /* KEYED_FRAGMENT */
22505
+ ))
22506
+ ]),
22507
+ _: 3
22508
+ /* FORWARDED */
22509
+ },
22510
+ 16
22511
+ /* FULL_PROPS */
22512
+ );
22513
+ };
22514
+ }
22515
+ });
22516
+
22517
+ const FLayout = _sfc_main$o;
22518
+
22435
22519
  const makeInstaller = (components = []) => {
22436
22520
  const install = (app) => {
22437
22521
  app.use(pinia);
@@ -22460,7 +22544,8 @@
22460
22544
  FSelectTable,
22461
22545
  FQueryCondition,
22462
22546
  FChart,
22463
- FForm
22547
+ FForm,
22548
+ FLayout
22464
22549
  ];
22465
22550
 
22466
22551
  var installer = makeInstaller([...plugins]);
@@ -22500,8 +22585,6 @@
22500
22585
  }
22501
22586
  };
22502
22587
 
22503
- const emitter = mitt();
22504
-
22505
22588
  function commonFunction() {
22506
22589
  const themeStore = useThemeConfig();
22507
22590
  const { copy, isSupported } = core.useClipboard();
@@ -23188,6 +23271,3921 @@
23188
23271
  const commonFun = commonFunction();
23189
23272
  const install = installer.install;
23190
23273
 
23274
+ var _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
23275
+ __name: "defaults",
23276
+ setup(__props) {
23277
+ const LayoutAside = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return aside; }));
23278
+ const LayoutHeader = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return header; }));
23279
+ const LayoutMain = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return main; }));
23280
+ const layoutScrollbarRef = vue.ref("");
23281
+ const layoutMainRef = vue.ref();
23282
+ const route = vueRouter.useRoute();
23283
+ const storesThemeConfig = useThemeConfig();
23284
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
23285
+ const updateScrollbar = () => {
23286
+ layoutScrollbarRef.value.update();
23287
+ layoutMainRef.value.layoutMainScrollbarRef.update();
23288
+ };
23289
+ const initScrollBarHeight = () => {
23290
+ vue.nextTick(() => {
23291
+ setTimeout(() => {
23292
+ updateScrollbar();
23293
+ layoutScrollbarRef.value.wrapRef.scrollTop = 0;
23294
+ if (layoutMainRef.value != void 0) layoutMainRef.value.layoutMainScrollbarRef.wrapRef.scrollTop = 0;
23295
+ }, 500);
23296
+ });
23297
+ };
23298
+ vue.onMounted(() => {
23299
+ initScrollBarHeight();
23300
+ NextLoading.done(600);
23301
+ });
23302
+ vue.watch(
23303
+ () => route.path,
23304
+ () => {
23305
+ initScrollBarHeight();
23306
+ }
23307
+ );
23308
+ vue.watch(
23309
+ () => [themeConfig.value.isTagsview, themeConfig.value.isFixedHeader],
23310
+ () => {
23311
+ vue.nextTick(() => {
23312
+ updateScrollbar();
23313
+ });
23314
+ },
23315
+ {
23316
+ deep: true
23317
+ }
23318
+ );
23319
+ return (_ctx, _cache) => {
23320
+ const _component_el_scrollbar = vue.resolveComponent("el-scrollbar");
23321
+ const _component_el_container = vue.resolveComponent("el-container");
23322
+ return vue.openBlock(), vue.createBlock(_component_el_container, { class: "layout-container" }, {
23323
+ default: vue.withCtx(() => [
23324
+ !_ctx.$slots.aside ? (vue.openBlock(), vue.createBlock(vue.unref(LayoutAside), { key: 0 }, {
23325
+ default: vue.withCtx(() => [
23326
+ (vue.openBlock(true), vue.createElementBlock(
23327
+ vue.Fragment,
23328
+ null,
23329
+ vue.renderList(_ctx.$slots, (_, name) => {
23330
+ return vue.renderSlot(_ctx.$slots, name, vue.mergeProps({
23331
+ key: name,
23332
+ ref_for: true
23333
+ }, _ctx.$slots[name].props || {}));
23334
+ }),
23335
+ 128
23336
+ /* KEYED_FRAGMENT */
23337
+ ))
23338
+ ]),
23339
+ _: 3
23340
+ /* FORWARDED */
23341
+ })) : vue.renderSlot(_ctx.$slots, "aside", { key: 1 }),
23342
+ vue.createVNode(_component_el_container, { class: "layout-container-view h100" }, {
23343
+ default: vue.withCtx(() => [
23344
+ vue.createVNode(
23345
+ _component_el_scrollbar,
23346
+ {
23347
+ ref_key: "layoutScrollbarRef",
23348
+ ref: layoutScrollbarRef,
23349
+ class: "layout-backtop"
23350
+ },
23351
+ {
23352
+ default: vue.withCtx(() => [
23353
+ !_ctx.$slots.header ? (vue.openBlock(), vue.createBlock(vue.unref(LayoutHeader), { key: 0 }, {
23354
+ default: vue.withCtx(() => [
23355
+ (vue.openBlock(true), vue.createElementBlock(
23356
+ vue.Fragment,
23357
+ null,
23358
+ vue.renderList(_ctx.$slots, (_, name) => {
23359
+ return vue.renderSlot(_ctx.$slots, name, vue.mergeProps({
23360
+ key: name,
23361
+ ref_for: true
23362
+ }, _ctx.$slots[name].props || {}));
23363
+ }),
23364
+ 128
23365
+ /* KEYED_FRAGMENT */
23366
+ ))
23367
+ ]),
23368
+ _: 3
23369
+ /* FORWARDED */
23370
+ })) : vue.renderSlot(_ctx.$slots, "header", { key: 1 }),
23371
+ !_ctx.$slots.main ? (vue.openBlock(), vue.createBlock(
23372
+ vue.unref(LayoutMain),
23373
+ {
23374
+ key: 2,
23375
+ ref_key: "layoutMainRef",
23376
+ ref: layoutMainRef
23377
+ },
23378
+ {
23379
+ default: vue.withCtx(() => [
23380
+ (vue.openBlock(true), vue.createElementBlock(
23381
+ vue.Fragment,
23382
+ null,
23383
+ vue.renderList(_ctx.$slots, (_, name) => {
23384
+ return vue.renderSlot(_ctx.$slots, name, vue.mergeProps({
23385
+ key: name,
23386
+ ref_for: true
23387
+ }, _ctx.$slots[name].props || {}));
23388
+ }),
23389
+ 128
23390
+ /* KEYED_FRAGMENT */
23391
+ ))
23392
+ ]),
23393
+ _: 3
23394
+ /* FORWARDED */
23395
+ },
23396
+ 512
23397
+ /* NEED_PATCH */
23398
+ )) : vue.renderSlot(_ctx.$slots, "main", { key: 3 })
23399
+ ]),
23400
+ _: 3
23401
+ /* FORWARDED */
23402
+ },
23403
+ 512
23404
+ /* NEED_PATCH */
23405
+ )
23406
+ ]),
23407
+ _: 3
23408
+ /* FORWARDED */
23409
+ })
23410
+ ]),
23411
+ _: 3
23412
+ /* FORWARDED */
23413
+ });
23414
+ };
23415
+ }
23416
+ });
23417
+
23418
+ var defaults = /*#__PURE__*/Object.freeze({
23419
+ __proto__: null,
23420
+ default: _sfc_main$n
23421
+ });
23422
+
23423
+ const _hoisted_1$i = { class: "flex-center layout-backtop" };
23424
+ var _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
23425
+ __name: "classic",
23426
+ setup(__props) {
23427
+ const LayoutAside = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return aside; }));
23428
+ const LayoutHeader = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return header; }));
23429
+ const LayoutMain = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return main; }));
23430
+ const LayoutTagsView = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return tagsView; }));
23431
+ const layoutMainRef = vue.ref();
23432
+ const route = vueRouter.useRoute();
23433
+ const storesThemeConfig = useThemeConfig();
23434
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
23435
+ const isTagsview = vue.computed(() => {
23436
+ return themeConfig.value.isTagsview;
23437
+ });
23438
+ const updateScrollbar = () => {
23439
+ var _a;
23440
+ (_a = layoutMainRef.value) == null ? void 0 : _a.layoutMainScrollbarRef.update();
23441
+ };
23442
+ const initScrollBarHeight = () => {
23443
+ vue.nextTick(() => {
23444
+ setTimeout(() => {
23445
+ updateScrollbar();
23446
+ if (layoutMainRef.value) layoutMainRef.value.layoutMainScrollbarRef.wrapRef.scrollTop = 0;
23447
+ }, 500);
23448
+ });
23449
+ };
23450
+ vue.onMounted(() => {
23451
+ initScrollBarHeight();
23452
+ });
23453
+ vue.watch(
23454
+ () => route.path,
23455
+ () => {
23456
+ initScrollBarHeight();
23457
+ }
23458
+ );
23459
+ vue.watch(
23460
+ () => themeConfig.value.isTagsview,
23461
+ () => {
23462
+ vue.nextTick(() => {
23463
+ updateScrollbar();
23464
+ });
23465
+ },
23466
+ {
23467
+ deep: true
23468
+ }
23469
+ );
23470
+ return (_ctx, _cache) => {
23471
+ const _component_el_container = vue.resolveComponent("el-container");
23472
+ return vue.openBlock(), vue.createBlock(_component_el_container, { class: "layout-container flex-center" }, {
23473
+ default: vue.withCtx(() => [
23474
+ vue.createVNode(vue.unref(LayoutHeader)),
23475
+ vue.createVNode(_component_el_container, { class: "layout-mian-height-50" }, {
23476
+ default: vue.withCtx(() => [
23477
+ vue.createVNode(vue.unref(LayoutAside)),
23478
+ vue.createElementVNode("div", _hoisted_1$i, [
23479
+ isTagsview.value ? (vue.openBlock(), vue.createBlock(vue.unref(LayoutTagsView), { key: 0 })) : vue.createCommentVNode("v-if", true),
23480
+ vue.createVNode(
23481
+ vue.unref(LayoutMain),
23482
+ {
23483
+ ref_key: "layoutMainRef",
23484
+ ref: layoutMainRef
23485
+ },
23486
+ null,
23487
+ 512
23488
+ /* NEED_PATCH */
23489
+ )
23490
+ ])
23491
+ ]),
23492
+ _: 1
23493
+ /* STABLE */
23494
+ })
23495
+ ]),
23496
+ _: 1
23497
+ /* STABLE */
23498
+ });
23499
+ };
23500
+ }
23501
+ });
23502
+
23503
+ var classic = /*#__PURE__*/Object.freeze({
23504
+ __proto__: null,
23505
+ default: _sfc_main$m
23506
+ });
23507
+
23508
+ var _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
23509
+ __name: "transverse",
23510
+ setup(__props) {
23511
+ const LayoutHeader = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return header; }));
23512
+ const LayoutMain = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return main; }));
23513
+ const layoutMainRef = vue.ref();
23514
+ const storesThemeConfig = useThemeConfig();
23515
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
23516
+ const route = vueRouter.useRoute();
23517
+ const updateScrollbar = () => {
23518
+ layoutMainRef.value.layoutMainScrollbarRef.update();
23519
+ };
23520
+ const initScrollBarHeight = () => {
23521
+ vue.nextTick(() => {
23522
+ setTimeout(() => {
23523
+ updateScrollbar();
23524
+ layoutMainRef.value.layoutMainScrollbarRef.wrapRef.scrollTop = 0;
23525
+ }, 500);
23526
+ });
23527
+ };
23528
+ vue.onMounted(() => {
23529
+ initScrollBarHeight();
23530
+ });
23531
+ vue.watch(
23532
+ () => route.path,
23533
+ () => {
23534
+ initScrollBarHeight();
23535
+ }
23536
+ );
23537
+ vue.watch(
23538
+ () => themeConfig.value.isTagsview,
23539
+ () => {
23540
+ vue.nextTick(() => {
23541
+ updateScrollbar();
23542
+ });
23543
+ },
23544
+ {
23545
+ deep: true
23546
+ }
23547
+ );
23548
+ return (_ctx, _cache) => {
23549
+ const _component_el_container = vue.resolveComponent("el-container");
23550
+ return vue.openBlock(), vue.createBlock(_component_el_container, { class: "layout-container flex-center layout-backtop" }, {
23551
+ default: vue.withCtx(() => [
23552
+ vue.createVNode(vue.unref(LayoutHeader)),
23553
+ vue.createVNode(
23554
+ vue.unref(LayoutMain),
23555
+ {
23556
+ ref_key: "layoutMainRef",
23557
+ ref: layoutMainRef
23558
+ },
23559
+ null,
23560
+ 512
23561
+ /* NEED_PATCH */
23562
+ )
23563
+ ]),
23564
+ _: 1
23565
+ /* STABLE */
23566
+ });
23567
+ };
23568
+ }
23569
+ });
23570
+
23571
+ var transverse = /*#__PURE__*/Object.freeze({
23572
+ __proto__: null,
23573
+ default: _sfc_main$l
23574
+ });
23575
+
23576
+ var _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
23577
+ __name: "columns",
23578
+ setup(__props) {
23579
+ const LayoutAside = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return aside; }));
23580
+ const LayoutHeader = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return header; }));
23581
+ const LayoutMain = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return main; }));
23582
+ const ColumnsAside = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return columnsAside; }));
23583
+ const layoutScrollbarRef = vue.ref("");
23584
+ const layoutMainRef = vue.ref();
23585
+ const route = vueRouter.useRoute();
23586
+ const storesThemeConfig = useThemeConfig();
23587
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
23588
+ const updateScrollbar = () => {
23589
+ layoutScrollbarRef.value.update();
23590
+ layoutMainRef.value && layoutMainRef.value.layoutMainScrollbarRef.update();
23591
+ };
23592
+ const initScrollBarHeight = () => {
23593
+ vue.nextTick(() => {
23594
+ setTimeout(() => {
23595
+ updateScrollbar();
23596
+ layoutScrollbarRef.value.wrapRef.scrollTop = 0;
23597
+ if (layoutMainRef.value != void 0) layoutMainRef.value.layoutMainScrollbarRef.wrapRef.scrollTop = 0;
23598
+ }, 500);
23599
+ });
23600
+ };
23601
+ vue.onMounted(() => {
23602
+ initScrollBarHeight();
23603
+ });
23604
+ vue.watch(
23605
+ () => route.path,
23606
+ () => {
23607
+ initScrollBarHeight();
23608
+ }
23609
+ );
23610
+ vue.watch(
23611
+ () => [themeConfig.value.isTagsview, themeConfig.value.isFixedHeader],
23612
+ () => {
23613
+ vue.nextTick(() => {
23614
+ updateScrollbar();
23615
+ });
23616
+ },
23617
+ {
23618
+ deep: true
23619
+ }
23620
+ );
23621
+ return (_ctx, _cache) => {
23622
+ const _component_el_scrollbar = vue.resolveComponent("el-scrollbar");
23623
+ const _component_el_container = vue.resolveComponent("el-container");
23624
+ return vue.openBlock(), vue.createBlock(_component_el_container, { class: "layout-container" }, {
23625
+ default: vue.withCtx(() => [
23626
+ vue.createVNode(vue.unref(ColumnsAside)),
23627
+ vue.createVNode(_component_el_container, { class: "layout-columns-warp layout-container-view h100" }, {
23628
+ default: vue.withCtx(() => [
23629
+ vue.createVNode(vue.unref(LayoutAside)),
23630
+ vue.createVNode(
23631
+ _component_el_scrollbar,
23632
+ {
23633
+ ref_key: "layoutScrollbarRef",
23634
+ ref: layoutScrollbarRef,
23635
+ class: "layout-backtop"
23636
+ },
23637
+ {
23638
+ default: vue.withCtx(() => [
23639
+ vue.createVNode(vue.unref(LayoutHeader)),
23640
+ vue.createVNode(
23641
+ vue.unref(LayoutMain),
23642
+ {
23643
+ ref_key: "layoutMainRef",
23644
+ ref: layoutMainRef
23645
+ },
23646
+ null,
23647
+ 512
23648
+ /* NEED_PATCH */
23649
+ )
23650
+ ]),
23651
+ _: 1
23652
+ /* STABLE */
23653
+ },
23654
+ 512
23655
+ /* NEED_PATCH */
23656
+ )
23657
+ ]),
23658
+ _: 1
23659
+ /* STABLE */
23660
+ })
23661
+ ]),
23662
+ _: 1
23663
+ /* STABLE */
23664
+ });
23665
+ };
23666
+ }
23667
+ });
23668
+
23669
+ var columns = /*#__PURE__*/Object.freeze({
23670
+ __proto__: null,
23671
+ default: _sfc_main$k
23672
+ });
23673
+
23674
+ const _hoisted_1$h = { class: "h100" };
23675
+ var _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
23676
+ __name: "aside",
23677
+ setup(__props) {
23678
+ const Logo = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return index$3; }));
23679
+ const Vertical = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return vertical; }));
23680
+ const layoutAsideScrollbarRef = vue.ref();
23681
+ const stores = useRoutesList();
23682
+ const storesThemeConfig = useThemeConfig();
23683
+ const storesTagsViewRoutes = useTagsViewRoutes();
23684
+ const { routesList } = pinia$1.storeToRefs(stores);
23685
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
23686
+ const { isTagsViewCurrenFull } = pinia$1.storeToRefs(storesTagsViewRoutes);
23687
+ const state = vue.reactive({
23688
+ menuList: [],
23689
+ clientWidth: 0
23690
+ });
23691
+ const setCollapseStyle = vue.computed(() => {
23692
+ const { layout, isCollapse, menuBar } = themeConfig.value;
23693
+ const asideBrTheme = ["#FFFFFF", "#FFF", "#fff", "#ffffff"];
23694
+ const asideBrColor = asideBrTheme.includes(menuBar) ? "layout-el-aside-br-color" : "";
23695
+ if (state.clientWidth <= 1e3) {
23696
+ if (isCollapse) {
23697
+ document.body.setAttribute("class", "el-popup-parent--hidden");
23698
+ const asideEle = document.querySelector(".layout-container");
23699
+ const modeDivs = document.createElement("div");
23700
+ modeDivs.setAttribute("class", "layout-aside-mobile-mode");
23701
+ asideEle.appendChild(modeDivs);
23702
+ modeDivs.addEventListener("click", closeLayoutAsideMobileMode);
23703
+ return [asideBrColor, "layout-aside-mobile", "layout-aside-mobile-open"];
23704
+ } else {
23705
+ closeLayoutAsideMobileMode();
23706
+ return [asideBrColor, "layout-aside-mobile", "layout-aside-mobile-close"];
23707
+ }
23708
+ } else {
23709
+ if (layout === "columns" || layout === "classic") {
23710
+ if (isCollapse) return [asideBrColor, "layout-aside-pc-1"];
23711
+ else return [asideBrColor, "layout-aside-pc-240"];
23712
+ } else {
23713
+ if (isCollapse) return [asideBrColor, "layout-aside-pc-64"];
23714
+ else return [asideBrColor, "layout-aside-pc-240"];
23715
+ }
23716
+ }
23717
+ });
23718
+ const setShowLogo = vue.computed(() => {
23719
+ let { layout, isShowLogo } = themeConfig.value;
23720
+ return isShowLogo && layout === "defaults" || isShowLogo && layout === "columns";
23721
+ });
23722
+ const closeLayoutAsideMobileMode = () => {
23723
+ const el = document.querySelector(".layout-aside-mobile-mode");
23724
+ el == null ? void 0 : el.setAttribute("style", "animation: error-img-two 0.3s");
23725
+ setTimeout(() => {
23726
+ var _a;
23727
+ (_a = el == null ? void 0 : el.parentNode) == null ? void 0 : _a.removeChild(el);
23728
+ }, 300);
23729
+ const clientWidth = document.body.clientWidth;
23730
+ if (clientWidth < 1e3) themeConfig.value.isCollapse = false;
23731
+ document.body.setAttribute("class", "");
23732
+ };
23733
+ const setFilterRoutes = () => {
23734
+ if (themeConfig.value.layout === "columns") return false;
23735
+ state.menuList = filterRoutesFun(routesList.value);
23736
+ };
23737
+ const filterRoutesFun = (arr) => {
23738
+ return arr.filter((item) => {
23739
+ var _a;
23740
+ return !((_a = item.meta) == null ? void 0 : _a.isHide);
23741
+ }).map((item) => {
23742
+ item = Object.assign({}, item);
23743
+ if (item.children) item.children = filterRoutesFun(item.children);
23744
+ return item;
23745
+ });
23746
+ };
23747
+ const initMenuFixed = (clientWidth) => {
23748
+ state.clientWidth = clientWidth;
23749
+ };
23750
+ const onAsideEnterLeave = (bool) => {
23751
+ let { layout } = themeConfig.value;
23752
+ if (layout !== "columns") return false;
23753
+ if (!bool) emitter.emit("restoreDefault");
23754
+ if (themeConfig.value.isColumnsMenuHoverPreload) stores.setColumnsMenuHover(bool);
23755
+ };
23756
+ vue.onBeforeMount(() => {
23757
+ initMenuFixed(document.body.clientWidth);
23758
+ setFilterRoutes();
23759
+ emitter.on("setSendColumnsChildren", (res) => {
23760
+ state.menuList = res.children;
23761
+ });
23762
+ emitter.on("setSendClassicChildren", (res) => {
23763
+ let { layout, isClassicSplitMenu } = themeConfig.value;
23764
+ if (layout === "classic" && isClassicSplitMenu) {
23765
+ res.children.length <= 1 ? themeConfig.value.isCollapse = true : themeConfig.value.isCollapse = false;
23766
+ state.menuList = [];
23767
+ state.menuList = res.children;
23768
+ }
23769
+ });
23770
+ emitter.on("getBreadcrumbIndexSetFilterRoutes", () => {
23771
+ setFilterRoutes();
23772
+ });
23773
+ emitter.on("layoutMobileResize", (res) => {
23774
+ initMenuFixed(res.clientWidth);
23775
+ closeLayoutAsideMobileMode();
23776
+ });
23777
+ });
23778
+ vue.watch(
23779
+ () => [themeConfig.value.isShowLogoChange, themeConfig.value.isShowLogo, themeConfig.value.layout, themeConfig.value.isClassicSplitMenu],
23780
+ ([isShowLogoChange, isShowLogo, layout, isClassicSplitMenu]) => {
23781
+ if (isShowLogoChange !== isShowLogo) {
23782
+ if (layoutAsideScrollbarRef.value) layoutAsideScrollbarRef.value.update();
23783
+ }
23784
+ if (layout === "classic" && isClassicSplitMenu) return false;
23785
+ }
23786
+ );
23787
+ vue.watch(
23788
+ () => routesList.value,
23789
+ () => {
23790
+ setFilterRoutes();
23791
+ }
23792
+ );
23793
+ return (_ctx, _cache) => {
23794
+ const _component_el_scrollbar = vue.resolveComponent("el-scrollbar");
23795
+ const _component_el_aside = vue.resolveComponent("el-aside");
23796
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
23797
+ "div",
23798
+ _hoisted_1$h,
23799
+ [
23800
+ vue.createVNode(_component_el_aside, {
23801
+ class: vue.normalizeClass(["layout-aside", setCollapseStyle.value])
23802
+ }, {
23803
+ default: vue.withCtx(() => [
23804
+ setShowLogo.value ? (vue.openBlock(), vue.createBlock(vue.unref(Logo), { key: 0 })) : vue.createCommentVNode("v-if", true),
23805
+ vue.createVNode(
23806
+ _component_el_scrollbar,
23807
+ {
23808
+ class: "flex-auto",
23809
+ ref_key: "layoutAsideScrollbarRef",
23810
+ ref: layoutAsideScrollbarRef,
23811
+ onMouseenter: _cache[0] || (_cache[0] = ($event) => onAsideEnterLeave(true)),
23812
+ onMouseleave: _cache[1] || (_cache[1] = ($event) => onAsideEnterLeave(false))
23813
+ },
23814
+ {
23815
+ default: vue.withCtx(() => [
23816
+ vue.createVNode(vue.unref(Vertical), {
23817
+ menuList: state.menuList
23818
+ }, null, 8, ["menuList"])
23819
+ ]),
23820
+ _: 1
23821
+ /* STABLE */
23822
+ },
23823
+ 512
23824
+ /* NEED_PATCH */
23825
+ )
23826
+ ]),
23827
+ _: 1
23828
+ /* STABLE */
23829
+ }, 8, ["class"])
23830
+ ],
23831
+ 512
23832
+ /* NEED_PATCH */
23833
+ )), [
23834
+ [vue.vShow, !vue.unref(isTagsViewCurrenFull)]
23835
+ ]);
23836
+ };
23837
+ }
23838
+ });
23839
+
23840
+ var aside = /*#__PURE__*/Object.freeze({
23841
+ __proto__: null,
23842
+ default: _sfc_main$j
23843
+ });
23844
+
23845
+ var _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
23846
+ __name: "header",
23847
+ setup(__props) {
23848
+ const NavBarsIndex = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return index$2; }));
23849
+ const storesTagsViewRoutes = useTagsViewRoutes();
23850
+ const { isTagsViewCurrenFull } = pinia$1.storeToRefs(storesTagsViewRoutes);
23851
+ return (_ctx, _cache) => {
23852
+ const _component_el_header = vue.resolveComponent("el-header");
23853
+ return vue.withDirectives((vue.openBlock(), vue.createBlock(
23854
+ _component_el_header,
23855
+ { class: "layout-header" },
23856
+ {
23857
+ default: vue.withCtx(() => [
23858
+ !_ctx.$slots.navBars ? (vue.openBlock(), vue.createBlock(vue.unref(NavBarsIndex), { key: 0 }, {
23859
+ default: vue.withCtx(() => [
23860
+ (vue.openBlock(true), vue.createElementBlock(
23861
+ vue.Fragment,
23862
+ null,
23863
+ vue.renderList(_ctx.$slots, (_, name) => {
23864
+ return vue.renderSlot(_ctx.$slots, name, vue.mergeProps({
23865
+ key: name,
23866
+ ref_for: true
23867
+ }, _ctx.$slots[name].props || {}));
23868
+ }),
23869
+ 128
23870
+ /* KEYED_FRAGMENT */
23871
+ ))
23872
+ ]),
23873
+ _: 3
23874
+ /* FORWARDED */
23875
+ })) : vue.renderSlot(_ctx.$slots, "navBars", { key: 1 })
23876
+ ]),
23877
+ _: 3
23878
+ /* FORWARDED */
23879
+ },
23880
+ 512
23881
+ /* NEED_PATCH */
23882
+ )), [
23883
+ [vue.vShow, !vue.unref(isTagsViewCurrenFull)]
23884
+ ]);
23885
+ };
23886
+ }
23887
+ });
23888
+
23889
+ var header = /*#__PURE__*/Object.freeze({
23890
+ __proto__: null,
23891
+ default: _sfc_main$i
23892
+ });
23893
+
23894
+ var _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
23895
+ __name: "main",
23896
+ setup(__props, { expose: __expose }) {
23897
+ const LayoutParentView = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return parent; }));
23898
+ const LayoutFooter = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return index$1; }));
23899
+ const layoutMainScrollbarRef = vue.ref();
23900
+ const route = vueRouter.useRoute();
23901
+ const storesTagsViewRoutes = useTagsViewRoutes();
23902
+ const storesThemeConfig = useThemeConfig();
23903
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
23904
+ const { isTagsViewCurrenFull } = pinia$1.storeToRefs(storesTagsViewRoutes);
23905
+ const isFooter = vue.computed(() => {
23906
+ return themeConfig.value.isFooter && !route.meta.isIframe;
23907
+ });
23908
+ const isFixedHeader = vue.computed(() => {
23909
+ return themeConfig.value.isFixedHeader;
23910
+ });
23911
+ const setBacktopClass = vue.computed(() => {
23912
+ if (themeConfig.value.isFixedHeader) return `.layout-backtop-header-fixed .el-scrollbar__wrap`;
23913
+ else return `.layout-backtop .el-scrollbar__wrap`;
23914
+ });
23915
+ const setMainHeight = vue.computed(() => {
23916
+ if (isTagsViewCurrenFull.value) return "0px";
23917
+ const { isTagsview, layout } = themeConfig.value;
23918
+ if (isTagsview && layout !== "classic") return "85px";
23919
+ else return "51px";
23920
+ });
23921
+ vue.onMounted(() => {
23922
+ NextLoading.done(600);
23923
+ });
23924
+ __expose({
23925
+ layoutMainScrollbarRef
23926
+ });
23927
+ return (_ctx, _cache) => {
23928
+ const _component_el_scrollbar = vue.resolveComponent("el-scrollbar");
23929
+ const _component_el_backtop = vue.resolveComponent("el-backtop");
23930
+ const _component_el_main = vue.resolveComponent("el-main");
23931
+ return vue.openBlock(), vue.createBlock(_component_el_main, {
23932
+ class: "layout-main",
23933
+ style: vue.normalizeStyle(isFixedHeader.value ? `height: calc(100% - ${setMainHeight.value})` : `minHeight: calc(100% - ${setMainHeight.value})`)
23934
+ }, {
23935
+ default: vue.withCtx(() => [
23936
+ vue.createVNode(
23937
+ _component_el_scrollbar,
23938
+ {
23939
+ ref_key: "layoutMainScrollbarRef",
23940
+ ref: layoutMainScrollbarRef,
23941
+ class: "layout-main-scroll layout-backtop-header-fixed",
23942
+ "wrap-class": "layout-main-scroll",
23943
+ "view-class": "layout-main-scroll"
23944
+ },
23945
+ {
23946
+ default: vue.withCtx(() => [
23947
+ vue.createVNode(vue.unref(LayoutParentView)),
23948
+ isFooter.value ? (vue.openBlock(), vue.createBlock(vue.unref(LayoutFooter), { key: 0 })) : vue.createCommentVNode("v-if", true)
23949
+ ]),
23950
+ _: 1
23951
+ /* STABLE */
23952
+ },
23953
+ 512
23954
+ /* NEED_PATCH */
23955
+ ),
23956
+ vue.createVNode(_component_el_backtop, { target: setBacktopClass.value }, null, 8, ["target"])
23957
+ ]),
23958
+ _: 1
23959
+ /* STABLE */
23960
+ }, 8, ["style"]);
23961
+ };
23962
+ }
23963
+ });
23964
+
23965
+ var main = /*#__PURE__*/Object.freeze({
23966
+ __proto__: null,
23967
+ default: _sfc_main$h
23968
+ });
23969
+
23970
+ const _hoisted_1$g = ["data-url", "onContextmenu", "onMousedown", "onClick"];
23971
+ const _hoisted_2$a = {
23972
+ key: 0,
23973
+ class: "iconfont icon-webicon318 layout-navbars-tagsview-ul-li-iconfont"
23974
+ };
23975
+ var _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
23976
+ __name: "tagsView",
23977
+ setup(__props) {
23978
+ const Contextmenu = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return contextmenu; }));
23979
+ const tagsRefs = vue.ref([]);
23980
+ const scrollbarRef = vue.ref();
23981
+ const contextmenuRef = vue.ref();
23982
+ const tagsUlRef = vue.ref();
23983
+ const stores = useTagsViewRoutes();
23984
+ const storesThemeConfig = useThemeConfig();
23985
+ const storesTagsViewRoutes = useTagsViewRoutes();
23986
+ const storesRoutesList = useRoutesList();
23987
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
23988
+ const { tagsViewRoutes } = pinia$1.storeToRefs(storesTagsViewRoutes);
23989
+ const { routesList } = pinia$1.storeToRefs(storesRoutesList);
23990
+ const storesKeepALiveNames = useKeepALiveNames();
23991
+ const route = vueRouter.useRoute();
23992
+ const router = vueRouter.useRouter();
23993
+ const state = vue.reactive({
23994
+ routeActive: "",
23995
+ routePath: route.path,
23996
+ dropdown: { x: "", y: "" },
23997
+ sortable: "",
23998
+ tagsRefsIndex: 0,
23999
+ tagsViewList: [],
24000
+ tagsViewRoutesList: []
24001
+ });
24002
+ const setTagsStyle = vue.computed(() => {
24003
+ return themeConfig.value.tagsStyle;
24004
+ });
24005
+ const getThemeConfig = vue.computed(() => {
24006
+ return themeConfig.value;
24007
+ });
24008
+ const setTagsViewNameI18n = vue.computed(() => {
24009
+ return (v) => {
24010
+ return other.setTagsViewNameI18n(v);
24011
+ };
24012
+ });
24013
+ const isActive = (v) => {
24014
+ if (getThemeConfig.value.isShareTagsView) {
24015
+ return v.path === state.routePath;
24016
+ } else {
24017
+ if (v.query && Object.keys(v.query).length || v.params && Object.keys(v.params).length) {
24018
+ return v.url ? v.url === state.routeActive : v.path === state.routeActive;
24019
+ } else {
24020
+ return v.path === state.routePath;
24021
+ }
24022
+ }
24023
+ };
24024
+ const addBrowserSetSession = (tagsViewList) => {
24025
+ Session.set("tagsViewList", tagsViewList);
24026
+ };
24027
+ const getTagsViewRoutes = async () => {
24028
+ state.routeActive = await setTagsViewHighlight(route);
24029
+ state.routePath = await route.meta.isDynamic ? route.meta.isDynamicPath : route.path;
24030
+ state.tagsViewList = [];
24031
+ state.tagsViewRoutesList = tagsViewRoutes.value;
24032
+ initTagsView();
24033
+ };
24034
+ const initTagsView = async () => {
24035
+ if (Session.get("tagsViewList") && getThemeConfig.value.isCacheTagsView) {
24036
+ state.tagsViewList = await Session.get("tagsViewList");
24037
+ } else {
24038
+ await state.tagsViewRoutesList.map((v) => {
24039
+ var _a;
24040
+ if (((_a = v.meta) == null ? void 0 : _a.isAffix) && !v.meta.isHide) {
24041
+ v.url = setTagsViewHighlight(v);
24042
+ state.tagsViewList.push({ ...v });
24043
+ storesKeepALiveNames.addCachedView(v);
24044
+ }
24045
+ });
24046
+ await addTagsView(route.path, route);
24047
+ }
24048
+ getTagsRefsIndex(getThemeConfig.value.isShareTagsView ? state.routePath : state.routeActive);
24049
+ };
24050
+ const solveAddTagsView = async (path, to) => {
24051
+ var _a, _b;
24052
+ let isDynamicPath = ((_a = to == null ? void 0 : to.meta) == null ? void 0 : _a.isDynamic) ? to.meta.isDynamicPath : path;
24053
+ let current = state.tagsViewList.filter(
24054
+ (v) => {
24055
+ var _a2, _b2;
24056
+ return v.path === isDynamicPath && isObjectValueEqual(((_a2 = to == null ? void 0 : to.meta) == null ? void 0 : _a2.isDynamic) ? v.params ? v.params : null : v.query ? v.query : null, ((_b2 = to == null ? void 0 : to.meta) == null ? void 0 : _b2.isDynamic) ? (to == null ? void 0 : to.params) ? to == null ? void 0 : to.params : null : (to == null ? void 0 : to.query) ? to == null ? void 0 : to.query : null);
24057
+ }
24058
+ );
24059
+ if (current.length <= 0) {
24060
+ let findItem = state.tagsViewRoutesList.find((v) => v.path === isDynamicPath);
24061
+ if (!findItem) return false;
24062
+ if (findItem.meta.isAffix) return false;
24063
+ if (findItem.meta.isLink && !findItem.meta.isIframe) return false;
24064
+ ((_b = to == null ? void 0 : to.meta) == null ? void 0 : _b.isDynamic) ? findItem.params = to.params : findItem.query = to == null ? void 0 : to.query;
24065
+ findItem.url = setTagsViewHighlight(findItem);
24066
+ state.tagsViewList.push({ ...findItem });
24067
+ await storesKeepALiveNames.addCachedView(findItem);
24068
+ addBrowserSetSession(state.tagsViewList);
24069
+ }
24070
+ };
24071
+ const singleAddTagsView = (path, to) => {
24072
+ var _a;
24073
+ let isDynamicPath = ((_a = to == null ? void 0 : to.meta) == null ? void 0 : _a.isDynamic) ? to.meta.isDynamicPath : path;
24074
+ state.tagsViewList.forEach((v) => {
24075
+ var _a2, _b, _c;
24076
+ if (v.path === isDynamicPath && !isObjectValueEqual(((_a2 = to == null ? void 0 : to.meta) == null ? void 0 : _a2.isDynamic) ? v.params ? v.params : null : v.query ? v.query : null, ((_b = to == null ? void 0 : to.meta) == null ? void 0 : _b.isDynamic) ? (to == null ? void 0 : to.params) ? to == null ? void 0 : to.params : null : (to == null ? void 0 : to.query) ? to == null ? void 0 : to.query : null)) {
24077
+ ((_c = to == null ? void 0 : to.meta) == null ? void 0 : _c.isDynamic) ? v.params = to.params : v.query = to == null ? void 0 : to.query;
24078
+ v.url = setTagsViewHighlight(v);
24079
+ addBrowserSetSession(state.tagsViewList);
24080
+ }
24081
+ });
24082
+ };
24083
+ const addTagsView = (path, to) => {
24084
+ vue.nextTick(async () => {
24085
+ var _a, _b, _c;
24086
+ let item;
24087
+ if ((_a = to == null ? void 0 : to.meta) == null ? void 0 : _a.isDynamic) {
24088
+ if (!getThemeConfig.value.isShareTagsView) await solveAddTagsView(path, to);
24089
+ else await singleAddTagsView(path, to);
24090
+ if (state.tagsViewList.some((v) => {
24091
+ var _a2;
24092
+ return v.path === ((_a2 = to == null ? void 0 : to.meta) == null ? void 0 : _a2.isDynamicPath);
24093
+ })) {
24094
+ addBrowserSetSession(state.tagsViewList);
24095
+ return false;
24096
+ }
24097
+ item = state.tagsViewRoutesList.find((v) => {
24098
+ var _a2;
24099
+ return v.path === ((_a2 = to == null ? void 0 : to.meta) == null ? void 0 : _a2.isDynamicPath);
24100
+ });
24101
+ } else {
24102
+ if (!getThemeConfig.value.isShareTagsView) await solveAddTagsView(path, to);
24103
+ else await singleAddTagsView(path, to);
24104
+ if (state.tagsViewList.some((v) => v.path === path)) {
24105
+ addBrowserSetSession(state.tagsViewList);
24106
+ return false;
24107
+ }
24108
+ item = state.tagsViewRoutesList.find((v) => v.path === path);
24109
+ }
24110
+ if (!item) return false;
24111
+ if (((_b = item == null ? void 0 : item.meta) == null ? void 0 : _b.isLink) && !item.meta.isIframe) return false;
24112
+ if ((_c = to == null ? void 0 : to.meta) == null ? void 0 : _c.isDynamic) item.params = (to == null ? void 0 : to.params) ? to == null ? void 0 : to.params : route.params;
24113
+ else item.query = (to == null ? void 0 : to.query) ? to == null ? void 0 : to.query : route.query;
24114
+ item.url = setTagsViewHighlight(item);
24115
+ await storesKeepALiveNames.addCachedView(item);
24116
+ await state.tagsViewList.push({ ...item });
24117
+ await addBrowserSetSession(state.tagsViewList);
24118
+ });
24119
+ };
24120
+ const refreshCurrentTagsView = async (fullPath) => {
24121
+ var _a;
24122
+ const decodeURIPath = decodeURI(fullPath);
24123
+ let item = {};
24124
+ state.tagsViewList.forEach((v) => {
24125
+ v.transUrl = transUrlParams(v);
24126
+ if (v.transUrl) {
24127
+ if (v.transUrl === transUrlParams(v)) item = v;
24128
+ } else {
24129
+ if (v.path === decodeURIPath) item = v;
24130
+ }
24131
+ });
24132
+ if (!item) return false;
24133
+ await storesKeepALiveNames.delCachedView(item);
24134
+ emitter.emit("onTagsViewRefreshRouterView", fullPath);
24135
+ if ((_a = item.meta) == null ? void 0 : _a.isKeepAlive) storesKeepALiveNames.addCachedView(item);
24136
+ };
24137
+ const closeCurrentTagsView = (path) => {
24138
+ state.tagsViewList.map((v, k, arr) => {
24139
+ var _a;
24140
+ if (!((_a = v.meta) == null ? void 0 : _a.isAffix)) {
24141
+ if (getThemeConfig.value.isShareTagsView ? v.path === path : v.url === path) {
24142
+ storesKeepALiveNames.delCachedView(v);
24143
+ state.tagsViewList.splice(k, 1);
24144
+ setTimeout(() => {
24145
+ if (state.tagsViewList.length === k && getThemeConfig.value.isShareTagsView ? state.routePath === path : state.routeActive === path) {
24146
+ if (arr[arr.length - 1].meta.isDynamic) {
24147
+ if (k !== arr.length) router.push({ name: arr[k].name, params: arr[k].params });
24148
+ else router.push({ name: arr[arr.length - 1].name, params: arr[arr.length - 1].params });
24149
+ } else {
24150
+ if (k !== arr.length) router.push({ path: arr[k].path, query: arr[k].query });
24151
+ else router.push({ path: arr[arr.length - 1].path, query: arr[arr.length - 1].query });
24152
+ }
24153
+ } else {
24154
+ if (state.tagsViewList.length !== k && getThemeConfig.value.isShareTagsView ? state.routePath === path : state.routeActive === path) {
24155
+ if (arr[k].meta.isDynamic) {
24156
+ router.push({ name: arr[k].name, params: arr[k].params });
24157
+ } else {
24158
+ router.push({ path: arr[k].path, query: arr[k].query });
24159
+ }
24160
+ }
24161
+ }
24162
+ }, 0);
24163
+ }
24164
+ }
24165
+ });
24166
+ addBrowserSetSession(state.tagsViewList);
24167
+ };
24168
+ const closeOtherTagsView = (path) => {
24169
+ if (Session.get("tagsViewList")) {
24170
+ state.tagsViewList = [];
24171
+ Session.get("tagsViewList").map((v) => {
24172
+ var _a;
24173
+ if (((_a = v.meta) == null ? void 0 : _a.isAffix) && !v.meta.isHide) {
24174
+ v.url = setTagsViewHighlight(v);
24175
+ storesKeepALiveNames.delOthersCachedViews(v);
24176
+ state.tagsViewList.push({ ...v });
24177
+ }
24178
+ });
24179
+ addTagsView(path, route);
24180
+ addBrowserSetSession(state.tagsViewList);
24181
+ }
24182
+ };
24183
+ const closeAllTagsView = () => {
24184
+ if (Session.get("tagsViewList")) {
24185
+ storesKeepALiveNames.delAllCachedViews();
24186
+ state.tagsViewList = [];
24187
+ Session.get("tagsViewList").map((v) => {
24188
+ var _a;
24189
+ if (((_a = v.meta) == null ? void 0 : _a.isAffix) && !v.meta.isHide) {
24190
+ v.url = setTagsViewHighlight(v);
24191
+ state.tagsViewList.push({ ...v });
24192
+ router.push({ path: state.tagsViewList[state.tagsViewList.length - 1].path });
24193
+ }
24194
+ });
24195
+ addBrowserSetSession(state.tagsViewList);
24196
+ }
24197
+ };
24198
+ const openCurrenFullscreen = async (path) => {
24199
+ const item = state.tagsViewList.find((v) => getThemeConfig.value.isShareTagsView ? v.path === path : v.url === path);
24200
+ if (item.meta.isDynamic) await router.push({ name: item.name, params: item.params });
24201
+ else await router.push({ name: item.name, query: item.query });
24202
+ stores.setCurrenFullscreen(true);
24203
+ };
24204
+ const getCurrentRouteItem = (item) => {
24205
+ let resItem = {};
24206
+ state.tagsViewList.forEach((v) => {
24207
+ v.transUrl = transUrlParams(v);
24208
+ if (v.transUrl) {
24209
+ if (v.transUrl === transUrlParams(v) && v.transUrl === item.commonUrl) resItem = v;
24210
+ } else {
24211
+ if (v.path === decodeURI(item.path)) resItem = v;
24212
+ }
24213
+ });
24214
+ if (!resItem) return null;
24215
+ else return resItem;
24216
+ };
24217
+ const onCurrentContextmenuClick = async (item) => {
24218
+ item.commonUrl = transUrlParams(item);
24219
+ if (!getCurrentRouteItem(item)) return elementPlus.ElMessage({ type: "warning", message: "\u8BF7\u6B63\u786E\u8F93\u5165\u8DEF\u5F84\u53CA\u5B8C\u6574\u53C2\u6570\uFF08query\u3001params\uFF09" });
24220
+ const { path, name, params, query, meta, url } = getCurrentRouteItem(item);
24221
+ switch (item.contextMenuClickId) {
24222
+ case 0:
24223
+ if (meta.isDynamic) await router.push({ name, params });
24224
+ else await router.push({ path, query });
24225
+ await refreshCurrentTagsView(route.fullPath);
24226
+ break;
24227
+ case 1:
24228
+ closeCurrentTagsView(getThemeConfig.value.isShareTagsView ? path : url);
24229
+ break;
24230
+ case 2:
24231
+ if (meta.isDynamic) await router.push({ name, params });
24232
+ else await router.push({ path, query });
24233
+ closeOtherTagsView(path);
24234
+ break;
24235
+ case 3:
24236
+ closeAllTagsView();
24237
+ break;
24238
+ case 4:
24239
+ await openCurrenFullscreen(getThemeConfig.value.isShareTagsView ? path : url);
24240
+ break;
24241
+ }
24242
+ };
24243
+ const onContextmenu = (v, e) => {
24244
+ const { clientX, clientY } = e;
24245
+ state.dropdown.x = clientX;
24246
+ state.dropdown.y = clientY;
24247
+ contextmenuRef.value.openContextmenu(v);
24248
+ };
24249
+ const onMousedownMenu = (v, e) => {
24250
+ var _a;
24251
+ if (!((_a = v.meta) == null ? void 0 : _a.isAffix) && e.button === 1) {
24252
+ const item = Object.assign({}, { contextMenuClickId: 1, ...v });
24253
+ onCurrentContextmenuClick(item);
24254
+ }
24255
+ };
24256
+ const onTagsClick = (v, k) => {
24257
+ state.tagsRefsIndex = k;
24258
+ router.push(v);
24259
+ if (getThemeConfig.value.layout === "columns") {
24260
+ const item = routesList.value.find((r) => r.path.indexOf(`/${v.path.split("/")[1]}`) > -1);
24261
+ !item.children ? getThemeConfig.value.isCollapse = true : getThemeConfig.value.isCollapse = false;
24262
+ }
24263
+ };
24264
+ const transUrlParams = (v) => {
24265
+ var _a, _b;
24266
+ let params = v.query && Object.keys(v.query).length > 0 ? v.query : v.params;
24267
+ if (!params) return "";
24268
+ let path = "";
24269
+ for (let [key, value] of Object.entries(params)) {
24270
+ if ((_a = v.meta) == null ? void 0 : _a.isDynamic) path += `/${value}`;
24271
+ else path += `&${key}=${value}`;
24272
+ }
24273
+ if ((_b = v.meta) == null ? void 0 : _b.isDynamic) {
24274
+ return v.isFnClick ? decodeURI(v.path) : `${v.path.split(":")[0]}${path.replace(/^\//, "")}`;
24275
+ } else {
24276
+ return `${v.path}${path.replace(/^&/, "?")}`;
24277
+ }
24278
+ };
24279
+ const setTagsViewHighlight = (v) => {
24280
+ var _a;
24281
+ let params = v.query && Object.keys(v.query).length > 0 ? v.query : v.params;
24282
+ if (!params || Object.keys(params).length <= 0) return v.path;
24283
+ let path = "";
24284
+ for (let i in params) {
24285
+ path += params[i];
24286
+ }
24287
+ return `${((_a = v.meta) == null ? void 0 : _a.isDynamic) ? v.meta.isDynamicPath : v.path}-${path}`;
24288
+ };
24289
+ const onHandleScroll = (e) => {
24290
+ scrollbarRef.value.$refs.wrapRef.scrollLeft += e.wheelDelta / 4;
24291
+ };
24292
+ const tagsViewmoveToCurrentTag = () => {
24293
+ vue.nextTick(() => {
24294
+ if (tagsRefs.value.length <= 0) return false;
24295
+ let liDom = tagsRefs.value[state.tagsRefsIndex];
24296
+ let liIndex = state.tagsRefsIndex;
24297
+ let liLength = tagsRefs.value.length;
24298
+ let liFirst = tagsRefs.value[0];
24299
+ let liLast = tagsRefs.value[tagsRefs.value.length - 1];
24300
+ let scrollRefs = scrollbarRef.value.$refs.wrapRef;
24301
+ let scrollS = scrollRefs.scrollWidth;
24302
+ let offsetW = scrollRefs.offsetWidth;
24303
+ let scrollL = scrollRefs.scrollLeft;
24304
+ let liPrevTag = tagsRefs.value[state.tagsRefsIndex - 1];
24305
+ let liNextTag = tagsRefs.value[state.tagsRefsIndex + 1];
24306
+ let beforePrevL = 0;
24307
+ let afterNextL = 0;
24308
+ if (liDom === liFirst) {
24309
+ scrollRefs.scrollLeft = 0;
24310
+ } else if (liDom === liLast) {
24311
+ scrollRefs.scrollLeft = scrollS - offsetW;
24312
+ } else {
24313
+ if (liIndex === 0) beforePrevL = liFirst.offsetLeft - 5;
24314
+ else beforePrevL = (liPrevTag == null ? void 0 : liPrevTag.offsetLeft) - 5;
24315
+ if (liIndex === liLength) afterNextL = liLast.offsetLeft + liLast.offsetWidth + 5;
24316
+ else afterNextL = liNextTag.offsetLeft + liNextTag.offsetWidth + 5;
24317
+ if (afterNextL > scrollL + offsetW) {
24318
+ scrollRefs.scrollLeft = afterNextL - offsetW;
24319
+ } else if (beforePrevL < scrollL) {
24320
+ scrollRefs.scrollLeft = beforePrevL;
24321
+ }
24322
+ }
24323
+ scrollbarRef.value.update();
24324
+ });
24325
+ };
24326
+ const getTagsRefsIndex = (path) => {
24327
+ vue.nextTick(async () => {
24328
+ let tagsViewList = await state.tagsViewList;
24329
+ state.tagsRefsIndex = tagsViewList.findIndex((v) => {
24330
+ if (getThemeConfig.value.isShareTagsView) {
24331
+ return v.path === path;
24332
+ } else {
24333
+ return v.url === path;
24334
+ }
24335
+ });
24336
+ tagsViewmoveToCurrentTag();
24337
+ });
24338
+ };
24339
+ const initSortable = async () => {
24340
+ const el = document.querySelector(".layout-navbars-tagsview-ul");
24341
+ if (!el) return false;
24342
+ state.sortable.el && state.sortable.destroy();
24343
+ state.sortable = Sortable.create(el, {
24344
+ animation: 300,
24345
+ dataIdAttr: "data-url",
24346
+ disabled: getThemeConfig.value.isSortableTagsView ? false : true,
24347
+ onEnd: () => {
24348
+ const sortEndList = [];
24349
+ state.sortable.toArray().map((val) => {
24350
+ state.tagsViewList.map((v) => {
24351
+ if (v.url === val) sortEndList.push({ ...v });
24352
+ });
24353
+ });
24354
+ addBrowserSetSession(sortEndList);
24355
+ }
24356
+ });
24357
+ };
24358
+ const onSortableResize = async () => {
24359
+ await initSortable();
24360
+ if (other.isMobile()) state.sortable.el && state.sortable.destroy();
24361
+ };
24362
+ vue.onBeforeMount(() => {
24363
+ onSortableResize();
24364
+ window.addEventListener("resize", onSortableResize);
24365
+ emitter.on("onCurrentContextmenuClick", (data) => {
24366
+ data.isFnClick = true;
24367
+ onCurrentContextmenuClick(data);
24368
+ });
24369
+ emitter.on("openOrCloseSortable", () => {
24370
+ initSortable();
24371
+ });
24372
+ emitter.on("openShareTagsView", () => {
24373
+ if (getThemeConfig.value.isShareTagsView) {
24374
+ router.push("/home");
24375
+ state.tagsViewList = [];
24376
+ state.tagsViewRoutesList.map((v) => {
24377
+ var _a;
24378
+ if (((_a = v.meta) == null ? void 0 : _a.isAffix) && !v.meta.isHide) {
24379
+ v.url = setTagsViewHighlight(v);
24380
+ state.tagsViewList.push({ ...v });
24381
+ }
24382
+ });
24383
+ }
24384
+ });
24385
+ });
24386
+ vue.onUnmounted(() => {
24387
+ emitter.off("onCurrentContextmenuClick", () => {
24388
+ });
24389
+ emitter.off("openOrCloseSortable", () => {
24390
+ });
24391
+ emitter.off("openShareTagsView", () => {
24392
+ });
24393
+ window.removeEventListener("resize", onSortableResize);
24394
+ });
24395
+ vue.onBeforeUpdate(() => {
24396
+ tagsRefs.value = [];
24397
+ });
24398
+ vue.onMounted(() => {
24399
+ getTagsViewRoutes();
24400
+ initSortable();
24401
+ });
24402
+ vueRouter.onBeforeRouteUpdate(async (to) => {
24403
+ state.routeActive = setTagsViewHighlight(to);
24404
+ state.routePath = to.meta.isDynamic ? to.meta.isDynamicPath : to.path;
24405
+ await addTagsView(to.path, to);
24406
+ getTagsRefsIndex(getThemeConfig.value.isShareTagsView ? state.routePath : state.routeActive);
24407
+ });
24408
+ vue.watch(
24409
+ () => tagsViewRoutes.value,
24410
+ (val) => {
24411
+ if (val.length === state.tagsViewRoutesList.length) return false;
24412
+ getTagsViewRoutes();
24413
+ },
24414
+ {
24415
+ deep: true
24416
+ }
24417
+ );
24418
+ return (_ctx, _cache) => {
24419
+ const _component_SvgIcon = vue.resolveComponent("SvgIcon");
24420
+ const _component_el_scrollbar = vue.resolveComponent("el-scrollbar");
24421
+ return vue.openBlock(), vue.createElementBlock(
24422
+ "div",
24423
+ {
24424
+ class: vue.normalizeClass(["layout-navbars-tagsview", { "layout-navbars-tagsview-shadow": getThemeConfig.value.layout === "classic" }])
24425
+ },
24426
+ [
24427
+ vue.createVNode(
24428
+ _component_el_scrollbar,
24429
+ {
24430
+ ref_key: "scrollbarRef",
24431
+ ref: scrollbarRef,
24432
+ onWheel: vue.withModifiers(onHandleScroll, ["prevent"])
24433
+ },
24434
+ {
24435
+ default: vue.withCtx(() => [
24436
+ vue.createElementVNode(
24437
+ "ul",
24438
+ {
24439
+ class: vue.normalizeClass(["layout-navbars-tagsview-ul", setTagsStyle.value]),
24440
+ ref_key: "tagsUlRef",
24441
+ ref: tagsUlRef
24442
+ },
24443
+ [
24444
+ (vue.openBlock(true), vue.createElementBlock(
24445
+ vue.Fragment,
24446
+ null,
24447
+ vue.renderList(state.tagsViewList, (v, k) => {
24448
+ return vue.openBlock(), vue.createElementBlock("li", {
24449
+ key: k,
24450
+ class: vue.normalizeClass(["layout-navbars-tagsview-ul-li", { "is-active": isActive(v) }]),
24451
+ "data-url": v.url,
24452
+ onContextmenu: vue.withModifiers(($event) => onContextmenu(v, $event), ["prevent"]),
24453
+ onMousedown: ($event) => onMousedownMenu(v, $event),
24454
+ onClick: ($event) => onTagsClick(v, k),
24455
+ ref_for: true,
24456
+ ref: (el) => {
24457
+ if (el) tagsRefs.value[k] = el;
24458
+ }
24459
+ }, [
24460
+ isActive(v) ? (vue.openBlock(), vue.createElementBlock("i", _hoisted_2$a)) : vue.createCommentVNode("v-if", true),
24461
+ getThemeConfig.value.isTagsviewIcon ? (vue.openBlock(), vue.createBlock(_component_SvgIcon, {
24462
+ key: 1,
24463
+ name: v.meta.icon,
24464
+ class: "pr5",
24465
+ size: 18
24466
+ }, null, 8, ["name"])) : vue.createCommentVNode("v-if", true),
24467
+ vue.createElementVNode(
24468
+ "span",
24469
+ null,
24470
+ vue.toDisplayString(setTagsViewNameI18n.value(v)),
24471
+ 1
24472
+ /* TEXT */
24473
+ ),
24474
+ isActive(v) ? (vue.openBlock(), vue.createElementBlock(
24475
+ vue.Fragment,
24476
+ { key: 2 },
24477
+ [
24478
+ vue.createVNode(_component_SvgIcon, {
24479
+ name: "ele-RefreshRight",
24480
+ class: "ml5 layout-navbars-tagsview-ul-li-refresh",
24481
+ onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => refreshCurrentTagsView(_ctx.$route.fullPath), ["stop"]))
24482
+ }),
24483
+ !v.meta.isAffix ? (vue.openBlock(), vue.createBlock(_component_SvgIcon, {
24484
+ key: 0,
24485
+ name: "ele-Close",
24486
+ class: "layout-navbars-tagsview-ul-li-icon layout-icon-active",
24487
+ onClick: vue.withModifiers(($event) => closeCurrentTagsView(getThemeConfig.value.isShareTagsView ? v.path : v.url), ["stop"])
24488
+ }, null, 8, ["onClick"])) : vue.createCommentVNode("v-if", true)
24489
+ ],
24490
+ 64
24491
+ /* STABLE_FRAGMENT */
24492
+ )) : vue.createCommentVNode("v-if", true),
24493
+ !v.meta.isAffix ? (vue.openBlock(), vue.createBlock(_component_SvgIcon, {
24494
+ key: 3,
24495
+ name: "ele-Close",
24496
+ class: "layout-navbars-tagsview-ul-li-icon layout-icon-three",
24497
+ onClick: vue.withModifiers(($event) => closeCurrentTagsView(getThemeConfig.value.isShareTagsView ? v.path : v.url), ["stop"])
24498
+ }, null, 8, ["onClick"])) : vue.createCommentVNode("v-if", true)
24499
+ ], 42, _hoisted_1$g);
24500
+ }),
24501
+ 128
24502
+ /* KEYED_FRAGMENT */
24503
+ ))
24504
+ ],
24505
+ 2
24506
+ /* CLASS */
24507
+ )
24508
+ ]),
24509
+ _: 1
24510
+ /* STABLE */
24511
+ },
24512
+ 512
24513
+ /* NEED_PATCH */
24514
+ ),
24515
+ vue.createVNode(vue.unref(Contextmenu), {
24516
+ dropdown: state.dropdown,
24517
+ ref_key: "contextmenuRef",
24518
+ ref: contextmenuRef,
24519
+ onCurrentContextmenuClick
24520
+ }, null, 8, ["dropdown"])
24521
+ ],
24522
+ 2
24523
+ /* CLASS */
24524
+ );
24525
+ };
24526
+ }
24527
+ });
24528
+
24529
+ var tagsView = /*#__PURE__*/Object.freeze({
24530
+ __proto__: null,
24531
+ default: _sfc_main$g
24532
+ });
24533
+
24534
+ const _hoisted_1$f = { class: "layout-columns-aside" };
24535
+ const _hoisted_2$9 = { class: "layout-logo" };
24536
+ const _hoisted_3$6 = ["src"];
24537
+ const _hoisted_4$3 = ["onClick", "onMouseenter", "title"];
24538
+ const _hoisted_5$3 = { class: "columns-vertical-title font12" };
24539
+ const _hoisted_6$2 = ["href"];
24540
+ const _hoisted_7$2 = { class: "columns-vertical-title font12" };
24541
+ var _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
24542
+ __name: "columnsAside",
24543
+ setup(__props) {
24544
+ const columnsAsideOffsetTopRefs = vue.ref([]);
24545
+ const columnsAsideActiveRef = vue.ref();
24546
+ const stores = useRoutesList();
24547
+ const storesThemeConfig = useThemeConfig();
24548
+ const { routesList, isColumnsMenuHover, isColumnsNavHover } = pinia$1.storeToRefs(stores);
24549
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
24550
+ const route = vueRouter.useRoute();
24551
+ const router = vueRouter.useRouter();
24552
+ const state = vue.reactive({
24553
+ columnsAsideList: [],
24554
+ liIndex: 0,
24555
+ liOldIndex: null,
24556
+ liHoverIndex: null,
24557
+ liOldPath: null,
24558
+ difference: 0,
24559
+ routeSplit: []
24560
+ });
24561
+ const setColumnsAsideMove = (k) => {
24562
+ if (k === void 0) return false;
24563
+ state.liIndex = k;
24564
+ columnsAsideActiveRef.value.style.top = `${columnsAsideOffsetTopRefs.value[k].offsetTop + state.difference}px`;
24565
+ };
24566
+ const onColumnsAsideMenuClick = async (v) => {
24567
+ var _a, _b, _c;
24568
+ let { path, redirect } = v;
24569
+ if (redirect) {
24570
+ onColumnsAsideDown(v.k);
24571
+ if (route.path.startsWith(redirect)) emitter.emit("setSendColumnsChildren", setSendChildren(redirect));
24572
+ else router.push(redirect);
24573
+ } else {
24574
+ if (!v.children || ((_a = v.children) == null ? void 0 : _a.length) === 0) {
24575
+ router.push(path);
24576
+ onColumnsAsideDown(v.k);
24577
+ } else {
24578
+ const resData = setSendChildren(path);
24579
+ if (Object.keys(resData).length <= 0) return false;
24580
+ onColumnsAsideDown((_b = resData.item) == null ? void 0 : _b.k);
24581
+ emitter.emit("setSendColumnsChildren", resData);
24582
+ }
24583
+ }
24584
+ if (!v.children || ((_c = v.children) == null ? void 0 : _c.length) === 0) themeConfig.value.isCollapse = true;
24585
+ else if (v.children.length > 1) themeConfig.value.isCollapse = false;
24586
+ };
24587
+ const onColumnsAsideMenuMouseenter = (v, k) => {
24588
+ if (!themeConfig.value.isColumnsMenuHoverPreload) return false;
24589
+ let { path } = v;
24590
+ state.liOldPath = path;
24591
+ state.liOldIndex = k;
24592
+ state.liHoverIndex = k;
24593
+ emitter.emit("setSendColumnsChildren", setSendChildren(path));
24594
+ stores.setColumnsMenuHover(false);
24595
+ stores.setColumnsNavHover(true);
24596
+ };
24597
+ const onColumnsAsideMenuMouseleave = async () => {
24598
+ if (!themeConfig.value.isColumnsMenuHoverPreload) return false;
24599
+ await stores.setColumnsNavHover(false);
24600
+ setTimeout(() => {
24601
+ if (!isColumnsMenuHover && !isColumnsNavHover) emitter.emit("restoreDefault");
24602
+ }, 100);
24603
+ };
24604
+ const onColumnsAsideDown = (k) => {
24605
+ vue.nextTick(() => {
24606
+ setColumnsAsideMove(k);
24607
+ });
24608
+ };
24609
+ const setMenuAutoCollaps = (path) => {
24610
+ var _a, _b;
24611
+ const resData = setSendChildren(path);
24612
+ !((_a = resData.item) == null ? void 0 : _a.redirect) && resData.children.length == 0 || ((_b = resData.item) == null ? void 0 : _b.redirect) && resData.children.length <= 1 ? themeConfig.value.isCollapse = true : themeConfig.value.isCollapse = false;
24613
+ return resData;
24614
+ };
24615
+ const setFilterRoutes = () => {
24616
+ var _a;
24617
+ state.columnsAsideList = filterRoutesFun(routesList.value);
24618
+ const resData = setMenuAutoCollaps(route.path);
24619
+ onColumnsAsideDown((_a = resData.item) == null ? void 0 : _a.k);
24620
+ setTimeout(() => {
24621
+ emitter.emit("setSendColumnsChildren", resData);
24622
+ }, 500);
24623
+ };
24624
+ const setSendChildren = (path) => {
24625
+ const currentPathSplit = path.split("/");
24626
+ let currentData = { children: [] };
24627
+ state.columnsAsideList.map((v, k) => {
24628
+ if (v.path === `/${currentPathSplit[1]}`) {
24629
+ v["k"] = k;
24630
+ currentData["item"] = { ...v };
24631
+ currentData["children"] = [{ ...v }];
24632
+ if (v.children) currentData["children"] = v.children;
24633
+ }
24634
+ });
24635
+ return currentData;
24636
+ };
24637
+ const filterRoutesFun = (arr) => {
24638
+ return arr.filter((item) => {
24639
+ var _a;
24640
+ return !((_a = item.meta) == null ? void 0 : _a.isHide);
24641
+ }).map((item) => {
24642
+ item = Object.assign({}, item);
24643
+ if (item.children) item.children = filterRoutesFun(item.children);
24644
+ return item;
24645
+ });
24646
+ };
24647
+ const setColumnsMenuHighlight = (path) => {
24648
+ state.routeSplit = path.split("/");
24649
+ state.routeSplit.shift();
24650
+ const routeFirst = `/${state.routeSplit[0]}`;
24651
+ const currentSplitRoute = state.columnsAsideList.find((v) => v.path === routeFirst);
24652
+ if (!currentSplitRoute) return false;
24653
+ setTimeout(() => {
24654
+ onColumnsAsideDown(currentSplitRoute.k);
24655
+ }, 0);
24656
+ };
24657
+ vue.onMounted(() => {
24658
+ setFilterRoutes();
24659
+ emitter.on("restoreDefault", () => {
24660
+ state.liOldIndex = null;
24661
+ state.liOldPath = null;
24662
+ });
24663
+ });
24664
+ vue.onUnmounted(() => {
24665
+ emitter.off("restoreDefault", () => {
24666
+ });
24667
+ });
24668
+ vueRouter.onBeforeRouteUpdate((to) => {
24669
+ const resData = setMenuAutoCollaps(to.path);
24670
+ setColumnsMenuHighlight(to.path);
24671
+ emitter.emit("setSendColumnsChildren", resData);
24672
+ });
24673
+ vue.watch(
24674
+ [() => themeConfig.value.columnsAsideStyle, isColumnsMenuHover, isColumnsNavHover],
24675
+ () => {
24676
+ themeConfig.value.columnsAsideStyle === "columnsRound" ? state.difference = 3 : state.difference = 0;
24677
+ if (!isColumnsMenuHover.value && !isColumnsNavHover.value) {
24678
+ state.liHoverIndex = null;
24679
+ emitter.emit("setSendColumnsChildren", setSendChildren(route.path));
24680
+ } else {
24681
+ state.liHoverIndex = state.liOldIndex;
24682
+ if (!state.liOldPath) return false;
24683
+ emitter.emit("setSendColumnsChildren", setSendChildren(state.liOldPath));
24684
+ }
24685
+ },
24686
+ {
24687
+ deep: true
24688
+ }
24689
+ );
24690
+ return (_ctx, _cache) => {
24691
+ const _component_SvgIcon = vue.resolveComponent("SvgIcon");
24692
+ const _component_el_scrollbar = vue.resolveComponent("el-scrollbar");
24693
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
24694
+ vue.createElementVNode("div", _hoisted_2$9, [
24695
+ vue.createElementVNode("img", {
24696
+ src: vue.unref(themeConfig).logoUrl,
24697
+ class: "layout-logo-medium-img"
24698
+ }, null, 8, _hoisted_3$6)
24699
+ ]),
24700
+ vue.createVNode(_component_el_scrollbar, null, {
24701
+ default: vue.withCtx(() => [
24702
+ vue.createElementVNode(
24703
+ "ul",
24704
+ {
24705
+ onMouseleave: _cache[0] || (_cache[0] = ($event) => onColumnsAsideMenuMouseleave())
24706
+ },
24707
+ [
24708
+ (vue.openBlock(true), vue.createElementBlock(
24709
+ vue.Fragment,
24710
+ null,
24711
+ vue.renderList(state.columnsAsideList, (v, k) => {
24712
+ return vue.openBlock(), vue.createElementBlock("li", {
24713
+ key: k,
24714
+ onClick: ($event) => onColumnsAsideMenuClick(v),
24715
+ onMouseenter: ($event) => onColumnsAsideMenuMouseenter(v, k),
24716
+ ref_for: true,
24717
+ ref: (el) => {
24718
+ if (el) columnsAsideOffsetTopRefs.value[k] = el;
24719
+ },
24720
+ class: vue.normalizeClass({ "layout-columns-active": state.liIndex === k, "layout-columns-hover": state.liHoverIndex === k }),
24721
+ title: _ctx.$t(`message.menu.${v.meta.title}`)
24722
+ }, [
24723
+ !v.meta.isLink || v.meta.isLink && v.meta.isIframe ? (vue.openBlock(), vue.createElementBlock(
24724
+ "div",
24725
+ {
24726
+ key: 0,
24727
+ class: vue.normalizeClass(vue.unref(themeConfig).columnsAsideLayout)
24728
+ },
24729
+ [
24730
+ vue.createVNode(_component_SvgIcon, {
24731
+ name: v.meta.icon
24732
+ }, null, 8, ["name"]),
24733
+ vue.createElementVNode(
24734
+ "div",
24735
+ _hoisted_5$3,
24736
+ vue.toDisplayString(_ctx.$t(`message.menu.${v.meta.title}`)),
24737
+ 1
24738
+ /* TEXT */
24739
+ )
24740
+ ],
24741
+ 2
24742
+ /* CLASS */
24743
+ )) : (vue.openBlock(), vue.createElementBlock(
24744
+ "div",
24745
+ {
24746
+ key: 1,
24747
+ class: vue.normalizeClass(vue.unref(themeConfig).columnsAsideLayout)
24748
+ },
24749
+ [
24750
+ vue.createElementVNode("a", {
24751
+ href: v.meta.isLink,
24752
+ target: "_blank"
24753
+ }, [
24754
+ vue.createVNode(_component_SvgIcon, {
24755
+ name: v.meta.icon
24756
+ }, null, 8, ["name"]),
24757
+ vue.createElementVNode(
24758
+ "div",
24759
+ _hoisted_7$2,
24760
+ vue.toDisplayString(_ctx.$t(`message.menu.${v.meta.title}`)),
24761
+ 1
24762
+ /* TEXT */
24763
+ )
24764
+ ], 8, _hoisted_6$2)
24765
+ ],
24766
+ 2
24767
+ /* CLASS */
24768
+ ))
24769
+ ], 42, _hoisted_4$3);
24770
+ }),
24771
+ 128
24772
+ /* KEYED_FRAGMENT */
24773
+ )),
24774
+ vue.createElementVNode(
24775
+ "div",
24776
+ {
24777
+ ref_key: "columnsAsideActiveRef",
24778
+ ref: columnsAsideActiveRef,
24779
+ class: vue.normalizeClass(vue.unref(themeConfig).columnsAsideStyle)
24780
+ },
24781
+ null,
24782
+ 2
24783
+ /* CLASS */
24784
+ )
24785
+ ],
24786
+ 32
24787
+ /* NEED_HYDRATION */
24788
+ )
24789
+ ]),
24790
+ _: 1
24791
+ /* STABLE */
24792
+ })
24793
+ ]);
24794
+ };
24795
+ }
24796
+ });
24797
+
24798
+ var columnsAside = /*#__PURE__*/Object.freeze({
24799
+ __proto__: null,
24800
+ default: _sfc_main$f
24801
+ });
24802
+
24803
+ const _hoisted_1$e = ["src"];
24804
+ const _hoisted_2$8 = ["src"];
24805
+ var _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
24806
+ __name: "index",
24807
+ setup(__props) {
24808
+ const storesThemeConfig = useThemeConfig();
24809
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
24810
+ const setShowLogo = vue.computed(() => {
24811
+ let { isCollapse, layout } = themeConfig.value;
24812
+ return !isCollapse || layout === "classic" || document.body.clientWidth < 1e3;
24813
+ });
24814
+ const showLogo = vue.computed(() => {
24815
+ let { layout } = themeConfig.value;
24816
+ return layout !== "columns";
24817
+ });
24818
+ const onThemeConfigChange = () => {
24819
+ if (themeConfig.value.layout === "transverse") return false;
24820
+ themeConfig.value.isCollapse = !themeConfig.value.isCollapse;
24821
+ };
24822
+ return (_ctx, _cache) => {
24823
+ return setShowLogo.value ? (vue.openBlock(), vue.createElementBlock("div", {
24824
+ key: 0,
24825
+ class: "layout-logo",
24826
+ onClick: onThemeConfigChange
24827
+ }, [
24828
+ showLogo.value ? (vue.openBlock(), vue.createElementBlock("img", {
24829
+ key: 0,
24830
+ src: vue.unref(themeConfig).logoUrl,
24831
+ class: "layout-logo-medium-img"
24832
+ }, null, 8, _hoisted_1$e)) : vue.createCommentVNode("v-if", true),
24833
+ vue.createElementVNode(
24834
+ "span",
24835
+ null,
24836
+ vue.toDisplayString(vue.unref(themeConfig).globalTitle),
24837
+ 1
24838
+ /* TEXT */
24839
+ )
24840
+ ])) : (vue.openBlock(), vue.createElementBlock("div", {
24841
+ key: 1,
24842
+ class: "layout-logo-size",
24843
+ onClick: onThemeConfigChange
24844
+ }, [
24845
+ vue.createElementVNode("img", {
24846
+ src: vue.unref(themeConfig).logoUrl,
24847
+ class: "layout-logo-size-img"
24848
+ }, null, 8, _hoisted_2$8)
24849
+ ]));
24850
+ };
24851
+ }
24852
+ });
24853
+
24854
+ var index$3 = /*#__PURE__*/Object.freeze({
24855
+ __proto__: null,
24856
+ default: _sfc_main$e
24857
+ });
24858
+
24859
+ const _hoisted_1$d = ["onClick"];
24860
+ var _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
24861
+ __name: "vertical",
24862
+ props: {
24863
+ // 菜单列表
24864
+ menuList: {
24865
+ type: Array,
24866
+ default: () => []
24867
+ }
24868
+ },
24869
+ setup(__props) {
24870
+ const SubItem = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return subItem; }));
24871
+ const props = __props;
24872
+ const storesThemeConfig = useThemeConfig();
24873
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
24874
+ const route = vueRouter.useRoute();
24875
+ const state = vue.reactive({
24876
+ // 修复:
24877
+ defaultActive: route.meta.isDynamic ? route.meta.isDynamicPath : route.path,
24878
+ isCollapse: false
24879
+ });
24880
+ const menuLists = vue.computed(() => {
24881
+ return props.menuList;
24882
+ });
24883
+ const getThemeConfig = vue.computed(() => {
24884
+ return themeConfig.value;
24885
+ });
24886
+ const setParentHighlight = (currentRoute) => {
24887
+ const { path, meta } = currentRoute;
24888
+ const pathSplit = (meta == null ? void 0 : meta.isDynamic) ? meta.isDynamicPath.split("/") : path.split("/");
24889
+ if (pathSplit.length >= 4 && (meta == null ? void 0 : meta.isHide)) return pathSplit.splice(0, 3).join("/");
24890
+ else return path;
24891
+ };
24892
+ const onALinkClick = (val) => {
24893
+ other.handleOpenLink(val);
24894
+ };
24895
+ vue.onMounted(() => {
24896
+ state.defaultActive = setParentHighlight(route);
24897
+ });
24898
+ vueRouter.onBeforeRouteUpdate((to) => {
24899
+ state.defaultActive = setParentHighlight(to);
24900
+ const clientWidth = document.body.clientWidth;
24901
+ if (clientWidth < 1e3) themeConfig.value.isCollapse = false;
24902
+ });
24903
+ vue.watch(
24904
+ () => themeConfig.value.isCollapse,
24905
+ (isCollapse) => {
24906
+ document.body.clientWidth <= 1e3 ? state.isCollapse = false : state.isCollapse = isCollapse;
24907
+ },
24908
+ {
24909
+ immediate: true
24910
+ }
24911
+ );
24912
+ return (_ctx, _cache) => {
24913
+ const _component_SvgIcon = vue.resolveComponent("SvgIcon");
24914
+ const _component_el_sub_menu = vue.resolveComponent("el-sub-menu");
24915
+ const _component_el_menu_item = vue.resolveComponent("el-menu-item");
24916
+ const _component_el_menu = vue.resolveComponent("el-menu");
24917
+ return vue.openBlock(), vue.createBlock(_component_el_menu, {
24918
+ router: "",
24919
+ "default-active": state.defaultActive,
24920
+ "background-color": "transparent",
24921
+ collapse: state.isCollapse,
24922
+ "unique-opened": getThemeConfig.value.isUniqueOpened,
24923
+ "collapse-transition": false
24924
+ }, {
24925
+ default: vue.withCtx(() => [
24926
+ (vue.openBlock(true), vue.createElementBlock(
24927
+ vue.Fragment,
24928
+ null,
24929
+ vue.renderList(menuLists.value, (val) => {
24930
+ return vue.openBlock(), vue.createElementBlock(
24931
+ vue.Fragment,
24932
+ null,
24933
+ [
24934
+ val.children && val.children.length > 0 ? (vue.openBlock(), vue.createBlock(_component_el_sub_menu, {
24935
+ index: val.path,
24936
+ key: val.path
24937
+ }, {
24938
+ title: vue.withCtx(() => [
24939
+ vue.createVNode(_component_SvgIcon, {
24940
+ name: val.meta.icon
24941
+ }, null, 8, ["name"]),
24942
+ vue.createCommentVNode(" <span>{{ $t(val.meta.title) }}</span> "),
24943
+ vue.createElementVNode(
24944
+ "span",
24945
+ null,
24946
+ vue.toDisplayString(_ctx.$t(`message.menu.${val.meta.title}`)),
24947
+ 1
24948
+ /* TEXT */
24949
+ )
24950
+ ]),
24951
+ default: vue.withCtx(() => [
24952
+ vue.createVNode(vue.unref(SubItem), {
24953
+ chil: val.children
24954
+ }, null, 8, ["chil"])
24955
+ ]),
24956
+ _: 2
24957
+ /* DYNAMIC */
24958
+ }, 1032, ["index"])) : (vue.openBlock(), vue.createBlock(_component_el_menu_item, {
24959
+ index: val.path,
24960
+ key: val.path
24961
+ }, vue.createSlots({
24962
+ default: vue.withCtx(() => [
24963
+ vue.createVNode(_component_SvgIcon, {
24964
+ name: val.meta.icon
24965
+ }, null, 8, ["name"])
24966
+ ]),
24967
+ _: 2
24968
+ /* DYNAMIC */
24969
+ }, [
24970
+ !val.meta.isLink || val.meta.isLink && val.meta.isIframe ? {
24971
+ name: "title",
24972
+ fn: vue.withCtx(() => [
24973
+ vue.createCommentVNode(" <span>{{ $t(val.meta.title) }}</span> "),
24974
+ vue.createElementVNode(
24975
+ "span",
24976
+ null,
24977
+ vue.toDisplayString(_ctx.$t(`message.menu.${val.meta.title}`)),
24978
+ 1
24979
+ /* TEXT */
24980
+ )
24981
+ ]),
24982
+ key: "0"
24983
+ } : {
24984
+ name: "title",
24985
+ fn: vue.withCtx(() => [
24986
+ vue.createElementVNode("a", {
24987
+ class: "w100",
24988
+ onClick: vue.withModifiers(($event) => onALinkClick(val), ["prevent"])
24989
+ }, vue.toDisplayString(_ctx.$t(`message.menu.${val.meta.title}`)), 9, _hoisted_1$d)
24990
+ ]),
24991
+ key: "1"
24992
+ }
24993
+ ]), 1032, ["index"]))
24994
+ ],
24995
+ 64
24996
+ /* STABLE_FRAGMENT */
24997
+ );
24998
+ }),
24999
+ 256
25000
+ /* UNKEYED_FRAGMENT */
25001
+ ))
25002
+ ]),
25003
+ _: 1
25004
+ /* STABLE */
25005
+ }, 8, ["default-active", "collapse", "unique-opened"]);
25006
+ };
25007
+ }
25008
+ });
25009
+
25010
+ var vertical = /*#__PURE__*/Object.freeze({
25011
+ __proto__: null,
25012
+ default: _sfc_main$d
25013
+ });
25014
+
25015
+ const _hoisted_1$c = { class: "layout-navbars-container" };
25016
+ var _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
25017
+ __name: "index",
25018
+ setup(__props) {
25019
+ const BreadcrumbIndex = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return index; }));
25020
+ const TagsView = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return tagsView; }));
25021
+ const storesThemeConfig = useThemeConfig();
25022
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
25023
+ const setShowTagsView = vue.computed(() => {
25024
+ let { layout, isTagsview } = themeConfig.value;
25025
+ return layout !== "classic" && isTagsview;
25026
+ });
25027
+ return (_ctx, _cache) => {
25028
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
25029
+ !_ctx.$slots.breadcrumb ? (vue.openBlock(), vue.createBlock(vue.unref(BreadcrumbIndex), { key: 0 }, {
25030
+ default: vue.withCtx(() => [
25031
+ (vue.openBlock(true), vue.createElementBlock(
25032
+ vue.Fragment,
25033
+ null,
25034
+ vue.renderList(_ctx.$slots, (_, name) => {
25035
+ return vue.renderSlot(_ctx.$slots, name, vue.mergeProps({
25036
+ key: name,
25037
+ ref_for: true
25038
+ }, _ctx.$slots[name].props || {}));
25039
+ }),
25040
+ 128
25041
+ /* KEYED_FRAGMENT */
25042
+ ))
25043
+ ]),
25044
+ _: 3
25045
+ /* FORWARDED */
25046
+ })) : vue.renderSlot(_ctx.$slots, "breadcrumb", { key: 1 }),
25047
+ setShowTagsView.value ? (vue.openBlock(), vue.createBlock(vue.unref(TagsView), { key: 2 })) : vue.createCommentVNode("v-if", true)
25048
+ ]);
25049
+ };
25050
+ }
25051
+ });
25052
+
25053
+ var index$2 = /*#__PURE__*/Object.freeze({
25054
+ __proto__: null,
25055
+ default: _sfc_main$c
25056
+ });
25057
+
25058
+ const _hoisted_1$b = { class: "layout-parent" };
25059
+ var _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
25060
+ __name: "parent",
25061
+ setup(__props) {
25062
+ const Iframes = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return iframes; }));
25063
+ const route = vueRouter.useRoute();
25064
+ const router = vueRouter.useRouter();
25065
+ const storesKeepAliveNames = useKeepALiveNames();
25066
+ const storesThemeConfig = useThemeConfig();
25067
+ const { keepAliveNames, cachedViews } = pinia$1.storeToRefs(storesKeepAliveNames);
25068
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
25069
+ const state = vue.reactive({
25070
+ refreshRouterViewKey: "",
25071
+ // 非 iframe tagsview 右键菜单刷新时
25072
+ iframeRefreshKey: "",
25073
+ // iframe tagsview 右键菜单刷新时
25074
+ keepAliveNameList: [],
25075
+ iframeList: []
25076
+ });
25077
+ const setTransitionName = vue.computed(() => {
25078
+ return themeConfig.value.animation;
25079
+ });
25080
+ const getKeepAliveNames = vue.computed(() => {
25081
+ return themeConfig.value.isTagsview ? cachedViews.value : state.keepAliveNameList;
25082
+ });
25083
+ const isIframePage = vue.computed(() => {
25084
+ return route.meta.isIframe;
25085
+ });
25086
+ const getIframeListRoutes = async () => {
25087
+ router.getRoutes().forEach((v) => {
25088
+ if (v.meta.isIframe) {
25089
+ v.meta.isIframeOpen = false;
25090
+ v.meta.loading = true;
25091
+ state.iframeList.push({ ...v });
25092
+ }
25093
+ });
25094
+ };
25095
+ vue.onBeforeMount(() => {
25096
+ state.keepAliveNameList = keepAliveNames.value;
25097
+ emitter.on("onTagsViewRefreshRouterView", (fullPath) => {
25098
+ var _a;
25099
+ const cacheList = cachedViews.value;
25100
+ if (route.meta.isKeepAlive) cachedViews.value = (_a = cachedViews.value) == null ? void 0 : _a.filter((name) => route.name !== name);
25101
+ state.keepAliveNameList = keepAliveNames.value.filter((name) => route.name !== name);
25102
+ state.refreshRouterViewKey = "";
25103
+ state.iframeRefreshKey = "";
25104
+ vue.nextTick(() => {
25105
+ if (route.meta.isKeepAlive) cachedViews.value = cacheList;
25106
+ state.keepAliveNameList = keepAliveNames.value;
25107
+ state.refreshRouterViewKey = fullPath;
25108
+ state.iframeRefreshKey = fullPath;
25109
+ });
25110
+ });
25111
+ });
25112
+ vue.onMounted(() => {
25113
+ getIframeListRoutes();
25114
+ vue.nextTick(() => {
25115
+ setTimeout(() => {
25116
+ if (themeConfig.value.isCacheTagsView) {
25117
+ let tagsViewArr = Session.get("tagsViewList") || [];
25118
+ cachedViews.value = tagsViewArr.filter((item) => {
25119
+ var _a;
25120
+ return (_a = item.meta) == null ? void 0 : _a.isKeepAlive;
25121
+ }).map((item) => item.name);
25122
+ }
25123
+ }, 0);
25124
+ });
25125
+ });
25126
+ vue.onUnmounted(() => {
25127
+ emitter.off("onTagsViewRefreshRouterView", () => {
25128
+ });
25129
+ });
25130
+ vue.watch(
25131
+ () => route.fullPath,
25132
+ () => {
25133
+ state.refreshRouterViewKey = decodeURI(route.fullPath);
25134
+ },
25135
+ {
25136
+ immediate: true
25137
+ }
25138
+ );
25139
+ return (_ctx, _cache) => {
25140
+ const _component_router_view = vue.resolveComponent("router-view");
25141
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
25142
+ vue.createVNode(_component_router_view, null, {
25143
+ default: vue.withCtx(({ Component }) => [
25144
+ vue.createVNode(vue.Transition, {
25145
+ name: setTransitionName.value,
25146
+ mode: "out-in"
25147
+ }, {
25148
+ default: vue.withCtx(() => [
25149
+ (vue.openBlock(), vue.createBlock(vue.KeepAlive, { include: getKeepAliveNames.value }, [
25150
+ vue.withDirectives((vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(Component), {
25151
+ key: state.refreshRouterViewKey,
25152
+ class: "w100"
25153
+ })), [
25154
+ [vue.vShow, !isIframePage.value]
25155
+ ])
25156
+ ], 1032, ["include"]))
25157
+ ]),
25158
+ _: 2
25159
+ /* DYNAMIC */
25160
+ }, 1032, ["name"])
25161
+ ]),
25162
+ _: 1
25163
+ /* STABLE */
25164
+ }),
25165
+ vue.createVNode(vue.Transition, {
25166
+ name: setTransitionName.value,
25167
+ mode: "out-in",
25168
+ persisted: ""
25169
+ }, {
25170
+ default: vue.withCtx(() => [
25171
+ vue.withDirectives(vue.createVNode(vue.unref(Iframes), {
25172
+ class: "w100",
25173
+ refreshKey: state.iframeRefreshKey,
25174
+ name: setTransitionName.value,
25175
+ list: state.iframeList
25176
+ }, null, 8, ["refreshKey", "name", "list"]), [
25177
+ [vue.vShow, isIframePage.value]
25178
+ ])
25179
+ ]),
25180
+ _: 1
25181
+ /* STABLE */
25182
+ }, 8, ["name"])
25183
+ ]);
25184
+ };
25185
+ }
25186
+ });
25187
+
25188
+ var parent = /*#__PURE__*/Object.freeze({
25189
+ __proto__: null,
25190
+ default: _sfc_main$b
25191
+ });
25192
+
25193
+ const _hoisted_1$a = { class: "layout-footer mb5" };
25194
+ const _hoisted_2$7 = { class: "layout-footer-warp" };
25195
+ var _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
25196
+ __name: "index",
25197
+ setup(__props) {
25198
+ const storesThemeConfig = useThemeConfig();
25199
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
25200
+ return (_ctx, _cache) => {
25201
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
25202
+ vue.createElementVNode("div", _hoisted_2$7, [
25203
+ vue.createElementVNode(
25204
+ "div",
25205
+ null,
25206
+ vue.toDisplayString(vue.unref(themeConfig).globalTitle) + " " + vue.toDisplayString(vue.unref(themeConfig).copyright),
25207
+ 1
25208
+ /* TEXT */
25209
+ )
25210
+ ])
25211
+ ]);
25212
+ };
25213
+ }
25214
+ });
25215
+
25216
+ var index$1 = /*#__PURE__*/Object.freeze({
25217
+ __proto__: null,
25218
+ default: _sfc_main$a
25219
+ });
25220
+
25221
+ const _hoisted_1$9 = ["aria-hidden"];
25222
+ const _hoisted_2$6 = { class: "el-dropdown-menu" };
25223
+ const _hoisted_3$5 = ["onClick"];
25224
+ var _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
25225
+ __name: "contextmenu",
25226
+ props: {
25227
+ dropdown: {
25228
+ type: Object,
25229
+ default: () => {
25230
+ return {
25231
+ x: 0,
25232
+ y: 0
25233
+ };
25234
+ }
25235
+ }
25236
+ },
25237
+ emits: ["currentContextmenuClick"],
25238
+ setup(__props, { expose: __expose, emit: __emit }) {
25239
+ const props = __props;
25240
+ const emit = __emit;
25241
+ const state = vue.reactive({
25242
+ isShow: false,
25243
+ dropdownList: [
25244
+ { contextMenuClickId: 0, txt: "message.tagsView.refresh", affix: false, icon: "ele-RefreshRight" },
25245
+ { contextMenuClickId: 1, txt: "message.tagsView.close", affix: false, icon: "ele-Close" },
25246
+ { contextMenuClickId: 2, txt: "message.tagsView.closeOther", affix: false, icon: "ele-CircleClose" },
25247
+ { contextMenuClickId: 3, txt: "message.tagsView.closeAll", affix: false, icon: "ele-FolderDelete" },
25248
+ {
25249
+ contextMenuClickId: 4,
25250
+ txt: "message.tagsView.fullscreen",
25251
+ affix: false,
25252
+ icon: "iconfont icon-fullscreen"
25253
+ }
25254
+ ],
25255
+ item: {},
25256
+ arrowLeft: 10
25257
+ });
25258
+ const dropdowns = vue.computed(() => {
25259
+ if (props.dropdown.x + 117 > document.documentElement.clientWidth) {
25260
+ return {
25261
+ x: document.documentElement.clientWidth - 117 - 5,
25262
+ y: props.dropdown.y
25263
+ };
25264
+ } else {
25265
+ return props.dropdown;
25266
+ }
25267
+ });
25268
+ const onCurrentContextmenuClick = (contextMenuClickId) => {
25269
+ emit("currentContextmenuClick", Object.assign({}, { contextMenuClickId }, state.item));
25270
+ };
25271
+ const openContextmenu = (item) => {
25272
+ var _a;
25273
+ state.item = item;
25274
+ ((_a = item.meta) == null ? void 0 : _a.isAffix) ? state.dropdownList[1].affix = true : state.dropdownList[1].affix = false;
25275
+ closeContextmenu();
25276
+ setTimeout(() => {
25277
+ state.isShow = true;
25278
+ }, 10);
25279
+ };
25280
+ const closeContextmenu = () => {
25281
+ state.isShow = false;
25282
+ };
25283
+ vue.onMounted(() => {
25284
+ document.body.addEventListener("click", closeContextmenu);
25285
+ });
25286
+ vue.onUnmounted(() => {
25287
+ document.body.removeEventListener("click", closeContextmenu);
25288
+ });
25289
+ vue.watch(
25290
+ () => props.dropdown,
25291
+ ({ x }) => {
25292
+ if (x + 117 > document.documentElement.clientWidth) state.arrowLeft = 117 - (document.documentElement.clientWidth - x);
25293
+ else state.arrowLeft = 10;
25294
+ },
25295
+ {
25296
+ deep: true
25297
+ }
25298
+ );
25299
+ __expose({
25300
+ openContextmenu
25301
+ });
25302
+ return (_ctx, _cache) => {
25303
+ const _component_SvgIcon = vue.resolveComponent("SvgIcon");
25304
+ return vue.openBlock(), vue.createBlock(vue.Transition, {
25305
+ name: "el-collapse-transition",
25306
+ persisted: ""
25307
+ }, {
25308
+ default: vue.withCtx(() => [
25309
+ vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
25310
+ "aria-hidden": state.isShow ? false : true,
25311
+ class: "el-dropdown__popper el-popper is-light is-pure custom-contextmenu",
25312
+ role: "tooltip",
25313
+ "data-popper-placement": "bottom",
25314
+ style: vue.normalizeStyle(`top: ${dropdowns.value.y + 5}px;left: ${dropdowns.value.x}px;`),
25315
+ key: Math.random()
25316
+ }, [
25317
+ vue.createElementVNode("ul", _hoisted_2$6, [
25318
+ (vue.openBlock(true), vue.createElementBlock(
25319
+ vue.Fragment,
25320
+ null,
25321
+ vue.renderList(state.dropdownList, (v, k) => {
25322
+ return vue.openBlock(), vue.createElementBlock(
25323
+ vue.Fragment,
25324
+ null,
25325
+ [
25326
+ !v.affix ? (vue.openBlock(), vue.createElementBlock("li", {
25327
+ class: "el-dropdown-menu__item",
25328
+ "aria-disabled": "false",
25329
+ tabindex: "-1",
25330
+ key: k,
25331
+ onClick: ($event) => onCurrentContextmenuClick(v.contextMenuClickId)
25332
+ }, [
25333
+ vue.createVNode(_component_SvgIcon, {
25334
+ name: v.icon
25335
+ }, null, 8, ["name"]),
25336
+ vue.createElementVNode(
25337
+ "span",
25338
+ null,
25339
+ vue.toDisplayString(_ctx.$t(v.txt)),
25340
+ 1
25341
+ /* TEXT */
25342
+ )
25343
+ ], 8, _hoisted_3$5)) : vue.createCommentVNode("v-if", true)
25344
+ ],
25345
+ 64
25346
+ /* STABLE_FRAGMENT */
25347
+ );
25348
+ }),
25349
+ 256
25350
+ /* UNKEYED_FRAGMENT */
25351
+ ))
25352
+ ]),
25353
+ vue.createElementVNode(
25354
+ "div",
25355
+ {
25356
+ class: "el-popper__arrow",
25357
+ style: vue.normalizeStyle({ left: `${state.arrowLeft}px` })
25358
+ },
25359
+ null,
25360
+ 4
25361
+ /* STYLE */
25362
+ )
25363
+ ], 12, _hoisted_1$9)), [
25364
+ [vue.vShow, state.isShow]
25365
+ ])
25366
+ ]),
25367
+ _: 1
25368
+ /* STABLE */
25369
+ });
25370
+ };
25371
+ }
25372
+ });
25373
+
25374
+ var contextmenu = /*#__PURE__*/Object.freeze({
25375
+ __proto__: null,
25376
+ default: _sfc_main$9
25377
+ });
25378
+
25379
+ const _hoisted_1$8 = ["onClick"];
25380
+ var _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
25381
+ __name: "subItem",
25382
+ props: {
25383
+ // 菜单列表
25384
+ chil: {
25385
+ type: Array,
25386
+ default: () => []
25387
+ }
25388
+ },
25389
+ setup(__props) {
25390
+ const props = __props;
25391
+ const chils = vue.computed(() => {
25392
+ return props.chil;
25393
+ });
25394
+ const onALinkClick = (val) => {
25395
+ other.handleOpenLink(val);
25396
+ };
25397
+ return (_ctx, _cache) => {
25398
+ const _component_SvgIcon = vue.resolveComponent("SvgIcon");
25399
+ const _component_sub_item = vue.resolveComponent("sub-item", true);
25400
+ const _component_el_sub_menu = vue.resolveComponent("el-sub-menu");
25401
+ const _component_el_menu_item = vue.resolveComponent("el-menu-item");
25402
+ return vue.openBlock(true), vue.createElementBlock(
25403
+ vue.Fragment,
25404
+ null,
25405
+ vue.renderList(chils.value, (val) => {
25406
+ return vue.openBlock(), vue.createElementBlock(
25407
+ vue.Fragment,
25408
+ null,
25409
+ [
25410
+ val.children && val.children.length > 0 ? (vue.openBlock(), vue.createBlock(_component_el_sub_menu, {
25411
+ index: val.path,
25412
+ key: val.path
25413
+ }, {
25414
+ title: vue.withCtx(() => [
25415
+ vue.createVNode(_component_SvgIcon, {
25416
+ name: val.meta.icon,
25417
+ style: { "font-size": "16px" }
25418
+ }, null, 8, ["name"]),
25419
+ vue.createElementVNode(
25420
+ "span",
25421
+ null,
25422
+ vue.toDisplayString(_ctx.$t(`message.menu.${val.meta.title}`)),
25423
+ 1
25424
+ /* TEXT */
25425
+ )
25426
+ ]),
25427
+ default: vue.withCtx(() => [
25428
+ vue.createVNode(_component_sub_item, {
25429
+ chil: val.children
25430
+ }, null, 8, ["chil"])
25431
+ ]),
25432
+ _: 2
25433
+ /* DYNAMIC */
25434
+ }, 1032, ["index"])) : (vue.openBlock(), vue.createBlock(_component_el_menu_item, {
25435
+ index: val.path,
25436
+ key: val.path
25437
+ }, {
25438
+ default: vue.withCtx(() => [
25439
+ !val.meta.isLink || val.meta.isLink && val.meta.isIframe ? (vue.openBlock(), vue.createElementBlock(
25440
+ vue.Fragment,
25441
+ { key: 0 },
25442
+ [
25443
+ vue.createVNode(_component_SvgIcon, {
25444
+ name: val.meta.icon,
25445
+ style: { "font-size": "16px" }
25446
+ }, null, 8, ["name"]),
25447
+ vue.createElementVNode(
25448
+ "span",
25449
+ null,
25450
+ vue.toDisplayString(_ctx.$t(`message.menu.${val.meta.title}`)),
25451
+ 1
25452
+ /* TEXT */
25453
+ )
25454
+ ],
25455
+ 64
25456
+ /* STABLE_FRAGMENT */
25457
+ )) : (vue.openBlock(), vue.createElementBlock("a", {
25458
+ key: 1,
25459
+ class: "w100",
25460
+ onClick: vue.withModifiers(($event) => onALinkClick(val), ["prevent"])
25461
+ }, [
25462
+ vue.createVNode(_component_SvgIcon, {
25463
+ name: val.meta.icon,
25464
+ style: { "font-size": "16px" }
25465
+ }, null, 8, ["name"]),
25466
+ vue.createTextVNode(
25467
+ " " + vue.toDisplayString(_ctx.$t(`message.menu.${val.meta.title}`)),
25468
+ 1
25469
+ /* TEXT */
25470
+ )
25471
+ ], 8, _hoisted_1$8))
25472
+ ]),
25473
+ _: 2
25474
+ /* DYNAMIC */
25475
+ }, 1032, ["index"]))
25476
+ ],
25477
+ 64
25478
+ /* STABLE_FRAGMENT */
25479
+ );
25480
+ }),
25481
+ 256
25482
+ /* UNKEYED_FRAGMENT */
25483
+ );
25484
+ };
25485
+ }
25486
+ });
25487
+
25488
+ var subItem = /*#__PURE__*/Object.freeze({
25489
+ __proto__: null,
25490
+ default: _sfc_main$8
25491
+ });
25492
+
25493
+ const _hoisted_1$7 = { class: "layout-navbars-breadcrumb-index" };
25494
+ var _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
25495
+ __name: "index",
25496
+ setup(__props) {
25497
+ const Breadcrumb = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return breadcrumb; }));
25498
+ const User = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return user; }));
25499
+ const Logo = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return index$3; }));
25500
+ const Horizontal = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return horizontal; }));
25501
+ const stores = useRoutesList();
25502
+ const storesThemeConfig = useThemeConfig();
25503
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
25504
+ const { routesList } = pinia$1.storeToRefs(stores);
25505
+ const route = vueRouter.useRoute();
25506
+ const state = vue.reactive({
25507
+ menuList: []
25508
+ });
25509
+ const setIsShowLogo = vue.computed(() => {
25510
+ let { isShowLogo, layout } = themeConfig.value;
25511
+ return isShowLogo && layout === "classic" || isShowLogo && layout === "transverse";
25512
+ });
25513
+ const isLayoutTransverse = vue.computed(() => {
25514
+ let { layout, isClassicSplitMenu } = themeConfig.value;
25515
+ return layout === "transverse" || isClassicSplitMenu && layout === "classic";
25516
+ });
25517
+ const setFilterRoutes = () => {
25518
+ let { layout, isClassicSplitMenu } = themeConfig.value;
25519
+ if (layout === "classic" && isClassicSplitMenu) {
25520
+ state.menuList = delClassicChildren(filterRoutesFun(routesList.value));
25521
+ const resData = setSendClassicChildren(route.path);
25522
+ emitter.emit("setSendClassicChildren", resData);
25523
+ } else {
25524
+ state.menuList = filterRoutesFun(routesList.value);
25525
+ }
25526
+ };
25527
+ const delClassicChildren = (arr) => {
25528
+ arr.map((v) => {
25529
+ if (v.children) delete v.children;
25530
+ });
25531
+ return arr;
25532
+ };
25533
+ const filterRoutesFun = (arr) => {
25534
+ return arr.filter((item) => {
25535
+ var _a;
25536
+ return !((_a = item.meta) == null ? void 0 : _a.isHide);
25537
+ }).map((item) => {
25538
+ item = Object.assign({}, item);
25539
+ if (item.children) item.children = filterRoutesFun(item.children);
25540
+ return item;
25541
+ });
25542
+ };
25543
+ const setSendClassicChildren = (path) => {
25544
+ const currentPathSplit = path.split("/");
25545
+ let currentData = { children: [] };
25546
+ filterRoutesFun(routesList.value).map((v, k) => {
25547
+ if (v.path === `/${currentPathSplit[1]}`) {
25548
+ v["k"] = k;
25549
+ currentData["item"] = { ...v };
25550
+ currentData["children"] = [{ ...v }];
25551
+ if (v.children) currentData["children"] = v.children;
25552
+ }
25553
+ });
25554
+ return currentData;
25555
+ };
25556
+ vue.onMounted(() => {
25557
+ setFilterRoutes();
25558
+ emitter.on("getBreadcrumbIndexSetFilterRoutes", () => {
25559
+ setFilterRoutes();
25560
+ });
25561
+ });
25562
+ vue.onUnmounted(() => {
25563
+ emitter.off("getBreadcrumbIndexSetFilterRoutes", () => {
25564
+ });
25565
+ });
25566
+ return (_ctx, _cache) => {
25567
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
25568
+ setIsShowLogo.value ? (vue.openBlock(), vue.createBlock(vue.unref(Logo), { key: 0 })) : vue.createCommentVNode("v-if", true),
25569
+ vue.createVNode(vue.unref(Breadcrumb)),
25570
+ isLayoutTransverse.value ? (vue.openBlock(), vue.createBlock(vue.unref(Horizontal), {
25571
+ key: 1,
25572
+ menuList: state.menuList
25573
+ }, null, 8, ["menuList"])) : vue.createCommentVNode("v-if", true),
25574
+ !_ctx.$slots.user ? (vue.openBlock(), vue.createBlock(vue.unref(User), { key: 2 }, {
25575
+ default: vue.withCtx(() => [
25576
+ (vue.openBlock(true), vue.createElementBlock(
25577
+ vue.Fragment,
25578
+ null,
25579
+ vue.renderList(_ctx.$slots, (_, name) => {
25580
+ return vue.renderSlot(_ctx.$slots, name, vue.mergeProps({
25581
+ key: name,
25582
+ ref_for: true
25583
+ }, _ctx.$slots[name].props || {}));
25584
+ }),
25585
+ 128
25586
+ /* KEYED_FRAGMENT */
25587
+ ))
25588
+ ]),
25589
+ _: 3
25590
+ /* FORWARDED */
25591
+ })) : vue.renderSlot(_ctx.$slots, "user", { key: 3 })
25592
+ ]);
25593
+ };
25594
+ }
25595
+ });
25596
+
25597
+ var index = /*#__PURE__*/Object.freeze({
25598
+ __proto__: null,
25599
+ default: _sfc_main$7
25600
+ });
25601
+
25602
+ const _hoisted_1$6 = { class: "layout-padding layout-padding-unset layout-iframe" };
25603
+ const _hoisted_2$5 = { class: "layout-padding-auto layout-padding-view" };
25604
+ const _hoisted_3$4 = ["src", "data-url"];
25605
+ var _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
25606
+ __name: "iframes",
25607
+ props: {
25608
+ // 刷新 iframe
25609
+ refreshKey: {
25610
+ type: String,
25611
+ default: () => ""
25612
+ },
25613
+ // 过渡动画 name
25614
+ name: {
25615
+ type: String,
25616
+ default: () => "slide-right"
25617
+ },
25618
+ // iframe 列表
25619
+ list: {
25620
+ type: Array,
25621
+ default: () => []
25622
+ }
25623
+ },
25624
+ setup(__props) {
25625
+ const props = __props;
25626
+ const iframeRef = vue.ref();
25627
+ const route = vueRouter.useRoute();
25628
+ const setIframeList = vue.computed(() => {
25629
+ return props.list.filter((v) => {
25630
+ var _a;
25631
+ return (_a = v.meta) == null ? void 0 : _a.isIframeOpen;
25632
+ });
25633
+ });
25634
+ const getRoutePath = vue.computed(() => {
25635
+ return route.path;
25636
+ });
25637
+ const closeIframeLoading = (val, item) => {
25638
+ vue.nextTick(() => {
25639
+ if (!iframeRef.value) return false;
25640
+ iframeRef.value.forEach((v) => {
25641
+ if (v.dataset.url === val) {
25642
+ v.onload = () => {
25643
+ var _a;
25644
+ if (((_a = item.meta) == null ? void 0 : _a.isIframeOpen) && item.meta.loading) item.meta.loading = false;
25645
+ };
25646
+ }
25647
+ });
25648
+ });
25649
+ };
25650
+ vue.watch(
25651
+ () => route.fullPath,
25652
+ (val) => {
25653
+ const item = props.list.find((v) => v.path === val);
25654
+ if (!item) return false;
25655
+ if (!item.meta.isIframeOpen) item.meta.isIframeOpen = true;
25656
+ closeIframeLoading(val, item);
25657
+ },
25658
+ {
25659
+ immediate: true
25660
+ }
25661
+ );
25662
+ vue.watch(
25663
+ () => props.refreshKey,
25664
+ () => {
25665
+ const item = props.list.find((v) => v.path === route.path);
25666
+ if (!item) return false;
25667
+ if (item.meta.isIframeOpen) item.meta.isIframeOpen = false;
25668
+ setTimeout(() => {
25669
+ item.meta.isIframeOpen = true;
25670
+ item.meta.loading = true;
25671
+ closeIframeLoading(route.fullPath, item);
25672
+ });
25673
+ },
25674
+ {
25675
+ deep: true
25676
+ }
25677
+ );
25678
+ return (_ctx, _cache) => {
25679
+ const _directive_loading = vue.resolveDirective("loading");
25680
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
25681
+ vue.createElementVNode("div", _hoisted_2$5, [
25682
+ (vue.openBlock(true), vue.createElementBlock(
25683
+ vue.Fragment,
25684
+ null,
25685
+ vue.renderList(setIframeList.value, (v) => {
25686
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
25687
+ class: "w100",
25688
+ key: v.path,
25689
+ "element-loading-background": "white"
25690
+ }, [
25691
+ vue.createVNode(vue.TransitionGroup, { name: __props.name }, {
25692
+ default: vue.withCtx(() => [
25693
+ vue.withDirectives((vue.openBlock(), vue.createElementBlock("iframe", {
25694
+ src: `${v.meta.isLink}${v.meta.isLink.indexOf("?") > 0 ? "&" : "?"}token=${vue.unref(getToken)()}`,
25695
+ key: v.path,
25696
+ frameborder: "0",
25697
+ height: "100%",
25698
+ width: "100%",
25699
+ style: { "position": "absolute" },
25700
+ "data-url": v.path,
25701
+ ref_for: true,
25702
+ ref_key: "iframeRef",
25703
+ ref: iframeRef
25704
+ }, null, 8, _hoisted_3$4)), [
25705
+ [vue.vShow, getRoutePath.value === v.path]
25706
+ ])
25707
+ ]),
25708
+ _: 2
25709
+ /* DYNAMIC */
25710
+ }, 1032, ["name"])
25711
+ ])), [
25712
+ [_directive_loading, v.meta.loading]
25713
+ ]);
25714
+ }),
25715
+ 128
25716
+ /* KEYED_FRAGMENT */
25717
+ ))
25718
+ ])
25719
+ ]);
25720
+ };
25721
+ }
25722
+ });
25723
+
25724
+ var iframes = /*#__PURE__*/Object.freeze({
25725
+ __proto__: null,
25726
+ default: _sfc_main$6
25727
+ });
25728
+
25729
+ const _hoisted_1$5 = {
25730
+ key: 0,
25731
+ class: "layout-navbars-breadcrumb"
25732
+ };
25733
+ const _hoisted_2$4 = {
25734
+ key: 0,
25735
+ class: "layout-navbars-breadcrumb-span"
25736
+ };
25737
+ const _hoisted_3$3 = { key: 1 };
25738
+ const _hoisted_4$2 = { key: 2 };
25739
+ const _hoisted_5$2 = ["onClick"];
25740
+ var _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
25741
+ __name: "breadcrumb",
25742
+ setup(__props) {
25743
+ const stores = useRoutesList();
25744
+ const storesThemeConfig = useThemeConfig();
25745
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
25746
+ const { routesList } = pinia$1.storeToRefs(stores);
25747
+ const route = vueRouter.useRoute();
25748
+ const router = vueRouter.useRouter();
25749
+ const state = vue.reactive({
25750
+ breadcrumbList: [],
25751
+ routeSplit: [],
25752
+ routeSplitFirst: "",
25753
+ routeSplitIndex: 1
25754
+ });
25755
+ const isShowBreadcrumb = vue.computed(() => {
25756
+ initRouteSplit(route);
25757
+ const { layout, isBreadcrumb } = themeConfig.value;
25758
+ if (layout === "classic" || layout === "transverse") return false;
25759
+ else return isBreadcrumb ? true : false;
25760
+ });
25761
+ const onBreadcrumbClick = (v) => {
25762
+ const { redirect, path } = v;
25763
+ if (redirect) router.push(redirect);
25764
+ };
25765
+ const onThemeConfigChange = () => {
25766
+ themeConfig.value.isCollapse = !themeConfig.value.isCollapse;
25767
+ setLocalThemeConfig();
25768
+ };
25769
+ const setLocalThemeConfig = () => {
25770
+ Local.remove("themeConfig");
25771
+ Local.set("themeConfig", themeConfig.value);
25772
+ };
25773
+ const getBreadcrumbList = (arr) => {
25774
+ arr.forEach((item) => {
25775
+ state.routeSplit.forEach((v, k, arrs) => {
25776
+ if (state.routeSplitFirst === item.path) {
25777
+ state.routeSplitFirst += `/${arrs[state.routeSplitIndex]}`;
25778
+ !state.breadcrumbList.find((a) => a.path === item.path) && state.breadcrumbList.push(item);
25779
+ state.routeSplitIndex++;
25780
+ if (item.children) getBreadcrumbList(item.children);
25781
+ }
25782
+ });
25783
+ });
25784
+ };
25785
+ const initRouteSplit = (toRoute) => {
25786
+ if (!themeConfig.value.isBreadcrumb) return false;
25787
+ state.breadcrumbList = [];
25788
+ state.routeSplit = toRoute.path.split("/");
25789
+ state.routeSplit.shift();
25790
+ state.routeSplitFirst = `/${state.routeSplit[0]}`;
25791
+ state.routeSplitIndex = 1;
25792
+ getBreadcrumbList(routesList.value);
25793
+ if (toRoute.name === "home" || toRoute.name === "notFound" && state.breadcrumbList.length > 1) state.breadcrumbList.shift();
25794
+ if (state.breadcrumbList.length > 0) state.breadcrumbList[state.breadcrumbList.length - 1].meta.tagsViewName = other.setTagsViewNameI18n(route);
25795
+ };
25796
+ vue.onMounted(() => {
25797
+ initRouteSplit(route);
25798
+ });
25799
+ vueRouter.onBeforeRouteUpdate((to) => {
25800
+ initRouteSplit(to);
25801
+ });
25802
+ return (_ctx, _cache) => {
25803
+ const _component_SvgIcon = vue.resolveComponent("SvgIcon");
25804
+ const _component_el_breadcrumb_item = vue.resolveComponent("el-breadcrumb-item");
25805
+ const _component_el_breadcrumb = vue.resolveComponent("el-breadcrumb");
25806
+ return isShowBreadcrumb.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
25807
+ vue.createVNode(_component_SvgIcon, {
25808
+ class: "layout-navbars-breadcrumb-icon",
25809
+ name: vue.unref(themeConfig).isCollapse ? "ele-Expand" : "ele-Fold",
25810
+ size: 16,
25811
+ onClick: onThemeConfigChange
25812
+ }, null, 8, ["name"]),
25813
+ vue.createVNode(_component_el_breadcrumb, { class: "layout-navbars-breadcrumb-hide" }, {
25814
+ default: vue.withCtx(() => [
25815
+ vue.createVNode(vue.TransitionGroup, { name: "breadcrumb" }, {
25816
+ default: vue.withCtx(() => [
25817
+ (vue.openBlock(true), vue.createElementBlock(
25818
+ vue.Fragment,
25819
+ null,
25820
+ vue.renderList(state.breadcrumbList, (v, k) => {
25821
+ return vue.openBlock(), vue.createBlock(
25822
+ _component_el_breadcrumb_item,
25823
+ {
25824
+ key: v.path
25825
+ },
25826
+ {
25827
+ default: vue.withCtx(() => [
25828
+ k === state.breadcrumbList.length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$4, [
25829
+ vue.unref(themeConfig).isBreadcrumbIcon ? (vue.openBlock(), vue.createBlock(_component_SvgIcon, {
25830
+ key: 0,
25831
+ name: v.meta.icon,
25832
+ class: "layout-navbars-breadcrumb-iconfont"
25833
+ }, null, 8, ["name"])) : vue.createCommentVNode("v-if", true),
25834
+ v.meta.title ? (vue.openBlock(), vue.createElementBlock(
25835
+ "div",
25836
+ _hoisted_3$3,
25837
+ vue.toDisplayString(_ctx.$t(`message.menu.${v.meta.title}`)),
25838
+ 1
25839
+ /* TEXT */
25840
+ )) : (vue.openBlock(), vue.createElementBlock(
25841
+ "div",
25842
+ _hoisted_4$2,
25843
+ vue.toDisplayString(v.meta.tagsViewName),
25844
+ 1
25845
+ /* TEXT */
25846
+ ))
25847
+ ])) : (vue.openBlock(), vue.createElementBlock("a", {
25848
+ key: 1,
25849
+ onClick: vue.withModifiers(($event) => onBreadcrumbClick(v), ["prevent"]),
25850
+ style: { "display": "flex" }
25851
+ }, [
25852
+ vue.unref(themeConfig).isBreadcrumbIcon ? (vue.openBlock(), vue.createBlock(_component_SvgIcon, {
25853
+ key: 0,
25854
+ name: v.meta.icon,
25855
+ class: "layout-navbars-breadcrumb-iconfont"
25856
+ }, null, 8, ["name"])) : vue.createCommentVNode("v-if", true),
25857
+ vue.createTextVNode(
25858
+ vue.toDisplayString(_ctx.$t(`message.menu.${v.meta.title}`)),
25859
+ 1
25860
+ /* TEXT */
25861
+ )
25862
+ ], 8, _hoisted_5$2))
25863
+ ]),
25864
+ _: 2
25865
+ /* DYNAMIC */
25866
+ },
25867
+ 1024
25868
+ /* DYNAMIC_SLOTS */
25869
+ );
25870
+ }),
25871
+ 128
25872
+ /* KEYED_FRAGMENT */
25873
+ ))
25874
+ ]),
25875
+ _: 1
25876
+ /* STABLE */
25877
+ })
25878
+ ]),
25879
+ _: 1
25880
+ /* STABLE */
25881
+ })
25882
+ ])) : vue.createCommentVNode("v-if", true);
25883
+ };
25884
+ }
25885
+ });
25886
+
25887
+ var breadcrumb = /*#__PURE__*/Object.freeze({
25888
+ __proto__: null,
25889
+ default: _sfc_main$5
25890
+ });
25891
+
25892
+ const _hoisted_1$4 = { class: "layout-navbars-breadcrumb-user-icon" };
25893
+ const _hoisted_2$3 = ["title"];
25894
+ const _hoisted_3$2 = { class: "layout-navbars-breadcrumb-user-icon" };
25895
+ const _hoisted_4$1 = { class: "flex items-center" };
25896
+ const _hoisted_5$1 = { class: "mr-2" };
25897
+ const _hoisted_6$1 = { style: { "margin-left": "10px" } };
25898
+ const _hoisted_7$1 = ["title"];
25899
+ const _hoisted_8$1 = { class: "layout-navbars-breadcrumb-user-icon" };
25900
+ const _hoisted_9$1 = ["title"];
25901
+ const _hoisted_10$1 = { class: "layout-navbars-breadcrumb-user-link" };
25902
+ const _hoisted_11$1 = ["src"];
25903
+ var _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
25904
+ __name: "user",
25905
+ setup(__props) {
25906
+ const UserNews = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return userNews; }));
25907
+ const Search = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return search; }));
25908
+ const UpgradeInfo = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return upgradeInfo; }));
25909
+ const routeStores = useRoutesList();
25910
+ const { locale, t } = vueI18n.useI18n();
25911
+ const router = vueRouter.useRouter();
25912
+ const stores = useUserInfo();
25913
+ const storesThemeConfig = useThemeConfig();
25914
+ const { userInfos } = pinia$1.storeToRefs(stores);
25915
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
25916
+ const searchRef = vue.ref();
25917
+ const upgradeInfoRef = vue.ref();
25918
+ const currentCountryCode = vue.ref(getCountryCode(themeConfig.value.globalI18n));
25919
+ const state = vue.reactive({
25920
+ isScreenfull: false,
25921
+ disabledI18n: "zh-cn",
25922
+ disabledSize: "large",
25923
+ noticeList: [],
25924
+ // 站内信列表
25925
+ tagsRefsIndex: 0,
25926
+ tagsViewList: [],
25927
+ tagsViewRoutesList: []
25928
+ });
25929
+ const events = useFormEvents();
25930
+ const layoutUserFlexNum = vue.computed(() => {
25931
+ let num = "";
25932
+ const { layout, isClassicSplitMenu } = themeConfig.value;
25933
+ const layoutArr = ["defaults", "columns"];
25934
+ if (layoutArr.includes(layout) || layout === "classic" && !isClassicSplitMenu) num = "1";
25935
+ else num = "";
25936
+ return num;
25937
+ });
25938
+ const hasUnreadNotice = vue.computed(() => {
25939
+ return state.noticeList.some((r) => r.readStatus == void 0 || r.readStatus == 0);
25940
+ });
25941
+ const onScreenfullClick = () => {
25942
+ if (!screenfull.isEnabled) {
25943
+ elementPlus.ElMessage.warning("\u6682\u4E0D\u4E0D\u652F\u6301\u5168\u5C4F");
25944
+ return false;
25945
+ }
25946
+ screenfull.toggle();
25947
+ screenfull.on("change", () => {
25948
+ if (screenfull.isFullscreen) state.isScreenfull = true;
25949
+ else state.isScreenfull = false;
25950
+ });
25951
+ };
25952
+ const onLayoutSetingClick = () => {
25953
+ emitter.emit("openSettingsDrawer");
25954
+ };
25955
+ const onHandleCommandClick = (path) => {
25956
+ if (path === "clearCache") {
25957
+ Session.clear();
25958
+ Local.clear();
25959
+ window.location.reload();
25960
+ } else if (path === "lockScreen") {
25961
+ Local.remove("themeConfig");
25962
+ themeConfig.value.isLockScreen = true;
25963
+ themeConfig.value.lockScreenTime = 1;
25964
+ Local.set("themeConfig", themeConfig.value);
25965
+ } else if (path === "logOut") {
25966
+ elementPlus.ElMessageBox({
25967
+ closeOnClickModal: false,
25968
+ closeOnPressEscape: false,
25969
+ title: t("message.user.logOutTitle"),
25970
+ message: t("message.user.logOutMessage"),
25971
+ type: "warning",
25972
+ showCancelButton: true,
25973
+ confirmButtonText: t("message.user.logOutConfirm"),
25974
+ cancelButtonText: t("message.user.logOutCancel"),
25975
+ // buttonSize: 'default',
25976
+ beforeClose: async (action, instance, done) => {
25977
+ if (action === "confirm") {
25978
+ instance.confirmButtonLoading = true;
25979
+ instance.confirmButtonText = t("message.user.logOutExit");
25980
+ try {
25981
+ await useBaseApi("sysAuth").post(null, "logout");
25982
+ } catch (error) {
25983
+ console.error(error);
25984
+ }
25985
+ instance.confirmButtonLoading = false;
25986
+ done();
25987
+ } else {
25988
+ done();
25989
+ }
25990
+ }
25991
+ }).then(async () => {
25992
+ await signalR.stop();
25993
+ clearAccessTokens();
25994
+ }).catch(() => {
25995
+ });
25996
+ } else {
25997
+ router.push(path);
25998
+ }
25999
+ };
26000
+ const onSearchClick = () => {
26001
+ searchRef.value.openSearch();
26002
+ };
26003
+ const onOnlineUserClick = () => {
26004
+ events.onFormDialogOpen({
26005
+ name: "onlineUsers"
26006
+ });
26007
+ };
26008
+ const onComponentSizeChange = (size) => {
26009
+ Local.remove("themeConfig");
26010
+ themeConfig.value.globalComponentSize = size;
26011
+ Local.set("themeConfig", themeConfig.value);
26012
+ initI18nOrSize("globalComponentSize", "disabledSize");
26013
+ };
26014
+ const onLanguageChange = async (lang) => {
26015
+ Local.remove("themeConfig");
26016
+ themeConfig.value.globalI18n = lang;
26017
+ Local.set("themeConfig", themeConfig.value);
26018
+ currentCountryCode.value = getCountryCode(lang);
26019
+ locale.value = lang;
26020
+ other.useTitle();
26021
+ initI18nOrSize("globalI18n", "disabledI18n");
26022
+ refreshCurrentTabpage();
26023
+ if (lang == "en") window.$changeLang("en");
26024
+ else window.$changeLang("zhcn");
26025
+ await useBaseApi("sysCommon").post(lang, "setCulture");
26026
+ };
26027
+ const onChatClick = () => {
26028
+ router.push({
26029
+ path: "/llm/aiChat"
26030
+ });
26031
+ };
26032
+ const refreshCurrentTabpage = () => {
26033
+ emitter.emit("onCurrentContextmenuClick", { ...routeStores.currentRoute, contextMenuClickId: 0 });
26034
+ };
26035
+ const initI18nOrSize = (value, attr) => {
26036
+ state[attr] = Local.get("themeConfig")[value];
26037
+ };
26038
+ vue.onMounted(async () => {
26039
+ var _a, _b;
26040
+ if (Local.get("themeConfig")) {
26041
+ initI18nOrSize("globalComponentSize", "disabledSize");
26042
+ initI18nOrSize("globalI18n", "disabledI18n");
26043
+ }
26044
+ if (Push.Permission.GRANTED) {
26045
+ Push.Permission.request(void 0, void 0);
26046
+ }
26047
+ document.addEventListener("visibilitychange", () => {
26048
+ if (!document.hidden) {
26049
+ Push.clear();
26050
+ }
26051
+ });
26052
+ var res = await useBaseApi("sysNotice").get(null, "unReadList");
26053
+ state.noticeList = (_a = res.data.result) != null ? _a : [];
26054
+ signalR.on("PublicNotice", receiveNotice);
26055
+ var res1 = await useBaseApi("sysUpgrade").get(null, "lastUnRead");
26056
+ if (res1.data.result != null) {
26057
+ (_b = upgradeInfoRef.value) == null ? void 0 : _b.openDialog(res1.data.result);
26058
+ }
26059
+ await changePassword();
26060
+ });
26061
+ const receiveNotice = (msg) => {
26062
+ state.noticeList.unshift(msg);
26063
+ elementPlus.ElNotification({
26064
+ title: "\u63D0\u793A",
26065
+ message: "\u60A8\u6709\u4E00\u6761\u65B0\u6D88\u606F...",
26066
+ type: "info",
26067
+ position: "bottom-right"
26068
+ });
26069
+ Push.create("\u63D0\u793A", {
26070
+ body: "\u4F60\u6709\u4E00\u6761\u65B0\u7684\u6D88\u606F",
26071
+ icon: "logo.png",
26072
+ // public目录下的
26073
+ timeout: 4500
26074
+ // 通知显示时间,单位为毫秒
26075
+ });
26076
+ };
26077
+ const changePassword = async () => {
26078
+ var _a, _b;
26079
+ if (userInfos.value.accountType == 999) return;
26080
+ if (themeConfig.value.forceChangePassword == void 0) {
26081
+ while (themeConfig.value.forceChangePassword != void 0) {
26082
+ await new Promise((resolve) => setTimeout(resolve, 100));
26083
+ }
26084
+ }
26085
+ const enabledForceChangePassword = (_a = themeConfig.value.forceChangePassword) != null ? _a : false;
26086
+ if (enabledForceChangePassword && !userInfos.value.lastChangePasswordTime) {
26087
+ events.onFormDialogOpen({
26088
+ name: "changePassword"
26089
+ });
26090
+ return;
26091
+ }
26092
+ const passwordExpirationTime = (_b = themeConfig.value.passwordExpirationTime) != null ? _b : 0;
26093
+ if (passwordExpirationTime > 0) {
26094
+ const res = await useBaseApi("sysUser").post(null, "verifyPwdExpirationTime");
26095
+ if (!res.data.result) {
26096
+ events.onFormDialogOpen({
26097
+ name: "changePassword"
26098
+ });
26099
+ }
26100
+ }
26101
+ };
26102
+ return (_ctx, _cache) => {
26103
+ const _component_el_dropdown_item = vue.resolveComponent("el-dropdown-item");
26104
+ const _component_el_dropdown_menu = vue.resolveComponent("el-dropdown-menu");
26105
+ const _component_el_dropdown = vue.resolveComponent("el-dropdown");
26106
+ const _component_ele_ChatDotRound = vue.resolveComponent("ele-ChatDotRound");
26107
+ const _component_el_icon = vue.resolveComponent("el-icon");
26108
+ const _component_ele_Search = vue.resolveComponent("ele-Search");
26109
+ const _component_ele_Bell = vue.resolveComponent("ele-Bell");
26110
+ const _component_el_badge = vue.resolveComponent("el-badge");
26111
+ const _component_el_popover = vue.resolveComponent("el-popover");
26112
+ const _component_ele_User = vue.resolveComponent("ele-User");
26113
+ const _component_el_tooltip = vue.resolveComponent("el-tooltip");
26114
+ const _component_ele_ArrowDown = vue.resolveComponent("ele-ArrowDown");
26115
+ return vue.openBlock(), vue.createElementBlock(
26116
+ "div",
26117
+ {
26118
+ class: "layout-navbars-breadcrumb-user pr15",
26119
+ style: vue.normalizeStyle({ flex: layoutUserFlexNum.value })
26120
+ },
26121
+ [
26122
+ vue.renderSlot(_ctx.$slots, "user-before"),
26123
+ vue.createVNode(_component_el_dropdown, {
26124
+ "show-timeout": 70,
26125
+ "hide-timeout": 50,
26126
+ trigger: "click",
26127
+ onCommand: onComponentSizeChange
26128
+ }, {
26129
+ dropdown: vue.withCtx(() => [
26130
+ vue.createVNode(_component_el_dropdown_menu, null, {
26131
+ default: vue.withCtx(() => [
26132
+ vue.createVNode(_component_el_dropdown_item, {
26133
+ command: "large",
26134
+ disabled: state.disabledSize === "large"
26135
+ }, {
26136
+ default: vue.withCtx(() => [
26137
+ vue.createTextVNode(
26138
+ vue.toDisplayString(_ctx.$t("message.user.dropdownLarge")),
26139
+ 1
26140
+ /* TEXT */
26141
+ )
26142
+ ]),
26143
+ _: 1
26144
+ /* STABLE */
26145
+ }, 8, ["disabled"]),
26146
+ vue.createVNode(_component_el_dropdown_item, {
26147
+ command: "default",
26148
+ disabled: state.disabledSize === "default"
26149
+ }, {
26150
+ default: vue.withCtx(() => [
26151
+ vue.createTextVNode(
26152
+ vue.toDisplayString(_ctx.$t("message.user.dropdownDefault")),
26153
+ 1
26154
+ /* TEXT */
26155
+ )
26156
+ ]),
26157
+ _: 1
26158
+ /* STABLE */
26159
+ }, 8, ["disabled"]),
26160
+ vue.createVNode(_component_el_dropdown_item, {
26161
+ command: "small",
26162
+ disabled: state.disabledSize === "small"
26163
+ }, {
26164
+ default: vue.withCtx(() => [
26165
+ vue.createTextVNode(
26166
+ vue.toDisplayString(_ctx.$t("message.user.dropdownSmall")),
26167
+ 1
26168
+ /* TEXT */
26169
+ )
26170
+ ]),
26171
+ _: 1
26172
+ /* STABLE */
26173
+ }, 8, ["disabled"])
26174
+ ]),
26175
+ _: 1
26176
+ /* STABLE */
26177
+ })
26178
+ ]),
26179
+ default: vue.withCtx(() => [
26180
+ vue.createElementVNode("div", _hoisted_1$4, [
26181
+ vue.createElementVNode("i", {
26182
+ class: "iconfont icon-ziti",
26183
+ title: _ctx.$t("message.user.title0")
26184
+ }, null, 8, _hoisted_2$3)
26185
+ ])
26186
+ ]),
26187
+ _: 1
26188
+ /* STABLE */
26189
+ }),
26190
+ vue.unref(themeConfig).i18NSwitch ? (vue.openBlock(), vue.createBlock(_component_el_dropdown, {
26191
+ key: 0,
26192
+ "show-timeout": 70,
26193
+ "hide-timeout": 50,
26194
+ trigger: "click",
26195
+ onCommand: onLanguageChange
26196
+ }, {
26197
+ dropdown: vue.withCtx(() => [
26198
+ vue.createVNode(_component_el_dropdown_menu, null, {
26199
+ default: vue.withCtx(() => [
26200
+ (vue.openBlock(true), vue.createElementBlock(
26201
+ vue.Fragment,
26202
+ null,
26203
+ vue.renderList(vue.unref(languageList), (value, key) => {
26204
+ return vue.openBlock(), vue.createBlock(_component_el_dropdown_item, {
26205
+ key,
26206
+ command: key,
26207
+ disabled: state.disabledI18n === key
26208
+ }, {
26209
+ default: vue.withCtx(() => [
26210
+ vue.createElementVNode("div", _hoisted_4$1, [
26211
+ vue.createElementVNode("div", _hoisted_5$1, [
26212
+ vue.createElementVNode(
26213
+ "span",
26214
+ {
26215
+ class: vue.normalizeClass(`fi fi-${vue.unref(getCountryCode)(key)}`)
26216
+ },
26217
+ null,
26218
+ 2
26219
+ /* CLASS */
26220
+ )
26221
+ ]),
26222
+ vue.createElementVNode(
26223
+ "div",
26224
+ _hoisted_6$1,
26225
+ vue.toDisplayString(value),
26226
+ 1
26227
+ /* TEXT */
26228
+ )
26229
+ ])
26230
+ ]),
26231
+ _: 2
26232
+ /* DYNAMIC */
26233
+ }, 1032, ["command", "disabled"]);
26234
+ }),
26235
+ 128
26236
+ /* KEYED_FRAGMENT */
26237
+ ))
26238
+ ]),
26239
+ _: 1
26240
+ /* STABLE */
26241
+ })
26242
+ ]),
26243
+ default: vue.withCtx(() => [
26244
+ vue.createElementVNode("div", _hoisted_3$2, [
26245
+ vue.createElementVNode(
26246
+ "span",
26247
+ {
26248
+ class: vue.normalizeClass(`fi fi-${currentCountryCode.value}`)
26249
+ },
26250
+ null,
26251
+ 2
26252
+ /* CLASS */
26253
+ )
26254
+ ])
26255
+ ]),
26256
+ _: 1
26257
+ /* STABLE */
26258
+ })) : vue.createCommentVNode("v-if", true),
26259
+ vue.createElementVNode("div", {
26260
+ class: "layout-navbars-breadcrumb-user-icon",
26261
+ onClick: onChatClick
26262
+ }, [
26263
+ vue.createVNode(_component_el_icon, {
26264
+ title: _ctx.$t("message.user.chat")
26265
+ }, {
26266
+ default: vue.withCtx(() => [
26267
+ vue.createVNode(_component_ele_ChatDotRound)
26268
+ ]),
26269
+ _: 1
26270
+ /* STABLE */
26271
+ }, 8, ["title"])
26272
+ ]),
26273
+ vue.createElementVNode("div", {
26274
+ class: "layout-navbars-breadcrumb-user-icon",
26275
+ onClick: onSearchClick
26276
+ }, [
26277
+ vue.createVNode(_component_el_icon, {
26278
+ title: _ctx.$t("message.user.title2")
26279
+ }, {
26280
+ default: vue.withCtx(() => [
26281
+ vue.createVNode(_component_ele_Search)
26282
+ ]),
26283
+ _: 1
26284
+ /* STABLE */
26285
+ }, 8, ["title"])
26286
+ ]),
26287
+ vue.createElementVNode("div", {
26288
+ class: "layout-navbars-breadcrumb-user-icon",
26289
+ onClick: onLayoutSetingClick
26290
+ }, [
26291
+ vue.createElementVNode("i", {
26292
+ class: "icon-skin iconfont",
26293
+ title: _ctx.$t("message.user.title3")
26294
+ }, null, 8, _hoisted_7$1)
26295
+ ]),
26296
+ vue.createElementVNode("div", _hoisted_8$1, [
26297
+ vue.createVNode(_component_el_popover, {
26298
+ placement: "bottom",
26299
+ trigger: "hover",
26300
+ transition: "el-zoom-in-top",
26301
+ width: 400,
26302
+ persistent: false
26303
+ }, {
26304
+ reference: vue.withCtx(() => [
26305
+ vue.createVNode(_component_el_badge, { "is-dot": hasUnreadNotice.value }, {
26306
+ default: vue.withCtx(() => [
26307
+ vue.createVNode(_component_el_icon, {
26308
+ title: _ctx.$t("message.user.title4")
26309
+ }, {
26310
+ default: vue.withCtx(() => [
26311
+ vue.createVNode(_component_ele_Bell)
26312
+ ]),
26313
+ _: 1
26314
+ /* STABLE */
26315
+ }, 8, ["title"])
26316
+ ]),
26317
+ _: 1
26318
+ /* STABLE */
26319
+ }, 8, ["is-dot"])
26320
+ ]),
26321
+ default: vue.withCtx(() => [
26322
+ vue.createVNode(vue.unref(UserNews), {
26323
+ noticeList: state.noticeList
26324
+ }, null, 8, ["noticeList"])
26325
+ ]),
26326
+ _: 1
26327
+ /* STABLE */
26328
+ })
26329
+ ]),
26330
+ vue.createElementVNode("div", {
26331
+ class: "layout-navbars-breadcrumb-user-icon",
26332
+ onClick: onScreenfullClick
26333
+ }, [
26334
+ vue.createElementVNode("i", {
26335
+ class: vue.normalizeClass(["iconfont", !state.isScreenfull ? "icon-fullscreen" : "icon-tuichuquanping"]),
26336
+ title: state.isScreenfull ? _ctx.$t("message.user.title6") : _ctx.$t("message.user.title5")
26337
+ }, null, 10, _hoisted_9$1)
26338
+ ]),
26339
+ vue.createElementVNode("div", {
26340
+ class: "layout-navbars-breadcrumb-user-icon mr10",
26341
+ onClick: onOnlineUserClick
26342
+ }, [
26343
+ vue.createVNode(_component_el_icon, {
26344
+ title: _ctx.$t("message.list.onlineUser")
26345
+ }, {
26346
+ default: vue.withCtx(() => [
26347
+ vue.createVNode(_component_ele_User)
26348
+ ]),
26349
+ _: 1
26350
+ /* STABLE */
26351
+ }, 8, ["title"])
26352
+ ]),
26353
+ _ctx.$slots["user-dropdown"] ? vue.renderSlot(_ctx.$slots, "user-dropdown", { key: 1 }, () => [
26354
+ vue.renderSlot(_ctx.$slots, "user-dropdown")
26355
+ ]) : (vue.openBlock(), vue.createBlock(_component_el_dropdown, {
26356
+ key: 2,
26357
+ "show-timeout": 70,
26358
+ "hide-timeout": 50,
26359
+ size: "large",
26360
+ onCommand: onHandleCommandClick
26361
+ }, {
26362
+ dropdown: vue.withCtx(() => [
26363
+ vue.createVNode(_component_el_dropdown_menu, null, {
26364
+ default: vue.withCtx(() => [
26365
+ vue.createCommentVNode(` <el-dropdown-item command="/dashboard/home">{{ $t('message.user.dropdown1') }}</el-dropdown-item> `),
26366
+ vue.createVNode(_component_el_dropdown_item, {
26367
+ icon: vue.unref(svg.Avatar),
26368
+ command: "/system/userCenter"
26369
+ }, {
26370
+ default: vue.withCtx(() => [
26371
+ vue.createTextVNode(
26372
+ vue.toDisplayString(_ctx.$t("message.user.dropdown2")),
26373
+ 1
26374
+ /* TEXT */
26375
+ )
26376
+ ]),
26377
+ _: 1
26378
+ /* STABLE */
26379
+ }, 8, ["icon"]),
26380
+ vue.createVNode(_component_el_dropdown_item, {
26381
+ icon: vue.unref(svg.Loading),
26382
+ command: "clearCache"
26383
+ }, {
26384
+ default: vue.withCtx(() => [
26385
+ vue.createTextVNode(
26386
+ vue.toDisplayString(_ctx.$t("message.user.dropdown3")),
26387
+ 1
26388
+ /* TEXT */
26389
+ )
26390
+ ]),
26391
+ _: 1
26392
+ /* STABLE */
26393
+ }, 8, ["icon"]),
26394
+ vue.createVNode(_component_el_dropdown_item, {
26395
+ icon: vue.unref(svg.Lock),
26396
+ divided: "",
26397
+ command: "lockScreen"
26398
+ }, {
26399
+ default: vue.withCtx(() => [
26400
+ vue.createTextVNode(
26401
+ vue.toDisplayString(_ctx.$t("message.layout.threeIsLockScreen")),
26402
+ 1
26403
+ /* TEXT */
26404
+ )
26405
+ ]),
26406
+ _: 1
26407
+ /* STABLE */
26408
+ }, 8, ["icon"]),
26409
+ vue.createVNode(_component_el_dropdown_item, {
26410
+ icon: vue.unref(svg.CircleCloseFilled),
26411
+ divided: "",
26412
+ command: "logOut"
26413
+ }, {
26414
+ default: vue.withCtx(() => [
26415
+ vue.createTextVNode(
26416
+ vue.toDisplayString(_ctx.$t("message.user.dropdown5")),
26417
+ 1
26418
+ /* TEXT */
26419
+ )
26420
+ ]),
26421
+ _: 1
26422
+ /* STABLE */
26423
+ }, 8, ["icon"])
26424
+ ]),
26425
+ _: 1
26426
+ /* STABLE */
26427
+ })
26428
+ ]),
26429
+ default: vue.withCtx(() => [
26430
+ vue.createElementVNode("span", _hoisted_10$1, [
26431
+ vue.createVNode(_component_el_tooltip, {
26432
+ effect: "dark",
26433
+ placement: "left"
26434
+ }, {
26435
+ content: vue.withCtx(() => [
26436
+ vue.createTextVNode(
26437
+ vue.toDisplayString(_ctx.$t("message.list.account")) + "\uFF1A" + vue.toDisplayString(vue.unref(userInfos).account),
26438
+ 1
26439
+ /* TEXT */
26440
+ ),
26441
+ _cache[0] || (_cache[0] = vue.createElementVNode(
26442
+ "br",
26443
+ null,
26444
+ null,
26445
+ -1
26446
+ /* CACHED */
26447
+ )),
26448
+ vue.createTextVNode(
26449
+ " " + vue.toDisplayString(_ctx.$t("message.list.realName")) + "\uFF1A" + vue.toDisplayString(vue.unref(userInfos).realName),
26450
+ 1
26451
+ /* TEXT */
26452
+ ),
26453
+ _cache[1] || (_cache[1] = vue.createElementVNode(
26454
+ "br",
26455
+ null,
26456
+ null,
26457
+ -1
26458
+ /* CACHED */
26459
+ )),
26460
+ vue.createTextVNode(
26461
+ " " + vue.toDisplayString(_ctx.$t("message.list.phone")) + "\uFF1A" + vue.toDisplayString(vue.unref(userInfos).phone),
26462
+ 1
26463
+ /* TEXT */
26464
+ ),
26465
+ _cache[2] || (_cache[2] = vue.createElementVNode(
26466
+ "br",
26467
+ null,
26468
+ null,
26469
+ -1
26470
+ /* CACHED */
26471
+ )),
26472
+ vue.createTextVNode(
26473
+ " " + vue.toDisplayString(_ctx.$t("message.list.email")) + "\uFF1A" + vue.toDisplayString(vue.unref(userInfos).email),
26474
+ 1
26475
+ /* TEXT */
26476
+ ),
26477
+ _cache[3] || (_cache[3] = vue.createElementVNode(
26478
+ "br",
26479
+ null,
26480
+ null,
26481
+ -1
26482
+ /* CACHED */
26483
+ )),
26484
+ vue.createTextVNode(
26485
+ " " + vue.toDisplayString(_ctx.$t("message.list.orgName")) + "\uFF1A" + vue.toDisplayString(vue.unref(userInfos).orgName),
26486
+ 1
26487
+ /* TEXT */
26488
+ ),
26489
+ _cache[4] || (_cache[4] = vue.createElementVNode(
26490
+ "br",
26491
+ null,
26492
+ null,
26493
+ -1
26494
+ /* CACHED */
26495
+ )),
26496
+ vue.createTextVNode(
26497
+ " " + vue.toDisplayString(_ctx.$t("message.list.positionText")) + "\uFF1A" + vue.toDisplayString(vue.unref(userInfos).posName),
26498
+ 1
26499
+ /* TEXT */
26500
+ ),
26501
+ _cache[5] || (_cache[5] = vue.createElementVNode(
26502
+ "br",
26503
+ null,
26504
+ null,
26505
+ -1
26506
+ /* CACHED */
26507
+ ))
26508
+ ]),
26509
+ default: vue.withCtx(() => [
26510
+ vue.createElementVNode("img", {
26511
+ src: vue.unref(userInfos).avatar,
26512
+ class: "layout-navbars-breadcrumb-user-link-photo mr5"
26513
+ }, null, 8, _hoisted_11$1)
26514
+ ]),
26515
+ _: 1
26516
+ /* STABLE */
26517
+ }),
26518
+ vue.createTextVNode(
26519
+ " " + vue.toDisplayString(vue.unref(userInfos).realName == "" ? vue.unref(userInfos).account : vue.unref(userInfos).realName) + " ",
26520
+ 1
26521
+ /* TEXT */
26522
+ ),
26523
+ vue.createVNode(_component_el_icon, { class: "el-icon--right" }, {
26524
+ default: vue.withCtx(() => [
26525
+ vue.createVNode(_component_ele_ArrowDown)
26526
+ ]),
26527
+ _: 1
26528
+ /* STABLE */
26529
+ })
26530
+ ])
26531
+ ]),
26532
+ _: 1
26533
+ /* STABLE */
26534
+ })),
26535
+ vue.createVNode(
26536
+ vue.unref(Search),
26537
+ {
26538
+ ref_key: "searchRef",
26539
+ ref: searchRef
26540
+ },
26541
+ null,
26542
+ 512
26543
+ /* NEED_PATCH */
26544
+ ),
26545
+ vue.createCommentVNode(' <OnlineUser ref="onlineUserRef" /> '),
26546
+ vue.createCommentVNode(' <ChangePassword ref="changePasswordRef" /> '),
26547
+ vue.createVNode(
26548
+ vue.unref(UpgradeInfo),
26549
+ {
26550
+ ref_key: "upgradeInfoRef",
26551
+ ref: upgradeInfoRef
26552
+ },
26553
+ null,
26554
+ 512
26555
+ /* NEED_PATCH */
26556
+ ),
26557
+ vue.renderSlot(_ctx.$slots, "user-after")
26558
+ ],
26559
+ 4
26560
+ /* STYLE */
26561
+ );
26562
+ };
26563
+ }
26564
+ });
26565
+
26566
+ var user = /*#__PURE__*/Object.freeze({
26567
+ __proto__: null,
26568
+ default: _sfc_main$4
26569
+ });
26570
+
26571
+ const _hoisted_1$3 = { class: "el-menu-horizontal-warp" };
26572
+ const _hoisted_2$2 = ["onClick"];
26573
+ var _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
26574
+ __name: "horizontal",
26575
+ props: {
26576
+ // 菜单列表
26577
+ menuList: {
26578
+ type: Array,
26579
+ default: () => []
26580
+ }
26581
+ },
26582
+ setup(__props) {
26583
+ const SubItem = vue.defineAsyncComponent(() => Promise.resolve().then(function () { return subItem; }));
26584
+ const props = __props;
26585
+ const stores = useRoutesList();
26586
+ const storesThemeConfig = useThemeConfig();
26587
+ const { routesList } = pinia$1.storeToRefs(stores);
26588
+ const { themeConfig } = pinia$1.storeToRefs(storesThemeConfig);
26589
+ const route = vueRouter.useRoute();
26590
+ const state = vue.reactive({
26591
+ defaultActive: ""
26592
+ });
26593
+ const menuLists = vue.computed(() => {
26594
+ return props.menuList;
26595
+ });
26596
+ const filterRoutesFun = (arr) => {
26597
+ return arr.filter((item) => {
26598
+ var _a;
26599
+ return !((_a = item.meta) == null ? void 0 : _a.isHide);
26600
+ }).map((item) => {
26601
+ item = Object.assign({}, item);
26602
+ if (item.children) item.children = filterRoutesFun(item.children);
26603
+ return item;
26604
+ });
26605
+ };
26606
+ const setSendClassicChildren = (path) => {
26607
+ const currentPathSplit = path.split("/");
26608
+ let currentData = { children: [] };
26609
+ filterRoutesFun(routesList.value).map((v, k) => {
26610
+ if (v.path === `/${currentPathSplit[1]}`) {
26611
+ v["k"] = k;
26612
+ currentData["item"] = { ...v };
26613
+ currentData["children"] = [{ ...v }];
26614
+ if (v.children) currentData["children"] = v.children;
26615
+ }
26616
+ });
26617
+ return currentData;
26618
+ };
26619
+ const setCurrentRouterHighlight = (currentRoute) => {
26620
+ const { path, meta } = currentRoute;
26621
+ if (themeConfig.value.layout === "classic") {
26622
+ state.defaultActive = `/${path == null ? void 0 : path.split("/")[1]}`;
26623
+ } else {
26624
+ const pathSplit = (meta == null ? void 0 : meta.isDynamic) ? meta.isDynamicPath.split("/") : path.split("/");
26625
+ if (pathSplit.length >= 4 && (meta == null ? void 0 : meta.isHide)) state.defaultActive = pathSplit.splice(0, 3).join("/");
26626
+ else state.defaultActive = path;
26627
+ }
26628
+ };
26629
+ const onALinkClick = (val) => {
26630
+ other.handleOpenLink(val);
26631
+ };
26632
+ vue.onBeforeMount(() => {
26633
+ setCurrentRouterHighlight(route);
26634
+ });
26635
+ vueRouter.onBeforeRouteUpdate((to) => {
26636
+ setCurrentRouterHighlight(to);
26637
+ let { layout, isClassicSplitMenu } = themeConfig.value;
26638
+ if (layout === "classic" && isClassicSplitMenu) {
26639
+ emitter.emit("setSendClassicChildren", setSendClassicChildren(to.path));
26640
+ }
26641
+ });
26642
+ return (_ctx, _cache) => {
26643
+ const _component_SvgIcon = vue.resolveComponent("SvgIcon");
26644
+ const _component_el_sub_menu = vue.resolveComponent("el-sub-menu");
26645
+ const _component_el_menu_item = vue.resolveComponent("el-menu-item");
26646
+ const _component_el_menu = vue.resolveComponent("el-menu");
26647
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
26648
+ vue.createVNode(_component_el_menu, {
26649
+ router: "",
26650
+ "default-active": state.defaultActive,
26651
+ "background-color": "transparent",
26652
+ mode: "horizontal"
26653
+ }, {
26654
+ default: vue.withCtx(() => [
26655
+ (vue.openBlock(true), vue.createElementBlock(
26656
+ vue.Fragment,
26657
+ null,
26658
+ vue.renderList(menuLists.value, (val) => {
26659
+ return vue.openBlock(), vue.createElementBlock(
26660
+ vue.Fragment,
26661
+ null,
26662
+ [
26663
+ val.children && val.children.length > 0 ? (vue.openBlock(), vue.createBlock(_component_el_sub_menu, {
26664
+ index: val.path,
26665
+ key: val.path
26666
+ }, {
26667
+ title: vue.withCtx(() => [
26668
+ vue.createVNode(_component_SvgIcon, {
26669
+ name: val.meta.icon
26670
+ }, null, 8, ["name"]),
26671
+ vue.createElementVNode(
26672
+ "span",
26673
+ null,
26674
+ vue.toDisplayString(_ctx.$t(`message.menu.${val.meta.title}`)),
26675
+ 1
26676
+ /* TEXT */
26677
+ )
26678
+ ]),
26679
+ default: vue.withCtx(() => [
26680
+ vue.createVNode(vue.unref(SubItem), {
26681
+ chil: val.children
26682
+ }, null, 8, ["chil"])
26683
+ ]),
26684
+ _: 2
26685
+ /* DYNAMIC */
26686
+ }, 1032, ["index"])) : (vue.openBlock(), vue.createBlock(_component_el_menu_item, {
26687
+ index: val.path,
26688
+ key: val.path
26689
+ }, vue.createSlots({
26690
+ _: 2
26691
+ /* DYNAMIC */
26692
+ }, [
26693
+ !val.meta.isLink || val.meta.isLink && val.meta.isIframe ? {
26694
+ name: "title",
26695
+ fn: vue.withCtx(() => [
26696
+ vue.createVNode(_component_SvgIcon, {
26697
+ name: val.meta.icon
26698
+ }, null, 8, ["name"]),
26699
+ vue.createTextVNode(
26700
+ " " + vue.toDisplayString(_ctx.$t(`message.menu.${val.meta.title}`)),
26701
+ 1
26702
+ /* TEXT */
26703
+ )
26704
+ ]),
26705
+ key: "0"
26706
+ } : {
26707
+ name: "title",
26708
+ fn: vue.withCtx(() => [
26709
+ vue.createElementVNode("a", {
26710
+ class: "w100",
26711
+ onClick: vue.withModifiers(($event) => onALinkClick(val), ["prevent"])
26712
+ }, [
26713
+ vue.createVNode(_component_SvgIcon, {
26714
+ name: val.meta.icon
26715
+ }, null, 8, ["name"]),
26716
+ vue.createTextVNode(
26717
+ " " + vue.toDisplayString(_ctx.$t(`message.menu.${val.meta.title}`)),
26718
+ 1
26719
+ /* TEXT */
26720
+ )
26721
+ ], 8, _hoisted_2$2)
26722
+ ]),
26723
+ key: "1"
26724
+ }
26725
+ ]), 1032, ["index"]))
26726
+ ],
26727
+ 64
26728
+ /* STABLE_FRAGMENT */
26729
+ );
26730
+ }),
26731
+ 256
26732
+ /* UNKEYED_FRAGMENT */
26733
+ ))
26734
+ ]),
26735
+ _: 1
26736
+ /* STABLE */
26737
+ }, 8, ["default-active"])
26738
+ ]);
26739
+ };
26740
+ }
26741
+ });
26742
+
26743
+ var horizontal = /*#__PURE__*/Object.freeze({
26744
+ __proto__: null,
26745
+ default: _sfc_main$3
26746
+ });
26747
+
26748
+ const _hoisted_1$2 = { class: "user-news-container" };
26749
+ const _hoisted_2$1 = { style: { "margin-left": "5px" } };
26750
+ const _hoisted_3$1 = { class: "notice-box" };
26751
+ const _hoisted_4 = ["onClick"];
26752
+ const _hoisted_5 = { class: "notice-item-icon" };
26753
+ const _hoisted_6 = { class: "notice-title" };
26754
+ const _hoisted_7 = { class: "notice-content" };
26755
+ const _hoisted_8 = { class: "notice-time" };
26756
+ const _hoisted_9 = { style: { "margin-left": "5px" } };
26757
+ const _hoisted_10 = {
26758
+ class: "notice-box",
26759
+ style: { "height": "435px" }
26760
+ };
26761
+ const _hoisted_11 = { style: { "color": "#fff" } };
26762
+ const _hoisted_12 = { class: "w-e-text-container" };
26763
+ const _hoisted_13 = ["innerHTML"];
26764
+ const _hoisted_14 = { class: "dialog-footer" };
26765
+ var _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
26766
+ __name: "userNews",
26767
+ props: {
26768
+ noticeList: Array
26769
+ },
26770
+ setup(__props) {
26771
+ const { removeHtmlSub } = commonFunction();
26772
+ const state = vue.reactive({
26773
+ dialogVisible: false,
26774
+ content: ""
26775
+ });
26776
+ const goToNotice = () => {
26777
+ router.push("/dashboard/notice");
26778
+ };
26779
+ const viewNoticeDetail = async (notice) => {
26780
+ state.content = notice.content;
26781
+ state.dialogVisible = true;
26782
+ notice.readStatus = 1;
26783
+ await useBaseApi("sysNotice").post({ id: notice.id }, "setRead");
26784
+ };
26785
+ return (_ctx, _cache) => {
26786
+ const _component_ele_Bell = vue.resolveComponent("ele-Bell");
26787
+ const _component_el_icon = vue.resolveComponent("el-icon");
26788
+ const _component_ele_Notification = vue.resolveComponent("ele-Notification");
26789
+ const _component_ele_Message = vue.resolveComponent("ele-Message");
26790
+ const _component_el_empty = vue.resolveComponent("el-empty");
26791
+ const _component_el_tab_pane = vue.resolveComponent("el-tab-pane");
26792
+ const _component_ele_Position = vue.resolveComponent("ele-Position");
26793
+ const _component_el_tabs = vue.resolveComponent("el-tabs");
26794
+ const _component_el_button = vue.resolveComponent("el-button");
26795
+ const _component_el_dialog = vue.resolveComponent("el-dialog");
26796
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
26797
+ vue.createVNode(_component_el_tabs, {
26798
+ stretch: "",
26799
+ class: "content-box"
26800
+ }, {
26801
+ default: vue.withCtx(() => [
26802
+ vue.createVNode(_component_el_tab_pane, {
26803
+ label: _ctx.$t("message.list.messageInbox")
26804
+ }, {
26805
+ label: vue.withCtx(() => [
26806
+ vue.createVNode(_component_el_icon, null, {
26807
+ default: vue.withCtx(() => [
26808
+ vue.createVNode(_component_ele_Bell)
26809
+ ]),
26810
+ _: 1
26811
+ /* STABLE */
26812
+ }),
26813
+ vue.createElementVNode(
26814
+ "span",
26815
+ _hoisted_2$1,
26816
+ vue.toDisplayString(_ctx.$t("message.list.messageInbox")),
26817
+ 1
26818
+ /* TEXT */
26819
+ )
26820
+ ]),
26821
+ default: vue.withCtx(() => [
26822
+ vue.createElementVNode("div", _hoisted_3$1, [
26823
+ __props.noticeList.length > 0 ? (vue.openBlock(true), vue.createElementBlock(
26824
+ vue.Fragment,
26825
+ { key: 0 },
26826
+ vue.renderList(__props.noticeList, (v, k) => {
26827
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
26828
+ class: "notice-item",
26829
+ key: k,
26830
+ onClick: ($event) => viewNoticeDetail(v)
26831
+ }, [
26832
+ vue.createElementVNode("div", _hoisted_5, [
26833
+ vue.createVNode(
26834
+ _component_el_icon,
26835
+ {
26836
+ size: "24",
26837
+ color: "var(--el-color-primary)"
26838
+ },
26839
+ {
26840
+ default: vue.withCtx(() => [
26841
+ v.type == 1 ? (vue.openBlock(), vue.createBlock(_component_ele_Notification, { key: 0 })) : (vue.openBlock(), vue.createBlock(_component_ele_Message, { key: 1 }))
26842
+ ]),
26843
+ _: 2
26844
+ /* DYNAMIC */
26845
+ },
26846
+ 1024
26847
+ /* DYNAMIC_SLOTS */
26848
+ )
26849
+ ]),
26850
+ vue.createElementVNode("div", null, [
26851
+ vue.createElementVNode(
26852
+ "div",
26853
+ _hoisted_6,
26854
+ vue.toDisplayString(v.title),
26855
+ 1
26856
+ /* TEXT */
26857
+ ),
26858
+ vue.createElementVNode(
26859
+ "div",
26860
+ _hoisted_7,
26861
+ vue.toDisplayString(vue.unref(removeHtmlSub)(v.content)),
26862
+ 1
26863
+ /* TEXT */
26864
+ ),
26865
+ vue.createElementVNode(
26866
+ "div",
26867
+ _hoisted_8,
26868
+ vue.toDisplayString(v.publicTime),
26869
+ 1
26870
+ /* TEXT */
26871
+ )
26872
+ ])
26873
+ ], 8, _hoisted_4)), [
26874
+ [vue.vShow, v.readStatus == 1 ? false : true]
26875
+ ]);
26876
+ }),
26877
+ 128
26878
+ /* KEYED_FRAGMENT */
26879
+ )) : (vue.openBlock(), vue.createBlock(_component_el_empty, {
26880
+ key: 1,
26881
+ description: _ctx.$t("message.list.empty"),
26882
+ style: { "height": "85%" }
26883
+ }, null, 8, ["description"]))
26884
+ ]),
26885
+ __props.noticeList.length > 0 ? (vue.openBlock(), vue.createElementBlock(
26886
+ "div",
26887
+ {
26888
+ key: 0,
26889
+ class: "notice-foot",
26890
+ onClick: goToNotice
26891
+ },
26892
+ vue.toDisplayString(_ctx.$t("message.list.goToNotice")),
26893
+ 1
26894
+ /* TEXT */
26895
+ )) : vue.createCommentVNode("v-if", true)
26896
+ ]),
26897
+ _: 1
26898
+ /* STABLE */
26899
+ }, 8, ["label"]),
26900
+ vue.createVNode(_component_el_tab_pane, {
26901
+ label: _ctx.$t("message.list.my")
26902
+ }, {
26903
+ label: vue.withCtx(() => [
26904
+ vue.createVNode(_component_el_icon, null, {
26905
+ default: vue.withCtx(() => [
26906
+ vue.createVNode(_component_ele_Position)
26907
+ ]),
26908
+ _: 1
26909
+ /* STABLE */
26910
+ }),
26911
+ vue.createElementVNode(
26912
+ "span",
26913
+ _hoisted_9,
26914
+ vue.toDisplayString(_ctx.$t("message.list.my")),
26915
+ 1
26916
+ /* TEXT */
26917
+ )
26918
+ ]),
26919
+ default: vue.withCtx(() => [
26920
+ vue.createElementVNode("div", _hoisted_10, [
26921
+ vue.createVNode(_component_el_empty, {
26922
+ description: _ctx.$t("message.list.empty"),
26923
+ style: { "height": "85%" }
26924
+ }, null, 8, ["description"])
26925
+ ])
26926
+ ]),
26927
+ _: 1
26928
+ /* STABLE */
26929
+ }, 8, ["label"])
26930
+ ]),
26931
+ _: 1
26932
+ /* STABLE */
26933
+ }),
26934
+ vue.createVNode(_component_el_dialog, {
26935
+ modelValue: state.dialogVisible,
26936
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.dialogVisible = $event),
26937
+ draggable: "",
26938
+ width: "769px"
26939
+ }, {
26940
+ header: vue.withCtx(() => [
26941
+ vue.createElementVNode("div", _hoisted_11, [
26942
+ vue.createVNode(_component_el_icon, {
26943
+ size: "16",
26944
+ style: { "margin-right": "3px", "display": "inline", "vertical-align": "middle" }
26945
+ }, {
26946
+ default: vue.withCtx(() => [
26947
+ vue.createVNode(_component_ele_Bell)
26948
+ ]),
26949
+ _: 1
26950
+ /* STABLE */
26951
+ }),
26952
+ vue.createElementVNode(
26953
+ "span",
26954
+ null,
26955
+ vue.toDisplayString(_ctx.$t("message.list.messageDetail")),
26956
+ 1
26957
+ /* TEXT */
26958
+ )
26959
+ ])
26960
+ ]),
26961
+ footer: vue.withCtx(() => [
26962
+ vue.createElementVNode("span", _hoisted_14, [
26963
+ vue.createVNode(_component_el_button, {
26964
+ type: "primary",
26965
+ onClick: _cache[0] || (_cache[0] = ($event) => state.dialogVisible = false)
26966
+ }, {
26967
+ default: vue.withCtx(() => [
26968
+ vue.createTextVNode(
26969
+ vue.toDisplayString(_ctx.$t("message.list.confirm")),
26970
+ 1
26971
+ /* TEXT */
26972
+ )
26973
+ ]),
26974
+ _: 1
26975
+ /* STABLE */
26976
+ })
26977
+ ])
26978
+ ]),
26979
+ default: vue.withCtx(() => [
26980
+ vue.createElementVNode("div", _hoisted_12, [
26981
+ vue.createElementVNode("div", {
26982
+ innerHTML: state.content,
26983
+ "data-slate-editor": ""
26984
+ }, null, 8, _hoisted_13)
26985
+ ])
26986
+ ]),
26987
+ _: 1
26988
+ /* STABLE */
26989
+ }, 8, ["modelValue"])
26990
+ ]);
26991
+ };
26992
+ }
26993
+ });
26994
+
26995
+ var userNews = /*#__PURE__*/Object.freeze({
26996
+ __proto__: null,
26997
+ default: _sfc_main$2
26998
+ });
26999
+
27000
+ const _hoisted_1$1 = { class: "layout-search-dialog" };
27001
+ var _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
27002
+ __name: "search",
27003
+ setup(__props, { expose: __expose }) {
27004
+ const storesTagsViewRoutes = useTagsViewRoutes();
27005
+ const { tagsViewRoutes } = pinia$1.storeToRefs(storesTagsViewRoutes);
27006
+ const layoutMenuAutocompleteRef = vue.ref();
27007
+ const { t } = vueI18n.useI18n();
27008
+ const router = vueRouter.useRouter();
27009
+ const state = vue.reactive({
27010
+ isShowSearch: false,
27011
+ menuQuery: "",
27012
+ tagsViewList: []
27013
+ });
27014
+ const openSearch = () => {
27015
+ state.menuQuery = "";
27016
+ state.isShowSearch = true;
27017
+ initTageView();
27018
+ vue.nextTick(() => {
27019
+ setTimeout(() => {
27020
+ layoutMenuAutocompleteRef.value.focus();
27021
+ });
27022
+ });
27023
+ };
27024
+ const closeSearch = () => {
27025
+ state.isShowSearch = false;
27026
+ };
27027
+ const menuSearch = (queryString, cb) => {
27028
+ let results = queryString ? state.tagsViewList.filter(createFilter(queryString)) : state.tagsViewList;
27029
+ cb(results);
27030
+ };
27031
+ const createFilter = (queryString) => {
27032
+ return (restaurant) => {
27033
+ return restaurant.path.toLowerCase().indexOf(queryString.toLowerCase()) > -1 || restaurant.meta.title.toLowerCase().indexOf(queryString.toLowerCase()) > -1 || t(restaurant.meta.title).indexOf(queryString.toLowerCase()) > -1;
27034
+ };
27035
+ };
27036
+ const initTageView = () => {
27037
+ if (state.tagsViewList.length > 0) return false;
27038
+ tagsViewRoutes.value.map((v) => {
27039
+ var _a;
27040
+ if (!((_a = v.meta) == null ? void 0 : _a.isHide) && v.type !== 1) state.tagsViewList.push({ ...v });
27041
+ });
27042
+ };
27043
+ const onHandleSelect = (item) => {
27044
+ var _a, _b, _c;
27045
+ let { path, redirect } = item;
27046
+ if (((_a = item.meta) == null ? void 0 : _a.isLink) && !((_b = item.meta) == null ? void 0 : _b.isIframe)) window.open((_c = item.meta) == null ? void 0 : _c.isLink);
27047
+ else if (redirect) router.push(redirect);
27048
+ else router.push(path);
27049
+ closeSearch();
27050
+ };
27051
+ __expose({
27052
+ openSearch
27053
+ });
27054
+ return (_ctx, _cache) => {
27055
+ const _component_ele_Search = vue.resolveComponent("ele-Search");
27056
+ const _component_el_icon = vue.resolveComponent("el-icon");
27057
+ const _component_SvgIcon = vue.resolveComponent("SvgIcon");
27058
+ const _component_el_autocomplete = vue.resolveComponent("el-autocomplete");
27059
+ const _component_el_dialog = vue.resolveComponent("el-dialog");
27060
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
27061
+ vue.createVNode(_component_el_dialog, {
27062
+ modelValue: state.isShowSearch,
27063
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.isShowSearch = $event),
27064
+ "destroy-on-close": "",
27065
+ "show-close": false
27066
+ }, {
27067
+ footer: vue.withCtx(() => [
27068
+ vue.createVNode(_component_el_autocomplete, {
27069
+ modelValue: state.menuQuery,
27070
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.menuQuery = $event),
27071
+ "fetch-suggestions": menuSearch,
27072
+ placeholder: _ctx.$t("message.user.searchPlaceholder"),
27073
+ ref_key: "layoutMenuAutocompleteRef",
27074
+ ref: layoutMenuAutocompleteRef,
27075
+ onSelect: onHandleSelect,
27076
+ "fit-input-width": true
27077
+ }, {
27078
+ prefix: vue.withCtx(() => [
27079
+ vue.createVNode(_component_el_icon, { class: "el-input__icon" }, {
27080
+ default: vue.withCtx(() => [
27081
+ vue.createVNode(_component_ele_Search)
27082
+ ]),
27083
+ _: 1
27084
+ /* STABLE */
27085
+ })
27086
+ ]),
27087
+ default: vue.withCtx(({ item }) => [
27088
+ vue.createElementVNode("div", null, [
27089
+ vue.createVNode(_component_SvgIcon, {
27090
+ name: item.meta.icon,
27091
+ class: "mr5"
27092
+ }, null, 8, ["name"]),
27093
+ vue.createTextVNode(
27094
+ " " + vue.toDisplayString(_ctx.$t(item.meta.title)),
27095
+ 1
27096
+ /* TEXT */
27097
+ )
27098
+ ])
27099
+ ]),
27100
+ _: 1
27101
+ /* STABLE */
27102
+ }, 8, ["modelValue", "placeholder"])
27103
+ ]),
27104
+ _: 1
27105
+ /* STABLE */
27106
+ }, 8, ["modelValue"])
27107
+ ]);
27108
+ };
27109
+ }
27110
+ });
27111
+
27112
+ var search = /*#__PURE__*/Object.freeze({
27113
+ __proto__: null,
27114
+ default: _sfc_main$1
27115
+ });
27116
+
27117
+ const _hoisted_1 = { class: "sys-upgrade-container" };
27118
+ const _hoisted_2 = { style: { "color": "#fff" } };
27119
+ const _hoisted_3 = ["innerHTML"];
27120
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
27121
+ __name: "upgradeInfo",
27122
+ setup(__props, { expose: __expose }) {
27123
+ const state = vue.reactive({
27124
+ isShowDialog: false,
27125
+ ruleForm: {}
27126
+ });
27127
+ const openDialog = (row) => {
27128
+ state.ruleForm = JSON.parse(JSON.stringify(row));
27129
+ state.isShowDialog = true;
27130
+ };
27131
+ const cancel = async () => {
27132
+ await useBaseApi("sysUpgrade").pcomm({ id: state.ruleForm.id }, "setRead");
27133
+ state.isShowDialog = false;
27134
+ };
27135
+ __expose({ openDialog });
27136
+ return (_ctx, _cache) => {
27137
+ const _component_ele_InfoFilled = vue.resolveComponent("ele-InfoFilled");
27138
+ const _component_el_icon = vue.resolveComponent("el-icon");
27139
+ const _component_el_dialog = vue.resolveComponent("el-dialog");
27140
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
27141
+ vue.createVNode(_component_el_dialog, {
27142
+ modelValue: state.isShowDialog,
27143
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.isShowDialog = $event),
27144
+ draggable: "",
27145
+ "close-on-click-modal": false,
27146
+ width: "50vw",
27147
+ "before-close": cancel
27148
+ }, {
27149
+ header: vue.withCtx(() => [
27150
+ vue.createElementVNode("div", _hoisted_2, [
27151
+ vue.createVNode(_component_el_icon, {
27152
+ size: "16",
27153
+ style: { "margin-right": "3px", "display": "inline", "vertical-align": "middle" }
27154
+ }, {
27155
+ default: vue.withCtx(() => [
27156
+ vue.createVNode(_component_ele_InfoFilled)
27157
+ ]),
27158
+ _: 1
27159
+ /* STABLE */
27160
+ }),
27161
+ _cache[1] || (_cache[1] = vue.createElementVNode(
27162
+ "span",
27163
+ null,
27164
+ " \u7CFB\u7EDF\u66F4\u65B0\u65E5\u5FD7 ",
27165
+ -1
27166
+ /* CACHED */
27167
+ ))
27168
+ ])
27169
+ ]),
27170
+ default: vue.withCtx(() => [
27171
+ vue.createElementVNode("div", {
27172
+ innerHTML: state.ruleForm.content,
27173
+ style: { "padding": "20px" }
27174
+ }, null, 8, _hoisted_3)
27175
+ ]),
27176
+ _: 1
27177
+ /* STABLE */
27178
+ }, 8, ["modelValue"])
27179
+ ]);
27180
+ };
27181
+ }
27182
+ });
27183
+
27184
+ var upgradeInfo = /*#__PURE__*/Object.freeze({
27185
+ __proto__: null,
27186
+ default: _sfc_main
27187
+ });
27188
+
23191
27189
  exports.AccountTypeEnum = AccountTypeEnum;
23192
27190
  exports.HttpMethodEnum = HttpMethodEnum;
23193
27191
  exports.JobCreateTypeEnum = JobCreateTypeEnum;