qidian-vue-ui 1.1.37 → 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 +195 -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 +15 -13
  27. package/dist/components/{service/dialog-table-select → service-dialog-table-select}/props.mjs +11 -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 +2 -2
  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,14 +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 },
161
+ placeholder: {},
162
+ clearable: { type: Boolean },
163
+ creatable: { type: Boolean },
159
164
  keys: {},
160
165
  size: {},
161
166
  valueType: {},
167
+ fillOptions: {},
162
168
  onClear: { type: Function },
163
169
  onChange: { type: Function }
164
170
  }, qdServiceDialogTableSelectProps),
@@ -180,16 +186,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
180
186
  } = useVModels(props, emit, {
181
187
  passive: true
182
188
  });
189
+ const { t } = useConfig("dialogTableSelect");
183
190
  const tdReadonly = useReadonly();
184
191
  const tdDisabled = useDisabled();
185
192
  const dialogRef = useTemplateRef("dialog");
186
193
  const selectedRowKeys = ref([]);
187
194
  const selectedRows = ref([]);
188
195
  let latestSelectedRows = [];
196
+ const addCustom = reactive({
197
+ visible: false,
198
+ value: ""
199
+ });
200
+ const addConfirmDisabled = computed(() => isEmpty(addCustom.value));
189
201
  const reProps = computed(() => {
190
202
  const {
191
203
  modelValue: modelValue2,
192
204
  visible: visible2,
205
+ fillOptions,
193
206
  searchData: searchData2,
194
207
  data: data2,
195
208
  columnControllerVisible: columnControllerVisible2,
@@ -204,20 +217,28 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
204
217
  disabled,
205
218
  keys,
206
219
  valueType,
220
+ clearable,
221
+ creatable,
222
+ placeholder,
207
223
  size,
208
224
  onClear,
225
+ onCreate,
209
226
  onChange,
210
227
  search,
211
228
  tableSize,
212
229
  ...tableOptions
213
230
  } = props;
214
231
  return {
215
- readonly: readonly ?? tdReadonly.value,
232
+ creatable,
233
+ fillOptions,
216
234
  selectOptions: {
217
235
  multiple,
236
+ readonly: readonly ?? tdReadonly.value,
218
237
  disabled: disabled ?? tdDisabled.value,
219
238
  keys,
220
239
  valueType,
240
+ clearable,
241
+ placeholder,
221
242
  size
222
243
  },
223
244
  dialogOptions: wrapper,
@@ -232,6 +253,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
232
253
  rowKey: keys?.value || qdServiceSelectKeys.value
233
254
  },
234
255
  onClear,
256
+ onCreate,
235
257
  onChange,
236
258
  models: {
237
259
  modelValue: modelValue2,
@@ -243,26 +265,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
243
265
  expandedRowKeys: expandedRowKeys2,
244
266
  filterValue: filterValue2,
245
267
  sort: sort2,
246
- expandedTreeNodes: expandedTreeNodes2,
247
- wrapper
268
+ expandedTreeNodes: expandedTreeNodes2
248
269
  }
249
270
  };
250
271
  });
272
+ let fillOptionsWatchStop;
251
273
  function handleSelectChange(rowKeys, options) {
252
274
  latestSelectedRows = options.selectedRowData;
253
275
  }
254
276
  function handleConfirm() {
255
277
  selectedRows.value = latestSelectedRows;
256
- dialogRef.value?.hide();
278
+ visible.value = false;
257
279
  const { selectOptions } = reProps.value;
258
280
  const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value;
259
281
  const labelKey = selectOptions.keys?.label || qdServiceSelectKeys.label;
260
282
  if (selectOptions.valueType === "value") {
261
- 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);
262
284
  } else {
263
285
  const rows = selectedRows.value.map((item) => ({
264
- [valueKey]: item[valueKey],
265
- [labelKey]: item[labelKey]
286
+ [valueKey]: get(item, valueKey),
287
+ [labelKey]: get(item, labelKey)
266
288
  }));
267
289
  modelValue.value = selectOptions.multiple ? rows : rows[0];
268
290
  }
@@ -273,10 +295,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
273
295
  });
274
296
  }
275
297
  function openDialog() {
276
- if (reProps.value.readonly || reProps.value.selectOptions.disabled) return;
277
- 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;
278
314
  }
