qidian-vue-ui 1.1.38 → 1.1.39

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 (69) hide show
  1. package/dist/components/config-provider/index.d.ts +15 -0
  2. package/dist/components/config-provider/types.d.ts +5 -0
  3. package/dist/components/config-provider/useConfig.d.ts +20 -0
  4. package/dist/components/crud/list/index.vue2.mjs +2 -17
  5. package/dist/components/crud/list/index.vue2.mjs.map +1 -1
  6. package/dist/components/crud/table/index.vue.d.ts +3 -3
  7. package/dist/components/crud/table/index.vue2.mjs +2 -8
  8. package/dist/components/crud/table/index.vue2.mjs.map +1 -1
  9. package/dist/components/dialog/index.vue.mjs +1 -1
  10. package/dist/components/dialog/index.vue.mjs.map +1 -1
  11. package/dist/components/index.d.ts +3 -0
  12. package/dist/components/org/select/index.vue.mjs +3 -25
  13. package/dist/components/org/select/index.vue.mjs.map +1 -1
  14. package/dist/components/org/select/props.mjs +1 -1
  15. package/dist/components/org/select/props.mjs.map +1 -1
  16. package/dist/components/org/select/types.d.ts +1 -1
  17. package/dist/components/service/index.d.ts +0 -2
  18. package/dist/components/service/table/index.vue.mjs +1 -1
  19. package/dist/components/service/table/index.vue2.mjs +3 -3
  20. package/dist/components/service/table/index.vue2.mjs.map +1 -1
  21. package/dist/components/service-dialog-table-select/index.d.ts +2 -0
  22. package/dist/components/{service/dialog-table-select → service-dialog-table-select}/index.vue.d.ts +8 -6
  23. package/dist/components/{service/dialog-table-select → service-dialog-table-select}/index.vue.mjs +2 -2
  24. package/dist/components/{service/dialog-table-select → service-dialog-table-select}/index.vue2.mjs +189 -54
  25. package/dist/components/service-dialog-table-select/index.vue2.mjs.map +1 -0
  26. package/dist/components/{service/dialog-table-select → service-dialog-table-select}/props.d.ts +14 -13
  27. package/dist/components/{service/dialog-table-select → service-dialog-table-select}/props.mjs +10 -5
  28. package/dist/components/service-dialog-table-select/props.mjs.map +1 -0
  29. package/dist/components/service-dialog-table-select/types.d.ts +13 -0
  30. package/dist/components/service-popup-table-select/index.d.ts +2 -0
  31. package/dist/components/service-popup-table-select/index.vue.d.ts +31 -0
  32. package/dist/components/service-popup-table-select/index.vue.mjs +9 -0
  33. package/dist/components/service-popup-table-select/index.vue.mjs.map +1 -0
  34. package/dist/components/service-popup-table-select/index.vue2.mjs +456 -0
  35. package/dist/components/service-popup-table-select/index.vue2.mjs.map +1 -0
  36. package/dist/components/service-popup-table-select/props.d.ts +36 -0
  37. package/dist/components/service-popup-table-select/props.mjs +25 -0
  38. package/dist/components/service-popup-table-select/props.mjs.map +1 -0
  39. package/dist/components/service-popup-table-select/types.d.ts +9 -0
  40. package/dist/components/{service/select → service-select}/index.vue.mjs +2 -2
  41. package/dist/components/{service/select → service-select}/index.vue2.mjs +3 -3
  42. package/dist/components/service-select/index.vue2.mjs.map +1 -0
  43. package/dist/components/service-select/props.mjs.map +1 -0
  44. package/dist/index.mjs +12 -10
  45. package/dist/index.mjs.map +1 -1
  46. package/dist/locales/en-US.d.ts +5 -0
  47. package/dist/locales/en-US.mjs +5 -0
  48. package/dist/locales/en-US.mjs.map +1 -1
  49. package/dist/locales/zh-CN.d.ts +5 -0
  50. package/dist/locales/zh-CN.mjs +5 -0
  51. package/dist/locales/zh-CN.mjs.map +1 -1
  52. package/dist/locales/zh-TW.d.ts +5 -0
  53. package/dist/locales/zh-TW.mjs +5 -0
  54. package/dist/locales/zh-TW.mjs.map +1 -1
  55. package/dist/qidian-vue-ui.css +76 -39
  56. package/package.json +1 -1
  57. package/dist/components/service/dialog-table-select/index.d.ts +0 -2
  58. package/dist/components/service/dialog-table-select/index.vue2.mjs.map +0 -1
  59. package/dist/components/service/dialog-table-select/props.mjs.map +0 -1
  60. package/dist/components/service/dialog-table-select/types.d.ts +0 -10
  61. package/dist/components/service/select/index.vue2.mjs.map +0 -1
  62. package/dist/components/service/select/props.mjs.map +0 -1
  63. /package/dist/components/{service/dialog-table-select → service-dialog-table-select}/index.vue.mjs.map +0 -0
  64. /package/dist/components/{service/select → service-select}/index.d.ts +0 -0
  65. /package/dist/components/{service/select → service-select}/index.vue.d.ts +0 -0
  66. /package/dist/components/{service/select → service-select}/index.vue.mjs.map +0 -0
  67. /package/dist/components/{service/select → service-select}/props.d.ts +0 -0
  68. /package/dist/components/{service/select → service-select}/props.mjs +0 -0
  69. /package/dist/components/{service/select → service-select}/types.d.ts +0 -0
