hy-dispatch-ui-v3 0.1.0

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 (232) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/dist/tailwind.css +1083 -0
  4. package/es/bussiness/index.mjs +2 -0
  5. package/es/bussiness/index.mjs.map +1 -0
  6. package/es/components/appConfirmDialog/appConfirmDialog.vue.mjs +204 -0
  7. package/es/components/appConfirmDialog/appConfirmDialog.vue.mjs.map +1 -0
  8. package/es/components/appConfirmDialog/appConfirmMethod.mjs +73 -0
  9. package/es/components/appConfirmDialog/appConfirmMethod.mjs.map +1 -0
  10. package/es/components/appConfirmDialog/index.mjs +8 -0
  11. package/es/components/appConfirmDialog/index.mjs.map +1 -0
  12. package/es/components/appConfirmDialog/style/appConfirmDialog.scss +5 -0
  13. package/es/components/appDatePicker/appDatePicker.vue.mjs +99 -0
  14. package/es/components/appDatePicker/appDatePicker.vue.mjs.map +1 -0
  15. package/es/components/appDatePicker/index.mjs +7 -0
  16. package/es/components/appDatePicker/index.mjs.map +1 -0
  17. package/es/components/appDatePicker/style/appDatePicker.scss +0 -0
  18. package/es/components/appForm/appForm.vue.mjs +331 -0
  19. package/es/components/appForm/appForm.vue.mjs.map +1 -0
  20. package/es/components/appForm/index.mjs +8 -0
  21. package/es/components/appForm/index.mjs.map +1 -0
  22. package/es/components/appForm/js/index.mjs +87 -0
  23. package/es/components/appForm/js/index.mjs.map +1 -0
  24. package/es/components/appForm/js/useAppForm.mjs +149 -0
  25. package/es/components/appForm/js/useAppForm.mjs.map +1 -0
  26. package/es/components/appForm/style/appForm.scss +16 -0
  27. package/es/components/appOrgCascader/appOrgCascader.vue.mjs +229 -0
  28. package/es/components/appOrgCascader/appOrgCascader.vue.mjs.map +1 -0
  29. package/es/components/appOrgCascader/index.mjs +7 -0
  30. package/es/components/appOrgCascader/index.mjs.map +1 -0
  31. package/es/components/appOrgCascader/style/appOrgCascader.scss +0 -0
  32. package/es/components/appSearch/appSearch.vue.mjs +408 -0
  33. package/es/components/appSearch/appSearch.vue.mjs.map +1 -0
  34. package/es/components/appSearch/index.mjs +8 -0
  35. package/es/components/appSearch/index.mjs.map +1 -0
  36. package/es/components/appSearch/js/index.mjs +114 -0
  37. package/es/components/appSearch/js/index.mjs.map +1 -0
  38. package/es/components/appSearch/js/useAppSearch.mjs +178 -0
  39. package/es/components/appSearch/js/useAppSearch.mjs.map +1 -0
  40. package/es/components/appSearch/style/appSearch.scss +53 -0
  41. package/es/components/appTable/appTable.vue.mjs +578 -0
  42. package/es/components/appTable/appTable.vue.mjs.map +1 -0
  43. package/es/components/appTable/cpns/columnSelect.vue.mjs +414 -0
  44. package/es/components/appTable/cpns/columnSelect.vue.mjs.map +1 -0
  45. package/es/components/appTable/index.mjs +8 -0
  46. package/es/components/appTable/index.mjs.map +1 -0
  47. package/es/components/appTable/js/index.mjs +304 -0
  48. package/es/components/appTable/js/index.mjs.map +1 -0
  49. package/es/components/appTable/js/search.mjs +129 -0
  50. package/es/components/appTable/js/search.mjs.map +1 -0
  51. package/es/components/appTable/js/useAppTable.mjs +63 -0
  52. package/es/components/appTable/js/useAppTable.mjs.map +1 -0
  53. package/es/components/appTable/style/appTable.scss +15 -0
  54. package/es/components/appTooltip/appTooltip.vue.mjs +94 -0
  55. package/es/components/appTooltip/appTooltip.vue.mjs.map +1 -0
  56. package/es/components/appTooltip/index.mjs +7 -0
  57. package/es/components/appTooltip/index.mjs.map +1 -0
  58. package/es/components/appTooltip/style/appTooltip.scss +0 -0
  59. package/es/components/index.mjs +12 -0
  60. package/es/components/index.mjs.map +1 -0
  61. package/es/components/svgIcon/iconBox.vue.mjs +99 -0
  62. package/es/components/svgIcon/iconBox.vue.mjs.map +1 -0
  63. package/es/components/svgIcon/index.mjs +9 -0
  64. package/es/components/svgIcon/index.mjs.map +1 -0
  65. package/es/components/svgIcon/style/iconBox.scss +13 -0
  66. package/es/components/svgIcon/style/svgIcon.scss +12 -0
  67. package/es/components/svgIcon/svgIcon.vue.mjs +47 -0
  68. package/es/components/svgIcon/svgIcon.vue.mjs.map +1 -0
  69. package/es/config/index.mjs +2 -0
  70. package/es/config/index.mjs.map +1 -0
  71. package/es/constants/index.mjs +4 -0
  72. package/es/constants/index.mjs.map +1 -0
  73. package/es/constants/keys.mjs +2 -0
  74. package/es/constants/keys.mjs.map +1 -0
  75. package/es/hooks/index.mjs +5 -0
  76. package/es/hooks/index.mjs.map +1 -0
  77. package/es/hooks/useApi.mjs +10 -0
  78. package/es/hooks/useApi.mjs.map +1 -0
  79. package/es/hooks/useGlobalConfig.mjs +56 -0
  80. package/es/hooks/useGlobalConfig.mjs.map +1 -0
  81. package/es/hooks/useLocale.mjs +34 -0
  82. package/es/hooks/useLocale.mjs.map +1 -0
  83. package/es/hooks/useMixins.mjs +19 -0
  84. package/es/hooks/useMixins.mjs.map +1 -0
  85. package/es/index.mjs +30 -0
  86. package/es/index.mjs.map +1 -0
  87. package/es/locale/en_US.mjs +67 -0
  88. package/es/locale/en_US.mjs.map +1 -0
  89. package/es/locale/index.mjs +3 -0
  90. package/es/locale/index.mjs.map +1 -0
  91. package/es/locale/zh_CN.mjs +67 -0
  92. package/es/locale/zh_CN.mjs.map +1 -0
  93. package/es/make-installer.mjs +29 -0
  94. package/es/make-installer.mjs.map +1 -0
  95. package/es/store/index.mjs +7 -0
  96. package/es/store/index.mjs.map +1 -0
  97. package/es/store/maintain.mjs +90 -0
  98. package/es/store/maintain.mjs.map +1 -0
  99. package/es/style/index.scss +46 -0
  100. package/es/style/tailwind.scss +3 -0
  101. package/es/style/theme.scss +123 -0
  102. package/es/utils/adaptive.mjs +30 -0
  103. package/es/utils/adaptive.mjs.map +1 -0
  104. package/es/utils/bus.mjs +6 -0
  105. package/es/utils/bus.mjs.map +1 -0
  106. package/es/utils/crypto.mjs +21 -0
  107. package/es/utils/crypto.mjs.map +1 -0
  108. package/es/utils/date.mjs +25 -0
  109. package/es/utils/date.mjs.map +1 -0
  110. package/es/utils/handler.mjs +83 -0
  111. package/es/utils/handler.mjs.map +1 -0
  112. package/es/utils/index.mjs +7 -0
  113. package/es/utils/index.mjs.map +1 -0
  114. package/es/utils/is.mjs +19 -0
  115. package/es/utils/is.mjs.map +1 -0
  116. package/es/version.mjs +4 -0
  117. package/es/version.mjs.map +1 -0
  118. package/lib/bussiness/index.js +3 -0
  119. package/lib/bussiness/index.js.map +1 -0
  120. package/lib/components/appConfirmDialog/appConfirmDialog.vue.js +208 -0
  121. package/lib/components/appConfirmDialog/appConfirmDialog.vue.js.map +1 -0
  122. package/lib/components/appConfirmDialog/appConfirmMethod.js +77 -0
  123. package/lib/components/appConfirmDialog/appConfirmMethod.js.map +1 -0
  124. package/lib/components/appConfirmDialog/index.js +13 -0
  125. package/lib/components/appConfirmDialog/index.js.map +1 -0
  126. package/lib/components/appConfirmDialog/style/appConfirmDialog.scss +5 -0
  127. package/lib/components/appDatePicker/appDatePicker.vue.js +103 -0
  128. package/lib/components/appDatePicker/appDatePicker.vue.js.map +1 -0
  129. package/lib/components/appDatePicker/index.js +12 -0
  130. package/lib/components/appDatePicker/index.js.map +1 -0
  131. package/lib/components/appDatePicker/style/appDatePicker.scss +0 -0
  132. package/lib/components/appForm/appForm.vue.js +335 -0
  133. package/lib/components/appForm/appForm.vue.js.map +1 -0
  134. package/lib/components/appForm/index.js +14 -0
  135. package/lib/components/appForm/index.js.map +1 -0
  136. package/lib/components/appForm/js/index.js +93 -0
  137. package/lib/components/appForm/js/index.js.map +1 -0
  138. package/lib/components/appForm/js/useAppForm.js +152 -0
  139. package/lib/components/appForm/js/useAppForm.js.map +1 -0
  140. package/lib/components/appForm/style/appForm.scss +16 -0
  141. package/lib/components/appOrgCascader/appOrgCascader.vue.js +233 -0
  142. package/lib/components/appOrgCascader/appOrgCascader.vue.js.map +1 -0
  143. package/lib/components/appOrgCascader/index.js +12 -0
  144. package/lib/components/appOrgCascader/index.js.map +1 -0
  145. package/lib/components/appOrgCascader/style/appOrgCascader.scss +0 -0
  146. package/lib/components/appSearch/appSearch.vue.js +412 -0
  147. package/lib/components/appSearch/appSearch.vue.js.map +1 -0
  148. package/lib/components/appSearch/index.js +14 -0
  149. package/lib/components/appSearch/index.js.map +1 -0
  150. package/lib/components/appSearch/js/index.js +122 -0
  151. package/lib/components/appSearch/js/index.js.map +1 -0
  152. package/lib/components/appSearch/js/useAppSearch.js +181 -0
  153. package/lib/components/appSearch/js/useAppSearch.js.map +1 -0
  154. package/lib/components/appSearch/style/appSearch.scss +53 -0
  155. package/lib/components/appTable/appTable.vue.js +582 -0
  156. package/lib/components/appTable/appTable.vue.js.map +1 -0
  157. package/lib/components/appTable/cpns/columnSelect.vue.js +418 -0
  158. package/lib/components/appTable/cpns/columnSelect.vue.js.map +1 -0
  159. package/lib/components/appTable/index.js +14 -0
  160. package/lib/components/appTable/index.js.map +1 -0
  161. package/lib/components/appTable/js/index.js +311 -0
  162. package/lib/components/appTable/js/index.js.map +1 -0
  163. package/lib/components/appTable/js/search.js +131 -0
  164. package/lib/components/appTable/js/search.js.map +1 -0
  165. package/lib/components/appTable/js/useAppTable.js +65 -0
  166. package/lib/components/appTable/js/useAppTable.js.map +1 -0
  167. package/lib/components/appTable/style/appTable.scss +15 -0
  168. package/lib/components/appTooltip/appTooltip.vue.js +98 -0
  169. package/lib/components/appTooltip/appTooltip.vue.js.map +1 -0
  170. package/lib/components/appTooltip/index.js +12 -0
  171. package/lib/components/appTooltip/index.js.map +1 -0
  172. package/lib/components/appTooltip/style/appTooltip.scss +0 -0
  173. package/lib/components/index.js +29 -0
  174. package/lib/components/index.js.map +1 -0
  175. package/lib/components/svgIcon/iconBox.vue.js +103 -0
  176. package/lib/components/svgIcon/iconBox.vue.js.map +1 -0
  177. package/lib/components/svgIcon/index.js +15 -0
  178. package/lib/components/svgIcon/index.js.map +1 -0
  179. package/lib/components/svgIcon/style/iconBox.scss +13 -0
  180. package/lib/components/svgIcon/style/svgIcon.scss +12 -0
  181. package/lib/components/svgIcon/svgIcon.vue.js +51 -0
  182. package/lib/components/svgIcon/svgIcon.vue.js.map +1 -0
  183. package/lib/config/index.js +3 -0
  184. package/lib/config/index.js.map +1 -0
  185. package/lib/constants/index.js +6 -0
  186. package/lib/constants/index.js.map +1 -0
  187. package/lib/constants/keys.js +3 -0
  188. package/lib/constants/keys.js.map +1 -0
  189. package/lib/hooks/index.js +21 -0
  190. package/lib/hooks/index.js.map +1 -0
  191. package/lib/hooks/useApi.js +13 -0
  192. package/lib/hooks/useApi.js.map +1 -0
  193. package/lib/hooks/useGlobalConfig.js +59 -0
  194. package/lib/hooks/useGlobalConfig.js.map +1 -0
  195. package/lib/hooks/useLocale.js +41 -0
  196. package/lib/hooks/useLocale.js.map +1 -0
  197. package/lib/hooks/useMixins.js +21 -0
  198. package/lib/hooks/useMixins.js.map +1 -0
  199. package/lib/index.js +85 -0
  200. package/lib/index.js.map +1 -0
  201. package/lib/locale/en_US.js +71 -0
  202. package/lib/locale/en_US.js.map +1 -0
  203. package/lib/locale/index.js +10 -0
  204. package/lib/locale/index.js.map +1 -0
  205. package/lib/locale/zh_CN.js +71 -0
  206. package/lib/locale/zh_CN.js.map +1 -0
  207. package/lib/make-installer.js +33 -0
  208. package/lib/make-installer.js.map +1 -0
  209. package/lib/store/index.js +10 -0
  210. package/lib/store/index.js.map +1 -0
  211. package/lib/store/maintain.js +92 -0
  212. package/lib/store/maintain.js.map +1 -0
  213. package/lib/style/index.scss +46 -0
  214. package/lib/style/tailwind.scss +3 -0
  215. package/lib/style/theme.scss +123 -0
  216. package/lib/utils/adaptive.js +35 -0
  217. package/lib/utils/adaptive.js.map +1 -0
  218. package/lib/utils/bus.js +8 -0
  219. package/lib/utils/bus.js.map +1 -0
  220. package/lib/utils/crypto.js +25 -0
  221. package/lib/utils/crypto.js.map +1 -0
  222. package/lib/utils/date.js +27 -0
  223. package/lib/utils/date.js.map +1 -0
  224. package/lib/utils/handler.js +89 -0
  225. package/lib/utils/handler.js.map +1 -0
  226. package/lib/utils/index.js +38 -0
  227. package/lib/utils/index.js.map +1 -0
  228. package/lib/utils/is.js +32 -0
  229. package/lib/utils/is.js.map +1 -0
  230. package/lib/version.js +6 -0
  231. package/lib/version.js.map +1 -0
  232. package/package.json +102 -0