279
315
  function handleClear(context) {
316
+ selectedRowKeys.value = [];
280
317
  reProps.value.onChange?.(void 0, {
281
318
  e: context.e,
282
319
  option: null,
@@ -285,18 +322,58 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
285
322
  });
286
323
  reProps.value.onClear?.(context);
287
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
+ }
288
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
+ );
289
362
  onMounted(() => {
290
363
  Object.assign(expose, dialogRef.value);
291
364
  });
292
365
  return (_ctx, _cache) => {
293
366
  return openBlock(), createElementBlock(Fragment, null, [
294
367
  createVNode(unref(Select), mergeProps({
295
- 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
+ ],
296
373
  modelValue: unref(modelValue),
297
374
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modelValue) ? modelValue.value = $event : null),
298
375
  options: selectedRows.value,
299
- readonly: ""
376
+ "popup-visible": false
300
377
  }, reProps.value.selectOptions, {
301
378
  onClick: openDialog,
302
379
  onClear: handleClear
@@ -309,33 +386,97 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
309
386
  createVNode(unref(_sfc_main$1), mergeProps({
310
387
  ref: "dialog",
311
388
  visible: unref(visible),
312
- "onUpdate:visible": _cache[10] || (_cache[10] = ($event) => isRef(visible) ? visible.value = $event : null),
313
- lazy: "",
314
- "destroy-on-close": ""
315
- }, 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
+ }), {
316
395
  default: withCtx(() => [
317
396
  createVNode(unref(QdCrudTable), mergeProps({
318
- ref: "tableRef",
319
397
  class: "qd-dialog-table-select__table",
320
398
  "search-data": unref(searchData),
321
- "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),
322
400
  data: unref(data),
323
- "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),
324
402
  "selected-row-keys": selectedRowKeys.value,
325
- "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),
326
406
  "column-controller-visible": unref(columnControllerVisible),
327
- "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),
328
408
  "display-columns": unref(displayColumns),
329
- "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),
330
410
  "expanded-rowKeys": unref(expandedRowKeys),
331
- "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),
332
412
  "filter-value": unref(filterValue),
333
- "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),
334
414
  sort: unref(sort),
335
- "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),
336
416
  "expanded-tree-nodes": unref(expandedTreeNodes),
337
- "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"
338
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
+ }),
339
480
  renderList(unref(extractSlotsWithPrefix)(_ctx.$slots, "table"), (item) => {
340
481
  return {
341
482
  name: item.filterName,
@@ -344,7 +485,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
344
485
  ])
345
486
  };
346
487
  })
347
- ]), 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"])
348
489
  ]),
349
490
  _: 3
350
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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"}
@@ -13,20 +13,23 @@ export declare const qdServiceDialogTableSelectProps: {
13
13
  readonly multiple: false;
14
14
  readonly readonly: undefined;
15
15
  readonly disabled: undefined;
16
+ readonly clearable: false;
16
17
  readonly valueType: "value";
17
18
  readonly wrapper: () => {
18
- width: "min(960px, 100%)";
19
- theme: "default";
20
- attach: "body";
21
- header: true;
22
- footer: true;
23
- closeBtn: true;
24
- closeOnEscKeydown: true;
25
- closeOnOverlayClick: false;
26
- confirmOnEnter: undefined;
27
- placement: "center";
28
- preventScrollThrough: true;
29
- 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;
30
33
  };
31
34
  readonly data: () => never[];
32
35
  readonly columnControllerVisible: undefined;
@@ -43,7 +46,6 @@ export declare const qdServiceDialogTableSelectProps: {
43
46
  readonly showHeader: true;
44
47
  readonly maxHeight: "100%";
45
48
  readonly hover: true;
46
- readonly reserveSelectedRowOnPaginate: false;
47
49
  readonly expandOnRowClick: undefined;
48
50
  readonly hideSortTips: undefined;
49
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,
@@ -18,8 +23,9 @@ const qdServiceDialogTableSelectProps = {
18
23
  multiple: false,
19
24
  readonly: void 0,
20
25
  disabled: void 0,
26
+ clearable: false,
21
27
  valueType: "value",
22
- wrapper: () => qdDialogOtherProps
28
+ wrapper: () => qdDialogProps
23
29
  };
24
30
  export {
25
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":";;;;;"}