@dazhicheng/ui 1.5.199 → 1.5.202

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 (257) hide show
  1. package/dist/_virtual/_plugin-vue_export-helper.js +9 -0
  2. package/dist/api/dataTypeContext.js +17 -0
  3. package/dist/assets/img/empty_images/no_data.png.js +4 -0
  4. package/dist/assets/img/empty_images/search.png.js +4 -0
  5. package/dist/assets/img/image_status/develop.png.js +4 -0
  6. package/dist/assets/img/image_status/loading.gif.js +4 -0
  7. package/dist/assets/img/image_status/loading_fail.png.js +4 -0
  8. package/dist/assets/img/image_status/no_network.png.js +4 -0
  9. package/dist/assets/img/image_status/no_permission.png.js +4 -0
  10. package/dist/assets/svg/RiRefreshLine.svg.js +4 -0
  11. package/dist/assets/svg/action_more.svg.js +4 -0
  12. package/dist/assets/svg/add.svg.js +4 -0
  13. package/dist/assets/svg/addCircleLine.svg.js +4 -0
  14. package/dist/assets/svg/arrowDown.svg.js +4 -0
  15. package/dist/assets/svg/arrowLineDown.svg.js +5 -0
  16. package/dist/assets/svg/arrowSUp.svg.js +4 -0
  17. package/dist/assets/svg/arrowUp.svg.js +4 -0
  18. package/dist/assets/svg/close.svg.js +4 -0
  19. package/dist/assets/svg/columnSet.svg.js +4 -0
  20. package/dist/assets/svg/determinateCircleLine.svg.js +5 -0
  21. package/dist/assets/svg/drag.svg.js +5 -0
  22. package/dist/assets/svg/exportSvg.svg.js +4 -0
  23. package/dist/assets/svg/fileSvg.svg.js +4 -0
  24. package/dist/assets/svg/help.svg.js +4 -0
  25. package/dist/assets/svg/item_error.svg.js +4 -0
  26. package/dist/assets/svg/paixu-jiangxu.svg.js +4 -0
  27. package/dist/assets/svg/paixu-moren.svg.js +4 -0
  28. package/dist/assets/svg/paixu-shengxu.svg.js +4 -0
  29. package/dist/assets/svg/quanping.svg.js +4 -0
  30. package/dist/assets/svg/suoxiao.svg.js +4 -0
  31. package/dist/components/tt-api-component/index.js +7 -0
  32. package/dist/components/tt-api-component/index.vue.js +7 -0
  33. package/dist/components/tt-api-component/index.vue2.js +199 -0
  34. package/dist/components/tt-area/TtArea.vue.js +7 -0
  35. package/dist/components/tt-area/TtArea.vue3.js +36 -0
  36. package/dist/components/tt-button/components/AddButton.vue.js +24 -0
  37. package/dist/components/tt-button/components/AddButton.vue2.js +4 -0
  38. package/dist/components/tt-button/index.js +9 -0
  39. package/dist/components/tt-button/index.vue.js +7 -0
  40. package/dist/components/tt-button/index.vue2.js +68 -0
  41. package/dist/components/tt-checkbox/index.js +7 -0
  42. package/dist/components/tt-checkbox/index.vue.js +77 -0
  43. package/dist/components/tt-checkbox/index.vue2.js +4 -0
  44. package/dist/components/tt-drawer/index.js +14 -0
  45. package/dist/components/tt-drawer/src/RenderDrawer.vue.js +157 -0
  46. package/dist/components/tt-drawer/src/RenderDrawer.vue3.js +5 -0
  47. package/dist/components/tt-drawer/src/components/DrawerFooter.vue.js +56 -0
  48. package/dist/components/tt-drawer/src/components/DrawerFooter.vue3.js +5 -0
  49. package/dist/components/tt-drawer/src/components/DrawerHeader.vue.js +7 -0
  50. package/dist/components/tt-drawer/src/components/DrawerHeader.vue2.js +21 -0
  51. package/dist/components/tt-drawer/src/hooks/useDrawerRender.js +124 -0
  52. package/dist/components/tt-drawer/src/hooks/useResizable.js +98 -0
  53. package/dist/components/tt-drawer/src/index.js +17 -0
  54. package/dist/components/tt-drawer/src/props.js +72 -0
  55. package/dist/components/tt-drawer/src/utils/drawer-api.js +191 -0
  56. package/dist/components/tt-empty/index.js +34 -0
  57. package/dist/components/tt-form/index.js +59 -0
  58. package/dist/components/tt-form/src/components/ExpandableArrow.vue2.js +38 -0
  59. package/dist/components/tt-form/src/components/ExpandableArrow.vue3.js +5 -0
  60. package/dist/components/tt-form/src/components/FormActions.vue2.js +177 -0
  61. package/dist/components/tt-form/src/components/FormActions.vue3.js +5 -0
  62. package/dist/components/tt-form/src/components/FormElInput.vue.js +80 -0
  63. package/dist/components/tt-form/src/components/FormElInput.vue2.js +4 -0
  64. package/dist/components/tt-form/src/components/Slot.js +28 -0
  65. package/dist/components/tt-form/src/config.js +57 -0
  66. package/dist/components/tt-form/src/form/FormControl.vue.js +16 -0
  67. package/dist/components/tt-form/src/form/FormControl.vue2.js +4 -0
  68. package/dist/components/tt-form/src/form/FormDescription.vue.js +21 -0
  69. package/dist/components/tt-form/src/form/FormDescription.vue2.js +4 -0
  70. package/dist/components/tt-form/src/form/FormItem.vue.js +20 -0
  71. package/dist/components/tt-form/src/form/FormItem.vue2.js +4 -0
  72. package/dist/components/tt-form/src/form/FormLabel.vue.js +19 -0
  73. package/dist/components/tt-form/src/form/FormLabel.vue2.js +4 -0
  74. package/dist/components/tt-form/src/form/FormMessage.vue.js +18 -0
  75. package/dist/components/tt-form/src/form/FormMessage.vue2.js +4 -0
  76. package/dist/components/tt-form/src/form/FormMessageToolTip.vue.js +30 -0
  77. package/dist/components/tt-form/src/form/FormMessageToolTip.vue2.js +4 -0
  78. package/dist/components/tt-form/src/form/RenderContent.vue.js +31 -0
  79. package/dist/components/tt-form/src/form/RenderContent.vue2.js +4 -0
  80. package/dist/components/tt-form/src/form/injectionKeys.js +4 -0
  81. package/dist/components/tt-form/src/form/useFormField.js +24 -0
  82. package/dist/components/tt-form/src/form-render/FormField.vue.js +4 -0
  83. package/dist/components/tt-form/src/form-render/FormField.vue2.js +345 -0
  84. package/dist/components/tt-form/src/form-render/FormFieldContact.js +54 -0
  85. package/dist/components/tt-form/src/form-render/FormLabel.vue.js +4 -0
  86. package/dist/components/tt-form/src/form-render/FormLabel.vue2.js +101 -0
  87. package/dist/components/tt-form/src/form-render/array-register/FormArrayRegister.js +195 -0
  88. package/dist/components/tt-form/src/form-render/array-register/props.js +47 -0
  89. package/dist/components/tt-form/src/form-render/array-register/utils.js +12 -0
  90. package/dist/components/tt-form/src/form-render/context.js +15 -0
  91. package/dist/components/tt-form/src/form-render/dependencies.js +51 -0
  92. package/dist/components/tt-form/src/form-render/expandable.js +46 -0
  93. package/dist/components/tt-form/src/form-render/form.vue2.js +196 -0
  94. package/dist/components/tt-form/src/form-render/form.vue3.js +5 -0
  95. package/dist/components/tt-form/src/form-render/helper.js +22 -0
  96. package/dist/components/tt-form/src/form-render/rootWrapperClass.js +10 -0
  97. package/dist/components/tt-form/src/formApi.js +790 -0
  98. package/dist/components/tt-form/src/group-form/GroupForm.vue2.js +223 -0
  99. package/dist/components/tt-form/src/group-form/GroupForm.vue3.js +5 -0
  100. package/dist/components/tt-form/src/group-form/GroupSection.vue2.js +277 -0
  101. package/dist/components/tt-form/src/group-form/GroupSection.vue3.js +5 -0
  102. package/dist/components/tt-form/src/group-form/LazyFormField.vue.js +153 -0
  103. package/dist/components/tt-form/src/group-form/LazyFormField.vue3.js +5 -0
  104. package/dist/components/tt-form/src/group-form/groupFormApi.js +700 -0
  105. package/dist/components/tt-form/src/group-form/lazyContext.js +38 -0
  106. package/dist/components/tt-form/src/group-form/useGroupForm.js +83 -0
  107. package/dist/components/tt-form/src/group-form/utils.js +106 -0
  108. package/dist/components/tt-form/src/hooks/useArrayRegistry.js +22 -0
  109. package/dist/components/tt-form/src/hooks/useFieldArray.js +137 -0
  110. package/dist/components/tt-form/src/hooks/useForwardPriorityValues.js +33 -0
  111. package/dist/components/tt-form/src/hooks/useSelectCollapse.js +81 -0
  112. package/dist/components/tt-form/src/index.vue2.js +147 -0
  113. package/dist/components/tt-form/src/index.vue3.js +5 -0
  114. package/dist/components/tt-form/src/shared/createContext.js +14 -0
  115. package/dist/components/tt-form/src/shared/global-state.js +22 -0
  116. package/dist/components/tt-form/src/shared/zod-defaults.js +47 -0
  117. package/dist/components/tt-form/src/types/forms.js +6 -0
  118. package/dist/components/tt-form/src/useForm.js +28 -0
  119. package/dist/components/tt-form/src/useFormContext.js +320 -0
  120. package/dist/components/tt-form/src/utils/array-path.js +18 -0
  121. package/dist/components/tt-form-item-error-tooltip/index.js +9 -0
  122. package/dist/components/tt-form-item-error-tooltip/index.vue.js +183 -0
  123. package/dist/components/tt-form-item-error-tooltip/index.vue3.js +5 -0
  124. package/dist/components/tt-icon/components/AddIcon.vue.js +28 -0
  125. package/dist/components/tt-icon/components/AddIcon.vue2.js +4 -0
  126. package/dist/components/tt-icon/components/SubIcon.vue.js +28 -0
  127. package/dist/components/tt-icon/components/SubIcon.vue2.js +4 -0
  128. package/dist/components/tt-icon/index.js +11 -0
  129. package/dist/components/tt-icon/index.vue.js +8 -0
  130. package/dist/components/tt-icon/index.vue2.js +115 -0
  131. package/dist/components/tt-image/index.js +9 -0
  132. package/dist/components/tt-image/src/components/ImageViewer.js +41 -0
  133. package/dist/components/tt-image/tt-image.js +55 -0
  134. package/dist/components/tt-loading/index.js +8 -0
  135. package/dist/components/tt-loading/src/directive.js +51 -0
  136. package/dist/components/tt-loading/src/loading.vue.js +7 -0
  137. package/dist/components/tt-loading/src/loading.vue2.js +75 -0
  138. package/dist/components/tt-loading/src/service.js +79 -0
  139. package/dist/components/tt-log/index.js +7 -0
  140. package/dist/components/tt-log/index.vue.js +31 -0
  141. package/dist/components/tt-log/index.vue2.js +4 -0
  142. package/dist/components/tt-modal/index.js +14 -0
  143. package/dist/components/tt-modal/src/RenderModal.vue.js +310 -0
  144. package/dist/components/tt-modal/src/RenderModal.vue3.js +5 -0
  145. package/dist/components/tt-modal/src/components/ModalFooter.vue.js +7 -0
  146. package/dist/components/tt-modal/src/components/ModalFooter.vue2.js +74 -0
  147. package/dist/components/tt-modal/src/components/ModalHeader.vue.js +7 -0
  148. package/dist/components/tt-modal/src/components/ModalHeader.vue2.js +22 -0
  149. package/dist/components/tt-modal/src/components/ModalWrapper.vue.js +48 -0
  150. package/dist/components/tt-modal/src/components/ModalWrapper.vue2.js +4 -0
  151. package/dist/components/tt-modal/src/hooks/useModalRender.js +131 -0
  152. package/dist/components/tt-modal/src/index.js +17 -0
  153. package/dist/components/tt-modal/src/props.js +75 -0
  154. package/dist/components/tt-modal/src/utils/modal-api.js +200 -0
  155. package/dist/components/tt-modal/src/utils/modal-stack.js +28 -0
  156. package/dist/components/tt-modal-form/hooks/useModalFormSlot.js +22 -0
  157. package/dist/components/tt-modal-form/index.vue.js +201 -0
  158. package/dist/components/tt-modal-form/index.vue2.js +4 -0
  159. package/dist/components/tt-modal-form/useModalForm.js +30 -0
  160. package/dist/components/tt-nav-anchor/index.js +8 -0
  161. package/dist/components/tt-nav-anchor/src/TtNavAnchor.vue.js +234 -0
  162. package/dist/components/tt-nav-anchor/src/TtNavAnchor.vue3.js +5 -0
  163. package/dist/components/tt-nav-anchor/src/constants.js +4 -0
  164. package/dist/components/tt-panel-select/index.js +7 -0
  165. package/dist/components/tt-panel-select/src/common.js +4 -0
  166. package/dist/components/tt-panel-select/src/components/PanelLeft.vue.js +56 -0
  167. package/dist/components/tt-panel-select/src/components/PanelLeft.vue2.js +4 -0
  168. package/dist/components/tt-panel-select/src/components/PanelMiddle.vue.js +277 -0
  169. package/dist/components/tt-panel-select/src/components/PanelMiddle.vue2.js +4 -0
  170. package/dist/components/tt-panel-select/src/components/PanelRight.vue.js +108 -0
  171. package/dist/components/tt-panel-select/src/components/PanelRight.vue2.js +4 -0
  172. package/dist/components/tt-panel-select/src/hooks/usePanelData.js +184 -0
  173. package/dist/components/tt-panel-select/src/hooks/usePanelSelection.js +91 -0
  174. package/dist/components/tt-panel-select/src/index.vue.js +386 -0
  175. package/dist/components/tt-panel-select/src/index.vue2.js +4 -0
  176. package/dist/components/tt-select/index.js +8 -0
  177. package/dist/components/tt-select/src/Select.vue.js +315 -0
  178. package/dist/components/tt-select/src/Select.vue3.js +5 -0
  179. package/dist/components/tt-select/src/components/SelectTable.vue.js +86 -0
  180. package/dist/components/tt-select/src/components/SelectTable.vue3.js +5 -0
  181. package/dist/components/tt-select/src/components/Table.vue.js +307 -0
  182. package/dist/components/tt-select/src/components/Table.vue3.js +5 -0
  183. package/dist/components/tt-select/src/const.js +19 -0
  184. package/dist/components/tt-select/src/hooks/useDataSource.js +196 -0
  185. package/dist/components/tt-select/src/hooks/useGrid.js +97 -0
  186. package/dist/components/tt-select/src/hooks/useKeyboard.js +63 -0
  187. package/dist/components/tt-select/src/hooks/usePagination.js +45 -0
  188. package/dist/components/tt-select/src/hooks/useSelect.js +100 -0
  189. package/dist/components/tt-select/src/hooks/useSelectTableEvent.d.ts +1 -1
  190. package/dist/components/tt-select/src/hooks/useSelectTableEvent.js +345 -0
  191. package/dist/components/tt-select/src/props.js +201 -0
  192. package/dist/components/tt-select/src/utils/index.js +16 -0
  193. package/dist/components/tt-table/index.js +63 -0
  194. package/dist/components/tt-table/src/Table.vue.js +623 -0
  195. package/dist/components/tt-table/src/Table.vue3.js +5 -0
  196. package/dist/components/tt-table/src/TableForm.vue.js +356 -0
  197. package/dist/components/tt-table/src/TableForm.vue2.js +4 -0
  198. package/dist/components/tt-table/src/componentMap.js +4 -0
  199. package/dist/components/tt-table/src/components/RowContext.js +24 -0
  200. package/dist/components/tt-table/src/components/TableAction.vue.js +222 -0
  201. package/dist/components/tt-table/src/components/TableAction.vue2.js +4 -0
  202. package/dist/components/tt-table/src/components/TableButtons.js +117 -0
  203. package/dist/components/tt-table/src/components/TableColumnModal.vue2.js +234 -0
  204. package/dist/components/tt-table/src/components/TableColumnModal.vue3.js +5 -0
  205. package/dist/components/tt-table/src/components/TableToobalTools.vue.js +87 -0
  206. package/dist/components/tt-table/src/components/TableToobalTools.vue2.js +4 -0
  207. package/dist/components/tt-table/src/emits.js +15 -0
  208. package/dist/components/tt-table/src/hooks/useCellArea.js +15 -0
  209. package/dist/components/tt-table/src/hooks/useColumns.js +275 -0
  210. package/dist/components/tt-table/src/hooks/useCustomColumns.js +53 -0
  211. package/dist/components/tt-table/src/hooks/useDataSource.js +224 -0
  212. package/dist/components/tt-table/src/hooks/useLeftRightSlot.js +64 -0
  213. package/dist/components/tt-table/src/hooks/usePagination.js +44 -0
  214. package/dist/components/tt-table/src/hooks/useRowSelection.js +84 -0
  215. package/dist/components/tt-table/src/hooks/useTableContext.js +20 -0
  216. package/dist/components/tt-table/src/hooks/useTableEvent.js +197 -0
  217. package/dist/components/tt-table/src/hooks/useTableForm.js +60 -0
  218. package/dist/components/tt-table/src/hooks/useTableRender.js +33 -0
  219. package/dist/components/tt-table/src/hooks/useTableSlot.js +17 -0
  220. package/dist/components/tt-table/src/props.js +482 -0
  221. package/dist/components/tt-table/src/toolProps.js +30 -0
  222. package/dist/components/tt-table/src/utils/context.js +17 -0
  223. package/dist/components/tt-table/src/utils/table-api.js +386 -0
  224. package/dist/components/tt-table/src/utils/table-form-api.js +122 -0
  225. package/dist/components/tt-text/index.js +7 -0
  226. package/dist/components/tt-text/index.vue.js +7 -0
  227. package/dist/components/tt-text/index.vue2.js +73 -0
  228. package/dist/components/tt-upload/index.js +9 -0
  229. package/dist/components/tt-upload/src/TtUpload.vue.js +306 -0
  230. package/dist/components/tt-upload/src/TtUpload.vue2.js +4 -0
  231. package/dist/components/tt-upload/src/typing.js +107 -0
  232. package/dist/directives/auto-tip/index.js +62 -0
  233. package/dist/directives/dialog-resize/index.js +49 -0
  234. package/dist/directives/dialog-resize/use-css-variable.js +44 -0
  235. package/dist/directives/dialog-resize/use-draggable.js +35 -0
  236. package/dist/directives/dialog-resize/use-fullscreen.js +38 -0
  237. package/dist/directives/dialog-resize/use-parse-translate.js +9 -0
  238. package/dist/directives/dialog-resize/use-resizer.js +37 -0
  239. package/dist/directives/disabled-tip/index.js +78 -0
  240. package/dist/directives/index.js +8 -0
  241. package/dist/hooks/useDataPermissionOptions.js +142 -0
  242. package/dist/hooks/useFormSchemasLink.js +261 -0
  243. package/dist/hooks/useFormat.js +44 -0
  244. package/dist/hooks/useLoading.js +22 -0
  245. package/dist/hooks/useScreenshotOss.js +69 -0
  246. package/dist/hooks/useSetup.js +59 -0
  247. package/dist/hooks/useTable.js +13 -0
  248. package/dist/hooks/useTemplateSlot.js +13 -0
  249. package/dist/index.js +142 -60274
  250. package/dist/plugins/default/renderCellContent.js +58 -0
  251. package/dist/plugins/vxeTable/switchStatus.js +91 -0
  252. package/dist/plugins.js +4 -146
  253. package/dist/style.css +1 -1
  254. package/dist/utils/xhr.js +8 -0
  255. package/package.json +5 -3
  256. package/dist/index-NG5FNCLD.js +0 -3430
  257. package/dist/index.modern-4Cf3dcJP.js +0 -3069
