jky-component-lib 0.0.99 → 0.0.103

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 (53) hide show
  1. package/dist/es/_virtual/_plugin-vue_export-helper.js +10 -0
  2. package/dist/es/amap/style.css +6 -2
  3. package/dist/es/amap/style2.css +2 -6
  4. package/dist/es/components.d.ts +1 -0
  5. package/dist/es/components.js +5 -1
  6. package/dist/es/form/Form.vue.d.ts +2 -100
  7. package/dist/es/form/Form.vue.js +3 -1
  8. package/dist/es/index.js +4 -1
  9. package/dist/es/package.json.js +1 -1
  10. package/dist/es/page-layout/PageLayout.vue.js +6 -0
  11. package/dist/es/page-table/PageTable.vue.d.ts +42 -433
  12. package/dist/es/page-table/PageTable.vue.js +82 -73
  13. package/dist/es/page-table/PageTableColumn.vue.d.ts +36 -0
  14. package/dist/es/page-table/PageTableColumn.vue.js +121 -0
  15. package/dist/es/page-table/PageTableColumn.vue3.js +5 -0
  16. package/dist/es/page-table/Toolbar.vue.d.ts +1 -1
  17. package/dist/es/page-table/Toolbar.vue.js +2 -2
  18. package/dist/es/page-table/index.d.ts +3 -1
  19. package/dist/es/page-table/index.js +4 -0
  20. package/dist/es/page-table-v2/PageTableV2.vue.d.ts +974 -0
  21. package/dist/es/page-table-v2/PageTableV2.vue.js +7 -0
  22. package/dist/es/page-table-v2/PageTableV2.vue2.js +321 -0
  23. package/dist/es/page-table-v2/index.d.ts +4 -0
  24. package/dist/es/page-table-v2/index.js +7 -0
  25. package/dist/es/page-table-v2/style.css +13 -0
  26. package/dist/es/style.css +64 -0
  27. package/dist/lib/_virtual/_plugin-vue_export-helper.js +10 -0
  28. package/dist/lib/amap/style.css +6 -2
  29. package/dist/lib/amap/style2.css +2 -6
  30. package/dist/lib/components.d.ts +1 -0
  31. package/dist/lib/components.js +13 -9
  32. package/dist/lib/form/Form.vue.d.ts +2 -100
  33. package/dist/lib/form/Form.vue.js +3 -1
  34. package/dist/lib/index.js +9 -6
  35. package/dist/lib/package.json.js +1 -1
  36. package/dist/lib/page-layout/PageLayout.vue.js +6 -0
  37. package/dist/lib/page-table/PageTable.vue.d.ts +42 -433
  38. package/dist/lib/page-table/PageTable.vue.js +79 -70
  39. package/dist/lib/page-table/PageTableColumn.vue.d.ts +36 -0
  40. package/dist/lib/page-table/PageTableColumn.vue.js +121 -0
  41. package/dist/lib/page-table/PageTableColumn.vue3.js +5 -0
  42. package/dist/lib/page-table/Toolbar.vue.d.ts +1 -1
  43. package/dist/lib/page-table/Toolbar.vue.js +2 -2
  44. package/dist/lib/page-table/index.d.ts +3 -1
  45. package/dist/lib/page-table/index.js +4 -0
  46. package/dist/lib/page-table-v2/PageTableV2.vue.d.ts +974 -0
  47. package/dist/lib/page-table-v2/PageTableV2.vue.js +7 -0
  48. package/dist/lib/page-table-v2/PageTableV2.vue2.js +321 -0
  49. package/dist/lib/page-table-v2/index.d.ts +4 -0
  50. package/dist/lib/page-table-v2/index.js +7 -0
  51. package/dist/lib/page-table-v2/style.css +13 -0
  52. package/dist/lib/style.css +64 -0
  53. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./PageTableV2.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../_virtual/_plugin-vue_export-helper.js";