@@ -1,39 +1,44 @@
1
- import { defineComponent, mergeDefaults, useTemplateRef, ref, computed, onMounted, createElementBlock, openBlock, Fragment, createVNode, unref, mergeProps, isRef, withCtx, createSlots, renderList, renderSlot, normalizeProps, guardReactiveProps } from "vue";
2
- import { extractSlotsWithPrefix } from "qidian-shared";
3
- import { Select } from "tdesign-vue-next";
4
- import { SearchIcon } from "tdesign-icons-vue-next";
1
+ import { defineComponent, mergeDefaults, useTemplateRef, ref, reactive, computed, watch, onMounted, createElementBlock, openBlock, Fragment, createVNode, unref, mergeProps, isRef, withCtx, createSlots, renderList, createBlock, createTextVNode, toDisplayString, renderSlot, normalizeProps, guardReactiveProps } from "vue";
2
+ import { isEmpty, extractSlotsWithPrefix, identifyType } from "qidian-shared";
3
+ import { Select, Input, Space, Button } from "tdesign-vue-next";
4
+ import { SearchIcon, AddIcon } from "tdesign-icons-vue-next";
5
5
  import { qdDialogTableSelectSearchGrid, qdServiceDialogTableSelectProps } from "./props.mjs";
6
- import { useVModels } from "../../../node_modules/.pnpm/@vueuse_core@14.0.0_vue@3.5.22_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.mjs";
7
- import _sfc_main$1 from "../../dialog/index.vue.mjs";
8
- /* empty css */
9
- import "../../dialog/props.mjs";
10
- /* empty css */
11
- /* empty css */
6
+ import { useVModels } from "../../node_modules/.pnpm/@vueuse_core@14.0.0_vue@3.5.22_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.mjs";
7
+ import _sfc_main$1 from "../dialog/index.vue.mjs";
12
8
  /* empty css */
13
- import "../../../locales/zh-CN.mjs";
14
- /* empty css */
15
- import "../../crud/list/props.mjs";
16
- import { qdServiceSelectKeys } from "../select/props.mjs";
17
- import "../../../hooks/useAgentChat/index.mjs";
18
- import { useReadonly } from "../../../hooks/useReadonly.mjs";
19
- import { useDisabled } from "../../../hooks/useDisabled.mjs";
20
- /* empty css */
9
+ import "../dialog/props.mjs";
21
10
  /* empty css */
22
- /* empty css */
23
- /* empty css */
24
- import "../../crud/search/props.mjs";
25
- /* empty css */
26
- /* empty css */
11
+ /* empty css */
12
+ /* empty css */
13
+ import { useConfig } from "../config-provider/useConfig.mjs";
14
+ /* empty css */
15
+ import "../crud/list/props.mjs";
27
16
  /* empty css */
28
- import QdCrudTable from "../../crud/table/index.vue.mjs";
29
- import merge from "../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.mjs";
17
+ /* empty css */
18
+ import "../crud/search/props.mjs";
19
+ /* empty css */
20
+ /* empty css */
21
+ /* empty css */
22
+ import QdCrudTable from "../crud/table/index.vue.mjs";
23
+ import { qdServiceSelectKeys } from "../service-select/props.mjs";
24
+ import "../../hooks/useAgentChat/index.mjs";
25
+ import { useReadonly } from "../../hooks/useReadonly.mjs";
26
+ import { useDisabled } from "../../hooks/useDisabled.mjs";
27
+ import merge from "../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.mjs";
28
+ import get from "../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/get.mjs";
29
+ const _hoisted_1 = {
30
+ key: 0,
31
+ class: "qd-dialog-table-select__table-add"
32
+ };
30
33
  const _sfc_main = /* @__PURE__ */ defineComponent({
31
34
  ...{
32
35
  name: "QdServiceDialogTableSelect"
33
36
  },
34
37
  __name: "index",
35
38
  props: /* @__PURE__ */ mergeDefaults({
39
+ onCreate: { type: Function },
36
40
  tableSize: {},
41
+ visible: { type: Boolean },
37
42
  wrapper: {},
38
43
  title: {},
39
44
  permiPrefix: {},
@@ -73,7 +78,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
73
78
  hideSortTips: { type: Boolean },
74
79
  indeterminateSelectedRowKeys: {},
75
80
  multipleSort: { type: Boolean },
76
- reserveSelectedRowOnPaginate: { type: Boolean },
77
81
  rowSelectionAllowUncheck: { type: Boolean },
78
82
  rowSelectionType: {},
79
83
  selectOnRowClick: { type: Boolean },
@@ -84,7 +88,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
84
88
  sortIcon: {},
85
89
  sortOnRowDraggable: { type: Boolean },
86
90
  defaultActiveRowKeys: {},
87
- activeRowType: {},
88
91
  allowResizeColumnWidth: { type: Boolean },
89
92
  attach: { type: [String, Function] },
90
93
  bordered: { type: Boolean },
@@ -151,16 +154,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
151
154
  transformParams: { type: Function },
152
155
  transformRes: { type: Function },
153
156
  pagination: {},
154
- visible: { type: Boolean },
155
157
  modelValue: {},
156
158
  multiple: { type: Boolean },
157
159
  readonly: { type: Boolean },
158
160
  disabled: { type: Boolean },
159
161
  placeholder: {},
160
162
  clearable: { type: Boolean },
163
+ creatable: { type: Boolean },
161
164
  keys: {},
162
165
  size: {},
163
166
  valueType: {},
167
+ fillOptions: {},
164
168
  onClear: { type: Function },
165
169
  onChange: { type: Function }
166
170
  }, qdServiceDialogTableSelectProps),
@@ -182,16 +186,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
182
186
  } = useVModels(props, emit, {
183
187
  passive: true
184
188
  });
189
+ const { t } = useConfig("dialogTableSelect");
185
190
  const tdReadonly = useReadonly();
186
191
  const tdDisabled = useDisabled();
187
192
  const dialogRef = useTemplateRef("dialog");
188
193
  const selectedRowKeys = ref([]);
189
194
  const selectedRows = ref([]);
190
195
  let latestSelectedRows = [];
196
+ const addCustom = reactive({
197
+ visible: false,
198
+ value: ""
199
+ });
200
+ const addConfirmDisabled = computed(() => isEmpty(addCustom.value));
191
201
  const reProps = computed(() => {
192
202
  const {
193
203
  modelValue: modelValue2,
194
204
  visible: visible2,
205
+ fillOptions,
195
206
  searchData: searchData2,
196
207
  data: data2,
197
208
  columnControllerVisible: columnControllerVisible2,
@@ -207,18 +218,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
207
218
  keys,
208
219
  valueType,
209
220
  clearable,
221
+ creatable,
210
222
  placeholder,
211
223
  size,
212
224
  onClear,
225
+ onCreate,
213
226
  onChange,
214
227
  search,
215
228
  tableSize,
216
229
  ...tableOptions
217
230
  } = props;
218
231
  return {
219
- readonly: readonly ?? tdReadonly.value,
232
+ creatable,
233
+ fillOptions,
220
234
  selectOptions: {
221
235
  multiple,
236
+ readonly: readonly ?? tdReadonly.value,
222
237
  disabled: disabled ?? tdDisabled.value,
223
238
  keys,
224
239
  valueType,
@@ -238,6 +253,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
238
253
  rowKey: keys?.value || qdServiceSelectKeys.value
239
254
  },
240
255
  onClear,
256
+ onCreate,
241
257
  onChange,
242
258
  models: {
243
259
  modelValue: modelValue2,
@@ -249,26 +265,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
249
265
  expandedRowKeys: expandedRowKeys2,
250
266
  filterValue: filterValue2,
251
267
  sort: sort2,
252
- expandedTreeNodes: expandedTreeNodes2,
253
- wrapper
268
+ expandedTreeNodes: expandedTreeNodes2
254
269
  }
255
270
  };
256
271
  });
272
+ let fillOptionsWatchStop;
257
273
  function handleSelectChange(rowKeys, options) {
258
274
  latestSelectedRows = options.selectedRowData;
259
275
  }
260
276
  function handleConfirm() {
261
277
  selectedRows.value = latestSelectedRows;
262
- dialogRef.value?.hide();
278
+ visible.value = false;
263
279
  const { selectOptions } = reProps.value;
264
280
  const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value;
265
281
  const labelKey = selectOptions.keys?.label || qdServiceSelectKeys.label;
266
282
  if (selectOptions.valueType === "value") {
267
- modelValue.value = selectOptions.multiple ? latestSelectedRows.map((item) => item[valueKey]) : latestSelectedRows[0]?.[valueKey];
283
+ modelValue.value = selectOptions.multiple ? latestSelectedRows.map((item) => get(item, valueKey)) : get(latestSelectedRows[0], valueKey);
268
284
  } else {
269
285
  const rows = selectedRows.value.map((item) => ({
270
- [valueKey]: item[valueKey],
271
- [labelKey]: item[labelKey]
286
+ [valueKey]: get(item, valueKey),
287
+ [labelKey]: get(item, labelKey)
272
288
  }));
273
289
  modelValue.value = selectOptions.multiple ? rows : rows[0];
274
290
  }
@@ -279,10 +295,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
279
295
  });
