qidian-vue-ui 1.2.74 → 1.2.76

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.
@@ -1,27 +1,27 @@
1
- .qd-dialog-table-select[data-v-04f2c56b] {
1
+ .qd-dialog-table-select[data-v-c99cf844] {
2
2
  width: 100%;
3
3
  }
4
- .qd-dialog-table-select__trigger[data-v-04f2c56b] {
4
+ .qd-dialog-table-select__trigger[data-v-c99cf844] {
5
5
  width: 100%;
6
6
  }
7
- .qd-dialog-table-select__trigger[data-v-04f2c56b]:not(.qd-dialog-table-select__trigger--readonly):not(.qd-dialog-table-select__trigger--disabled) {
7
+ .qd-dialog-table-select__trigger[data-v-c99cf844]:not(.qd-dialog-table-select__trigger--readonly):not(.qd-dialog-table-select__trigger--disabled) {
8
8
  cursor: pointer;
9
9
  }
10
- .qd-dialog-table-select__table[data-v-04f2c56b] .qd-crud-search > .t-card__body,
11
- .qd-dialog-table-select__table[data-v-04f2c56b] .qd-crud-table__body > .t-card__body {
10
+ .qd-dialog-table-select__table[data-v-c99cf844] .qd-crud-search > .t-card__body,
11
+ .qd-dialog-table-select__table[data-v-c99cf844] .qd-crud-table__body > .t-card__body {
12
12
  padding: 0 !important;
13
13
  }
14
- .qd-dialog-table-select__table[data-v-04f2c56b] .qd-crud-table__toolbar {
14
+ .qd-dialog-table-select__table[data-v-c99cf844] .qd-crud-table__toolbar {
15
15
  display: none;
16
16
  }
17
- .qd-dialog-table-select__table[data-v-04f2c56b] .qd-service-table {
17
+ .qd-dialog-table-select__table[data-v-c99cf844] .qd-service-table {
18
18
  margin-top: 0;
19
19
  }
20
- .qd-dialog-table-select__table-add[data-v-04f2c56b] {
20
+ .qd-dialog-table-select__table-add[data-v-c99cf844] {
21
21
  margin-top: var(--td-comp-margin-m);
22
22
  display: flex;
23
23
  }
24
- .qd-dialog-table-select__table-add .t-input__wrap[data-v-04f2c56b] {
24
+ .qd-dialog-table-select__table-add .t-input__wrap[data-v-c99cf844] {
25
25
  flex: 1 1 0;
26
26
  overflow: hidden;
27
27
  margin-right: var(--td-comp-margin-m);
@@ -2,7 +2,7 @@ import './index.css'
2
2
  import _sfc_main from "./index.vue2.mjs";
3
3
  /* empty css */
4
4
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
5
- const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-04f2c56b"]]);
5
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c99cf844"]]);
6
6
  export {
7
7
  index as default
8
8
  };
@@ -1,9 +1,9 @@
1
1
  import './index.css'
2
- import { defineComponent, mergeDefaults, useTemplateRef, ref, reactive, computed, createVNode, watch, createElementBlock, openBlock, Fragment, createElementVNode, mergeProps, renderSlot, unref, isRef, withCtx, createSlots, renderList, normalizeProps, guardReactiveProps } from "vue";
2
+ import { defineComponent, mergeDefaults, useTemplateRef, ref, reactive, computed, createVNode, watch, createElementBlock, openBlock, Fragment, createElementVNode, mergeProps, renderSlot, unref, withCtx, renderList, createBlock, createTextVNode, toDisplayString, isRef, createSlots, normalizeProps, guardReactiveProps } from "vue";
3
3
  import { useVModels } from "../../node_modules/.pnpm/@vueuse_core@14.2.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.mjs";
4
- import { isEmpty, useDoubleClick, suspectedWrapperPromise, identifyType, createExposeProxy, extractSlotsWithPrefix, hasOwn } from "qidian-shared";
4
+ import { isEmpty, identifyType, useDoubleClick, suspectedWrapperPromise, createExposeProxy, extractSlotsWithPrefix, hasOwn } from "qidian-shared";
5
5
  import { AddIcon, SearchIcon } from "tdesign-icons-vue-next";
6
- import { Select, Input, Space, Button } from "tdesign-vue-next";
6
+ import { Select, Option, Input, Space, Button } from "tdesign-vue-next";
7
7
  import { useConfig } from "../config-provider/useConfig.mjs";
8
8
  import { qdServiceSelectKeys } from "../service-select/props.mjs";
9
9
  import { qdServiceDialogProps, qdDialogTableSelectSearchGrid, qdServiceDialogTableSelectProps } from "./props.mjs";
@@ -435,17 +435,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
435
435
  onClosed?.();
436
436
  handleClosed();
437
437
  };
438
+ const reKeys = {
439
+ ...qdServiceSelectKeys,
440
+ ...keys
441
+ };
438
442
  return {
439
443
  creatable,
440
444
  fillOptions,
445
+ keys: reKeys,
441
446
  selectOptions: {
442
447
  multiple,
443
448
  readonly: tdReadonly.value,
444
449
  disabled: tdDisabled.value,
445
- keys: keys ? {
446
- ...keys,
447
- children: tableOptions.tree?.childrenKey
448
- } : void 0,
449
450
  valueType,
450
451
  clearable,
451
452
  placeholder,
@@ -460,7 +461,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
460
461
  grid: merge({}, qdDialogTableSelectSearchGrid, search?.grid)
461
462
  },
462
463
  selectType: multiple ? "multiple" : "single",
463
- rowKey: keys?.value || qdServiceSelectKeys.value
464
+ rowKey: reKeys.value
464
465
  },
465
466
  onClear,
466
467
  onCreate,
@@ -483,6 +484,29 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
483
484
  }
484
485
  };
485
486
  });
487
+ const selectValue = computed(() => {
488
+ const {
489
+ selectOptions,
490
+ keys
491
+ } = reProps.value;
492
+ if (isEmpty(modelValue.value)) return void 0;
493
+ if (identifyType(modelValue.value) === "array") {
494
+ if (selectOptions.valueType === "object") {
495
+ return modelValue.value.map((item) => ({
496
+ value: get(item, keys.value),
497
+ label: get(item, keys.label)
498
+ }));
499
+ }
500
+ return modelValue.value;
501
+ }
502
+ if (selectOptions.valueType === "object") {
503
+ return {
504
+ value: get(modelValue.value, keys.value),
505
+ label: get(modelValue.value, keys.label)
506
+ };
507
+ }
508
+ return modelValue.value;
509
+ });
486
510
  function cleanEmptyChildren(rows, childrenKey) {
487
511
  if (!childrenKey) return rows;
488
512
  return rows.map((row) => {
@@ -511,10 +535,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
511
535
  async function handleConfirm(done) {
512
536
  selectedRows.value = latestSelectedRows;
513
537
  const {
514
- selectOptions
538
+ selectOptions,
539
+ keys
515
540
  } = reProps.value;
516
- const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value;
517
- const labelKey = selectOptions.keys?.label || qdServiceSelectKeys.label;
541
+ const valueKey = keys.value;
542
+ const labelKey = keys.label;
518
543
  if (selectOptions.valueType === "value") {
519
544
  modelValue.value = selectOptions.multiple ? latestSelectedRows.map((item) => get(item, valueKey)) : get(latestSelectedRows[0], valueKey);
520
545
  } else {
@@ -556,6 +581,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
556
581
  }
557
582
  function handleClear(context) {
558
583
  selectedRowKeys.value = [];
584
+ selectedRows.value = [];
585
+ modelValue.value = void 0;
559
586
  reProps.value.onChange?.(void 0, {
560
587
  e: context.e,
561
588
  option: null,
@@ -584,9 +611,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
584
611
  function handleBeforeOpen() {
585
612
  fillOptionsWatchStop?.();
586
613
  const {
587
- selectOptions
614
+ keys
588
615
  } = reProps.value;
589
- const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value;
616
+ const valueKey = keys.value;
590
617
  if (identifyType(modelValue.value) === "array") {
591
618
  selectedRowKeys.value = modelValue.value.map((item) => {
592
619
  if (identifyType(item) === "object") {
@@ -625,19 +652,28 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
625
652
  selectedRows: selectedRows.value
626
653
  }, () => [createVNode(unref(Select), mergeProps({
627
654
  class: ["qd-dialog-table-select__trigger", reProps.value.selectOptions.readonly ? "qd-dialog-table-select__trigger--readonly" : "", reProps.value.selectOptions.disabled ? "qd-dialog-table-select__trigger--disabled" : ""],
628
- modelValue: unref(modelValue),
629
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modelValue) ? modelValue.value = $event : null),
655
+ "model-value": selectValue.value,
630
656
  options: selectedRows.value,
631
657
  "popup-visible": false
632
658
  }, reProps.value.selectOptions, {
633
659
  onClear: handleClear
634
660
  }), {
635
661
  suffixIcon: withCtx(() => [createVNode(unref(SearchIcon))]),
662
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(selectedRows.value, (item) => {
663
+ return openBlock(), createBlock(unref(Option), {
664
+ key: item[reProps.value.keys.value],
665
+ value: item[reProps.value.keys.value],
666
+ label: item[reProps.value.keys.label]
667
+ }, {
668
+ default: withCtx(() => [createTextVNode(toDisplayString(item[reProps.value.keys.label]), 1)]),
669
+ _: 2
670
+ }, 1032, ["value", "label"]);
671
+ }), 128))]),
636
672
  _: 1
637
- }, 16, ["class", "modelValue", "options"])], true)], 16), createVNode(unref(_sfc_main$1), mergeProps({
673
+ }, 16, ["class", "model-value", "options"])], true)], 16), createVNode(unref(_sfc_main$1), mergeProps({
638
674
  ref: "dialog",
639
675
  visible: unref(visible),
640
- "onUpdate:visible": _cache[11] || (_cache[11] = ($event) => isRef(visible) ? visible.value = $event : null),
676
+ "onUpdate:visible": _cache[10] || (_cache[10] = ($event) => isRef(visible) ? visible.value = $event : null),
641
677
  "confirm-loading": confirmLoad.value
642
678
  }, reProps.value.dialogOptions, {
643
679
  onConfirm: handleConfirm
@@ -646,23 +682,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
646
682
  ref: "table",
647
683
  class: "qd-dialog-table-select__table",
648
684
  "search-data": unref(searchData),
649
- "onUpdate:searchData": _cache[2] || (_cache[2] = ($event) => isRef(searchData) ? searchData.value = $event : null),
685
+ "onUpdate:searchData": _cache[1] || (_cache[1] = ($event) => isRef(searchData) ? searchData.value = $event : null),
650
686
  data: unref(data),
651
- "onUpdate:data": _cache[3] || (_cache[3] = ($event) => isRef(data) ? data.value = $event : null),
687
+ "onUpdate:data": _cache[2] || (_cache[2] = ($event) => isRef(data) ? data.value = $event : null),
652
688
  "selected-row-keys": selectedRowKeys.value,
653
- "onUpdate:selectedRowKeys": _cache[4] || (_cache[4] = ($event) => selectedRowKeys.value = $event),
689
+ "onUpdate:selectedRowKeys": _cache[3] || (_cache[3] = ($event) => selectedRowKeys.value = $event),
654
690
  "active-row-keys": selectedRowKeys.value,
655
- "onUpdate:activeRowKeys": _cache[5] || (_cache[5] = ($event) => selectedRowKeys.value = $event),
691
+ "onUpdate:activeRowKeys": _cache[4] || (_cache[4] = ($event) => selectedRowKeys.value = $event),
656
692
  "column-controller-visible": unref(columnControllerVisible),
657
- "onUpdate:columnControllerVisible": _cache[6] || (_cache[6] = ($event) => isRef(columnControllerVisible) ? columnControllerVisible.value = $event : null),
693
+ "onUpdate:columnControllerVisible": _cache[5] || (_cache[5] = ($event) => isRef(columnControllerVisible) ? columnControllerVisible.value = $event : null),
658
694
  "expanded-rowKeys": unref(expandedRowKeys),
659
- "onUpdate:expandedRowKeys": _cache[7] || (_cache[7] = ($event) => isRef(expandedRowKeys) ? expandedRowKeys.value = $event : null),
695
+ "onUpdate:expandedRowKeys": _cache[6] || (_cache[6] = ($event) => isRef(expandedRowKeys) ? expandedRowKeys.value = $event : null),
660
696
  "filter-value": unref(filterValue),
661
- "onUpdate:filterValue": _cache[8] || (_cache[8] = ($event) => isRef(filterValue) ? filterValue.value = $event : null),
697
+ "onUpdate:filterValue": _cache[7] || (_cache[7] = ($event) => isRef(filterValue) ? filterValue.value = $event : null),
662
698
  sort: unref(sort),
663
- "onUpdate:sort": _cache[9] || (_cache[9] = ($event) => isRef(sort) ? sort.value = $event : null),
699
+ "onUpdate:sort": _cache[8] || (_cache[8] = ($event) => isRef(sort) ? sort.value = $event : null),
664
700
  "expanded-tree-nodes": unref(expandedTreeNodes),
665
- "onUpdate:expandedTreeNodes": _cache[10] || (_cache[10] = ($event) => isRef(expandedTreeNodes) ? expandedTreeNodes.value = $event : null),
701
+ "onUpdate:expandedTreeNodes": _cache[9] || (_cache[9] = ($event) => isRef(expandedTreeNodes) ? expandedTreeNodes.value = $event : null),
666
702
  "reserve-selected-row-on-paginate": "",
667
703
  "active-row-type": "multiple"
668
704
  }, reProps.value.tableOptions, {
@@ -675,7 +711,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
675
711
  addCustom
676
712
  }, () => [createVNode(unref(Input), mergeProps({
677
713
  modelValue: addCustom.value,
678
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => addCustom.value = $event),
714
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => addCustom.value = $event),
679
715
  autofocus: ""
680
716
  }, reProps.value.addInputOptions), null, 16, ["modelValue"])], true), createVNode(unref(Space), {
681
717
  size: "small"
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/service-dialog-table-select/index.vue"],"sourcesContent":["<template>\n <div class=\"qd-dialog-table-select\" v-bind=\"$attrs\" @click=\"openDialog\">\n <slot :selected-rows=\"selectedRows\">\n <t-select\n :class=\"[\n 'qd-dialog-table-select__trigger',\n reProps.selectOptions.readonly ? 'qd-dialog-table-select__trigger--readonly' : '',\n reProps.selectOptions.disabled ? 'qd-dialog-table-select__trigger--disabled' : ''\n ]\"\n v-model=\"modelValue\"\n :options=\"selectedRows\"\n :popup-visible=\"false\"\n v-bind=\"reProps.selectOptions\"\n @clear=\"handleClear\"\n >\n <template #suffixIcon>\n <search-icon />\n </template>\n </t-select>\n </slot>\n </div>\n\n <qd-dialog\n ref=\"dialog\"\n v-model:visible=\"visible\"\n :confirm-loading=\"confirmLoad\"\n v-bind=\"reProps.dialogOptions\"\n @confirm=\"handleConfirm\"\n >\n <qd-crud-table\n ref=\"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: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 <slot name=\"add-input\" :add-custom=\"addCustom\">\n <t-input v-model=\"addCustom.value\" autofocus v-bind=\"reProps.addInputOptions\" />\n </slot>\n\n <t-space size=\"small\">\n <slot name=\"add-confirm-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addConfirmBtnOptions\" />\n </slot>\n\n <slot name=\"add-cancel-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addCancelBtnOptions\" />\n </slot>\n </t-space>\n </div>\n\n <slot v-else name=\"add-btn\" :add-custom=\"addCustom\">\n <t-button class=\"qd-dialog-table-select__table-add\" v-bind=\"reProps.addBtnOptions\" />\n </slot>\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=\"tsx\"\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 { useVModels } from '@vueuse/core'\n import { get, merge } from 'lodash-es'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import {\n createExposeProxy,\n extractSlotsWithPrefix,\n hasOwn,\n identifyType,\n isEmpty,\n suspectedWrapperPromise,\n useDoubleClick\n } from 'qidian-shared'\n import { AddIcon, SearchIcon } from 'tdesign-icons-vue-next'\n import type {\n SelectOptions,\n SelectValue,\n TableRowData,\n TdButtonProps,\n TdInputProps\n } from 'tdesign-vue-next'\n import {\n Button as TButton,\n Input as TInput,\n Select as TSelect,\n Space as TSpace\n } from 'tdesign-vue-next'\n import { computed, reactive, ref, useTemplateRef, watch } from 'vue'\n\n import { useDisabled, useReadonly } from '../../hooks'\n import { useConfig } from '../config-provider/useConfig'\n import type { QdCrudTableInstanceFunctions, QdCrudTableProps } from '../crud'\n import { QdCrudTable } from '../crud'\n import type { QdDialogDone, QdDialogInstanceFunctions } from '../dialog'\n import { QdDialog } from '../dialog'\n import { qdServiceSelectKeys } from '../service-select/props'\n import {\n qdDialogTableSelectSearchGrid,\n qdServiceDialogProps,\n qdServiceDialogTableSelectProps\n } from './props'\n import type {\n QdServiceDialogTableSelectInstanceFunctions,\n QdServiceDialogTableSelectProps\n } from './types'\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: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 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 const tableRef = useTemplateRef<QdCrudTableInstanceFunctions>('table')\n\n const confirmLoad = ref(false)\n const selectedRowKeys = ref<(string | number)[]>([])\n const selectedRows = ref<D[]>([])\n let latestSelectedRows: D[] = []\n let lastRowKey: string | number | undefined\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 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 onConfirm,\n\n search,\n tableSize,\n\n addBtn,\n addConfirmBtn,\n addCancelBtn,\n addInput,\n\n onCancel,\n\n ...tableOptions\n } = props\n\n const addBtnOptions: TdButtonProps = merge(\n {},\n {\n block: true,\n theme: 'primary',\n variant: 'dashed',\n icon: () => <AddIcon />,\n content: t('addText'),\n onClick: () => {\n addCustom.visible = true\n }\n },\n typeof addBtn === 'string' ? { content: addBtn } : addBtn\n )\n\n const addConfirmBtnOptions: TdButtonProps = merge(\n {},\n {\n content: t('addConfirmText'),\n onClick: confirmAddCustom\n },\n typeof addConfirmBtn === 'string'\n ? { content: addConfirmBtn, disabled: addConfirmDisabled.value }\n : { ...addConfirmBtn, disabled: addConfirmDisabled.value || addConfirmBtn?.disabled }\n )\n\n const addCancelBtnOptions: TdButtonProps = merge(\n {},\n {\n variant: 'outline',\n content: t('addCancelText'),\n onClick: cancelAddCustom\n },\n typeof addCancelBtn === 'string' ? { content: addCancelBtn } : addCancelBtn\n )\n\n const addInputOptions: TdInputProps = merge(\n {},\n { clearable: true },\n typeof addInput === 'string' ? { placeholder: addInput } : addInput\n )\n\n const dialogOptions = merge(\n {},\n { ...qdServiceDialogProps, header: placeholder, onCancel },\n wrapper\n )\n const onBeforeOpen = dialogOptions.onBeforeOpen\n dialogOptions.onBeforeOpen = () => {\n onBeforeOpen?.()\n handleBeforeOpen()\n }\n const onClosed = dialogOptions.onClosed\n dialogOptions.onClosed = () => {\n onClosed?.()\n handleClosed()\n }\n\n return {\n creatable,\n fillOptions,\n selectOptions: {\n multiple,\n readonly: tdReadonly.value,\n disabled: tdDisabled.value,\n keys: keys ? { ...keys, children: tableOptions.tree?.childrenKey } : undefined,\n valueType,\n clearable,\n placeholder,\n size\n },\n dialogOptions,\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 onConfirm,\n\n addBtnOptions,\n addConfirmBtnOptions,\n addCancelBtnOptions,\n addInputOptions,\n\n models: {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n }\n }\n })\n\n function cleanEmptyChildren(rows: D[], childrenKey: string | undefined): D[] {\n if (!childrenKey) return rows\n\n return rows.map((row) => {\n if (!hasOwn(row, childrenKey)) return row\n\n const { [childrenKey]: _, ...rest } = row\n return rest as D\n })\n }\n\n const handleSelectChange = useDoubleClick<[(string | number)[], SelectOptions<D>]>({\n shouldReset: (rowKeys, options) => {\n const change = lastRowKey !== options.currentRowKey\n lastRowKey = options.currentRowKey\n return change\n },\n onSingleClick: (rowKeys, options) => {\n latestSelectedRows = cleanEmptyChildren(\n options.selectedRowData,\n reProps.value.tableOptions.tree?.childrenKey\n )\n },\n onDoubleClick: (rowKeys, options) => {\n latestSelectedRows = cleanEmptyChildren(\n options.selectedRowData,\n reProps.value.tableOptions.tree?.childrenKey\n )\n handleConfirm()\n }\n })\n\n async function handleConfirm(done?: QdDialogDone) {\n selectedRows.value = latestSelectedRows\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 = latestSelectedRows.map((item) => ({\n [valueKey]: get(item, valueKey),\n [labelKey]: get(item, labelKey)\n }))\n modelValue.value = selectOptions.multiple ? rows : rows[0]\n }\n\n const eventParams = [\n modelValue.value,\n {\n option: latestSelectedRows[latestSelectedRows.length - 1],\n selectedOptions: latestSelectedRows,\n trigger: 'check'\n }\n ] as const\n reProps.value.onChange?.(...eventParams)\n\n const onConfirm = reProps.value.onConfirm\n if (!onConfirm) {\n if (!done) visible.value = false\n return\n }\n\n if (!done) {\n confirmLoad.value = true\n const [err, res] = await suspectedWrapperPromise(\n onConfirm(...eventParams, (closed) => {\n visible.value = !closed\n })\n )\n confirmLoad.value = false\n if (err || res === false) return\n\n visible.value = false\n return\n }\n\n return onConfirm(...eventParams, done)\n }\n\n function openDialog() {\n const { selectOptions } = reProps.value\n if (selectOptions.readonly || selectOptions.disabled) return\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\n })\n reProps.value.onChange?.(addCustom.value, {\n e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'check'\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 const { selectOptions } = reProps.value\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 }\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 // 处理 fillOptions 合并逻辑\n const fillOptionsWatchStop = watch(\n () => reProps.value.fillOptions,\n (fillOpts) => {\n if (!fillOpts?.length) return\n\n selectedRows.value = cleanEmptyChildren(\n fillOpts as D[],\n reProps.value.tableOptions.tree?.childrenKey\n )\n },\n { immediate: true, deep: true }\n )\n\n defineExpose(\n createExposeProxy({}, dialogRef, tableRef) as QdServiceDialogTableSelectInstanceFunctions\n )\n</script>\n\n<style lang=\"less\" scoped>\n .qd-dialog-table-select {\n width: 100%;\n\n &__trigger {\n width: 100%;\n\n &:not(&--readonly):not(&--disabled) {\n cursor: pointer;\n }\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":["props","__props","emit","__emit","modelValue","visible","searchData","data","columnControllerVisible","expandedRowKeys","filterValue","sort","expandedTreeNodes","useVModels","passive","t","useConfig","tdReadonly","useReadonly","tdDisabled","useDisabled","dialogRef","useTemplateRef","tableRef","confirmLoad","ref","selectedRowKeys","selectedRows","latestSelectedRows","lastRowKey","addCustom","reactive","value","addConfirmDisabled","computed","isEmpty","reProps","fillOptions","wrapper","readonly","multiple","disabled","keys","valueType","clearable","creatable","placeholder","size","onClear","onCreate","onChange","onConfirm","search","tableSize","addBtn","addConfirmBtn","addCancelBtn","addInput","onCancel","tableOptions","addBtnOptions","merge","block","theme","variant","icon","_createVNode2","AddIcon","content","onClick","addConfirmBtnOptions","confirmAddCustom","addCancelBtnOptions","cancelAddCustom","addInputOptions","dialogOptions","qdServiceDialogProps","header","onBeforeOpen","handleBeforeOpen","onClosed","handleClosed","selectOptions","children","tree","childrenKey","undefined","grid","qdDialogTableSelectSearchGrid","selectType","rowKey","qdServiceSelectKeys","models","cleanEmptyChildren","rows","map","row","hasOwn","_","rest","handleSelectChange","useDoubleClick","shouldReset","rowKeys","options","change","currentRowKey","onSingleClick","selectedRowData","onDoubleClick","handleConfirm","done","valueKey","labelKey","label","item","get","eventParams","option","length","selectedOptions","trigger","err","res","suspectedWrapperPromise","closed","openDialog","handleClear","context","e","Object","assign","fillOptionsWatchStop","identifyType","destroyOnClose","watch","fillOpts","immediate","deep","__expose","createExposeProxy","_createElementVNode","_mergeProps","class","$attrs","_renderSlot","_ctx","$slots","_createVNode","_unref","$event","suffixIcon","SearchIcon","onSelectChange","_createSlots","_openBlock","_createElementBlock","_hoisted_1","_cache","autofocus","TSpace","TButton","_normalizeProps","_guardReactiveProps","extractSlotsWithPrefix","name","filterName","fn","_withCtx","slotProps","originalName"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/service-dialog-table-select/index.vue"],"sourcesContent":["<template>\n <div class=\"qd-dialog-table-select\" v-bind=\"$attrs\" @click=\"openDialog\">\n <slot :selected-rows=\"selectedRows\">\n <t-select\n :class=\"[\n 'qd-dialog-table-select__trigger',\n reProps.selectOptions.readonly ? 'qd-dialog-table-select__trigger--readonly' : '',\n reProps.selectOptions.disabled ? 'qd-dialog-table-select__trigger--disabled' : ''\n ]\"\n :model-value=\"selectValue\"\n :options=\"selectedRows\"\n :popup-visible=\"false\"\n v-bind=\"reProps.selectOptions\"\n @clear=\"handleClear\"\n >\n <template #suffixIcon>\n <search-icon />\n </template>\n\n <t-option\n v-for=\"item in selectedRows\"\n :key=\"item[reProps.keys.value]\"\n :value=\"item[reProps.keys.value]\"\n :label=\"item[reProps.keys.label]\"\n >\n {{ item[reProps.keys.label] }}\n </t-option>\n </t-select>\n </slot>\n </div>\n\n <qd-dialog\n ref=\"dialog\"\n v-model:visible=\"visible\"\n :confirm-loading=\"confirmLoad\"\n v-bind=\"reProps.dialogOptions\"\n @confirm=\"handleConfirm\"\n >\n <qd-crud-table\n ref=\"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: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 <slot name=\"add-input\" :add-custom=\"addCustom\">\n <t-input v-model=\"addCustom.value\" autofocus v-bind=\"reProps.addInputOptions\" />\n </slot>\n\n <t-space size=\"small\">\n <slot name=\"add-confirm-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addConfirmBtnOptions\" />\n </slot>\n\n <slot name=\"add-cancel-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addCancelBtnOptions\" />\n </slot>\n </t-space>\n </div>\n\n <slot v-else name=\"add-btn\" :add-custom=\"addCustom\">\n <t-button class=\"qd-dialog-table-select__table-add\" v-bind=\"reProps.addBtnOptions\" />\n </slot>\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=\"tsx\"\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 { useVModels } from '@vueuse/core'\n import { get, merge } from 'lodash-es'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import {\n createExposeProxy,\n extractSlotsWithPrefix,\n hasOwn,\n identifyType,\n isEmpty,\n suspectedWrapperPromise,\n useDoubleClick\n } from 'qidian-shared'\n import { AddIcon, SearchIcon } from 'tdesign-icons-vue-next'\n import type {\n SelectOptions,\n SelectValue,\n TableRowData,\n TdButtonProps,\n TdInputProps\n } from 'tdesign-vue-next'\n import {\n Button as TButton,\n Input as TInput,\n Option as TOption,\n Select as TSelect,\n Space as TSpace\n } from 'tdesign-vue-next'\n import { computed, reactive, ref, useTemplateRef, watch } from 'vue'\n\n import { useDisabled, useReadonly } from '../../hooks'\n import { useConfig } from '../config-provider/useConfig'\n import type { QdCrudTableInstanceFunctions, QdCrudTableProps } from '../crud'\n import { QdCrudTable } from '../crud'\n import type { QdDialogDone, QdDialogInstanceFunctions } from '../dialog'\n import { QdDialog } from '../dialog'\n import { qdServiceSelectKeys } from '../service-select/props'\n import {\n qdDialogTableSelectSearchGrid,\n qdServiceDialogProps,\n qdServiceDialogTableSelectProps\n } from './props'\n import type {\n QdServiceDialogTableSelectInstanceFunctions,\n QdServiceDialogTableSelectProps\n } from './types'\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: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 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 const tableRef = useTemplateRef<QdCrudTableInstanceFunctions>('table')\n\n const confirmLoad = ref(false)\n const selectedRowKeys = ref<(string | number)[]>([])\n const selectedRows = ref<D[]>([])\n let latestSelectedRows: D[] = []\n let lastRowKey: string | number | undefined\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 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 onConfirm,\n\n search,\n tableSize,\n\n addBtn,\n addConfirmBtn,\n addCancelBtn,\n addInput,\n\n onCancel,\n\n ...tableOptions\n } = props\n\n const addBtnOptions: TdButtonProps = merge(\n {},\n {\n block: true,\n theme: 'primary',\n variant: 'dashed',\n icon: () => <AddIcon />,\n content: t('addText'),\n onClick: () => {\n addCustom.visible = true\n }\n },\n typeof addBtn === 'string' ? { content: addBtn } : addBtn\n )\n\n const addConfirmBtnOptions: TdButtonProps = merge(\n {},\n {\n content: t('addConfirmText'),\n onClick: confirmAddCustom\n },\n typeof addConfirmBtn === 'string'\n ? { content: addConfirmBtn, disabled: addConfirmDisabled.value }\n : { ...addConfirmBtn, disabled: addConfirmDisabled.value || addConfirmBtn?.disabled }\n )\n\n const addCancelBtnOptions: TdButtonProps = merge(\n {},\n {\n variant: 'outline',\n content: t('addCancelText'),\n onClick: cancelAddCustom\n },\n typeof addCancelBtn === 'string' ? { content: addCancelBtn } : addCancelBtn\n )\n\n const addInputOptions: TdInputProps = merge(\n {},\n { clearable: true },\n typeof addInput === 'string' ? { placeholder: addInput } : addInput\n )\n\n const dialogOptions = merge(\n {},\n { ...qdServiceDialogProps, header: placeholder, onCancel },\n wrapper\n )\n const onBeforeOpen = dialogOptions.onBeforeOpen\n dialogOptions.onBeforeOpen = () => {\n onBeforeOpen?.()\n handleBeforeOpen()\n }\n const onClosed = dialogOptions.onClosed\n dialogOptions.onClosed = () => {\n onClosed?.()\n handleClosed()\n }\n\n const reKeys = { ...qdServiceSelectKeys, ...keys }\n\n return {\n creatable,\n fillOptions,\n keys: reKeys,\n selectOptions: {\n multiple,\n readonly: tdReadonly.value,\n disabled: tdDisabled.value,\n valueType,\n clearable,\n placeholder,\n size\n },\n dialogOptions,\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: reKeys.value\n },\n\n onClear,\n onCreate,\n onChange,\n onConfirm,\n\n addBtnOptions,\n addConfirmBtnOptions,\n addCancelBtnOptions,\n addInputOptions,\n\n models: {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n }\n }\n })\n\n const selectValue = computed(() => {\n const { selectOptions, keys } = reProps.value\n\n if (isEmpty(modelValue.value)) return undefined\n\n if (identifyType(modelValue.value) === 'array') {\n if (selectOptions.valueType === 'object') {\n return modelValue.value.map((item: (typeof modelValue.value)[number]) => ({\n value: get(item, keys.value),\n label: get(item, keys.label)\n }))\n }\n\n return modelValue.value\n }\n\n if (selectOptions.valueType === 'object') {\n return { value: get(modelValue.value, keys.value), label: get(modelValue.value, keys.label) }\n }\n\n return modelValue.value\n })\n\n function cleanEmptyChildren(rows: D[], childrenKey: string | undefined): D[] {\n if (!childrenKey) return rows\n\n return rows.map((row) => {\n if (!hasOwn(row, childrenKey)) return row\n\n const { [childrenKey]: _, ...rest } = row\n return rest as D\n })\n }\n\n const handleSelectChange = useDoubleClick<[(string | number)[], SelectOptions<D>]>({\n shouldReset: (rowKeys, options) => {\n const change = lastRowKey !== options.currentRowKey\n lastRowKey = options.currentRowKey\n return change\n },\n onSingleClick: (rowKeys, options) => {\n latestSelectedRows = cleanEmptyChildren(\n options.selectedRowData,\n reProps.value.tableOptions.tree?.childrenKey\n )\n },\n onDoubleClick: (rowKeys, options) => {\n latestSelectedRows = cleanEmptyChildren(\n options.selectedRowData,\n reProps.value.tableOptions.tree?.childrenKey\n )\n handleConfirm()\n }\n })\n\n async function handleConfirm(done?: QdDialogDone) {\n selectedRows.value = latestSelectedRows\n const { selectOptions, keys } = reProps.value\n const valueKey = keys.value\n const labelKey = keys.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 = latestSelectedRows.map((item) => ({\n [valueKey]: get(item, valueKey),\n [labelKey]: get(item, labelKey)\n }))\n modelValue.value = selectOptions.multiple ? rows : rows[0]\n }\n\n const eventParams = [\n modelValue.value,\n {\n option: latestSelectedRows[latestSelectedRows.length - 1],\n selectedOptions: latestSelectedRows,\n trigger: 'check'\n }\n ] as const\n reProps.value.onChange?.(...eventParams)\n\n const onConfirm = reProps.value.onConfirm\n if (!onConfirm) {\n if (!done) visible.value = false\n return\n }\n\n if (!done) {\n confirmLoad.value = true\n const [err, res] = await suspectedWrapperPromise(\n onConfirm(...eventParams, (closed) => {\n visible.value = !closed\n })\n )\n confirmLoad.value = false\n if (err || res === false) return\n\n visible.value = false\n return\n }\n\n return onConfirm(...eventParams, done)\n }\n\n function openDialog() {\n const { selectOptions } = reProps.value\n if (selectOptions.readonly || selectOptions.disabled) return\n\n visible.value = true\n }\n\n function handleClear(context: { e: MouseEvent }) {\n selectedRowKeys.value = []\n selectedRows.value = []\n modelValue.value = undefined\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\n })\n reProps.value.onChange?.(addCustom.value, {\n e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'check'\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 const { keys } = reProps.value\n const valueKey = keys.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 }\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 // 处理 fillOptions 合并逻辑\n const fillOptionsWatchStop = watch(\n () => reProps.value.fillOptions,\n (fillOpts) => {\n if (!fillOpts?.length) return\n\n selectedRows.value = cleanEmptyChildren(\n fillOpts as D[],\n reProps.value.tableOptions.tree?.childrenKey\n )\n },\n { immediate: true, deep: true }\n )\n\n defineExpose(\n createExposeProxy({}, dialogRef, tableRef) as QdServiceDialogTableSelectInstanceFunctions\n )\n</script>\n\n<style lang=\"less\" scoped>\n .qd-dialog-table-select {\n width: 100%;\n\n &__trigger {\n width: 100%;\n\n &:not(&--readonly):not(&--disabled) {\n cursor: pointer;\n }\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":["props","__props","emit","__emit","modelValue","visible","searchData","data","columnControllerVisible","expandedRowKeys","filterValue","sort","expandedTreeNodes","useVModels","passive","t","useConfig","tdReadonly","useReadonly","tdDisabled","useDisabled","dialogRef","useTemplateRef","tableRef","confirmLoad","ref","selectedRowKeys","selectedRows","latestSelectedRows","lastRowKey","addCustom","reactive","value","addConfirmDisabled","computed","isEmpty","reProps","fillOptions","wrapper","readonly","multiple","disabled","keys","valueType","clearable","creatable","placeholder","size","onClear","onCreate","onChange","onConfirm","search","tableSize","addBtn","addConfirmBtn","addCancelBtn","addInput","onCancel","tableOptions","addBtnOptions","merge","block","theme","variant","icon","_createVNode2","AddIcon","content","onClick","addConfirmBtnOptions","confirmAddCustom","addCancelBtnOptions","cancelAddCustom","addInputOptions","dialogOptions","qdServiceDialogProps","header","onBeforeOpen","handleBeforeOpen","onClosed","handleClosed","reKeys","qdServiceSelectKeys","selectOptions","grid","qdDialogTableSelectSearchGrid","selectType","rowKey","models","selectValue","undefined","identifyType","map","item","get","label","cleanEmptyChildren","rows","childrenKey","row","hasOwn","_","rest","handleSelectChange","useDoubleClick","shouldReset","rowKeys","options","change","currentRowKey","onSingleClick","selectedRowData","tree","onDoubleClick","handleConfirm","done","valueKey","labelKey","eventParams","option","length","selectedOptions","trigger","err","res","suspectedWrapperPromise","closed","openDialog","handleClear","context","e","Object","assign","fillOptionsWatchStop","destroyOnClose","watch","fillOpts","immediate","deep","__expose","createExposeProxy","_createElementVNode","_mergeProps","class","$attrs","_renderSlot","_ctx","$slots","_createVNode","_unref","suffixIcon","SearchIcon","_createElementBlock","_Fragment","_renderList","_createBlock","TOption","key","_createTextVNode","_toDisplayString","$event","onSelectChange","_createSlots","_openBlock","_hoisted_1","_cache","autofocus","TSpace","TButton","_normalizeProps","_guardReactiveProps","extractSlotsWithPrefix","name","filterName","fn","_withCtx","slotProps","originalName"],"mappings":"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"}
@@ -4,7 +4,7 @@ import _sfc_main from "./index.vue2.mjs";
4
4
  /* empty css */
5
5
  /* empty css */
6
6
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
7
- const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8bef20f2"]]);
7
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6189fd4c"]]);
8
8
  export {
9
9
  index as default
10
10
  };
@@ -1,10 +1,10 @@
1
1
  import './index2.css'
2
2
  import './index.css'
3
- import { defineComponent, mergeDefaults, useTemplateRef, ref, reactive, computed, watch, createVNode, onMounted, createBlock, openBlock, unref, mergeProps, isRef, withCtx, renderSlot, createSlots, renderList, createElementBlock, normalizeProps, guardReactiveProps } from "vue";
3
+ import { defineComponent, mergeDefaults, useTemplateRef, ref, reactive, computed, watch, createVNode, onMounted, createBlock, openBlock, unref, mergeProps, isRef, withCtx, renderSlot, createElementBlock, Fragment, renderList, createTextVNode, toDisplayString, createSlots, normalizeProps, guardReactiveProps } from "vue";
4
4
  import { useVModels } from "../../node_modules/.pnpm/@vueuse_core@14.2.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.mjs";
5
5
  import { isEmpty, identifyType, extractSlotsWithPrefix, hasOwn } from "qidian-shared";
6
6
  import { AddIcon, SearchIcon } from "tdesign-icons-vue-next";
7
- import { Popup, Select, Input, Space, Button } from "tdesign-vue-next";
7
+ import { Popup, Select, Option, Input, Space, Button } from "tdesign-vue-next";
8
8
  import { useConfig } from "../config-provider/useConfig.mjs";
9
9
  import { qdDialogTableSelectSearchGrid } from "../service-dialog-table-select/props.mjs";
10
10
  import { qdServiceSelectKeys } from "../service-select/props.mjs";
@@ -442,18 +442,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
442
442
  }, typeof addInput === "string" ? {
443
443
  placeholder: addInput
444
444
  } : addInput);
445
+ const reKeys = {
446
+ ...qdServiceSelectKeys,
447
+ ...keys
448
+ };
445
449
  return {
446
450
  creatable,
447
451
  fillOptions,
452
+ keys: reKeys,
448
453
  popupOptions: rePopupOptions,
449
454
  selectOptions: {
450
455
  multiple,
451
456
  readonly,
452
457
  disabled,
453
- keys: keys ? {
454
- ...keys,
455
- children: tableOptions.tree?.childrenKey
456
- } : void 0,
457
458
  valueType,
458
459
  clearable,
459
460
  placeholder,
@@ -467,7 +468,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
467
468
  grid: merge({}, qdDialogTableSelectSearchGrid, search?.grid)
468
469
  },
469
470
  selectType: multiple ? "multiple" : "single",
470
- rowKey: keys?.value || qdServiceSelectKeys.value
471
+ rowKey: reKeys.value
471
472
  },
472
473
  onClear,
473
474
  onCreate,
@@ -489,6 +490,29 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
489
490
  }
490
491
  };
