qidian-vue-ui 1.1.37 → 1.1.38
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.
- package/dist/components/service/dialog-table-select/index.vue.mjs +1 -1
- package/dist/components/service/dialog-table-select/index.vue2.mjs +6 -0
- package/dist/components/service/dialog-table-select/index.vue2.mjs.map +1 -1
- package/dist/components/service/dialog-table-select/props.d.ts +1 -0
- package/dist/components/service/dialog-table-select/props.mjs +1 -0
- package/dist/components/service/dialog-table-select/props.mjs.map +1 -1
- package/dist/components/service/dialog-table-select/types.d.ts +1 -1
- package/dist/qidian-vue-ui.css +3 -3
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main from "./index.vue2.mjs";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
-
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4
|
+
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-adb47397"]]);
|
|
5
5
|
export {
|
|
6
6
|
index as default
|
|
7
7
|
};
|
|
@@ -156,6 +156,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
156
156
|
multiple: { type: Boolean },
|
|
157
157
|
readonly: { type: Boolean },
|
|
158
158
|
disabled: { type: Boolean },
|
|
159
|
+
placeholder: {},
|
|
160
|
+
clearable: { type: Boolean },
|
|
159
161
|
keys: {},
|
|
160
162
|
size: {},
|
|
161
163
|
valueType: {},
|
|
@@ -204,6 +206,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
204
206
|
disabled,
|
|
205
207
|
keys,
|
|
206
208
|
valueType,
|
|
209
|
+
clearable,
|
|
210
|
+
placeholder,
|
|
207
211
|
size,
|
|
208
212
|
onClear,
|
|
209
213
|
onChange,
|
|
@@ -218,6 +222,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
218
222
|
disabled: disabled ?? tdDisabled.value,
|
|
219
223
|
keys,
|
|
220
224
|
valueType,
|
|
225
|
+
clearable,
|
|
226
|
+
placeholder,
|
|
221
227
|
size
|
|
222
228
|
},
|
|
223
229
|
dialogOptions: wrapper,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.mjs","sources":["../../../../src/components/service/dialog-table-select/index.vue"],"sourcesContent":["<template>\n <t-select\n :class=\"['qd-dialog-table-select', reProps.readonly ? 'qd-dialog-table-select--readonly' : '']\"\n v-model=\"modelValue\"\n :options=\"selectedRows\"\n readonly\n v-bind=\"reProps.selectOptions\"\n @click=\"openDialog\"\n @clear=\"handleClear\"\n >\n <template #suffixIcon>\n <search-icon />\n </template>\n </t-select>\n\n <qd-dialog\n ref=\"dialog\"\n v-model:visible=\"visible\"\n lazy\n destroy-on-close\n v-bind=\"reProps.dialogOptions\"\n @confirm=\"handleConfirm\"\n >\n <qd-crud-table\n ref=\"tableRef\"\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:column-controller-visible=\"columnControllerVisible\"\n v-model:display-columns=\"displayColumns\"\n v-model:expanded-rowKeys=\"expandedRowKeys\"\n v-model:filter-value=\"filterValue\"\n v-model:sort=\"sort\"\n v-model:expanded-tree-nodes=\"expandedTreeNodes\"\n v-bind=\"reProps.tableOptions\"\n @select-change=\"handleSelectChange\"\n >\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'table')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n </qd-crud-table>\n </qd-dialog>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n \"\n>\n import type { SelectOption, SelectOptions, SelectValue, TableRowData } from 'tdesign-vue-next'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import type {\n QdDialogTableSelectInstanceFunctions,\n QdServiceDialogTableSelectProps\n } from './types'\n import type { QdDialogInstanceFunctions } from '../../dialog'\n import type { QdCrudTableProps } from '../../crud'\n import { extractSlotsWithPrefix } from 'qidian-shared'\n import { Select as TSelect } from 'tdesign-vue-next'\n import { SearchIcon } from 'tdesign-icons-vue-next'\n import { qdDialogTableSelectSearchGrid, qdServiceDialogTableSelectProps } from './props'\n import { computed, onMounted, ref, useTemplateRef } from 'vue'\n import { useVModels } from '@vueuse/core'\n import { QdDialog } from '../../dialog'\n import { QdCrudTable } from '../../crud'\n import { qdServiceSelectKeys } from '../select/props'\n import { useDisabled, useReadonly } from '../../../hooks'\n import { merge } from 'lodash-es'\n\n defineOptions({\n name: 'QdServiceDialogTableSelect'\n })\n\n type Props = QdServiceDialogTableSelectProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdServiceDialogTableSelectProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:visible': [Props['visible']]\n\n 'update:searchData': [Props['searchData']]\n 'update:data': [Props['data']]\n 'update:columnControllerVisible': [Props['columnControllerVisible']]\n 'update:displayColumns': [Props['displayColumns']]\n 'update:expandedRowKeys': [Props['expandedRowKeys']]\n 'update:filterValue': [Props['filterValue']]\n 'update:sort': [Props['sort']]\n 'update:expandedTreeNodes': [Props['expandedTreeNodes']]\n }>()\n const {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n const dialogRef = useTemplateRef<QdDialogInstanceFunctions>('dialog')\n\n const selectedRowKeys = ref<(string | number)[]>([])\n const selectedRows = ref<D[]>([])\n let latestSelectedRows: D[] = []\n\n const reProps = computed(() => {\n const {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\n wrapper,\n readonly,\n\n multiple,\n disabled,\n keys,\n valueType,\n size,\n\n onClear,\n onChange,\n\n search,\n tableSize,\n ...tableOptions\n } = props\n\n return {\n readonly: readonly ?? tdReadonly.value,\n selectOptions: {\n multiple,\n disabled: disabled ?? tdDisabled.value,\n keys,\n valueType,\n size\n },\n dialogOptions: wrapper,\n tableOptions: {\n ...tableOptions,\n size: tableSize,\n search: {\n ...search,\n grid: merge({}, qdDialogTableSelectSearchGrid, search?.grid)\n },\n selectType: (multiple ? 'multiple' : 'single') as QdCrudTableProps['selectType'],\n rowKey: keys?.value || qdServiceSelectKeys.value\n },\n\n onClear,\n onChange,\n\n models: {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\n wrapper\n }\n }\n })\n\n function handleSelectChange(rowKeys: (string | number)[], options: SelectOptions<D>) {\n latestSelectedRows = options.selectedRowData\n }\n\n function handleConfirm() {\n selectedRows.value = latestSelectedRows\n dialogRef.value?.hide()\n\n /**\n * FIXME qd-dialog 一定要配置 destroy-on-close 并且在 modelValue 赋值前要销毁\n * 否则就会报错\n */\n const { selectOptions } = reProps.value\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n const labelKey = selectOptions.keys?.label || qdServiceSelectKeys.label\n if (selectOptions.valueType === 'value') {\n modelValue.value = selectOptions.multiple\n ? latestSelectedRows.map((item) => item[valueKey])\n : latestSelectedRows[0]?.[valueKey]\n } else {\n const rows = selectedRows.value.map((item) => ({\n [valueKey]: item[valueKey],\n [labelKey]: item[labelKey]\n }))\n modelValue.value = selectOptions.multiple ? rows : rows[0]\n }\n\n reProps.value.onChange?.(modelValue.value, {\n option: latestSelectedRows[latestSelectedRows.length - 1],\n selectedOptions: latestSelectedRows,\n trigger: 'check'\n })\n }\n\n function openDialog() {\n if (reProps.value.readonly || reProps.value.selectOptions.disabled) return\n\n dialogRef.value?.show()\n }\n\n function handleClear(context: { e: MouseEvent }) {\n reProps.value.onChange?.(undefined as unknown as SelectValue, {\n e: context.e,\n option: null as unknown as SelectOption,\n selectedOptions: [],\n trigger: 'clear'\n })\n reProps.value.onClear?.(context)\n }\n\n const expose = {} as QdDialogTableSelectInstanceFunctions\n\n onMounted(() => {\n Object.assign(expose, dialogRef.value)\n })\n</script>\n\n<style lang=\"less\" scoped>\n .qd-dialog-table-select {\n &:not(&--readonly) {\n cursor: pointer;\n }\n\n &__table {\n :deep(.qd-crud) {\n &-search > .t-card__body,\n &-table__body > .t-card__body {\n padding: 0 !important;\n }\n }\n }\n }\n</style>\n"],"names":["modelValue","visible","searchData","data","columnControllerVisible","displayColumns","expandedRowKeys","filterValue","sort","expandedTreeNodes","_createVNode","_unref","_mergeProps","_createSlots","$slots","_withCtx","_renderSlot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.vue2.mjs","sources":["../../../../src/components/service/dialog-table-select/index.vue"],"sourcesContent":["<template>\n <t-select\n :class=\"['qd-dialog-table-select', reProps.readonly ? 'qd-dialog-table-select--readonly' : '']\"\n v-model=\"modelValue\"\n :options=\"selectedRows\"\n readonly\n v-bind=\"reProps.selectOptions\"\n @click=\"openDialog\"\n @clear=\"handleClear\"\n >\n <template #suffixIcon>\n <search-icon />\n </template>\n </t-select>\n\n <qd-dialog\n ref=\"dialog\"\n v-model:visible=\"visible\"\n lazy\n destroy-on-close\n v-bind=\"reProps.dialogOptions\"\n @confirm=\"handleConfirm\"\n >\n <qd-crud-table\n ref=\"tableRef\"\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:column-controller-visible=\"columnControllerVisible\"\n v-model:display-columns=\"displayColumns\"\n v-model:expanded-rowKeys=\"expandedRowKeys\"\n v-model:filter-value=\"filterValue\"\n v-model:sort=\"sort\"\n v-model:expanded-tree-nodes=\"expandedTreeNodes\"\n v-bind=\"reProps.tableOptions\"\n @select-change=\"handleSelectChange\"\n >\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'table')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n </qd-crud-table>\n </qd-dialog>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n \"\n>\n import type { SelectOption, SelectOptions, SelectValue, TableRowData } from 'tdesign-vue-next'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import type {\n QdDialogTableSelectInstanceFunctions,\n QdServiceDialogTableSelectProps\n } from './types'\n import type { QdDialogInstanceFunctions } from '../../dialog'\n import type { QdCrudTableProps } from '../../crud'\n import { extractSlotsWithPrefix } from 'qidian-shared'\n import { Select as TSelect } from 'tdesign-vue-next'\n import { SearchIcon } from 'tdesign-icons-vue-next'\n import { qdDialogTableSelectSearchGrid, qdServiceDialogTableSelectProps } from './props'\n import { computed, onMounted, ref, useTemplateRef } from 'vue'\n import { useVModels } from '@vueuse/core'\n import { QdDialog } from '../../dialog'\n import { QdCrudTable } from '../../crud'\n import { qdServiceSelectKeys } from '../select/props'\n import { useDisabled, useReadonly } from '../../../hooks'\n import { merge } from 'lodash-es'\n\n defineOptions({\n name: 'QdServiceDialogTableSelect'\n })\n\n type Props = QdServiceDialogTableSelectProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdServiceDialogTableSelectProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:visible': [Props['visible']]\n\n 'update:searchData': [Props['searchData']]\n 'update:data': [Props['data']]\n 'update:columnControllerVisible': [Props['columnControllerVisible']]\n 'update:displayColumns': [Props['displayColumns']]\n 'update:expandedRowKeys': [Props['expandedRowKeys']]\n 'update:filterValue': [Props['filterValue']]\n 'update:sort': [Props['sort']]\n 'update:expandedTreeNodes': [Props['expandedTreeNodes']]\n }>()\n const {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n const dialogRef = useTemplateRef<QdDialogInstanceFunctions>('dialog')\n\n const selectedRowKeys = ref<(string | number)[]>([])\n const selectedRows = ref<D[]>([])\n let latestSelectedRows: D[] = []\n\n const reProps = computed(() => {\n const {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\n wrapper,\n readonly,\n\n multiple,\n disabled,\n keys,\n valueType,\n clearable,\n placeholder,\n size,\n\n onClear,\n onChange,\n\n search,\n tableSize,\n ...tableOptions\n } = props\n\n return {\n readonly: readonly ?? tdReadonly.value,\n selectOptions: {\n multiple,\n disabled: disabled ?? tdDisabled.value,\n keys,\n valueType,\n clearable,\n placeholder,\n size\n },\n dialogOptions: wrapper,\n tableOptions: {\n ...tableOptions,\n size: tableSize,\n search: {\n ...search,\n grid: merge({}, qdDialogTableSelectSearchGrid, search?.grid)\n },\n selectType: (multiple ? 'multiple' : 'single') as QdCrudTableProps['selectType'],\n rowKey: keys?.value || qdServiceSelectKeys.value\n },\n\n onClear,\n onChange,\n\n models: {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\n wrapper\n }\n }\n })\n\n function handleSelectChange(rowKeys: (string | number)[], options: SelectOptions<D>) {\n latestSelectedRows = options.selectedRowData\n }\n\n function handleConfirm() {\n selectedRows.value = latestSelectedRows\n dialogRef.value?.hide()\n\n /**\n * FIXME qd-dialog 一定要配置 destroy-on-close 并且在 modelValue 赋值前要销毁\n * 否则就会报错\n */\n const { selectOptions } = reProps.value\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n const labelKey = selectOptions.keys?.label || qdServiceSelectKeys.label\n if (selectOptions.valueType === 'value') {\n modelValue.value = selectOptions.multiple\n ? latestSelectedRows.map((item) => item[valueKey])\n : latestSelectedRows[0]?.[valueKey]\n } else {\n const rows = selectedRows.value.map((item) => ({\n [valueKey]: item[valueKey],\n [labelKey]: item[labelKey]\n }))\n modelValue.value = selectOptions.multiple ? rows : rows[0]\n }\n\n reProps.value.onChange?.(modelValue.value, {\n option: latestSelectedRows[latestSelectedRows.length - 1],\n selectedOptions: latestSelectedRows,\n trigger: 'check'\n })\n }\n\n function openDialog() {\n if (reProps.value.readonly || reProps.value.selectOptions.disabled) return\n\n dialogRef.value?.show()\n }\n\n function handleClear(context: { e: MouseEvent }) {\n reProps.value.onChange?.(undefined as unknown as SelectValue, {\n e: context.e,\n option: null as unknown as SelectOption,\n selectedOptions: [],\n trigger: 'clear'\n })\n reProps.value.onClear?.(context)\n }\n\n const expose = {} as QdDialogTableSelectInstanceFunctions\n\n onMounted(() => {\n Object.assign(expose, dialogRef.value)\n })\n</script>\n\n<style lang=\"less\" scoped>\n .qd-dialog-table-select {\n &:not(&--readonly) {\n cursor: pointer;\n }\n\n &__table {\n :deep(.qd-crud) {\n &-search > .t-card__body,\n &-table__body > .t-card__body {\n padding: 0 !important;\n }\n }\n }\n }\n</style>\n"],"names":["modelValue","visible","searchData","data","columnControllerVisible","displayColumns","expandedRowKeys","filterValue","sort","expandedTreeNodes","_createVNode","_unref","_mergeProps","_createSlots","$slots","_withCtx","_renderSlot"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export declare const qdServiceDialogTableSelectProps: {
|
|
|
13
13
|
readonly multiple: false;
|
|
14
14
|
readonly readonly: undefined;
|
|
15
15
|
readonly disabled: undefined;
|
|
16
|
+
readonly clearable: false;
|
|
16
17
|
readonly valueType: "value";
|
|
17
18
|
readonly wrapper: () => {
|
|
18
19
|
width: "min(960px, 100%)";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.mjs","sources":["../../../../src/components/service/dialog-table-select/props.ts"],"sourcesContent":["import { qdDialogProps } from '../../dialog/props'\nimport { qdServiceTableProps } from '../table/props'\n\nconst { selectedRowKeys, activeRowKeys, rowKey, ...qdServiceTableOtherProps } = qdServiceTableProps\nconst { lazy, destroyOnClose, ...qdDialogOtherProps } = qdDialogProps\n\nexport const qdDialogTableSelectSearchGrid = {\n col: {\n xs: 4,\n sm: 4,\n md: 3,\n lg: 3,\n xl: 3,\n xxl: 2\n }\n}\n\nexport const qdServiceDialogTableSelectProps = {\n ...qdServiceTableOtherProps,\n\n searchData: () => ({}),\n\n multiple: false,\n readonly: undefined,\n disabled: undefined,\n valueType: 'value',\n\n wrapper: () => qdDialogOtherProps\n} as const\n"],"names":[],"mappings":";;AAGA,MAAM,EAAE,iBAAiB,eAAe,QAAQ,GAAG,6BAA6B;AAChF,MAAM,EAAE,MAAM,gBAAgB,GAAG,uBAAuB;AAEjD,MAAM,gCAAgC;AAAA,EAC3C,KAAK;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,KAAK;AAAA,EAAA;AAET;AAEO,MAAM,kCAAkC;AAAA,EAC7C,GAAG;AAAA,EAEH,YAAY,OAAO,CAAA;AAAA,EAEnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EAEX,SAAS,MAAM;AACjB;"}
|
|
1
|
+
{"version":3,"file":"props.mjs","sources":["../../../../src/components/service/dialog-table-select/props.ts"],"sourcesContent":["import { qdDialogProps } from '../../dialog/props'\nimport { qdServiceTableProps } from '../table/props'\n\nconst { selectedRowKeys, activeRowKeys, rowKey, ...qdServiceTableOtherProps } = qdServiceTableProps\nconst { lazy, destroyOnClose, ...qdDialogOtherProps } = qdDialogProps\n\nexport const qdDialogTableSelectSearchGrid = {\n col: {\n xs: 4,\n sm: 4,\n md: 3,\n lg: 3,\n xl: 3,\n xxl: 2\n }\n}\n\nexport const qdServiceDialogTableSelectProps = {\n ...qdServiceTableOtherProps,\n\n searchData: () => ({}),\n\n multiple: false,\n readonly: undefined,\n disabled: undefined,\n clearable: false,\n valueType: 'value',\n\n wrapper: () => qdDialogOtherProps\n} as const\n"],"names":[],"mappings":";;AAGA,MAAM,EAAE,iBAAiB,eAAe,QAAQ,GAAG,6BAA6B;AAChF,MAAM,EAAE,MAAM,gBAAgB,GAAG,uBAAuB;AAEjD,MAAM,gCAAgC;AAAA,EAC3C,KAAK;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,KAAK;AAAA,EAAA;AAET;AAEO,MAAM,kCAAkC;AAAA,EAC7C,GAAG;AAAA,EAEH,YAAY,OAAO,CAAA;AAAA,EAEnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EAEX,SAAS,MAAM;AACjB;"}
|
|
@@ -3,7 +3,7 @@ import type { TableRowData } from 'tdesign-vue-next';
|
|
|
3
3
|
import type { QdCrudTableProps } from '../../crud';
|
|
4
4
|
import type { QdDialogInstanceFunctions, QdDialogProps } from '../../dialog';
|
|
5
5
|
import type { QdServiceSelectProps } from '../select';
|
|
6
|
-
export interface QdServiceDialogTableSelectProps<D extends TableRowData = TableRowData, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination> extends Omit<QdCrudTableProps<D, R, P, TP, Pag>, 'add' | 'actions' | 'edit' | 'view' | 'del' | 'rowActions' | 'form' | 'selectedRowKeys' | 'activeRowKeys' | 'rowKey' | 'selectType' | 'size' | 'onAsyncLoadingClick' | 'onCellClick' | 'onChange' | 'onColumnChange' | 'onColumnControllerVisibleChange' | 'onDataChange' | 'onDisplayColumnsChange' | 'onDragSort' | 'onExpandChange' | 'onFilterChange' | 'onRowEdit' | 'onRowValidate' | 'onSelectChange' | 'onSortChange' | 'onValidate'>, Pick<QdDialogProps, 'visible'>, Pick<QdServiceSelectProps, 'modelValue' | 'multiple' | 'readonly' | 'disabled' | 'keys' | 'size' | 'valueType' | 'onClear' | 'onChange'> {
|
|
6
|
+
export interface QdServiceDialogTableSelectProps<D extends TableRowData = TableRowData, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination> extends Omit<QdCrudTableProps<D, R, P, TP, Pag>, 'add' | 'actions' | 'edit' | 'view' | 'del' | 'rowActions' | 'form' | 'selectedRowKeys' | 'activeRowKeys' | 'rowKey' | 'selectType' | 'size' | 'onAsyncLoadingClick' | 'onCellClick' | 'onChange' | 'onColumnChange' | 'onColumnControllerVisibleChange' | 'onDataChange' | 'onDisplayColumnsChange' | 'onDragSort' | 'onExpandChange' | 'onFilterChange' | 'onRowEdit' | 'onRowValidate' | 'onSelectChange' | 'onSortChange' | 'onValidate'>, Pick<QdDialogProps, 'visible'>, Pick<QdServiceSelectProps, 'modelValue' | 'multiple' | 'readonly' | 'disabled' | 'placeholder' | 'clearable' | 'keys' | 'size' | 'valueType' | 'onClear' | 'onChange'> {
|
|
7
7
|
tableSize?: QdCrudTableProps['size'];
|
|
8
8
|
wrapper?: Omit<QdDialogProps, 'visible' | 'lazy' | 'destroyOnClose' | 'onBeforeClose' | 'onBeforeOpen' | 'onCancel' | 'onClose' | 'onCloseBtnClick' | 'onClosed' | 'onConfirm' | 'onEscKeydown' | 'onOpened' | 'onOverlayClick'>;
|
|
9
9
|
}
|
package/dist/qidian-vue-ui.css
CHANGED
|
@@ -297,11 +297,11 @@ p {
|
|
|
297
297
|
display: inline-block;
|
|
298
298
|
padding-left: var(--td-comp-paddingLR-s);
|
|
299
299
|
}
|
|
300
|
-
.qd-dialog-table-select[data-v-
|
|
300
|
+
.qd-dialog-table-select[data-v-adb47397]:not(.qd-dialog-table-select--readonly) {
|
|
301
301
|
cursor: pointer;
|
|
302
302
|
}
|
|
303
|
-
.qd-dialog-table-select__table[data-v-
|
|
304
|
-
.qd-dialog-table-select__table[data-v-
|
|
303
|
+
.qd-dialog-table-select__table[data-v-adb47397] .qd-crud-search > .t-card__body,
|
|
304
|
+
.qd-dialog-table-select__table[data-v-adb47397] .qd-crud-table__body > .t-card__body {
|
|
305
305
|
padding: 0 !important;
|
|
306
306
|
}
|
|
307
307
|
.qd-service-list[data-v-fe54dd3b] {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qidian-vue-ui",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.38",
|
|
4
4
|
"description": "基于 TDesign 的 QiDian Vue UI 组件库",
|
|
5
5
|
"author": "qidian",
|
|
6
6
|
"license": "MIT",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"vue": ">=3.1.0",
|
|
43
43
|
"tdesign-vue-next": "^1.16.1",
|
|
44
44
|
"tdesign-icons-vue-next": "^0.3.7",
|
|
45
|
-
"qidian-shared": "1.0.
|
|
45
|
+
"qidian-shared": "1.0.41"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "vue-tsc --noEmit && vite build && vue-tsc",
|