4
+ const PageTableV2 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6a04e384"]]);
5
+ export {
6
+ PageTableV2 as default
7
+ };
@@ -0,0 +1,321 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ var __async = (__this, __arguments, generator) => {
33
+ return new Promise((resolve, reject) => {
34
+ var fulfilled = (value) => {
35
+ try {
36
+ step(generator.next(value));
37
+ } catch (e) {
38
+ reject(e);
39
+ }
40
+ };
41
+ var rejected = (value) => {
42
+ try {
43
+ step(generator.throw(value));
44
+ } catch (e) {
45
+ reject(e);
46
+ }
47
+ };
48
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
49
+ step((generator = generator.apply(__this, __arguments)).next());
50
+ });
51
+ };
52
+ import { defineComponent, ref, watch, computed, onMounted, resolveDirective, openBlock, createElementBlock, normalizeClass, createBlock, unref, withCtx, createVNode, mergeProps, createCommentVNode, resolveDynamicComponent, withDirectives } from "vue";
53
+ import { useFullscreen } from "@vueuse/core";
54
+ import { ElCard, ElTableV2 } from "element-plus";
55
+ import { JkyForm } from "../form/index.js";
56
+ import _sfc_main$1 from "../page-table/Toolbar.vue.js";
57
+ /* empty css */
58
+ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, {
59
+ name: "JkyPageTableV2"
60
+ }), {
61
+ __name: "PageTableV2",
62
+ props: {
63
+ title: { default: "" },
64
+ withCard: { type: Boolean, default: true },
65
+ filterItems: { default: () => [] },
66
+ form: {},
67
+ showSearchButton: { type: Boolean, default: true },
68
+ searchText: { default: "查询" },
69
+ resetText: { default: "重置" },
70
+ dataSource: {},
71
+ width: {},
72
+ height: {},
73
+ columns: {},
74
+ tableProps: { default: () => ({}) },
75
+ formProps: { default: () => ({}) },
76
+ toolbarButtons: {},
77
+ toolbarButtonLimit: { default: 0 },
78
+ class: {},
79
+ loading: { type: Boolean, default: false },
80
+ emptyText: { default: "暂无数据" },
81
+ autoSearchDelay: { default: 500 }
82
+ },
83
+ emits: ["search", "reset", "pageChange", "refresh", "rowClick", "rowDblclick", "cellClick", "selectionChange", "update:form"],
84
+ setup(__props, { expose: __expose, emit: __emit }) {
85
+ const props = __props;
86
+ const emit = __emit;
87
+ const form = ref(props.form || {});
88
+ watch(() => props.form, (newVal) => {
89
+ if (newVal) {
90
+ form.value = newVal;
91
+ }
92
+ }, { deep: true });
93
+ watch(
94
+ () => form.value,
95
+ (newVal) => {
96
+ emit("update:form", newVal);
97
+ },
98
+ { deep: true }
99
+ );
100
+ const internalData = ref([]);
101
+ const tableRef = ref(null);
102
+ const formRef = ref(null);
103
+ const isLoading = ref(props.loading);
104
+ let debounceTimer = null;
105
+ function _debouncedLoadData() {
106
+ if (debounceTimer)
107
+ clearTimeout(debounceTimer);
108
+ if (props.autoSearchDelay === 0)
109
+ return;
110
+ debounceTimer = setTimeout(() => {
111
+ loadData();
112
+ }, props.autoSearchDelay);
113
+ }
114
+ const pageTableV2Ref = ref(null);
115
+ const { isFullscreen: _isFullscreen, toggle: toggleFullscreen } = useFullscreen(pageTableV2Ref);
116
+ function handleRefresh() {
117
+ var _a;
118
+ if ((_a = props.dataSource) == null ? void 0 : _a.api) {
119
+ loadData();
120
+ } else {
121
+ emit("refresh");
122
+ }
123
+ }
124
+ const defaultRightButtons = computed(() => {
125
+ const refreshButton = {
126
+ label: "刷新",
127
+ icon: "icon-[mdi--refresh]",
128
+ class: "ml-3",
129
+ onClick: handleRefresh
130
+ };
131
+ const fullscreenButton = {
132
+ label: _isFullscreen.value ? "退出全屏" : "全屏",
133
+ icon: _isFullscreen.value ? "icon-[mdi--fullscreen-exit]" : "icon-[mdi--fullscreen]",
134
+ class: "ml-3",
135
+ onClick: () => toggleFullscreen()
136
+ };
137
+ return [refreshButton, fullscreenButton];
138
+ });
139
+ const selectedCount = computed(() => {
140
+ var _a, _b;
141
+ return ((_b = (_a = tableRef.value) == null ? void 0 : _a.getSelectedRows) == null ? void 0 : _b.call(_a).length) || 0;
142
+ });
143
+ function buildApiParams() {
144
+ var _a, _b;
145
+ if ((_a = props.dataSource) == null ? void 0 : _a.getApiParams) {
146
+ return props.dataSource.getApiParams(form.value);
147
+ }
148
+ if ((_b = props.dataSource) == null ? void 0 : _b.apiParams) {
149
+ return __spreadValues(__spreadValues({}, form.value), props.dataSource.apiParams);
150
+ }
151
+ return __spreadValues({}, form.value);
152
+ }
153
+ function loadData() {
154
+ return __async(this, null, function* () {
155
+ var _a;
156
+ if (!((_a = props.dataSource) == null ? void 0 : _a.api)) {
157
+ console.warn("PageTableV2: 没有配置 dataSource.api");
158
+ return;
159
+ }
160
+ isLoading.value = true;
161
+ try {
162
+ const apiParams = buildApiParams();
163
+ const result = yield props.dataSource.api(apiParams);
164
+ if (Array.isArray(result)) {
165
+ internalData.value = result;
166
+ } else {
167
+ internalData.value = [];
168
+ }
169
+ } catch (error) {
170
+ console.error("PageTableV2: 加载数据失败:", error);
171
+ internalData.value = [];
172
+ } finally {
173
+ isLoading.value = false;
174
+ }
175
+ });
176
+ }
177
+ function handleSearch() {
178
+ var _a;
179
+ emit("search", __spreadValues({}, form.value));
180
+ if ((_a = props.dataSource) == null ? void 0 : _a.api) {
181
+ loadData();
182
+ }
183
+ }
184
+ function handleReset() {
185
+ var _a, _b, _c;
186
+ emit("reset");
187
+ form.value = {};
188
+ if (formRef.value) {
189
+ (_b = (_a = formRef.value) == null ? void 0 : _a.form) == null ? void 0 : _b.resetFields();
190
+ }
191
+ if ((_c = props.dataSource) == null ? void 0 : _c.api) {
192
+ loadData();
193
+ }
194
+ }
195
+ function handleRowClick(row, event) {
196
+ emit("rowClick", row, event);
197
+ }
198
+ function handleRowDblclick(row, event) {
199
+ emit("rowDblclick", row, event);
200
+ }
201
+ function handleCellClick(row, column, event) {
202
+ emit("cellClick", row, column, event);
203
+ }
204
+ __expose({
205
+ refresh: loadData,
206
+ getFilterData: () => __spreadValues({}, form.value),
207
+ setFilterData: (data) => {
208
+ form.value = __spreadValues({}, data);
209
+ },
210
+ resetFilter: handleReset,
211
+ getSelectedRows: () => {
212
+ var _a;
213
+ return ((_a = tableRef.value) == null ? void 0 : _a.getSelectedRows()) || [];
214
+ },
215
+ clearSelection: () => {
216
+ var _a;
217
+ (_a = tableRef.value) == null ? void 0 : _a.clearSelection();
218
+ },
219
+ tableRef,
220
+ formRef
221
+ });
222
+ onMounted(() => {
223
+ var _a;
224
+ if ((_a = props.dataSource) == null ? void 0 : _a.api) {
225
+ loadData();
226
+ }
227
+ });
228
+ watch(
229
+ () => form.value,
230
+ () => {
231
+ var _a;
232
+ if (!props.showSearchButton && ((_a = props.dataSource) == null ? void 0 : _a.api)) {
233
+ _debouncedLoadData();
234
+ }
235
+ },
236
+ { deep: true }
237
+ );
238
+ const processedColumns = computed(() => {
239
+ return props.columns.map((column) => {
240
+ const _a = column, { cellRenderer, hidden, dataKey } = _a, rest = __objRest(_a, ["cellRenderer", "hidden", "dataKey"]);
241
+ return __spreadProps(__spreadValues({}, rest), {
242
+ hidden,
243
+ cellRenderer: cellRenderer || (dataKey ? ({ rowData }) => rowData[dataKey] : void 0)
244
+ });
245
+ });
246
+ });
247
+ return (_ctx, _cache) => {
248
+ const _directive_loading = resolveDirective("loading");
249
+ return openBlock(), createElementBlock("div", {
250
+ ref_key: "pageTableV2Ref",
251
+ ref: pageTableV2Ref,
252
+ class: normalizeClass(["bg-transparent flex flex-col jky-page-table-v2", [props.class]])
253
+ }, [
254
+ __props.filterItems && __props.filterItems.length > 0 ? (openBlock(), createBlock(unref(ElCard), {
255
+ key: 0,
256
+ class: "mb-3 flex-none jky-page-table-v2__filter-card"
257
+ }, {
258
+ default: withCtx(() => [
259
+ createVNode(unref(JkyForm), mergeProps({
260
+ ref_key: "formRef",
261
+ ref: formRef
262
+ }, __spreadValues({ inline: true, grid: true }, __props.formProps), {
263
+ modelValue: form.value,
264
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => form.value = $event),
265
+ "show-footer": true,
266
+ items: __props.filterItems,
267
+ disabled: isLoading.value,
268
+ "submit-text": "搜索",
269
+ "cancel-text": "重置",
270
+ onReset: handleReset,
271
+ onSubmit: handleSearch
272
+ }), null, 16, ["modelValue", "items", "disabled"])
273
+ ]),
274
+ _: 1
275
+ })) : createCommentVNode("", true),
276
+ (openBlock(), createBlock(resolveDynamicComponent(props.withCard ? unref(ElCard) : "div"), { class: "flex-1 min-h-0 jky-page-table-v2__table-card" }, {
277
+ default: withCtx(() => {
278
+ var _a, _b, _c;
279
+ return [
280
+ createVNode(_sfc_main$1, {
281
+ "left-buttons": ((_a = props.toolbarButtons) == null ? void 0 : _a.left) || [],
282
+ "batch-buttons": ((_b = props.toolbarButtons) == null ? void 0 : _b.batch) || [],
283
+ "right-buttons": ((_c = props.toolbarButtons) == null ? void 0 : _c.right) || [],
284
+ "default-buttons": defaultRightButtons.value,
285
+ "selected-count": selectedCount.value,
286
+ "toolbar-button-limit": __props.toolbarButtonLimit,
287
+ payload: {
288
+ pageNo: 1,
289
+ pageSize: 10,
290
+ total: 0,
291
+ tableData: internalData.value,
292
+ selectedRows: [],
293
+ filterData: __spreadValues({}, form.value)
294
+ }
295
+ }, null, 8, ["left-buttons", "batch-buttons", "right-buttons", "default-buttons", "selected-count", "toolbar-button-limit", "payload"]),
296
+ withDirectives(createVNode(unref(ElTableV2), mergeProps({
297
+ ref_key: "tableRef",
298
+ ref: tableRef,
299
+ data: internalData.value,
300
+ columns: processedColumns.value,
301
+ width: props.width,
302
+ height: props.height,
303
+ "empty-text": __props.emptyText
304
+ }, __props.tableProps, {
305
+ onRowClick: handleRowClick,
306
+ onRowDblClick: handleRowDblclick,
307
+ onCellClick: handleCellClick
308
+ }), null, 16, ["data", "columns", "width", "height", "empty-text"]), [
309
+ [_directive_loading, isLoading.value]
310
+ ])
311
+ ];
312
+ }),
313
+ _: 1
314
+ }))
315
+ ], 2);
316
+ };
317
+ }
318
+ }));
319
+ export {
320
+ _sfc_main as default
321
+ };
@@ -0,0 +1,4 @@
1
+ import { InstallWithSFC } from '../utils/types';
2
+ import { default as PageTableV2 } from './PageTableV2.vue';
3
+ export declare const JkyPageTableV2: InstallWithSFC<typeof PageTableV2>;
4
+ export default JkyPageTableV2;
@@ -0,0 +1,7 @@
1
+ import { installWithSFC } from "../utils/with-install.js";
2
+ import PageTableV2 from "./PageTableV2.vue.js";
3
+ const JkyPageTableV2 = installWithSFC(PageTableV2);
4
+ export {
5
+ JkyPageTableV2,
6
+ JkyPageTableV2 as default
7
+ };
@@ -0,0 +1,13 @@
1
+ /* PageTableV2 组件样式 */
2
+ .jky-page-table-v2[data-v-6a04e384] {
3
+ /* 基础样式 */
4
+ }
5
+ .jky-page-table-v2__filter-card[data-v-6a04e384] {
6
+ /* 筛选项卡片样式 */
7
+ }
8
+ .jky-page-table-v2__table-card[data-v-6a04e384] {
9
+ /* 表格卡片样式 */
10
+ }
11
+ .jky-page-table-v2-toolbar[data-v-6a04e384] {
12
+ /* 工具栏样式 */
13
+ }
package/dist/es/style.css CHANGED
@@ -558,6 +558,10 @@
558
558
  }