280
296
  }
281
297
  function openDialog() {
282
- if (reProps.value.readonly || reProps.value.selectOptions.disabled) return;
283
- dialogRef.value?.show();
298
+ const { selectOptions } = reProps.value;
299
+ if (selectOptions.readonly || selectOptions.disabled) return;
300
+ const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value;
301
+ if (identifyType(modelValue.value) === "array") {
302
+ selectedRowKeys.value = modelValue.value.map((item) => {
303
+ if (identifyType(item) === "object") {
304
+ return get(item, valueKey);
305
+ }
306
+ return item;
307
+ });
308
+ } else if (identifyType(modelValue.value) === "object") {
309
+ selectedRowKeys.value = [get(modelValue.value, valueKey)];
310
+ } else {
311
+ selectedRowKeys.value = isEmpty(modelValue.value) ? [] : [modelValue.value];
312
+ }
313
+ visible.value = true;
284
314
  }
285
315
  function handleClear(context) {
316
+ selectedRowKeys.value = [];
286
317
  reProps.value.onChange?.(void 0, {
287
318
  e: context.e,
288
319
  option: null,
@@ -291,18 +322,58 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
291
322
  });
292
323
  reProps.value.onClear?.(context);
293
324
  }
325
+ function confirmAddCustom(e) {
326
+ reProps.value.onCreate?.(addCustom.value, (closed) => {
327
+ visible.value = closed ?? false;
328
+ });
329
+ reProps.value.onChange?.(void 0, {
330
+ e,
331
+ option: null,
332
+ selectedOptions: [],
333
+ trigger: "clear"
334
+ });
335
+ }
336
+ function cancelAddCustom() {
337
+ Object.assign(addCustom, {
338
+ visible: false,
339
+ value: ""
340
+ });
341
+ }
342
+ function handleBeforeOpen() {
343
+ fillOptionsWatchStop?.();
344
+ }
345
+ function handleClosed() {
346
+ if (addCustom.visible) cancelAddCustom();
347
+ if (reProps.value.dialogOptions.destroyOnClose) {
348
+ data.value = [];
349
+ searchData.value = {};
350
+ selectedRowKeys.value = [];
351
+ }
352
+ }
294
353
  const expose = {};
354
+ fillOptionsWatchStop = watch(
355
+ () => reProps.value.fillOptions,
356
+ (fillOpts) => {
357
+ if (!fillOpts?.length) return;
358
+ selectedRows.value = fillOpts;
359
+ },
360
+ { immediate: true, deep: true }
361
+ );
295
362
  onMounted(() => {
296
363
  Object.assign(expose, dialogRef.value);
297
364
  });
