@ditari/bsui 5.0.11 → 5.0.13

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 (113) hide show
  1. package/dist/cjs/components/date/RangePicker.vue2.cjs +10 -2
  2. package/dist/cjs/components/date/RangePicker.vue2.cjs.map +1 -1
  3. package/dist/cjs/components/dic/DicReplace.cjs +94 -0
  4. package/dist/cjs/components/dic/DicReplace.cjs.map +1 -0
  5. package/dist/cjs/components/dic/index.cjs +14 -0
  6. package/dist/cjs/components/dic/index.cjs.map +1 -0
  7. package/dist/cjs/components/form/FormLayout.cjs.map +1 -1
  8. package/dist/cjs/components/icon/Moon.vue.cjs.map +1 -1
  9. package/dist/cjs/components/icon/Sun.vue.cjs.map +1 -1
  10. package/dist/cjs/components/index.cjs +3 -0
  11. package/dist/cjs/components/index.cjs.map +1 -1
  12. package/dist/cjs/components/layout/Layout.vue2.cjs +26 -8
  13. package/dist/cjs/components/layout/Layout.vue2.cjs.map +1 -1
  14. package/dist/cjs/components/layout/List.cjs +31 -31
  15. package/dist/cjs/components/layout/List.cjs.map +1 -1
  16. package/dist/cjs/components/layout/Show.cjs +9 -5
  17. package/dist/cjs/components/layout/Show.cjs.map +1 -1
  18. package/dist/cjs/components/layout/components/index.cjs.map +1 -1
  19. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs +6 -1
  20. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs.map +1 -1
  21. package/dist/cjs/components/layout/components/layout/ThemeApp.vue2.cjs +3 -0
  22. package/dist/cjs/components/layout/components/layout/ThemeApp.vue2.cjs.map +1 -1
  23. package/dist/cjs/components/layout/components/menu/Menu.cjs +18 -10
  24. package/dist/cjs/components/layout/components/menu/Menu.cjs.map +1 -1
  25. package/dist/cjs/components/layout/components/settings/BlockCheckbox.vue2.cjs +3 -1
  26. package/dist/cjs/components/layout/components/settings/BlockCheckbox.vue2.cjs.map +1 -1
  27. package/dist/cjs/components/layout/components/settings/SettingDrawer.cjs +2 -3
  28. package/dist/cjs/components/layout/components/settings/SettingDrawer.cjs.map +1 -1
  29. package/dist/cjs/components/select/Select.vue2.cjs +61 -4
  30. package/dist/cjs/components/select/Select.vue2.cjs.map +1 -1
  31. package/dist/cjs/components/tab/Search.cjs +44 -7
  32. package/dist/cjs/components/tab/Search.cjs.map +1 -1
  33. package/dist/cjs/components/tab/Tab.vue2.cjs +31 -7
  34. package/dist/cjs/components/tab/Tab.vue2.cjs.map +1 -1
  35. package/dist/cjs/components/table/Table.cjs.map +1 -1
  36. package/dist/cjs/index.cjs +2 -0
  37. package/dist/cjs/index.cjs.map +1 -1
  38. package/dist/cjs/utils/useTheme.cjs +11 -13
  39. package/dist/cjs/utils/useTheme.cjs.map +1 -1
  40. package/dist/css/components/tab/style/index.css +1 -1
  41. package/dist/css/index.css +1 -1
  42. package/dist/esm/components/date/RangePicker.vue2.mjs +10 -2
  43. package/dist/esm/components/date/RangePicker.vue2.mjs.map +1 -1
  44. package/dist/esm/components/dic/DicReplace.mjs +90 -0
  45. package/dist/esm/components/dic/DicReplace.mjs.map +1 -0
  46. package/dist/esm/components/dic/index.mjs +10 -0
  47. package/dist/esm/components/dic/index.mjs.map +1 -0
  48. package/dist/esm/components/form/FormLayout.mjs.map +1 -1
  49. package/dist/esm/components/icon/Moon.vue.mjs.map +1 -1
  50. package/dist/esm/components/icon/Sun.vue.mjs.map +1 -1
  51. package/dist/esm/components/index.mjs +2 -0
  52. package/dist/esm/components/index.mjs.map +1 -1
  53. package/dist/esm/components/layout/Layout.vue2.mjs +27 -9
  54. package/dist/esm/components/layout/Layout.vue2.mjs.map +1 -1
  55. package/dist/esm/components/layout/List.mjs +31 -31
  56. package/dist/esm/components/layout/List.mjs.map +1 -1
  57. package/dist/esm/components/layout/Show.mjs +9 -5
  58. package/dist/esm/components/layout/Show.mjs.map +1 -1
  59. package/dist/esm/components/layout/components/index.mjs.map +1 -1
  60. package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs +6 -1
  61. package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs.map +1 -1
  62. package/dist/esm/components/layout/components/layout/ThemeApp.vue2.mjs +3 -0
  63. package/dist/esm/components/layout/components/layout/ThemeApp.vue2.mjs.map +1 -1
  64. package/dist/esm/components/layout/components/menu/Menu.mjs +18 -10
  65. package/dist/esm/components/layout/components/menu/Menu.mjs.map +1 -1
  66. package/dist/esm/components/layout/components/settings/BlockCheckbox.vue2.mjs +3 -1
  67. package/dist/esm/components/layout/components/settings/BlockCheckbox.vue2.mjs.map +1 -1
  68. package/dist/esm/components/layout/components/settings/SettingDrawer.mjs +2 -3
  69. package/dist/esm/components/layout/components/settings/SettingDrawer.mjs.map +1 -1
  70. package/dist/esm/components/select/Select.vue2.mjs +63 -6
  71. package/dist/esm/components/select/Select.vue2.mjs.map +1 -1
  72. package/dist/esm/components/tab/Search.mjs +44 -7
  73. package/dist/esm/components/tab/Search.mjs.map +1 -1
  74. package/dist/esm/components/tab/Tab.vue2.mjs +32 -8
  75. package/dist/esm/components/tab/Tab.vue2.mjs.map +1 -1
  76. package/dist/esm/components/table/Table.mjs.map +1 -1
  77. package/dist/esm/index.mjs +1 -0
  78. package/dist/esm/index.mjs.map +1 -1
  79. package/dist/esm/utils/useTheme.mjs +11 -13
  80. package/dist/esm/utils/useTheme.mjs.map +1 -1
  81. package/dist/style/index.scss +2 -1
  82. package/dist/style/layout/components/settings/style/index.scss +24 -24
  83. package/dist/style/tab/style/index.scss +1 -2
  84. package/dist/types/components/date/RangePicker.vue.d.ts.map +1 -1
  85. package/dist/types/components/dic/DicReplace.d.ts +24 -0
  86. package/dist/types/components/dic/DicReplace.d.ts.map +1 -0
  87. package/dist/types/components/dic/index.d.ts +3 -0
  88. package/dist/types/components/dic/index.d.ts.map +1 -0
  89. package/dist/types/components/form/FormLayout.d.ts.map +1 -1
  90. package/dist/types/components/index.d.ts +1 -0
  91. package/dist/types/components/index.d.ts.map +1 -1
  92. package/dist/types/components/layout/Layout.vue.d.ts +25 -3
  93. package/dist/types/components/layout/Layout.vue.d.ts.map +1 -1
  94. package/dist/types/components/layout/List.d.ts.map +1 -1
  95. package/dist/types/components/layout/Show.d.ts.map +1 -1
  96. package/dist/types/components/layout/components/index.d.ts.map +1 -1
  97. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts +2 -0
  98. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts.map +1 -1
  99. package/dist/types/components/layout/components/layout/ThemeApp.vue.d.ts.map +1 -1
  100. package/dist/types/components/layout/components/menu/Menu.d.ts +3 -1
  101. package/dist/types/components/layout/components/menu/Menu.d.ts.map +1 -1
  102. package/dist/types/components/layout/components/settings/BlockCheckbox.vue.d.ts.map +1 -1
  103. package/dist/types/components/layout/components/settings/SettingDrawer.d.ts.map +1 -1
  104. package/dist/types/components/select/Select.vue.d.ts +2 -1
  105. package/dist/types/components/select/Select.vue.d.ts.map +1 -1
  106. package/dist/types/components/tab/Search.d.ts.map +1 -1
  107. package/dist/types/components/tab/Tab.vue.d.ts +5 -2
  108. package/dist/types/components/tab/Tab.vue.d.ts.map +1 -1
  109. package/dist/types/components/table/Table.d.ts.map +1 -1
  110. package/dist/types/components/table/interface.d.ts.map +1 -1
  111. package/dist/types/index.d.ts.map +1 -1
  112. package/dist/types/utils/useTheme.d.ts.map +1 -1
  113. package/package.json +3 -3
