qy-better-lib 0.0.1

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 (185) hide show
  1. package/.vscode/extensions.json +3 -0
  2. package/LICENSE +24 -0
  3. package/README.md +2 -0
  4. package/index.html +13 -0
  5. package/package.json +37 -0
  6. package/packages/core/DOCUMENTATION.md +2681 -0
  7. package/packages/core/LICENSE +24 -0
  8. package/packages/core/package.json +67 -0
  9. package/packages/core/types/index.d.ts +39 -0
  10. package/packages/core/types/json.d.ts +4 -0
  11. package/packages/core/types/vue.shim.d.ts +5 -0
  12. package/packages/core/vitest.config.ts +15 -0
  13. package/packages/core/yarn.lock +1233 -0
  14. package/packages/hooks/DOCUMENTATION.md +634 -0
  15. package/packages/hooks/LICENSE +24 -0
  16. package/packages/hooks/__tests__/use-chart/index.test.ts +287 -0
  17. package/packages/hooks/__tests__/use-emit/index.test.ts +248 -0
  18. package/packages/hooks/__tests__/use-fullscreen/index.test.ts +162 -0
  19. package/packages/hooks/__tests__/use-image/index.test.ts +230 -0
  20. package/packages/hooks/__tests__/use-layout-flow/index.test.ts +382 -0
  21. package/packages/hooks/__tests__/use-mqtt/index.test.ts +392 -0
  22. package/packages/hooks/__tests__/use-print/index.test.ts +378 -0
  23. package/packages/hooks/__tests__/use-watermark/index.test.ts +277 -0
  24. package/packages/hooks/__tests__/use-websocket/index.test.ts +402 -0
  25. package/packages/hooks/package.json +104 -0
  26. package/packages/hooks/types/index.d.ts +1 -0
  27. package/packages/hooks/types/json.d.ts +4 -0
  28. package/packages/hooks/types/vue.shim.d.ts +5 -0
  29. package/packages/hooks/yarn.lock +1832 -0
  30. package/packages/lowcode/core/package.json +60 -0
  31. package/packages/lowcode/core/types/index.d.ts +1 -0
  32. package/packages/lowcode/core/types/json.d.ts +4 -0
  33. package/packages/lowcode/core/types/vue.shim.d.ts +5 -0
  34. package/packages/lowcode/core/vite.dist.min.config.js +40 -0
  35. package/packages/lowcode/core/vite.dist.min.config.js.map +1 -0
  36. package/packages/lowcode/core/vite.lib.config.js +74 -0
  37. package/packages/lowcode/core/vite.lib.config.js.map +1 -0
  38. package/packages/lowcode/core/yarn.lock +1132 -0
  39. package/packages/lowcode/mobile/package.json +63 -0
  40. package/packages/lowcode/mobile/types/index.d.ts +1 -0
  41. package/packages/lowcode/mobile/types/json.d.ts +4 -0
  42. package/packages/lowcode/mobile/types/vue.shim.d.ts +77 -0
  43. package/packages/lowcode/mobile/vite.config.js +11 -0
  44. package/packages/lowcode/mobile/vite.config.js.map +1 -0
  45. package/packages/lowcode/mobile/vite.dist.min.config.js +71 -0
  46. package/packages/lowcode/mobile/vite.dist.min.config.js.map +1 -0
  47. package/packages/lowcode/mobile/vite.lib.config.js +137 -0
  48. package/packages/lowcode/mobile/vite.lib.config.js.map +1 -0
  49. package/packages/lowcode/mobile/yarn.lock +3888 -0
  50. package/packages/lowcode/pc/package.json +64 -0
  51. package/packages/lowcode/pc/vite.config.js +11 -0
  52. package/packages/lowcode/pc/vite.config.js.map +1 -0
  53. package/packages/lowcode/pc/vite.dist.min.config.js +71 -0
  54. package/packages/lowcode/pc/vite.dist.min.config.js.map +1 -0
  55. package/packages/lowcode/pc/vite.lib.config.js +137 -0
  56. package/packages/lowcode/pc/vite.lib.config.js.map +1 -0
  57. package/packages/lowcode/pc/yarn.lock +4026 -0
  58. package/packages/pc_components/DOCUMENTATION.md +566 -0
  59. package/packages/pc_components/LICENSE +24 -0
  60. package/packages/pc_components/lib/commDialog/index.d.ts +3 -0
  61. package/packages/pc_components/lib/commDialog/index.js +8 -0
  62. package/packages/pc_components/lib/commDialog/src/index.vue.d.ts +102 -0
  63. package/packages/pc_components/lib/commDialog/src/index.vue.js +43 -0
  64. package/packages/pc_components/lib/commDialog/src/index.vue2.js +4 -0
  65. package/packages/pc_components/lib/commDialog/src/props.d.ts +49 -0
  66. package/packages/pc_components/lib/commDialog/src/props.js +48 -0
  67. package/packages/pc_components/lib/commDialog/src/type.d.ts +39 -0
  68. package/packages/pc_components/lib/commForm/index.d.ts +3 -0
  69. package/packages/pc_components/lib/commForm/index.js +8 -0
  70. package/packages/pc_components/lib/commForm/src/index.vue.d.ts +95 -0
  71. package/packages/pc_components/lib/commForm/src/index.vue.js +50 -0
  72. package/packages/pc_components/lib/commForm/src/index.vue2.js +4 -0
  73. package/packages/pc_components/lib/commForm/src/props.d.ts +49 -0
  74. package/packages/pc_components/lib/commForm/src/props.js +47 -0
  75. package/packages/pc_components/lib/commForm/src/type.d.ts +8 -0
  76. package/packages/pc_components/lib/contextMenu/index.d.ts +5 -0
  77. package/packages/pc_components/lib/contextMenu/index.js +8 -0
  78. package/packages/pc_components/lib/contextMenu/src/index.vue.d.ts +91 -0
  79. package/packages/pc_components/lib/contextMenu/src/index.vue.js +153 -0
  80. package/packages/pc_components/lib/contextMenu/src/index.vue2.js +4 -0
  81. package/packages/pc_components/lib/contextMenu/src/props.d.ts +32 -0
  82. package/packages/pc_components/lib/contextMenu/src/props.js +27 -0
  83. package/packages/pc_components/lib/contextMenu/src/type.d.ts +11 -0
  84. package/packages/pc_components/lib/describeView/index.d.ts +2 -0
  85. package/packages/pc_components/lib/describeView/index.js +7 -0
  86. package/packages/pc_components/lib/describeView/src/index.vue.d.ts +61 -0
  87. package/packages/pc_components/lib/describeView/src/index.vue.js +84 -0
  88. package/packages/pc_components/lib/describeView/src/index.vue2.js +4 -0
  89. package/packages/pc_components/lib/describeView/src/props.d.ts +35 -0
  90. package/packages/pc_components/lib/describeView/src/props.js +33 -0
  91. package/packages/pc_components/lib/describeView/src/type.d.ts +10 -0
  92. package/packages/pc_components/lib/index.d.ts +18 -0
  93. package/packages/pc_components/lib/index.js +40 -0
  94. package/packages/pc_components/lib/simpleVirtualList/index.d.ts +2 -0
  95. package/packages/pc_components/lib/simpleVirtualList/index.js +7 -0
  96. package/packages/pc_components/lib/simpleVirtualList/src/index.vue.d.ts +28 -0
  97. package/packages/pc_components/lib/simpleVirtualList/src/index.vue.js +101 -0
  98. package/packages/pc_components/lib/simpleVirtualList/src/index.vue2.js +4 -0
  99. package/packages/pc_components/lib/simpleVirtualList/src/type.d.ts +12 -0
  100. package/packages/pc_components/lib/styles/comm-form.scss +4 -0
  101. package/packages/pc_components/lib/styles/context-menu.scss +47 -0
  102. package/packages/pc_components/lib/styles/describe-view.scss +25 -0
  103. package/packages/pc_components/lib/styles/index.scss +6 -0
  104. package/packages/pc_components/lib/styles/simple-virtual-list.scss +25 -0
  105. package/packages/pc_components/lib/styles/table-extend.scss +100 -0
  106. package/packages/pc_components/lib/styles/text-button.scss +71 -0
  107. package/packages/pc_components/lib/tableExtend/index.d.ts +3 -0
  108. package/packages/pc_components/lib/tableExtend/index.js +7 -0
  109. package/packages/pc_components/lib/tableExtend/props.d.ts +130 -0
  110. package/packages/pc_components/lib/tableExtend/props.js +128 -0
  111. package/packages/pc_components/lib/tableExtend/src/colVisible.vue.d.ts +3 -0
  112. package/packages/pc_components/lib/tableExtend/src/colVisible.vue.js +128 -0
  113. package/packages/pc_components/lib/tableExtend/src/colVisible.vue2.js +4 -0
  114. package/packages/pc_components/lib/tableExtend/src/index.vue.d.ts +186 -0
  115. package/packages/pc_components/lib/tableExtend/src/index.vue.js +234 -0
  116. package/packages/pc_components/lib/tableExtend/src/index.vue2.js +4 -0
  117. package/packages/pc_components/lib/tableExtend/src/valueCol.vue.d.ts +24 -0
  118. package/packages/pc_components/lib/tableExtend/src/valueCol.vue.js +29 -0
  119. package/packages/pc_components/lib/tableExtend/src/valueCol.vue2.js +4 -0
  120. package/packages/pc_components/lib/tableExtend/type.d.ts +165 -0
  121. package/packages/pc_components/lib/tableExtend/type.js +9 -0
  122. package/packages/pc_components/lib/tableExtend/useTable.d.ts +27 -0
  123. package/packages/pc_components/lib/tableExtend/useTable.js +115 -0
  124. package/packages/pc_components/lib/textButton/index.d.ts +2 -0
  125. package/packages/pc_components/lib/textButton/index.js +7 -0
  126. package/packages/pc_components/lib/textButton/src/index.vue.d.ts +42 -0
  127. package/packages/pc_components/lib/textButton/src/index.vue.js +44 -0
  128. package/packages/pc_components/lib/textButton/src/index.vue2.js +4 -0
  129. package/packages/pc_components/lib/textButton/src/props.d.ts +23 -0
  130. package/packages/pc_components/lib/textButton/src/props.js +30 -0
  131. package/packages/pc_components/lib/textButton/src/type.d.ts +30 -0
  132. package/packages/pc_components/lib/utils/index.d.ts +77 -0
  133. package/packages/pc_components/lib/utils/index.js +124 -0
  134. package/packages/pc_components/package.json +73 -0
  135. package/packages/pc_components/types/index.d.ts +9 -0
  136. package/packages/pc_components/types/json.d.ts +4 -0
  137. package/packages/pc_components/types/vue.shim.d.ts +5 -0
  138. package/packages/pc_components/yarn.lock +1641 -0
  139. package/postcss.config.js +19 -0
  140. package/public/vite.svg +1 -0
  141. package/src/App.vue +37 -0
  142. package/src/api/index.ts +42 -0
  143. package/src/assets/vue.svg +1 -0
  144. package/src/document/core.md +2680 -0
  145. package/src/document/hooks.md +632 -0
  146. package/src/document/pc_components.md +566 -0
  147. package/src/locales/en.json +1 -0
  148. package/src/locales/zh-cn.json +1 -0
  149. package/src/main.ts +13 -0
  150. package/src/plugins/element-plus.ts +16 -0
  151. package/src/plugins/i18n.ts +17 -0
  152. package/src/plugins/index.ts +13 -0
  153. package/src/plugins/store.ts +12 -0
  154. package/src/router/index.ts +20 -0
  155. package/src/shared/chartType.ts +279 -0
  156. package/src/shared/const.ts +160 -0
  157. package/src/shared/lib.ts +129 -0
  158. package/src/shared/request.ts +255 -0
  159. package/src/shared/type.ts +48 -0
  160. package/src/shared/utils/date.ts +83 -0
  161. package/src/shared/utils/utils.ts +85 -0
  162. package/src/store/index.ts +22 -0
  163. package/src/store/modules/app.ts +17 -0
  164. package/src/store/modules/shared.ts +21 -0
  165. package/src/styles/index.scss +169 -0
  166. package/src/types/app.d.ts +23 -0
  167. package/src/types/echarts.d.ts +5 -0
  168. package/src/types/index.d.ts +1 -0
  169. package/src/types/json.d.ts +4 -0
  170. package/src/types/scss.d.ts +9 -0
  171. package/src/types/vue.shim.d.ts +5 -0
  172. package/src/views/docs/docs-content.vue +379 -0
  173. package/src/views/docs/docs-header.vue +130 -0
  174. package/src/views/docs/docs-sidebar.vue +76 -0
  175. package/src/views/docs/hooks.ts +600 -0
  176. package/src/views/docs/index.vue +30 -0
  177. package/src/views/docs/styles/docs-content.scss +106 -0
  178. package/src/views/docs/styles/docs-header.scss +20 -0
  179. package/src/views/docs/styles/docs-sidebar.scss +182 -0
  180. package/src/views/docs/styles/index.scss +14 -0
  181. package/src/views/docs/type.ts +101 -0
  182. package/src/views/index.vue +34 -0
  183. package/tsconfig.json +37 -0
  184. package/tsconfig.node.json +8 -0
  185. package/vite.config.ts +54 -0
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./colVisible.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,186 @@
1
+ import { TableColumn } from '..';
2
+ import { DefineComponent, ExtractPropTypes, PropType, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ import { TableAttr } from './../type';
4
+ /**
5
+ * 清空选择
6
+ */
7
+ declare function clear_selection(): void;
8
+ /**
9
+ * 切换行选择状态
10
+ * @param {Object} row 行数据
11
+ */
12
+ declare function toggle_row_selection(row: any): void;
13
+ declare function __VLS_template(): {
14
+ attrs: Partial<{}>;
15
+ slots: Partial<Record<`col_${string}`, (_: {
16
+ index: any;
17
+ data: any;
18
+ }) => any>> & Partial<Record<`header_${string}`, (_: {
19
+ data: TableColumn;
20
+ }) => any>> & {
21
+ 'tool-left'?(_: {}): any;
22
+ 'tool-right'?(_: {}): any;
23
+ default?(_: {}): any;
24
+ expand?(_: {
25
+ index: any;
26
+ data: any;
27
+ }): any;
28
+ operatColumn?(_: {}): any;
29
+ empty?(_: {}): any;
30
+ 'bottom-left'?(_: {}): any;
31
+ };
32
+ refs: {
33
+ table_extend_ref: HTMLDivElement;
34
+ table_ref: unknown;
35
+ };
36
+ rootEl: HTMLDivElement;
37
+ };
38
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
39
+ declare const __VLS_component: DefineComponent<ExtractPropTypes<{
40
+ options: {
41
+ type: PropType<TableAttr>;
42
+ default: () => {};
43
+ };
44
+ tableData: {
45
+ type: ArrayConstructor;
46
+ default: never[];
47
+ };
48
+ tableColums: {
49
+ type: PropType<Array< TableColumn>>;
50
+ default: () => never[];
51
+ };
52
+ tableLoading: BooleanConstructor;
53
+ expand: {
54
+ type: BooleanConstructor;
55
+ default: () => boolean;
56
+ };
57
+ selectionCol: {
58
+ type: BooleanConstructor;
59
+ default: () => boolean;
60
+ };
61
+ indexCol: {
62
+ type: BooleanConstructor;
63
+ default: () => boolean;
64
+ };
65
+ isSetColumn: {
66
+ type: BooleanConstructor;
67
+ default: () => boolean;
68
+ };
69
+ paging: {
70
+ type: PropType<{
71
+ pageIndex: number;
72
+ pageSize: number;
73
+ }>;
74
+ };
75
+ total: NumberConstructor;
76
+ sizeList: {
77
+ type: PropType<Array<number>>;
78
+ default: () => number[];
79
+ };
80
+ autoHeight: {
81
+ type: BooleanConstructor;
82
+ default: () => boolean;
83
+ };
84
+ autoPagination: {
85
+ type: BooleanConstructor;
86
+ default: () => boolean;
87
+ };
88
+ autoSize: {
89
+ type: BooleanConstructor;
90
+ default: () => boolean;
91
+ };
92
+ }>, {
93
+ clearSelection: typeof clear_selection;
94
+ toggleRowSelection: typeof toggle_row_selection;
95
+ table: Ref<any, any>;
96
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
97
+ tableSort: (...args: any[]) => void;
98
+ handleSelectionChange: (...args: any[]) => void;
99
+ currentChange: (...args: any[]) => void;
100
+ pageSizeChange: (...args: any[]) => void;
101
+ rowClick: (...args: any[]) => void;
102
+ rowDblClick: (...args: any[]) => void;
103
+ }, string, PublicProps, Readonly< ExtractPropTypes<{
104
+ options: {
105
+ type: PropType<TableAttr>;
106
+ default: () => {};
107
+ };
108
+ tableData: {
109
+ type: ArrayConstructor;
110
+ default: never[];
111
+ };
112
+ tableColums: {
113
+ type: PropType<Array< TableColumn>>;
114
+ default: () => never[];
115
+ };
116
+ tableLoading: BooleanConstructor;
117
+ expand: {
118
+ type: BooleanConstructor;
119
+ default: () => boolean;
120
+ };
121
+ selectionCol: {
122
+ type: BooleanConstructor;
123
+ default: () => boolean;
124
+ };
125
+ indexCol: {
126
+ type: BooleanConstructor;
127
+ default: () => boolean;
128
+ };
129
+ isSetColumn: {
130
+ type: BooleanConstructor;
131
+ default: () => boolean;
132
+ };
133
+ paging: {
134
+ type: PropType<{
135
+ pageIndex: number;
136
+ pageSize: number;
137
+ }>;
138
+ };
139
+ total: NumberConstructor;
140
+ sizeList: {
141
+ type: PropType<Array<number>>;
142
+ default: () => number[];
143
+ };
144
+ autoHeight: {
145
+ type: BooleanConstructor;
146
+ default: () => boolean;
147
+ };
148
+ autoPagination: {
149
+ type: BooleanConstructor;
150
+ default: () => boolean;
151
+ };
152
+ autoSize: {
153
+ type: BooleanConstructor;
154
+ default: () => boolean;
155
+ };
156
+ }>> & Readonly<{
157
+ onTableSort?: ((...args: any[]) => any) | undefined;
158
+ onHandleSelectionChange?: ((...args: any[]) => any) | undefined;
159
+ onCurrentChange?: ((...args: any[]) => any) | undefined;
160
+ onPageSizeChange?: ((...args: any[]) => any) | undefined;
161
+ onRowClick?: ((...args: any[]) => any) | undefined;
162
+ onRowDblClick?: ((...args: any[]) => any) | undefined;
163
+ }>, {
164
+ options: TableAttr;
165
+ tableData: unknown[];
166
+ tableColums: TableColumn[];
167
+ tableLoading: boolean;
168
+ expand: boolean;
169
+ selectionCol: boolean;
170
+ indexCol: boolean;
171
+ isSetColumn: boolean;
172
+ sizeList: number[];
173
+ autoHeight: boolean;
174
+ autoPagination: boolean;
175
+ autoSize: boolean;
176
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {
177
+ table_extend_ref: HTMLDivElement;
178
+ table_ref: unknown;
179
+ }, HTMLDivElement>;
180
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
181
+ export default _default;
182
+ type __VLS_WithTemplateSlots<T, S> = T & {
183
+ new (): {
184
+ $slots: S;
185
+ };
186
+ };
@@ -0,0 +1,234 @@
1
+ import { defineComponent, provide, toRef, ref, watch, onMounted, nextTick, resolveComponent, resolveDirective, openBlock, createElementBlock, unref, createElementVNode, renderSlot, createBlock, createCommentVNode, withDirectives, mergeProps, withCtx, Fragment, renderList, createTextVNode, toDisplayString, createVNode } from "vue";
2
+ import { auto_size } from "@qy_better_lib/core";
3
+ import { useI18n } from "vue-i18n";
4
+ import props from "../props.js";
5
+ import use_table from "../useTable.js";
6
+ import _sfc_main$1 from "./colVisible.vue.js";
7
+ import _sfc_main$2 from "./valueCol.vue.js";
8
+ const _hoisted_1 = {
9
+ class: "table-extend",
10
+ ref: "table_extend_ref"
11
+ };
12
+ const _hoisted_2 = {
13
+ key: 0,
14
+ class: "tool-panel"
15
+ };
16
+ const _hoisted_3 = { class: "left-panel" };
17
+ const _hoisted_4 = { class: "right-panel" };
18
+ const _hoisted_5 = { class: "default-tool" };
19
+ const _hoisted_6 = {
20
+ key: 0,
21
+ class: "required-ident"
22
+ };
23
+ const _hoisted_7 = {
24
+ key: 1,
25
+ class: "table-bottom"
26
+ };
27
+ const _hoisted_8 = { class: "left" };
28
+ const _sfc_main = /* @__PURE__ */ defineComponent({
29
+ __name: "index",
30
+ props: { ...props() },
31
+ emits: [
32
+ "tableSort",
33
+ "handleSelectionChange",
34
+ "currentChange",
35
+ "pageSizeChange",
36
+ "rowClick",
37
+ "rowDblClick"
38
+ ],
39
+ setup(__props, { expose: __expose, emit: __emit }) {
40
+ const props2 = __props;
41
+ const emit = __emit;
42
+ const { t: i18nInstance } = useI18n();
43
+ const {
44
+ selection_options,
45
+ // 选中行状态
46
+ table_attribute,
47
+ // 表格属性
48
+ pagination,
49
+ // 分页配置
50
+ has_pagination,
51
+ // 是否显示分页
52
+ column_config,
53
+ // 列显示/隐藏配置
54
+ col_setting_list,
55
+ // 表格显示列
56
+ show_tool_panel,
57
+ // 是否显示工具栏
58
+ show_bottom_panel
59
+ // 是否显示底部面板
60
+ } = use_table(i18nInstance);
61
+ provide("table-extend", {
62
+ table_props: props2,
63
+ table_colums: toRef(props2, "tableColums"),
64
+ column_config
65
+ });
66
+ const table_ref = ref(null);
67
+ watch(() => props2.tableColums, (newColums) => {
68
+ column_config.show_column = newColums;
69
+ }, { deep: false });
70
+ watch(() => pagination.page_index, (page_index) => {
71
+ emit("currentChange", page_index);
72
+ table_ref.value?.setScrollTop(0);
73
+ });
74
+ watch(
75
+ () => pagination.page_size,
76
+ (page_size) => {
77
+ if (page_size && page_size > 0) {
78
+ if (pagination.page_index === 1) {
79
+ emit("pageSizeChange", page_size);
80
+ table_ref.value?.setScrollTop(0);
81
+ } else {
82
+ pagination.page_index = 1;
83
+ }
84
+ }
85
+ }
86
+ );
87
+ onMounted(() => {
88
+ nextTick(() => {
89
+ props2.tableColums && props2.tableColums.length > 0 && (column_config.show_column = props2.tableColums);
90
+ });
91
+ });
92
+ __expose({
93
+ clearSelection: clear_selection,
94
+ // 清空选择
95
+ toggleRowSelection: toggle_row_selection,
96
+ // 切换行选择状态
97
+ table: table_ref
98
+ // 表格引用
99
+ });
100
+ function table_sort(column) {
101
+ emit("tableSort", {
102
+ sort_name: column.prop,
103
+ sort_type: column.order === "descending" ? "desc" : column.order === "ascending" ? "asc" : ""
104
+ });
105
+ }
106
+ function handle_selection_change(rows) {
107
+ selection_options.rows = rows;
108
+ selection_options.count = rows && rows.length;
109
+ emit("handleSelectionChange", rows);
110
+ }
111
+ function row_click(rows) {
112
+ emit("rowClick", rows);
113
+ }
114
+ function row_dbl_click(rows) {
115
+ emit("rowDblClick", rows);
116
+ }
117
+ function clear_selection() {
118
+ table_ref.value?.clearSelection();
119
+ }
120
+ function toggle_row_selection(row) {
121
+ table_ref.value?.toggleRowSelection(row);
122
+ }
123
+ return (_ctx, _cache) => {
124
+ const _component_el_table_column = resolveComponent("el-table-column");
125
+ const _component_el_empty = resolveComponent("el-empty");
126
+ const _component_el_table = resolveComponent("el-table");
127
+ const _component_el_pagination = resolveComponent("el-pagination");
128
+ const _directive_loading = resolveDirective("loading");
129
+ return openBlock(), createElementBlock("div", _hoisted_1, [
130
+ unref(show_tool_panel) ? (openBlock(), createElementBlock("div", _hoisted_2, [
131
+ createElementVNode("div", _hoisted_3, [
132
+ renderSlot(_ctx.$slots, "tool-left")
133
+ ]),
134
+ createElementVNode("div", _hoisted_4, [
135
+ renderSlot(_ctx.$slots, "tool-right"),
136
+ createElementVNode("div", _hoisted_5, [
137
+ _ctx.isSetColumn ? (openBlock(), createBlock(_sfc_main$1, { key: 0 })) : createCommentVNode("", true)
138
+ ])
139
+ ])
140
+ ])) : createCommentVNode("", true),
141
+ renderSlot(_ctx.$slots, "default", {}, () => [
142
+ withDirectives((openBlock(), createBlock(_component_el_table, mergeProps({
143
+ ref_key: "table_ref",
144
+ ref: table_ref
145
+ }, unref(table_attribute), {
146
+ data: _ctx.tableData,
147
+ onSortChange: table_sort,
148
+ onSelectionChange: handle_selection_change,
149
+ onRowClick: row_click,
150
+ onRowDblclick: row_dbl_click
151
+ }), {
152
+ empty: withCtx(() => [
153
+ renderSlot(_ctx.$slots, "empty", {}, () => [
154
+ createVNode(_component_el_empty, { "image-size": 60 })
155
+ ])
156
+ ]),
157
+ default: withCtx(() => [
158
+ _ctx.selectionCol ? (openBlock(), createBlock(_component_el_table_column, {
159
+ key: 0,
160
+ type: "selection",
161
+ width: !_ctx.autoSize ? 50 : unref(auto_size)(50),
162
+ fixed: "left"
163
+ }, null, 8, ["width"])) : createCommentVNode("", true),
164
+ _ctx.indexCol ? (openBlock(), createBlock(_component_el_table_column, {
165
+ key: 1,
166
+ type: "index",
167
+ label: "序号",
168
+ width: !_ctx.autoSize ? 60 : unref(auto_size)(60),
169
+ fixed: "left"
170
+ }, null, 8, ["width"])) : createCommentVNode("", true),
171
+ _ctx.expand ? (openBlock(), createBlock(_component_el_table_column, {
172
+ key: 2,
173
+ type: "expand"
174
+ }, {
175
+ default: withCtx(({ row, $index }) => [
176
+ renderSlot(_ctx.$slots, "expand", {
177
+ index: $index,
178
+ data: row
179
+ })
180
+ ]),
181
+ _: 3
182
+ })) : createCommentVNode("", true),
183
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(col_setting_list), (item) => {
184
+ return openBlock(), createBlock(_component_el_table_column, mergeProps({
185
+ key: item.prop,
186
+ ref_for: true
187
+ }, item), {
188
+ default: withCtx((scope) => [
189
+ renderSlot(_ctx.$slots, `col_${item.prop}`, {
190
+ index: scope.$index,
191
+ data: scope.row
192
+ }, () => [
193
+ createVNode(_sfc_main$2, mergeProps({ ref_for: true }, { row: scope.row, colCfg: item }), null, 16)
194
+ ])
195
+ ]),
196
+ header: withCtx(() => [
197
+ renderSlot(_ctx.$slots, `header_${item.prop}`, { data: item }, () => [
198
+ item.required ? (openBlock(), createElementBlock("span", _hoisted_6, "*")) : createCommentVNode("", true),
199
+ createTextVNode(" " + toDisplayString(item.label), 1)
200
+ ])
201
+ ]),
202
+ _: 2
203
+ }, 1040);
204
+ }), 128)),
205
+ renderSlot(_ctx.$slots, "operatColumn")
206
+ ]),
207
+ _: 3
208
+ }, 16, ["data"])), [
209
+ [_directive_loading, _ctx.tableLoading]
210
+ ])
211
+ ]),
212
+ unref(show_bottom_panel) || unref(has_pagination) ? (openBlock(), createElementBlock("div", _hoisted_7, [
213
+ createElementVNode("div", _hoisted_8, [
214
+ renderSlot(_ctx.$slots, "bottom-left")
215
+ ]),
216
+ unref(has_pagination) ? (openBlock(), createBlock(_component_el_pagination, {
217
+ key: 0,
218
+ "current-page": unref(pagination).page_index,
219
+ "onUpdate:currentPage": _cache[0] || (_cache[0] = ($event) => unref(pagination).page_index = $event),
220
+ "page-size": unref(pagination).page_size,
221
+ "onUpdate:pageSize": _cache[1] || (_cache[1] = ($event) => unref(pagination).page_size = $event),
222
+ "page-sizes": _ctx.sizeList,
223
+ layout: "total,prev,pager,next,sizes,jumper",
224
+ total: _ctx.total,
225
+ background: ""
226
+ }, null, 8, ["current-page", "page-size", "page-sizes", "total"])) : createCommentVNode("", true)
227
+ ])) : createCommentVNode("", true)
228
+ ], 512);
229
+ };
230
+ }
231
+ });
232
+ export {
233
+ _sfc_main as default
234
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./index.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,24 @@
1
+ import { DefineComponent, ExtractPropTypes, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ declare const _default: DefineComponent<ExtractPropTypes<{
3
+ row: {
4
+ type: ObjectConstructor;
5
+ default: () => void;
6
+ };
7
+ colCfg: {
8
+ type: ObjectConstructor;
9
+ default: () => void;
10
+ };
11
+ }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
12
+ row: {
13
+ type: ObjectConstructor;
14
+ default: () => void;
15
+ };
16
+ colCfg: {
17
+ type: ObjectConstructor;
18
+ default: () => void;
19
+ };
20
+ }>> & Readonly<{}>, {
21
+ row: Record<string, any>;
22
+ colCfg: Record<string, any>;
23
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLSpanElement>;
24
+ export default _default;
@@ -0,0 +1,29 @@
1
+ import { defineComponent, computed, openBlock, createElementBlock, toDisplayString } from "vue";
2
+ const _sfc_main = /* @__PURE__ */ defineComponent({
3
+ __name: "valueCol",
4
+ props: {
5
+ row: {
6
+ type: Object,
7
+ default: () => {
8
+ }
9
+ },
10
+ colCfg: {
11
+ type: Object,
12
+ default: () => {
13
+ }
14
+ }
15
+ },
16
+ setup(__props) {
17
+ const props = __props;
18
+ const column = computed(() => {
19
+ const { row, colCfg } = props;
20
+ return row[colCfg.prop];
21
+ });
22
+ return (_ctx, _cache) => {
23
+ return openBlock(), createElementBlock("span", null, toDisplayString(column.value != void 0 ? column.value : "--"), 1);
24
+ };
25
+ }
26
+ });
27
+ export {
28
+ _sfc_main as default
29
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./valueCol.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,165 @@
1
+ import { TableProps } from 'element-plus';
2
+ import { Ref } from 'vue';
3
+ export type TableAttr = {
4
+ /**rowKey */
5
+ rowKey?: string;
6
+ /**loading显示文本 */
7
+ "element-loading-text"?: string;
8
+ /**loading 图标 */
9
+ "element-loading-spinner"?: string;
10
+ /**loading 遮罩背景色 */
11
+ "element-loading-background"?: string;
12
+ /** 选中行高亮*/
13
+ highlightCurrentRow?: boolean;
14
+ /**斑马样式 */
15
+ stripe?: boolean;
16
+ /**边框 */
17
+ border?: boolean;
18
+ /**空数据显示文本 */
19
+ emptyText?: string;
20
+ /**列合并方法 */
21
+ spanMethod?: Function;
22
+ /**合计列计算方法 */
23
+ summaryMethod?: Function;
24
+ /**树形配置 */
25
+ treeProps?: {
26
+ children: string;
27
+ hasChildren: string;
28
+ };
29
+ /**默认展开行 */
30
+ expandRowKeys?: Array<string | number>;
31
+ /**默认展开全部 */
32
+ defaultExpandAll?: boolean;
33
+ /**表格高度,默认自适应 */
34
+ height?: string | number;
35
+ /**主轴的最小尺寸 */
36
+ flexible?: boolean;
37
+ /**是否显示表头 */
38
+ showHeader?: boolean;
39
+ [key: string]: any;
40
+ };
41
+ /**分页 */
42
+ export type Pagination = {
43
+ /**页码 */
44
+ page_index: number | undefined;
45
+ /**每页显示数量 */
46
+ page_size: number | undefined;
47
+ };
48
+ /**列配置 */
49
+ export type ColumnConfig = {
50
+ /**显示列 */
51
+ show_column: TableColumn[];
52
+ /**隐藏列 */
53
+ hidden_column: TableColumn[];
54
+ };
55
+ interface TableExtendProps<T> extends Omit<TableProps<any>, "data"> {
56
+ data?: undefined;
57
+ }
58
+ /**注入结构 */
59
+ export type TableProvies = {
60
+ table_props: Record<string, any>;
61
+ table_colums: Ref<Array<TableColumn>>;
62
+ column_config: ColumnConfig;
63
+ };
64
+ export type ImageViewer = {
65
+ /**是否显示 */
66
+ show: boolean;
67
+ /**图片路径 */
68
+ file_path_list: any[];
69
+ /**显示图片的索引 */
70
+ index: number;
71
+ };
72
+ export declare enum FileType {
73
+ /** 图片 */
74
+ PICTURE = 1,
75
+ /** PDF */
76
+ PDF = 2,
77
+ /** 其他 */
78
+ OTHER = 3
79
+ }
80
+ /**表格属性 */
81
+ export interface TableProp {
82
+ /**UI选项配置 */
83
+ options?: TableExtendProps<any>;
84
+ /**表格数据源 */
85
+ tableData?: Array<any>;
86
+ /**表格列(所有列) */
87
+ tableColums: Array<TableColumn>;
88
+ /**Loading状态 */
89
+ tableLoading?: boolean;
90
+ /**是否显示列check,默认true */
91
+ selectionCol?: boolean;
92
+ /**是否显示索引列,默认true */
93
+ indexCol?: boolean;
94
+ /**展开行 */
95
+ expand?: boolean;
96
+ /**是否能设置表格列,默认false */
97
+ isSetColumn?: boolean;
98
+ /**分页配置 */
99
+ paging?: {
100
+ pageIndex: number;
101
+ pageSize: number;
102
+ };
103
+ /**总数 */
104
+ total?: number;
105
+ /**可选页面大小 */
106
+ sizeList?: Array<number>;
107
+ /**自动高度,最大高度为父容器高度,实际高度由数据决定,默认false */
108
+ autoHeight?: boolean;
109
+ /**自动显示分页器,当数据量满足分页时显示,否则不显示,默认false */
110
+ autoPagination?: boolean;
111
+ /**列大小自适应 */
112
+ autoSize?: boolean;
113
+ }
114
+ export interface TableColumn {
115
+ /**
116
+ * 表头文本对齐方式
117
+ */
118
+ headerAlign?: string;
119
+ /**
120
+ * 表格内容对齐方式
121
+ */
122
+ align?: string;
123
+ /**
124
+ * 列绑定数据字段
125
+ */
126
+ prop?: string;
127
+ /**
128
+ * 表头名称
129
+ */
130
+ label?: string;
131
+ /**
132
+ * 是否显示
133
+ */
134
+ init?: boolean;
135
+ /**
136
+ * 表格宽度
137
+ */
138
+ width?: number;
139
+ /**
140
+ * 最小宽度
141
+ */
142
+ minWidth?: number;
143
+ /**
144
+ * 是否显示单元格内容tooltip
145
+ * boolean或tooltip属性对象
146
+ */
147
+ showOverflowTooltip?: boolean | Record<string, any>;
148
+ /**
149
+ * 是否能排序
150
+ */
151
+ sortable?: boolean;
152
+ /**
153
+ * 是否固定
154
+ */
155
+ fixed?: "left" | "right";
156
+ /**
157
+ * 文件类型
158
+ */
159
+ fileType?: FileType;
160
+ /**多语言配置 */
161
+ langue?: string;
162
+ /**其他配置 */
163
+ [key: string]: any;
164
+ }
165
+ export {};
@@ -0,0 +1,9 @@
1
+ var FileType = /* @__PURE__ */ ((FileType2) => {
2
+ FileType2[FileType2["PICTURE"] = 1] = "PICTURE";
3
+ FileType2[FileType2["PDF"] = 2] = "PDF";
4
+ FileType2[FileType2["OTHER"] = 3] = "OTHER";
5
+ return FileType2;
6
+ })(FileType || {});
7
+ export {
8
+ FileType
9
+ };
@@ -0,0 +1,27 @@
1
+ import { ColumnConfig, TableColumn } from './type';
2
+ import { ComputedRef, ShallowReactive } from 'vue';
3
+ /**
4
+ * 表格扩展组件的核心逻辑钩子
5
+ * @param {Function} i18n_instance - 国际化实例函数,用于多语言支持
6
+ * @returns {Object} 表格相关的响应式数据和计算属性
7
+ */
8
+ export default function use_table(i18n_instance?: (key: string) => string): {
9
+ def_col_setting: TableColumn;
10
+ selection_options: Record<string, any>;
11
+ table_attribute: ComputedRef<Record<string, any>>;
12
+ pagination: {
13
+ page_index: any;
14
+ page_size: any;
15
+ };
16
+ has_pagination: ComputedRef<boolean>;
17
+ image_viewer: {
18
+ show: boolean;
19
+ file_path_list: any[];
20
+ index: number;
21
+ };
22
+ column_config: ShallowReactive<ColumnConfig>;
23
+ col_setting_list: ComputedRef<TableColumn[]>;
24
+ show_tool_panel: ComputedRef<boolean>;
25
+ show_bottom_panel: ComputedRef<boolean>;
26
+ has_image_viewer: ComputedRef<boolean>;
27
+ };