298
365
  return (_ctx, _cache) => {
299
366
  return openBlock(), createElementBlock(Fragment, null, [
300
367
  createVNode(unref(Select), mergeProps({
301
- class: ["qd-dialog-table-select", reProps.value.readonly ? "qd-dialog-table-select--readonly" : ""],
368
+ class: [
369
+ "qd-dialog-table-select",
370
+ reProps.value.selectOptions.readonly ? "qd-dialog-table-select--readonly" : "",
371
+ reProps.value.selectOptions.disabled ? "qd-dialog-table-select--disabled" : ""
372
+ ],
302
373
  modelValue: unref(modelValue),
303
374
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modelValue) ? modelValue.value = $event : null),
304
375
  options: selectedRows.value,
305
- readonly: ""
376
+ "popup-visible": false
306
377
  }, reProps.value.selectOptions, {
307
378
  onClick: openDialog,
308
379
  onClear: handleClear
@@ -315,33 +386,97 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
315
386
  createVNode(unref(_sfc_main$1), mergeProps({
316
387
  ref: "dialog",
317
388
  visible: unref(visible),
318
- "onUpdate:visible": _cache[10] || (_cache[10] = ($event) => isRef(visible) ? visible.value = $event : null),
319
- lazy: "",
320
- "destroy-on-close": ""
321
- }, reProps.value.dialogOptions, { onConfirm: handleConfirm }), {
389
+ "onUpdate:visible": _cache[13] || (_cache[13] = ($event) => isRef(visible) ? visible.value = $event : null)
390
+ }, reProps.value.dialogOptions, {
391
+ onConfirm: handleConfirm,
392
+ onBeforeOpen: handleBeforeOpen,
393
+ onClosed: handleClosed
394
+ }), {
322
395
  default: withCtx(() => [
323
396
  createVNode(unref(QdCrudTable), mergeProps({
324
- ref: "tableRef",
325
397
  class: "qd-dialog-table-select__table",
326
398
  "search-data": unref(searchData),
327
- "onUpdate:searchData": _cache[1] || (_cache[1] = ($event) => isRef(searchData) ? searchData.value = $event : null),
399
+ "onUpdate:searchData": _cache[3] || (_cache[3] = ($event) => isRef(searchData) ? searchData.value = $event : null),
328
400
  data: unref(data),
329
- "onUpdate:data": _cache[2] || (_cache[2] = ($event) => isRef(data) ? data.value = $event : null),
401
+ "onUpdate:data": _cache[4] || (_cache[4] = ($event) => isRef(data) ? data.value = $event : null),
330
402
  "selected-row-keys": selectedRowKeys.value,
331
- "onUpdate:selectedRowKeys": _cache[3] || (_cache[3] = ($event) => selectedRowKeys.value = $event),
403
+ "onUpdate:selectedRowKeys": _cache[5] || (_cache[5] = ($event) => selectedRowKeys.value = $event),
404
+ "active-row-keys": selectedRowKeys.value,
405
+ "onUpdate:activeRowKeys": _cache[6] || (_cache[6] = ($event) => selectedRowKeys.value = $event),
332
406
  "column-controller-visible": unref(columnControllerVisible),
333
- "onUpdate:columnControllerVisible": _cache[4] || (_cache[4] = ($event) => isRef(columnControllerVisible) ? columnControllerVisible.value = $event : null),
407
+ "onUpdate:columnControllerVisible": _cache[7] || (_cache[7] = ($event) => isRef(columnControllerVisible) ? columnControllerVisible.value = $event : null),
334
408
  "display-columns": unref(displayColumns),
335
- "onUpdate:displayColumns": _cache[5] || (_cache[5] = ($event) => isRef(displayColumns) ? displayColumns.value = $event : null),
409
+ "onUpdate:displayColumns": _cache[8] || (_cache[8] = ($event) => isRef(displayColumns) ? displayColumns.value = $event : null),
336
410
  "expanded-rowKeys": unref(expandedRowKeys),
337
- "onUpdate:expandedRowKeys": _cache[6] || (_cache[6] = ($event) => isRef(expandedRowKeys) ? expandedRowKeys.value = $event : null),
411
+ "onUpdate:expandedRowKeys": _cache[9] || (_cache[9] = ($event) => isRef(expandedRowKeys) ? expandedRowKeys.value = $event : null),
338
412
  "filter-value": unref(filterValue),
339
- "onUpdate:filterValue": _cache[7] || (_cache[7] = ($event) => isRef(filterValue) ? filterValue.value = $event : null),
413
+ "onUpdate:filterValue": _cache[10] || (_cache[10] = ($event) => isRef(filterValue) ? filterValue.value = $event : null),
340
414
  sort: unref(sort),
341
- "onUpdate:sort": _cache[8] || (_cache[8] = ($event) => isRef(sort) ? sort.value = $event : null),
415
+ "onUpdate:sort": _cache[11] || (_cache[11] = ($event) => isRef(sort) ? sort.value = $event : null),
342
416
  "expanded-tree-nodes": unref(expandedTreeNodes),
343
- "onUpdate:expandedTreeNodes": _cache[9] || (_cache[9] = ($event) => isRef(expandedTreeNodes) ? expandedTreeNodes.value = $event : null)
417
+ "onUpdate:expandedTreeNodes": _cache[12] || (_cache[12] = ($event) => isRef(expandedTreeNodes) ? expandedTreeNodes.value = $event : null),
418
+ "reserve-selected-row-on-paginate": "",
419
+ "active-row-type": "multiple"
344
420
  }, reProps.value.tableOptions, { onSelectChange: handleSelectChange }), createSlots({ _: 2 }, [
421
+ reProps.value.creatable ? {
422
+ name: "table-bottom-content",
423
+ fn: withCtx(() => [
424
+ addCustom.visible ? (openBlock(), createElementBlock("div", _hoisted_1, [
425
+ createVNode(unref(Input), {
426
+ modelValue: addCustom.value,
427
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => addCustom.value = $event),
428
+ clearable: ""
429
+ }, null, 8, ["modelValue"]),
430
+ createVNode(unref(Space), { size: "small" }, {
431
+ default: withCtx(() => [
432
+ createVNode(unref(Button), {
433
+ disabled: addConfirmDisabled.value,
434
+ onClick: confirmAddCustom
435
+ }, {
436
+ default: withCtx(() => [
437
+ createTextVNode(toDisplayString(unref(t)("addConfirmText")), 1)
438
+ ]),
439
+ _: 1
440
+ }, 8, ["disabled"]),
441
+ createVNode(unref(Button), {
442
+ variant: "outline",
443
+ onClick: cancelAddCustom
444
+ }, {
445
+ default: withCtx(() => [
446
+ createTextVNode(toDisplayString(unref(t)("addCancelText")), 1)
447
+ ]),
448
+ _: 1
449
+ })
450
+ ]),
451
+ _: 1
452
+ })
453
+ ])) : (openBlock(), createBlock(unref(Button), {
454
+ key: 1,
455
+ class: "qd-dialog-table-select__table-add",
456
+ block: "",
457
+ theme: "primary",
458
+ variant: "dashed",
459
+ onClick: _cache[2] || (_cache[2] = ($event) => addCustom.visible = true)
460
+ }, {
461
+ icon: withCtx(() => [
462
+ createVNode(unref(AddIcon))
463
+ ]),
464
+ default: withCtx(() => [
465
+ createTextVNode(" " + toDisplayString(unref(t)("addText")), 1)
466
+ ]),
467
+ _: 1
468
+ }))
469
+ ]),
470
+ key: "0"
471
+ } : void 0,
472
+ renderList(unref(extractSlotsWithPrefix)(_ctx.$slots, "search"), (item) => {
473
+ return {
474
+ name: item.filterName,
475
+ fn: withCtx((slotProps) => [
476
+ renderSlot(_ctx.$slots, item.originalName, normalizeProps(guardReactiveProps(slotProps)), void 0, true)
477
+ ])
478
+ };
479
+ }),
345
480
  renderList(unref(extractSlotsWithPrefix)(_ctx.$slots, "table"), (item) => {
346
481
  return {
347
482
  name: item.filterName,
@@ -350,7 +485,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
350
485
  ])
351
486
  };
352
487
  })
353
- ]), 1040, ["search-data", "data", "selected-row-keys", "column-controller-visible", "display-columns", "expanded-rowKeys", "filter-value", "sort", "expanded-tree-nodes"])
488
+ ]), 1040, ["search-data", "data", "selected-row-keys", "active-row-keys", "column-controller-visible", "display-columns", "expanded-rowKeys", "filter-value", "sort", "expanded-tree-nodes"])
354
489
  ]),