559
559
  }
560
560
 
561
+ .m-0 {
562
+ margin: calc(var(--spacing) * 0);
563
+ }
564
+
561
565
  .mx-auto {
562
566
  margin-inline: auto;
563
567
  }
@@ -1414,6 +1418,22 @@
1414
1418
  mask-repeat: no-repeat;
1415
1419
  }
1416
1420
 
1421
+ .icon-\[mdi--file-excel\] {
1422
+ width: 1em;
1423
+ height: 1em;
1424
+ -webkit-mask-image: var(--svg);
1425
+ -webkit-mask-image: var(--svg);
1426
+ -webkit-mask-image: var(--svg);
1427
+ mask-image: var(--svg);
1428
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zm1.8 18H14l-2-3.4l-2 3.4H8.2l2.9-4.5L8.2 11H10l2 3.4l2-3.4h1.8l-2.9 4.5zM13 9V3.5L18.5 9z'/%3E%3C/svg%3E");
1429
+ background-color: currentColor;
1430
+ display: inline-block;
1431
+ -webkit-mask-size: 100% 100%;
1432
+ mask-size: 100% 100%;
1433
+ -webkit-mask-repeat: no-repeat;
1434
+ mask-repeat: no-repeat;
1435
+ }
1436
+
1417
1437
  .icon-\[mdi--format-list-bulleted\] {
1418
1438
  width: 1em;
1419
1439
  height: 1em;
@@ -1478,6 +1498,22 @@
1478
1498
  mask-repeat: no-repeat;
1479
1499
  }