@@ -1 +1 @@
1
- .d-tabs-nav{flex:1;overflow:hidden}.d-tabs-nav .ant-tabs-nav{margin-bottom:0 !important}.d-tabs-nav .ant-tabs-nav:before{border-bottom-width:0}.d-tabs-nav .ant-tabs-nav-operations{display:none !important}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab{position:relative;transition:none !important;border:0;background:rgba(0,0,0,0)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:first-child{margin-left:20px}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:first-child .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:nth-last-child(2){margin-right:20px}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:before,.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:after{position:absolute;bottom:-1px;content:"";width:30px;height:30px;border-radius:100%;box-shadow:0 0 0 40px rgba(0,0,0,0)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:before{left:-30px;clip-path:inset(50% -10px 0 50%)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:after{right:-30px;clip-path:inset(50% 50% 0 -10px)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active{border-radius:10px 10px 0 0 !important;background:var(--active-tab-color)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active:before,.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active:after{z-index:10;box-shadow:0 0 0 30px var(--active-tab-color)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active) .tab-hover-bg{position:absolute;display:flex;flex-direction:column;justify-content:center;top:0;right:0;bottom:0;left:0;z-index:-1}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active) .tab-hover-bg:before{content:"";width:100%;height:25px;border-radius:6px}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active) .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active)+.ant-tabs-tab .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:not(.ant-tabs-tab-active) .close-btn{color:#fff}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:not(.ant-tabs-tab-active) .tab-item{color:#fff}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab-active+.ant-tabs-tab .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab-btn{display:flex;align-items:center}.d-tabs-nav .tab-close{position:absolute;top:0;right:0;bottom:0;padding:4px;display:flex;align-items:center;justify-content:center}.d-tabs-nav .tab-close .close-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;z-index:20}.d-tabs-nav .tab-close .anticon{margin:0}.d-tabs-nav .tab-item{padding-right:30px}.d-tabs-nav .tab-dividers{position:absolute;z-index:0;height:14px;left:-2px}.d-tabs-nav .tab-dividers::before{content:"";display:block;position:absolute;top:0;left:1px;bottom:0;width:1px;opacity:1;background-color:var(--splitColor);border-radius:10px;transition:opacity .2s ease,background-color .3s}.search-popover-wrapper .ant-popover-inner{padding:0}.ant-pro-drawer-setting-handle{position:fixed;inset-block-start:240px;inset-inline-end:0;z-index:10;display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:16px;text-align:center;backdrop-filter:saturate(180%) blur(20px);cursor:pointer;pointer-events:auto}.ant-pro-drawer-setting-handle .icon{color:#fff}.ant-pro-drawer-setting-handle-icon-dark{color:#e5e0d8}.ant-pro-drawer-setting-theme-color{margin-top:16px;overflow:hidden}.ant-pro-drawer-setting-theme-color-block{float:left;width:20px;height:20px;margin-top:8px;margin-right:8px;font-weight:700;display:flex;color:#fff;align-items:center;justify-content:center;border-radius:2px;cursor:pointer}.ant-pro-drawer-setting-block-checkbox{display:flex;min-height:42px}.ant-pro-drawer-setting-block-checkbox-selectIcon{position:absolute;right:6px;bottom:4px;font-weight:700;font-size:14px;pointer-events:none}.ant-pro-drawer-setting-block-checkbox-item{position:relative;width:44px;height:36px;margin-right:16px;overflow:hidden;background-color:#f0f2f5;border-radius:4px;box-shadow:0 1px 2.5px 0 rgba(0,0,0,.18);cursor:pointer}.ant-pro-drawer-setting-block-checkbox-item::before{position:absolute;top:0;left:0;width:33%;height:100%;background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item::after{position:absolute;top:0;left:0;width:100%;height:25%;background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item-dark{background-color:rgba(0,21,41,.85)}.ant-pro-drawer-setting-block-checkbox-item-dark::before{background-color:rgba(0,21,41,.65);content:""}.ant-pro-drawer-setting-block-checkbox-item-dark::after{background-color:rgba(0,21,41,.85)}.ant-pro-drawer-setting-block-checkbox-item-light::before{background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item-light::after{background-color:#fff}.ant-pro-drawer-setting-block-checkbox-item-inverted::before,.ant-pro-drawer-setting-block-checkbox-item-side::before{z-index:1;background-color:#001529;content:""}.ant-pro-drawer-setting-block-checkbox-item-inverted::after,.ant-pro-drawer-setting-block-checkbox-item-side::after{background-color:#fff}.ant-pro-drawer-setting-block-checkbox-item-top::before{background-color:rgba(0,0,0,0);content:""}.ant-pro-drawer-setting-block-checkbox-item-top::after{background-color:#001529}.ant-pro-drawer-setting-block-checkbox-item-mix::before{background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item-mix::after{background-color:#001529}.ant-pro-drawer-setting-block-checkbox-theme-item{background:#2a2c2c;box-shadow:rgba(13,13,13,.18) 0px 1px 2.5px 0px}.ant-pro-drawer-setting-block-checkbox-theme-item-light::before,.ant-pro-drawer-setting-block-checkbox-theme-item-light::after{background-color:#242525}.ant-pro-drawer-setting-block-checkbox-theme-item-dark::before,.ant-pro-drawer-setting-block-checkbox-theme-item-dark::after{background-color:rgba(15,28,41,.65)}.ant-pro-drawer-setting-block-checkbox-theme-item-side::before,.ant-pro-drawer-setting-block-checkbox-theme-item-inverted::before{background-color:#0f1c29}.ant-pro-drawer-setting-block-checkbox-theme-item-side::after,.ant-pro-drawer-setting-block-checkbox-theme-item-inverted::after{background-color:#242525}.ant-pro-drawer-setting-block-checkbox-theme-item-mix::before{background-color:#242525}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0 !important;display:none}.main-enter-active{transition:.2s}.main-leave-active{transition:.15s}.main-enter-from{opacity:0;margin-left:-20px}.main-leave-to{opacity:0;margin-left:20px}
1
+ .d-tabs-nav{flex:1;overflow:hidden}.d-tabs-nav .ant-tabs-nav{margin-bottom:0 !important}.d-tabs-nav .ant-tabs-nav:before{border-bottom-width:0}.d-tabs-nav .ant-tabs-nav-operations{display:none !important}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab{position:relative;transition:none !important;border:0;background:rgba(0,0,0,0)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:first-child{margin-left:20px}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:first-child .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:nth-last-child(2){margin-right:20px}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:before,.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:after{position:absolute;bottom:-1px;content:"";width:30px;height:20px;border-radius:100%;box-shadow:0 0 0 40px rgba(0,0,0,0)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:before{left:-30px;clip-path:inset(50% -10px 0 50%)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:after{right:-30px;clip-path:inset(50% 50% 0 -10px)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active{border-radius:10px 10px 0 0 !important;background:var(--active-tab-color)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active:before,.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active:after{z-index:10;box-shadow:0 0 0 30px var(--active-tab-color)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active) .tab-hover-bg{position:absolute;display:flex;flex-direction:column;justify-content:center;top:0;right:0;bottom:0;left:0;z-index:-1}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active) .tab-hover-bg:before{content:"";width:100%;height:25px;border-radius:6px}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active) .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active)+.ant-tabs-tab .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:not(.ant-tabs-tab-active) .close-btn{color:#fff}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:not(.ant-tabs-tab-active) .tab-item{color:#fff}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab-active+.ant-tabs-tab .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab-btn{display:flex;align-items:center}.d-tabs-nav .tab-close{position:absolute;top:0;right:0;bottom:0;padding:4px;display:flex;align-items:center;justify-content:center}.d-tabs-nav .tab-close .close-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;z-index:20}.d-tabs-nav .tab-close .anticon{margin:0}.d-tabs-nav .tab-item{padding-right:30px}.d-tabs-nav .tab-dividers{position:absolute;z-index:0;height:14px;left:-2px}.d-tabs-nav .tab-dividers::before{content:"";display:block;position:absolute;top:0;left:1px;bottom:0;width:1px;opacity:1;background-color:var(--splitColor);border-radius:10px;transition:opacity .2s ease,background-color .3s}.search-popover-wrapper .ant-popover-inner{padding:0}.ant-pro-drawer-setting-handle{position:fixed;inset-block-start:240px;inset-inline-end:0;z-index:10;display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:16px;text-align:center;backdrop-filter:saturate(180%) blur(20px);cursor:pointer;pointer-events:auto}.ant-pro-drawer-setting-handle .icon{color:#fff}.ant-pro-drawer-setting-handle-icon-dark{color:#e5e0d8}.ant-pro-drawer-setting-theme-color{margin-top:16px;overflow:hidden}.ant-pro-drawer-setting-theme-color-block{float:left;width:20px;height:20px;margin-top:8px;margin-right:8px;font-weight:700;display:flex;color:#fff;align-items:center;justify-content:center;border-radius:2px;cursor:pointer}.ant-pro-drawer-setting-block-checkbox{display:flex;min-height:42px}.ant-pro-drawer-setting-block-checkbox-selectIcon{position:absolute;right:6px;bottom:4px;font-weight:700;font-size:14px;pointer-events:none}.ant-pro-drawer-setting-block-checkbox-item{position:relative;width:44px;height:36px;margin-right:16px;overflow:hidden;background-color:#f0f2f5;border-radius:4px;box-shadow:0 1px 2.5px 0 rgba(0,0,0,.18);cursor:pointer}.ant-pro-drawer-setting-block-checkbox-item::before{position:absolute;top:0;left:0;width:33%;height:100%;background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item::after{position:absolute;top:0;left:0;width:100%;height:25%;background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item-dark{background-color:rgba(0,21,41,.85)}.ant-pro-drawer-setting-block-checkbox-item-dark::before{background-color:rgba(0,21,41,.65);content:""}.ant-pro-drawer-setting-block-checkbox-item-dark::after{background-color:rgba(0,21,41,.85)}.ant-pro-drawer-setting-block-checkbox-item-light::before{background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item-light::after{background-color:#fff}.ant-pro-drawer-setting-block-checkbox-item-inverted::before,.ant-pro-drawer-setting-block-checkbox-item-side::before{z-index:1;background-color:#001529;content:""}.ant-pro-drawer-setting-block-checkbox-item-inverted::after,.ant-pro-drawer-setting-block-checkbox-item-side::after{background-color:#fff}.ant-pro-drawer-setting-block-checkbox-item-top::before{background-color:rgba(0,0,0,0);content:""}.ant-pro-drawer-setting-block-checkbox-item-top::after{background-color:#001529}.ant-pro-drawer-setting-block-checkbox-item-mix::before{background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item-mix::after{background-color:#001529}.ant-pro-drawer-setting-block-checkbox-theme-item{background:#2a2c2c;box-shadow:rgba(13,13,13,.18) 0px 1px 2.5px 0px}.ant-pro-drawer-setting-block-checkbox-theme-item-light::before,.ant-pro-drawer-setting-block-checkbox-theme-item-light::after{background-color:#242525}.ant-pro-drawer-setting-block-checkbox-theme-item-dark::before,.ant-pro-drawer-setting-block-checkbox-theme-item-dark::after{background-color:rgba(15,28,41,.65)}.ant-pro-drawer-setting-block-checkbox-theme-item-side::before,.ant-pro-drawer-setting-block-checkbox-theme-item-inverted::before{background-color:#0f1c29}.ant-pro-drawer-setting-block-checkbox-theme-item-side::after,.ant-pro-drawer-setting-block-checkbox-theme-item-inverted::after{background-color:#242525}.ant-pro-drawer-setting-block-checkbox-theme-item-mix::before{background-color:#242525}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0 !important;display:none}.main-enter-active{transition:.2s}.main-leave-active{transition:.15s}.main-enter-from{opacity:0;margin-left:-20px}.main-leave-to{opacity:0;margin-left:20px}
@@ -91,8 +91,16 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
91
91
  (_b = endTime == null ? void 0 : endTime.format(props.format)) != null ? _b : null
92
92
  );
93
93
  } else {
94
- updatedValue = setNestedValue(updatedValue, props.startField, null);
95
- updatedValue = setNestedValue(updatedValue, props.endField, null);
94
+ updatedValue = setNestedValue(
95
+ updatedValue,
96
+ props.startField,
97
+ null
98
+ );
99
+ updatedValue = setNestedValue(
100
+ updatedValue,
101
+ props.endField,
102
+ null
103
+ );
96
104
  }
97
105
  emits("update:value", updatedValue);
98
106
  emits("change", updatedValue);
@@ -1 +1 @@
1
- {"version":3,"file":"RangePicker.vue2.mjs","sources":["../../../../src/components/date/RangePicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref, watch } from \"vue\";\r\n\r\nimport type { RangeValue } from \"ant-design-vue/es/vc-picker/interface\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport dayjs from \"dayjs\";\r\n\r\n// 工具函数:规范化路径\r\nconst normalizePath = (field: string | string[]): string[] => {\r\n return Array.isArray(field) ? field : [field];\r\n};\r\n\r\n// 工具函数:获取嵌套值\r\nconst getNestedValue = <T extends Record<string, unknown>>(\r\n obj: T,\r\n field: string | string[]\r\n): string | null | undefined => {\r\n const path = normalizePath(field);\r\n let current: unknown = obj;\r\n\r\n for (const key of path) {\r\n if (current && typeof current === \"object\" && key in current) {\r\n current = (current as Record<string, unknown>)[key];\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n return current as string | null | undefined;\r\n};\r\n\r\n// 工具函数:设置嵌套值\r\nconst setNestedValue = <T extends Record<string, unknown>>(\r\n obj: T,\r\n field: string | string[],\r\n value: string | null\r\n): T => {\r\n const path = normalizePath(field);\r\n const newObj = { ...obj };\r\n let current: Record<string, unknown> = newObj;\r\n\r\n for (let i = 0; i < path.length - 1; i++) {\r\n const key = path[i];\r\n if (\r\n !(key in current) ||\r\n typeof current[key] !== \"object\" ||\r\n current[key] === null\r\n ) {\r\n current[key] = {};\r\n } else {\r\n current[key] = { ...current[key] };\r\n }\r\n current = current[key] as Record<string, unknown>;\r\n }\r\n\r\n current[path[path.length - 1]] = value;\r\n return newObj as T;\r\n};\r\n\r\n// 定义 props 类型\r\ninterface Props {\r\n value: Record<string, unknown>;\r\n startField?: string | string[];\r\n endField?: string | string[];\r\n format?: string;\r\n}\r\n\r\nconst props = defineProps({\n value: { type: Object, required: true, default: () => ({}) },\n startField: { type: [String, Array], required: false, default: \"startTime\" },\n endField: { type: [String, Array], required: false, default: \"endTime\" },\n format: { type: String, required: false, default: \"YYYY-MM-DD\" }\n});\r\n\r\n// 定义 emits 类型\r\nconst emits = defineEmits([\"update:value\", \"change\"]);\r\n\r\n// 内部值,用于日期选择器\r\nconst innerValue = ref<RangeValue<Dayjs>>(null);\r\n\r\n// 监听外部 value 变化,同步内部值\r\nwatch(\r\n () => props.value,\r\n newVal => {\r\n const start = getNestedValue(newVal, props.startField);\r\n const end = getNestedValue(newVal, props.endField);\r\n\r\n if (start && end) {\r\n innerValue.value = [dayjs(start), dayjs(end)];\r\n } else {\r\n innerValue.value = null;\r\n }\r\n },\r\n { immediate: true, deep: true }\r\n);\r\n\r\n// 处理日期变化\r\nconst handleChange = (dates: RangeValue<Dayjs>) => {\r\n let updatedValue = { ...props.value };\r\n\r\n if (dates && dates.length === 2) {\r\n const [startTime, endTime] = dates;\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.startField,\r\n startTime?.format(props.format) ?? null\r\n );\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.endField,\r\n endTime?.format(props.format) ?? null\r\n );\r\n } else {\r\n updatedValue = setNestedValue(updatedValue, props.startField, null);\r\n updatedValue = setNestedValue(updatedValue, props.endField, null);\r\n }\r\n\r\n emits(\"update:value\", updatedValue);\r\n emits(\"change\", updatedValue);\r\n};\r\n</script>\r\n\r\n<template>\r\n <a-range-picker\r\n style=\"width: 100%\"\r\n v-model:value=\"innerValue\"\r\n :placeholder=\"['开始时间', '结束时间']\"\r\n @change=\"handleChange\"\r\n />\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RangePicker.vue2.mjs","sources":["../../../../src/components/date/RangePicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref, watch } from \"vue\";\r\n\r\nimport type { RangeValue } from \"ant-design-vue/es/vc-picker/interface\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport dayjs from \"dayjs\";\r\n\r\n// 工具函数:规范化路径\r\nconst normalizePath = (\r\n field: string | string[]\r\n): string[] => {\r\n return Array.isArray(field) ? field : [field];\r\n};\r\n\r\n// 工具函数:获取嵌套值\r\nconst getNestedValue = <T extends Record<string, unknown>>(\r\n obj: T,\r\n field: string | string[]\r\n): string | null | undefined => {\r\n const path = normalizePath(field);\r\n let current: unknown = obj;\r\n\r\n for (const key of path) {\r\n if (\r\n current &&\r\n typeof current === \"object\" &&\r\n key in current\r\n ) {\r\n current = (current as Record<string, unknown>)[key];\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n return current as string | null | undefined;\r\n};\r\n\r\n// 工具函数:设置嵌套值\r\nconst setNestedValue = <T extends Record<string, unknown>>(\r\n obj: T,\r\n field: string | string[],\r\n value: string | null\r\n): T => {\r\n const path = normalizePath(field);\r\n const newObj = { ...obj };\r\n let current: Record<string, unknown> = newObj;\r\n\r\n for (let i = 0; i < path.length - 1; i++) {\r\n const key = path[i];\r\n if (\r\n !(key in current) ||\r\n typeof current[key] !== \"object\" ||\r\n current[key] === null\r\n ) {\r\n current[key] = {};\r\n } else {\r\n current[key] = { ...current[key] };\r\n }\r\n current = current[key] as Record<string, unknown>;\r\n }\r\n\r\n current[path[path.length - 1]] = value;\r\n return newObj as T;\r\n};\r\n\r\n// 定义 props 类型\r\ninterface Props {\r\n value: Record<string, unknown>;\r\n startField?: string | string[];\r\n endField?: string | string[];\r\n format?: string;\r\n}\r\n\r\nconst props = defineProps({\n value: { type: Object, required: true, default: () => ({}) },\n startField: { type: [String, Array], required: false, default: \"startTime\" },\n endField: { type: [String, Array], required: false, default: \"endTime\" },\n format: { type: String, required: false, default: \"YYYY-MM-DD\" }\n});\r\n\r\n// 定义 emits 类型\r\nconst emits = defineEmits([\"update:value\", \"change\"]);\r\n\r\n// 内部值,用于日期选择器\r\nconst innerValue = ref<RangeValue<Dayjs>>(null);\r\n\r\n// 监听外部 value 变化,同步内部值\r\nwatch(\r\n () => props.value,\r\n newVal => {\r\n const start = getNestedValue(newVal, props.startField);\r\n const end = getNestedValue(newVal, props.endField);\r\n\r\n if (start && end) {\r\n innerValue.value = [dayjs(start), dayjs(end)];\r\n } else {\r\n innerValue.value = null;\r\n }\r\n },\r\n { immediate: true, deep: true }\r\n);\r\n\r\n// 处理日期变化\r\nconst handleChange = (dates: RangeValue<Dayjs>) => {\r\n let updatedValue = { ...props.value };\r\n\r\n if (dates && dates.length === 2) {\r\n const [startTime, endTime] = dates;\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.startField,\r\n startTime?.format(props.format) ?? null\r\n );\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.endField,\r\n endTime?.format(props.format) ?? null\r\n );\r\n } else {\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.startField,\r\n null\r\n );\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.endField,\r\n null\r\n );\r\n }\r\n\r\n emits(\"update:value\", updatedValue);\r\n emits(\"change\", updatedValue);\r\n};\r\n</script>\r\n\r\n<template>\r\n <a-range-picker\r\n style=\"width: 100%\"\r\n v-model:value=\"innerValue\"\r\n :placeholder=\"['开始时间', '结束时间']\"\r\n @change=\"handleChange\"\r\n />\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { defineComponent, ref, inject, onActivated, onMounted, watch, createVNode } from 'vue';
2
+ import { useRoute } from 'vue-router';
3
+ import { useKeepAliveStore, useDicStore } from '@ditari/store';
4
+
5
+ "use strict";
6
+ var __async = (__this, __arguments, generator) => {
7
+ return new Promise((resolve, reject) => {
8
+ var fulfilled = (value) => {
9
+ try {
10
+ step(generator.next(value));
11
+ } catch (e) {
12
+ reject(e);
13
+ }
14
+ };
15
+ var rejected = (value) => {
16
+ try {
17
+ step(generator.throw(value));
18
+ } catch (e) {
19
+ reject(e);
20
+ }
21
+ };
22
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
23
+ step((generator = generator.apply(__this, __arguments)).next());
24
+ });
25
+ };
26
+ var DicReplace = /* @__PURE__ */ defineComponent({
27
+ name: "DicRep",
28
+ props: {
29
+ // 字典名称
30
+ name: {
31
+ type: String,
32
+ default: ""
33
+ },
34
+ // 值
35
+ value: {
36
+ type: String,
37
+ default: ""
38
+ }
39
+ },
40
+ setup(props) {
41
+ const {
42
+ get: keepNames
43
+ } = useKeepAliveStore();
44
+ const {
45
+ getDicTextByValue
46
+ } = useDicStore();
47
+ const route = useRoute();
48
+ const isKeepAlive = keepNames.some((name) => name === route.name);
49
+ const dicValueTxt = ref("");
50
+ const fetchDic = inject("fetchDic", (name) => __async(this, null, function* () {
51
+ console.warn(`fetchDic \u672A\u6CE8\u5165\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u5B9E\u73B0\uFF0Cname: ${name}`);
52
+ return [];
53
+ }));
54
+ onActivated(() => __async(this, null, function* () {
55
+ yield loadDicData();
56
+ }));
57
+ onMounted(() => __async(this, null, function* () {
58
+ if (!isKeepAlive) {
59
+ yield loadDicData();
60
+ }
61
+ }));
62
+ function loadDicData() {
63
+ return __async(this, null, function* () {
64
+ try {
65
+ yield fetchDic(props.name);
66
+ replace(props.value);
67
+ } catch (error) {
68
+ console.error("\u83B7\u53D6\u5B57\u5178\u6570\u636E\u5931\u8D25:", error);
69
+ }
70
+ });
71
+ }
72
+ loadDicData().then(() => console.log("success load dic"));
73
+ watch(() => props.value, (val) => {
74
+ replace(val);
75
+ }, {
76
+ immediate: true
77
+ });
78
+ function replace(val) {
79
+ const value = val;
80
+ const name = props.name;
81
+ dicValueTxt.value = getDicTextByValue(name, value);
82
+ }
83
+ return () => createVNode("span", {
84
+ "class": "d-dic"
85
+ }, [dicValueTxt.value]);
86
+ }
87
+ });
88
+
89
+ export { DicReplace as default };
90
+ //# sourceMappingURL=DicReplace.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DicReplace.mjs","sources":["../../../../src/components/dic/DicReplace.tsx"],"sourcesContent":["/**\n * 字典替换\n * 根据字典名字及对应的value替换成中文或者人能看懂的文字\n * @author 余春林\n */\nimport {\n defineComponent,\n inject,\n onActivated,\n onMounted,\n ref,\n watch\n} from \"vue\";\nimport { useRoute } from \"vue-router\";\n\nimport {\n useDicStore,\n useKeepAliveStore\n} from \"@ditari/store\";\n\nexport default defineComponent({\n name: \"DicRep\",\n props: {\n // 字典名称\n name: {\n type: String,\n default: \"\"\n },\n // 值\n value: {\n type: String,\n default: \"\"\n }\n },\n setup(props) {\n const { get: keepNames } = useKeepAliveStore();\n const { getDicTextByValue } = useDicStore();\n const route = useRoute();\n // 判断使用组件的页面是否被缓存\n const isKeepAlive = keepNames.some(\n (name: string) => name === route.name\n );\n const dicValueTxt = ref<string>(\"\");\n\n // 注入 fetchDic,提供默认值\n const fetchDic = inject<\n (name: string) => Promise<unknown[]>\n >(\"fetchDic\", async (name: string) => {\n console.warn(\n `fetchDic 未注入,使用默认实现,name: ${name}`\n );\n return [];\n });\n\n onActivated(async () => {\n // 缓存页面被激活的时候调用\n await loadDicData();\n });\n\n onMounted(async () => {\n if (!isKeepAlive) {\n // 未缓存页面 挂载的时候调用\n await loadDicData();\n }\n });\n\n // 请求字典数据的函数\n async function loadDicData() {\n try {\n // 调用注入进来的fetchDic方法\n await fetchDic(props.name);\n replace(props.value);\n } catch (error) {\n console.error(\"获取字典数据失败:\", error);\n }\n }\n\n loadDicData().then(() =>\n console.log(\"success load dic\")\n );\n\n watch(\n () => props.value,\n (val: string) => {\n replace(val);\n },\n {\n immediate: true\n }\n );\n\n function replace(val: string) {\n const value = val;\n const name = props.name;\n dicValueTxt.value = getDicTextByValue(name, value);\n }\n\n return () => (\n <span class={\"d-dic\"}>{dicValueTxt.value}</span>\n );\n }\n});\n"],"names":["name","props","type","String","default","value","setup","get","keepNames","useKeepAliveStore","getDicTextByValue","useDicStore","route","useRoute","isKeepAlive","some","dicValueTxt","ref","fetchDic","inject","console","warn","onActivated","loadDicData","onMounted","replace","error","then","log","watch","val","immediate","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,iCAA+B,eAAA,CAAA;AAAA,EAC7BA,IAAM,EAAA,QAAA;AAAA,EACNC,KAAO,EAAA;AAAA;AAAA,IAELD,IAAM,EAAA;AAAA,MACJE,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA;AAAA,KACX;AAAA;AAAA,IAEAC,KAAO,EAAA;AAAA,MACLH,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA;AAAA;AACX,GACF;AAAA,EACAE,MAAML,KAAO,EAAA;AACX,IAAM,MAAA;AAAA,MAAEM,GAAKC,EAAAA;AAAAA,QAAcC,iBAAkB,EAAA;AAC7C,IAAM,MAAA;AAAA,MAAEC;AAAAA,QAAsBC,WAAY,EAAA;AAC1C,IAAA,MAAMC,QAAQC,QAAS,EAAA;AAEvB,IAAA,MAAMC,cAAcN,SAAUO,CAAAA,IAAAA,CAC3Bf,CAAiBA,IAAAA,KAAAA,IAAAA,KAASY,MAAMZ,IACnC,CAAA;AACA,IAAMgB,MAAAA,WAAAA,GAAcC,IAAY,EAAE,CAAA;AAGlC,IAAA,MAAMC,QAAWC,GAAAA,MAAAA,CAEf,UAAY,EAAA,CAAOnB,IAAiB,KAAA,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AACpCoB,MAAQC,OAAAA,CAAAA,IAAAA,CACN,CAA6BrB,iFAAAA,EAAAA,IAAI,CACnC,CAAA,CAAA;AACA,MAAA,OAAO,EAAE;AAAA,KACV,CAAA,CAAA;AAEDsB,IAAAA,WAAAA,CAAY,MAAY,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AAEtB,MAAA,MAAMC,WAAY,EAAA;AAAA,KACnB,CAAA,CAAA;AAEDC,IAAAA,SAAAA,CAAU,MAAY,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AACpB,MAAA,IAAI,CAACV,WAAa,EAAA;AAEhB,QAAA,MAAMS,WAAY,EAAA;AAAA;AACpB,KACD,CAAA,CAAA;AAGD,IAAA,SAAeA,WAAc,GAAA;AAAA,MAAA,OAAA,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AAC3B,QAAI,IAAA;AAEF,UAAML,MAAAA,QAAAA,CAASjB,MAAMD,IAAI,CAAA;AACzByB,UAAAA,OAAAA,CAAQxB,MAAMI,KAAK,CAAA;AAAA,iBACZqB,KAAO,EAAA;AACdN,UAAQM,OAAAA,CAAAA,KAAAA,CAAM,qDAAaA,KAAK,CAAA;AAAA;AAClC,OACF,CAAA;AAAA;AAEAH,IAAAA,WAAAA,GAAcI,IAAK,CAAA,MACjBP,OAAQQ,CAAAA,GAAAA,CAAI,kBAAkB,CAChC,CAAA;AAEAC,IACE,KAAA,CAAA,MAAM5B,KAAMI,CAAAA,KAAAA,EACXyB,CAAgB,GAAA,KAAA;AACfL,MAAAA,OAAAA,CAAQK,GAAG,CAAA;AAAA,KAEb,EAAA;AAAA,MACEC,SAAW,EAAA;AAAA,KAEf,CAAA;AAEA,IAAA,SAASN,QAAQK,GAAa,EAAA;AAC5B,MAAA,MAAMzB,KAAQyB,GAAAA,GAAAA;AACd,MAAA,MAAM9B,OAAOC,KAAMD,CAAAA,IAAAA;AACnBgB,MAAYX,WAAAA,CAAAA,KAAAA,GAAQK,iBAAkBV,CAAAA,IAAAA,EAAMK,KAAK,CAAA;AAAA;AAGnD,IAAO,OAAA,MAAA2B,YAAA,MAAA,EAAA;AAAA,MAAA,OACQ,EAAA;AAAA,KAAUhB,EAAAA,CAAAA,WAAYX,CAAAA,KAAK,CACzC,CAAA;AAAA;AAEL,CAAC,CAAA;;;;"}
@@ -0,0 +1,10 @@
1
+ import DicReplace from './DicReplace.mjs';
2
+
3
+ "use strict";
4
+ DicReplace.install = function(app) {
5
+ app.component(DicReplace.name, DicReplace);
6
+ return app;
7
+ };
8
+
9
+ export { DicReplace as default };
10
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/components/dic/index.ts"],"sourcesContent":["import DicReplace from \"./DicReplace\";\nimport type { App } from \"vue\";\n\nDicReplace.install = function (app: App) {\n app.component(DicReplace.name!, DicReplace);\n return app;\n};\nexport default DicReplace;\n"],"names":[],"mappings":";;;AAGA,UAAW,CAAA,OAAA,GAAU,SAAU,GAAU,EAAA;AACvC,EAAI,GAAA,CAAA,SAAA,CAAU,UAAW,CAAA,IAAA,EAAO,UAAU,CAAA;AAC1C,EAAO,OAAA,GAAA;AACT,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormLayout.mjs","sources":["../../../../src/components/form/FormLayout.tsx"],"sourcesContent":["import { defineComponent, onMounted, ref, watch, watchEffect } from \"vue\";\r\nimport { Button, Col, Form, FormItem, Row, Space } from \"ant-design-vue\";\r\n\r\nimport {\r\n DoubleRightOutlined,\r\n ReloadOutlined,\r\n SearchOutlined\r\n} from \"@ant-design/icons-vue\";\r\n\r\n/**\r\n * 查询表单渲染\r\n * 展开,隐藏功能\r\n */\r\nexport default defineComponent({\r\n name: \"DQueryForm\",\r\n props: {\r\n scheme: {\r\n type: [Array, Object] as unknown as () => any[] | Record<string, any>,\r\n default: () => []\r\n },\r\n model: {\r\n type: Object as () => Record<string, unknown>,\r\n default: () => ({})\r\n },\r\n labelWidth: {\r\n type: String,\r\n default: \"90px\"\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n emits: [\"reset\", \"query\"],\r\n setup(props, { slots, emit }) {\r\n // 表单\r\n const { loading, modelValue, formRef, onQuery, onReset, onKeyup } =\r\n useForm();\r\n // 展开\r\n const { rowRef, actionSpan, onExpend, expendBtnVisible, isExpend } =\r\n useExpand();\r\n //渲染操作列\r\n const { renderAction } = useRender();\r\n\r\n function useForm() {\r\n const loading = ref(false);\r\n const formRef = ref<any>(null);\r\n const modelValue = ref<any>({});\r\n\r\n watchEffect(() => {\r\n modelValue.value = props.model;\r\n });\r\n\r\n watch(\r\n () => props.loading,\r\n val => {\r\n loading.value = val;\r\n }\r\n );\r\n\r\n /// 监听回车事件\r\n // watch(enterKey, (v) => {\r\n // if (v) {\r\n // // 有路由名字会被keepalive进行缓存\r\n // // 用于判断当前页面是否被激活 因为页面被缓存的时候,页面切换后,回车事件依然会触发\r\n // const isActive = keepStore.list.some((name) => name === route.name);\r\n // console.log(route.name);\r\n // if (!loading.value && isActive) {\r\n // emit(\"query\", modelValue.value);\r\n // }\r\n // //TODO 逻辑有问题\r\n // if (!route.name) {\r\n // // 没有路由名字,不会被缓存\r\n // if (!loading.value) {\r\n // emit(\"query\", modelValue.value);\r\n // }\r\n // } else {\r\n //\r\n // }\r\n // }\r\n // });\r\n\r\n const onQuery = () => {\r\n emit(\"query\", modelValue.value);\r\n };\r\n\r\n const onReset = () => {\r\n formRef.value?.resetFields();\r\n emit(\"reset\");\r\n };\r\n\r\n const onKeyup = (event: any) => {\r\n if (event.keyCode === 13) {\r\n if (!loading.value) {\r\n emit(\"query\", modelValue.value);\r\n }\r\n }\r\n };\r\n return {\r\n loading,\r\n modelValue,\r\n formRef,\r\n onQuery,\r\n onReset,\r\n onKeyup\r\n };\r\n }\r\n\r\n function useRender() {\r\n /**\r\n * 操作按钮渲染\r\n */\r\n function renderAction() {\r\n return (\r\n <Space>\r\n <Button\r\n loading={loading.value}\r\n type={\"primary\"}\r\n shape={\"round\"}\r\n onClick={onQuery}\r\n >\r\n {{\r\n default: () => \"查询\",\r\n icon: () => <SearchOutlined />\r\n }}\r\n </Button>\r\n <Button disabled={loading.value} shape={\"round\"} onClick={onReset}>\r\n {{\r\n default: () => \"重置\",\r\n icon: () => <ReloadOutlined />\r\n }}\r\n </Button>\r\n {expendBtnVisible.value ? (\r\n <Button onClick={onExpend} shape={\"round\"}>\r\n {{\r\n default: () => (isExpend.value ? \"收起\" : \"展开\"),\r\n icon: () => (\r\n <DoubleRightOutlined rotate={isExpend.value ? -90 : 90} />\r\n )\r\n }}\r\n </Button>\r\n ) : null}\r\n </Space>\r\n );\r\n }\r\n\r\n return {\r\n renderAction\r\n };\r\n }\r\n\r\n function useExpand() {\r\n // 为24网格布局\r\n const gridCount = 24;\r\n // 每列占6个格子\r\n const colSpan = 6;\r\n // 每行显示4列\r\n const colsPerRow = 4;\r\n // 操作按钮span\r\n const actionSpan = ref(6);\r\n // 控制展开或隐藏按钮文本\r\n const isExpend = ref(false);\r\n // 控制展开按按钮是否显示\r\n const expendBtnVisible = ref(false);\r\n // 行对象\r\n const rowRef = ref<any>(null);\r\n\r\n onMounted(() => {\r\n handleShowOrHidden();\r\n });\r\n\r\n function onExpend() {\r\n isExpend.value = !isExpend.value;\r\n handleShowOrHidden();\r\n }\r\n\r\n /**\r\n * 处理隐藏或显示\r\n */\r\n function handleShowOrHidden() {\r\n const colEl = Array.from(rowRef.value?.$el?.children);\r\n // col总条数 减掉操作栏按钮的div个数为1\r\n const colElLen = colEl.length - 1;\r\n // 已占用的网格数 = col总条数 * 每列占用的网格数\r\n const occupiedCols = colElLen * colSpan;\r\n // 总行数 = 总div数 / 每行显示的列数\r\n const fullRows = Math.ceil(colElLen / colsPerRow);\r\n // 最后一行的网格数 = 已占用的网格数 % 24\r\n const lastRowCols = occupiedCols % gridCount;\r\n // 最后一行剩余的网格数\r\n const remainingCols = gridCount - lastRowCols;\r\n\r\n // 网格行大于2才显示展开或隐藏按钮\r\n if (fullRows > 2) {\r\n expendBtnVisible.value = true;\r\n } else {\r\n // 如果没有大于两行,操作栏占用剩余的宽度\r\n actionSpan.value = remainingCols;\r\n }\r\n // 最后一行的起始索引\r\n const lastRowStartIndex = colsPerRow * (fullRows - 1) - 1;\r\n // 只有展开按钮显示时才处理\r\n if (expendBtnVisible.value) {\r\n colEl.forEach((col: any, index) => {\r\n if (index >= lastRowStartIndex) {\r\n // 最后一个元素不隐藏 是操作按钮的div\r\n index !== colElLen\r\n ? (col.style.display = !isExpend.value ? \"none\" : \"block\")\r\n : null; // 隐藏元素\r\n }\r\n });\r\n }\r\n\r\n if (expendBtnVisible.value) {\r\n // 如果是展开状态 则操作按钮占用剩余的网格数 否则占用6个网格\r\n isExpend.value\r\n ? (actionSpan.value = remainingCols)\r\n : (actionSpan.value = colSpan);\r\n }\r\n }\r\n\r\n return {\r\n rowRef,\r\n actionSpan,\r\n onExpend,\r\n expendBtnVisible,\r\n isExpend\r\n };\r\n }\r\n\r\n return () => (\r\n <div onKeyup={onKeyup}>\r\n <Form\r\n ref={formRef}\r\n colon={false}\r\n labelCol={{ style: { width: props.labelWidth } }}\r\n model={modelValue.value}\r\n >\r\n <Row ref={rowRef}>\r\n {slots.default?.()}\r\n <Col span={actionSpan.value} style={{ textAlign: \"right\" }}>\r\n <FormItem>\r\n {slots.action ? slots.action() : renderAction()}\r\n </FormItem>\r\n </Col>\r\n </Row>\r\n </Form>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["name","props","scheme","type","Array","Object","default","model","labelWidth","String","loading","Boolean","emits","setup","slots","emit","modelValue","formRef","onQuery","onReset","onKeyup","useForm","rowRef","actionSpan","onExpend","expendBtnVisible","isExpend","useExpand","renderAction","useRender","ref","watchEffect","value","watch","val","resetFields","event","keyCode","_createVNode","Space","Button","icon","SearchOutlined","ReloadOutlined","DoubleRightOutlined","gridCount","colSpan","colsPerRow","onMounted","handleShowOrHidden","colEl","from","$el","children","colElLen","length","occupiedCols","fullRows","Math","ceil","lastRowCols","remainingCols","lastRowStartIndex","forEach","col","index","style","display","Form","width","Row","Col","textAlign","FormItem","action"],"mappings":"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"}
1
+ {"version":3,"file":"FormLayout.mjs","sources":["../../../../src/components/form/FormLayout.tsx"],"sourcesContent":["import {\r\n defineComponent,\r\n onMounted,\r\n ref,\r\n watch,\r\n watchEffect\r\n} from \"vue\";\r\nimport {\r\n Button,\r\n Col,\r\n Form,\r\n FormItem,\r\n Row,\r\n Space\r\n} from \"ant-design-vue\";\r\n\r\nimport {\r\n DoubleRightOutlined,\r\n ReloadOutlined,\r\n SearchOutlined\r\n} from \"@ant-design/icons-vue\";\r\n\r\n/**\r\n * 查询表单渲染\r\n * 展开,隐藏功能\r\n */\r\nexport default defineComponent({\r\n name: \"DQueryForm\",\r\n props: {\r\n scheme: {\r\n type: [Array, Object] as unknown as () =>\r\n | any[]\r\n | Record<string, any>,\r\n default: () => []\r\n },\r\n model: {\r\n type: Object as () => Record<string, unknown>,\r\n default: () => ({})\r\n },\r\n labelWidth: {\r\n type: String,\r\n default: \"90px\"\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n emits: [\"reset\", \"query\"],\r\n setup(props, { slots, emit }) {\r\n // 表单\r\n const {\r\n loading,\r\n modelValue,\r\n formRef,\r\n onQuery,\r\n onReset,\r\n onKeyup\r\n } = useForm();\r\n // 展开\r\n const {\r\n rowRef,\r\n actionSpan,\r\n onExpend,\r\n expendBtnVisible,\r\n isExpend\r\n } = useExpand();\r\n //渲染操作列\r\n const { renderAction } = useRender();\r\n\r\n function useForm() {\r\n const loading = ref(false);\r\n const formRef = ref<any>(null);\r\n const modelValue = ref<any>({});\r\n\r\n watchEffect(() => {\r\n modelValue.value = props.model;\r\n });\r\n\r\n watch(\r\n () => props.loading,\r\n val => {\r\n loading.value = val;\r\n }\r\n );\r\n\r\n /// 监听回车事件\r\n // watch(enterKey, (v) => {\r\n // if (v) {\r\n // // 有路由名字会被keepalive进行缓存\r\n // // 用于判断当前页面是否被激活 因为页面被缓存的时候,页面切换后,回车事件依然会触发\r\n // const isActive = keepStore.list.some((name) => name === route.name);\r\n // console.log(route.name);\r\n // if (!loading.value && isActive) {\r\n // emit(\"query\", modelValue.value);\r\n // }\r\n // //TODO 逻辑有问题\r\n // if (!route.name) {\r\n // // 没有路由名字,不会被缓存\r\n // if (!loading.value) {\r\n // emit(\"query\", modelValue.value);\r\n // }\r\n // } else {\r\n //\r\n // }\r\n // }\r\n // });\r\n\r\n const onQuery = () => {\r\n emit(\"query\", modelValue.value);\r\n };\r\n\r\n const onReset = () => {\r\n formRef.value?.resetFields();\r\n emit(\"reset\");\r\n };\r\n\r\n const onKeyup = (event: any) => {\r\n if (event.keyCode === 13) {\r\n if (!loading.value) {\r\n emit(\"query\", modelValue.value);\r\n }\r\n }\r\n };\r\n return {\r\n loading,\r\n modelValue,\r\n formRef,\r\n onQuery,\r\n onReset,\r\n onKeyup\r\n };\r\n }\r\n\r\n function useRender() {\r\n /**\r\n * 操作按钮渲染\r\n */\r\n function renderAction() {\r\n return (\r\n <Space>\r\n <Button\r\n loading={loading.value}\r\n type={\"primary\"}\r\n shape={\"round\"}\r\n onClick={onQuery}\r\n >\r\n {{\r\n default: () => \"查询\",\r\n icon: () => <SearchOutlined />\r\n }}\r\n </Button>\r\n <Button\r\n disabled={loading.value}\r\n shape={\"round\"}\r\n onClick={onReset}\r\n >\r\n {{\r\n default: () => \"重置\",\r\n icon: () => <ReloadOutlined />\r\n }}\r\n </Button>\r\n {expendBtnVisible.value ? (\r\n <Button onClick={onExpend} shape={\"round\"}>\r\n {{\r\n default: () =>\r\n isExpend.value ? \"收起\" : \"展开\",\r\n icon: () => (\r\n <DoubleRightOutlined\r\n rotate={isExpend.value ? -90 : 90}\r\n />\r\n )\r\n }}\r\n </Button>\r\n ) : null}\r\n </Space>\r\n );\r\n }\r\n\r\n return {\r\n renderAction\r\n };\r\n }\r\n\r\n function useExpand() {\r\n // 为24网格布局\r\n const gridCount = 24;\r\n // 每列占6个格子\r\n const colSpan = 6;\r\n // 每行显示4列\r\n const colsPerRow = 4;\r\n // 操作按钮span\r\n const actionSpan = ref(6);\r\n // 控制展开或隐藏按钮文本\r\n const isExpend = ref(false);\r\n // 控制展开按按钮是否显示\r\n const expendBtnVisible = ref(false);\r\n // 行对象\r\n const rowRef = ref<any>(null);\r\n\r\n onMounted(() => {\r\n handleShowOrHidden();\r\n });\r\n\r\n function onExpend() {\r\n isExpend.value = !isExpend.value;\r\n handleShowOrHidden();\r\n }\r\n\r\n /**\r\n * 处理隐藏或显示\r\n */\r\n function handleShowOrHidden() {\r\n const colEl = Array.from(\r\n rowRef.value?.$el?.children\r\n );\r\n // col总条数 减掉操作栏按钮的div个数为1\r\n const colElLen = colEl.length - 1;\r\n // 已占用的网格数 = col总条数 * 每列占用的网格数\r\n const occupiedCols = colElLen * colSpan;\r\n // 总行数 = 总div数 / 每行显示的列数\r\n const fullRows = Math.ceil(colElLen / colsPerRow);\r\n // 最后一行的网格数 = 已占用的网格数 % 24\r\n const lastRowCols = occupiedCols % gridCount;\r\n // 最后一行剩余的网格数\r\n const remainingCols = gridCount - lastRowCols;\r\n\r\n // 网格行大于2才显示展开或隐藏按钮\r\n if (fullRows > 2) {\r\n expendBtnVisible.value = true;\r\n } else {\r\n // 如果没有大于两行,操作栏占用剩余的宽度\r\n actionSpan.value = remainingCols;\r\n }\r\n // 最后一行的起始索引\r\n const lastRowStartIndex =\r\n colsPerRow * (fullRows - 1) - 1;\r\n // 只有展开按钮显示时才处理\r\n if (expendBtnVisible.value) {\r\n colEl.forEach((col: any, index) => {\r\n if (index >= lastRowStartIndex) {\r\n // 最后一个元素不隐藏 是操作按钮的div\r\n index !== colElLen\r\n ? (col.style.display = !isExpend.value\r\n ? \"none\"\r\n : \"block\")\r\n : null; // 隐藏元素\r\n }\r\n });\r\n }\r\n\r\n if (expendBtnVisible.value) {\r\n // 如果是展开状态 则操作按钮占用剩余的网格数 否则占用6个网格\r\n isExpend.value\r\n ? (actionSpan.value = remainingCols)\r\n : (actionSpan.value = colSpan);\r\n }\r\n }\r\n\r\n return {\r\n rowRef,\r\n actionSpan,\r\n onExpend,\r\n expendBtnVisible,\r\n isExpend\r\n };\r\n }\r\n\r\n return () => (\r\n <div onKeyup={onKeyup}>\r\n <Form\r\n ref={formRef}\r\n colon={false}\r\n labelCol={{ style: { width: props.labelWidth } }}\r\n model={modelValue.value}\r\n >\r\n <Row ref={rowRef}>\r\n {slots.default?.()}\r\n <Col\r\n span={actionSpan.value}\r\n style={{ textAlign: \"right\" }}\r\n >\r\n <FormItem>\r\n {slots.action\r\n ? slots.action()\r\n : renderAction()}\r\n </FormItem>\r\n </Col>\r\n </Row>\r\n </Form>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["name","props","scheme","type","Array","Object","default","model","labelWidth","String","loading","Boolean","emits","setup","slots","emit","modelValue","formRef","onQuery","onReset","onKeyup","useForm","rowRef","actionSpan","onExpend","expendBtnVisible","isExpend","useExpand","renderAction","useRender","ref","watchEffect","value","watch","val","resetFields","event","keyCode","_createVNode","Space","Button","icon","SearchOutlined","ReloadOutlined","DoubleRightOutlined","gridCount","colSpan","colsPerRow","onMounted","handleShowOrHidden","colEl","from","$el","children","colElLen","length","occupiedCols","fullRows","Math","ceil","lastRowCols","remainingCols","lastRowStartIndex","forEach","col","index","style","display","Form","width","Row","Col","textAlign","FormItem","action"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Moon.vue.mjs","sources":["../../../../src/components/icon/Moon.vue"],"sourcesContent":["<script setup lang=\"ts\"></script>\r\n\r\n<template>\r\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\">\r\n <path\r\n d=\"M42.108 29.769c.124-.387-.258-.736-.645-.613A17.99 17.99 0 0136 30c-9.941 0-18-8.059-18-18 0-1.905.296-3.74.844-5.463.123-.387-.226-.769-.613-.645C10.558 8.334 5 15.518 5 24c0 10.493 8.507 19 19 19 8.482 0 15.666-5.558 18.108-13.231z\"\r\n fill=\"#4E5969\"\r\n />\r\n </svg>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["_openBlock","_createElementBlock","_createElementVNode"],"mappings":";;;;;AAGO,MAAA,UAAU,GAAA;AAAA,EAAC;EAAY;EAAoB,OAAW,EAAA,WAAA;AAAA;;AAA3D,SAAA,WAAA,CAAA,MAAA,MAAA,EAAA;EAII,OAAAA,SAAA,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAA,UAAA,EAAA,OAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA;AAAA,IAFAC,kBAAA;AAAA,MAA6O,MAAA;AAAA,MAAA;AAAA,QAC7O,CAAA,EAAA,2OAAA;AAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Moon.vue.mjs","sources":["../../../../src/components/icon/Moon.vue"],"sourcesContent":["<script setup lang=\"ts\"></script>\r\n\r\n<template>\r\n <svg\r\n width=\"48\"\r\n height=\"48\"\r\n viewBox=\"0 0 48 48\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M42.108 29.769c.124-.387-.258-.736-.645-.613A17.99 17.99 0 0136 30c-9.941 0-18-8.059-18-18 0-1.905.296-3.74.844-5.463.123-.387-.226-.769-.613-.645C10.558 8.334 5 15.518 5 24c0 10.493 8.507 19 19 19 8.482 0 15.666-5.558 18.108-13.231z\"\r\n fill=\"#4E5969\"\r\n />\r\n </svg>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["_openBlock","_createElementBlock","_createElementVNode"],"mappings":";;;;;AAII,MAAA,UAAU,GAAA;AAAA,EACV;EACA;EACA,OAAW,EAAA,WAAA;AAAA;;AAJb,SAAA,WAAA,CAAA,MAAA,MAAA,EAAA;EASI,OAAAA,SAAA,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAA,UAAA,EAAA,OAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA;AAAA,IAFAC,kBAAA;AAAA,MAA6O,MAAA;AAAA,MAAA;AAAA,QAC7O,CAAA,EAAA,2OAAA;AAAA;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Sun.vue.mjs","sources":["../../../../src/components/icon/Sun.vue"],"sourcesContent":["<script setup lang=\"ts\"></script>\r\n\r\n<template>\r\n <svg width=\"22\" height=\"22\" viewBox=\"0 0 48 48\" fill=\"none\">\r\n <circle cx=\"24\" cy=\"24\" r=\"9\" fill=\"red\" />\r\n <path\r\n d=\"M21 5.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-5zM21 37.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-5zM42.5 21a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5h5zM10.5 21a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5h5zM39.203 34.96a.5.5 0 010 .707l-3.536 3.536a.5.5 0 01-.707 0l-3.535-3.536a.5.5 0 010-.707l3.535-3.535a.5.5 0 01.707 0l3.536 3.535zM16.575 12.333a.5.5 0 010 .707l-3.535 3.535a.5.5 0 01-.707 0L8.797 13.04a.5.5 0 010-.707l3.536-3.536a.5.5 0 01.707 0l3.535 3.536zM13.04 39.203a.5.5 0 01-.707 0l-3.536-3.536a.5.5 0 010-.707l3.536-3.535a.5.5 0 01.707 0l3.536 3.535a.5.5 0 010 .707l-3.536 3.536zM35.668 16.575a.5.5 0 01-.708 0l-3.535-3.535a.5.5 0 010-.707l3.535-3.536a.5.5 0 01.708 0l3.535 3.536a.5.5 0 010 .707l-3.535 3.535z\"\r\n fill=\"#4E5969\"\r\n />\r\n </svg>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["_openBlock","_createElementBlock","_createElementVNode"],"mappings":";;;;;AAGO,MAAA,UAAU,GAAA;AAAA,EAAC;EAAY;EAAoB,OAAW,EAAA,WAAA;AAAA;;AAA3D,SAAA,WAAA,CAAA,MAAA,MAAA,EAAA;EAC6C,OAAAA,SAAA,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAA,UAAA,EAAA,OAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA;AAAA,IAAnCC,kBAAA;AAAA,MAAO,QAAA;AAAA,MAAA;AAAA,QAAC,EAAG,EAAA,IAAA;AAAA,QAAK,EAAK,EAAA,IAAA;AAAA,QAAC,CAAA,EAAA,GAAA;AAAA;OAC9B;AAAA,MAGE,IAAA;AAAA,MAAA,CAAA;AAAA;AAAA,KAAA;AAAA,IAFAA,kBAAA;AAAA,MAAo0B,MAAA;AAAA,MAAA;AAAA,QACp0B,CAAA,EAAA,k0BAAA;AAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Sun.vue.mjs","sources":["../../../../src/components/icon/Sun.vue"],"sourcesContent":["<script setup lang=\"ts\"></script>\r\n\r\n<template>\r\n <svg\r\n width=\"22\"\r\n height=\"22\"\r\n viewBox=\"0 0 48 48\"\r\n fill=\"none\"\r\n >\r\n <circle cx=\"24\" cy=\"24\" r=\"9\" fill=\"red\" />\r\n <path\r\n d=\"M21 5.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-5zM21 37.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-5zM42.5 21a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5h5zM10.5 21a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5h5zM39.203 34.96a.5.5 0 010 .707l-3.536 3.536a.5.5 0 01-.707 0l-3.535-3.536a.5.5 0 010-.707l3.535-3.535a.5.5 0 01.707 0l3.536 3.535zM16.575 12.333a.5.5 0 010 .707l-3.535 3.535a.5.5 0 01-.707 0L8.797 13.04a.5.5 0 010-.707l3.536-3.536a.5.5 0 01.707 0l3.535 3.536zM13.04 39.203a.5.5 0 01-.707 0l-3.536-3.536a.5.5 0 010-.707l3.536-3.535a.5.5 0 01.707 0l3.536 3.535a.5.5 0 010 .707l-3.536 3.536zM35.668 16.575a.5.5 0 01-.708 0l-3.535-3.535a.5.5 0 010-.707l3.535-3.536a.5.5 0 01.708 0l3.535 3.536a.5.5 0 010 .707l-3.535 3.535z\"\r\n fill=\"#4E5969\"\r\n />\r\n </svg>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["_openBlock","_createElementBlock","_createElementVNode"],"mappings":";;;;;AAII,MAAA,UAAU,GAAA;AAAA,EACV;EACA;EACA,OAAW,EAAA,WAAA;AAAA;;AAJb,SAAA,WAAA,CAAA,MAAA,MAAA,EAAA;EAM6C,OAAAA,SAAA,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAA,UAAA,EAAA,OAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA;AAAA,IAAnCC,kBAAA;AAAA,MAAO,QAAA;AAAA,MAAA;AAAA,QAAC,EAAG,EAAA,IAAA;AAAA,QAAK,EAAK,EAAA,IAAA;AAAA,QAAC,CAAA,EAAA,GAAA;AAAA;OAC9B;AAAA,MAGE,IAAA;AAAA,MAAA,CAAA;AAAA;AAAA,KAAA;AAAA,IAFAA,kBAAA;AAAA,MAAo0B,MAAA;AAAA,MAAA;AAAA,QACp0B,CAAA,EAAA,k0BAAA;AAAA;;;;;;;;;;;;"}
@@ -1,10 +1,12 @@
1
1
  import './date/index.mjs';
2
+ import './dic/index.mjs';
2
3
  import './form/index.mjs';
3
4
  import './icon/index.mjs';
4
5
  import './layout/index.mjs';
5
6
  import './select/index.mjs';
6
7
  import './tab/index.mjs';
7
8
  import './table/index.mjs';
9
+ export { default as DicRep } from './dic/DicReplace.mjs';
8
10
  export { default as Select } from './select/Select.vue2.mjs';
9
11
  export { default as Tab } from './tab/Tab.vue2.mjs';
10
12
  export { default as Table } from './table/Table.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, watch, ref, provide, computed, resolveComponent, createElementBlock, openBlock, Fragment, createVNode, normalizeClass, unref, withCtx, createElementVNode, renderSlot } from 'vue';
1
+ import { defineComponent, watch, ref, provide, computed, resolveComponent, createElementBlock, openBlock, Fragment, createVNode, createBlock, createCommentVNode, normalizeClass, unref, withCtx, createElementVNode, renderSlot } from 'vue';
2
2
  import { useRoute } from 'vue-router';
3
3
  import { storeToRefs } from 'pinia';
4
4
  import Menu from './components/menu/Menu.mjs';
@@ -17,15 +17,24 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
17
17
  props: {
18
18
  watermark: { type: Object, required: false, default: () => ({
19
19
  content: ""
20
- }) }
20
+ }) },
21
+ isSettings: { type: Boolean, required: false, default: true }
21
22
  },
22
- setup(__props) {
23
+ emits: ["menuChange"],
24
+ setup(__props, { emit: __emit }) {
23
25
  const props = __props;
26
+ const emits = __emit;
24
27
  const { layout, modeConfig, sideTokenStyle } = storeToRefs(useAppStore());
25
28
  const route = useRoute();
26
- const { layoutStyle, siderStyle, rightStyle, rightContentStyle } = useStyle();
27
- useKeepAlive();
28
29
  useWatermark();
30
+ const { onMenuChange } = useMenu();
31
+ const {
32
+ layoutStyle,
33
+ siderStyle,
34
+ rightStyle,
35
+ rightContentStyle
36
+ } = useStyle();
37
+ useKeepAlive();
29
38
  function useKeepAlive() {
30
39
  const { save } = useKeepAliveStore();
31
40
  watch(
@@ -51,10 +60,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
51
60
  }
52
61
  function useStyle() {
53
62
  const layoutStyle2 = css`
54
- height: 100%;
63
+ height: 100vh;
55
64
  `;
56
65
  const transitionStyle = css`
57
- transition: margin-left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);
66
+ transition: margin-left 0.4s
67
+ cubic-bezier(0.22, 1.2, 0.36, 1);
58
68
  `;
59
69
  const left = computed(
60
70
  () => `${layout.value.collapsed ? layout.value.collapsedWidth : layout.value.sideWidth}px`
@@ -94,6 +104,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
94
104
  rightContentStyle: rightContentStyle2
95
105
  };
96
106
  }
107
+ function useMenu() {
108
+ const onMenuChange2 = (item) => {
109
+ emits("menuChange", item);
110
+ };
111
+ return {
112
+ onMenuChange: onMenuChange2
113
+ };
114
+ }
97
115
  return (_ctx, _cache) => {
98
116
  const _component_a_layout_sider = resolveComponent("a-layout-sider");
99
117
  const _component_a_layout_content = resolveComponent("a-layout-content");
@@ -118,7 +136,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
118
136
  default: withCtx(() => [
119
137
  createElementVNode("div", _hoisted_1, [
120
138
  renderSlot(_ctx.$slots, "logo"),
121
- createVNode(unref(Menu))
139
+ createVNode(unref(Menu), { onMenuChange: unref(onMenuChange) }, null, 8, ["onMenuChange"])
122
140
  ])
123
141
  ]),
124
142
  _: 3
@@ -152,7 +170,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
152
170
  _: 3
153
171
  /* FORWARDED */
154
172
  }, 8, ["class"]),
155
- createVNode(unref(SettingDrawer)),
173
+ __props.isSettings ? (openBlock(), createBlock(unref(SettingDrawer), { key: 0 })) : createCommentVNode("v-if", true),
156
174
  createVNode(_component_a_back_top)
157
175
  ],
158
176
  64
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.vue2.mjs","sources":["../../../../src/components/layout/Layout.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, provide, ref, watch } from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport DMenu from \"./components/menu/Menu\";\r\nimport SettingDrawer from \"./components/settings/SettingDrawer\";\r\nimport { useAppStore, useKeepAliveStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nimport HeaderLayout from \"./components/layout/HeaderLayout.vue\";\r\nimport RouterContent from \"./components/layout/RouterContent.vue\";\r\nimport AppTheme from \"./components/layout/ThemeApp.vue\";\r\n\r\nconst props = defineProps({\n watermark: { type: Object, required: false, default: () => ({\r\n content: \"\"\r\n }) }\n});\r\n\r\nconst { layout, modeConfig, sideTokenStyle } = storeToRefs(useAppStore());\r\nconst route = useRoute();\r\n\r\nconst { layoutStyle, siderStyle, rightStyle, rightContentStyle } = useStyle();\r\nuseKeepAlive();\r\nuseWatermark();\r\n\r\nfunction useKeepAlive() {\r\n // 保存需要被缓存的标签\r\n const { save } = useKeepAliveStore();\r\n\r\n watch(\r\n () => route.path,\r\n () => {\r\n save(route);\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n}\r\n\r\nfunction useWatermark() {\r\n const watermarkContent = ref(\"\");\r\n provide(\"watermarkContent\", watermarkContent);\r\n // 监听 watermark 的变化\r\n watch(\r\n () => props.watermark,\r\n val => {\r\n watermarkContent.value = val.content || \"\";\r\n },\r\n { deep: true, immediate: true }\r\n );\r\n}\r\n\r\nfunction useStyle() {\r\n const layoutStyle = css`\r\n height: 100%;\r\n `;\r\n\r\n const transitionStyle = css`\r\n transition: margin-left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);\r\n `;\r\n\r\n const left = computed(\r\n () =>\r\n `${layout.value.collapsed ? layout.value.collapsedWidth : layout.value.sideWidth}px`\r\n );\r\n\r\n const siderStyle = computed(\r\n () => css`\r\n position: fixed !important;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1;\r\n width: ${layout.value.sideWidth}px;\r\n\r\n .app-side {\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n ${modeConfig.value.mode === \"light\"\r\n ? `background:${sideTokenStyle.value.bgColor};`\r\n : \"\"}\r\n }\r\n `\r\n );\r\n\r\n const rightStyle = computed(\r\n () => css`\r\n margin-left: ${left.value};\r\n ${transitionStyle}\r\n `\r\n );\r\n\r\n const rightContentStyle = computed(\r\n () => css`\r\n padding-top: ${layout.value.headerHeight}px;\r\n `\r\n );\r\n\r\n return {\r\n layoutStyle,\r\n siderStyle,\r\n rightStyle,\r\n rightContentStyle\r\n };\r\n}\r\n</script>\r\n\r\n<template>\r\n <a-layout :class=\"layoutStyle\">\r\n <a-layout-sider\r\n v-model:collapsed=\"layout.collapsed\"\r\n theme=\"light\"\r\n collapsible\r\n :trigger=\"null\"\r\n :class=\"siderStyle\"\r\n >\r\n <div class=\"app-side\">\r\n <slot name=\"logo\"></slot>\r\n <d-menu />\r\n </div>\r\n </a-layout-sider>\r\n <a-layout :class=\"rightStyle\">\r\n <header-layout>\r\n <slot name=\"headerRight\"></slot>\r\n </header-layout>\r\n <a-layout-content :class=\"rightContentStyle\">\r\n <RouterContent />\r\n </a-layout-content>\r\n </a-layout>\r\n </a-layout>\r\n <SettingDrawer />\r\n <a-back-top></a-back-top>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["layoutStyle","siderStyle","rightStyle","rightContentStyle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAcA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAMd,IAAA,MAAM,EAAE,MAAQ,EAAA,UAAA,EAAY,gBAAmB,GAAA,WAAA,CAAY,aAAa,CAAA;AACxE,IAAA,MAAM,QAAQ,QAAS,EAAA;AAEvB,IAAA,MAAM,EAAE,WAAa,EAAA,UAAA,EAAY,UAAY,EAAA,iBAAA,KAAsB,QAAS,EAAA;AAC5E,IAAa,YAAA,EAAA;AACb,IAAa,YAAA,EAAA;AAEb,IAAA,SAAS,YAAe,GAAA;AAEtB,MAAM,MAAA,EAAE,IAAK,EAAA,GAAI,iBAAkB,EAAA;AAEnC,MAAA,KAAA;AAAA,QACE,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,MAAM;AACJ,UAAA,IAAA,CAAK,KAAK,CAAA;AAAA,SACZ;AAAA,QACA;AAAA,UACE,SAAW,EAAA;AAAA;AACb,OACF;AAAA;AAGF,IAAA,SAAS,YAAe,GAAA;AACtB,MAAM,MAAA,gBAAA,GAAmB,IAAI,EAAE,CAAA;AAC/B,MAAA,OAAA,CAAQ,oBAAoB,gBAAgB,CAAA;AAE5C,MAAA,KAAA;AAAA,QACE,MAAM,KAAM,CAAA,SAAA;AAAA,QACZ,CAAO,GAAA,KAAA;AACL,UAAiB,gBAAA,CAAA,KAAA,GAAQ,IAAI,OAAW,IAAA,EAAA;AAAA,SAC1C;AAAA,QACA,EAAE,IAAA,EAAM,IAAM,EAAA,SAAA,EAAW,IAAK;AAAA,OAChC;AAAA;AAGF,IAAA,SAAS,QAAW,GAAA;AAClB,MAAA,MAAMA,YAAc,GAAA,GAAA;AAAA;AAAA,EAAA,CAAA;AAIpB,MAAA,MAAM,eAAkB,GAAA,GAAA;AAAA;AAAA,EAAA,CAAA;AAIxB,MAAA,MAAM,IAAO,GAAA,QAAA;AAAA,QACX,MACE,CAAG,EAAA,MAAA,CAAO,KAAM,CAAA,SAAA,GAAY,OAAO,KAAM,CAAA,cAAA,GAAiB,MAAO,CAAA,KAAA,CAAM,SAAS,CAAA,EAAA;AAAA,OACpF;AAEA,MAAA,MAAMC,WAAa,GAAA,QAAA;AAAA,QACjB,MAAM,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMK,EAAA,MAAA,CAAO,MAAM,SAAS,CAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,QAM3B,EAAA,UAAA,CAAW,MAAM,IAAS,KAAA,OAAA,GACxB,cAAc,cAAe,CAAA,KAAA,CAAM,OAAO,CAAA,CAAA,CAAA,GAC1C,EAAE;AAAA;AAAA,IAAA;AAAA,OAGZ;AAEA,MAAA,MAAMC,WAAa,GAAA,QAAA;AAAA,QACjB,MAAM,GAAA;AAAA,mBAAA,EACW,KAAK,KAAK,CAAA;AAAA,MAAA,EACvB,eAAe;AAAA,IAAA;AAAA,OAErB;AAEA,MAAA,MAAMC,kBAAoB,GAAA,QAAA;AAAA,QACxB,MAAM,GAAA;AAAA,mBACW,EAAA,MAAA,CAAO,MAAM,YAAY,CAAA;AAAA,IAAA;AAAA,OAE5C;AAEA,MAAO,OAAA;AAAA,QACL,WAAAH,EAAAA,YAAAA;AAAA,QACA,UAAAC,EAAAA,WAAAA;AAAA,QACA,UAAAC,EAAAA,WAAAA;AAAA,QACA,iBAAAC,EAAAA;AAAA,OACF;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Layout.vue2.mjs","sources":["../../../../src/components/layout/Layout.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, provide, ref, watch } from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport DMenu from \"./components/menu/Menu\";\r\nimport SettingDrawer from \"./components/settings/SettingDrawer\";\r\nimport {\r\n useAppStore,\r\n useKeepAliveStore\r\n} from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nimport HeaderLayout from \"./components/layout/HeaderLayout.vue\";\r\nimport RouterContent from \"./components/layout/RouterContent.vue\";\r\n\r\nconst props = defineProps({\n watermark: { type: Object, required: false, default: () => ({\r\n content: \"\"\r\n }) },\n isSettings: { type: Boolean, required: false, default: true }\n});\r\nconst emits = defineEmits([\"menuChange\"]);\r\n\r\nconst { layout, modeConfig, sideTokenStyle } =\r\n storeToRefs(useAppStore());\r\nconst route = useRoute();\r\nuseWatermark();\r\nconst { onMenuChange } = useMenu();\r\n\r\nconst {\r\n layoutStyle,\r\n siderStyle,\r\n rightStyle,\r\n rightContentStyle\r\n} = useStyle();\r\nuseKeepAlive();\r\n\r\nfunction useKeepAlive() {\r\n // 保存需要被缓存的标签\r\n const { save } = useKeepAliveStore();\r\n\r\n watch(\r\n () => route.path,\r\n () => {\r\n save(route);\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n}\r\n\r\nfunction useWatermark() {\r\n const watermarkContent = ref(\"\");\r\n provide(\"watermarkContent\", watermarkContent);\r\n // 监听 watermark 的变化\r\n watch(\r\n () => props.watermark,\r\n val => {\r\n watermarkContent.value = val.content || \"\";\r\n },\r\n { deep: true, immediate: true }\r\n );\r\n}\r\n\r\nfunction useStyle() {\r\n const layoutStyle = css`\r\n height: 100vh;\r\n `;\r\n\r\n const transitionStyle = css`\r\n transition: margin-left 0.4s\r\n cubic-bezier(0.22, 1.2, 0.36, 1);\r\n `;\r\n\r\n const left = computed(\r\n () =>\r\n `${layout.value.collapsed ? layout.value.collapsedWidth : layout.value.sideWidth}px`\r\n );\r\n\r\n const siderStyle = computed(\r\n () => css`\r\n position: fixed !important;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1;\r\n width: ${layout.value.sideWidth}px;\r\n\r\n .app-side {\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n ${modeConfig.value.mode === \"light\"\r\n ? `background:${sideTokenStyle.value.bgColor};`\r\n : \"\"}\r\n }\r\n `\r\n );\r\n\r\n const rightStyle = computed(\r\n () => css`\r\n margin-left: ${left.value};\r\n ${transitionStyle}\r\n `\r\n );\r\n\r\n const rightContentStyle = computed(\r\n () => css`\r\n padding-top: ${layout.value.headerHeight}px;\r\n `\r\n );\r\n\r\n return {\r\n layoutStyle,\r\n siderStyle,\r\n rightStyle,\r\n rightContentStyle\r\n };\r\n}\r\n\r\nfunction useMenu() {\r\n const onMenuChange = (item: never) => {\r\n emits(\"menuChange\", item);\r\n };\r\n\r\n return {\r\n onMenuChange\r\n };\r\n}\r\n</script>\r\n\r\n<template>\r\n <a-layout :class=\"layoutStyle\">\r\n <a-layout-sider\r\n v-model:collapsed=\"layout.collapsed\"\r\n theme=\"light\"\r\n collapsible\r\n :trigger=\"null\"\r\n :class=\"siderStyle\"\r\n >\r\n <div class=\"app-side\">\r\n <slot name=\"logo\"></slot>\r\n <d-menu @menu-change=\"onMenuChange\" />\r\n </div>\r\n </a-layout-sider>\r\n <a-layout :class=\"rightStyle\">\r\n <header-layout>\r\n <slot name=\"headerRight\"></slot>\r\n </header-layout>\r\n <a-layout-content :class=\"rightContentStyle\">\r\n <RouterContent />\r\n </a-layout-content>\r\n </a-layout>\r\n </a-layout>\r\n\r\n <SettingDrawer v-if=\"isSettings\" />\r\n <a-back-top></a-back-top>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["layoutStyle","siderStyle","rightStyle","rightContentStyle","onMenuChange"],"mappings":"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"}
@@ -11,9 +11,9 @@ function _isSlot(s) {
11
11
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
12
12
  }
13
13
  const tableRootStyle = css`
14
- height: 100%;
15
- position: relative;
16
- overflow: hidden;
14
+ height: 100%;
15
+ position: relative;
16
+ overflow: hidden;
17
17
  `;
18
18
  const list = /* @__PURE__ */ defineComponent({
19
19
  name: "DListLayout",
@@ -22,7 +22,7 @@ const list = /* @__PURE__ */ defineComponent({
22
22
  slots,
23
23
  emit
24
24
  }) {
25
- const watermarkContent = ref(inject("watermarkContent"));
25
+ const watermarkContent = ref(inject("watermarkContent", ""));
26
26
  const route = useRoute();
27
27
  const {
28
28
  refresh
@@ -39,41 +39,45 @@ const list = /* @__PURE__ */ defineComponent({
39
39
  useReload();
40
40
  const maskDivStyle = computed(() => {
41
41
  return css`
42
+ position: absolute;
43
+ top: 0;
44
+ right: 0;
45
+ bottom: 0;
46
+ left: 0;
47
+ z-index: 1;
48
+ background: white;
49
+ display: ${tableVisible.value ? "block" : "none"};
50
+ `;
51
+ });
52
+ const tableWrapperStyle = css`
42
53
  position: absolute;
43
54
  top: 0;
44
55
  right: 0;
45
56
  bottom: 0;
46
57
  left: 0;
47
- z-index: 1;
48
- background: white;
49
- display: ${tableVisible.value ? "block" : "none"};
50
- `;
51
- });
52
- const tableWrapperStyle = css`
53
- position: absolute;
54
- top: 0;
55
- right: 0;
56
- bottom: 0;
57
- left: 0;
58
- overflow: hidden;
58
+ overflow: hidden;
59
59
  `;
60
60
  const cardStyle = css`
61
- box-shadow: none !important;
61
+ box-shadow: none !important;
62
62
  `;
63
63
  const leftCardStyle = css`
64
- .ant-card-body {
65
- overflow-y: scroll;
66
- -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */
67
- scrollbar-width: none; /* 对 Firefox 生效 */
64
+ .ant-card-body {
65
+ overflow-y: scroll;
66
+ -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */
67
+ scrollbar-width: none; /* 对 Firefox 生效 */
68
68
 
69
- /* Webkit 浏览器 */
69
+ /* Webkit 浏览器 */
70
70
 
71
- ::-webkit-scrollbar {
72
- display: none;
71
+ ::-webkit-scrollbar {
72
+ display: none;
73
+ }
73
74
  }
74
- }
75
75
  `;
76
- const listStyle = computed(() => css``);
76
+ const listStyle = computed(() => css`
77
+ padding: 10px;
78
+ height: 100%;
79
+ //height: calc(100vh - 44px);
80
+ `);
77
81
  onMounted(() => {
78
82
  playTableHeight();
79
83
  });
@@ -222,11 +226,7 @@ const list = /* @__PURE__ */ defineComponent({
222
226
  }, {
223
227
  default: () => [createVNode(Flex, {
224
228
  "class": [listStyle.value, "app-list"],
225
- "gap": 10,
226
- "style": {
227
- height: "100%",
228
- padding: "10px"
229
- }
229
+ "gap": 10
230
230
  }, {
231
231
  default: () => [slots.left ? createVNode(Card, {
232
232
  "class": [cardStyle, leftCardStyle],
@@ -1 +1 @@
1
- {"version":3,"file":"List.mjs","sources":["../../../../src/components/layout/List.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n inject,\r\n nextTick,\r\n onActivated,\r\n onDeactivated,\r\n onMounted,\r\n onUnmounted,\r\n ref,\r\n watch,\r\n type WatchStopHandle\r\n} from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { Card, Flex, Space, Watermark } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useElementSize } from \"@vueuse/core\";\r\n\r\nimport { useAppStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nconst tableRootStyle = css`\r\n height: 100%;\r\n position: relative;\r\n overflow: hidden;\r\n`;\r\n\r\nconst list = defineComponent({\r\n name: \"DListLayout\",\r\n emits: [\"refresh\"],\r\n setup(_, { slots, emit }) {\r\n const watermarkContent = ref(inject(\"watermarkContent\"));\r\n const route = useRoute();\r\n const { refresh } = storeToRefs(useAppStore());\r\n const { tableRef, height, tableVisible, playTableHeight } =\r\n useTableHeight();\r\n const { formRef } = useForm();\r\n useReload();\r\n // 使用 computed 来动态计算样式\r\n const maskDivStyle = computed(() => {\r\n return css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1;\r\n background: white;\r\n display: ${tableVisible.value ? \"block\" : \"none\"};\r\n `;\r\n });\r\n\r\n const tableWrapperStyle = css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n overflow: hidden;\r\n `;\r\n\r\n const cardStyle = css`\r\n box-shadow: none !important;\r\n `;\r\n\r\n const leftCardStyle = css`\r\n .ant-card-body {\r\n overflow-y: scroll;\r\n -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */\r\n scrollbar-width: none; /* 对 Firefox 生效 */\r\n\r\n /* Webkit 浏览器 */\r\n\r\n ::-webkit-scrollbar {\r\n display: none;\r\n }\r\n }\r\n `;\r\n\r\n const listStyle = computed(() => css``);\r\n\r\n onMounted(() => {\r\n playTableHeight();\r\n });\r\n\r\n function useTableHeight() {\r\n const tableRef = ref();\r\n const height = ref(0);\r\n const tableVisible = ref(true);\r\n\r\n function playTableHeight() {\r\n tableVisible.value = true;\r\n height.value = tableRef?.value?.$el.offsetHeight;\r\n nextTick(() => {\r\n setTimeout(() => {\r\n tableVisible.value = false;\r\n }, 10);\r\n });\r\n }\r\n\r\n return {\r\n tableRef,\r\n height,\r\n tableVisible,\r\n playTableHeight\r\n };\r\n }\r\n\r\n function useForm() {\r\n const formRef = ref(null);\r\n const { height: formHeight } = useElementSize(formRef);\r\n watch(\r\n () => formHeight.value,\r\n () => {\r\n nextTick(() => {\r\n playTableHeight();\r\n });\r\n }\r\n );\r\n\r\n return {\r\n formRef\r\n };\r\n }\r\n\r\n // 处理标签重载\r\n function useReload() {\r\n let stopHandleWatch: WatchStopHandle;\r\n // !route.meta.keepAlive\r\n if (!route.name) {\r\n stopHandleWatch = _useWatch();\r\n // 卸载未缓存的组件\r\n onUnmounted(() => {\r\n stopHandleWatch?.();\r\n });\r\n } else {\r\n // 激活缓存页面\r\n onActivated(() => {\r\n if (refresh.value) {\r\n refresh.value = false;\r\n emit(\"refresh\");\r\n }\r\n stopHandleWatch = _useWatch();\r\n });\r\n // 离开缓存页面\r\n onDeactivated(() => {\r\n stopHandleWatch?.();\r\n });\r\n }\r\n\r\n function _useWatch() {\r\n //点击了标签重载图标\r\n return watch(\r\n () => refresh.value,\r\n val => {\r\n if (val) {\r\n // 发送刷新事件到列表页面\r\n emit(\"refresh\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n function useLayout() {\r\n function formLayout() {\r\n return () =>\r\n slots.form && (\r\n <Card\r\n class={cardStyle}\r\n ref={formRef}\r\n style={{ marginBottom: \"10px\" }}\r\n bodyStyle={{ padding: \"10px 10px 0 10px\" }}\r\n bordered={false}\r\n >\r\n {slots.form()}\r\n </Card>\r\n );\r\n }\r\n\r\n function tableLayout() {\r\n return () => (\r\n <Flex flex={1} vertical={true}>\r\n <Card\r\n class={cardStyle}\r\n style={{ height: \"100%\" }}\r\n bodyStyle={{ height: \"100%\", padding: \"10px\" }}\r\n bordered={false}\r\n >\r\n <Flex style={{ height: \"100%\" }} vertical={true}>\r\n <Space style={{ marginBottom: \"6px\" }}>{slots.tools?.()}</Space>\r\n <Flex\r\n ref={tableRef}\r\n flex={1}\r\n style={{ height: \"100%\" }}\r\n vertical={true}\r\n >\r\n <div class={tableRootStyle}>\r\n <div class={maskDivStyle.value}></div>\r\n <div class={tableWrapperStyle}>\r\n {slots.table?.({ height: height.value })}\r\n </div>\r\n </div>\r\n </Flex>\r\n </Flex>\r\n </Card>\r\n </Flex>\r\n );\r\n }\r\n\r\n return (\r\n <Watermark\r\n style={{ height: \"100%\" }}\r\n content={watermarkContent.value as string}\r\n >\r\n <Flex\r\n class={[listStyle.value, \"app-list\"]}\r\n gap={10}\r\n style={{ height: \"100%\", padding: \"10px\" }}\r\n >\r\n {slots.left ? (\r\n <Card\r\n class={[cardStyle, leftCardStyle]}\r\n bordered={false}\r\n bodyStyle={{\r\n height: \"100%\",\r\n padding: \"10px\"\r\n }}\r\n >\r\n {slots.left?.()}\r\n </Card>\r\n ) : null}\r\n <Flex vertical={true} flex={1}>\r\n {formLayout()()}\r\n {tableLayout()()}\r\n </Flex>\r\n </Flex>\r\n </Watermark>\r\n );\r\n }\r\n\r\n return () => useLayout();\r\n }\r\n});\r\n\r\nexport default list;\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableRootStyle","css","list","name","emits","setup","_","slots","emit","watermarkContent","ref","inject","route","useRoute","refresh","storeToRefs","useAppStore","tableRef","height","tableVisible","playTableHeight","useTableHeight","formRef","useForm","useReload","maskDivStyle","computed","value","tableWrapperStyle","cardStyle","leftCardStyle","listStyle","onMounted","$el","offsetHeight","nextTick","setTimeout","formHeight","useElementSize","watch","stopHandleWatch","_useWatch","onUnmounted","onActivated","onDeactivated","val","useLayout","formLayout","_slot","form","_createVNode","Card","marginBottom","padding","default","tableLayout","Flex","Space","tools","table","Watermark","left"],"mappings":"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"}
1
+ {"version":3,"file":"List.mjs","sources":["../../../../src/components/layout/List.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n inject,\r\n nextTick,\r\n onActivated,\r\n onDeactivated,\r\n onMounted,\r\n onUnmounted,\r\n ref,\r\n watch,\r\n type WatchStopHandle\r\n} from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport {\r\n Card,\r\n Flex,\r\n Space,\r\n Watermark\r\n} from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useElementSize } from \"@vueuse/core\";\r\n\r\nimport { useAppStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nconst tableRootStyle = css`\r\n height: 100%;\r\n position: relative;\r\n overflow: hidden;\r\n`;\r\n\r\nconst list = defineComponent({\r\n name: \"DListLayout\",\r\n emits: [\"refresh\"],\r\n setup(_, { slots, emit }) {\r\n const watermarkContent = ref(\r\n inject(\"watermarkContent\", \"\")\r\n );\r\n const route = useRoute();\r\n const { refresh } = storeToRefs(useAppStore());\r\n const {\r\n tableRef,\r\n height,\r\n tableVisible,\r\n playTableHeight\r\n } = useTableHeight();\r\n const { formRef } = useForm();\r\n useReload();\r\n // 使用 computed 来动态计算样式\r\n const maskDivStyle = computed(() => {\r\n return css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1;\r\n background: white;\r\n display: ${tableVisible.value ? \"block\" : \"none\"};\r\n `;\r\n });\r\n\r\n const tableWrapperStyle = css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n overflow: hidden;\r\n `;\r\n\r\n const cardStyle = css`\r\n box-shadow: none !important;\r\n `;\r\n\r\n const leftCardStyle = css`\r\n .ant-card-body {\r\n overflow-y: scroll;\r\n -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */\r\n scrollbar-width: none; /* 对 Firefox 生效 */\r\n\r\n /* Webkit 浏览器 */\r\n\r\n ::-webkit-scrollbar {\r\n display: none;\r\n }\r\n }\r\n `;\r\n\r\n const listStyle = computed(\r\n () => css`\r\n padding: 10px;\r\n height: 100%;\r\n //height: calc(100vh - 44px);\r\n `\r\n );\r\n\r\n onMounted(() => {\r\n playTableHeight();\r\n });\r\n\r\n function useTableHeight() {\r\n const tableRef = ref();\r\n const height = ref(0);\r\n const tableVisible = ref(true);\r\n\r\n function playTableHeight() {\r\n tableVisible.value = true;\r\n height.value = tableRef?.value?.$el.offsetHeight;\r\n nextTick(() => {\r\n setTimeout(() => {\r\n tableVisible.value = false;\r\n }, 10);\r\n });\r\n }\r\n\r\n return {\r\n tableRef,\r\n height,\r\n tableVisible,\r\n playTableHeight\r\n };\r\n }\r\n\r\n function useForm() {\r\n const formRef = ref(null);\r\n const { height: formHeight } =\r\n useElementSize(formRef);\r\n watch(\r\n () => formHeight.value,\r\n () => {\r\n nextTick(() => {\r\n playTableHeight();\r\n });\r\n }\r\n );\r\n\r\n return {\r\n formRef\r\n };\r\n }\r\n\r\n // 处理标签重载\r\n function useReload() {\r\n let stopHandleWatch: WatchStopHandle;\r\n // !route.meta.keepAlive\r\n if (!route.name) {\r\n stopHandleWatch = _useWatch();\r\n // 卸载未缓存的组件\r\n onUnmounted(() => {\r\n stopHandleWatch?.();\r\n });\r\n } else {\r\n // 激活缓存页面\r\n onActivated(() => {\r\n if (refresh.value) {\r\n refresh.value = false;\r\n emit(\"refresh\");\r\n }\r\n stopHandleWatch = _useWatch();\r\n });\r\n // 离开缓存页面\r\n onDeactivated(() => {\r\n stopHandleWatch?.();\r\n });\r\n }\r\n\r\n function _useWatch() {\r\n //点击了标签重载图标\r\n return watch(\r\n () => refresh.value,\r\n val => {\r\n if (val) {\r\n // 发送刷新事件到列表页面\r\n emit(\"refresh\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n function useLayout() {\r\n function formLayout() {\r\n return () =>\r\n slots.form && (\r\n <Card\r\n class={cardStyle}\r\n ref={formRef}\r\n style={{ marginBottom: \"10px\" }}\r\n bodyStyle={{ padding: \"10px 10px 0 10px\" }}\r\n bordered={false}\r\n >\r\n {slots.form()}\r\n </Card>\r\n );\r\n }\r\n\r\n function tableLayout() {\r\n return () => (\r\n <Flex flex={1} vertical={true}>\r\n <Card\r\n class={cardStyle}\r\n style={{ height: \"100%\" }}\r\n bodyStyle={{\r\n height: \"100%\",\r\n padding: \"10px\"\r\n }}\r\n bordered={false}\r\n >\r\n <Flex\r\n style={{ height: \"100%\" }}\r\n vertical={true}\r\n >\r\n <Space style={{ marginBottom: \"6px\" }}>\r\n {slots.tools?.()}\r\n </Space>\r\n <Flex\r\n ref={tableRef}\r\n flex={1}\r\n style={{ height: \"100%\" }}\r\n vertical={true}\r\n >\r\n <div class={tableRootStyle}>\r\n <div class={maskDivStyle.value}></div>\r\n <div class={tableWrapperStyle}>\r\n {slots.table?.({\r\n height: height.value\r\n })}\r\n </div>\r\n </div>\r\n </Flex>\r\n </Flex>\r\n </Card>\r\n </Flex>\r\n );\r\n }\r\n\r\n return (\r\n <Watermark style={{ height: \"100%\" }} content={watermarkContent.value}>\r\n <Flex\r\n class={[listStyle.value, \"app-list\"]}\r\n gap={10}\r\n >\r\n {slots.left ? (\r\n <Card\r\n class={[cardStyle, leftCardStyle]}\r\n bordered={false}\r\n bodyStyle={{\r\n height: \"100%\",\r\n padding: \"10px\"\r\n }}\r\n >\r\n {slots.left?.()}\r\n </Card>\r\n ) : null}\r\n <Flex vertical={true} flex={1}>\r\n {formLayout()()}\r\n {tableLayout()()}\r\n </Flex>\r\n </Flex>\r\n </Watermark>\r\n );\r\n }\r\n\r\n return () => useLayout();\r\n }\r\n});\r\n\r\nexport default list;\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableRootStyle","css","list","name","emits","setup","_","slots","emit","watermarkContent","ref","inject","route","useRoute","refresh","storeToRefs","useAppStore","tableRef","height","tableVisible","playTableHeight","useTableHeight","formRef","useForm","useReload","maskDivStyle","computed","value","tableWrapperStyle","cardStyle","leftCardStyle","listStyle","onMounted","$el","offsetHeight","nextTick","setTimeout","formHeight","useElementSize","watch","stopHandleWatch","_useWatch","onUnmounted","onActivated","onDeactivated","val","useLayout","formLayout","_slot","form","_createVNode","Card","marginBottom","padding","default","tableLayout","Flex","Space","tools","table","Watermark","left"],"mappings":"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"}