qidian-vue-ui 1.2.81 → 1.2.82

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,24 +1,27 @@
1
- .qd-crud-search[data-v-eaf6cef3] {
2
- height: var(--v09faa172);
1
+ .qd-crud-search[data-v-dc722626] {
2
+ height: var(--v70ab3bc0);
3
3
  }
4
- .qd-crud-search[data-v-eaf6cef3] > .t-card__body {
4
+ .qd-crud-search[data-v-dc722626] > .t-loading__parent {
5
5
  height: 100%;
6
6
  }
7
- .qd-crud-search[data-v-eaf6cef3] > .t-card__body > .qd-form {
7
+ .qd-crud-search[data-v-dc722626] > .t-loading__parent > .t-card__body {
8
+ height: 100%;
9
+ }
10
+ .qd-crud-search[data-v-dc722626] > .t-loading__parent > .t-card__body > .qd-form {
8
11
  display: flex;
9
12
  align-items: flex-end;
10
13
  flex-flow: row wrap;
11
14
  height: 100%;
12
15
  }
13
- .qd-crud-search[data-v-eaf6cef3] > .t-card__body > .qd-form > .qd-grid {
16
+ .qd-crud-search[data-v-dc722626] > .t-loading__parent > .t-card__body > .qd-form > .qd-grid {
14
17
  height: 100%;
15
18
  flex: 1 1 0;
16
19
  overflow: hidden;
17
20
  margin-right: var(--td-comp-margin-l);
18
21
  }
19
- .qd-crud-search__more[data-v-eaf6cef3] .t-icon {
22
+ .qd-crud-search__more[data-v-dc722626] .t-icon {
20
23
  transition: transform cubic-bezier(0.38, 0, 0.24, 1) 0.2s;
21
24
  }
22
- .qd-crud-search__more--expand[data-v-eaf6cef3] .t-icon {
25
+ .qd-crud-search__more--expand[data-v-dc722626] .t-icon {
23
26
  transform: rotate(-180deg);
24
27
  }
@@ -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 QdCrudSearch = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-eaf6cef3"]]);
5
+ const QdCrudSearch = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-dc722626"]]);
6
6
  export {
7
7
  QdCrudSearch as default
8
8
  };
@@ -49,7 +49,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
49
49
  emits: ["update:data"],
50
50
  setup(__props, { expose: __expose, emit: __emit }) {
51
51
  useCssVars((_ctx) => ({
52
- "v09faa172": cardH.value
52
+ "v70ab3bc0": cardH.value
53
53
  }));
54
54
  const props = __props;
55
55
  const emit = __emit;
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.mjs","sources":["../../../../src/components/crud/search/index.vue"],"sourcesContent":["<template>\n <qd-card ref=\"card\" v-resize=\"onResize\" class=\"qd-crud-search\">\n <template v-for=\"item in extractSlotsWithPrefix($slots, 'card')\" #[item.filterName]=\"slotProps\">\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n\n <qd-form ref=\"form\" v-model:data=\"data\" v-bind=\"reProps.formOptions\">\n <template #footer>\n <t-space align=\"center\" size=\"small\">\n <t-button\n v-if=\"showExpand\"\n :class=\"['qd-crud-search__more', expand ? 'qd-crud-search__more--expand' : '']\"\n key=\"expand\"\n variant=\"text\"\n @click=\"expand = !expand\"\n >\n {{ expand ? t('collapseSearchText') : t('expandSearchText') }}\n <template #suffix><chevron-down-icon /></template>\n </t-button>\n\n <t-button\n key=\"submit\"\n type=\"submit\"\n :disabled=\"reProps.formOptions.disabled || reProps.btnDisabled\"\n @click=\"reProps.onSearch\"\n >\n {{ t('searchText') }}\n </t-button>\n\n <t-button\n key=\"reset\"\n variant=\"outline\"\n :disabled=\"reProps.formOptions.disabled || reProps.btnDisabled\"\n @click=\"reProps.onReset\"\n >\n {{ t('resetText') }}\n </t-button>\n </t-space>\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'form')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n </qd-form>\n </qd-card>\n</template>\n\n<script setup lang=\"ts\">\n import { useVModel } from '@vueuse/core'\n import { merge } from 'lodash-es'\n import { extractSlotsWithPrefix, resizeDirective } from 'qidian-shared'\n import { ChevronDownIcon } from 'tdesign-icons-vue-next'\n import { Button as TButton, Space as TSpace } from 'tdesign-vue-next'\n import { computed, onMounted, ref, useTemplateRef } from 'vue'\n\n import { QdCard } from '../../card'\n import { useConfig } from '../../config-provider/useConfig'\n import type { QdFormInstanceFunctions } from '../../form'\n import { QdForm } from '../../form'\n import { qdCrudSearchProps, qdSearchGrid } from './props'\n import type { QdCrudSearchProps } from './types'\n\n defineOptions({\n name: 'QdCrudSearch'\n })\n\n const props = withDefaults(defineProps<QdCrudSearchProps>(), qdCrudSearchProps)\n const emit = defineEmits<{\n 'update:data': [QdCrudSearchProps['data']]\n }>()\n const data = useVModel(props, 'data', emit, { passive: true })\n\n const vResize = resizeDirective\n\n const { t } = useConfig('crud')\n\n const reProps = computed(() => {\n const { data, btnDisabled, onSearch, onReset, grid, ...formOptions } = props\n\n return {\n btnDisabled,\n formOptions: {\n ...formOptions,\n grid: merge({}, qdSearchGrid, grid)\n },\n onSearch,\n onReset,\n models: { data }\n }\n })\n\n const cardRef = useTemplateRef('card')\n const showExpand = ref(false)\n const expand = ref(false)\n const oneLineH = ref('auto')\n const cardH = computed(() => (expand.value ? 'auto' : oneLineH.value))\n const formRef = useTemplateRef<QdFormInstanceFunctions>('form')\n\n function getPadding(element: Element, top: boolean, bottom: boolean): number {\n const styles = getComputedStyle(element)\n const pt = top ? parseInt(styles.paddingTop) || 0 : 0\n const pb = bottom ? parseInt(styles.paddingBottom) || 0 : 0\n return pt + pb\n }\n\n function onResize() {\n const el = cardRef.value?.$el as HTMLElement | undefined\n if (!el) {\n resetExpand()\n return\n }\n\n const grid = el.querySelector('.qd-grid')\n if (!grid) {\n resetExpand()\n return\n }\n\n const gridItems = el.querySelectorAll('.qd-grid-item')\n if (!gridItems.length) {\n resetExpand()\n return\n }\n\n const heights = Array.from(gridItems, (item) => (item as HTMLElement).offsetHeight)\n const minItemHeight = Math.min(...heights)\n\n if (grid.scrollHeight - 1 < minItemHeight) {\n resetExpand()\n return\n }\n\n const cardBody = el.querySelector('.t-card__body')\n const totalHeight =\n minItemHeight + (cardBody ? getPadding(cardBody, true, true) : 0) + getPadding(el, true, true)\n\n showExpand.value = true\n oneLineH.value = `${totalHeight}px`\n }\n\n function resetExpand() {\n showExpand.value = false\n oneLineH.value = 'auto'\n expand.value = false\n }\n\n const expose = {} as QdFormInstanceFunctions\n\n onMounted(() => {\n Object.assign(expose, formRef.value)\n })\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\" scoped>\n .qd-crud-search {\n height: v-bind(cardH);\n\n & > :deep(.t-card__body) {\n height: 100%;\n\n & > .qd-form {\n display: flex;\n align-items: flex-end;\n flex-flow: row wrap;\n height: 100%;\n\n & > .qd-grid {\n height: 100%;\n flex: 1 1 0;\n overflow: hidden;\n margin-right: var(--td-comp-margin-l);\n }\n }\n }\n\n &__more {\n :deep(.t-icon) {\n transition: transform cubic-bezier(0.38, 0, 0.24, 1) 0.2s;\n }\n\n &--expand :deep(.t-icon) {\n transform: rotate(-180deg);\n }\n }\n }\n</style>\n"],"names":["data","_createBlock","_unref","_createVNode","_mergeProps","_createSlots","TSpace","TButton","_createTextVNode","_toDisplayString","$slots","_withCtx","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.mjs","sources":["../../../../src/components/crud/search/index.vue"],"sourcesContent":["<template>\n <qd-card ref=\"card\" v-resize=\"onResize\" class=\"qd-crud-search\">\n <template v-for=\"item in extractSlotsWithPrefix($slots, 'card')\" #[item.filterName]=\"slotProps\">\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n\n <qd-form ref=\"form\" v-model:data=\"data\" v-bind=\"reProps.formOptions\">\n <template #footer>\n <t-space align=\"center\" size=\"small\">\n <t-button\n v-if=\"showExpand\"\n :class=\"['qd-crud-search__more', expand ? 'qd-crud-search__more--expand' : '']\"\n key=\"expand\"\n variant=\"text\"\n @click=\"expand = !expand\"\n >\n {{ expand ? t('collapseSearchText') : t('expandSearchText') }}\n <template #suffix><chevron-down-icon /></template>\n </t-button>\n\n <t-button\n key=\"submit\"\n type=\"submit\"\n :disabled=\"reProps.formOptions.disabled || reProps.btnDisabled\"\n @click=\"reProps.onSearch\"\n >\n {{ t('searchText') }}\n </t-button>\n\n <t-button\n key=\"reset\"\n variant=\"outline\"\n :disabled=\"reProps.formOptions.disabled || reProps.btnDisabled\"\n @click=\"reProps.onReset\"\n >\n {{ t('resetText') }}\n </t-button>\n </t-space>\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'form')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n </qd-form>\n </qd-card>\n</template>\n\n<script setup lang=\"ts\">\n import { useVModel } from '@vueuse/core'\n import { merge } from 'lodash-es'\n import { extractSlotsWithPrefix, resizeDirective } from 'qidian-shared'\n import { ChevronDownIcon } from 'tdesign-icons-vue-next'\n import { Button as TButton, Space as TSpace } from 'tdesign-vue-next'\n import { computed, onMounted, ref, useTemplateRef } from 'vue'\n\n import { QdCard } from '../../card'\n import { useConfig } from '../../config-provider/useConfig'\n import type { QdFormInstanceFunctions } from '../../form'\n import { QdForm } from '../../form'\n import { qdCrudSearchProps, qdSearchGrid } from './props'\n import type { QdCrudSearchProps } from './types'\n\n defineOptions({\n name: 'QdCrudSearch'\n })\n\n const props = withDefaults(defineProps<QdCrudSearchProps>(), qdCrudSearchProps)\n const emit = defineEmits<{\n 'update:data': [QdCrudSearchProps['data']]\n }>()\n const data = useVModel(props, 'data', emit, { passive: true })\n\n const vResize = resizeDirective\n\n const { t } = useConfig('crud')\n\n const reProps = computed(() => {\n const { data, btnDisabled, onSearch, onReset, grid, ...formOptions } = props\n\n return {\n btnDisabled,\n formOptions: {\n ...formOptions,\n grid: merge({}, qdSearchGrid, grid)\n },\n onSearch,\n onReset,\n models: { data }\n }\n })\n\n const cardRef = useTemplateRef('card')\n const showExpand = ref(false)\n const expand = ref(false)\n const oneLineH = ref('auto')\n const cardH = computed(() => (expand.value ? 'auto' : oneLineH.value))\n const formRef = useTemplateRef<QdFormInstanceFunctions>('form')\n\n function getPadding(element: Element, top: boolean, bottom: boolean): number {\n const styles = getComputedStyle(element)\n const pt = top ? parseInt(styles.paddingTop) || 0 : 0\n const pb = bottom ? parseInt(styles.paddingBottom) || 0 : 0\n return pt + pb\n }\n\n function onResize() {\n const el = cardRef.value?.$el as HTMLElement | undefined\n if (!el) {\n resetExpand()\n return\n }\n\n const grid = el.querySelector('.qd-grid')\n if (!grid) {\n resetExpand()\n return\n }\n\n const gridItems = el.querySelectorAll('.qd-grid-item')\n if (!gridItems.length) {\n resetExpand()\n return\n }\n\n const heights = Array.from(gridItems, (item) => (item as HTMLElement).offsetHeight)\n const minItemHeight = Math.min(...heights)\n\n if (grid.scrollHeight - 1 < minItemHeight) {\n resetExpand()\n return\n }\n\n const cardBody = el.querySelector('.t-card__body')\n const totalHeight =\n minItemHeight + (cardBody ? getPadding(cardBody, true, true) : 0) + getPadding(el, true, true)\n\n showExpand.value = true\n oneLineH.value = `${totalHeight}px`\n }\n\n function resetExpand() {\n showExpand.value = false\n oneLineH.value = 'auto'\n expand.value = false\n }\n\n const expose = {} as QdFormInstanceFunctions\n\n onMounted(() => {\n Object.assign(expose, formRef.value)\n })\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\" scoped>\n .qd-crud-search {\n height: v-bind(cardH);\n\n & > :deep(.t-loading__parent) {\n height: 100%;\n\n & > .t-card__body {\n height: 100%;\n\n & > .qd-form {\n display: flex;\n align-items: flex-end;\n flex-flow: row wrap;\n height: 100%;\n\n & > .qd-grid {\n height: 100%;\n flex: 1 1 0;\n overflow: hidden;\n margin-right: var(--td-comp-margin-l);\n }\n }\n }\n }\n\n &__more {\n :deep(.t-icon) {\n transition: transform cubic-bezier(0.38, 0, 0.24, 1) 0.2s;\n }\n\n &--expand :deep(.t-icon) {\n transform: rotate(-180deg);\n }\n }\n }\n</style>\n"],"names":["data","_createBlock","_unref","_createVNode","_mergeProps","_createSlots","TSpace","TButton","_createTextVNode","_toDisplayString","$slots","_withCtx","_renderSlot"],"mappings":"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"}
@@ -1,36 +1,36 @@
1
- .qd-crud-table[data-v-ba13e2c4] {
1
+ .qd-crud-table[data-v-d62575f2] {
2
2
  width: 100%;
3
3
  height: 100%;
4
4
  display: flex;
5
5
  flex-direction: column;
6
6
  }
7
- .qd-crud-table > .qd-crud-search:not(.qd-crud-search--hide) + .qd-crud-table__body[data-v-ba13e2c4] {
7
+ .qd-crud-table > .qd-crud-search:not(.qd-crud-search--hide) + .qd-crud-table__body[data-v-d62575f2] {
8
8
  margin-top: var(--td-comp-margin-l);
9
9
  }
10
- .qd-crud-table__body[data-v-ba13e2c4] {
10
+ .qd-crud-table__body[data-v-d62575f2] {
11
11
  flex: auto;
12
12
  }
13
- .qd-crud-table__body[data-v-ba13e2c4] > .t-card__body {
13
+ .qd-crud-table__body[data-v-d62575f2] > .t-loading__parent > .t-card__body {
14
14
  height: 100%;
15
15
  min-height: 443px;
16
16
  display: flex;
17
17
  flex-direction: column;
18
18
  }
19
- .qd-crud-table__body[data-v-ba13e2c4] > .t-card__body > .qd-service-table {
19
+ .qd-crud-table__body[data-v-d62575f2] > .t-loading__parent > .t-card__body > .qd-service-table {
20
20
  flex: 1 1 0;
21
21
  overflow: hidden;
22
22
  }
23
- .qd-crud-table__body[data-v-ba13e2c4] > .t-card__body > .qd-service-table .t-table__pagination {
23
+ .qd-crud-table__body[data-v-d62575f2] > .t-loading__parent > .t-card__body > .qd-service-table .t-table__pagination {
24
24
  padding-bottom: 0;
25
25
  }
26
- .qd-crud-table__toolbar[data-v-ba13e2c4] {
26
+ .qd-crud-table__toolbar[data-v-d62575f2] {
27
27
  display: flex;
28
28
  justify-content: space-between;
29
29
  }
30
- .qd-crud-table__toolbar:has(.t-space-item) + .qd-service-table[data-v-ba13e2c4] {
30
+ .qd-crud-table__toolbar:has(.t-space-item) + .qd-service-table[data-v-d62575f2] {
31
31
  margin-top: var(--td-comp-margin-l);
32
32
  }
33
- .qd-crud-table__toolbar-separator[data-v-ba13e2c4] {
33
+ .qd-crud-table__toolbar-separator[data-v-d62575f2] {
34
34
  display: inline-block;
35
35
  padding-left: var(--td-comp-paddingLR-s);
36
36
  }
@@ -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 QdCrudTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ba13e2c4"]]);
5
+ const QdCrudTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d62575f2"]]);
6
6
  export {
7
7
  QdCrudTable as default
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.mjs","sources":["../../../../src/components/crud/table/index.vue"],"sourcesContent":["<template>\n <div class=\"qd-crud-table\">\n <slot name=\"header\">\n <qd-crud-search\n v-if=\"reProps.searchOptions?.items?.length\"\n v-show=\"searchVisible\"\n ref=\"search\"\n v-model:data=\"searchData\"\n :class=\"[!searchVisible ? 'qd-crud-search--hide' : '']\"\n v-bind=\"reProps.searchOptions\"\n @submit=\"triggerSearch\"\n @search=\"handleSearch\"\n @reset=\"handleResetSearch\"\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 </qd-crud-search>\n </slot>\n\n <qd-card class=\"qd-crud-table__body\">\n <div class=\"qd-crud-table__toolbar\">\n <t-space align=\"center\" :size=\"0\">\n <slot name=\"actions\">\n <template v-for=\"(item, index) in reProps.actions\" :key=\"item.uid || index\">\n <span\n v-if=\"getActionSeparator(item, { index })\"\n class=\"qd-crud-table__toolbar-separator\"\n ></span>\n\n <qd-config-renderer\n v-hasPermi=\"item.permi\"\n fn-inject-ctx\n :context=\"getConfigRendererCtx(item)\"\n :config=\"{\n is: TButton,\n ...item,\n form: undefined,\n onClick: buildActionOnClick(item),\n disabled: buildActionDisabled(item)\n }\"\n @if-render-change=\"(ifRender) => setActionIfRender(ifRender, item, { index })\"\n />\n </template>\n </slot>\n </t-space>\n\n <t-space align=\"center\" :size=\"0\">\n <slot name=\"tools\">\n <!-- 用户通过 props 配置的工具 -->\n <template v-for=\"(item, index) in reProps.tools\" :key=\"index\">\n <span\n v-if=\"getActionSeparator(item, { index, mapKey: 'tool' })\"\n class=\"qd-crud-table__toolbar-separator\"\n ></span>\n\n <t-tooltip :content=\"item.content\" :disabled=\"!item.content\">\n <qd-config-renderer\n v-hasPermi=\"item.permi\"\n fn-inject-ctx\n :context=\"getConfigRendererCtx(item)\"\n :config=\"{\n is: TButton,\n ...item,\n content: '',\n variant: 'text',\n shape: 'square',\n onClick: buildActionOnClick(item as QdCrudTableAction<D>),\n disabled: buildActionDisabled(item as QdCrudTableAction<D>)\n }\"\n @if-render-change=\"\n (ifRender) => setActionIfRender(ifRender, item, { index, mapKey: 'tool' })\n \"\n />\n </t-tooltip>\n </template>\n\n <!-- 展开/收起搜索 -->\n <template v-if=\"!reProps.hideSearchVisible && reProps.searchOptions?.items?.length\">\n <span class=\"qd-crud-table__toolbar-separator\"></span>\n <t-tooltip :content=\"searchVisible ? t('hideSearchText') : t('showSearchText')\">\n <t-button variant=\"text\" shape=\"square\" @click=\"toggleSearchVisible\">\n <template #icon><search-icon /></template>\n </t-button>\n </t-tooltip>\n </template>\n\n <!-- 刷新列表 -->\n <template v-if=\"!reProps.hideRefresh\">\n <span class=\"qd-crud-table__toolbar-separator\"></span>\n <t-tooltip :content=\"t('refreshText')\">\n <t-button variant=\"text\" shape=\"square\" @click=\"handleRefresh\">\n <template #icon><refresh-icon /></template>\n </t-button>\n </t-tooltip>\n </template>\n\n <!-- 展开/收起树 -->\n <template\n v-if=\"!reProps.hideTreeExpand && !isEmpty(reProps.serviceTableOptions.tree) && !reProps.serviceTableOptions.tree!.lazyLoad\"\n >\n <span class=\"qd-crud-table__toolbar-separator\"></span>\n <t-tooltip :content=\"treeIsExpand ? t('collapseTreeText') : t('expandTreeText')\">\n <t-button variant=\"text\" shape=\"square\" @click=\"toggleTreeExpandAll\">\n <template #icon>\n <unfold-less-icon v-if=\"treeIsExpand\" />\n <unfold-more-icon v-else />\n </template>\n </t-button>\n </t-tooltip>\n </template>\n\n <!-- 列配置 -->\n <template\n v-if=\"\n reProps.serviceTableOptions.columnController?.hideTriggerButton !== true &&\n !reProps.hideColumnController\n \"\n >\n <span class=\"qd-crud-table__toolbar-separator\"></span>\n <t-tooltip :content=\"t('columnControllerText')\">\n <t-button variant=\"text\" shape=\"square\" @click=\"openColumnController\">\n <template #icon><setting-icon /></template>\n </t-button>\n </t-tooltip>\n </template>\n </slot>\n </t-space>\n </div>\n\n <qd-service-table\n ref=\"table\"\n v-model:data=\"data\"\n v-model:selected-row-keys=\"selectedRowKeys\"\n v-model:active-row-keys=\"activeRowKeys\"\n v-model:expanded-row-keys=\"expandedRowKeys\"\n v-model:filter-value=\"filterValue\"\n v-model:sort=\"sort\"\n v-model:expanded-tree-nodes=\"expandedTreeNodes\"\n :columns=\"showColumns\"\n v-bind=\"reProps.serviceTableOptions\"\n >\n <template #operation=\"slotProps\">\n <slot name=\"table-operation\" v-bind=\"slotProps\">\n <t-space v-if=\"reProps.rowActions?.length\" align=\"center\" :size=\"0\" @click.stop>\n <template v-for=\"(item, index) in reProps.rowActions\">\n <t-divider\n v-if=\"\n getActionSeparator(item, {\n colIndex: slotProps.colIndex,\n rowIndex: slotProps.rowIndex,\n index\n })\n \"\n :key=\"`${slotProps.colIndex}.${slotProps.rowIndex}.${index}.divider`\"\n layout=\"vertical\"\n />\n\n <qd-config-renderer\n v-if=\"true\"\n :key=\"`${slotProps.colIndex}.${slotProps.rowIndex}.${index}.renderer`\"\n v-hasPermi=\"item.permi\"\n fn-inject-ctx\n :context=\"getConfigRendererCtx(item, slotProps)\"\n :config=\"{ is: TLink, ...item, onClick: buildActionOnClick(item, slotProps) }\"\n @if-render-change=\"\n (ifRender) =>\n setActionIfRender(ifRender, item, {\n colIndex: slotProps.colIndex,\n rowIndex: slotProps.rowIndex,\n index\n })\n \"\n />\n </template>\n </t-space>\n </slot>\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-service-table>\n </qd-card>\n\n <qd-config-renderer\n v-for=\"(dialogForm, uid) in dialogFormMap\"\n :key=\"uid\"\n :config=\"{\n is: QdDialogForm,\n ...dialogForm.form,\n vModelVisible: 'self.visible',\n vModelData: 'self.data',\n crudMode: dialogForm.crudMode\n }\"\n :context=\"getConfigRendererCtx(dialogForm)\"\n />\n\n <qd-columns-controller\n v-model:visible=\"columnControllerVisible\"\n v-model:columns=\"mergeColumns\"\n :default-columns=\"reProps.columns\"\n />\n </div>\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 { useLocalStorage, useVModels } from '@vueuse/core'\n import { cloneDeep, get, merge } from 'lodash-es'\n import type { ServiceMaybePageParams, ServicePageParams, ServicePagination } from 'qidian-shared'\n import {\n createExposeProxy,\n easyCopy,\n extractSlotsWithPrefix,\n generateRandomString,\n isEmpty,\n MD5,\n suspectedWrapperPromise,\n to\n } from 'qidian-shared'\n import {\n AddIcon,\n DeleteIcon,\n RefreshIcon,\n SearchIcon,\n SettingIcon,\n UnfoldLessIcon,\n UnfoldMoreIcon\n } from 'tdesign-icons-vue-next'\n import type {\n EnhancedTableInstanceFunctions,\n PrimaryTableCellParams,\n TableRowData,\n TableRowValue\n } from 'tdesign-vue-next'\n import {\n Button as TButton,\n Divider as TDivider,\n Link as TLink,\n Space as TSpace,\n Tooltip as TTooltip\n } from 'tdesign-vue-next'\n import type { ShallowRef } from 'vue'\n import {\n computed,\n nextTick,\n onMounted,\n reactive,\n ref,\n shallowRef,\n toRef,\n triggerRef,\n useTemplateRef\n } from 'vue'\n\n import { hasPermiDirective } from '../../../directive'\n import { useModal } from '../../../hooks'\n import { auth } from '../../../utils'\n import { QdCard } from '../../card'\n import { QdColumnsController } from '../../columns-controller'\n import { useConfig } from '../../config-provider/useConfig'\n import { QdConfigRenderer } from '../../config-renderer'\n import { QdDialogForm } from '../../dialog'\n import type { QdFormSubmitContext } from '../../form'\n import type { QdServiceTableInstanceFunctions, QdServiceTableProps } from '../../service'\n import { QdServiceTable } from '../../service'\n import { qdServiceTableTreeConfig } from '../../service/table/props'\n import { QdCrudSearch } from '../search'\n import type { QdCrudTableCacheCol } from './columnsCache'\n import { getColumnsStorageKey, mergeColumnsWithCache } from './columnsCache'\n import { qdCrudTableProps } from './props'\n import type {\n QdCrudTableAction,\n QdCrudTableDeleteAction,\n QdCrudTableInstanceFunctions,\n QdCrudTableProps,\n QdCrudTableRowAction,\n QdCrudTableTool,\n QdCrudTableWrapper,\n TableDialogServiceRes\n } from './types'\n\n defineOptions({\n name: 'QdCrudTable'\n })\n\n const vHasPermi = hasPermiDirective\n\n type Props = QdCrudTableProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdCrudTableProps)\n const emit = defineEmits<{\n 'update:searchData': [Props['searchData']]\n\n 'update:data': [Props['data']]\n 'update:selectedRowKeys': [Props['selectedRowKeys']]\n 'update:activeRowKeys': [Props['activeRowKeys']]\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 searchData,\n\n data,\n selectedRowKeys,\n activeRowKeys,\n columnControllerVisible,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n } = useVModels<typeof props, keyof typeof emit>(props, emit, { passive: true })\n\n const { t } = useConfig('crud')\n const { msgError, msgSuccess, alertWarning, confirm } = useModal()\n\n const treeIsExpand = computed(() => !!expandedTreeNodes.value?.length)\n\n const dialogFormMap = reactive<\n Record<\n string,\n Pick<QdCrudTableWrapper, 'crudMode'> & {\n visible: boolean\n data?: object\n form: ShallowRef<NonNullable<QdCrudTableWrapper['form']>>\n }\n >\n >({})\n\n const ifRenderMap = reactive<Record<string, boolean | undefined>>({})\n\n const tableRef = useTemplateRef<QdServiceTableInstanceFunctions<D, R, P, TP, Pag>>('table')\n\n const reProps = computed(() => {\n const {\n data,\n searchData: inSearchData,\n selectedRowKeys,\n activeRowKeys,\n columnControllerVisible,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\n transformParams,\n\n tableMinHeight,\n\n search,\n form,\n detail,\n\n add,\n actions,\n\n edit,\n view,\n del,\n rowActions,\n tools,\n\n hideSearchVisible,\n hideRefresh,\n hideTreeExpand,\n hideColumnController,\n\n title,\n columns,\n selectType,\n ...serviceTableOptions\n } = props\n\n const mergedTransformParams = (params: ServiceMaybePageParams<Pag>) => {\n const merged = { ...params, ...searchData.value } as ServiceMaybePageParams<Pag>\n if (transformParams) return transformParams(merged)\n return merged\n }\n\n const reAdd = mergeAction(\n { crudMode: 'add', permiID: 'add', content: t('addText'), icon: () => <AddIcon /> },\n add,\n form\n )\n const reActions = [reAdd, ...buildActions(actions, form)].filter(\n Boolean\n ) as QdCrudTableAction<D>[]\n\n const reEdit = mergeAction(\n {\n crudMode: 'edit',\n permiID: 'edit',\n content: t('editText'),\n theme: 'primary',\n hover: 'color'\n },\n edit,\n form\n )\n const reView = mergeAction(\n {\n crudMode: 'view',\n permiID: 'query',\n content: t('viewText'),\n theme: 'primary',\n hover: 'color'\n },\n view,\n form\n )\n const reDel = mergeAction(\n {\n crudMode: 'del',\n permiID: 'remove',\n content: t('deleteText'),\n theme: 'danger',\n hover: 'color',\n selectType: 'multiple'\n },\n del,\n form\n )\n const reRowActions = [reEdit, reView, ...buildActions(rowActions, form), reDel].filter(\n Boolean\n ) as QdCrudTableRowAction<D>[]\n\n let reSelectType = selectType\n const isBatchDel = reDel?.selectType === 'multiple'\n if ((!reSelectType && isBatchDel) || reActions.find((item) => item.selectType === 'multiple')) {\n reSelectType = 'multiple'\n }\n if (isBatchDel) {\n const batchDel = mergeAction(\n {\n crudMode: 'del',\n permiID: 'remove',\n content: t('batchDeleteText'),\n theme: 'danger',\n variant: 'outline',\n selectType: 'multiple',\n icon: () => <DeleteIcon />\n },\n del,\n form\n )\n\n reActions.splice(reAdd ? 1 : 0, 0, batchDel as QdCrudTableAction<D>)\n }\n\n const reColumns = columns || []\n const operationLength = reRowActions.length\n if (operationLength) {\n const operationIdx = reColumns.findIndex((item) => item.colKey === 'operation')\n const defaultOperation: (typeof reColumns)[number] = {\n title: t('operationText'),\n colKey: 'operation',\n align: 'center',\n fixed: 'right',\n width: 28 * operationLength + 25 * operationLength - 1 + 32\n }\n\n if (operationIdx > -1) {\n reColumns[operationIdx] = {\n ...defaultOperation,\n ...reColumns[operationIdx]\n }\n } else {\n reColumns.push(defaultOperation)\n }\n }\n\n const reTools = tools?.map((item) => {\n item.permi = buildActionPermi(item)\n return item\n })\n\n let reTableMinHeight = 'auto'\n if (tableMinHeight !== false) {\n if (typeof tableMinHeight === 'number') {\n reTableMinHeight = `${tableMinHeight}px`\n } else {\n reTableMinHeight = typeof tableMinHeight === 'string' ? tableMinHeight : '443px'\n }\n }\n\n return {\n title,\n tableMinHeight: reTableMinHeight,\n hideSearchVisible,\n hideRefresh,\n hideTreeExpand,\n hideColumnController,\n columns: reColumns,\n\n searchOptions: {\n ...search,\n btnDisabled: search?.btnDisabled ?? tableRef.value?.loading\n },\n serviceTableOptions: {\n ...serviceTableOptions,\n selectType: reSelectType,\n transformParams: mergedTransformParams\n } as Omit<QdServiceTableProps<D, R, P, TP, Pag>, 'columns'>,\n\n formOptions: form,\n detailOptions: detail,\n actions: reActions,\n rowActions: reRowActions,\n tools: reTools,\n\n models: {\n data,\n searchData: inSearchData,\n selectedRowKeys,\n activeRowKeys,\n columnControllerVisible,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n }\n }\n })\n\n const finalCacheColumnsKey = computed(() => {\n const { cacheColumnsKey, permiPrefix, columns } = props\n let key = ''\n\n if (cacheColumnsKey) {\n key = cacheColumnsKey\n } else {\n key = MD5(permiPrefix ? `${permiPrefix}:${JSON.stringify(columns)}` : JSON.stringify(columns))\n }\n\n return getColumnsStorageKey(key)\n })\n\n const cachedColumns = useLocalStorage<QdCrudTableCacheCol[]>(finalCacheColumnsKey, [])\n\n const mergeColumns = computed({\n get: () => {\n const original = reProps.value.columns\n if (!cachedColumns.value) return original\n return mergeColumnsWithCache(original, cachedColumns.value)\n },\n set: (val: QdCrudTableCacheCol[]) => {\n cachedColumns.value = val\n }\n })\n\n const showColumns = computed(() => mergeColumns.value?.filter((item) => !item.hidden))\n\n const searchVisible = ref(true)\n const searchRef = useTemplateRef('search')\n let searchMode: 'refresh' | 'changeCurrent' = 'refresh'\n\n function handleSearch() {\n searchMode = 'changeCurrent'\n }\n\n async function handleResetSearch() {\n searchMode = 'changeCurrent'\n searchRef.value?.reset()\n await nextTick()\n searchRef.value?.submit()\n }\n\n function triggerSearch({ validateResult }: QdFormSubmitContext<typeof searchData.value>) {\n if (validateResult !== true) return\n\n switch (searchMode) {\n case 'changeCurrent':\n tableRef.value?.changeCurrent(1)\n break\n default:\n tableRef.value?.refresh()\n break\n }\n }\n\n function handleRefresh() {\n searchMode = 'refresh'\n const searchRefV = searchRef.value\n if (searchRefV) {\n searchRefV.submit()\n return\n }\n\n tableRef.value?.refresh()\n }\n\n function toggleSearchVisible() {\n searchVisible.value = !searchVisible.value\n }\n\n function toggleTreeExpandAll() {\n if (treeIsExpand.value) (tableRef.value as any)?.foldAll()\n else (tableRef.value as any)?.expandAll()\n }\n\n function openColumnController() {\n columnControllerVisible.value = true\n }\n\n function buildActions<T extends QdCrudTableAction<D> | QdCrudTableRowAction<D>>(\n actions?: T[],\n crudForm?: QdCrudTableWrapper['form']\n ) {\n if (!actions) return []\n\n return actions.map(\n (item) =>\n mergeAction(\n {\n variant: 'outline',\n theme: 'primary',\n hover: 'color'\n } as unknown as T,\n item,\n crudForm\n )!\n )\n }\n\n function mergeAction<\n T extends QdCrudTableAction<D> | QdCrudTableRowAction<D> | QdCrudTableDeleteAction<D>\n >(\n defaultOptions: Partial<T>,\n currentOptions?: boolean | T,\n crudForm?: QdCrudTableWrapper['form']\n ) {\n if (currentOptions === false) return\n\n const mergeOptions = merge({}, defaultOptions, currentOptions)\n if (mergeOptions.crudMode !== 'view' && !currentOptions) return\n\n mergeOptions.permi = buildActionPermi(mergeOptions as QdCrudTableAction<D>)\n if (mergeOptions.crudMode !== 'del') {\n const form = buildActionForm(mergeOptions as QdCrudTableAction, crudForm)\n if (!form && !mergeOptions.onClick) return\n ;(mergeOptions as QdCrudTableAction | QdCrudTableRowAction).form = form\n }\n\n return mergeOptions as T\n }\n\n function getConfigRendererCtx<T = unknown, O = object>(self: T, other?: O) {\n return {\n tableData: data.value,\n searchData: searchData.value,\n selectedRowKeys: selectedRowKeys.value,\n activeRowKeys: activeRowKeys.value,\n self,\n ...other\n }\n }\n\n function actionIsCRU(crudMode: QdCrudTableAction['crudMode']) {\n return crudMode && ['add', 'edit', 'view'].includes(crudMode)\n }\n\n function buildActionPermi(action: QdCrudTableAction<D> | QdCrudTableTool<D>) {\n if (action.permi) return action.permi\n if (!props.permiPrefix || !action.permiID) return []\n return [`${props.permiPrefix}:${action.permiID}`]\n }\n\n function buildActionForm(action: QdCrudTableAction, crudForm?: QdCrudTableWrapper['form']) {\n const IsCRU = actionIsCRU(action.crudMode)\n if (!action.form && IsCRU) {\n action.form = cloneDeep(crudForm)\n }\n\n const { form } = action\n if (form) {\n if (action.crudMode === 'view') form.readonly = true\n\n if (!form.onSubmit && IsCRU) {\n form.onSubmit = async (context: QdFormSubmitContext) => {\n const { uid, service, transformParams, transformRes, crudMode } = action\n if (context.validateResult !== true || !service || !uid || !dialogFormMap[uid]) {\n return false\n }\n\n let currentParams = easyCopy(context.formData)\n\n if (transformParams) {\n const [tpErr, tpRes] = await suspectedWrapperPromise(transformParams(currentParams))\n if (tpErr) throw tpErr\n\n currentParams = tpRes\n }\n\n const [serviceErr, serviceRes] = await suspectedWrapperPromise(service(currentParams))\n if (serviceErr) throw serviceErr\n\n let res: TableDialogServiceRes | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as TableDialogServiceRes\n }\n\n if (typeof res === 'boolean') {\n res = { success: res, message: '' }\n }\n\n if (!res) {\n res = { success: true, message: '' }\n }\n\n const message = res.message\n if (res.success === false) {\n if (message) msgError(message)\n return false\n }\n\n msgSuccess(message || t('operationSuccessText'))\n\n if (crudMode === 'add') {\n tableRef.value?.changeCurrent(1)\n } else {\n tableRef.value?.refresh()\n }\n }\n }\n\n const { title } = props\n form.wrapper = merge(\n {},\n {\n header: `${action.content}${title || ''}`\n },\n form.wrapper\n )\n }\n\n return action.form\n }\n\n function buildActionOnClick(\n action: QdCrudTableAction<D> | QdCrudTableRowAction<D>,\n originalParams?: PrimaryTableCellParams<D>\n ) {\n if (action.onClick) return action.onClick\n\n if (action.crudMode === 'del') {\n // 删除/批量删除\n const onClick = async () => {\n const { service, transformParams, transformRes } = action\n const row = originalParams?.row\n\n if (\n !service ||\n (!row && action.selectType !== 'multiple') ||\n (!row && !selectedRowKeys.value.length && action.selectType === 'multiple')\n ) {\n return\n }\n\n const childrenKey =\n reProps.value.serviceTableOptions.tree?.childrenKey ||\n qdServiceTableTreeConfig.childrenKey\n const rowKey = reProps.value.serviceTableOptions.rowKey || qdCrudTableProps.rowKey\n const treeOpts = reProps.value.serviceTableOptions.tree\n const checkChildren = treeOpts?.delCheckChildren\n const rows = row\n ? [row]\n : selectedRowKeys.value\n .map((item: TableRowValue) => {\n const getData = tableRef.value?.getData\n if (getData) {\n return props.tree\n ? ((getData(item) as ReturnType<EnhancedTableInstanceFunctions['getData']>)\n ?.row as D | undefined)\n : (getData(item) as D | undefined)\n }\n\n return data.value.find((it: D) => get(it, rowKey) === item)\n })\n .filter(Boolean)\n\n if (typeof checkChildren === 'function') {\n let result = await checkChildren({\n row,\n rows,\n selectedRowKeys: selectedRowKeys.value,\n rowKey,\n childrenKey,\n tableData: data.value\n })\n\n if (typeof result === 'boolean') {\n result = { success: result, message: '' }\n }\n\n if (!result) {\n result = { success: true, message: '' }\n }\n\n if (result.success === false) {\n alertWarning(result.message || t('deleteHasChildrenText'))\n return\n }\n } else {\n let delHasChild = false\n const needCheckChildren = checkChildren ?? !treeOpts?.lazyLoad\n\n if (needCheckChildren && !row) {\n delHasChild = rows.some((item: D) => {\n const children = get(item, childrenKey)\n if (isEmpty(children)) return false\n if (children === true) return true\n return children.some(\n (child: D) => !selectedRowKeys.value.includes(get(child, rowKey))\n )\n })\n } else if (needCheckChildren && !isEmpty(row?.[childrenKey])) {\n delHasChild = true\n }\n\n if (delHasChild) {\n alertWarning(t('deleteHasChildrenText'))\n return\n }\n }\n\n confirm(\n { body: t('deleteWrapperBodyText'), ...(action as QdCrudTableDeleteAction).wrapper },\n async () => {\n const params = row || selectedRowKeys.value\n let currentParams = row\n ? params[reProps.value.serviceTableOptions.rowKey || qdCrudTableProps.rowKey]\n : selectedRowKeys.value\n\n if (transformParams) {\n const [tpErr, tpRes] = await suspectedWrapperPromise(\n transformParams(easyCopy(params))\n )\n if (tpErr) throw tpErr\n\n currentParams = tpRes\n }\n\n const [serviceErr, serviceRes] = await suspectedWrapperPromise(service(currentParams))\n if (serviceErr) throw serviceErr\n\n let res: TableDialogServiceRes | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as TableDialogServiceRes\n }\n\n if (typeof res === 'boolean') {\n res = { success: res, message: '' }\n }\n\n if (!res) {\n res = { success: true, message: '' }\n }\n\n const message = res.message\n if (res.success === false) {\n if (message) msgError(message)\n return false\n }\n\n msgSuccess(message || t('deleteSuccessText'))\n if (!row) selectedRowKeys.value = []\n tableRef.value?.refresh()\n return true\n }\n )\n }\n\n return onClick\n }\n\n if (isEmpty(action.form) || !actionIsCRU(action.crudMode)) return\n\n // 新增/编辑/查看\n const onClick = async () => {\n if (!action.uid) action.uid = generateRandomString(16)\n\n const uid = action.uid!\n if (!dialogFormMap[uid]) {\n dialogFormMap[uid] = {\n visible: false,\n data: {},\n crudMode: action.crudMode,\n form: shallowRef(action.form!)\n }\n }\n const form = toRef(dialogFormMap[uid], 'form')\n\n await nextTick()\n if (!dialogFormMap[uid].data) dialogFormMap[uid].data = {}\n dialogFormMap[uid].visible = true\n\n if (!action.crudMode || !['edit', 'view'].includes(action.crudMode) || !originalParams) {\n return\n }\n\n form.value.loading = true\n triggerRef(form)\n const [err, res] = await to(getDetail(action as QdCrudTableRowAction<D>, originalParams.row))\n form.value.loading = false\n triggerRef(form)\n if (err) {\n Object.assign(dialogFormMap[uid].data, originalParams.row)\n return\n }\n\n Object.assign(dialogFormMap[uid].data, res)\n }\n\n return onClick\n }\n\n function buildActionDisabled(action: QdCrudTableAction<D>) {\n if (action.disabled) return action.disabled\n\n switch (action.selectType) {\n case 'single':\n return selectedRowKeys.value.length !== 1\n case 'multiple':\n return selectedRowKeys.value.length === 0\n default:\n return false\n }\n }\n\n async function getDetail(\n action: QdCrudTableRowAction<D>,\n params: NonNullable<Props['data']>[number]\n ) {\n const { detailOptions } = reProps.value\n const { service, transformParams, transformRes } = { ...detailOptions, ...action.detail }\n\n if (!service && !transformRes) return easyCopy(params)\n\n if (!service) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes!(easyCopy(params)))\n if (trErr) throw trErr\n return trRes\n }\n\n let currentParams = params[reProps.value.serviceTableOptions.rowKey || qdCrudTableProps.rowKey]\n if (transformParams) {\n const [tpErr, tpRes] = await suspectedWrapperPromise(transformParams(easyCopy(params)))\n if (tpErr) throw tpErr\n\n currentParams = tpRes\n }\n\n const [serviceErr, serviceRes] = await suspectedWrapperPromise(service(currentParams))\n if (serviceErr) throw serviceErr\n\n let res\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes\n }\n\n return res\n }\n\n function setActionIfRender(\n compIfRender: boolean,\n action: QdCrudTableAction<D> | QdCrudTableRowAction<D> | QdCrudTableTool<D>,\n cellIndex: Partial<Pick<PrimaryTableCellParams<D>, 'colIndex' | 'rowIndex'>> & {\n index: number\n mapKey?: string\n }\n ) {\n const ifRender = compIfRender && auth.hasPermiOr(action.permi, false)\n const { colIndex, rowIndex, index, mapKey } = cellIndex\n\n if (isEmpty(colIndex) && isEmpty(rowIndex)) {\n ifRenderMap[`${mapKey || 'action'}.${index}`] = ifRender\n return\n }\n\n ifRenderMap[`${colIndex}.${rowIndex}.${index}`] = ifRender\n }\n\n function getActionSeparator(\n action: QdCrudTableAction<D> | QdCrudTableRowAction<D> | QdCrudTableTool<D>,\n cellIndex: Partial<Pick<PrimaryTableCellParams<D>, 'colIndex' | 'rowIndex'>> & {\n index: number\n mapKey?: string\n }\n ) {\n const { index, colIndex, rowIndex, mapKey } = cellIndex\n if (index <= 0) return false\n\n if (isEmpty(colIndex) && isEmpty(rowIndex)) {\n if (ifRenderMap[`${mapKey || 'action'}.${index}`] === false) return false\n for (let i = index - 1; i >= 0; i--) {\n const previousIfRender = ifRenderMap[`${mapKey || 'action'}.${i}`]\n if (previousIfRender !== false) return true\n }\n return false\n }\n\n if (ifRenderMap[`${colIndex}.${rowIndex}.${index}`] === false) return false\n for (let i = index - 1; i >= 0; i--) {\n const previousIfRender = ifRenderMap[`${colIndex}.${rowIndex}.${i}`]\n if (previousIfRender !== false) return true\n }\n return false\n }\n\n defineExpose(\n createExposeProxy({}, tableRef) as QdCrudTableInstanceFunctions<\n D,\n R,\n P,\n TP,\n Pag,\n typeof props.tree extends object ? true : false\n >\n )\n</script>\n\n<style lang=\"less\" scoped>\n .qd-crud-table {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n\n & > .qd-crud-search:not(.qd-crud-search--hide) + &__body {\n margin-top: var(--td-comp-margin-l);\n }\n\n &__body {\n flex: auto;\n\n & > :deep(.t-card__body) {\n height: 100%;\n min-height: 443px;\n display: flex;\n flex-direction: column;\n\n & > .qd-service-table {\n flex: 1 1 0;\n overflow: hidden;\n\n .t-table__pagination {\n padding-bottom: 0;\n }\n }\n }\n }\n\n &__toolbar {\n display: flex;\n justify-content: space-between;\n\n &:has(.t-space-item) + .qd-service-table {\n margin-top: var(--td-comp-margin-l);\n }\n\n &-separator {\n display: inline-block;\n padding-left: var(--td-comp-paddingLR-s);\n }\n }\n }\n</style>\n"],"names":["vHasPermi","hasPermiDirective","props","__props","emit","__emit","searchData","data","selectedRowKeys","activeRowKeys","columnControllerVisible","expandedRowKeys","filterValue","sort","expandedTreeNodes","useVModels","passive","t","useConfig","msgError","msgSuccess","alertWarning","confirm","useModal","treeIsExpand","computed","value","length","dialogFormMap","reactive","ifRenderMap","tableRef","useTemplateRef","reProps","inSearchData","transformParams","tableMinHeight","search","form","detail","add","actions","edit","view","del","rowActions","tools","hideSearchVisible","hideRefresh","hideTreeExpand","hideColumnController","title","columns","selectType","serviceTableOptions","mergedTransformParams","params","merged","reAdd","mergeAction","crudMode","permiID","content","icon","_createVNode2","AddIcon","reActions","buildActions","filter","Boolean","reEdit","theme","hover","reView","reDel","reRowActions","reSelectType","isBatchDel","find","item","batchDel","variant","DeleteIcon","splice","reColumns","operationLength","operationIdx","findIndex","colKey","defaultOperation","align","fixed","width","push","reTools","map","permi","buildActionPermi","reTableMinHeight","searchOptions","btnDisabled","loading","formOptions","detailOptions","models","finalCacheColumnsKey","cacheColumnsKey","permiPrefix","key","MD5","JSON","stringify","getColumnsStorageKey","cachedColumns","useLocalStorage","mergeColumns","get","original","mergeColumnsWithCache","set","val","showColumns","hidden","searchVisible","ref","searchRef","searchMode","handleSearch","handleResetSearch","reset","nextTick","submit","triggerSearch","validateResult","changeCurrent","refresh","handleRefresh","searchRefV","toggleSearchVisible","toggleTreeExpandAll","foldAll","expandAll","openColumnController","crudForm","defaultOptions","currentOptions","mergeOptions","merge","buildActionForm","onClick","getConfigRendererCtx","self","other","tableData","actionIsCRU","includes","action","IsCRU","cloneDeep","readonly","onSubmit","context","uid","service","transformRes","currentParams","easyCopy","formData","tpErr","tpRes","suspectedWrapperPromise","serviceErr","serviceRes","res","trErr","trRes","success","message","wrapper","header","buildActionOnClick","originalParams","row","childrenKey","tree","qdServiceTableTreeConfig","rowKey","qdCrudTableProps","treeOpts","checkChildren","delCheckChildren","rows","getData","it","result","delHasChild","needCheckChildren","lazyLoad","some","children","isEmpty","child","body","generateRandomString","visible","shallowRef","toRef","triggerRef","err","to","getDetail","Object","assign","buildActionDisabled","disabled","setActionIfRender","compIfRender","cellIndex","ifRender","auth","colIndex","rowIndex","index","mapKey","getActionSeparator","i","previousIfRender","__expose","createExposeProxy","_openBlock","_createElementBlock","_hoisted_1","_renderSlot","_ctx","items","_withDirectives","_createBlock","_unref","_mergeProps","$event","class","onSearch","onReset","extractSlotsWithPrefix","$slots","name","filterName","fn","_withCtx","slotProps","originalName","undefined","_createVNode","QdCard","_createElementVNode","_hoisted_2","TSpace","size","_Fragment","_hoisted_3","QdConfigRenderer","config","TButton","onIfRenderChange","_hoisted_4","TTooltip","shape","SearchIcon","RefreshIcon","UnfoldLessIcon","UnfoldMoreIcon","columnController","hideTriggerButton","SettingIcon","_createSlots","operation","_normalizeProps","_guardReactiveProps","TDivider","layout","is","_renderList","dialogForm","QdDialogForm","QdColumnsController"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.mjs","sources":["../../../../src/components/crud/table/index.vue"],"sourcesContent":["<template>\n <div class=\"qd-crud-table\">\n <slot name=\"header\">\n <qd-crud-search\n v-if=\"reProps.searchOptions?.items?.length\"\n v-show=\"searchVisible\"\n ref=\"search\"\n v-model:data=\"searchData\"\n :class=\"[!searchVisible ? 'qd-crud-search--hide' : '']\"\n v-bind=\"reProps.searchOptions\"\n @submit=\"triggerSearch\"\n @search=\"handleSearch\"\n @reset=\"handleResetSearch\"\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 </qd-crud-search>\n </slot>\n\n <qd-card class=\"qd-crud-table__body\">\n <div class=\"qd-crud-table__toolbar\">\n <t-space align=\"center\" :size=\"0\">\n <slot name=\"actions\">\n <template v-for=\"(item, index) in reProps.actions\" :key=\"item.uid || index\">\n <span\n v-if=\"getActionSeparator(item, { index })\"\n class=\"qd-crud-table__toolbar-separator\"\n ></span>\n\n <qd-config-renderer\n v-hasPermi=\"item.permi\"\n fn-inject-ctx\n :context=\"getConfigRendererCtx(item)\"\n :config=\"{\n is: TButton,\n ...item,\n form: undefined,\n onClick: buildActionOnClick(item),\n disabled: buildActionDisabled(item)\n }\"\n @if-render-change=\"(ifRender) => setActionIfRender(ifRender, item, { index })\"\n />\n </template>\n </slot>\n </t-space>\n\n <t-space align=\"center\" :size=\"0\">\n <slot name=\"tools\">\n <!-- 用户通过 props 配置的工具 -->\n <template v-for=\"(item, index) in reProps.tools\" :key=\"index\">\n <span\n v-if=\"getActionSeparator(item, { index, mapKey: 'tool' })\"\n class=\"qd-crud-table__toolbar-separator\"\n ></span>\n\n <t-tooltip :content=\"item.content\" :disabled=\"!item.content\">\n <qd-config-renderer\n v-hasPermi=\"item.permi\"\n fn-inject-ctx\n :context=\"getConfigRendererCtx(item)\"\n :config=\"{\n is: TButton,\n ...item,\n content: '',\n variant: 'text',\n shape: 'square',\n onClick: buildActionOnClick(item as QdCrudTableAction<D>),\n disabled: buildActionDisabled(item as QdCrudTableAction<D>)\n }\"\n @if-render-change=\"\n (ifRender) => setActionIfRender(ifRender, item, { index, mapKey: 'tool' })\n \"\n />\n </t-tooltip>\n </template>\n\n <!-- 展开/收起搜索 -->\n <template v-if=\"!reProps.hideSearchVisible && reProps.searchOptions?.items?.length\">\n <span class=\"qd-crud-table__toolbar-separator\"></span>\n <t-tooltip :content=\"searchVisible ? t('hideSearchText') : t('showSearchText')\">\n <t-button variant=\"text\" shape=\"square\" @click=\"toggleSearchVisible\">\n <template #icon><search-icon /></template>\n </t-button>\n </t-tooltip>\n </template>\n\n <!-- 刷新列表 -->\n <template v-if=\"!reProps.hideRefresh\">\n <span class=\"qd-crud-table__toolbar-separator\"></span>\n <t-tooltip :content=\"t('refreshText')\">\n <t-button variant=\"text\" shape=\"square\" @click=\"handleRefresh\">\n <template #icon><refresh-icon /></template>\n </t-button>\n </t-tooltip>\n </template>\n\n <!-- 展开/收起树 -->\n <template\n v-if=\"!reProps.hideTreeExpand && !isEmpty(reProps.serviceTableOptions.tree) && !reProps.serviceTableOptions.tree!.lazyLoad\"\n >\n <span class=\"qd-crud-table__toolbar-separator\"></span>\n <t-tooltip :content=\"treeIsExpand ? t('collapseTreeText') : t('expandTreeText')\">\n <t-button variant=\"text\" shape=\"square\" @click=\"toggleTreeExpandAll\">\n <template #icon>\n <unfold-less-icon v-if=\"treeIsExpand\" />\n <unfold-more-icon v-else />\n </template>\n </t-button>\n </t-tooltip>\n </template>\n\n <!-- 列配置 -->\n <template\n v-if=\"\n reProps.serviceTableOptions.columnController?.hideTriggerButton !== true &&\n !reProps.hideColumnController\n \"\n >\n <span class=\"qd-crud-table__toolbar-separator\"></span>\n <t-tooltip :content=\"t('columnControllerText')\">\n <t-button variant=\"text\" shape=\"square\" @click=\"openColumnController\">\n <template #icon><setting-icon /></template>\n </t-button>\n </t-tooltip>\n </template>\n </slot>\n </t-space>\n </div>\n\n <qd-service-table\n ref=\"table\"\n v-model:data=\"data\"\n v-model:selected-row-keys=\"selectedRowKeys\"\n v-model:active-row-keys=\"activeRowKeys\"\n v-model:expanded-row-keys=\"expandedRowKeys\"\n v-model:filter-value=\"filterValue\"\n v-model:sort=\"sort\"\n v-model:expanded-tree-nodes=\"expandedTreeNodes\"\n :columns=\"showColumns\"\n v-bind=\"reProps.serviceTableOptions\"\n >\n <template #operation=\"slotProps\">\n <slot name=\"table-operation\" v-bind=\"slotProps\">\n <t-space v-if=\"reProps.rowActions?.length\" align=\"center\" :size=\"0\" @click.stop>\n <template v-for=\"(item, index) in reProps.rowActions\">\n <t-divider\n v-if=\"\n getActionSeparator(item, {\n colIndex: slotProps.colIndex,\n rowIndex: slotProps.rowIndex,\n index\n })\n \"\n :key=\"`${slotProps.colIndex}.${slotProps.rowIndex}.${index}.divider`\"\n layout=\"vertical\"\n />\n\n <qd-config-renderer\n v-if=\"true\"\n :key=\"`${slotProps.colIndex}.${slotProps.rowIndex}.${index}.renderer`\"\n v-hasPermi=\"item.permi\"\n fn-inject-ctx\n :context=\"getConfigRendererCtx(item, slotProps)\"\n :config=\"{ is: TLink, ...item, onClick: buildActionOnClick(item, slotProps) }\"\n @if-render-change=\"\n (ifRender) =>\n setActionIfRender(ifRender, item, {\n colIndex: slotProps.colIndex,\n rowIndex: slotProps.rowIndex,\n index\n })\n \"\n />\n </template>\n </t-space>\n </slot>\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-service-table>\n </qd-card>\n\n <qd-config-renderer\n v-for=\"(dialogForm, uid) in dialogFormMap\"\n :key=\"uid\"\n :config=\"{\n is: QdDialogForm,\n ...dialogForm.form,\n vModelVisible: 'self.visible',\n vModelData: 'self.data',\n crudMode: dialogForm.crudMode\n }\"\n :context=\"getConfigRendererCtx(dialogForm)\"\n />\n\n <qd-columns-controller\n v-model:visible=\"columnControllerVisible\"\n v-model:columns=\"mergeColumns\"\n :default-columns=\"reProps.columns\"\n />\n </div>\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 { useLocalStorage, useVModels } from '@vueuse/core'\n import { cloneDeep, get, merge } from 'lodash-es'\n import type { ServiceMaybePageParams, ServicePageParams, ServicePagination } from 'qidian-shared'\n import {\n createExposeProxy,\n easyCopy,\n extractSlotsWithPrefix,\n generateRandomString,\n isEmpty,\n MD5,\n suspectedWrapperPromise,\n to\n } from 'qidian-shared'\n import {\n AddIcon,\n DeleteIcon,\n RefreshIcon,\n SearchIcon,\n SettingIcon,\n UnfoldLessIcon,\n UnfoldMoreIcon\n } from 'tdesign-icons-vue-next'\n import type {\n EnhancedTableInstanceFunctions,\n PrimaryTableCellParams,\n TableRowData,\n TableRowValue\n } from 'tdesign-vue-next'\n import {\n Button as TButton,\n Divider as TDivider,\n Link as TLink,\n Space as TSpace,\n Tooltip as TTooltip\n } from 'tdesign-vue-next'\n import type { ShallowRef } from 'vue'\n import {\n computed,\n nextTick,\n onMounted,\n reactive,\n ref,\n shallowRef,\n toRef,\n triggerRef,\n useTemplateRef\n } from 'vue'\n\n import { hasPermiDirective } from '../../../directive'\n import { useModal } from '../../../hooks'\n import { auth } from '../../../utils'\n import { QdCard } from '../../card'\n import { QdColumnsController } from '../../columns-controller'\n import { useConfig } from '../../config-provider/useConfig'\n import { QdConfigRenderer } from '../../config-renderer'\n import { QdDialogForm } from '../../dialog'\n import type { QdFormSubmitContext } from '../../form'\n import type { QdServiceTableInstanceFunctions, QdServiceTableProps } from '../../service'\n import { QdServiceTable } from '../../service'\n import { qdServiceTableTreeConfig } from '../../service/table/props'\n import { QdCrudSearch } from '../search'\n import type { QdCrudTableCacheCol } from './columnsCache'\n import { getColumnsStorageKey, mergeColumnsWithCache } from './columnsCache'\n import { qdCrudTableProps } from './props'\n import type {\n QdCrudTableAction,\n QdCrudTableDeleteAction,\n QdCrudTableInstanceFunctions,\n QdCrudTableProps,\n QdCrudTableRowAction,\n QdCrudTableTool,\n QdCrudTableWrapper,\n TableDialogServiceRes\n } from './types'\n\n defineOptions({\n name: 'QdCrudTable'\n })\n\n const vHasPermi = hasPermiDirective\n\n type Props = QdCrudTableProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdCrudTableProps)\n const emit = defineEmits<{\n 'update:searchData': [Props['searchData']]\n\n 'update:data': [Props['data']]\n 'update:selectedRowKeys': [Props['selectedRowKeys']]\n 'update:activeRowKeys': [Props['activeRowKeys']]\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 searchData,\n\n data,\n selectedRowKeys,\n activeRowKeys,\n columnControllerVisible,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n } = useVModels<typeof props, keyof typeof emit>(props, emit, { passive: true })\n\n const { t } = useConfig('crud')\n const { msgError, msgSuccess, alertWarning, confirm } = useModal()\n\n const treeIsExpand = computed(() => !!expandedTreeNodes.value?.length)\n\n const dialogFormMap = reactive<\n Record<\n string,\n Pick<QdCrudTableWrapper, 'crudMode'> & {\n visible: boolean\n data?: object\n form: ShallowRef<NonNullable<QdCrudTableWrapper['form']>>\n }\n >\n >({})\n\n const ifRenderMap = reactive<Record<string, boolean | undefined>>({})\n\n const tableRef = useTemplateRef<QdServiceTableInstanceFunctions<D, R, P, TP, Pag>>('table')\n\n const reProps = computed(() => {\n const {\n data,\n searchData: inSearchData,\n selectedRowKeys,\n activeRowKeys,\n columnControllerVisible,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\n transformParams,\n\n tableMinHeight,\n\n search,\n form,\n detail,\n\n add,\n actions,\n\n edit,\n view,\n del,\n rowActions,\n tools,\n\n hideSearchVisible,\n hideRefresh,\n hideTreeExpand,\n hideColumnController,\n\n title,\n columns,\n selectType,\n ...serviceTableOptions\n } = props\n\n const mergedTransformParams = (params: ServiceMaybePageParams<Pag>) => {\n const merged = { ...params, ...searchData.value } as ServiceMaybePageParams<Pag>\n if (transformParams) return transformParams(merged)\n return merged\n }\n\n const reAdd = mergeAction(\n { crudMode: 'add', permiID: 'add', content: t('addText'), icon: () => <AddIcon /> },\n add,\n form\n )\n const reActions = [reAdd, ...buildActions(actions, form)].filter(\n Boolean\n ) as QdCrudTableAction<D>[]\n\n const reEdit = mergeAction(\n {\n crudMode: 'edit',\n permiID: 'edit',\n content: t('editText'),\n theme: 'primary',\n hover: 'color'\n },\n edit,\n form\n )\n const reView = mergeAction(\n {\n crudMode: 'view',\n permiID: 'query',\n content: t('viewText'),\n theme: 'primary',\n hover: 'color'\n },\n view,\n form\n )\n const reDel = mergeAction(\n {\n crudMode: 'del',\n permiID: 'remove',\n content: t('deleteText'),\n theme: 'danger',\n hover: 'color',\n selectType: 'multiple'\n },\n del,\n form\n )\n const reRowActions = [reEdit, reView, ...buildActions(rowActions, form), reDel].filter(\n Boolean\n ) as QdCrudTableRowAction<D>[]\n\n let reSelectType = selectType\n const isBatchDel = reDel?.selectType === 'multiple'\n if ((!reSelectType && isBatchDel) || reActions.find((item) => item.selectType === 'multiple')) {\n reSelectType = 'multiple'\n }\n if (isBatchDel) {\n const batchDel = mergeAction(\n {\n crudMode: 'del',\n permiID: 'remove',\n content: t('batchDeleteText'),\n theme: 'danger',\n variant: 'outline',\n selectType: 'multiple',\n icon: () => <DeleteIcon />\n },\n del,\n form\n )\n\n reActions.splice(reAdd ? 1 : 0, 0, batchDel as QdCrudTableAction<D>)\n }\n\n const reColumns = columns || []\n const operationLength = reRowActions.length\n if (operationLength) {\n const operationIdx = reColumns.findIndex((item) => item.colKey === 'operation')\n const defaultOperation: (typeof reColumns)[number] = {\n title: t('operationText'),\n colKey: 'operation',\n align: 'center',\n fixed: 'right',\n width: 28 * operationLength + 25 * operationLength - 1 + 32\n }\n\n if (operationIdx > -1) {\n reColumns[operationIdx] = {\n ...defaultOperation,\n ...reColumns[operationIdx]\n }\n } else {\n reColumns.push(defaultOperation)\n }\n }\n\n const reTools = tools?.map((item) => {\n item.permi = buildActionPermi(item)\n return item\n })\n\n let reTableMinHeight = 'auto'\n if (tableMinHeight !== false) {\n if (typeof tableMinHeight === 'number') {\n reTableMinHeight = `${tableMinHeight}px`\n } else {\n reTableMinHeight = typeof tableMinHeight === 'string' ? tableMinHeight : '443px'\n }\n }\n\n return {\n title,\n tableMinHeight: reTableMinHeight,\n hideSearchVisible,\n hideRefresh,\n hideTreeExpand,\n hideColumnController,\n columns: reColumns,\n\n searchOptions: {\n ...search,\n btnDisabled: search?.btnDisabled ?? tableRef.value?.loading\n },\n serviceTableOptions: {\n ...serviceTableOptions,\n selectType: reSelectType,\n transformParams: mergedTransformParams\n } as Omit<QdServiceTableProps<D, R, P, TP, Pag>, 'columns'>,\n\n formOptions: form,\n detailOptions: detail,\n actions: reActions,\n rowActions: reRowActions,\n tools: reTools,\n\n models: {\n data,\n searchData: inSearchData,\n selectedRowKeys,\n activeRowKeys,\n columnControllerVisible,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n }\n }\n })\n\n const finalCacheColumnsKey = computed(() => {\n const { cacheColumnsKey, permiPrefix, columns } = props\n let key = ''\n\n if (cacheColumnsKey) {\n key = cacheColumnsKey\n } else {\n key = MD5(permiPrefix ? `${permiPrefix}:${JSON.stringify(columns)}` : JSON.stringify(columns))\n }\n\n return getColumnsStorageKey(key)\n })\n\n const cachedColumns = useLocalStorage<QdCrudTableCacheCol[]>(finalCacheColumnsKey, [])\n\n const mergeColumns = computed({\n get: () => {\n const original = reProps.value.columns\n if (!cachedColumns.value) return original\n return mergeColumnsWithCache(original, cachedColumns.value)\n },\n set: (val: QdCrudTableCacheCol[]) => {\n cachedColumns.value = val\n }\n })\n\n const showColumns = computed(() => mergeColumns.value?.filter((item) => !item.hidden))\n\n const searchVisible = ref(true)\n const searchRef = useTemplateRef('search')\n let searchMode: 'refresh' | 'changeCurrent' = 'refresh'\n\n function handleSearch() {\n searchMode = 'changeCurrent'\n }\n\n async function handleResetSearch() {\n searchMode = 'changeCurrent'\n searchRef.value?.reset()\n await nextTick()\n searchRef.value?.submit()\n }\n\n function triggerSearch({ validateResult }: QdFormSubmitContext<typeof searchData.value>) {\n if (validateResult !== true) return\n\n switch (searchMode) {\n case 'changeCurrent':\n tableRef.value?.changeCurrent(1)\n break\n default:\n tableRef.value?.refresh()\n break\n }\n }\n\n function handleRefresh() {\n searchMode = 'refresh'\n const searchRefV = searchRef.value\n if (searchRefV) {\n searchRefV.submit()\n return\n }\n\n tableRef.value?.refresh()\n }\n\n function toggleSearchVisible() {\n searchVisible.value = !searchVisible.value\n }\n\n function toggleTreeExpandAll() {\n if (treeIsExpand.value) (tableRef.value as any)?.foldAll()\n else (tableRef.value as any)?.expandAll()\n }\n\n function openColumnController() {\n columnControllerVisible.value = true\n }\n\n function buildActions<T extends QdCrudTableAction<D> | QdCrudTableRowAction<D>>(\n actions?: T[],\n crudForm?: QdCrudTableWrapper['form']\n ) {\n if (!actions) return []\n\n return actions.map(\n (item) =>\n mergeAction(\n {\n variant: 'outline',\n theme: 'primary',\n hover: 'color'\n } as unknown as T,\n item,\n crudForm\n )!\n )\n }\n\n function mergeAction<\n T extends QdCrudTableAction<D> | QdCrudTableRowAction<D> | QdCrudTableDeleteAction<D>\n >(\n defaultOptions: Partial<T>,\n currentOptions?: boolean | T,\n crudForm?: QdCrudTableWrapper['form']\n ) {\n if (currentOptions === false) return\n\n const mergeOptions = merge({}, defaultOptions, currentOptions)\n if (mergeOptions.crudMode !== 'view' && !currentOptions) return\n\n mergeOptions.permi = buildActionPermi(mergeOptions as QdCrudTableAction<D>)\n if (mergeOptions.crudMode !== 'del') {\n const form = buildActionForm(mergeOptions as QdCrudTableAction, crudForm)\n if (!form && !mergeOptions.onClick) return\n ;(mergeOptions as QdCrudTableAction | QdCrudTableRowAction).form = form\n }\n\n return mergeOptions as T\n }\n\n function getConfigRendererCtx<T = unknown, O = object>(self: T, other?: O) {\n return {\n tableData: data.value,\n searchData: searchData.value,\n selectedRowKeys: selectedRowKeys.value,\n activeRowKeys: activeRowKeys.value,\n self,\n ...other\n }\n }\n\n function actionIsCRU(crudMode: QdCrudTableAction['crudMode']) {\n return crudMode && ['add', 'edit', 'view'].includes(crudMode)\n }\n\n function buildActionPermi(action: QdCrudTableAction<D> | QdCrudTableTool<D>) {\n if (action.permi) return action.permi\n if (!props.permiPrefix || !action.permiID) return []\n return [`${props.permiPrefix}:${action.permiID}`]\n }\n\n function buildActionForm(action: QdCrudTableAction, crudForm?: QdCrudTableWrapper['form']) {\n const IsCRU = actionIsCRU(action.crudMode)\n if (!action.form && IsCRU) {\n action.form = cloneDeep(crudForm)\n }\n\n const { form } = action\n if (form) {\n if (action.crudMode === 'view') form.readonly = true\n\n if (!form.onSubmit && IsCRU) {\n form.onSubmit = async (context: QdFormSubmitContext) => {\n const { uid, service, transformParams, transformRes, crudMode } = action\n if (context.validateResult !== true || !service || !uid || !dialogFormMap[uid]) {\n return false\n }\n\n let currentParams = easyCopy(context.formData)\n\n if (transformParams) {\n const [tpErr, tpRes] = await suspectedWrapperPromise(transformParams(currentParams))\n if (tpErr) throw tpErr\n\n currentParams = tpRes\n }\n\n const [serviceErr, serviceRes] = await suspectedWrapperPromise(service(currentParams))\n if (serviceErr) throw serviceErr\n\n let res: TableDialogServiceRes | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as TableDialogServiceRes\n }\n\n if (typeof res === 'boolean') {\n res = { success: res, message: '' }\n }\n\n if (!res) {\n res = { success: true, message: '' }\n }\n\n const message = res.message\n if (res.success === false) {\n if (message) msgError(message)\n return false\n }\n\n msgSuccess(message || t('operationSuccessText'))\n\n if (crudMode === 'add') {\n tableRef.value?.changeCurrent(1)\n } else {\n tableRef.value?.refresh()\n }\n }\n }\n\n const { title } = props\n form.wrapper = merge(\n {},\n {\n header: `${action.content}${title || ''}`\n },\n form.wrapper\n )\n }\n\n return action.form\n }\n\n function buildActionOnClick(\n action: QdCrudTableAction<D> | QdCrudTableRowAction<D>,\n originalParams?: PrimaryTableCellParams<D>\n ) {\n if (action.onClick) return action.onClick\n\n if (action.crudMode === 'del') {\n // 删除/批量删除\n const onClick = async () => {\n const { service, transformParams, transformRes } = action\n const row = originalParams?.row\n\n if (\n !service ||\n (!row && action.selectType !== 'multiple') ||\n (!row && !selectedRowKeys.value.length && action.selectType === 'multiple')\n ) {\n return\n }\n\n const childrenKey =\n reProps.value.serviceTableOptions.tree?.childrenKey ||\n qdServiceTableTreeConfig.childrenKey\n const rowKey = reProps.value.serviceTableOptions.rowKey || qdCrudTableProps.rowKey\n const treeOpts = reProps.value.serviceTableOptions.tree\n const checkChildren = treeOpts?.delCheckChildren\n const rows = row\n ? [row]\n : selectedRowKeys.value\n .map((item: TableRowValue) => {\n const getData = tableRef.value?.getData\n if (getData) {\n return props.tree\n ? ((getData(item) as ReturnType<EnhancedTableInstanceFunctions['getData']>)\n ?.row as D | undefined)\n : (getData(item) as D | undefined)\n }\n\n return data.value.find((it: D) => get(it, rowKey) === item)\n })\n .filter(Boolean)\n\n if (typeof checkChildren === 'function') {\n let result = await checkChildren({\n row,\n rows,\n selectedRowKeys: selectedRowKeys.value,\n rowKey,\n childrenKey,\n tableData: data.value\n })\n\n if (typeof result === 'boolean') {\n result = { success: result, message: '' }\n }\n\n if (!result) {\n result = { success: true, message: '' }\n }\n\n if (result.success === false) {\n alertWarning(result.message || t('deleteHasChildrenText'))\n return\n }\n } else {\n let delHasChild = false\n const needCheckChildren = checkChildren ?? !treeOpts?.lazyLoad\n\n if (needCheckChildren && !row) {\n delHasChild = rows.some((item: D) => {\n const children = get(item, childrenKey)\n if (isEmpty(children)) return false\n if (children === true) return true\n return children.some(\n (child: D) => !selectedRowKeys.value.includes(get(child, rowKey))\n )\n })\n } else if (needCheckChildren && !isEmpty(row?.[childrenKey])) {\n delHasChild = true\n }\n\n if (delHasChild) {\n alertWarning(t('deleteHasChildrenText'))\n return\n }\n }\n\n confirm(\n { body: t('deleteWrapperBodyText'), ...(action as QdCrudTableDeleteAction).wrapper },\n async () => {\n const params = row || selectedRowKeys.value\n let currentParams = row\n ? params[reProps.value.serviceTableOptions.rowKey || qdCrudTableProps.rowKey]\n : selectedRowKeys.value\n\n if (transformParams) {\n const [tpErr, tpRes] = await suspectedWrapperPromise(\n transformParams(easyCopy(params))\n )\n if (tpErr) throw tpErr\n\n currentParams = tpRes\n }\n\n const [serviceErr, serviceRes] = await suspectedWrapperPromise(service(currentParams))\n if (serviceErr) throw serviceErr\n\n let res: TableDialogServiceRes | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as TableDialogServiceRes\n }\n\n if (typeof res === 'boolean') {\n res = { success: res, message: '' }\n }\n\n if (!res) {\n res = { success: true, message: '' }\n }\n\n const message = res.message\n if (res.success === false) {\n if (message) msgError(message)\n return false\n }\n\n msgSuccess(message || t('deleteSuccessText'))\n if (!row) selectedRowKeys.value = []\n tableRef.value?.refresh()\n return true\n }\n )\n }\n\n return onClick\n }\n\n if (isEmpty(action.form) || !actionIsCRU(action.crudMode)) return\n\n // 新增/编辑/查看\n const onClick = async () => {\n if (!action.uid) action.uid = generateRandomString(16)\n\n const uid = action.uid!\n if (!dialogFormMap[uid]) {\n dialogFormMap[uid] = {\n visible: false,\n data: {},\n crudMode: action.crudMode,\n form: shallowRef(action.form!)\n }\n }\n const form = toRef(dialogFormMap[uid], 'form')\n\n await nextTick()\n if (!dialogFormMap[uid].data) dialogFormMap[uid].data = {}\n dialogFormMap[uid].visible = true\n\n if (!action.crudMode || !['edit', 'view'].includes(action.crudMode) || !originalParams) {\n return\n }\n\n form.value.loading = true\n triggerRef(form)\n const [err, res] = await to(getDetail(action as QdCrudTableRowAction<D>, originalParams.row))\n form.value.loading = false\n triggerRef(form)\n if (err) {\n Object.assign(dialogFormMap[uid].data, originalParams.row)\n return\n }\n\n Object.assign(dialogFormMap[uid].data, res)\n }\n\n return onClick\n }\n\n function buildActionDisabled(action: QdCrudTableAction<D>) {\n if (action.disabled) return action.disabled\n\n switch (action.selectType) {\n case 'single':\n return selectedRowKeys.value.length !== 1\n case 'multiple':\n return selectedRowKeys.value.length === 0\n default:\n return false\n }\n }\n\n async function getDetail(\n action: QdCrudTableRowAction<D>,\n params: NonNullable<Props['data']>[number]\n ) {\n const { detailOptions } = reProps.value\n const { service, transformParams, transformRes } = { ...detailOptions, ...action.detail }\n\n if (!service && !transformRes) return easyCopy(params)\n\n if (!service) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes!(easyCopy(params)))\n if (trErr) throw trErr\n return trRes\n }\n\n let currentParams = params[reProps.value.serviceTableOptions.rowKey || qdCrudTableProps.rowKey]\n if (transformParams) {\n const [tpErr, tpRes] = await suspectedWrapperPromise(transformParams(easyCopy(params)))\n if (tpErr) throw tpErr\n\n currentParams = tpRes\n }\n\n const [serviceErr, serviceRes] = await suspectedWrapperPromise(service(currentParams))\n if (serviceErr) throw serviceErr\n\n let res\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes\n }\n\n return res\n }\n\n function setActionIfRender(\n compIfRender: boolean,\n action: QdCrudTableAction<D> | QdCrudTableRowAction<D> | QdCrudTableTool<D>,\n cellIndex: Partial<Pick<PrimaryTableCellParams<D>, 'colIndex' | 'rowIndex'>> & {\n index: number\n mapKey?: string\n }\n ) {\n const ifRender = compIfRender && auth.hasPermiOr(action.permi, false)\n const { colIndex, rowIndex, index, mapKey } = cellIndex\n\n if (isEmpty(colIndex) && isEmpty(rowIndex)) {\n ifRenderMap[`${mapKey || 'action'}.${index}`] = ifRender\n return\n }\n\n ifRenderMap[`${colIndex}.${rowIndex}.${index}`] = ifRender\n }\n\n function getActionSeparator(\n action: QdCrudTableAction<D> | QdCrudTableRowAction<D> | QdCrudTableTool<D>,\n cellIndex: Partial<Pick<PrimaryTableCellParams<D>, 'colIndex' | 'rowIndex'>> & {\n index: number\n mapKey?: string\n }\n ) {\n const { index, colIndex, rowIndex, mapKey } = cellIndex\n if (index <= 0) return false\n\n if (isEmpty(colIndex) && isEmpty(rowIndex)) {\n if (ifRenderMap[`${mapKey || 'action'}.${index}`] === false) return false\n for (let i = index - 1; i >= 0; i--) {\n const previousIfRender = ifRenderMap[`${mapKey || 'action'}.${i}`]\n if (previousIfRender !== false) return true\n }\n return false\n }\n\n if (ifRenderMap[`${colIndex}.${rowIndex}.${index}`] === false) return false\n for (let i = index - 1; i >= 0; i--) {\n const previousIfRender = ifRenderMap[`${colIndex}.${rowIndex}.${i}`]\n if (previousIfRender !== false) return true\n }\n return false\n }\n\n defineExpose(\n createExposeProxy({}, tableRef) as QdCrudTableInstanceFunctions<\n D,\n R,\n P,\n TP,\n Pag,\n typeof props.tree extends object ? true : false\n >\n )\n</script>\n\n<style lang=\"less\" scoped>\n .qd-crud-table {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n\n & > .qd-crud-search:not(.qd-crud-search--hide) + &__body {\n margin-top: var(--td-comp-margin-l);\n }\n\n &__body {\n flex: auto;\n\n & > :deep(.t-loading__parent > .t-card__body) {\n height: 100%;\n min-height: 443px;\n display: flex;\n flex-direction: column;\n\n & > .qd-service-table {\n flex: 1 1 0;\n overflow: hidden;\n\n .t-table__pagination {\n padding-bottom: 0;\n }\n }\n }\n }\n\n &__toolbar {\n display: flex;\n justify-content: space-between;\n\n &:has(.t-space-item) + .qd-service-table {\n margin-top: var(--td-comp-margin-l);\n }\n\n &-separator {\n display: inline-block;\n padding-left: var(--td-comp-paddingLR-s);\n }\n }\n }\n</style>\n"],"names":["vHasPermi","hasPermiDirective","props","__props","emit","__emit","searchData","data","selectedRowKeys","activeRowKeys","columnControllerVisible","expandedRowKeys","filterValue","sort","expandedTreeNodes","useVModels","passive","t","useConfig","msgError","msgSuccess","alertWarning","confirm","useModal","treeIsExpand","computed","value","length","dialogFormMap","reactive","ifRenderMap","tableRef","useTemplateRef","reProps","inSearchData","transformParams","tableMinHeight","search","form","detail","add","actions","edit","view","del","rowActions","tools","hideSearchVisible","hideRefresh","hideTreeExpand","hideColumnController","title","columns","selectType","serviceTableOptions","mergedTransformParams","params","merged","reAdd","mergeAction","crudMode","permiID","content","icon","_createVNode2","AddIcon","reActions","buildActions","filter","Boolean","reEdit","theme","hover","reView","reDel","reRowActions","reSelectType","isBatchDel","find","item","batchDel","variant","DeleteIcon","splice","reColumns","operationLength","operationIdx","findIndex","colKey","defaultOperation","align","fixed","width","push","reTools","map","permi","buildActionPermi","reTableMinHeight","searchOptions","btnDisabled","loading","formOptions","detailOptions","models","finalCacheColumnsKey","cacheColumnsKey","permiPrefix","key","MD5","JSON","stringify","getColumnsStorageKey","cachedColumns","useLocalStorage","mergeColumns","get","original","mergeColumnsWithCache","set","val","showColumns","hidden","searchVisible","ref","searchRef","searchMode","handleSearch","handleResetSearch","reset","nextTick","submit","triggerSearch","validateResult","changeCurrent","refresh","handleRefresh","searchRefV","toggleSearchVisible","toggleTreeExpandAll","foldAll","expandAll","openColumnController","crudForm","defaultOptions","currentOptions","mergeOptions","merge","buildActionForm","onClick","getConfigRendererCtx","self","other","tableData","actionIsCRU","includes","action","IsCRU","cloneDeep","readonly","onSubmit","context","uid","service","transformRes","currentParams","easyCopy","formData","tpErr","tpRes","suspectedWrapperPromise","serviceErr","serviceRes","res","trErr","trRes","success","message","wrapper","header","buildActionOnClick","originalParams","row","childrenKey","tree","qdServiceTableTreeConfig","rowKey","qdCrudTableProps","treeOpts","checkChildren","delCheckChildren","rows","getData","it","result","delHasChild","needCheckChildren","lazyLoad","some","children","isEmpty","child","body","generateRandomString","visible","shallowRef","toRef","triggerRef","err","to","getDetail","Object","assign","buildActionDisabled","disabled","setActionIfRender","compIfRender","cellIndex","ifRender","auth","colIndex","rowIndex","index","mapKey","getActionSeparator","i","previousIfRender","__expose","createExposeProxy","_openBlock","_createElementBlock","_hoisted_1","_renderSlot","_ctx","items","_withDirectives","_createBlock","_unref","_mergeProps","$event","class","onSearch","onReset","extractSlotsWithPrefix","$slots","name","filterName","fn","_withCtx","slotProps","originalName","undefined","_createVNode","QdCard","_createElementVNode","_hoisted_2","TSpace","size","_Fragment","_hoisted_3","QdConfigRenderer","config","TButton","onIfRenderChange","_hoisted_4","TTooltip","shape","SearchIcon","RefreshIcon","UnfoldLessIcon","UnfoldMoreIcon","columnController","hideTriggerButton","SettingIcon","_createSlots","operation","_normalizeProps","_guardReactiveProps","TDivider","layout","is","_renderList","dialogForm","QdDialogForm","QdColumnsController"],"mappings":"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"}
@@ -1,27 +1,27 @@
1
- .qd-dialog-table-select[data-v-c99cf844] {
1
+ .qd-dialog-table-select[data-v-65f4f228] {
2
2
  width: 100%;
3
3
  }
4
- .qd-dialog-table-select__trigger[data-v-c99cf844] {
4
+ .qd-dialog-table-select__trigger[data-v-65f4f228] {
5
5
  width: 100%;
6
6
  }
7
- .qd-dialog-table-select__trigger[data-v-c99cf844]:not(.qd-dialog-table-select__trigger--readonly):not(.qd-dialog-table-select__trigger--disabled) {
7
+ .qd-dialog-table-select__trigger[data-v-65f4f228]: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-c99cf844] .qd-crud-search > .t-card__body,
11
- .qd-dialog-table-select__table[data-v-c99cf844] .qd-crud-table__body > .t-card__body {
10
+ .qd-dialog-table-select__table[data-v-65f4f228] .qd-crud-search > .t-loading__parent > .t-card__body,
11
+ .qd-dialog-table-select__table[data-v-65f4f228] .qd-crud-table__body > .t-loading__parent > .t-card__body {
12
12
  padding: 0 !important;
13
13
  }
14
- .qd-dialog-table-select__table[data-v-c99cf844] .qd-crud-table__toolbar {
14
+ .qd-dialog-table-select__table[data-v-65f4f228] .qd-crud-table__toolbar {
15
15
  display: none;
16
16
  }
17
- .qd-dialog-table-select__table[data-v-c99cf844] .qd-service-table {
17
+ .qd-dialog-table-select__table[data-v-65f4f228] .qd-service-table {
18
18
  margin-top: 0;
19
19
  }
20
- .qd-dialog-table-select__table-add[data-v-c99cf844] {
20
+ .qd-dialog-table-select__table-add[data-v-65f4f228] {
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-c99cf844] {
24
+ .qd-dialog-table-select__table-add .t-input__wrap[data-v-65f4f228] {
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-c99cf844"]]);
5
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-65f4f228"]]);
6
6
  export {
7
7
  index as default
8
8
  };
@@ -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 :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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6JE,UAAMA,QAAQC;AACd,UAAMC,OAAOC;AAYb,UAAM;AAAA,MACJC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,IACF,IAAIC,WAA4Cb,OAAOE,MAAM;AAAA,MAC3DY,SAAS;AAAA,IACX,CAAC;AAED,UAAM;AAAA,MAAEC;AAAAA,IAAE,IAAIC,UAAU,mBAAmB;AAC3C,UAAMC,aAAaC,YAAW;AAC9B,UAAMC,aAAaC,YAAW;AAC9B,UAAMC,YAAYC,eAA0C,QAAQ;AACpE,UAAMC,WAAWD,eAA6C,OAAO;AAErE,UAAME,cAAcC,IAAI,KAAK;AAC7B,UAAMC,kBAAkBD,IAAyB,EAAE;AACnD,UAAME,eAAeF,IAAS,EAAE;AAChC,QAAIG,qBAA0B,CAAA;AAC9B,QAAIC;AAEJ,UAAMC,YAAYC,SAAS;AAAA,MACzB1B,SAAS;AAAA,MACT2B,OAAO;AAAA,IACT,CAAC;AACD,UAAMC,qBAAqBC,SAAS,MAAMC,QAAQL,UAAUE,KAAK,CAAC;AAElE,UAAMI,UAAUF,SAAS,MAAM;AAC7B,YAAM;AAAA,QACJ9B,YAAAA;AAAAA,QACAC,SAAAA;AAAAA,QACAgC;AAAAA,QACA/B,YAAAA;AAAAA,QACAC,MAAAA;AAAAA,QACAC,yBAAAA;AAAAA,QACAC,iBAAAA;AAAAA,QACAC,aAAAA;AAAAA,QACAC,MAAAA;AAAAA,QACAC,mBAAAA;AAAAA,QACA0B;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QAEA,GAAGC;AAAAA,MACL,IAAI3D;AAEJ,YAAM4D,gBAA+BC,MACnC,IACA;AAAA,QACEC,OAAO;AAAA,QACPC,OAAO;AAAA,QACPC,SAAS;AAAA,QACTC,MAAMA,MAAAC,YAAAC,SAAA,MAAA,IAAA;AAAA,QACNC,SAASrD,EAAE,SAAS;AAAA,QACpBsD,SAASA,MAAM;AACbvC,oBAAUzB,UAAU;AAAA,QACtB;AAAA,MACF,GACA,OAAOiD,WAAW,WAAW;AAAA,QAAEc,SAASd;AAAAA,UAAWA,MACrD;AAEA,YAAMgB,uBAAsCT,MAC1C,IACA;AAAA,QACEO,SAASrD,EAAE,gBAAgB;AAAA,QAC3BsD,SAASE;AAAAA,MACX,GACA,OAAOhB,kBAAkB,WACrB;AAAA,QAAEa,SAASb;AAAAA,QAAed,UAAUR,mBAAmBD;AAAAA,MAAM,IAC7D;AAAA,QAAE,GAAGuB;AAAAA,QAAed,UAAUR,mBAAmBD,SAASuB,eAAed;AAAAA,MAAS,CACxF;AAEA,YAAM+B,sBAAqCX,MACzC,IACA;AAAA,QACEG,SAAS;AAAA,QACTI,SAASrD,EAAE,eAAe;AAAA,QAC1BsD,SAASI;AAAAA,MACX,GACA,OAAOjB,iBAAiB,WAAW;AAAA,QAAEY,SAASZ;AAAAA,UAAiBA,YACjE;AAEA,YAAMkB,kBAAgCb,MACpC,IACA;AAAA,QAAEjB,WAAW;AAAA,MAAK,GAClB,OAAOa,aAAa,WAAW;AAAA,QAAEX,aAAaW;AAAAA,UAAaA,QAC7D;AAEA,YAAMkB,gBAAgBd,MACpB,IACA;AAAA,QAAE,GAAGe;AAAAA,QAAsBC,QAAQ/B;AAAAA,QAAaY;AAAAA,SAChDpB,OACF;AACA,YAAMwC,eAAeH,cAAcG;AACnCH,oBAAcG,eAAe,MAAM;AACjCA,uBAAY;AACZC,yBAAgB;AAAA,MAClB;AACA,YAAMC,WAAWL,cAAcK;AAC/BL,oBAAcK,WAAW,MAAM;AAC7BA,mBAAQ;AACRC,qBAAY;AAAA,MACd;AAEA,YAAMC,SAAS;AAAA,QAAE,GAAGC;AAAAA,QAAqB,GAAGzC;AAAAA;AAE5C,aAAO;AAAA,QACLG;AAAAA,QACAR;AAAAA,QACAK,MAAMwC;AAAAA,QACNE,eAAe;AAAA,UACb5C;AAAAA,UACAD,UAAUtB,WAAWe;AAAAA,UACrBS,UAAUtB,WAAWa;AAAAA,UACrBW;AAAAA,UACAC;AAAAA,UACAE;AAAAA,UACAC;AAAAA;QAEF4B;AAAAA,QACAhB,cAAc;AAAA,UACZ,GAAGA;AAAAA,UACHZ,MAAMM;AAAAA,UACND,QAAQ;AAAA,YACN,GAAGA;AAAAA,YACHiC,MAAMxB,MAAM,CAAA,GAAIyB,+BAA+BlC,QAAQiC,IAAI;AAAA;UAE7DE,YAAa/C,WAAW,aAAa;AAAA,UACrCgD,QAAQN,OAAOlD;AAAAA;QAGjBgB;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAS;AAAAA,QACAU;AAAAA,QACAE;AAAAA,QACAE;AAAAA,QAEAe,QAAQ;AAAA,UACNrF,YAAAA;AAAAA,UACAC,SAAAA;AAAAA,UACAC,YAAAA;AAAAA,UACAC,MAAAA;AAAAA,UACAC,yBAAAA;AAAAA,UACAC,iBAAAA;AAAAA,UACAC,aAAAA;AAAAA,UACAC,MAAAA;AAAAA,UACAC,mBAAAA;AAAAA,QACF;AAAA;IAEJ,CAAC;AAED,UAAM8E,cAAcxD,SAAS,MAAM;AACjC,YAAM;AAAA,QAAEkD;AAAAA,QAAe1C;AAAAA,UAASN,QAAQJ;AAExC,UAAIG,QAAQ/B,WAAW4B,KAAK,EAAG,QAAO2D;AAEtC,UAAIC,aAAaxF,WAAW4B,KAAK,MAAM,SAAS;AAC9C,YAAIoD,cAAczC,cAAc,UAAU;AACxC,iBAAOvC,WAAW4B,MAAM6D,IAAKC,WAA6C;AAAA,YACxE9D,OAAO+D,IAAID,MAAMpD,KAAKV,KAAK;AAAA,YAC3BgE,OAAOD,IAAID,MAAMpD,KAAKsD,KAAK;AAAA,UAC7B,EAAE;AAAA,QACJ;AAEA,eAAO5F,WAAW4B;AAAAA,MACpB;AAEA,UAAIoD,cAAczC,cAAc,UAAU;AACxC,eAAO;AAAA,UAAEX,OAAO+D,IAAI3F,WAAW4B,OAAOU,KAAKV,KAAK;AAAA,UAAGgE,OAAOD,IAAI3F,WAAW4B,OAAOU,KAAKsD,KAAK;AAAA;MAC5F;AAEA,aAAO5F,WAAW4B;AAAAA,IACpB,CAAC;AAED,aAASiE,mBAAmBC,MAAWC,aAAsC;AAC3E,UAAI,CAACA,YAAa,QAAOD;AAEzB,aAAOA,KAAKL,IAAKO,SAAQ;AACvB,YAAI,CAACC,OAAOD,KAAKD,WAAW,EAAG,QAAOC;AAEtC,cAAM;AAAA,UAAE,CAACD,WAAW,GAAGG;AAAAA,UAAG,GAAGC;AAAAA,QAAK,IAAIH;AACtC,eAAOG;AAAAA,MACT,CAAC;AAAA,IACH;AAEA,UAAMC,qBAAqBC,eAAwD;AAAA,MACjFC,aAAaA,CAACC,SAASC,YAAY;AACjC,cAAMC,SAAShF,eAAe+E,QAAQE;AACtCjF,qBAAa+E,QAAQE;AACrB,eAAOD;AAAAA,MACT;AAAA,MACAE,eAAeA,CAACJ,SAASC,YAAY;AACnChF,6BAAqBqE,mBACnBW,QAAQI,iBACR5E,QAAQJ,MAAM2B,aAAasD,MAAMd,WACnC;AAAA,MACF;AAAA,MACAe,eAAeA,CAACP,SAASC,YAAY;AACnChF,6BAAqBqE,mBACnBW,QAAQI,iBACR5E,QAAQJ,MAAM2B,aAAasD,MAAMd,WACnC;AACAgB,sBAAa;AAAA,MACf;AAAA,IACF,CAAC;AAED,mBAAeA,cAAcC,MAAqB;AAChDzF,mBAAaK,QAAQJ;AACrB,YAAM;AAAA,QAAEwD;AAAAA,QAAe1C;AAAAA,UAASN,QAAQJ;AACxC,YAAMqF,WAAW3E,KAAKV;AACtB,YAAMsF,WAAW5E,KAAKsD;AACtB,UAAIZ,cAAczC,cAAc,SAAS;AACvCvC,mBAAW4B,QAAQoD,cAAc5C,WAC7BZ,mBAAmBiE,IAAKC,UAASC,IAAID,MAAMuB,QAAQ,CAAC,IACpDtB,IAAInE,mBAAmB,CAAC,GAAGyF,QAAQ;AAAA,MACzC,OAAO;AACL,cAAMnB,OAAOtE,mBAAmBiE,IAAKC,WAAU;AAAA,UAC7C,CAACuB,QAAQ,GAAGtB,IAAID,MAAMuB,QAAQ;AAAA,UAC9B,CAACC,QAAQ,GAAGvB,IAAID,MAAMwB,QAAQ;AAAA,QAChC,EAAE;AACFlH,mBAAW4B,QAAQoD,cAAc5C,WAAW0D,OAAOA,KAAK,CAAC;AAAA,MAC3D;AAEA,YAAMqB,cAAc,CAClBnH,WAAW4B,OACX;AAAA,QACEwF,QAAQ5F,mBAAmBA,mBAAmB6F,SAAS,CAAC;AAAA,QACxDC,iBAAiB9F;AAAAA,QACjB+F,SAAS;AAAA,MACX,CAAA;AAEFvF,cAAQJ,MAAMkB,WAAW,GAAGqE,WAAW;AAEvC,YAAMpE,YAAYf,QAAQJ,MAAMmB;AAChC,UAAI,CAACA,WAAW;AACd,YAAI,CAACiE,KAAM/G,SAAQ2B,QAAQ;AAC3B;AAAA,MACF;AAEA,UAAI,CAACoF,MAAM;AACT5F,oBAAYQ,QAAQ;AACpB,cAAM,CAAC4F,KAAKC,GAAG,IAAI,MAAMC,wBACvB3E,UAAU,GAAGoE,aAAcQ,YAAW;AACpC1H,kBAAQ2B,QAAQ,CAAC+F;AAAAA,QACnB,CAAC,CACH;AACAvG,oBAAYQ,QAAQ;AACpB,YAAI4F,OAAOC,QAAQ,MAAO;AAE1BxH,gBAAQ2B,QAAQ;AAChB;AAAA,MACF;AAEA,aAAOmB,UAAU,GAAGoE,aAAaH,IAAI;AAAA,IACvC;AAEA,aAASY,aAAa;AACpB,YAAM;AAAA,QAAE5C;AAAAA,UAAkBhD,QAAQJ;AAClC,UAAIoD,cAAc7C,YAAY6C,cAAc3C,SAAU;AAEtDpC,cAAQ2B,QAAQ;AAAA,IAClB;AAEA,aAASiG,YAAYC,SAA4B;AAC/CxG,sBAAgBM,QAAQ,CAAA;AACxBL,mBAAaK,QAAQ,CAAA;AACrB5B,iBAAW4B,QAAQ2D;AAEnBvD,cAAQJ,MAAMkB,WAAWyC,QAAqC;AAAA,QAC5DwC,GAAGD,QAAQC;AAAAA,QACXX,QAAQ;AAAA,QACRE,iBAAiB,CAAA;AAAA,QACjBC,SAAS;AAAA,MACX,CAAC;AACDvF,cAAQJ,MAAMgB,UAAUkF,OAAO;AAAA,IACjC;AAEA,aAAS3D,iBAAiB4D,GAAe;AACvC/F,cAAQJ,MAAMiB,WAAWnB,UAAUE,OAAQ+F,YAAoB;AAC7D1H,gBAAQ2B,QAAQ,CAAC+F;AAAAA,MACnB,CAAC;AACD3F,cAAQJ,MAAMkB,WAAWpB,UAAUE,OAAO;AAAA,QACxCmG;AAAAA,QACAX,QAAQ;AAAA,QACRE,iBAAiB,CAAA;AAAA,QACjBC,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAEA,aAASlD,kBAAkB;AACzB2D,aAAOC,OAAOvG,WAAW;AAAA,QACvBzB,SAAS;AAAA,QACT2B,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAEA,aAAS+C,mBAAmB;AAC1BuD,6BAAoB;AAEpB,YAAM;AAAA,QAAE5F;AAAAA,UAASN,QAAQJ;AACzB,YAAMqF,WAAW3E,KAAKV;AACtB,UAAI4D,aAAaxF,WAAW4B,KAAK,MAAM,SAAS;AAC9CN,wBAAgBM,QAAQ5B,WAAW4B,MAAM6D,IAAKC,UAA4C;AACxF,cAAIF,aAAaE,IAAI,MAAM,UAAU;AACnC,mBAAOC,IAAID,MAAMuB,QAAQ;AAAA,UAC3B;AAEA,iBAAOvB;AAAAA,QACT,CAAC;AAAA,MACH,WAAWF,aAAaxF,WAAW4B,KAAK,MAAM,UAAU;AACtDN,wBAAgBM,QAAQ,CAAC+D,IAAI3F,WAAW4B,OAAOqF,QAAQ,CAAC;AAAA,MAC1D,OAAO;AACL3F,wBAAgBM,QAAQG,QAAQ/B,WAAW4B,KAAK,IAAI,CAAA,IAAK,CAAC5B,WAAW4B,KAAK;AAAA,MAC5E;AAAA,IACF;AAEA,aAASiD,eAAe;AACtB,UAAInD,UAAUzB,QAASoE,iBAAe;AAEtC,UAAIrC,QAAQJ,MAAM2C,cAAc4D,gBAAgB;AAC9ChI,aAAKyB,QAAQ,CAAA;AACb1B,mBAAW0B,QAAQ,CAAA;AACnBN,wBAAgBM,QAAQ,CAAA;AAAA,MAC1B;AAAA,IACF;AAGA,UAAMsG,uBAAuBE,MAC3B,MAAMpG,QAAQJ,MAAMK,aACnBoG,cAAa;AACZ,UAAI,CAACA,UAAUhB,OAAQ;AAEvB9F,mBAAaK,QAAQiE,mBACnBwC,UACArG,QAAQJ,MAAM2B,aAAasD,MAAMd,WACnC;AAAA,IACF,GACA;AAAA,MAAEuC,WAAW;AAAA,MAAMC,MAAM;AAAA,IAAK,CAChC;AAEAC,aACEC,kBAAkB,CAAA,GAAIxH,WAAWE,QAAQ,CAC3C;;8DA/hBAuH,mBA4BM,OA5BNC,WA4BM;AAAA,QA5BDC,OAAM;AAAA,MAAwB,GAASC,KAAAA,QAAM;AAAA,QAAG5E,SAAO2D;AAAAA,OAAU,GAAA,CACpEkB,WA0BOC,KAAAC,QAAA,WAAA;AAAA,QA1BAzH,cAAeA,aAAAK;AAAAA,SAAtB,MA0BO,CAzBLqH,YAwBWC,eAxBXP,WAwBW;AAAA,QAvBRC,OAAK,oCAA2D5G,QAAAJ,MAAQoD,cAAc7C,WAAQ,8CAAA,IAA+DH,QAAAJ,MAAQoD,cAAc3C,WAAQ,8CAAA,EAAA;AAAA,QAK3L,eAAaiD,YAAA1D;AAAAA,QACb4E,SAASjF,aAAAK;AAAAA,QACT,iBAAe;AAAA,MACR,GAAAI,QAAAJ,MAAQoD,eAAa;AAAA,QAC5BpC,SAAOiF;AAAAA,MAAW,CAAA,GAAA;AAAA,QAERsB,oBACT,MAAe,CAAfF,YAAeC,MAAAE,UAAA,CAAA,CAAA;yBAIf,MAA4B,mBAD9BC,mBAOWC,UAAA,MAAAC,WANMhI,aAAAK,OAAR8D,UAAI;8BADb8D,YAOWN,MAAAO,MAAA,GAAA;AAAA,YALRC,KAAKhE,KAAK1D,cAAQM,KAAKV,KAAK;AAAA,YAC5BA,OAAO8D,KAAK1D,cAAQM,KAAKV,KAAK;AAAA,YAC9BgE,OAAOF,KAAK1D,cAAQM,KAAKsD,KAAK;AAAA;6BAE/B,MAA8B,CAA3B+D,gBAAAC,gBAAAlE,KAAK1D,QAAAJ,MAAQU,KAAKsD,KAAK,CAAA,GAAA,CAAA,CAAA;;;;;iEAMlCqD,YA4DYC,oBA5DZP,WA4DY;AAAA,QA3DVtH,KAAI;AAAA,QACIpB,SAASiJ,MAAAjJ,OAAA;AAAA,qFAAAA,QAAO2B,QAAAiI,SAAA;AAAA,QACvB,mBAAiBzI,YAAAQ;AAAAA,MACV,GAAAI,QAAAJ,MAAQ2C,eAAa;AAAA,QAC5BxB,WAASgE;AAAAA,MAAa,CAAA,GAAA;AAAA,yBAEvB,MAoDgB,CApDhBkC,YAoDgBC,oBApDhBP,WAoDgB;AAAA,UAnDdtH,KAAI;AAAA,UACJuH,OAAM;AAAA,UACE,eAAaM,MAAAhJ,UAAA;AAAA,2FAAAA,WAAU0B,QAAAiI,SAAA;AAAA,UACvB1J,MAAM+I,MAAA/I,IAAA;AAAA,+EAAAA,KAAIyB,QAAAiI,SAAA;AAAA,UACV,qBAAmBvI,gBAAAM;AAAAA,4EAAAN,gBAAeM,QAAAiI;AAAAA,UAClC,mBAAiBvI,gBAAAM;AAAAA,0EAAAN,gBAAeM,QAAAiI;AAAAA,UAChC,6BAA2BX,MAAA9I,uBAAA;AAAA,qHAAAA,wBAAuBwB,QAAAiI,SAAA;AAAA,UAClD,oBAAkBX,MAAA7I,eAAA;AAAA,qGAAAA,gBAAeuB,QAAAiI,SAAA;AAAA,UACjC,gBAAcX,MAAA5I,WAAA;AAAA,6FAAAA,YAAWsB,QAAAiI,SAAA;AAAA,UACzBtJ,MAAM2I,MAAA3I,IAAA;AAAA,+EAAAA,KAAIqB,QAAAiI,SAAA;AAAA,UACV,uBAAqBX,MAAA1I,iBAAA;AAAA,yGAAAA,kBAAiBoB,QAAAiI,SAAA;AAAA,UAC9C,oCAAA;AAAA,UACA,mBAAgB;AAAA,QACR,GAAA7H,QAAAJ,MAAQ2B,cAAY;AAAA,UAC3BuG,gBAAeZ,MAAA9C,kBAAA;AAAA,SAAkB,GAAA2D,YAAA;AAAA,UAAA7D,GAAA;AAAA,QAAA,GAAA,CAElBlE,QAAAJ,MAAQa;gBAAY;AAAA,sBAClC,MAcM,CAdKf,UAAUzB,WAArB+J,UAAA,GAAAX,mBAcM,OAdNY,YAcM,CAbJnB,WAEOC,KAAAC,QAAA,aAAA;AAAA,YAFiBtH;AAAAA,aAAxB,MAEO,CADLuH,YAAgFC,cAAhFP,WAAgF;AAAA,YAA9D3I,YAAA0B,UAAUE;AAAAA,YAAV,uBAAAsI,OAAA,CAAA,MAAAA,OAAA,CAAA,IAAAL,YAAAnI,UAAUE,QAAKiI;AAAAA,YAAEM,WAAA;AAAA,aAAkBnI,QAAAJ,MAAQ0C,eAAe,GAAA,MAAA,IAAA,CAAA,YAAA,CAAA,CAAA,UAG9E2E,YAQUC,MAAAkB,KAAA,GAAA;AAAA,YARDzH,MAAK;AAAA,UAAO,GAAA;AAAA,6BACnB,MAEO,CAFPmG,WAEOC,KAAAC,QAAA,mBAAA;AAAA,cAFuBtH;AAAAA,eAA9B,MAEO,CADLuH,YAAkDC,MAAAmB,MAAA,GAAAC,eAAAC,mBAAhCvI,QAAAJ,MAAQsC,oBAAoB,CAAA,GAAA,MAAA,EAAA,CAAA,UAGhD4E,WAEOC,KAAAC,QAAA,kBAAA;AAAA,cAFsBtH;AAAAA,eAA7B,MAEO,CADLuH,YAAiDC,MAAAmB,MAAA,GAAAC,eAAAC,mBAA/BvI,QAAAJ,MAAQwC,mBAAmB,CAAA,GAAA,MAAA,EAAA,CAAA;;kBAKnD0E,WAEOC,KAAAC,QAAA,WAAA;AAAA;YAFsBtH;AAAAA,aAA7B,MAEO,CADLuH,YAAqFC,MAAAmB,MAAA,GAArF1B,WAAqF;AAAA,YAA3EC,OAAM;AAAA,UAAmC,GAAS5G,QAAAJ,MAAQ4B,aAAa,GAAA,MAAA,EAAA,CAAA;;+BAKpE0F,MAAAsB,sBAAA,EAAuBxB,KAAAA,QAAM,QAAA,GAArCtD,UAAI;;YACV+E,MAAA/E,KAAKgF;AAAAA,YAENC,IAAAC,QAFoBC,eAAS,CAE7B/B,WAAqDC,KAAAC,QAAxCtD,KAAKoF,gDAAsBD,SAAS,CAAA,GAAAtF,QAAA,IAAA,CAAA;;uBAIlC2D,MAAAsB,sBAAA,EAAuBxB,KAAAA,QAAM,OAAA,GAArCtD,UAAI;;YACV+E,MAAA/E,KAAKgF;AAAAA,YAENC,IAAAC,QAFoBC,eAAS,CAE7B/B,WAAqDC,KAAAC,QAAxCtD,KAAKoF,gDAAsBD,SAAS,CAAA,GAAAtF,QAAA,IAAA,CAAA;;;;;;;;"}
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-loading__parent > .t-card__body,\n &-table__body > .t-loading__parent > .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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6JE,UAAMA,QAAQC;AACd,UAAMC,OAAOC;AAYb,UAAM;AAAA,MACJC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,IACF,IAAIC,WAA4Cb,OAAOE,MAAM;AAAA,MAC3DY,SAAS;AAAA,IACX,CAAC;AAED,UAAM;AAAA,MAAEC;AAAAA,IAAE,IAAIC,UAAU,mBAAmB;AAC3C,UAAMC,aAAaC,YAAW;AAC9B,UAAMC,aAAaC,YAAW;AAC9B,UAAMC,YAAYC,eAA0C,QAAQ;AACpE,UAAMC,WAAWD,eAA6C,OAAO;AAErE,UAAME,cAAcC,IAAI,KAAK;AAC7B,UAAMC,kBAAkBD,IAAyB,EAAE;AACnD,UAAME,eAAeF,IAAS,EAAE;AAChC,QAAIG,qBAA0B,CAAA;AAC9B,QAAIC;AAEJ,UAAMC,YAAYC,SAAS;AAAA,MACzB1B,SAAS;AAAA,MACT2B,OAAO;AAAA,IACT,CAAC;AACD,UAAMC,qBAAqBC,SAAS,MAAMC,QAAQL,UAAUE,KAAK,CAAC;AAElE,UAAMI,UAAUF,SAAS,MAAM;AAC7B,YAAM;AAAA,QACJ9B,YAAAA;AAAAA,QACAC,SAAAA;AAAAA,QACAgC;AAAAA,QACA/B,YAAAA;AAAAA,QACAC,MAAAA;AAAAA,QACAC,yBAAAA;AAAAA,QACAC,iBAAAA;AAAAA,QACAC,aAAAA;AAAAA,QACAC,MAAAA;AAAAA,QACAC,mBAAAA;AAAAA,QACA0B;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QAEA,GAAGC;AAAAA,MACL,IAAI3D;AAEJ,YAAM4D,gBAA+BC,MACnC,IACA;AAAA,QACEC,OAAO;AAAA,QACPC,OAAO;AAAA,QACPC,SAAS;AAAA,QACTC,MAAMA,MAAAC,YAAAC,SAAA,MAAA,IAAA;AAAA,QACNC,SAASrD,EAAE,SAAS;AAAA,QACpBsD,SAASA,MAAM;AACbvC,oBAAUzB,UAAU;AAAA,QACtB;AAAA,MACF,GACA,OAAOiD,WAAW,WAAW;AAAA,QAAEc,SAASd;AAAAA,UAAWA,MACrD;AAEA,YAAMgB,uBAAsCT,MAC1C,IACA;AAAA,QACEO,SAASrD,EAAE,gBAAgB;AAAA,QAC3BsD,SAASE;AAAAA,MACX,GACA,OAAOhB,kBAAkB,WACrB;AAAA,QAAEa,SAASb;AAAAA,QAAed,UAAUR,mBAAmBD;AAAAA,MAAM,IAC7D;AAAA,QAAE,GAAGuB;AAAAA,QAAed,UAAUR,mBAAmBD,SAASuB,eAAed;AAAAA,MAAS,CACxF;AAEA,YAAM+B,sBAAqCX,MACzC,IACA;AAAA,QACEG,SAAS;AAAA,QACTI,SAASrD,EAAE,eAAe;AAAA,QAC1BsD,SAASI;AAAAA,MACX,GACA,OAAOjB,iBAAiB,WAAW;AAAA,QAAEY,SAASZ;AAAAA,UAAiBA,YACjE;AAEA,YAAMkB,kBAAgCb,MACpC,IACA;AAAA,QAAEjB,WAAW;AAAA,MAAK,GAClB,OAAOa,aAAa,WAAW;AAAA,QAAEX,aAAaW;AAAAA,UAAaA,QAC7D;AAEA,YAAMkB,gBAAgBd,MACpB,IACA;AAAA,QAAE,GAAGe;AAAAA,QAAsBC,QAAQ/B;AAAAA,QAAaY;AAAAA,SAChDpB,OACF;AACA,YAAMwC,eAAeH,cAAcG;AACnCH,oBAAcG,eAAe,MAAM;AACjCA,uBAAY;AACZC,yBAAgB;AAAA,MAClB;AACA,YAAMC,WAAWL,cAAcK;AAC/BL,oBAAcK,WAAW,MAAM;AAC7BA,mBAAQ;AACRC,qBAAY;AAAA,MACd;AAEA,YAAMC,SAAS;AAAA,QAAE,GAAGC;AAAAA,QAAqB,GAAGzC;AAAAA;AAE5C,aAAO;AAAA,QACLG;AAAAA,QACAR;AAAAA,QACAK,MAAMwC;AAAAA,QACNE,eAAe;AAAA,UACb5C;AAAAA,UACAD,UAAUtB,WAAWe;AAAAA,UACrBS,UAAUtB,WAAWa;AAAAA,UACrBW;AAAAA,UACAC;AAAAA,UACAE;AAAAA,UACAC;AAAAA;QAEF4B;AAAAA,QACAhB,cAAc;AAAA,UACZ,GAAGA;AAAAA,UACHZ,MAAMM;AAAAA,UACND,QAAQ;AAAA,YACN,GAAGA;AAAAA,YACHiC,MAAMxB,MAAM,CAAA,GAAIyB,+BAA+BlC,QAAQiC,IAAI;AAAA;UAE7DE,YAAa/C,WAAW,aAAa;AAAA,UACrCgD,QAAQN,OAAOlD;AAAAA;QAGjBgB;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAS;AAAAA,QACAU;AAAAA,QACAE;AAAAA,QACAE;AAAAA,QAEAe,QAAQ;AAAA,UACNrF,YAAAA;AAAAA,UACAC,SAAAA;AAAAA,UACAC,YAAAA;AAAAA,UACAC,MAAAA;AAAAA,UACAC,yBAAAA;AAAAA,UACAC,iBAAAA;AAAAA,UACAC,aAAAA;AAAAA,UACAC,MAAAA;AAAAA,UACAC,mBAAAA;AAAAA,QACF;AAAA;IAEJ,CAAC;AAED,UAAM8E,cAAcxD,SAAS,MAAM;AACjC,YAAM;AAAA,QAAEkD;AAAAA,QAAe1C;AAAAA,UAASN,QAAQJ;AAExC,UAAIG,QAAQ/B,WAAW4B,KAAK,EAAG,QAAO2D;AAEtC,UAAIC,aAAaxF,WAAW4B,KAAK,MAAM,SAAS;AAC9C,YAAIoD,cAAczC,cAAc,UAAU;AACxC,iBAAOvC,WAAW4B,MAAM6D,IAAKC,WAA6C;AAAA,YACxE9D,OAAO+D,IAAID,MAAMpD,KAAKV,KAAK;AAAA,YAC3BgE,OAAOD,IAAID,MAAMpD,KAAKsD,KAAK;AAAA,UAC7B,EAAE;AAAA,QACJ;AAEA,eAAO5F,WAAW4B;AAAAA,MACpB;AAEA,UAAIoD,cAAczC,cAAc,UAAU;AACxC,eAAO;AAAA,UAAEX,OAAO+D,IAAI3F,WAAW4B,OAAOU,KAAKV,KAAK;AAAA,UAAGgE,OAAOD,IAAI3F,WAAW4B,OAAOU,KAAKsD,KAAK;AAAA;MAC5F;AAEA,aAAO5F,WAAW4B;AAAAA,IACpB,CAAC;AAED,aAASiE,mBAAmBC,MAAWC,aAAsC;AAC3E,UAAI,CAACA,YAAa,QAAOD;AAEzB,aAAOA,KAAKL,IAAKO,SAAQ;AACvB,YAAI,CAACC,OAAOD,KAAKD,WAAW,EAAG,QAAOC;AAEtC,cAAM;AAAA,UAAE,CAACD,WAAW,GAAGG;AAAAA,UAAG,GAAGC;AAAAA,QAAK,IAAIH;AACtC,eAAOG;AAAAA,MACT,CAAC;AAAA,IACH;AAEA,UAAMC,qBAAqBC,eAAwD;AAAA,MACjFC,aAAaA,CAACC,SAASC,YAAY;AACjC,cAAMC,SAAShF,eAAe+E,QAAQE;AACtCjF,qBAAa+E,QAAQE;AACrB,eAAOD;AAAAA,MACT;AAAA,MACAE,eAAeA,CAACJ,SAASC,YAAY;AACnChF,6BAAqBqE,mBACnBW,QAAQI,iBACR5E,QAAQJ,MAAM2B,aAAasD,MAAMd,WACnC;AAAA,MACF;AAAA,MACAe,eAAeA,CAACP,SAASC,YAAY;AACnChF,6BAAqBqE,mBACnBW,QAAQI,iBACR5E,QAAQJ,MAAM2B,aAAasD,MAAMd,WACnC;AACAgB,sBAAa;AAAA,MACf;AAAA,IACF,CAAC;AAED,mBAAeA,cAAcC,MAAqB;AAChDzF,mBAAaK,QAAQJ;AACrB,YAAM;AAAA,QAAEwD;AAAAA,QAAe1C;AAAAA,UAASN,QAAQJ;AACxC,YAAMqF,WAAW3E,KAAKV;AACtB,YAAMsF,WAAW5E,KAAKsD;AACtB,UAAIZ,cAAczC,cAAc,SAAS;AACvCvC,mBAAW4B,QAAQoD,cAAc5C,WAC7BZ,mBAAmBiE,IAAKC,UAASC,IAAID,MAAMuB,QAAQ,CAAC,IACpDtB,IAAInE,mBAAmB,CAAC,GAAGyF,QAAQ;AAAA,MACzC,OAAO;AACL,cAAMnB,OAAOtE,mBAAmBiE,IAAKC,WAAU;AAAA,UAC7C,CAACuB,QAAQ,GAAGtB,IAAID,MAAMuB,QAAQ;AAAA,UAC9B,CAACC,QAAQ,GAAGvB,IAAID,MAAMwB,QAAQ;AAAA,QAChC,EAAE;AACFlH,mBAAW4B,QAAQoD,cAAc5C,WAAW0D,OAAOA,KAAK,CAAC;AAAA,MAC3D;AAEA,YAAMqB,cAAc,CAClBnH,WAAW4B,OACX;AAAA,QACEwF,QAAQ5F,mBAAmBA,mBAAmB6F,SAAS,CAAC;AAAA,QACxDC,iBAAiB9F;AAAAA,QACjB+F,SAAS;AAAA,MACX,CAAA;AAEFvF,cAAQJ,MAAMkB,WAAW,GAAGqE,WAAW;AAEvC,YAAMpE,YAAYf,QAAQJ,MAAMmB;AAChC,UAAI,CAACA,WAAW;AACd,YAAI,CAACiE,KAAM/G,SAAQ2B,QAAQ;AAC3B;AAAA,MACF;AAEA,UAAI,CAACoF,MAAM;AACT5F,oBAAYQ,QAAQ;AACpB,cAAM,CAAC4F,KAAKC,GAAG,IAAI,MAAMC,wBACvB3E,UAAU,GAAGoE,aAAcQ,YAAW;AACpC1H,kBAAQ2B,QAAQ,CAAC+F;AAAAA,QACnB,CAAC,CACH;AACAvG,oBAAYQ,QAAQ;AACpB,YAAI4F,OAAOC,QAAQ,MAAO;AAE1BxH,gBAAQ2B,QAAQ;AAChB;AAAA,MACF;AAEA,aAAOmB,UAAU,GAAGoE,aAAaH,IAAI;AAAA,IACvC;AAEA,aAASY,aAAa;AACpB,YAAM;AAAA,QAAE5C;AAAAA,UAAkBhD,QAAQJ;AAClC,UAAIoD,cAAc7C,YAAY6C,cAAc3C,SAAU;AAEtDpC,cAAQ2B,QAAQ;AAAA,IAClB;AAEA,aAASiG,YAAYC,SAA4B;AAC/CxG,sBAAgBM,QAAQ,CAAA;AACxBL,mBAAaK,QAAQ,CAAA;AACrB5B,iBAAW4B,QAAQ2D;AAEnBvD,cAAQJ,MAAMkB,WAAWyC,QAAqC;AAAA,QAC5DwC,GAAGD,QAAQC;AAAAA,QACXX,QAAQ;AAAA,QACRE,iBAAiB,CAAA;AAAA,QACjBC,SAAS;AAAA,MACX,CAAC;AACDvF,cAAQJ,MAAMgB,UAAUkF,OAAO;AAAA,IACjC;AAEA,aAAS3D,iBAAiB4D,GAAe;AACvC/F,cAAQJ,MAAMiB,WAAWnB,UAAUE,OAAQ+F,YAAoB;AAC7D1H,gBAAQ2B,QAAQ,CAAC+F;AAAAA,MACnB,CAAC;AACD3F,cAAQJ,MAAMkB,WAAWpB,UAAUE,OAAO;AAAA,QACxCmG;AAAAA,QACAX,QAAQ;AAAA,QACRE,iBAAiB,CAAA;AAAA,QACjBC,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAEA,aAASlD,kBAAkB;AACzB2D,aAAOC,OAAOvG,WAAW;AAAA,QACvBzB,SAAS;AAAA,QACT2B,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAEA,aAAS+C,mBAAmB;AAC1BuD,6BAAoB;AAEpB,YAAM;AAAA,QAAE5F;AAAAA,UAASN,QAAQJ;AACzB,YAAMqF,WAAW3E,KAAKV;AACtB,UAAI4D,aAAaxF,WAAW4B,KAAK,MAAM,SAAS;AAC9CN,wBAAgBM,QAAQ5B,WAAW4B,MAAM6D,IAAKC,UAA4C;AACxF,cAAIF,aAAaE,IAAI,MAAM,UAAU;AACnC,mBAAOC,IAAID,MAAMuB,QAAQ;AAAA,UAC3B;AAEA,iBAAOvB;AAAAA,QACT,CAAC;AAAA,MACH,WAAWF,aAAaxF,WAAW4B,KAAK,MAAM,UAAU;AACtDN,wBAAgBM,QAAQ,CAAC+D,IAAI3F,WAAW4B,OAAOqF,QAAQ,CAAC;AAAA,MAC1D,OAAO;AACL3F,wBAAgBM,QAAQG,QAAQ/B,WAAW4B,KAAK,IAAI,CAAA,IAAK,CAAC5B,WAAW4B,KAAK;AAAA,MAC5E;AAAA,IACF;AAEA,aAASiD,eAAe;AACtB,UAAInD,UAAUzB,QAASoE,iBAAe;AAEtC,UAAIrC,QAAQJ,MAAM2C,cAAc4D,gBAAgB;AAC9ChI,aAAKyB,QAAQ,CAAA;AACb1B,mBAAW0B,QAAQ,CAAA;AACnBN,wBAAgBM,QAAQ,CAAA;AAAA,MAC1B;AAAA,IACF;AAGA,UAAMsG,uBAAuBE,MAC3B,MAAMpG,QAAQJ,MAAMK,aACnBoG,cAAa;AACZ,UAAI,CAACA,UAAUhB,OAAQ;AAEvB9F,mBAAaK,QAAQiE,mBACnBwC,UACArG,QAAQJ,MAAM2B,aAAasD,MAAMd,WACnC;AAAA,IACF,GACA;AAAA,MAAEuC,WAAW;AAAA,MAAMC,MAAM;AAAA,IAAK,CAChC;AAEAC,aACEC,kBAAkB,CAAA,GAAIxH,WAAWE,QAAQ,CAC3C;;8DA/hBAuH,mBA4BM,OA5BNC,WA4BM;AAAA,QA5BDC,OAAM;AAAA,MAAwB,GAASC,KAAAA,QAAM;AAAA,QAAG5E,SAAO2D;AAAAA,OAAU,GAAA,CACpEkB,WA0BOC,KAAAC,QAAA,WAAA;AAAA,QA1BAzH,cAAeA,aAAAK;AAAAA,SAAtB,MA0BO,CAzBLqH,YAwBWC,eAxBXP,WAwBW;AAAA,QAvBRC,OAAK,oCAA2D5G,QAAAJ,MAAQoD,cAAc7C,WAAQ,8CAAA,IAA+DH,QAAAJ,MAAQoD,cAAc3C,WAAQ,8CAAA,EAAA;AAAA,QAK3L,eAAaiD,YAAA1D;AAAAA,QACb4E,SAASjF,aAAAK;AAAAA,QACT,iBAAe;AAAA,MACR,GAAAI,QAAAJ,MAAQoD,eAAa;AAAA,QAC5BpC,SAAOiF;AAAAA,MAAW,CAAA,GAAA;AAAA,QAERsB,oBACT,MAAe,CAAfF,YAAeC,MAAAE,UAAA,CAAA,CAAA;yBAIf,MAA4B,mBAD9BC,mBAOWC,UAAA,MAAAC,WANMhI,aAAAK,OAAR8D,UAAI;8BADb8D,YAOWN,MAAAO,MAAA,GAAA;AAAA,YALRC,KAAKhE,KAAK1D,cAAQM,KAAKV,KAAK;AAAA,YAC5BA,OAAO8D,KAAK1D,cAAQM,KAAKV,KAAK;AAAA,YAC9BgE,OAAOF,KAAK1D,cAAQM,KAAKsD,KAAK;AAAA;6BAE/B,MAA8B,CAA3B+D,gBAAAC,gBAAAlE,KAAK1D,QAAAJ,MAAQU,KAAKsD,KAAK,CAAA,GAAA,CAAA,CAAA;;;;;iEAMlCqD,YA4DYC,oBA5DZP,WA4DY;AAAA,QA3DVtH,KAAI;AAAA,QACIpB,SAASiJ,MAAAjJ,OAAA;AAAA,qFAAAA,QAAO2B,QAAAiI,SAAA;AAAA,QACvB,mBAAiBzI,YAAAQ;AAAAA,MACV,GAAAI,QAAAJ,MAAQ2C,eAAa;AAAA,QAC5BxB,WAASgE;AAAAA,MAAa,CAAA,GAAA;AAAA,yBAEvB,MAoDgB,CApDhBkC,YAoDgBC,oBApDhBP,WAoDgB;AAAA,UAnDdtH,KAAI;AAAA,UACJuH,OAAM;AAAA,UACE,eAAaM,MAAAhJ,UAAA;AAAA,2FAAAA,WAAU0B,QAAAiI,SAAA;AAAA,UACvB1J,MAAM+I,MAAA/I,IAAA;AAAA,+EAAAA,KAAIyB,QAAAiI,SAAA;AAAA,UACV,qBAAmBvI,gBAAAM;AAAAA,4EAAAN,gBAAeM,QAAAiI;AAAAA,UAClC,mBAAiBvI,gBAAAM;AAAAA,0EAAAN,gBAAeM,QAAAiI;AAAAA,UAChC,6BAA2BX,MAAA9I,uBAAA;AAAA,qHAAAA,wBAAuBwB,QAAAiI,SAAA;AAAA,UAClD,oBAAkBX,MAAA7I,eAAA;AAAA,qGAAAA,gBAAeuB,QAAAiI,SAAA;AAAA,UACjC,gBAAcX,MAAA5I,WAAA;AAAA,6FAAAA,YAAWsB,QAAAiI,SAAA;AAAA,UACzBtJ,MAAM2I,MAAA3I,IAAA;AAAA,+EAAAA,KAAIqB,QAAAiI,SAAA;AAAA,UACV,uBAAqBX,MAAA1I,iBAAA;AAAA,yGAAAA,kBAAiBoB,QAAAiI,SAAA;AAAA,UAC9C,oCAAA;AAAA,UACA,mBAAgB;AAAA,QACR,GAAA7H,QAAAJ,MAAQ2B,cAAY;AAAA,UAC3BuG,gBAAeZ,MAAA9C,kBAAA;AAAA,SAAkB,GAAA2D,YAAA;AAAA,UAAA7D,GAAA;AAAA,QAAA,GAAA,CAElBlE,QAAAJ,MAAQa;gBAAY;AAAA,sBAClC,MAcM,CAdKf,UAAUzB,WAArB+J,UAAA,GAAAX,mBAcM,OAdNY,YAcM,CAbJnB,WAEOC,KAAAC,QAAA,aAAA;AAAA,YAFiBtH;AAAAA,aAAxB,MAEO,CADLuH,YAAgFC,cAAhFP,WAAgF;AAAA,YAA9D3I,YAAA0B,UAAUE;AAAAA,YAAV,uBAAAsI,OAAA,CAAA,MAAAA,OAAA,CAAA,IAAAL,YAAAnI,UAAUE,QAAKiI;AAAAA,YAAEM,WAAA;AAAA,aAAkBnI,QAAAJ,MAAQ0C,eAAe,GAAA,MAAA,IAAA,CAAA,YAAA,CAAA,CAAA,UAG9E2E,YAQUC,MAAAkB,KAAA,GAAA;AAAA,YARDzH,MAAK;AAAA,UAAO,GAAA;AAAA,6BACnB,MAEO,CAFPmG,WAEOC,KAAAC,QAAA,mBAAA;AAAA,cAFuBtH;AAAAA,eAA9B,MAEO,CADLuH,YAAkDC,MAAAmB,MAAA,GAAAC,eAAAC,mBAAhCvI,QAAAJ,MAAQsC,oBAAoB,CAAA,GAAA,MAAA,EAAA,CAAA,UAGhD4E,WAEOC,KAAAC,QAAA,kBAAA;AAAA,cAFsBtH;AAAAA,eAA7B,MAEO,CADLuH,YAAiDC,MAAAmB,MAAA,GAAAC,eAAAC,mBAA/BvI,QAAAJ,MAAQwC,mBAAmB,CAAA,GAAA,MAAA,EAAA,CAAA;;kBAKnD0E,WAEOC,KAAAC,QAAA,WAAA;AAAA;YAFsBtH;AAAAA,aAA7B,MAEO,CADLuH,YAAqFC,MAAAmB,MAAA,GAArF1B,WAAqF;AAAA,YAA3EC,OAAM;AAAA,UAAmC,GAAS5G,QAAAJ,MAAQ4B,aAAa,GAAA,MAAA,EAAA,CAAA;;+BAKpE0F,MAAAsB,sBAAA,EAAuBxB,KAAAA,QAAM,QAAA,GAArCtD,UAAI;;YACV+E,MAAA/E,KAAKgF;AAAAA,YAENC,IAAAC,QAFoBC,eAAS,CAE7B/B,WAAqDC,KAAAC,QAAxCtD,KAAKoF,gDAAsBD,SAAS,CAAA,GAAAtF,QAAA,IAAA,CAAA;;uBAIlC2D,MAAAsB,sBAAA,EAAuBxB,KAAAA,QAAM,OAAA,GAArCtD,UAAI;;YACV+E,MAAA/E,KAAKgF;AAAAA,YAENC,IAAAC,QAFoBC,eAAS,CAE7B/B,WAAqDC,KAAAC,QAAxCtD,KAAKoF,gDAAsBD,SAAS,CAAA,GAAAtF,QAAA,IAAA,CAAA;;;;;;;;"}
@@ -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-6189fd4c"]]);
7
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-777a7929"]]);
8
8
  export {
9
9
  index as default
10
10
  };
@@ -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 :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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsIE,UAAMA,QAAQC;AACd,UAAMC,OAAOC;AAYb,UAAM;AAAA,MACJC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,IACF,IAAIC,WAA4Cb,OAAOE,MAAM;AAAA,MAC3DY,SAAS;AAAA,IACX,CAAC;AAED,UAAM;AAAA,MAAEC;AAAAA,IAAE,IAAIC,UAAU,mBAAmB;AAC3C,UAAMC,aAAaC,YAAW;AAC9B,UAAMC,aAAaC,YAAW;AAC9B,UAAMC,WAAWC,eAA6C,OAAO;AAErE,UAAMC,kBAAkBC,IAAyB,EAAE;AACnD,UAAMC,eAAeD,IAAS,EAAE;AAEhC,UAAME,YAAYC,SAAS;AAAA,MACzBC,SAAS;AAAA,MACTC,OAAO;AAAA,IACT,CAAC;AACD,UAAMC,qBAAqBC,SAAS,MAAMC,QAAQN,UAAUG,KAAK,CAAC;AAElE,UAAMI,UAAUF,SAAS,MAAM;AAC7B,YAAM;AAAA,QACJ3B,YAAAA;AAAAA,QACAC,cAAAA;AAAAA,QACA6B;AAAAA,QACAC;AAAAA,QACA7B,YAAAA;AAAAA,QACAC,MAAM6B;AAAAA,QACN5B,yBAAAA;AAAAA,QACAC,iBAAAA;AAAAA,QACAC,aAAAA;AAAAA,QACAC,MAAAA;AAAAA,QACAC,mBAAAA;AAAAA,QACAyB;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEA,GAAGC;AAAAA,MACL,IAAIvD;AAEJ,YAAMwD,iBAAiBC,MACrB,CAAA,GACAC,qBACA;AAAA,QAAEC,SAAS;AAAA,SACXzB,YACA;AAAA,QACEK,UAAUpB,WAAWU,SAASZ,WAAWY,SAASK,YAAYK;AAAAA,MAChE,CACF;AACA,YAAMqB,kBAAkBJ,eAAeI;AACvCJ,qBAAeI,kBAAkB,CAAChC,SAASiC,YAAY;AACrDD,0BAAkBhC,SAASiC,OAAO;AAElC,YAAIjC,SAAS;AACXkC,iCAAoB;AACpBC,qBAAU;AAAA,QACZ,OAAO;AACL,cAAIrC,UAAUE,QAASoC,iBAAe;AACtC,cAAI/B,QAAQJ,MAAMoC,aAAaC,gBAAgB;AAC7C3D,iBAAKsB,QAAQ,CAAA;AACbvB,YAAAA,YAAWuB,QAAQ,CAAA;AACnBN,4BAAgBM,QAAQ,CAAA;AAAA,UAC1B;AAAA,QACF;AAAA,MACF;AAEA,UAAIsC,qBAAqBX,eAAeY;AACxC,UAAI,CAACD,oBAAoB;AACvBA,6BAAqB;AAAA,MACvB,WAAW,OAAOA,uBAAuB,UAAU;AACjDA,8BAAsB;AAAA,MACxB,WAAWE,aAAaF,kBAAkB,MAAM,SAAS;AACvDA,2BAAmBG,KAAK,gCAAgC;AAAA,MAC1D,WAAWD,aAAaF,kBAAkB,MAAM,UAAU;AAEtDA,2BAGA,gCAAgC,IAAI;AAAA,MACxC;AAEAX,qBAAeY,mBAAmBD;AAElC,YAAMI,gBAA+Bd,MACnC,IACA;AAAA,QACEe,OAAO;AAAA,QACPC,OAAO;AAAA,QACPC,SAAS;AAAA,QACTC,MAAMA,MAAAC,YAAAC,SAAA,MAAA,IAAA;AAAA,QACNC,SAAS/D,EAAE,SAAS;AAAA,QACpBgE,SAASA,MAAM;AACbrD,oBAAUE,UAAU;AAAA,QACtB;AAAA,MACF,GACA,OAAOuB,WAAW,WAAW;AAAA,QAAE2B,SAAS3B;AAAAA,UAAWA,MACrD;AAEA,YAAM6B,uBAAsCvB,MAC1C,IACA;AAAA,QACEqB,SAAS/D,EAAE,gBAAgB;AAAA,QAC3BgE,SAASE;AAAAA,MACX,GACA,OAAO7B,kBAAkB,WACrB;AAAA,QAAE0B,SAAS1B;AAAAA,QAAeb,UAAUT,mBAAmBD;AAAAA,MAAM,IAC7D;AAAA,QAAE,GAAGuB;AAAAA,QAAeb,UAAUT,mBAAmBD,SAASuB,eAAeb;AAAAA,MAAS,CACxF;AAEA,YAAM2C,sBAAqCzB,MACzC,IACA;AAAA,QACEiB,SAAS;AAAA,QACTI,SAAS/D,EAAE,eAAe;AAAA,QAC1BgE,SAASf;AAAAA,MACX,GACA,OAAOX,iBAAiB,WAAW;AAAA,QAAEyB,SAASzB;AAAAA,UAAiBA,YACjE;AAEA,YAAM8B,kBAAgC1B,MACpC,IACA;AAAA,QAAEf,WAAW;AAAA,MAAK,GAClB,OAAOY,aAAa,WAAW;AAAA,QAAEV,aAAaU;AAAAA,UAAaA,QAC7D;AAEA,YAAM8B,SAAS;AAAA,QAAE,GAAGC;AAAAA,QAAqB,GAAG7C;AAAAA;AAE5C,aAAO;AAAA,QACLG;AAAAA,QACAR;AAAAA,QACAK,MAAM4C;AAAAA,QACNnB,cAAcT;AAAAA,QACd8B,eAAe;AAAA,UACbhD;AAAAA,UACAD;AAAAA,UACAE;AAAAA,UACAE;AAAAA,UACAC;AAAAA,UACAE;AAAAA,UACAC;AAAAA;QAEFU,cAAc;AAAA,UACZ,GAAGA;AAAAA,UACHV,MAAMK;AAAAA,UACND,QAAQ;AAAA,YACN,GAAGA;AAAAA,YACHsC,MAAM9B,MAAM,CAAA,GAAI+B,+BAA+BvC,QAAQsC,IAAI;AAAA;UAE7DE,YAAanD,WAAW,aAAa;AAAA,UACrCoD,QAAQN,OAAOvD;AAAAA;QAGjBiB;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAuB;AAAAA,QACAS;AAAAA,QACAE;AAAAA,QACAC;AAAAA,QAEAQ,QAAQ;AAAA,UACNvF,YAAAA;AAAAA,UACAC,cAAAA;AAAAA,UACAC,YAAAA;AAAAA,UACAC,MAAM6B;AAAAA,UACN5B,yBAAAA;AAAAA,UACAC,iBAAAA;AAAAA,UACAC,aAAAA;AAAAA,UACAC,MAAAA;AAAAA,UACAC,mBAAAA;AAAAA,QACF;AAAA;IAEJ,CAAC;AAED,UAAMgF,cAAc7D,SAAS,MAAM;AACjC,YAAM;AAAA,QAAEuD;AAAAA,QAAe9C;AAAAA,UAASP,QAAQJ;AAExC,UAAIG,QAAQ5B,WAAWyB,KAAK,EAAG,QAAOgE;AAEtC,UAAIxB,aAAajE,WAAWyB,KAAK,MAAM,SAAS;AAC9C,YAAIyD,cAAc7C,cAAc,UAAU;AACxC,iBAAOrC,WAAWyB,MAAMiE,IAAKC,WAA6C;AAAA,YACxElE,OAAOmE,IAAID,MAAMvD,KAAKX,KAAK;AAAA,YAC3BoE,OAAOD,IAAID,MAAMvD,KAAKyD,KAAK;AAAA,UAC7B,EAAE;AAAA,QACJ;AAEA,eAAO7F,WAAWyB;AAAAA,MACpB;AAEA,UAAIyD,cAAc7C,cAAc,UAAU;AACxC,eAAO;AAAA,UAAEZ,OAAOmE,IAAI5F,WAAWyB,OAAOW,KAAKX,KAAK;AAAA,UAAGoE,OAAOD,IAAI5F,WAAWyB,OAAOW,KAAKyD,KAAK;AAAA;MAC5F;AAEA,aAAO7F,WAAWyB;AAAAA,IACpB,CAAC;AAED,aAASqE,mBAAmBC,MAAWC,aAAsC;AAC3E,UAAI,CAACA,YAAa,QAAOD;AAEzB,aAAOA,KAAKL,IAAKO,SAAQ;AACvB,YAAI,CAACC,OAAOD,KAAKD,WAAW,EAAG,QAAOC;AAEtC,cAAM;AAAA,UAAE,CAACD,WAAW,GAAGG;AAAAA,UAAG,GAAGC;AAAAA,QAAK,IAAIH;AACtC,eAAOG;AAAAA,MACT,CAAC;AAAA,IACH;AAEA,aAASC,mBAAmBC,SAA8BC,SAA2B;AACnFlF,mBAAaI,QAAQqE,mBACnBS,QAAQC,iBACR3E,QAAQJ,MAAM0B,aAAasD,MAAMT,WACnC;AAEA,YAAM;AAAA,QAAEd;AAAAA,QAAe9C;AAAAA,UAASP,QAAQJ;AACxC,YAAMiF,WAAWtE,KAAKX;AACtB,YAAMkF,WAAWvE,KAAKyD;AACtB,UAAIX,cAAc7C,cAAc,SAAS;AACvCrC,mBAAWyB,QAAQyD,cAAchD,WAC7Bb,aAAaI,MAAMiE,IAAKC,UAASC,IAAID,MAAMe,QAAQ,CAAC,IACpDd,IAAIvE,aAAaI,MAAM,CAAC,GAAGiF,QAAQ;AAAA,MACzC,OAAO;AACL,cAAMX,OAAO1E,aAAaI,MAAMiE,IAAKC,WAAU;AAAA,UAC7C,CAACe,QAAQ,GAAGd,IAAID,MAAMe,QAAQ;AAAA,UAC9B,CAACC,QAAQ,GAAGf,IAAID,MAAMgB,QAAQ;AAAA,QAChC,EAAE;AACF3G,mBAAWyB,QAAQyD,cAAchD,WAAW6D,OAAOA,KAAK,CAAC;AAAA,MAC3D;AAEAlE,cAAQJ,MAAMmB,WAAW5C,WAAWyB,OAAO;AAAA,QACzCmF,QAAQvF,aAAaI,MAAMJ,aAAaI,MAAMoF,SAAS,CAAC;AAAA,QACxDC,iBAAiBzF,aAAaI;AAAAA,QAC9B8B,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAEA,aAASI,aAAa;AACpB,YAAM;AAAA,QAAEvB;AAAAA,UAASP,QAAQJ;AACzB,YAAMiF,WAAWtE,KAAKX;AACtB,UAAIwC,aAAajE,WAAWyB,KAAK,MAAM,SAAS;AAC9CN,wBAAgBM,QAAQzB,WAAWyB,MAAMiE,IAAKC,UAA4C;AACxF,cAAI1B,aAAa0B,IAAI,MAAM,UAAU;AACnC,mBAAOC,IAAID,MAAMe,QAAQ;AAAA,UAC3B;AAEA,iBAAOf;AAAAA,QACT,CAAC;AAAA,MACH,WAAW1B,aAAajE,WAAWyB,KAAK,MAAM,UAAU;AACtDN,wBAAgBM,QAAQ,CAACmE,IAAI5F,WAAWyB,OAAOiF,QAAQ,CAAC;AAAA,MAC1D,OAAO;AACLvF,wBAAgBM,QAAQG,QAAQ5B,WAAWyB,KAAK,IAAI,CAAA,IAAK,CAACzB,WAAWyB,KAAK;AAAA,MAC5E;AAAA,IACF;AAEA,aAASsF,YAAYtD,SAA4B;AAC/CtC,sBAAgBM,QAAQ,CAAA;AACxBJ,mBAAaI,QAAQ,CAAA;AACrBzB,iBAAWyB,QAAQgE;AAEnB5D,cAAQJ,MAAMmB,WAAW6C,QAAqC;AAAA,QAC5DuB,GAAGvD,QAAQuD;AAAAA,QACXJ,QAAQ;AAAA,QACRE,iBAAiB,CAAA;AAAA,QACjBvD,SAAS;AAAA,MACX,CAAC;AACD1B,cAAQJ,MAAMiB,UAAUe,OAAO;AAAA,IACjC;AAEA,aAASoB,iBAAiBmC,GAAe;AACvCnF,cAAQJ,MAAMkB,WAAWrB,UAAUG,KAAK;AACxCI,cAAQJ,MAAMmB,WAAWtB,UAAUG,OAAO;AAAA,QACxCuF;AAAAA,QACAJ,QAAQ;AAAA,QACRE,iBAAiB,CAAA;AAAA,QACjBvD,SAAS;AAAA,MACX,CAAC;AACDtD,mBAAawB,QAAQ;AACrBI,cAAQJ,MAAMoC,aAAaL,kBAAkBvD,aAAawB,OAAO;AAAA,QAC/DuF;AAAAA,QACAzD,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAEA,aAASK,kBAAkB;AACzBqD,aAAOC,OAAO5F,WAAW;AAAA,QACvBE,SAAS;AAAA,QACTC,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAGA,UAAMiC,uBAAuByD,MAC3B,MAAMtF,QAAQJ,MAAMM,aACnBqF,cAAa;AACZ,UAAI,CAACA,UAAUP,OAAQ;AAEvBxF,mBAAaI,QAAQqE,mBACnBsB,UACAvF,QAAQJ,MAAM0B,aAAasD,MAAMT,WACnC;AAAA,IACF,GACA;AAAA,MAAEqB,WAAW;AAAA,MAAMC,MAAM;AAAA,IAAK,CAChC;AAEA,UAAMC,SAAS,CAAA;AAEfC,cAAU,MAAM;AACdP,aAAOC,OAAOK,QAAQtG,SAASQ,KAAK;AAAA,IACtC,CAAC;AAEDgG,aAAaF,MAAM;;AApenB,aAAAG,UAAA,GAAAC,YA+EUC,cA/EVC,WA+EU;AAAA,oBA/EQD,MAAA3H,YAAA;AAAA,6FAAAA,aAAYwB,QAAAqG,SAAA;AAAA,MAAU,GAAAjG,QAAAJ,MAAQoC,YAAY,GAAA;AAAA,QAwB/Ca,iBACT,MAoDgB,CApDhBqD,YAoDgBH,oBApDhBC,WAoDgB;AAAA,UAnDdzG,KAAI;AAAA,UACJ4G,OAAM;AAAA,UACE,eAAaJ,MAAA1H,UAAA;AAAA,2FAAAA,WAAUuB,QAAAqG,SAAA;AAAA,UACvB3H,MAAMyH,MAAAzH,IAAA;AAAA,+EAAAA,KAAIsB,QAAAqG,SAAA;AAAA,UACV,qBAAmB3G,gBAAAM;AAAAA,4EAAAN,gBAAeM,QAAAqG;AAAAA,UAClC,mBAAiB3G,gBAAAM;AAAAA,0EAAAN,gBAAeM,QAAAqG;AAAAA,UAChC,6BAA2BF,MAAAxH,uBAAA;AAAA,qHAAAA,wBAAuBqB,QAAAqG,SAAA;AAAA,UAClD,oBAAkBF,MAAAvH,eAAA;AAAA,qGAAAA,gBAAeoB,QAAAqG,SAAA;AAAA,UACjC,gBAAcF,MAAAtH,WAAA;AAAA,6FAAAA,YAAWmB,QAAAqG,SAAA;AAAA,UACzBvH,MAAMqH,MAAArH,IAAA;AAAA,+EAAAA,KAAIkB,QAAAqG,SAAA;AAAA,UACV,uBAAqBF,MAAApH,iBAAA;AAAA,yGAAAA,kBAAiBiB,QAAAqG,SAAA;AAAA,UAC9C,oCAAA;AAAA,UACA,mBAAgB;AAAA,QACR,GAAAjG,QAAAJ,MAAQ0B,cAAY;AAAA,UAC3B8E,gBAAe5B;AAAAA,SAAkB,GAAA6B,YAAA;AAAA,UAAA/B,GAAA;AAAA,QAAA,GAAA,CAElBtE,QAAAJ,MAAQc;gBAAY;AAAA,sBAClC,MAcM,CAdKjB,UAAUE,WAArBkG,UAAA,GAAAS,mBAcM,OAdNC,YAcM,CAbJC,WAEOC,KAAAC,QAAA,aAAA;AAAA,YAFiBjH;AAAAA,aAAxB,MAEO,CADLyG,YAAgFH,cAAhFC,WAAgF;AAAA,YAA9D7H,YAAAsB,UAAUG;AAAAA,YAAV,uBAAA+G,OAAA,CAAA,MAAAA,OAAA,CAAA,IAAAV,YAAAxG,UAAUG,QAAKqG;AAAAA,YAAEW,WAAA;AAAA,aAAkB5G,QAAAJ,MAAQsD,eAAe,GAAA,MAAA,IAAA,CAAA,YAAA,CAAA,CAAA,UAG9EgD,YAQUH,MAAAc,KAAA,GAAA;AAAA,YARDjG,MAAK;AAAA,UAAO,GAAA;AAAA,6BACnB,MAEO,CAFP4F,WAEOC,KAAAC,QAAA,mBAAA;AAAA,cAFuBjH;AAAAA,eAA9B,MAEO,CADLyG,YAAkDH,MAAAe,MAAA,GAAAC,eAAAC,mBAAhChH,QAAAJ,MAAQmD,oBAAoB,CAAA,GAAA,MAAA,EAAA,CAAA,UAGhDyD,WAEOC,KAAAC,QAAA,kBAAA;AAAA,cAFsBjH;AAAAA,eAA7B,MAEO,CADLyG,YAAiDH,MAAAe,MAAA,GAAAC,eAAAC,mBAA/BhH,QAAAJ,MAAQqD,mBAAmB,CAAA,GAAA,MAAA,EAAA,CAAA;;kBAKnDuD,WAEOC,KAAAC,QAAA,WAAA;AAAA;YAFsBjH;AAAAA,aAA7B,MAEO,CADLyG,YAAoFH,MAAAe,MAAA,GAApFd,WAAoF;AAAA,YAA1EG,OAAM;AAAA,UAAkC,GAASnG,QAAAJ,MAAQ0C,aAAa,GAAA,MAAA,EAAA,CAAA;;+BAKnEyD,MAAAkB,sBAAA,EAAuBP,KAAAA,QAAM,QAAA,GAArC5C,UAAI;;YACVoD,MAAApD,KAAKqD;AAAAA,YAENC,IAAAC,QAFoBC,eAAS,CAE7Bd,WAAqDC,KAAAC,QAAxC5C,KAAKyD,gDAAsBD,SAAS,CAAA,GAAA1D,QAAA,IAAA,CAAA;;uBAIlCmC,MAAAkB,sBAAA,EAAuBP,KAAAA,QAAM,OAAA,GAArC5C,UAAI;;YACVoD,MAAApD,KAAKqD;AAAAA,YAENC,IAAAC,QAFoBC,eAAS,CAE7Bd,WAA6EC,KAAAC,QAAhE5C,KAAKyD,cAAlBvB,WAA6E;AAAA,cAA5CvG;AAAAA,eAA+B6H,SAAS,GAAA1D,QAAA,IAAA,CAAA;;;yBA1E/E,MAqBO,CArBP4C,WAqBOC,KAAAC,QAAA,WAAA;AAAA,UArBAlH,cAAeA,aAAAI;AAAAA,WAAtB,MAqBO,CApBLsG,YAmBWH,eAnBXC,WAmBW;AAAA,UAlBR,eAAarC,YAAA/D;AAAAA,UACb8E,SAASlF,aAAAI;AAAAA,UACT,iBAAe;AAAA,QACR,GAAAI,QAAAJ,MAAQyD,eAAa;AAAA,UAC5BxC,SAAOqE;AAAAA,QAAW,CAAA,GAAA;AAAA,UAERsC,oBACT,MAAe,CAAftB,YAAeH,MAAA0B,UAAA,CAAA,CAAA;2BAIf,MAA4B,mBAD9BnB,mBAOWoB,UAAA,MAAAC,WANMnI,aAAAI,OAARkE,UAAI;gCADbgC,YAOWC,MAAA6B,MAAA,GAAA;AAAA,cALRC,KAAK/D,KAAK9D,cAAQO,KAAKX,KAAK;AAAA,cAC5BA,OAAOkE,KAAK9D,cAAQO,KAAKX,KAAK;AAAA,cAC9BoE,OAAOF,KAAK9D,cAAQO,KAAKyD,KAAK;AAAA;+BAE/B,MAA8B,CAA3B8D,gBAAAC,gBAAAjE,KAAK9D,QAAAJ,MAAQW,KAAKyD,KAAK,CAAA,GAAA,CAAA,CAAA;;;;;;;;;;;"}
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-loading__parent > .t-card__body,\n &-table__body > .t-loading__parent > .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-6189fd4c] .qd-crud-search > .t-card__body,
2
- .qd-popup-table-select__table[data-v-6189fd4c] .qd-crud-table__body > .t-card__body {
1
+ .qd-popup-table-select__table[data-v-777a7929] .qd-crud-search > .t-loading__parent > .t-card__body,
2
+ .qd-popup-table-select__table[data-v-777a7929] .qd-crud-table__body > .t-loading__parent > .t-card__body {
3
3
  padding: 0 !important;
4
4
  }
5
- .qd-popup-table-select__table[data-v-6189fd4c] .qd-crud-table__toolbar {
5
+ .qd-popup-table-select__table[data-v-777a7929] .qd-crud-table__toolbar {
6
6
  display: none;
7
7
  }
8
- .qd-popup-table-select__table[data-v-6189fd4c] .qd-service-table {
8
+ .qd-popup-table-select__table[data-v-777a7929] .qd-service-table {
9
9
  margin-top: 0;
10
10
  }
11
- .qd-popup-table-select__table-add[data-v-6189fd4c] {
11
+ .qd-popup-table-select__table-add[data-v-777a7929] {
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-6189fd4c] {
15
+ .qd-popup-table-select__table-add .t-input__wrap[data-v-777a7929] {
16
16
  flex: 1 1 0;
17
17
  overflow: hidden;
18
18
  margin-right: var(--td-comp-margin-m);
@@ -236,6 +236,11 @@ p {
236
236
  display: flex;
237
237
  flex-direction: column;
238
238
  }
239
+ .t-card > .t-loading__parent {
240
+ flex: auto;
241
+ display: flex;
242
+ flex-direction: column;
243
+ }
239
244
  .t-card__header {
240
245
  padding: var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l) !important;
241
246
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qidian-vue-ui",
3
- "version": "1.2.81",
3
+ "version": "1.2.82",
4
4
  "description": "基于 TDesign 的 QiDian Vue UI 组件库",
5
5
  "author": "qidian",
6
6
  "license": "MIT",