491
492
  });
493
+ const selectValue = computed(() => {
494
+ const {
495
+ selectOptions,
496
+ keys
497
+ } = reProps.value;
498
+ if (isEmpty(modelValue.value)) return void 0;
499
+ if (identifyType(modelValue.value) === "array") {
500
+ if (selectOptions.valueType === "object") {
501
+ return modelValue.value.map((item) => ({
502
+ value: get(item, keys.value),
503
+ label: get(item, keys.label)
504
+ }));
505
+ }
506
+ return modelValue.value;
507
+ }
508
+ if (selectOptions.valueType === "object") {
509
+ return {
510
+ value: get(modelValue.value, keys.value),
511
+ label: get(modelValue.value, keys.label)
512
+ };
513
+ }
514
+ return modelValue.value;
515
+ });
492
516
  function cleanEmptyChildren(rows, childrenKey) {
493
517
  if (!childrenKey) return rows;
494
518
  return rows.map((row) => {
@@ -503,10 +527,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
503
527
  function handleSelectChange(rowKeys, options) {
504
528
  selectedRows.value = cleanEmptyChildren(options.selectedRowData, reProps.value.tableOptions.tree?.childrenKey);
505
529
  const {
506
- selectOptions
530
+ selectOptions,
531
+ keys
507
532
  } = reProps.value;
508
- const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value;
509
- const labelKey = selectOptions.keys?.label || qdServiceSelectKeys.label;
533
+ const valueKey = keys.value;
534
+ const labelKey = keys.label;
510
535
  if (selectOptions.valueType === "value") {
511
536
  modelValue.value = selectOptions.multiple ? selectedRows.value.map((item) => get(item, valueKey)) : get(selectedRows.value[0], valueKey);
512
537
  } else {
@@ -524,9 +549,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
524
549
  }
525
550
  function handleOpen() {
526
551
  const {
527
- selectOptions
552
+ keys
528
553
  } = reProps.value;
529
- const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value;
554
+ const valueKey = keys.value;
530
555
  if (identifyType(modelValue.value) === "array") {
531
556
  selectedRowKeys.value = modelValue.value.map((item) => {
532
557
  if (identifyType(item) === "object") {
@@ -542,6 +567,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
542
567
  }
543
568
  function handleClear(context) {
544
569
  selectedRowKeys.value = [];
570
+ selectedRows.value = [];
571
+ modelValue.value = void 0;
545
572
  reProps.value.onChange?.(void 0, {
546
573
  e: context.e,
547
574
  option: null,
@@ -585,29 +612,29 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
585
612
  return (_ctx, _cache) => {
586
613
  return openBlock(), createBlock(unref(Popup), mergeProps({
587
614
  modelValue: unref(popupVisible),
588
- "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => isRef(popupVisible) ? popupVisible.value = $event : null)
615
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => isRef(popupVisible) ? popupVisible.value = $event : null)
589
616
  }, reProps.value.popupOptions), {
590
617
  content: withCtx(() => [createVNode(unref(QdCrudTable), mergeProps({
591
618
  ref: "table",
592
619
  class: "qd-popup-table-select__table",
593
620
  "search-data": unref(searchData),
594
- "onUpdate:searchData": _cache[2] || (_cache[2] = ($event) => isRef(searchData) ? searchData.value = $event : null),
621
+ "onUpdate:searchData": _cache[1] || (_cache[1] = ($event) => isRef(searchData) ? searchData.value = $event : null),
595
622
  data: unref(data),
596
- "onUpdate:data": _cache[3] || (_cache[3] = ($event) => isRef(data) ? data.value = $event : null),
623
+ "onUpdate:data": _cache[2] || (_cache[2] = ($event) => isRef(data) ? data.value = $event : null),
597
624
  "selected-row-keys": selectedRowKeys.value,
598
- "onUpdate:selectedRowKeys": _cache[4] || (_cache[4] = ($event) => selectedRowKeys.value = $event),
625
+ "onUpdate:selectedRowKeys": _cache[3] || (_cache[3] = ($event) => selectedRowKeys.value = $event),
599
626
  "active-row-keys": selectedRowKeys.value,
600
- "onUpdate:activeRowKeys": _cache[5] || (_cache[5] = ($event) => selectedRowKeys.value = $event),
627
+ "onUpdate:activeRowKeys": _cache[4] || (_cache[4] = ($event) => selectedRowKeys.value = $event),
601
628
  "column-controller-visible": unref(columnControllerVisible),
602
- "onUpdate:columnControllerVisible": _cache[6] || (_cache[6] = ($event) => isRef(columnControllerVisible) ? columnControllerVisible.value = $event : null),
629
+ "onUpdate:columnControllerVisible": _cache[5] || (_cache[5] = ($event) => isRef(columnControllerVisible) ? columnControllerVisible.value = $event : null),
603
630
  "expanded-rowKeys": unref(expandedRowKeys),
604
- "onUpdate:expandedRowKeys": _cache[7] || (_cache[7] = ($event) => isRef(expandedRowKeys) ? expandedRowKeys.value = $event : null),
631
+ "onUpdate:expandedRowKeys": _cache[6] || (_cache[6] = ($event) => isRef(expandedRowKeys) ? expandedRowKeys.value = $event : null),
605
632
  "filter-value": unref(filterValue),
606
- "onUpdate:filterValue": _cache[8] || (_cache[8] = ($event) => isRef(filterValue) ? filterValue.value = $event : null),
633
+ "onUpdate:filterValue": _cache[7] || (_cache[7] = ($event) => isRef(filterValue) ? filterValue.value = $event : null),
607
634
  sort: unref(sort),
608
- "onUpdate:sort": _cache[9] || (_cache[9] = ($event) => isRef(sort) ? sort.value = $event : null),
635
+ "onUpdate:sort": _cache[8] || (_cache[8] = ($event) => isRef(sort) ? sort.value = $event : null),
609
636
  "expanded-tree-nodes": unref(expandedTreeNodes),
610
- "onUpdate:expandedTreeNodes": _cache[10] || (_cache[10] = ($event) => isRef(expandedTreeNodes) ? expandedTreeNodes.value = $event : null),
637
+ "onUpdate:expandedTreeNodes": _cache[9] || (_cache[9] = ($event) => isRef(expandedTreeNodes) ? expandedTreeNodes.value = $event : null),
611
638
  "reserve-selected-row-on-paginate": "",
612
639
  "active-row-type": "multiple"
613
640
  }, reProps.value.tableOptions, {
@@ -620,7 +647,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
620
647
  addCustom
621
648
  }, () => [createVNode(unref(Input), mergeProps({
622
649
  modelValue: addCustom.value,
623
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => addCustom.value = $event),
650
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => addCustom.value = $event),
624
651
  autofocus: ""
625
652
  }, reProps.value.addInputOptions), null, 16, ["modelValue"])], true), createVNode(unref(Space), {
626
653
  size: "small"
@@ -654,16 +681,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
654
681
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
655
682
  selectedRows: selectedRows.value
656
683
  }, () => [createVNode(unref(Select), mergeProps({
657
- modelValue: unref(modelValue),
658
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modelValue) ? modelValue.value = $event : null),
684
+ "model-value": selectValue.value,
659
685
  options: selectedRows.value,
660
686
  "popup-visible": false
661
687
  }, reProps.value.selectOptions, {
662
688
  onClear: handleClear
663
689
  }), {
664
690
  suffixIcon: withCtx(() => [createVNode(unref(SearchIcon))]),
691
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(selectedRows.value, (item) => {
692
+ return openBlock(), createBlock(unref(Option), {
693
+ key: item[reProps.value.keys.value],
694
+ value: item[reProps.value.keys.value],
695
+ label: item[reProps.value.keys.label]
696
+ }, {
697
+ default: withCtx(() => [createTextVNode(toDisplayString(item[reProps.value.keys.label]), 1)]),
698
+ _: 2
699
+ }, 1032, ["value", "label"]);
700
+ }), 128))]),
665
701
  _: 1
666
- }, 16, ["modelValue", "options"])], true)]),
702
+ }, 16, ["model-value", "options"])], true)]),
667
703
  _: 3