1480
1500
 
1501
+ .icon-\[mdi--plus\] {
1502
+ width: 1em;
1503
+ height: 1em;
1504
+ -webkit-mask-image: var(--svg);
1505
+ -webkit-mask-image: var(--svg);
1506
+ -webkit-mask-image: var(--svg);
1507
+ mask-image: var(--svg);
1508
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z'/%3E%3C/svg%3E");
1509
+ background-color: currentColor;
1510
+ display: inline-block;
1511
+ -webkit-mask-size: 100% 100%;
1512
+ mask-size: 100% 100%;
1513
+ -webkit-mask-repeat: no-repeat;
1514
+ mask-repeat: no-repeat;
1515
+ }
1516
+
1481
1517
  .icon-\[mdi--refresh\] {
1482
1518
  width: 1em;
1483
1519
  height: 1em;
@@ -1494,6 +1530,22 @@
1494
1530
  mask-repeat: no-repeat;
1495
1531
  }
1496
1532
 
1533
+ .icon-\[mdi--upload\] {
1534
+ width: 1em;
1535
+ height: 1em;
1536
+ -webkit-mask-image: var(--svg);
1537
+ -webkit-mask-image: var(--svg);
1538
+ -webkit-mask-image: var(--svg);
1539
+ mask-image: var(--svg);
1540
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M9 16v-6H5l7-7l7 7h-4v6zm-4 4v-2h14v2z'/%3E%3C/svg%3E");
1541
+ background-color: currentColor;
1542
+ display: inline-block;
1543
+ -webkit-mask-size: 100% 100%;
1544
+ mask-size: 100% 100%;
1545
+ -webkit-mask-repeat: no-repeat;
1546
+ mask-repeat: no-repeat;
1547
+ }
1548
+
1497
1549
  .icon-\[mi--switch\] {
1498
1550
  width: 1em;
1499
1551
  height: 1em;
@@ -2377,6 +2429,10 @@
2377
2429
  padding: calc(var(--spacing) * 8);
2378
2430
  }