@@ -0,0 +1,117 @@
1
+ import { defineComponent as I, inject as S, computed as d, toRaw as k, createVNode as n, resolveComponent as P, unref as f, isVNode as j, mergeProps as c, withDirectives as F, resolveDirective as $ } from "vue";
2
+ import { propTypes as a, useDesign as x } from "@dazhicheng/hooks";
3
+ import { isBoolean as z, isFunction as b, generateTestId as D, toKebabCase as N, isArray as O, isObject as A } from "@dazhicheng/utils";
4
+ import { TtButton as R } from "../../../tt-button/index.js";
5
+ import { TtIcon as m } from "../../../tt-icon/index.js";
6
+ import U from "../../../../directives/disabled-tip/index.js";
7
+ import { ElPopover as V } from "element-plus";
8
+ import { componentMap as _ } from "../componentMap.js";
9
+ /* empty css */
10
+ function E(l) {
11
+ return typeof l == "function" || Object.prototype.toString.call(l) === "[object Object]" && !j(l);
12
+ }
13
+ const X = /* @__PURE__ */ I({
14
+ name: "TtTableButton",
15
+ directives: {
16
+ disabledTip: U
17
+ },
18
+ props: {
19
+ /** 按钮acitons */
20
+ actions: {
21
+ type: Array,
22
+ default: () => []
23
+ },
24
+ /** 分割线 */
25
+ divider: a.bool.def(!0),
26
+ /** 是否阻止默认行为 */
27
+ stopButtonPropagation: a.bool.def(!0)
28
+ },
29
+ setup(l, {
30
+ slots: g
31
+ }) {
32
+ const {
33
+ prefixCls: s
34
+ } = x("table-buttons"), h = S("tableIdContext", d(() => "")), T = (e) => D(f(h), "toolbar-btn", N(e)), C = (e) => {
35
+ const t = e.ifShow;
36
+ let o = !0;
37
+ return z(t) && (o = t), b(t) && (o = t(e)), o;
38
+ }, v = d(() => (k(l.actions) || []).filter((e) => C(e))), y = (e) => {
39
+ if (!l.stopButtonPropagation) return;
40
+ e.composedPath().find((r) => {
41
+ var i;
42
+ return ((i = r.tagName) == null ? void 0 : i.toUpperCase()) === "BUTTON";
43
+ }) && e.stopPropagation();
44
+ };
45
+ function B(e, t) {
46
+ const o = e;
47
+ return O(o) && o.length > 0 ? o.some((r) => !!(r != null && r.condition)) : A(o) ? !!o.condition : !!t;
48
+ }
49
+ function w(e, t = "default", o) {
50
+ if (!e || !Reflect.has(e, t) || !b(e[t]))
51
+ return null;
52
+ const r = e[t];
53
+ return r ? r(o) : null;
54
+ }
55
+ const u = (e, t) => F(n(R, c({
56
+ disabled: B(e.disabledTip, e.disabled),
57
+ key: t,
58
+ style: {
59
+ color: e.color
60
+ },
61
+ class: `${s}-reference-btn`,
62
+ onClick: e.onClick,
63
+ loading: e.loading,
64
+ type: e.type || "",
65
+ size: e.size || "default",
66
+ "data-testid": T(e.label || "")
67
+ }, e.props ?? {}), {
68
+ default: () => [n("span", null, [e.label || ""]), e.children && !e.disabled && n(m, {
69
+ "icon-font": "icon-xiala",
70
+ class: "el-icon--right"
71
+ }, null)],
72
+ ...e.iconFont && {
73
+ icon: () => n(m, {
74
+ "icon-font": e.iconFont,
75
+ size: 14
76
+ }, null)
77
+ }
78
+ }), [[$("disabled-tip"), e.disabledTip]]), p = (e) => e.map((t, o) => {
79
+ const r = _.get(t.component);
80
+ if (t.children && t.children.length > 0) {
81
+ const i = {
82
+ reference: () => u(t, o)
83
+ };
84
+ return t.disabled ? u(t, o) : n(V, {
85
+ placement: "bottom",
86
+ width: "auto",
87
+ trigger: "hover",
88
+ offset: 8,
89
+ "show-arrow": !1,
90
+ "popper-class": `${s}-popover`
91
+ }, {
92
+ default: () => [n("div", {
93
+ class: `${s}-popover-btnbox`
94
+ }, [p(t.children)])],
95
+ ...i
96
+ });
97
+ }
98
+ return t.slot ? w(g, t.slot, t) : t.component ? n(r, c({
99
+ key: o
100
+ }, t), null) : u(t, o);
101
+ });
102
+ return () => {
103
+ let e;
104
+ return n("div", {
105
+ class: `${s} flex`,
106
+ onClick: y
107
+ }, [n(P("el-space"), {
108
+ size: 8
109
+ }, E(e = p(f(v))) ? e : {
110
+ default: () => [e]
111
+ })]);
112
+ };
113
+ }
114
+ });
115
+ export {
116
+ X as default
117
+ };
@@ -0,0 +1,234 @@
1
+ import { defineComponent as X, ref as T, reactive as Y, computed as C, watch as S, createBlock as E, openBlock as m, unref as n, normalizeClass as b, withCtx as c, createElementVNode as d, createVNode as a, toDisplayString as h, createElementBlock as v, Fragment as M, renderList as V, createTextVNode as _, createCommentVNode as Z, withModifiers as ee } from "vue";
2
+ import le from "../../../../assets/svg/close.svg.js";
3
+ import te from "../../../../assets/svg/drag.svg.js";
4
+ import { TtIcon as B } from "../../../tt-icon/index.js";
5
+ import { TtText as oe } from "../../../tt-text/index.js";
6
+ import "../../../tt-modal/index.js";
7
+ import { TtButton as ne } from "../../../tt-button/index.js";
8
+ import { useDesign as se } from "@dazhicheng/hooks";
9
+ import { ElScrollbar as $, ElCheckbox as I, ElCheckboxGroup as ie, ElTooltip as de } from "element-plus";
10
+ import { cloneDeep as ce } from "lodash-es";
11
+ import ae from "sortablejs";
12
+ import { useModalRender as re } from "../../../tt-modal/src/hooks/useModalRender.js";
13
+ const ue = { class: "flex-1" }, me = { class: "cb flex items-center" }, fe = { class: "text-[var(--el-text-color-primary)] font-bold" }, pe = { class: "flex flex-col w-[200px] shrink-0" }, he = { class: "flex items-center justify-between px-15px pt-12px pb-6px text-xs text-[var(--el-text-color-regular)]" }, xe = { class: "flex items-center text-xs" }, Ce = ["onClick"], be = { class: "text-left" }, Be = /* @__PURE__ */ X({
14
+ __name: "TableColumnModal",
15
+ props: {
16
+ openColumn: { type: Function },
17
+ openExport: { type: Function }
18
+ },
19
+ emits: ["on-submit"],
20
+ setup(R, { expose: A, emit: N }) {
21
+ const r = R, j = N, { prefixCls: u } = se("table-column-modal"), F = T(), [z, x] = re(), k = T(!1), l = Y({
22
+ allColumns: [],
23
+ checkedFields: [],
24
+ selectedColumns: [],
25
+ disabledColumnField: []
26
+ });
27
+ let f = null, g = null;
28
+ const p = C(() => l.allColumns.filter((e) => e.field)), D = C(() => p.value.filter((e) => !e.disabled)), O = C(() => {
29
+ const e = D.value.length;
30
+ return e === 0 ? !0 : l.checkedFields.filter((t) => !l.disabledColumnField.includes(t)).length === e;
31
+ }), P = C(() => {
32
+ const e = [.../* @__PURE__ */ new Set([...l.checkedFields, ...l.disabledColumnField])];
33
+ return e.length > 0 && e.length < p.value.length;
34
+ });
35
+ function q(e) {
36
+ const o = p.value;
37
+ l.checkedFields = e ? o.map((t) => t.field) : o.filter((t) => l.disabledColumnField.includes(t.field)).map((t) => t.field);
38
+ }
39
+ function G(e) {
40
+ l.checkedFields = l.checkedFields.filter((o) => o !== e);
41
+ }
42
+ function L() {
43
+ l.checkedFields = l.checkedFields.filter((e) => l.disabledColumnField.includes(e));
44
+ }
45
+ const y = () => {
46
+ j("on-submit", {
47
+ checkedModel: [...l.selectedColumns.map((e) => e.field)],
48
+ modalApi: x,
49
+ isExport: k.value
50
+ });
51
+ };
52
+ function U({ columns: e, displayFields: o = [], disabledColumnField: t, isExport: s }) {
53
+ k.value = s ?? !1, x.openModal();
54
+ const K = ce(e).filter((i) => i.field);
55
+ l.disabledColumnField = t, l.allColumns = K.map((i) => ({ ...i, disabled: t.includes(i.field) }));
56
+ const Q = new Set(l.allColumns.map((i) => i.field)), w = o.filter((i) => i && Q.has(i));
57
+ l.checkedFields = [...w], l.selectedColumns = w.map((i) => l.allColumns.find((W) => W.field === i)).filter(Boolean), g = setTimeout(H, 100);
58
+ }
59
+ function H() {
60
+ var o;
61
+ const e = (o = n(F)) == null ? void 0 : o.querySelector(`.${u}-move-box`);
62
+ e && (f = ae.create(e, {
63
+ animation: 300,
64
+ handle: `.${u}-item-move:not(.is-disabled)`,
65
+ onStart: (t) => t.item.style.opacity = "0",
66
+ onEnd(t) {
67
+ if (t.oldIndex == null || t.newIndex == null) return;
68
+ const [s] = l.selectedColumns.splice(t.oldIndex, 1);
69
+ l.selectedColumns.splice(t.newIndex, 0, s), t.item.style.opacity = "1";
70
+ }
71
+ }));
72
+ }
73
+ S(
74
+ () => l.checkedFields,
75
+ (e) => {
76
+ const o = new Set(e);
77
+ l.selectedColumns = l.selectedColumns.filter((s) => o.has(s.field || ""));
78
+ const t = new Set(l.selectedColumns.map((s) => s.field || ""));
79
+ l.selectedColumns.push(
80
+ ...l.allColumns.filter((s) => o.has(s.field || "") && !t.has(s.field || ""))
81
+ );
82
+ },
83
+ { deep: !0 }
84
+ ), S(
85
+ () => {
86
+ var e;
87
+ return (e = x.getVisible) == null ? void 0 : e.value;
88
+ },
89
+ (e) => {
90
+ e || (g && clearTimeout(g), f == null || f.destroy(), f = null, Object.assign(l, { allColumns: [], checkedFields: [], selectedColumns: [] }));
91
+ }
92
+ );
93
+ function J() {
94
+ var e, o;
95
+ k.value ? (e = r.openExport) == null || e.call(r, !0) : (o = r.openColumn) == null || o.call(r, !0);
96
+ }
97
+ return A({
98
+ handleSubmit: y,
99
+ openModal: U,
100
+ setModalProps(e) {
101
+ x.setModalProps(e);
102
+ }
103
+ }), (e, o) => (m(), E(n(z), {
104
+ width: "720",
105
+ class: b(n(u)),
106
+ onOk: y
107
+ }, {
108
+ beforeFooter: c(() => [
109
+ d("div", be, [
110
+ a(n(ne), { onClick: J }, {
111
+ default: c(() => [...o[1] || (o[1] = [
112
+ _("重置", -1)
113
+ ])]),
114
+ _: 1
115
+ })
116
+ ])
117
+ ]),
118
+ default: c(() => [
119
+ d("div", {
120
+ ref_key: "contentRef",
121
+ ref: F,
122
+ class: "flex h-[400px]"
123
+ }, [
124
+ d("div", ue, [
125
+ a(n($), { class: "h-full px-24px py-12px" }, {
126
+ default: c(() => [
127
+ d("div", me, [
128
+ a(n(I), {
129
+ "model-value": O.value,
130
+ class: "checkbox-all",
131
+ indeterminate: P.value,
132
+ onChange: q
133
+ }, {
134
+ default: c(() => [
135
+ d("span", fe, " 全部(" + h(l.checkedFields.length) + "/" + h(p.value.length) + ") ", 1)
136
+ ]),
137
+ _: 1
138
+ }, 8, ["model-value", "indeterminate"])
139
+ ]),
140
+ a(n(ie), {
141
+ modelValue: l.checkedFields,
142
+ "onUpdate:modelValue": o[0] || (o[0] = (t) => l.checkedFields = t),
143
+ class: "mb-10px w-full"
144
+ }, {
145
+ default: c(() => [
146
+ (m(!0), v(M, null, V(p.value, (t) => (m(), E(n(I), {
147
+ key: t.field,
148
+ value: t.field,
149
+ disabled: t.disabled
150
+ }, {
151
+ default: c(() => [
152
+ a(n(de), {
153
+ "show-after": 400,
154
+ content: t.title || "",
155
+ placement: "top"
156
+ }, {
157
+ default: c(() => [
158
+ _(h(t.title || ""), 1)
159
+ ]),
160
+ _: 2
161
+ }, 1032, ["content"])
162
+ ]),
163
+ _: 2
164
+ }, 1032, ["value", "disabled"]))), 128))
165
+ ]),
166
+ _: 1
167
+ }, 8, ["modelValue"])
168
+ ]),
169
+ _: 1
170
+ })
171
+ ]),
172
+ d("div", pe, [
173
+ d("div", he, [
174
+ d("span", null, "已选 " + h(l.selectedColumns.length) + " 列", 1),
175
+ d("span", {
176
+ class: "cursor-pointer text-(--el-color-primary)",
177
+ onClick: L
178
+ }, "清空")
179
+ ]),
180
+ a(n($), { class: "flex-1" }, {
181
+ default: c(() => [
182
+ d("div", {
183
+ class: b([`${n(u)}-move-box`, "px-7px"])
184
+ }, [
185
+ (m(!0), v(M, null, V(l.selectedColumns, (t) => (m(), v("div", {
186
+ key: t.field,
187
+ class: b([
188
+ `${n(u)}-item-move`,
189
+ "flex h-36px items-center justify-between pr-12px py-2 cursor-pointer"
190
+ ])
191
+ }, [
192
+ d("div", xe, [
193
+ a(n(B), {
194
+ class: "shrink-0 text-[var(--el-text-color-secondary)]",
195
+ size: 14,
196
+ icon: n(te),
197
+ "is-custom-svg": ""
198
+ }, null, 8, ["icon"]),
199
+ a(n(oe), {
200
+ "tool-tip": !1,
201
+ class: "ml-1"
202
+ }, {
203
+ default: c(() => [
204
+ _(h(t.title || ""), 1)
205
+ ]),
206
+ _: 2
207
+ }, 1024)
208
+ ]),
209
+ l.disabledColumnField.includes(t.field) ? Z("", !0) : (m(), v("span", {
210
+ key: 0,
211
+ class: b(`${n(u)}-action-btn`),
212
+ onClick: ee((s) => G(t.field), ["stop"])
213
+ }, [
214
+ a(n(B), {
215
+ class: "text-[var(--el-text-color-secondary)]",
216
+ size: 12,
217
+ "icon-font": n(le)
218
+ }, null, 8, ["icon-font"])
219
+ ], 10, Ce))
220
+ ], 2))), 128))
221
+ ], 2)
222
+ ]),
223
+ _: 1
224
+ })
225
+ ])
226
+ ], 512)
227
+ ]),
228
+ _: 1
229
+ }, 8, ["class"]));
230
+ }
231
+ });
232
+ export {
233
+ Be as default
234
+ };
@@ -0,0 +1,5 @@
1
+ import o from "./TableColumnModal.vue2.js";
2
+ /* empty css */
3
+ export {
4
+ o as default
5
+ };
@@ -0,0 +1,87 @@
1
+ import { defineComponent as w, inject as E, computed as i, unref as n, ref as x, createElementBlock as a, openBlock as t, createBlock as d, createCommentVNode as f, withCtx as p, renderSlot as u, Fragment as h, renderList as I, createElementVNode as $, createVNode as y } from "vue";
2
+ import { TtIcon as A } from "../../../tt-icon/index.js";
3
+ import { generateTestId as B } from "@dazhicheng/utils";
4
+ import { ElSpace as N, ElTooltip as V } from "element-plus";
5
+ import { toolProps as z } from "../toolProps.js";
6
+ import R from "../../../../assets/svg/RiRefreshLine.svg.js";
7
+ import j from "../../../../assets/svg/exportSvg.svg.js";
8
+ import F from "../../../../assets/svg/columnSet.svg.js";
9
+ const L = ["data-testid"], P = ["onClick", "onAnimationend"], Q = /* @__PURE__ */ w({
10
+ __name: "TableToobalTools",
11
+ props: z,
12
+ emits: ["on-refresh", "on-columns-setting", "on-export"],
13
+ setup(b, { emit: k }) {
14
+ const r = b, l = k, v = E(
15
+ "tableIdContext",
16
+ i(() => "")
17
+ ), _ = i(() => B(n(v), "table-toolbar-tools")), c = x(/* @__PURE__ */ new Set());
18
+ function g(e, m) {
19
+ c.value.add(e), m();
20
+ }
21
+ function C(e) {
22
+ c.value.delete(e);
23
+ }
24
+ const S = i(() => [
25
+ {
26
+ label: "自定义导出",
27
+ icon: j,
28
+ handler: () => l("on-export"),
29
+ if: r.showExport
30
+ },
31
+ {
32
+ label: "刷新",
33
+ icon: R,
34
+ handler: () => l("on-refresh"),
35
+ if: r.showRefresh
36
+ },
37
+ {
38
+ label: "列设置",
39
+ icon: F,
40
+ handler: () => l("on-columns-setting"),
41
+ if: r.showSetColumn
42
+ }
43
+ ]);
44
+ return (e, m) => (t(), a("div", { "data-testid": _.value }, [
45
+ e.showSetting ? (t(), d(n(N), {
46
+ key: 0,
47
+ size: 12
48
+ }, {
49
+ default: p(() => [
50
+ u(e.$slots, "toolbar-left"),
51
+ (t(!0), a(h, null, I(S.value, (o, s) => (t(), a(h, { key: s }, [
52
+ o.if ? (t(), d(n(V), {
53
+ key: 0,
54
+ ref_for: !0,
55
+ ref: "tooltipRef",
56
+ class: "box-item",
57
+ effect: "dark",
58
+ content: o.label,
59
+ placement: "top",
60
+ "show-after": 200
61
+ }, {
62
+ default: p(() => [
63
+ $("div", {
64
+ class: "icon-table-btn",
65
+ onClick: (T) => g(s, o.handler),
66
+ onAnimationend: (T) => C(s)
67
+ }, [
68
+ y(n(A), {
69
+ icon: o.icon,
70
+ size: 14,
71
+ "is-custom-svg": ""
72
+ }, null, 8, ["icon"])
73
+ ], 40, P)
74
+ ]),
75
+ _: 2
76
+ }, 1032, ["content"])) : f("", !0)
77
+ ], 64))), 128)),
78
+ u(e.$slots, "toolbar-right")
79
+ ]),
80
+ _: 3
81
+ })) : f("", !0)
82
+ ], 8, L));
83
+ }
84
+ });
85
+ export {
86
+ Q as default
87
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./TableToobalTools.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,15 @@
1
+ import { tableEmits as e } from "vxe-table/es/table/src/emits";
2
+ const c = [
3
+ ...e,
4
+ "fetch-success",
5
+ "fetch-error",
6
+ "selection-change",
7
+ "dynamic-change",
8
+ "row-dragend",
9
+ "page-change",
10
+ "load-data"
11
+ // 缺少的在这里添加
12
+ ];
13
+ export {
14
+ c as basicTableEmits
15
+ };
@@ -0,0 +1,15 @@
1
+ import { GlobalConfig as t } from "../../../../hooks/useSetup.js";
2
+ import { unref as c } from "vue";
3
+ function h(o, i, C, n) {
4
+ return {
5
+ onCellAreaSelectionEnd: function(e) {
6
+ var l, r;
7
+ (l = c(o).checkboxConfig) != null && l.range && c(o).showCheckbox ? n.onCheckboxRangeChange({
8
+ records: e.rows
9
+ }) : (r = t.table) != null && r.isAreaCheckboxSelection && n.onCellAreaSelectionEndSetCheckbox(e), i("cell-area-selection-end", e);
10
+ }
11
+ };
12
+ }
13
+ export {
14
+ h as useCellArea
15
+ };