@@ -0,0 +1,582 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var elementPlus = require('element-plus');
7
+ var iconsVue = require('@element-plus/icons-vue');
8
+ var index$3 = require('../appTooltip/index.js');
9
+ var index$1 = require('./js/index.js');
10
+ var search = require('./js/search.js');
11
+ var columnSelect = require('./cpns/columnSelect.vue.js');
12
+ var useMixins = require('../../hooks/useMixins.js');
13
+ var index = require('../appSearch/index.js');
14
+ var adaptive = require('../../utils/adaptive.js');
15
+ var index$2 = require('../svgIcon/index.js');
16
+ var useLocale = require('../../hooks/useLocale.js');
17
+ var is = require('../../utils/is.js');
18
+
19
+ import "./style/appTable.scss";
20
+
21
+ const __default__ = vue.defineComponent({
22
+ name: "AppTable"
23
+ });
24
+ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
25
+ props: {
26
+ // 表格配置项
27
+ rowKey: {
28
+ // 选中的参数
29
+ type: [String, Function],
30
+ required: false,
31
+ default: "id"
32
+ },
33
+ tableColumns: {
34
+ // 表格的列
35
+ type: Array,
36
+ required: true,
37
+ default: () => []
38
+ },
39
+ rowClassName: {
40
+ // 自定义某一行需要展示的颜色
41
+ type: Function,
42
+ required: false,
43
+ default: () => {
44
+ return null;
45
+ }
46
+ },
47
+ showHeader: {
48
+ // 是否显示表头
49
+ type: Boolean,
50
+ required: false,
51
+ default: true
52
+ },
53
+ beforeDataHandler: {
54
+ // 渲染表格数据之前处理
55
+ type: Function
56
+ },
57
+ isShowAllSelect: {
58
+ // 全选禁用
59
+ type: Boolean,
60
+ default: () => false
61
+ },
62
+ emptyText: {
63
+ // 空数据时显示的文本内容
64
+ type: String
65
+ },
66
+ fontSize: {
67
+ // 字体大小
68
+ type: Number,
69
+ default: 14
70
+ },
71
+ onRowContextmenu: {
72
+ type: Function,
73
+ required: false
74
+ },
75
+ showLoading: {
76
+ // 是否显示加载状态框
77
+ type: Boolean,
78
+ default: true
79
+ },
80
+ showEditColumn: {
81
+ type: Boolean,
82
+ default: true
83
+ },
84
+ // 查询过滤配置项
85
+ url: {
86
+ // 自定义请求地址
87
+ type: String,
88
+ required: false
89
+ },
90
+ controller: {
91
+ // 表格的controller名
92
+ type: String,
93
+ default: "",
94
+ required: false
95
+ },
96
+ filterColumns: {
97
+ // 表格筛选配置
98
+ type: Array,
99
+ required: false,
100
+ default: () => []
101
+ },
102
+ requestParams: {
103
+ // 请求时的额外参数
104
+ type: Object,
105
+ required: false,
106
+ default: () => ({})
107
+ },
108
+ isJsonData: {
109
+ // 接口请求是否为json格式
110
+ type: Boolean,
111
+ required: false,
112
+ default: false
113
+ },
114
+ defaultGetData: {
115
+ // 是否自动获取表格数据
116
+ type: Boolean,
117
+ required: false,
118
+ default: true
119
+ },
120
+ searchArr: {
121
+ // 除了配置了isSearch以外的搜索项
122
+ type: Array,
123
+ default: () => {
124
+ return [];
125
+ }
126
+ },
127
+ // 分页配置
128
+ layout: {
129
+ type: String,
130
+ required: false,
131
+ default: "sizes, prev, pager, next, jumper"
132
+ },
133
+ pagerCount: {
134
+ // 页码按钮的数量,当总页数超过该值时会折叠
135
+ type: Number,
136
+ required: false,
137
+ default: 7
138
+ },
139
+ showPagination: {
140
+ // 是否显示分页
141
+ type: Boolean,
142
+ required: false,
143
+ default: true
144
+ }
145
+ },
146
+ emits: ["row-click", "select-all", "on-select-checkbox", "reqSuccess"],
147
+ setup(__props, { expose: __expose, emit: __emit }) {
148
+ const props = __props;
149
+ const emits = __emit;
150
+ const { t } = useLocale.useLocale();
151
+ const containerRef = vue.useTemplateRef("containerRef");
152
+ const tableRef = vue.useTemplateRef("tableRef");
153
+ const appSearchRef = vue.useTemplateRef("appSearchRef");
154
+ const tableDropdownRef = vue.useTemplateRef("tableDropdownRef");
155
+ const operatorDropdownRef = vue.useTemplateRef("operatorDropdownRef");
156
+ const {
157
+ // useAppTableWrapper
158
+ // 表格配置项
159
+ tableDataSource,
160
+ tableColumns,
161
+ tableColumnsEditablele,
162
+ searchPlaceholder,
163
+ onTableColumnsSelectHandler,
164
+ // 表格行操作配置
165
+ getRowKey,
166
+ tableTriggerRef,
167
+ getSelectedList,
168
+ setTableRowClassName,
169
+ onTableRowClickHandler,
170
+ onTableRowContextmenuHandler,
171
+ onTableSelectAllHandler,
172
+ // 表单查询
173
+ formModel,
174
+ formColumns,
175
+ totalElements,
176
+ onSearchQueryHandler,
177
+ getData,
178
+ setData,
179
+ resetFn,
180
+ getTotalElements,
181
+ onSizeChangeHandler,
182
+ onCurrentChangeHandler,
183
+ // useAppTableSearch
184
+ showFilter,
185
+ switchShowFilter,
186
+ getTableDataSource
187
+ } = useMixins.useMixins(
188
+ {
189
+ props,
190
+ emits,
191
+ containerRef,
192
+ tableRef,
193
+ tableDropdownRef,
194
+ operatorDropdownRef,
195
+ appSearchRef
196
+ },
197
+ [
198
+ index$1.useAppTableWrapper,
199
+ search.useAppTableSearch
200
+ ]
201
+ );
202
+ if (props.defaultGetData) {
203
+ getData(1);
204
+ }
205
+ __expose({
206
+ getData,
207
+ setData,
208
+ resetFn,
209
+ getSelectedList,
210
+ getTotalElements,
211
+ getTableDataSource
212
+ });
213
+ return (_ctx, _cache) => {
214
+ return vue.openBlock(), vue.createElementBlock(
215
+ "div",
216
+ {
217
+ ref_key: "containerRef",
218
+ ref: containerRef,
219
+ class: "w-full h-full flex flex-col text-main text-sm"
220
+ },
221
+ [
222
+ vue.createElementVNode("div", { class: "min-h-[36px] flex flex-row-reverse items-center justify-between gap-3 mb-4" }, [
223
+ vue.createElementVNode("div", { class: "flex gap-3 whitespace-nowrap" }, [
224
+ __props.showEditColumn ? (vue.openBlock(), vue.createBlock(columnSelect.default, {
225
+ key: 0,
226
+ columns: vue.unref(tableColumns),
227
+ "columns-editable": vue.unref(tableColumnsEditablele),
228
+ onConfirm: vue.unref(onTableColumnsSelectHandler)
229
+ }, null, 8, ["columns", "columns-editable", "onConfirm"])) : vue.createCommentVNode("v-if", true),
230
+ vue.createElementVNode("div", {
231
+ class: "flex items-center gap-[10px] clickBox px-3 select-none rounded hover:bg-backgroundv2",
232
+ onClick: vue.unref(switchShowFilter)
233
+ }, [
234
+ vue.createVNode(vue.unref(elementPlus.ElIcon), { size: "12" }, {
235
+ default: vue.withCtx(() => [
236
+ vue.createVNode(vue.unref(iconsVue.Filter))
237
+ ]),
238
+ _: 1
239
+ /* STABLE */
240
+ }),
241
+ vue.createElementVNode(
242
+ "span",
243
+ null,
244
+ vue.toDisplayString(vue.unref(showFilter) ? vue.unref(t)("table.hideFilter") : vue.unref(t)("table.displayFilter")),
245
+ 1
246
+ /* TEXT */
247
+ )
248
+ ], 8, ["onClick"]),
249
+ vue.unref(searchPlaceholder) ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElInput), {
250
+ key: 1,
251
+ modelValue: vue.unref(formModel).query,
252
+ "onUpdate:modelValue": ($event) => vue.unref(formModel).query = $event,
253
+ class: "w-[124px]",
254
+ placeholder: vue.unref(t)("table.searchFor", [vue.unref(searchPlaceholder)]),
255
+ onKeydown: vue.withKeys(vue.unref(onSearchQueryHandler), ["enter"])
256
+ }, {
257
+ append: vue.withCtx(() => [
258
+ vue.createVNode(vue.unref(elementPlus.ElButton), {
259
+ icon: vue.unref(iconsVue.Search),
260
+ onClick: vue.unref(onSearchQueryHandler)
261
+ }, null, 8, ["icon", "onClick"])
262
+ ]),
263
+ _: 1
264
+ /* STABLE */
265
+ }, 8, ["modelValue", "onUpdate:modelValue", "placeholder", "onKeydown"])) : vue.createCommentVNode("v-if", true)
266
+ ]),
267
+ _ctx.$slots["operator-left-box"] ? (vue.openBlock(), vue.createElementBlock("div", {
268
+ key: 0,
269
+ class: "w-0 flex-1"
270
+ }, [
271
+ vue.renderSlot(_ctx.$slots, "operator-left-box")
272
+ ])) : vue.createCommentVNode("v-if", true)
273
+ ]),
274
+ vue.createVNode(vue.unref(index.AppSearch), {
275
+ ref_key: "appSearchRef",
276
+ ref: appSearchRef,
277
+ model: vue.unref(formModel),
278
+ columns: vue.unref(formColumns),
279
+ hidden: !vue.unref(showFilter),
280
+ class: vue.normalizeClass({ "mb-4": vue.unref(showFilter) }),
281
+ onSearch: ($event) => vue.unref(getData)(1)
282
+ }, null, 8, ["model", "columns", "hidden", "class", "onSearch"]),
283
+ vue.createElementVNode("div", { class: "h-0 flex-1 flex flex-col border border-border rounded pb-5 overflow-hidden" }, [
284
+ vue.renderSlot(_ctx.$slots, "table", {}, () => [
285
+ vue.createVNode(vue.unref(elementPlus.ElTable), vue.mergeProps({
286
+ ref_key: "tableRef",
287
+ ref: tableRef,
288
+ "row-key": vue.unref(getRowKey),
289
+ data: vue.unref(tableDataSource),
290
+ "show-header": __props.showHeader,
291
+ effect: "dark",
292
+ "row-class-name": vue.unref(setTableRowClassName),
293
+ class: ["w-full h-0 flex-1", { hideSelect: !__props.isShowAllSelect }],
294
+ style: {
295
+ "font-size": `${vue.unref(adaptive.parseRem)(__props.fontSize)}rem`
296
+ },
297
+ onSelectAll: vue.unref(onTableSelectAllHandler),
298
+ onRowClick: vue.unref(onTableRowClickHandler),
299
+ onRowContextmenu: vue.unref(onTableRowContextmenuHandler)
300
+ }, _ctx.$attrs), {
301
+ empty: vue.withCtx(() => [
302
+ vue.renderSlot(_ctx.$slots, "empty", {}, () => [
303
+ vue.createElementVNode(
304
+ "span",
305
+ null,
306
+ vue.toDisplayString(__props.emptyText || vue.unref(t)("hy.noData")),
307
+ 1
308
+ /* TEXT */
309
+ )
310
+ ])
311
+ ]),
312
+ default: vue.withCtx(() => [
313
+ (vue.openBlock(true), vue.createElementBlock(
314
+ vue.Fragment,
315
+ null,
316
+ vue.renderList(vue.unref(tableColumns), (column) => {
317
+ var _a;
318
+ return vue.openBlock(), vue.createElementBlock(
319
+ vue.Fragment,
320
+ {
321
+ key: column.prop
322
+ },
323
+ [
324
+ ((_a = vue.unref(tableColumnsEditablele)[column.prop]) == null ? void 0 : _a.checked) ? (vue.openBlock(), vue.createBlock(
325
+ vue.unref(elementPlus.ElTableColumn),
326
+ vue.mergeProps({
327
+ key: 0,
328
+ ref_for: true
329
+ }, column),
330
+ {
331
+ header: vue.withCtx((scope) => [
332
+ vue.renderSlot(_ctx.$slots, column.headerSlot, vue.mergeProps({ ref_for: true }, scope), () => {
333
+ var _a2, _b;
334
+ return [
335
+ !vue.unref(is.isEmpty)((_a2 = scope.column) == null ? void 0 : _a2.label) ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.AppTooltip), {
336
+ key: 0,
337
+ "over-line": 1,
338
+ content: (_b = scope.column) == null ? void 0 : _b.label
339
+ }, null, 8, ["content"])) : vue.createCommentVNode("v-if", true)
340
+ ];
341
+ })
342
+ ]),
343
+ default: vue.withCtx((scope) => {
344
+ var _a2, _b;
345
+ return [
346
+ (column == null ? void 0 : column.slot) ? vue.renderSlot(_ctx.$slots, column == null ? void 0 : column.slot, vue.mergeProps({
347
+ key: 0,
348
+ ref_for: true
349
+ }, scope)) : column.prop === "operator" ? (vue.openBlock(), vue.createElementBlock(
350
+ vue.Fragment,
351
+ { key: 1 },
352
+ [
353
+ (vue.openBlock(true), vue.createElementBlock(
354
+ vue.Fragment,
355
+ null,
356
+ vue.renderList(vue.unref(index$1.operatorFilterHandler)(column, scope, "default"), (citem, cindex) => {
357
+ return vue.openBlock(), vue.createBlock(vue.unref(index$2.IconBox), {
358
+ key: cindex,
359
+ "svg-name": citem.svgName,
360
+ altText: citem.label,
361
+ onClick: vue.withModifiers(($event) => vue.unref(index$1.operatorClickHandler)(cindex, column, scope, "default"), ["stop"])
362
+ }, null, 8, ["svg-name", "altText", "onClick"]);
363
+ }),
364
+ 128
365
+ /* KEYED_FRAGMENT */
366
+ )),
367
+ ((_a2 = vue.unref(index$1.operatorFilterHandler)(column, scope, "more")) == null ? void 0 : _a2.length) ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElDropdown), {
368
+ key: 0,
369
+ ref_for: true,
370
+ ref_key: "operatorDropdownRef",
371
+ ref: operatorDropdownRef,
372
+ trigger: "click",
373
+ class: "ml-3",
374
+ "popper-style": "min-width: 150px",
375
+ placement: "bottom",
376
+ onCommand: ($event) => vue.unref(index$1.operatorClickHandler)($event, column, scope, "more")
377
+ }, {
378
+ dropdown: vue.withCtx(() => [
379
+ vue.createVNode(
380
+ vue.unref(elementPlus.ElDropdownMenu),
381
+ null,
382
+ {
383
+ default: vue.withCtx(() => [
384
+ (vue.openBlock(true), vue.createElementBlock(
385
+ vue.Fragment,
386
+ null,
387
+ vue.renderList(vue.unref(index$1.operatorFilterHandler)(column, scope, "more"), (citem, cindex) => {
388
+ return vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElDropdownItem), {
389
+ key: cindex,
390
+ command: cindex,
391
+ disabled: vue.unref(index$1.operatorDisabledHandler)(citem, scope)
392
+ }, {
393
+ default: vue.withCtx(() => [
394
+ vue.createElementVNode("span", null, [
395
+ vue.createElementVNode(
396
+ "span",
397
+ null,
398
+ vue.toDisplayString(citem.label),
399
+ 1
400
+ /* TEXT */
401
+ ),
402
+ vue.unref(index$1.operatorDisabledHandler)(citem, scope) ? (vue.openBlock(), vue.createElementBlock(
403
+ "span",
404
+ {
405
+ key: 0,
406
+ class: "text-xs leading-1"
407
+ },
408
+ "\uFF08" + vue.toDisplayString(vue.unref(index$1.operatorDisableTextdHandler)(citem, scope)) + "\uFF09",
409
+ 1
410
+ /* TEXT */
411
+ )) : vue.createCommentVNode("v-if", true)
412
+ ])
413
+ ]),
414
+ _: 2
415
+ /* DYNAMIC */
416
+ }, 1032, ["command", "disabled"]);
417
+ }),
418
+ 128
419
+ /* KEYED_FRAGMENT */
420
+ ))
421
+ ]),
422
+ _: 2
423
+ /* DYNAMIC */
424
+ },
425
+ 1024
426
+ /* DYNAMIC_SLOTS */
427
+ )
428
+ ]),
429
+ default: vue.withCtx(() => [
430
+ vue.createVNode(vue.unref(index$2.IconBox), {
431
+ key: "more",
432
+ "svg-name": "v3-base-more",
433
+ altText: vue.unref(t)("table.moreOperations"),
434
+ onClick: vue.withModifiers(() => {
435
+ }, ["stop"])
436
+ }, null, 8, ["altText", "onClick"])
437
+ ]),
438
+ _: 2
439
+ /* DYNAMIC */
440
+ }, 1032, ["onCommand"])) : vue.createCommentVNode("v-if", true)
441
+ ],
442
+ 64
443
+ /* STABLE_FRAGMENT */
444
+ )) : ((_b = scope.column) == null ? void 0 : _b.type) === "default" ? (vue.openBlock(), vue.createElementBlock(
445
+ vue.Fragment,
446
+ { key: 2 },
447
+ [
448
+ !vue.unref(is.isEmpty)(scope.row[scope.column.property]) ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.AppTooltip), {
449
+ key: 0,
450
+ "over-line": 2,
451
+ content: scope.row[scope.column.property]
452
+ }, null, 8, ["content"])) : (vue.openBlock(), vue.createElementBlock("span", {
453
+ key: 1,
454
+ class: "text-auxiliary"
455
+ }, "- -"))
456
+ ],
457
+ 64
458
+ /* STABLE_FRAGMENT */
459
+ )) : vue.createCommentVNode("v-if", true)
460
+ ];
461
+ }),
462
+ _: 2
463
+ /* DYNAMIC */
464
+ },
465
+ 1040
466
+ /* FULL_PROPS, DYNAMIC_SLOTS */
467
+ )) : vue.createCommentVNode("v-if", true)
468
+ ],
469
+ 64
470
+ /* STABLE_FRAGMENT */
471
+ );
472
+ }),
473
+ 128
474
+ /* KEYED_FRAGMENT */
475
+ ))
476
+ ]),
477
+ _: 3
478
+ /* FORWARDED */
479
+ }, 16, ["row-key", "data", "show-header", "row-class-name", "class", "style", "onSelectAll", "onRowClick", "onRowContextmenu"])
480
+ ]),
481
+ vue.createCommentVNode(" \u5206\u9875 "),
482
+ __props.showPagination ? (vue.openBlock(), vue.createElementBlock("div", {
483
+ key: 0,
484
+ class: "flex items-center justify-center min-h-6 relative mt-3"
485
+ }, [
486
+ vue.createElementVNode(
487
+ "div",
488
+ { class: "absolute left-4 top-1/2 transform -translate-y-1/2 text-sm" },
489
+ vue.toDisplayString(vue.unref(t)("table.aTotalOfPiecesOfData", [100])),
490
+ 1
491
+ /* TEXT */
492
+ ),
493
+ vue.createVNode(vue.unref(elementPlus.ElPagination), {
494
+ "current-page": vue.unref(formModel).page,
495
+ "onUpdate:currentPage": ($event) => vue.unref(formModel).page = $event,
496
+ "page-size": vue.unref(formModel).size,
497
+ "onUpdate:pageSize": ($event) => vue.unref(formModel).size = $event,
498
+ total: vue.unref(totalElements),
499
+ "pager-count": __props.pagerCount,
500
+ "page-sizes": [10, 15, 30, 50, 100],
501
+ layout: __props.layout,
502
+ size: "small",
503
+ background: "",
504
+ "hide-on-single-page": "",
505
+ onSizeChange: vue.unref(onSizeChangeHandler),
506
+ onCurrentChange: vue.unref(onCurrentChangeHandler)
507
+ }, null, 8, ["current-page", "onUpdate:currentPage", "page-size", "onUpdate:pageSize", "total", "pager-count", "layout", "onSizeChange", "onCurrentChange"])
508
+ ])) : vue.createCommentVNode("v-if", true)
509
+ ]),
510
+ vue.createCommentVNode(" \u8868\u683C\u884C\u53F3\u952E\u5C55\u793A\u64CD\u4F5C\u5217\u8868 "),
511
+ vue.createVNode(vue.unref(elementPlus.ElDropdown), {
512
+ ref_key: "tableDropdownRef",
513
+ ref: tableDropdownRef,
514
+ "virtual-ref": vue.unref(tableTriggerRef),
515
+ "popper-style": "min-width: 150px",
516
+ "show-arrow": false,
517
+ "popper-options": {
518
+ modifiers: [{ name: "offset", options: { offset: [0, 0] } }]
519
+ },
520
+ "virtual-triggering": "",
521
+ trigger: "contextmenu",
522
+ placement: "bottom",
523
+ onCommand: ($event) => vue.unref(index$1.operatorClickHandler)($event, vue.unref(tableTriggerRef).column, vue.unref(tableTriggerRef).scope)
524
+ }, {
525
+ dropdown: vue.withCtx(() => [
526
+ vue.createVNode(vue.unref(elementPlus.ElDropdownMenu), null, {
527
+ default: vue.withCtx(() => [
528
+ (vue.openBlock(true), vue.createElementBlock(
529
+ vue.Fragment,
530
+ null,
531
+ vue.renderList(vue.unref(index$1.operatorFilterHandler)(vue.unref(tableTriggerRef).column, vue.unref(tableTriggerRef).scope), (citem, cindex) => {
532
+ return vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElDropdownItem), {
533
+ key: cindex,
534
+ command: cindex,
535
+ disabled: vue.unref(index$1.operatorDisabledHandler)(citem, vue.unref(tableTriggerRef).scope)
536
+ }, {
537
+ default: vue.withCtx(() => [
538
+ vue.createElementVNode("span", null, [
539
+ vue.createElementVNode(
540
+ "span",
541
+ null,
542
+ vue.toDisplayString(citem.label),
543
+ 1
544
+ /* TEXT */
545
+ ),
546
+ vue.unref(index$1.operatorDisabledHandler)(citem, vue.unref(tableTriggerRef).scope) ? (vue.openBlock(), vue.createElementBlock(
547
+ "span",
548
+ {
549
+ key: 0,
550
+ class: "text-xs leading-1"
551
+ },
552
+ "\uFF08" + vue.toDisplayString(vue.unref(index$1.operatorDisableTextdHandler)(citem, vue.unref(tableTriggerRef).scope)) + "\uFF09",
553
+ 1
554
+ /* TEXT */
555
+ )) : vue.createCommentVNode("v-if", true)
556
+ ])
557
+ ]),
558
+ _: 2
559
+ /* DYNAMIC */
560
+ }, 1032, ["command", "disabled"]);
561
+ }),
562
+ 128
563
+ /* KEYED_FRAGMENT */
564
+ ))
565
+ ]),
566
+ _: 1
567
+ /* STABLE */
568
+ })
569
+ ]),
570
+ _: 1
571
+ /* STABLE */
572
+ }, 8, ["virtual-ref", "onCommand"])
573
+ ],
574
+ 512
575
+ /* NEED_PATCH */
576
+ );
577
+ };
578
+ }
579
+ });
580
+
581
+ exports.default = _sfc_main;
582
+ //# sourceMappingURL=appTable.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appTable.vue.js","sources":["../../../packages/components/appTable/appTable.vue"],"sourcesContent":["<script setup>\nimport { ref, useTemplateRef } from 'vue'\nimport {\n ElButton,\n ElIcon,\n ElInput,\n ElTable,\n ElTableColumn,\n ElPagination,\n ElDropdown,\n ElDropdownMenu,\n ElDropdownItem,\n} from 'element-plus'\nimport { Filter, Search } from '@element-plus/icons-vue'\nimport {\n AppSearch,\n IconBox,\n} from '@hy-dispatch-ui-v3/components'\nimport { useLocale, useMixins } from '@hy-dispatch-ui-v3/hooks'\nimport { isEmpty, parseRem } from '@hy-dispatch-ui-v3/utils'\nimport AppTooltip from '../appTooltip'\nimport {\n useAppTableWrapper,\n operatorFilterHandler,\n operatorClickHandler,\n operatorDisabledHandler,\n operatorDisableTextdHandler,\n} from './js/index'\nimport { useAppTableSearch } from './js/search.js'\nimport ColumnSelect from './cpns/columnSelect.vue'\nimport './style/appTable.scss'\n\ndefineOptions({\n name: 'AppTable',\n})\n\nconst props = defineProps({\n // 表格配置项\n rowKey: {\n // 选中的参数\n type: [String, Function],\n required: false,\n default: 'id',\n },\n tableColumns: {\n // 表格的列\n type: Array,\n required: true,\n default: () => [],\n },\n rowClassName: {\n // 自定义某一行需要展示的颜色\n type: Function,\n required: false,\n default: () => {\n return null\n },\n },\n showHeader: {\n // 是否显示表头\n type: Boolean,\n required: false,\n default: true,\n },\n beforeDataHandler: {\n // 渲染表格数据之前处理\n type: Function,\n },\n isShowAllSelect: {\n // 全选禁用\n type: Boolean,\n default: () => false,\n },\n emptyText: {\n // 空数据时显示的文本内容\n type: String,\n },\n fontSize: {\n // 字体大小\n type: Number,\n default: 14,\n },\n onRowContextmenu: {\n type: Function,\n required: false,\n },\n showLoading: {\n // 是否显示加载状态框\n type: Boolean,\n default: true,\n },\n showEditColumn: {\n type: Boolean,\n default: true,\n },\n // 查询过滤配置项\n url: {\n // 自定义请求地址\n type: String,\n required: false,\n },\n controller: {\n // 表格的controller名\n type: String,\n default: '',\n required: false,\n },\n filterColumns: {\n // 表格筛选配置\n type: Array,\n required: false,\n default: () => [],\n },\n requestParams: {\n // 请求时的额外参数\n type: Object,\n required: false,\n default: () => ({})\n },\n isJsonData: {\n // 接口请求是否为json格式\n type: Boolean,\n required: false,\n default: false,\n },\n defaultGetData: {\n // 是否自动获取表格数据\n type: Boolean,\n required: false,\n default: true\n },\n searchArr: {\n // 除了配置了isSearch以外的搜索项\n type: Array,\n default: () => {\n return []\n },\n },\n // 分页配置\n layout: {\n type: String,\n required: false,\n default: 'sizes, prev, pager, next, jumper',\n },\n pagerCount: {\n // 页码按钮的数量,当总页数超过该值时会折叠\n type: Number,\n required: false,\n default: 7,\n },\n showPagination: {\n // 是否显示分页\n type: Boolean,\n required: false,\n default: true,\n },\n})\nconst emits = defineEmits(['row-click', 'select-all', 'on-select-checkbox', 'reqSuccess'])\n\nconst { t } = useLocale()\n\nconst containerRef = useTemplateRef('containerRef')\nconst tableRef = useTemplateRef('tableRef')\nconst appSearchRef = useTemplateRef('appSearchRef')\nconst tableDropdownRef = useTemplateRef('tableDropdownRef')\nconst operatorDropdownRef = useTemplateRef('operatorDropdownRef')\n\nconst {\n // useAppTableWrapper\n // 表格配置项\n tableDataSource,\n tableColumns,\n tableColumnsEditablele,\n searchPlaceholder,\n onTableColumnsSelectHandler,\n // 表格行操作配置\n getRowKey,\n tableTriggerRef,\n getSelectedList,\n setTableRowClassName,\n onTableRowClickHandler,\n onTableRowContextmenuHandler,\n onTableSelectAllHandler,\n // 表单查询\n formModel,\n formColumns,\n totalElements,\n onSearchQueryHandler,\n getData,\n setData,\n resetFn,\n getTotalElements,\n onSizeChangeHandler,\n onCurrentChangeHandler,\n // useAppTableSearch\n showFilter,\n switchShowFilter,\n getTableDataSource,\n} = useMixins(\n {\n props,\n emits,\n containerRef,\n tableRef,\n tableDropdownRef,\n operatorDropdownRef,\n appSearchRef,\n },\n [\n useAppTableWrapper,\n useAppTableSearch,\n ],\n)\n\n// 是否默认调接口\nif (props.defaultGetData) {\n getData(1)\n}\n\ndefineExpose({\n getData,\n setData,\n resetFn,\n getSelectedList,\n getTotalElements,\n getTableDataSource,\n})\n</script>\n\n<template>\n <div\n ref=\"containerRef\"\n class=\"w-full h-full flex flex-col text-main text-sm\"\n >\n <div class=\"min-h-[36px] flex flex-row-reverse items-center justify-between gap-3 mb-4\">\n <div class=\"flex gap-3 whitespace-nowrap\">\n <ColumnSelect\n v-if=\"showEditColumn\"\n :columns=\"tableColumns\"\n :columns-editable=\"tableColumnsEditablele\"\n @confirm=\"onTableColumnsSelectHandler\"\n />\n <div\n class=\"flex items-center gap-[10px] clickBox px-3 select-none rounded hover:bg-backgroundv2\"\n @click=\"switchShowFilter\"\n >\n <el-icon size=\"12\"><Filter /></el-icon>\n <span>{{ showFilter ? t('table.hideFilter') : t('table.displayFilter') }}</span>\n </div>\n <el-input\n v-if=\"searchPlaceholder\"\n v-model=\"formModel.query\"\n class=\"w-[124px]\"\n :placeholder=\"t('table.searchFor', [searchPlaceholder])\"\n @keydown.enter=\"onSearchQueryHandler\"\n >\n <template #append>\n <el-button :icon=\"Search\" @click=\"onSearchQueryHandler\" />\n </template>\n </el-input>\n </div>\n <div v-if=\"$slots['operator-left-box']\" class=\"w-0 flex-1\">\n <slot name=\"operator-left-box\" />\n </div>\n </div>\n <AppSearch\n ref=\"appSearchRef\"\n :model=\"formModel\"\n :columns=\"formColumns\"\n :hidden=\"!showFilter\"\n :class=\"{ 'mb-4': showFilter }\"\n @search=\"getData(1)\"\n />\n <div class=\"h-0 flex-1 flex flex-col border border-border rounded pb-5 overflow-hidden\">\n <slot name=\"table\">\n <el-table\n ref=\"tableRef\"\n :row-key=\"getRowKey\"\n :data=\"tableDataSource\"\n :show-header=\"showHeader\"\n effect=\"dark\"\n :row-class-name=\"setTableRowClassName\"\n class=\"w-full h-0 flex-1\"\n :class=\"{ hideSelect: !isShowAllSelect }\"\n :style=\"{\n 'font-size': `${parseRem(fontSize)}rem`,\n }\"\n @select-all=\"onTableSelectAllHandler\"\n @row-click=\"onTableRowClickHandler\"\n @row-contextmenu=\"onTableRowContextmenuHandler\"\n v-bind=\"$attrs\"\n >\n <template\n v-for=\"(column) in tableColumns\"\n :key=\"column.prop\"\n >\n <el-table-column\n v-if=\"tableColumnsEditablele[column.prop]?.checked\"\n v-bind=\"column\"\n >\n <template #header=\"scope\">\n <slot :name=\"column.headerSlot\" v-bind=\"scope\">\n <AppTooltip\n v-if=\"!isEmpty(scope.column?.label)\"\n :over-line=\"1\"\n :content=\"scope.column?.label\"\n />\n </slot>\n </template>\n <template #default=\"scope\">\n <slot\n v-if=\"column?.slot\"\n :name=\"column?.slot\"\n v-bind=\"scope\"\n />\n <template v-else-if=\"column.prop === 'operator'\">\n <IconBox\n v-for=\"(citem, cindex) in operatorFilterHandler(column, scope, 'default')\"\n :key=\"cindex\"\n :svg-name=\"citem.svgName\"\n :altText=\"citem.label\"\n @click.stop=\"operatorClickHandler(cindex, column, scope, 'default')\"\n />\n <el-dropdown\n v-if=\"operatorFilterHandler(column, scope, 'more')?.length\"\n ref=\"operatorDropdownRef\"\n trigger=\"click\"\n class=\"ml-3\"\n popper-style=\"min-width: 150px\"\n placement=\"bottom\"\n @command=\"operatorClickHandler($event, column, scope, 'more')\"\n >\n <IconBox\n key=\"more\"\n svg-name=\"v3-base-more\"\n :altText=\"t('table.moreOperations')\"\n @click.stop\n />\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item\n v-for=\"(citem, cindex) in operatorFilterHandler(column, scope, 'more')\"\n :key=\"cindex\"\n :command=\"cindex\"\n :disabled=\"operatorDisabledHandler(citem, scope)\"\n >\n <span>\n <span>{{ citem.label }}</span>\n <span\n v-if=\"operatorDisabledHandler(citem, scope)\"\n class=\"text-xs leading-1\"\n >({{ operatorDisableTextdHandler(citem, scope) }})</span>\n </span>\n </el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </template>\n <template v-else-if=\"scope.column?.type === 'default'\">\n <AppTooltip\n v-if=\"!isEmpty(scope.row[scope.column.property])\"\n :over-line=\"2\"\n :content=\"scope.row[scope.column.property]\"\n />\n <span v-else class=\"text-auxiliary\">- -</span>\n </template>\n </template>\n </el-table-column>\n </template>\n <template #empty>\n <slot name=\"empty\">\n <span>{{ emptyText || t('hy.noData') }}</span>\n </slot>\n </template>\n </el-table>\n </slot>\n <!-- 分页 -->\n <div\n v-if=\"showPagination\"\n class=\"flex items-center justify-center min-h-6 relative mt-3\"\n >\n <div\n class=\"absolute left-4 top-1/2 transform -translate-y-1/2 text-sm\"\n >{{ t('table.aTotalOfPiecesOfData', [100]) }}</div>\n <el-pagination\n v-model:current-page=\"formModel.page\"\n v-model:page-size=\"formModel.size\"\n :total=\"totalElements\"\n :pager-count=\"pagerCount\"\n :page-sizes=\"[10, 15, 30, 50, 100]\"\n :layout=\"layout\"\n size=\"small\"\n background\n hide-on-single-page\n @size-change=\"onSizeChangeHandler\"\n @current-change=\"onCurrentChangeHandler\"\n />\n </div>\n </div>\n <!-- 表格行右键展示操作列表 -->\n <el-dropdown\n ref=\"tableDropdownRef\"\n :virtual-ref=\"tableTriggerRef\"\n popper-style=\"min-width: 150px\"\n :show-arrow=\"false\"\n :popper-options=\"{\n modifiers: [{ name: 'offset', options: { offset: [0, 0] } }],\n }\"\n virtual-triggering\n trigger=\"contextmenu\"\n placement=\"bottom\"\n @command=\"operatorClickHandler($event, tableTriggerRef.column, tableTriggerRef.scope)\"\n >\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item\n v-for=\"(citem, cindex) in operatorFilterHandler(tableTriggerRef.column, tableTriggerRef.scope)\"\n :key=\"cindex\"\n :command=\"cindex\"\n :disabled=\"operatorDisabledHandler(citem, tableTriggerRef.scope)\"\n >\n <span>\n <span>{{ citem.label }}</span>\n <span\n v-if=\"operatorDisabledHandler(citem, tableTriggerRef.scope)\"\n class=\"text-xs leading-1\"\n >({{ operatorDisableTextdHandler(citem, tableTriggerRef.scope) }})</span>\n </span>\n </el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </div>\n</template>\n"],"names":["useTemplateRef","useMixins","useAppTableWrapper","useAppTableSearch","_openBlock","_createElementBlock","_createElementVNode","_createBlock","ColumnSelect"],"mappings":";;;;;;;;;;;;;;;;;;AA6BA,OAAO,CAAA,GAAA,CAAA,eAAoB,EAAC,CAAA,+BAAqB,CAAA,CAAA;;;;;;AAGnC;AACd,IAAE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAA,MAAM,mBAAQ,GAAAA,kBAAA,CAAA,qBAAA,CAAA;AAyHd,IAAA,MAAM;;AAEN;;AAEA,MAAM,YAAY;AAClB,MAAM,sBAAW;AACjB,MAAM,iBAAe;AACrB,MAAM,2BAAmB;AACzB;;AAEA,MAAM,eAAA;AACN,MAAK,eAAA;AACL,MAAM,oBAAG;AACT,MAAE,sBAAe;AACjB,MAAE,4BAAY;AACd,MAAE,uBAAsB;AACxB;AACA,MAAE,SAAA;AACF,MAAM,WAAK;AACX,MAAE,aAAS;AACX,MAAE,oBAAe;AACjB,MAAE,OAAA;AACF,MAAE,OAAA;AACF,MAAE,OAAA;AACF,MAAE,gBAAA;AACF,MAAE,mBAAuB;AACzB,MAAM,sBAAE;AACR;AACA,MAAE,UAAW;AACb,MAAE,gBAAa;AACf,MAAE;AACF,KAAE,GAAAC,mBAAO;AACT,MAAE;AACF,QAAE,KAAO;AACT,QAAE,KAAA;AACF,QAAE,YAAA;AACF,QAAE,QAAA;AACF,QAAK,gBAAA;AACL,QAAE,mBAAU;AACZ,QAAE;AACF,OAAE;AACF,MAAI;AACJ,QAAEC,0BAAA;AACF,QAAIC;AACJ;AACA,KAAI;AACJ,IAAI,IAAA,KAAQ,CAAA,cAAA,EAAA;AACZ,MAAI,OAAA,CAAA,CAAA,CAAA;AACJ,IAAI;AACJ,IAAI,QAAA,CAAA;AACJ,MAAG,OAAA;AACH,MAAE,OAAA;AACF,MAAI,OAAA;AACJ,MAAI,eAAiB;AACrB,MAAG,gBAAA;AACH,MAAA;;AAEA,IAAI,OAAK,CAAA,IAAA,EAAA,MAAA,KAAA;AACT,MAAI,OAAMC,aAAA,EAAe,EAACC,sBAAA;AAC1B,QAAE,KAAS;AACX,QAAA;;AAEA,UAAa,GAAA,EAAA,YAAA;AACb,UAAS,KAAA,EAAA;AACT,SAAS;AACT,QAAE;AACF,UAAEC,sBAAe,CAAA,KAAA,EAAA,EAAA,KAAA,EAAA,4EAAA,EAAA,EAAA;AACjB,YAAEA,sBAAgB,CAAA,KAAA,EAAA,EAAA,KAAA,EAAA,8BAAA,EAAA,EAAA;AAClB,cAAE,OAAkB,CAAA,cAAA,IAAAF,aAAA,EAAA,EAAAG,eAAA,CAAAC,oBAAA,EAAA;AACpB,gBAAC,GAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}