2379
2431
 
2432
+ .px-1 {
2433
+ padding-inline: calc(var(--spacing) * 1);
2434
+ }
2435
+
2380
2436
  .px-2 {
2381
2437
  padding-inline: calc(var(--spacing) * 2);
2382
2438
  }
@@ -2859,10 +2915,18 @@
2859
2915
  color: var(--el-color-primary);
2860
2916
  }
2861
2917
 
2918
+ .hover\:text-blue-700:hover {
2919
+ color: var(--color-blue-700);
2920
+ }
2921
+
2862
2922
  .hover\:text-blue-900:hover {
2863
2923
  color: var(--color-blue-900);
2864
2924
  }
2865
2925
 
2926
+ .hover\:text-red-700:hover {
2927
+ color: var(--color-red-700);
2928
+ }
2929
+
2866
2930
  .hover\:text-red-900:hover {
2867
2931
  color: var(--color-red-900);
2868
2932
  }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const _export_sfc = (sfc, props) => {
4
+ const target = sfc.__vccOpts || sfc;
5
+ for (const [key, val] of props) {
6
+ target[key] = val;
7
+ }
8
+ return target;
9
+ };
10
+ exports.default = _export_sfc;
@@ -1,3 +1,7 @@
1
1
 
2
- /* 轨迹回放组件不需要额外样式 */
3
- /* 所有样式通过 TailwindCSS 工具类或外部组件控制 */
2
+ /* JkyAMarker 组件样式 - 参考高德官方示例 */
3
+ .amap-icon img,
4
+ .amap-marker-content img {
5
+ width: 25px;
6
+ height: 34px;
7
+ }
@@ -1,7 +1,3 @@
1
1
 