668
704
  }, 16, ["modelValue"]);
669
705
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/service-popup-table-select/index.vue"],"sourcesContent":["<template>\n <t-popup v-model=\"popupVisible\" v-bind=\"reProps.popupOptions\">\n <slot :selected-rows=\"selectedRows\">\n <t-select\n v-model=\"modelValue\"\n :options=\"selectedRows\"\n :popup-visible=\"false\"\n v-bind=\"reProps.selectOptions\"\n @clear=\"handleClear\"\n >\n <template #suffixIcon>\n <search-icon />\n </template>\n </t-select>\n </slot>\n\n <template #content>\n <qd-crud-table\n ref=\"table\"\n class=\"qd-popup-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: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-popup-table-select__table-add\">\n <slot name=\"add-input\" :add-custom=\"addCustom\">\n <t-input v-model=\"addCustom.value\" autofocus v-bind=\"reProps.addInputOptions\" />\n </slot>\n\n <t-space size=\"small\">\n <slot name=\"add-confirm-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addConfirmBtnOptions\" />\n </slot>\n\n <slot name=\"add-cancel-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addCancelBtnOptions\" />\n </slot>\n </t-space>\n </div>\n\n <slot v-else name=\"add-btn\" :add-custom=\"addCustom\">\n <t-button class=\"qd-popup-table-select__table-add\" v-bind=\"reProps.addBtnOptions\" />\n </slot>\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\" :add-custom=\"addCustom\" v-bind=\"slotProps\" />\n </template>\n </qd-crud-table>\n </template>\n </t-popup>\n</template>\n\n<script\n setup\n lang=\"tsx\"\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 { useVModels } from '@vueuse/core'\n import { get, merge } from 'lodash-es'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import { extractSlotsWithPrefix, hasOwn, identifyType, isEmpty } from 'qidian-shared'\n import { AddIcon, SearchIcon } from 'tdesign-icons-vue-next'\n import type {\n SelectOptions,\n SelectValue,\n TableRowData,\n TdButtonProps,\n TdInputProps\n } from 'tdesign-vue-next'\n import {\n Button as TButton,\n Input as TInput,\n Popup as TPopup,\n Select as TSelect,\n Space as TSpace\n } from 'tdesign-vue-next'\n import { computed, onMounted, reactive, ref, useTemplateRef, watch } from 'vue'\n\n import { useDisabled, useReadonly } from '../../hooks'\n import { useConfig } from '../config-provider/useConfig'\n import type { QdCrudTableInstanceFunctions, QdCrudTableProps } from '../crud'\n import { QdCrudTable } from '../crud'\n import { qdDialogTableSelectSearchGrid } from '../service-dialog-table-select/props'\n import { qdServiceSelectKeys } from '../service-select/props'\n import { qdServicePopupProps, qdServicePopupTableSelectProps } from './props'\n import type {\n QdServicePopupTableSelectInstanceFunctions,\n QdServicePopupTableSelectProps\n } from './types'\n\n defineOptions({\n name: 'QdServicePopupTableSelect'\n })\n\n type Props = QdServicePopupTableSelectProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdServicePopupTableSelectProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:popupVisible': [Props['popupVisible']]\n\n 'update:searchData': [Props['searchData']]\n 'update:data': [Props['data']]\n 'update:columnControllerVisible': [Props['columnControllerVisible']]\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 popupVisible,\n searchData,\n data,\n columnControllerVisible,\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 tableRef = useTemplateRef<QdCrudTableInstanceFunctions>('table')\n\n const selectedRowKeys = ref<(string | number)[]>([])\n const selectedRows = ref<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 popupVisible,\n popupProps,\n fillOptions,\n searchData,\n data: inData,\n columnControllerVisible,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\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\n addBtn,\n addConfirmBtn,\n addCancelBtn,\n addInput,\n\n ...tableOptions\n } = props\n\n const rePopupOptions = merge(\n {},\n qdServicePopupProps,\n { trigger: 'click' } as const,\n popupProps,\n {\n disabled: tdDisabled.value || tdReadonly.value || popupProps?.disabled\n }\n )\n const onVisibleChange = rePopupOptions.onVisibleChange\n rePopupOptions.onVisibleChange = (visible, context) => {\n onVisibleChange?.(visible, context)\n\n if (visible) {\n fillOptionsWatchStop?.()\n handleOpen()\n } else {\n if (addCustom.visible) cancelAddCustom()\n if (reProps.value.popupOptions.destroyOnClose) {\n data.value = []\n searchData.value = {}\n selectedRowKeys.value = []\n }\n }\n }\n\n let reOverlayClassName = rePopupOptions.overlayClassName\n if (!reOverlayClassName) {\n reOverlayClassName = 'qd-popup-table-select__overlay'\n } else if (typeof reOverlayClassName === 'string') {\n reOverlayClassName += ' qd-popup-table-select__overlay'\n } else if (identifyType(reOverlayClassName) === 'array') {\n reOverlayClassName.push('qd-popup-table-select__overlay')\n } else if (identifyType(reOverlayClassName) === 'object') {\n ;(\n reOverlayClassName as {\n [className: string]: any\n }\n )['qd-popup-table-select__overlay'] = true\n }\n\n rePopupOptions.overlayClassName = reOverlayClassName\n\n const addBtnOptions: TdButtonProps = merge(\n {},\n {\n block: true,\n theme: 'primary',\n variant: 'dashed',\n icon: () => <AddIcon />,\n content: t('addText'),\n onClick: () => {\n addCustom.visible = true\n }\n },\n typeof addBtn === 'string' ? { content: addBtn } : addBtn\n )\n\n const addConfirmBtnOptions: TdButtonProps = merge(\n {},\n {\n content: t('addConfirmText'),\n onClick: confirmAddCustom\n },\n typeof addConfirmBtn === 'string'\n ? { content: addConfirmBtn, disabled: addConfirmDisabled.value }\n : { ...addConfirmBtn, disabled: addConfirmDisabled.value || addConfirmBtn?.disabled }\n )\n\n const addCancelBtnOptions: TdButtonProps = merge(\n {},\n {\n variant: 'outline',\n content: t('addCancelText'),\n onClick: cancelAddCustom\n },\n typeof addCancelBtn === 'string' ? { content: addCancelBtn } : addCancelBtn\n )\n\n const addInputOptions: TdInputProps = merge(\n {},\n { clearable: true },\n typeof addInput === 'string' ? { placeholder: addInput } : addInput\n )\n\n return {\n creatable,\n fillOptions,\n popupOptions: rePopupOptions,\n selectOptions: {\n multiple,\n readonly,\n disabled,\n keys: keys ? { ...keys, children: tableOptions.tree?.childrenKey } : undefined,\n valueType,\n clearable,\n placeholder,\n size\n },\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 addBtnOptions,\n addConfirmBtnOptions,\n addCancelBtnOptions,\n addInputOptions,\n\n models: {\n modelValue,\n popupVisible,\n searchData,\n data: inData,\n columnControllerVisible,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n }\n }\n })\n\n function cleanEmptyChildren(rows: D[], childrenKey: string | undefined): D[] {\n if (!childrenKey) return rows\n\n return rows.map((row) => {\n if (!hasOwn(row, childrenKey)) return row\n\n const { [childrenKey]: _, ...rest } = row\n return rest as D\n })\n }\n\n function handleSelectChange(rowKeys: (string | number)[], options: SelectOptions<D>) {\n selectedRows.value = cleanEmptyChildren(\n options.selectedRowData,\n reProps.value.tableOptions.tree?.childrenKey\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 ? selectedRows.value.map((item) => get(item, valueKey))\n : get(selectedRows.value[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: selectedRows.value[selectedRows.value.length - 1] as D,\n selectedOptions: selectedRows.value as D[],\n trigger: 'check'\n })\n }\n\n function handleOpen() {\n const { selectOptions } = reProps.value\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 }\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)\n reProps.value.onChange?.(addCustom.value, {\n e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'check'\n })\n popupVisible.value = false\n reProps.value.popupOptions.onVisibleChange?.(popupVisible.value, {\n e,\n trigger: 'trigger-element-close'\n })\n }\n\n function cancelAddCustom() {\n Object.assign(addCustom, {\n visible: false,\n value: ''\n })\n }\n\n // 处理 fillOptions 合并逻辑\n const fillOptionsWatchStop = watch(\n () => reProps.value.fillOptions,\n (fillOpts) => {\n if (!fillOpts?.length) return\n\n selectedRows.value = cleanEmptyChildren(\n fillOpts as D[],\n reProps.value.tableOptions.tree?.childrenKey\n )\n },\n { immediate: true, deep: true }\n )\n\n const expose = {} as QdServicePopupTableSelectInstanceFunctions\n\n onMounted(() => {\n Object.assign(expose, tableRef.value)\n })\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\">\n .qd-popup-table-select__overlay {\n width: min(960px, 100%);\n }\n</style>\n\n<style lang=\"less\" scoped>\n .qd-popup-table-select {\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":["props","__props","emit","__emit","modelValue","popupVisible","searchData","data","columnControllerVisible","expandedRowKeys","filterValue","sort","expandedTreeNodes","useVModels","passive","t","useConfig","tdReadonly","useReadonly","tdDisabled","useDisabled","tableRef","useTemplateRef","selectedRowKeys","ref","selectedRows","addCustom","reactive","visible","value","addConfirmDisabled","computed","isEmpty","reProps","popupProps","fillOptions","inData","readonly","multiple","disabled","keys","valueType","clearable","creatable","placeholder","size","onClear","onCreate","onChange","search","tableSize","addBtn","addConfirmBtn","addCancelBtn","addInput","tableOptions","rePopupOptions","merge","qdServicePopupProps","trigger","onVisibleChange","context","fillOptionsWatchStop","handleOpen","cancelAddCustom","popupOptions","destroyOnClose","reOverlayClassName","overlayClassName","identifyType","push","addBtnOptions","block","theme","variant","icon","_createVNode2","AddIcon","content","onClick","addConfirmBtnOptions","confirmAddCustom","addCancelBtnOptions","addInputOptions","selectOptions","children","tree","childrenKey","undefined","grid","qdDialogTableSelectSearchGrid","selectType","rowKey","qdServiceSelectKeys","models","cleanEmptyChildren","rows","map","row","hasOwn","_","rest","handleSelectChange","rowKeys","options","selectedRowData","valueKey","labelKey","label","item","get","option","length","selectedOptions","handleClear","e","Object","assign","watch","fillOpts","immediate","deep","expose","onMounted","__expose","_openBlock","_createBlock","_unref","_mergeProps","$event","_createVNode","class","onSelectChange","_createSlots","_createElementBlock","_hoisted_1","_renderSlot","_ctx","$slots","_cache","autofocus","TSpace","TButton","_normalizeProps","_guardReactiveProps","extractSlotsWithPrefix","name","filterName","fn","_withCtx","slotProps","originalName","suffixIcon","SearchIcon"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/service-popup-table-select/index.vue"],"sourcesContent":["<template>\n <t-popup v-model=\"popupVisible\" v-bind=\"reProps.popupOptions\">\n <slot :selected-rows=\"selectedRows\">\n <t-select\n :model-value=\"selectValue\"\n :options=\"selectedRows\"\n :popup-visible=\"false\"\n v-bind=\"reProps.selectOptions\"\n @clear=\"handleClear\"\n >\n <template #suffixIcon>\n <search-icon />\n </template>\n\n <t-option\n v-for=\"item in selectedRows\"\n :key=\"item[reProps.keys.value]\"\n :value=\"item[reProps.keys.value]\"\n :label=\"item[reProps.keys.label]\"\n >\n {{ item[reProps.keys.label] }}\n </t-option>\n </t-select>\n </slot>\n\n <template #content>\n <qd-crud-table\n ref=\"table\"\n class=\"qd-popup-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: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-popup-table-select__table-add\">\n <slot name=\"add-input\" :add-custom=\"addCustom\">\n <t-input v-model=\"addCustom.value\" autofocus v-bind=\"reProps.addInputOptions\" />\n </slot>\n\n <t-space size=\"small\">\n <slot name=\"add-confirm-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addConfirmBtnOptions\" />\n </slot>\n\n <slot name=\"add-cancel-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addCancelBtnOptions\" />\n </slot>\n </t-space>\n </div>\n\n <slot v-else name=\"add-btn\" :add-custom=\"addCustom\">\n <t-button class=\"qd-popup-table-select__table-add\" v-bind=\"reProps.addBtnOptions\" />\n </slot>\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\" :add-custom=\"addCustom\" v-bind=\"slotProps\" />\n </template>\n </qd-crud-table>\n </template>\n </t-popup>\n</template>\n\n<script\n setup\n lang=\"tsx\"\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 { useVModels } from '@vueuse/core'\n import { get, merge } from 'lodash-es'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import { extractSlotsWithPrefix, hasOwn, identifyType, isEmpty } from 'qidian-shared'\n import { AddIcon, SearchIcon } from 'tdesign-icons-vue-next'\n import type {\n SelectOptions,\n SelectValue,\n TableRowData,\n TdButtonProps,\n TdInputProps\n } from 'tdesign-vue-next'\n import {\n Button as TButton,\n Input as TInput,\n Option as TOption,\n Popup as TPopup,\n Select as TSelect,\n Space as TSpace\n } from 'tdesign-vue-next'\n import { computed, onMounted, reactive, ref, useTemplateRef, watch } from 'vue'\n\n import { useDisabled, useReadonly } from '../../hooks'\n import { useConfig } from '../config-provider/useConfig'\n import type { QdCrudTableInstanceFunctions, QdCrudTableProps } from '../crud'\n import { QdCrudTable } from '../crud'\n import { qdDialogTableSelectSearchGrid } from '../service-dialog-table-select/props'\n import { qdServiceSelectKeys } from '../service-select/props'\n import { qdServicePopupProps, qdServicePopupTableSelectProps } from './props'\n import type {\n QdServicePopupTableSelectInstanceFunctions,\n QdServicePopupTableSelectProps\n } from './types'\n\n defineOptions({\n name: 'QdServicePopupTableSelect'\n })\n\n type Props = QdServicePopupTableSelectProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdServicePopupTableSelectProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:popupVisible': [Props['popupVisible']]\n\n 'update:searchData': [Props['searchData']]\n 'update:data': [Props['data']]\n 'update:columnControllerVisible': [Props['columnControllerVisible']]\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 popupVisible,\n searchData,\n data,\n columnControllerVisible,\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 tableRef = useTemplateRef<QdCrudTableInstanceFunctions>('table')\n\n const selectedRowKeys = ref<(string | number)[]>([])\n const selectedRows = ref<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 popupVisible,\n popupProps,\n fillOptions,\n searchData,\n data: inData,\n columnControllerVisible,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\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\n addBtn,\n addConfirmBtn,\n addCancelBtn,\n addInput,\n\n ...tableOptions\n } = props\n\n const rePopupOptions = merge(\n {},\n qdServicePopupProps,\n { trigger: 'click' } as const,\n popupProps,\n {\n disabled: tdDisabled.value || tdReadonly.value || popupProps?.disabled\n }\n )\n const onVisibleChange = rePopupOptions.onVisibleChange\n rePopupOptions.onVisibleChange = (visible, context) => {\n onVisibleChange?.(visible, context)\n\n if (visible) {\n fillOptionsWatchStop?.()\n handleOpen()\n } else {\n if (addCustom.visible) cancelAddCustom()\n if (reProps.value.popupOptions.destroyOnClose) {\n data.value = []\n searchData.value = {}\n selectedRowKeys.value = []\n }\n }\n }\n\n let reOverlayClassName = rePopupOptions.overlayClassName\n if (!reOverlayClassName) {\n reOverlayClassName = 'qd-popup-table-select__overlay'\n } else if (typeof reOverlayClassName === 'string') {\n reOverlayClassName += ' qd-popup-table-select__overlay'\n } else if (identifyType(reOverlayClassName) === 'array') {\n reOverlayClassName.push('qd-popup-table-select__overlay')\n } else if (identifyType(reOverlayClassName) === 'object') {\n ;(\n reOverlayClassName as {\n [className: string]: any\n }\n )['qd-popup-table-select__overlay'] = true\n }\n\n rePopupOptions.overlayClassName = reOverlayClassName\n\n const addBtnOptions: TdButtonProps = merge(\n {},\n {\n block: true,\n theme: 'primary',\n variant: 'dashed',\n icon: () => <AddIcon />,\n content: t('addText'),\n onClick: () => {\n addCustom.visible = true\n }\n },\n typeof addBtn === 'string' ? { content: addBtn } : addBtn\n )\n\n const addConfirmBtnOptions: TdButtonProps = merge(\n {},\n {\n content: t('addConfirmText'),\n onClick: confirmAddCustom\n },\n typeof addConfirmBtn === 'string'\n ? { content: addConfirmBtn, disabled: addConfirmDisabled.value }\n : { ...addConfirmBtn, disabled: addConfirmDisabled.value || addConfirmBtn?.disabled }\n )\n\n const addCancelBtnOptions: TdButtonProps = merge(\n {},\n {\n variant: 'outline',\n content: t('addCancelText'),\n onClick: cancelAddCustom\n },\n typeof addCancelBtn === 'string' ? { content: addCancelBtn } : addCancelBtn\n )\n\n const addInputOptions: TdInputProps = merge(\n {},\n { clearable: true },\n typeof addInput === 'string' ? { placeholder: addInput } : addInput\n )\n\n const reKeys = { ...qdServiceSelectKeys, ...keys }\n\n return {\n creatable,\n fillOptions,\n keys: reKeys,\n popupOptions: rePopupOptions,\n selectOptions: {\n multiple,\n readonly,\n disabled,\n valueType,\n clearable,\n placeholder,\n size\n },\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: reKeys.value\n },\n\n onClear,\n onCreate,\n onChange,\n\n addBtnOptions,\n addConfirmBtnOptions,\n addCancelBtnOptions,\n addInputOptions,\n\n models: {\n modelValue,\n popupVisible,\n searchData,\n data: inData,\n columnControllerVisible,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n }\n }\n })\n\n const selectValue = computed(() => {\n const { selectOptions, keys } = reProps.value\n\n if (isEmpty(modelValue.value)) return undefined\n\n if (identifyType(modelValue.value) === 'array') {\n if (selectOptions.valueType === 'object') {\n return modelValue.value.map((item: (typeof modelValue.value)[number]) => ({\n value: get(item, keys.value),\n label: get(item, keys.label)\n }))\n }\n\n return modelValue.value\n }\n\n if (selectOptions.valueType === 'object') {\n return { value: get(modelValue.value, keys.value), label: get(modelValue.value, keys.label) }\n }\n\n return modelValue.value\n })\n\n function cleanEmptyChildren(rows: D[], childrenKey: string | undefined): D[] {\n if (!childrenKey) return rows\n\n return rows.map((row) => {\n if (!hasOwn(row, childrenKey)) return row\n\n const { [childrenKey]: _, ...rest } = row\n return rest as D\n })\n }\n\n function handleSelectChange(rowKeys: (string | number)[], options: SelectOptions<D>) {\n selectedRows.value = cleanEmptyChildren(\n options.selectedRowData,\n reProps.value.tableOptions.tree?.childrenKey\n )\n\n const { selectOptions, keys } = reProps.value\n const valueKey = keys.value\n const labelKey = keys.label\n if (selectOptions.valueType === 'value') {\n modelValue.value = selectOptions.multiple\n ? selectedRows.value.map((item) => get(item, valueKey))\n : get(selectedRows.value[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: selectedRows.value[selectedRows.value.length - 1] as D,\n selectedOptions: selectedRows.value as D[],\n trigger: 'check'\n })\n }\n\n function handleOpen() {\n const { keys } = reProps.value\n const valueKey = keys.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 }\n\n function handleClear(context: { e: MouseEvent }) {\n selectedRowKeys.value = []\n selectedRows.value = []\n modelValue.value = undefined\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)\n reProps.value.onChange?.(addCustom.value, {\n e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'check'\n })\n popupVisible.value = false\n reProps.value.popupOptions.onVisibleChange?.(popupVisible.value, {\n e,\n trigger: 'trigger-element-close'\n })\n }\n\n function cancelAddCustom() {\n Object.assign(addCustom, {\n visible: false,\n value: ''\n })\n }\n\n // 处理 fillOptions 合并逻辑\n const fillOptionsWatchStop = watch(\n () => reProps.value.fillOptions,\n (fillOpts) => {\n if (!fillOpts?.length) return\n\n selectedRows.value = cleanEmptyChildren(\n fillOpts as D[],\n reProps.value.tableOptions.tree?.childrenKey\n )\n },\n { immediate: true, deep: true }\n )\n\n const expose = {} as QdServicePopupTableSelectInstanceFunctions\n\n onMounted(() => {\n Object.assign(expose, tableRef.value)\n })\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\">\n .qd-popup-table-select__overlay {\n width: min(960px, 100%);\n }\n</style>\n\n<style lang=\"less\" scoped>\n .qd-popup-table-select {\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":["props","__props","emit","__emit","modelValue","popupVisible","searchData","data","columnControllerVisible","expandedRowKeys","filterValue","sort","expandedTreeNodes","useVModels","passive","t","useConfig","tdReadonly","useReadonly","tdDisabled","useDisabled","tableRef","useTemplateRef","selectedRowKeys","ref","selectedRows","addCustom","reactive","visible","value","addConfirmDisabled","computed","isEmpty","reProps","popupProps","fillOptions","inData","readonly","multiple","disabled","keys","valueType","clearable","creatable","placeholder","size","onClear","onCreate","onChange","search","tableSize","addBtn","addConfirmBtn","addCancelBtn","addInput","tableOptions","rePopupOptions","merge","qdServicePopupProps","trigger","onVisibleChange","context","fillOptionsWatchStop","handleOpen","cancelAddCustom","popupOptions","destroyOnClose","reOverlayClassName","overlayClassName","identifyType","push","addBtnOptions","block","theme","variant","icon","_createVNode2","AddIcon","content","onClick","addConfirmBtnOptions","confirmAddCustom","addCancelBtnOptions","addInputOptions","reKeys","qdServiceSelectKeys","selectOptions","grid","qdDialogTableSelectSearchGrid","selectType","rowKey","models","selectValue","undefined","map","item","get","label","cleanEmptyChildren","rows","childrenKey","row","hasOwn","_","rest","handleSelectChange","rowKeys","options","selectedRowData","tree","valueKey","labelKey","option","length","selectedOptions","handleClear","e","Object","assign","watch","fillOpts","immediate","deep","expose","onMounted","__expose","_openBlock","_createBlock","_unref","_mergeProps","$event","_createVNode","class","onSelectChange","_createSlots","_createElementBlock","_hoisted_1","_renderSlot","_ctx","$slots","_cache","autofocus","TSpace","TButton","_normalizeProps","_guardReactiveProps","extractSlotsWithPrefix","name","filterName","fn","_withCtx","slotProps","originalName","suffixIcon","SearchIcon","_Fragment","_renderList","TOption","key","_createTextVNode","_toDisplayString"],"mappings":"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"}
@@ -1,18 +1,18 @@
1
- .qd-popup-table-select__table[data-v-8bef20f2] .qd-crud-search > .t-card__body,
2
- .qd-popup-table-select__table[data-v-8bef20f2] .qd-crud-table__body > .t-card__body {
1
+ .qd-popup-table-select__table[data-v-6189fd4c] .qd-crud-search > .t-card__body,
2
+ .qd-popup-table-select__table[data-v-6189fd4c] .qd-crud-table__body > .t-card__body {
3
3
  padding: 0 !important;
4
4
  }
5
- .qd-popup-table-select__table[data-v-8bef20f2] .qd-crud-table__toolbar {
5
+ .qd-popup-table-select__table[data-v-6189fd4c] .qd-crud-table__toolbar {
6
6
  display: none;
7
7
  }
8
- .qd-popup-table-select__table[data-v-8bef20f2] .qd-service-table {
8
+ .qd-popup-table-select__table[data-v-6189fd4c] .qd-service-table {
9
9
  margin-top: 0;
10
10
  }
11
- .qd-popup-table-select__table-add[data-v-8bef20f2] {
11
+ .qd-popup-table-select__table-add[data-v-6189fd4c] {
12
12
  margin-top: var(--td-comp-margin-m);
13
13
  display: flex;
14
14
  }
15
- .qd-popup-table-select__table-add .t-input__wrap[data-v-8bef20f2] {
15
+ .qd-popup-table-select__table-add .t-input__wrap[data-v-6189fd4c] {
16
16
  flex: 1 1 0;
17
17
  overflow: hidden;
18
18
  margin-right: var(--td-comp-margin-m);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qidian-vue-ui",
3
- "version": "1.2.74",
3
+ "version": "1.2.76",
4
4
  "description": "基于 TDesign 的 QiDian Vue UI 组件库",
5
5
  "author": "qidian",
6
6
  "license": "MIT",