355
490
  _: 3
356
491
  }, 16, ["visible"])
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/service-dialog-table-select/index.vue"],"sourcesContent":["<template>\n <t-select\n :class=\"[\n 'qd-dialog-table-select',\n reProps.selectOptions.readonly ? 'qd-dialog-table-select--readonly' : '',\n reProps.selectOptions.disabled ? 'qd-dialog-table-select--disabled' : ''\n ]\"\n v-model=\"modelValue\"\n :options=\"selectedRows\"\n :popup-visible=\"false\"\n v-bind=\"reProps.selectOptions\"\n @click=\"openDialog\"\n @clear=\"handleClear\"\n >\n <template #suffixIcon>\n <search-icon />\n </template>\n </t-select>\n\n <qd-dialog\n ref=\"dialog\"\n v-model:visible=\"visible\"\n v-bind=\"reProps.dialogOptions\"\n @confirm=\"handleConfirm\"\n @before-open=\"handleBeforeOpen\"\n @closed=\"handleClosed\"\n >\n <qd-crud-table\n class=\"qd-dialog-table-select__table\"\n v-model:search-data=\"searchData\"\n v-model:data=\"data\"\n v-model:selected-row-keys=\"selectedRowKeys\"\n v-model:active-row-keys=\"selectedRowKeys\"\n v-model:column-controller-visible=\"columnControllerVisible\"\n v-model:display-columns=\"displayColumns\"\n v-model:expanded-rowKeys=\"expandedRowKeys\"\n v-model:filter-value=\"filterValue\"\n v-model:sort=\"sort\"\n v-model:expanded-tree-nodes=\"expandedTreeNodes\"\n reserve-selected-row-on-paginate\n active-row-type=\"multiple\"\n v-bind=\"reProps.tableOptions\"\n @select-change=\"handleSelectChange\"\n >\n <template v-if=\"reProps.creatable\" #table-bottom-content>\n <div v-if=\"addCustom.visible\" class=\"qd-dialog-table-select__table-add\">\n <t-input v-model=\"addCustom.value\" clearable />\n <t-space size=\"small\">\n <t-button :disabled=\"addConfirmDisabled\" @click=\"confirmAddCustom\">\n {{ t('addConfirmText') }}\n </t-button>\n <t-button variant=\"outline\" @click=\"cancelAddCustom\">{{ t('addCancelText') }}</t-button>\n </t-space>\n </div>\n\n <t-button\n v-else\n class=\"qd-dialog-table-select__table-add\"\n block\n theme=\"primary\"\n variant=\"dashed\"\n @click=\"addCustom.visible = true\"\n >\n <template #icon><add-icon /></template>\n {{ t('addText') }}\n </t-button>\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'search')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'table')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n </qd-crud-table>\n </qd-dialog>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n \"\n>\n import type { SelectOptions, SelectValue, TableRowData } from 'tdesign-vue-next'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import type {\n QdDialogTableSelectInstanceFunctions,\n QdServiceDialogTableSelectProps\n } from './types'\n import type { QdDialogInstanceFunctions } from '../dialog'\n import type { QdCrudTableProps } from '../crud'\n import { extractSlotsWithPrefix, identifyType, isEmpty } from 'qidian-shared'\n import {\n Select as TSelect,\n Button as TButton,\n Input as TInput,\n Space as TSpace\n } from 'tdesign-vue-next'\n import type { WatchHandle } from 'vue'\n import { AddIcon, SearchIcon } from 'tdesign-icons-vue-next'\n import { qdDialogTableSelectSearchGrid, qdServiceDialogTableSelectProps } from './props'\n import { computed, onMounted, reactive, ref, useTemplateRef, watch } from 'vue'\n import { useVModels } from '@vueuse/core'\n import { QdDialog } from '../dialog'\n import { QdCrudTable } from '../crud'\n import { qdServiceSelectKeys } from '../service-select/props'\n import { useDisabled, useReadonly } from '../../hooks'\n import { get, merge } from 'lodash-es'\n import { useConfig } from '../config-provider/useConfig'\n\n defineOptions({\n name: 'QdServiceDialogTableSelect'\n })\n\n type Props = QdServiceDialogTableSelectProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdServiceDialogTableSelectProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:visible': [Props['visible']]\n\n 'update:searchData': [Props['searchData']]\n 'update:data': [Props['data']]\n 'update:columnControllerVisible': [Props['columnControllerVisible']]\n 'update:displayColumns': [Props['displayColumns']]\n 'update:expandedRowKeys': [Props['expandedRowKeys']]\n 'update:filterValue': [Props['filterValue']]\n 'update:sort': [Props['sort']]\n 'update:expandedTreeNodes': [Props['expandedTreeNodes']]\n }>()\n const {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const { t } = useConfig('dialogTableSelect')\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n const dialogRef = useTemplateRef<QdDialogInstanceFunctions>('dialog')\n\n const selectedRowKeys = ref<(string | number)[]>([])\n const selectedRows = ref<D[]>([])\n let latestSelectedRows: D[] = []\n\n const addCustom = reactive({\n visible: false,\n value: ''\n })\n const addConfirmDisabled = computed(() => isEmpty(addCustom.value))\n\n const reProps = computed(() => {\n const {\n modelValue,\n visible,\n fillOptions,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\n wrapper,\n readonly,\n\n multiple,\n disabled,\n keys,\n valueType,\n clearable,\n creatable,\n placeholder,\n size,\n\n onClear,\n onCreate,\n onChange,\n\n search,\n tableSize,\n ...tableOptions\n } = props\n\n return {\n creatable,\n fillOptions,\n selectOptions: {\n multiple,\n readonly: readonly ?? tdReadonly.value,\n disabled: disabled ?? tdDisabled.value,\n keys,\n valueType,\n clearable,\n placeholder,\n size\n },\n dialogOptions: wrapper,\n tableOptions: {\n ...tableOptions,\n size: tableSize,\n search: {\n ...search,\n grid: merge({}, qdDialogTableSelectSearchGrid, search?.grid)\n },\n selectType: (multiple ? 'multiple' : 'single') as QdCrudTableProps['selectType'],\n rowKey: keys?.value || qdServiceSelectKeys.value\n },\n\n onClear,\n onCreate,\n onChange,\n\n models: {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n }\n }\n })\n\n let fillOptionsWatchStop: WatchHandle | undefined // 处理 fillOptions 合并逻辑\n\n function handleSelectChange(rowKeys: (string | number)[], options: SelectOptions<D>) {\n latestSelectedRows = options.selectedRowData\n }\n\n function handleConfirm() {\n selectedRows.value = latestSelectedRows\n visible.value = false\n\n /**\n * FIXME qd-dialog 一定要配置 destroy-on-close 并且在 modelValue 赋值前要销毁\n * 否则就会报错\n */\n const { selectOptions } = reProps.value\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n const labelKey = selectOptions.keys?.label || qdServiceSelectKeys.label\n if (selectOptions.valueType === 'value') {\n modelValue.value = selectOptions.multiple\n ? latestSelectedRows.map((item) => get(item, valueKey))\n : get(latestSelectedRows[0], valueKey)\n } else {\n const rows = selectedRows.value.map((item) => ({\n [valueKey]: get(item, valueKey),\n [labelKey]: get(item, labelKey)\n }))\n modelValue.value = selectOptions.multiple ? rows : rows[0]\n }\n\n reProps.value.onChange?.(modelValue.value, {\n option: latestSelectedRows[latestSelectedRows.length - 1],\n selectedOptions: latestSelectedRows,\n trigger: 'check'\n })\n }\n\n function openDialog() {\n const { selectOptions } = reProps.value\n if (selectOptions.readonly || selectOptions.disabled) return\n\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n if (identifyType(modelValue.value) === 'array') {\n selectedRowKeys.value = modelValue.value.map((item: (typeof modelValue.value)[number]) => {\n if (identifyType(item) === 'object') {\n return get(item, valueKey)\n }\n\n return item\n })\n } else if (identifyType(modelValue.value) === 'object') {\n selectedRowKeys.value = [get(modelValue.value, valueKey)]\n } else {\n selectedRowKeys.value = isEmpty(modelValue.value) ? [] : [modelValue.value]\n }\n visible.value = true\n }\n\n function handleClear(context: { e: MouseEvent }) {\n selectedRowKeys.value = []\n\n reProps.value.onChange?.(undefined as unknown as SelectValue, {\n e: context.e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'clear'\n })\n reProps.value.onClear?.(context)\n }\n\n function confirmAddCustom(e: MouseEvent) {\n reProps.value.onCreate?.(addCustom.value, (closed: boolean) => {\n visible.value = closed ?? false\n })\n reProps.value.onChange?.(undefined as unknown as SelectValue, {\n e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'clear'\n })\n }\n\n function cancelAddCustom() {\n Object.assign(addCustom, {\n visible: false,\n value: ''\n })\n }\n\n function handleBeforeOpen() {\n fillOptionsWatchStop?.()\n }\n\n function handleClosed() {\n if (addCustom.visible) cancelAddCustom()\n\n if (reProps.value.dialogOptions.destroyOnClose) {\n data.value = []\n searchData.value = {}\n selectedRowKeys.value = []\n }\n }\n\n const expose = {} as QdDialogTableSelectInstanceFunctions\n\n fillOptionsWatchStop = watch(\n () => reProps.value.fillOptions,\n (fillOpts) => {\n if (!fillOpts?.length) return\n\n selectedRows.value = fillOpts as D[]\n },\n { immediate: true, deep: true }\n )\n\n onMounted(() => {\n Object.assign(expose, dialogRef.value)\n })\n</script>\n\n<style lang=\"less\" scoped>\n .qd-dialog-table-select {\n &:not(&--readonly):not(&--disabled) {\n cursor: pointer;\n }\n\n &__table {\n :deep(.qd-crud) {\n &-search > .t-card__body,\n &-table__body > .t-card__body {\n padding: 0 !important;\n }\n\n &-table__toolbar {\n display: none;\n }\n }\n\n :deep(.qd-service-table) {\n margin-top: 0;\n }\n\n &-add {\n margin-top: var(--td-comp-margin-m);\n display: flex;\n\n .t-input__wrap {\n flex: 1 1 0;\n overflow: hidden;\n margin-right: var(--td-comp-margin-m);\n }\n }\n }\n }\n</style>\n"],"names":["modelValue","visible","searchData","data","columnControllerVisible","displayColumns","expandedRowKeys","filterValue","sort","expandedTreeNodes","_createVNode","_unref","_mergeProps","_createSlots","_openBlock","_createElementBlock","TInput","TSpace","TButton","_createBlock","_createTextVNode","$slots","_withCtx","_renderSlot"],"mappings":"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"}
@@ -16,18 +16,20 @@ export declare const qdServiceDialogTableSelectProps: {
16
16
  readonly clearable: false;
17
17
  readonly valueType: "value";
18
18
  readonly wrapper: () => {
19
- width: "min(960px, 100%)";
20
- theme: "default";
21
- attach: "body";
22
- header: true;
23
- footer: true;
24
- closeBtn: true;
25
- closeOnEscKeydown: true;
26
- closeOnOverlayClick: false;
27
- confirmOnEnter: undefined;
28
- placement: "center";
29
- preventScrollThrough: true;
30
- showOverlay: true;
19
+ readonly width: "min(960px, 100%)";
20
+ readonly theme: "default";
21
+ readonly attach: "body";
22
+ readonly header: true;
23
+ readonly footer: true;
24
+ readonly closeBtn: true;
25
+ readonly closeOnEscKeydown: true;
26
+ readonly closeOnOverlayClick: false;
27
+ readonly confirmOnEnter: undefined;
28
+ readonly destroyOnClose: false;
29
+ readonly lazy: true;
30
+ readonly placement: "center";
31
+ readonly preventScrollThrough: true;
32
+ readonly showOverlay: true;
31
33
  };
32
34
  readonly data: () => never[];
33
35
  readonly columnControllerVisible: undefined;
@@ -44,7 +46,6 @@ export declare const qdServiceDialogTableSelectProps: {
44
46
  readonly showHeader: true;
45
47
  readonly maxHeight: "100%";
46
48
  readonly hover: true;
47
- readonly reserveSelectedRowOnPaginate: false;
48
49
  readonly expandOnRowClick: undefined;
49
50
  readonly hideSortTips: undefined;
50
51
  readonly multipleSort: undefined;
@@ -1,7 +1,12 @@
1
- import { qdDialogProps } from "../../dialog/props.mjs";
2
- import { qdServiceTableProps } from "../table/props.mjs";
3
- const { selectedRowKeys, activeRowKeys, rowKey, ...qdServiceTableOtherProps } = qdServiceTableProps;
4
- const { lazy, destroyOnClose, ...qdDialogOtherProps } = qdDialogProps;
1
+ import { qdDialogProps } from "../dialog/props.mjs";
2
+ import { qdServiceTableProps } from "../service/table/props.mjs";
3
+ const {
4
+ selectedRowKeys,
5
+ activeRowKeys,
6
+ rowKey,
7
+ reserveSelectedRowOnPaginate,
8
+ ...qdServiceTableOtherProps
9
+ } = qdServiceTableProps;
5
10
  const qdDialogTableSelectSearchGrid = {
6
11
  col: {
7
12
  xs: 4,
@@ -20,7 +25,7 @@ const qdServiceDialogTableSelectProps = {
20
25
  disabled: void 0,
21
26
  clearable: false,
22
27
  valueType: "value",
23
- wrapper: () => qdDialogOtherProps
28
+ wrapper: () => qdDialogProps
24
29
  };
25
30
  export {
26
31
  qdDialogTableSelectSearchGrid,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.mjs","sources":["../../../src/components/service-dialog-table-select/props.ts"],"sourcesContent":["import { qdDialogProps } from '../dialog/props'\nimport { qdServiceTableProps } from '../service/table/props'\n\nconst {\n selectedRowKeys,\n activeRowKeys,\n rowKey,\n reserveSelectedRowOnPaginate,\n ...qdServiceTableOtherProps\n} = qdServiceTableProps\n\nexport const qdDialogTableSelectSearchGrid = {\n col: {\n xs: 4,\n sm: 4,\n md: 3,\n lg: 3,\n xl: 3,\n xxl: 2\n }\n}\n\nexport const qdServiceDialogTableSelectProps = {\n ...qdServiceTableOtherProps,\n\n searchData: () => ({}),\n\n multiple: false,\n readonly: undefined,\n disabled: undefined,\n clearable: false,\n valueType: 'value',\n\n wrapper: () => qdDialogProps\n} as const\n"],"names":[],"mappings":";;AAGA,MAAM;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,IAAI;AAEG,MAAM,gCAAgC;AAAA,EAC3C,KAAK;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,KAAK;AAAA,EAAA;AAET;AAEO,MAAM,kCAAkC;AAAA,EAC7C,GAAG;AAAA,EAEH,YAAY,OAAO,CAAA;AAAA,EAEnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EAEX,SAAS,MAAM;AACjB;"}
@@ -0,0 +1,13 @@
1
+ import type { ServicePageParams, ServicePagination } from 'qidian-shared';
2
+ import type { TableRowData } from 'tdesign-vue-next';
3
+ import type { QdCrudTableProps } from '../crud';
4
+ import type { QdDialogInstanceFunctions, QdDialogProps } from '../dialog';
5
+ import type { QdServiceSelectProps } from '../service-select';
6
+ import type { QdDialogDone } from '../dialog/types';
7
+ export interface QdServiceDialogTableSelectProps<D extends TableRowData = TableRowData, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination> extends Omit<QdCrudTableProps<D, R, P, TP, Pag>, 'add' | 'actions' | 'edit' | 'view' | 'del' | 'rowActions' | 'form' | 'selectedRowKeys' | 'activeRowKeys' | 'activeRowType' | 'rowKey' | 'selectType' | 'size' | 'reserveSelectedRowOnPaginate' | 'onAsyncLoadingClick' | 'onCellClick' | 'onChange' | 'onColumnChange' | 'onColumnControllerVisibleChange' | 'onDataChange' | 'onDisplayColumnsChange' | 'onDragSort' | 'onExpandChange' | 'onFilterChange' | 'onRowEdit' | 'onRowValidate' | 'onSelectChange' | 'onSortChange' | 'onValidate'>, Pick<QdServiceSelectProps<D, R, P, TP, Pag>, 'modelValue' | 'multiple' | 'readonly' | 'disabled' | 'placeholder' | 'clearable' | 'creatable' | 'keys' | 'size' | 'valueType' | 'fillOptions' | 'onClear' | 'onChange'> {
8
+ onCreate?: (value: string | number | boolean, done: QdDialogDone) => void;
9
+ tableSize?: QdCrudTableProps['size'];
10
+ visible?: boolean;
11
+ wrapper?: Omit<QdDialogProps, 'visible' | 'onBeforeClose' | 'onBeforeOpen' | 'onCancel' | 'onClose' | 'onCloseBtnClick' | 'onClosed' | 'onConfirm' | 'onEscKeydown' | 'onOpened' | 'onOverlayClick'>;
12
+ }
13
+ export type QdDialogTableSelectInstanceFunctions = QdDialogInstanceFunctions;
@@ -0,0 +1,2 @@
1
+ export { default as QdServicePopupTableSelect } from './index.vue';
2
+ export type { QdServicePopupTableSelectProps } from './types';
@@ -0,0 +1,31 @@
1
+ import type { SelectValue, TableRowData } from 'tdesign-vue-next';
2
+ import type { QdServicePopupTableSelectProps } from './types';
3
+ import type { ServicePageParams, ServicePagination } from 'qidian-shared';
4
+ declare const _default: <D extends TableRowData = TableRowData, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
6
+ readonly "onUpdate:modelValue"?: ((args_0: SelectValue<import("tdesign-vue-next").SelectOption> | undefined) => any) | undefined;
7
+ readonly "onUpdate:popupVisible"?: ((args_0: boolean | undefined) => any) | undefined;
8
+ readonly "onUpdate:data"?: ((args_0: D[] | undefined) => any) | undefined;
9
+ readonly "onUpdate:columnControllerVisible"?: ((args_0: boolean | undefined) => any) | undefined;
10
+ readonly "onUpdate:displayColumns"?: ((args_0: import("tdesign-vue-next").CheckboxGroupValue | undefined) => any) | undefined;
11
+ readonly "onUpdate:expandedRowKeys"?: ((args_0: (string | number)[] | undefined) => any) | undefined;
12
+ readonly "onUpdate:filterValue"?: ((args_0: import("tdesign-vue-next").FilterValue | undefined) => any) | undefined;
13
+ readonly "onUpdate:sort"?: ((args_0: import("tdesign-vue-next").TableSort | undefined) => any) | undefined;
14
+ readonly "onUpdate:expandedTreeNodes"?: ((args_0: (string | number)[] | undefined) => any) | undefined;
15
+ readonly "onUpdate:searchData"?: ((args_0: import("tdesign-vue-next").Data | undefined) => any) | undefined;
16
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue" | "onUpdate:popupVisible" | "onUpdate:data" | "onUpdate:columnControllerVisible" | "onUpdate:displayColumns" | "onUpdate:expandedRowKeys" | "onUpdate:filterValue" | "onUpdate:sort" | "onUpdate:expandedTreeNodes" | "onUpdate:searchData"> & QdServicePopupTableSelectProps<D, R, P, TP, Pag> & Partial<{}>> & import("vue").PublicProps;
17
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
18
+ attrs: any;
19
+ slots: {
20
+ [x: string]: ((props: any) => any) | undefined;
21
+ } & {
22
+ [x: string]: ((props: any) => any) | undefined;
23
+ };
24
+ emit: ((evt: "update:modelValue", args_0: SelectValue<import("tdesign-vue-next").SelectOption> | undefined) => void) & ((evt: "update:popupVisible", args_0: boolean | undefined) => void) & ((evt: "update:data", args_0: D[] | undefined) => void) & ((evt: "update:columnControllerVisible", args_0: boolean | undefined) => void) & ((evt: "update:displayColumns", args_0: import("tdesign-vue-next").CheckboxGroupValue | undefined) => void) & ((evt: "update:expandedRowKeys", args_0: (string | number)[] | undefined) => void) & ((evt: "update:filterValue", args_0: import("tdesign-vue-next").FilterValue | undefined) => void) & ((evt: "update:sort", args_0: import("tdesign-vue-next").TableSort | undefined) => void) & ((evt: "update:expandedTreeNodes", args_0: (string | number)[] | undefined) => void) & ((evt: "update:searchData", args_0: import("tdesign-vue-next").Data | undefined) => void);
25
+ }>) => import("vue").VNode & {
26
+ __ctx?: Awaited<typeof __VLS_setup>;
27
+ };
28
+ export default _default;
29
+ type __VLS_PrettifyLocal<T> = {
30
+ [K in keyof T]: T[K];
31
+ } & {};
@@ -0,0 +1,9 @@
1
+ import _sfc_main from "./index.vue2.mjs";
2
+ /* empty css */
3
+ /* empty css */
4
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
5
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7ed39ac1"]]);
6
+ export {
7
+ index as default
8
+ };
9
+ //# sourceMappingURL=index.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}