2
- /* JkyAMarker 组件样式 - 参考高德官方示例 */
3
- .amap-icon img,
4
- .amap-marker-content img {
5
- width: 25px;
6
- height: 34px;
7
- }
2
+ /* 轨迹回放组件不需要额外样式 */
3
+ /* 所有样式通过 TailwindCSS 工具类或外部组件控制 */
@@ -10,6 +10,7 @@ export * from './modal';
10
10
  export * from './page-header';
11
11
  export * from './page-layout';
12
12
  export * from './page-table';
13
+ export * from './page-table-v2';
13
14
  export * from './rich-editor';
14
15
  export * from './say-hello';
15
16
  export * from './tabs';
@@ -11,11 +11,12 @@ const index$8 = require("./modal/index.js");
11
11
  const index$9 = require("./page-header/index.js");
12
12
  const index$a = require("./page-layout/index.js");
13
13
  const index$1 = require("./page-table/index.js");
14
- const index$b = require("./rich-editor/index.js");
15
- const index$c = require("./say-hello/index.js");
16
- const index$d = require("./tabs/index.js");
14
+ const index$b = require("./page-table-v2/index.js");
15
+ const index$c = require("./rich-editor/index.js");
16
+ const index$d = require("./say-hello/index.js");
17
+ const index$e = require("./tabs/index.js");
17
18
  const components = [
18
- index$c.JkySayHello,
19
+ index$d.JkySayHello,
19
20
  index$3.JkyButton,
20
21
  index$4.JkyButtonNav,
21
22
  index$9.JkyPageHeader,
@@ -23,10 +24,11 @@ const components = [
23
24
  index$6.JkyForm,
24
25
  index$5.JkyCodeMirrorEditor,
25
26
  index$2.JkyAddInput,
26
- index$b.JkyRichEditor,
27
+ index$c.JkyRichEditor,
27
28
  index$1.JkyPageTable,
29
+ index$b.JkyPageTableV2,
28
30
  index$a.JkyPageLayout,
29
- index$d.JkyTabs,
31
+ index$e.JkyTabs,
30
32
  index$8.JkyModal,
31
33
  index.JkyAMap
32
34
  ];
@@ -44,7 +46,9 @@ exports.JkyPageHeader = index$9.JkyPageHeader;
44
46
  exports.JkyPageLayout = index$a.JkyPageLayout;
45
47
  exports.JkyActionColumn = index$1.JkyActionColumn;
46
48
  exports.JkyPageTable = index$1.JkyPageTable;
47
- exports.JkyRichEditor = index$b.JkyRichEditor;
48
- exports.JkySayHello = index$c.JkySayHello;
49
- exports.JkyTabs = index$d.JkyTabs;
49
+ exports.JkyPageTableColumn = index$1.JkyPageTableColumn;
50
+ exports.JkyPageTableV2 = index$b.JkyPageTableV2;
51
+ exports.JkyRichEditor = index$c.JkyRichEditor;
52
+ exports.JkySayHello = index$d.JkySayHello;
53
+ exports.JkyTabs = index$e.JkyTabs;
50
54
  exports.components = components;
@@ -108,7 +108,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
108
108
  validate: typeof validate;
109
109
  clearValidate: typeof clearValidate;
110
110
  getFormInstance: typeof getFormInstance;
111
- formRef: globalThis.Ref<({
111
+ form: ({
112
112
  $: import('vue').ComponentInternalInstance;
113
113
  $data: {};
114
114
  $props: {
@@ -206,105 +206,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
206
206
  $slots: {
207
207
  default?: (props: {}) => any;
208
208
  };
209
- }) | undefined, ({
210
- $: import('vue').ComponentInternalInstance;
211
- $data: {};
212
- $props: {
213
- readonly model?: Record<string, any> | undefined;
214
- readonly rules?: import('element-plus').FormRules | undefined;
215
- readonly labelPosition?: "left" | "right" | "top" | undefined;
216
- readonly requireAsteriskPosition?: "left" | "right" | undefined;
217
- readonly labelWidth?: string | number | undefined;
218
- readonly labelSuffix?: string | undefined;
219
- readonly inline?: boolean | undefined;
220
- readonly inlineMessage?: boolean | undefined;
221
- readonly statusIcon?: boolean | undefined;
222
- readonly showMessage?: boolean | undefined;
223
- readonly validateOnRuleChange?: boolean | undefined;
224
- readonly hideRequiredAsterisk?: boolean | undefined;
225
- readonly scrollToError?: boolean | undefined;
226
- readonly scrollIntoViewOptions?: (ScrollIntoViewOptions | boolean) | undefined;
227
- readonly size?: import('element-plus').ComponentSize | undefined;
228
- readonly disabled?: boolean | undefined;
229
- readonly onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined | undefined;
230
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
231
- $attrs: import('vue').Attrs;
232
- $refs: {
233
- [x: string]: unknown;
234
- };
235
- $slots: Readonly<{
236
- [name: string]: globalThis.Slot | undefined;
237
- }>;
238
- $root: ComponentPublicInstance | null;
239
- $parent: ComponentPublicInstance | null;
240
- $host: Element | null;
241
- $emit: (event: "validate", prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void;
242
- $el: any;
243
- $options: import('vue').ComponentOptionsBase<Readonly<import('element-plus').FormProps> & Readonly<{
244
- onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
245
- }>, {
246
- validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
247
- validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
248
- resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void;
249
- clearValidate: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void;
250
- scrollToField: (prop: import('element-plus').FormItemProp) => void;
251
- getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
252
- fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
253
- setInitialValues: (initModel: Record<string, any>) => void;
254
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
255
- validate: (prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void;
256
- }, string, {
257
- scrollIntoViewOptions: ScrollIntoViewOptions | boolean;
258
- labelWidth: string | number;
259
- labelPosition: "left" | "right" | "top";
260
- requireAsteriskPosition: "left" | "right";
261
- labelSuffix: string;
262
- showMessage: boolean;
263
- validateOnRuleChange: boolean;
264
- }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
265
- beforeCreate?: (() => void) | (() => void)[];
266
- created?: (() => void) | (() => void)[];
267
- beforeMount?: (() => void) | (() => void)[];
268
- mounted?: (() => void) | (() => void)[];
269
- beforeUpdate?: (() => void) | (() => void)[];
270
- updated?: (() => void) | (() => void)[];
271
- activated?: (() => void) | (() => void)[];
272
- deactivated?: (() => void) | (() => void)[];
273
- beforeDestroy?: (() => void) | (() => void)[];
274
- beforeUnmount?: (() => void) | (() => void)[];
275
- destroyed?: (() => void) | (() => void)[];
276
- unmounted?: (() => void) | (() => void)[];
277
- renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
278
- renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
279
- errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
280
- };
281
- $forceUpdate: () => void;
282
- $nextTick: typeof import('vue').nextTick;
283
- $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
284
- } & Readonly<{
285
- scrollIntoViewOptions: ScrollIntoViewOptions | boolean;
286
- labelWidth: string | number;
287
- labelPosition: "left" | "right" | "top";
288
- requireAsteriskPosition: "left" | "right";
289
- labelSuffix: string;
290
- showMessage: boolean;
291
- validateOnRuleChange: boolean;
292
- }> & Omit<Readonly<import('element-plus').FormProps> & Readonly<{
293
- onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
294
- }>, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & {
295
- validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
296
- validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
297
- resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void;
298
- clearValidate: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void;
299
- scrollToField: (prop: import('element-plus').FormItemProp) => void;
300
- getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
301
- fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
302
- setInitialValues: (initModel: Record<string, any>) => void;
303
- } & {} & import('vue').ComponentCustomProperties & {} & {
304
- $slots: {
305
- default?: (props: {}) => any;
306
- };
307
- }) | undefined>;
209
+ }) | undefined;
308
210
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
309
211
  "update:modelValue": (value: Record<string, any>) => any;
310
212
  change: (value: Record<string, any>) => any;