qidian-vue-ui 2.0.25 → 2.0.27

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.
@@ -18,11 +18,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
18
18
  component: {},
19
19
  required: { type: [Boolean, String] },
20
20
  ifRender: { type: [Boolean, Function, Object] },
21
+ help: { type: [String, Function, Object] },
21
22
  rules: {},
22
23
  size: {},
23
24
  trimOnBlur: { type: Boolean },
24
25
  for: {},
25
- help: {},
26
26
  label: {},
27
27
  labelAlign: {},
28
28
  labelWidth: {},
@@ -1,6 +1,6 @@
1
- import type { CustomValidateResolveType, Data, FormInstanceFunctions, FormRule, FormValidateParams, FormValidateResult, SizeEnum, SubmitContext, TdFormItemProps, TdFormProps, TdLoadingProps, ValueType } from 'tdesign-vue-next';
1
+ import type { CustomValidateResolveType, Data, FormInstanceFunctions, FormRule, FormValidateParams, FormValidateResult, SizeEnum, SubmitContext, TdFormItemProps, TdFormProps, TdLoadingProps, TNodeReturnValue, ValueType } from 'tdesign-vue-next';
2
2
  import type { AllowedComponentProps } from 'vue';
3
- import type { QdConfigRendererProps, QdConfigValue } from '../config-renderer';
3
+ import type { QdComputeFunction, QdConfigRendererProps, QdConfigValue } from '../config-renderer';
4
4
  import type { QdGridItemProps, QdGridProps } from '../grid';
5
5
  export interface QdFormRule<FD extends Data = Data> extends Omit<FormRule, 'validator'> {
6
6
  validator?: (val: ValueType, data: FD) => CustomValidateResolveType | Promise<CustomValidateResolveType>;
@@ -10,11 +10,12 @@ export type QdFormBeforeSubmitQueueResult = boolean | {
10
10
  message?: string;
11
11
  };
12
12
  export type QdFormBeforeSubmitQueueItem = () => Promise<QdFormBeforeSubmitQueueResult> | QdFormBeforeSubmitQueueResult;
13
- export interface QdFormItemProps extends Omit<TdFormItemProps, 'rules'>, AllowedComponentProps, QdGridItemProps, Pick<QdFormProps, 'crudMode' | 'defaultClearable'> {
13
+ export interface QdFormItemProps extends Omit<TdFormItemProps, 'rules' | 'help'>, AllowedComponentProps, QdGridItemProps, Pick<QdFormProps, 'crudMode' | 'defaultClearable'> {
14
14
  context?: QdConfigRendererProps['context'];
15
15
  component?: QdConfigRendererProps['config'];
16
16
  required?: boolean | string;
17
17
  ifRender?: QdConfigValue<boolean>;
18
+ help?: TdFormItemProps['help'] | QdComputeFunction<TNodeReturnValue>;
18
19
  rules?: QdFormRule[];
19
20
  size?: SizeEnum;
20
21
  trimOnBlur?: boolean;
@@ -43,6 +43,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
43
43
  type: PropType<() => void>;
44
44
  required: true;
45
45
  };
46
+ getHorizontalScroll: {
47
+ type: PropType<() => number | undefined>;
48
+ required: true;
49
+ };
50
+ setHorizontalScroll: {
51
+ type: PropType<(scrollLeft: number) => void>;
52
+ required: true;
53
+ };
46
54
  sourceRow: {
47
55
  type: PropType<TableRowData>;
48
56
  default: undefined;
@@ -87,6 +95,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
87
95
  type: PropType<() => void>;
88
96
  required: true;
89
97
  };
98
+ getHorizontalScroll: {
99
+ type: PropType<() => number | undefined>;
100
+ required: true;
101
+ };
102
+ setHorizontalScroll: {
103
+ type: PropType<(scrollLeft: number) => void>;
104
+ required: true;
105
+ };
90
106
  sourceRow: {
91
107
  type: PropType<TableRowData>;
92
108
  default: undefined;
@@ -114,6 +114,14 @@ const QdServiceTableEditCell = /* @__PURE__ */ defineComponent({
114
114
  type: Function,
115
115
  required: true
116
116
  },
117
+ getHorizontalScroll: {
118
+ type: Function,
119
+ required: true
120
+ },
121
+ setHorizontalScroll: {
122
+ type: Function,
123
+ required: true
124
+ },
117
125
  sourceRow: {
118
126
  type: Object,
119
127
  default: void 0
@@ -122,6 +130,8 @@ const QdServiceTableEditCell = /* @__PURE__ */ defineComponent({
122
130
  setup(props, {
123
131
  attrs
124
132
  }) {
133
+ const horizontalScroll = props.getHorizontalScroll();
134
+ let autofocusScrollRestored = false;
125
135
  const currentContext = computed(() => createRowEditContext(props.sourceRow ?? props.row, () => props.row, props.colKey, props.updateEditedCellValue, props.notifyDataChange, (value) => {
126
136
  if (typeof attrs.onChange === "function") attrs.onChange(value);
127
137
  }));
@@ -162,6 +172,15 @@ const QdServiceTableEditCell = /* @__PURE__ */ defineComponent({
162
172
  } : {}
163
173
  };
164
174
  });
175
+ function handleFocusin() {
176
+ props.activate();
177
+ if (!props.lazy || !props.active || autofocusScrollRestored || horizontalScroll === void 0) {
178
+ return;
179
+ }
180
+ autofocusScrollRestored = true;
181
+ props.setHorizontalScroll(horizontalScroll);
182
+ queueMicrotask(() => props.setHorizontalScroll(horizontalScroll));
183
+ }
165
184
  provide(PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE, (item) => {
166
185
  const cleanup = props.registerBeforeSubmit(props.rowValue, item);
167
186
  onBeforeUnmount(cleanup);
@@ -180,7 +199,7 @@ const QdServiceTableEditCell = /* @__PURE__ */ defineComponent({
180
199
  return h("div", {
181
200
  ...rendererAttrs,
182
201
  class: ["qd-service-table__cell-editor", "t-form__controls", status ? `t-is-${status}` : void 0, status === "success" ? "t-form--success-border" : void 0],
183
- onFocusin: props.activate
202
+ onFocusin: handleFocusin
184
203
  }, [h("div", {
185
204
  class: "t-form__controls-content"
186
205
  }, [h(_sfc_main, {
@@ -1,88 +1,88 @@
1
- .qd-service-table[data-v-b2ceb5c8] {
1
+ .qd-service-table[data-v-688a9d88] {
2
2
  height: 100%;
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  }
6
- .qd-service-table[data-v-b2ceb5c8] > .t-table__content {
6
+ .qd-service-table[data-v-688a9d88] > .t-table__content {
7
7
  flex: 1;
8
8
  }
9
- .qd-service-table--mini[data-v-b2ceb5c8] {
9
+ .qd-service-table--mini[data-v-688a9d88] {
10
10
  font: var(--td-font-body-small);
11
11
  }
12
- .qd-service-table--mini[data-v-b2ceb5c8] th,
13
- .qd-service-table--mini[data-v-b2ceb5c8] tr:not(.t-table__expanded-row) > td {
12
+ .qd-service-table--mini[data-v-688a9d88] th,
13
+ .qd-service-table--mini[data-v-688a9d88] tr:not(.t-table__expanded-row) > td {
14
14
  padding: var(--td-comp-paddingTB-xxs) var(--td-comp-paddingLR-xxs);
15
15
  line-height: var(--td-line-height-body-small);
16
16
  }
17
- .qd-service-table--mini[data-v-b2ceb5c8] .t-table__row-full-element {
17
+ .qd-service-table--mini[data-v-688a9d88] .t-table__row-full-element {
18
18
  padding: var(--td-comp-paddingTB-xs) var(--td-comp-paddingLR-s);
19
19
  }
20
- .qd-service-table--hide-empty-image[data-v-b2ceb5c8] .t-table__empty {
20
+ .qd-service-table--hide-empty-image[data-v-688a9d88] .t-table__empty {
21
21
  min-height: auto;
22
22
  }
23
- .qd-service-table--hide-empty-image[data-v-b2ceb5c8] .t-table__empty .t-empty {
23
+ .qd-service-table--hide-empty-image[data-v-688a9d88] .t-table__empty .t-empty {
24
24
  padding: 0 !important;
25
25
  }
26
- .qd-service-table--hide-empty-image[data-v-b2ceb5c8] .t-table__empty .t-empty__image {
26
+ .qd-service-table--hide-empty-image[data-v-688a9d88] .t-table__empty .t-empty__image {
27
27
  display: none;
28
28
  }
29
- .qd-service-table--hide-empty-image[data-v-b2ceb5c8] .t-table__empty .t-empty__title {
29
+ .qd-service-table--hide-empty-image[data-v-688a9d88] .t-table__empty .t-empty__title {
30
30
  margin-top: 0;
31
31
  }
32
- .qd-service-table[data-v-b2ceb5c8] .t-table__tree-col:not(:has(.t-table__tree-op-icon)) {
32
+ .qd-service-table[data-v-688a9d88] .t-table__tree-col:not(:has(.t-table__tree-op-icon)) {
33
33
  margin-left: calc(var(--td-font-size-body-large) + var(--td-comp-margin-s));
34
34
  }
35
- .qd-service-table[data-v-b2ceb5c8] .t-table__tree-leaf-node .t-table__tree-op-icon:empty {
35
+ .qd-service-table[data-v-688a9d88] .t-table__tree-leaf-node .t-table__tree-op-icon:empty {
36
36
  width: calc(var(--td-font-size-body-large) + var(--td-comp-margin-s));
37
37
  }
38
- .qd-service-table[data-v-b2ceb5c8] .t-affix > .t-table__affixed-header-elm-wrap,
39
- .qd-service-table[data-v-b2ceb5c8] .t-affix > .t-table__scrollbar--obvious {
40
- transform: var(--v5d7945e0);
38
+ .qd-service-table[data-v-688a9d88] .t-affix > .t-table__affixed-header-elm-wrap,
39
+ .qd-service-table[data-v-688a9d88] .t-affix > .t-table__scrollbar--obvious {
40
+ transform: var(--f7d11548);
41
41
  }
42
- .qd-service-table--horizontal-bar-static[data-v-b2ceb5c8] .t-table__scrollbar--obvious {
42
+ .qd-service-table--horizontal-bar-static[data-v-688a9d88] .t-table__scrollbar--obvious {
43
43
  visibility: hidden;
44
44
  pointer-events: none;
45
45
  }
46
- .qd-service-table[data-v-b2ceb5c8] .t-table__expanded-row .qd-service-table--horizontal-bar-static > div:has(> div > .t-table__scrollbar--obvious) {
46
+ .qd-service-table[data-v-688a9d88] .t-table__expanded-row .qd-service-table--horizontal-bar-static > div:has(> div > .t-table__scrollbar--obvious) {
47
47
  display: none;
48
48
  }
49
- .qd-service-table[data-v-b2ceb5c8] .t-table__expanded-row > td {
49
+ .qd-service-table[data-v-688a9d88] .t-table__expanded-row > td {
50
50
  height: 0;
51
51
  }
52
- .qd-service-table[data-v-b2ceb5c8] .t-table__affixed-header-elm-wrap {
52
+ .qd-service-table[data-v-688a9d88] .t-table__affixed-header-elm-wrap {
53
53
  height: auto !important;
54
54
  }
55
- .qd-service-table[data-v-b2ceb5c8] .t-table__affixed-header-elm {
55
+ .qd-service-table[data-v-688a9d88] .t-table__affixed-header-elm {
56
56
  position: relative;
57
57
  scrollbar-width: none;
58
58
  }
59
- .qd-service-table[data-v-b2ceb5c8] .t-table__affixed-header-elm::-webkit-scrollbar {
59
+ .qd-service-table[data-v-688a9d88] .t-table__affixed-header-elm::-webkit-scrollbar {
60
60
  display: none;
61
61
  width: 0;
62
62
  height: 0;
63
63
  }
64
- .qd-service-table[data-v-b2ceb5c8] .t-table__virtual-scroll-cursor + table {
64
+ .qd-service-table[data-v-688a9d88] .t-table__virtual-scroll-cursor + table {
65
65
  border-collapse: separate;
66
66
  }
67
- .qd-service-table[data-v-b2ceb5c8] .t-table__expanded-row-inner {
67
+ .qd-service-table[data-v-688a9d88] .t-table__expanded-row-inner {
68
68
  display: block;
69
69
  position: sticky;
70
70
  left: 0;
71
- width: var(--v410d3656) !important;
71
+ width: var(--v265fe151) !important;
72
72
  }
73
- .qd-service-table[data-v-b2ceb5c8] .t-table__cell-wrap > .t-form__controls > .t-form__controls-content > *:not(.t-switch):not(.t-tag):not(.t-icon):not(.qd-file-icon) {
73
+ .qd-service-table[data-v-688a9d88] .t-table__cell-wrap > .t-form__controls > .t-form__controls-content > *:not(.t-switch):not(.t-tag):not(.t-icon):not(.qd-file-icon) {
74
74
  width: 100%;
75
75
  }
76
- .qd-service-table[data-v-b2ceb5c8] .qd-service-table__non-editable-col {
76
+ .qd-service-table[data-v-688a9d88] .qd-service-table__non-editable-col {
77
77
  background-color: color-mix(in srgb, var(--td-bg-color-component) 50%, transparent);
78
78
  }
79
- .qd-service-table[data-v-b2ceb5c8] .qd-service-table__non-editable-col:is(
79
+ .qd-service-table[data-v-688a9d88] .qd-service-table__non-editable-col:is(
80
80
  .t-table__cell--fixed-left,
81
81
  .t-table__cell--fixed-right
82
82
  ) {
83
83
  background-color: inherit;
84
84
  background-image: linear-gradient(color-mix(in srgb, var(--td-bg-color-secondarycontainer) 50%, transparent), color-mix(in srgb, var(--td-bg-color-secondarycontainer) 50%, transparent));
85
85
  }
86
- .qd-service-table--disable-horizontal-scroll[data-v-b2ceb5c8] colgroup > col {
86
+ .qd-service-table--disable-horizontal-scroll[data-v-688a9d88] colgroup > col {
87
87
  width: auto !important;
88
88
  }
@@ -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 QdServiceTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b2ceb5c8"]]);
5
+ const QdServiceTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-688a9d88"]]);
6
6
  export {
7
7
  QdServiceTable as default
8
8
  };
@@ -324,8 +324,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
324
324
  emit: __emit
325
325
  }) {
326
326
  useCssVars((_ctx) => ({
327
- "v5d7945e0": affixedHeaderTransform.value,
328
- "v410d3656": expandedRowWidth.value
327
+ "f7d11548": affixedHeaderTransform.value,
328
+ "v265fe151": expandedRowWidth.value
329
329
  }));
330
330
  const props = __props;
331
331
  const emit = __emit;
@@ -379,6 +379,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
379
379
  const treeLoadIds = ref([]);
380
380
  const editingCells = shallowRef([]);
381
381
  const activeEditingCell = shallowRef();
382
+ const expandedRowProxyMap = /* @__PURE__ */ new WeakMap();
382
383
  let dataChangePending = false;
383
384
  const {
384
385
  activated
@@ -405,6 +406,52 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
405
406
  data.value = [...data.value];
406
407
  });
407
408
  }
409
+ function isExpandedRowProxyable(value) {
410
+ if (!value || typeof value !== "object") return false;
411
+ if (Array.isArray(value)) return true;
412
+ const prototype = Object.getPrototypeOf(value);
413
+ return prototype === Object.prototype || prototype === null;
414
+ }
415
+ function getExpandedRowProxy(row) {
416
+ const sourceRow = data.value.find((item) => getRowValue(item) === getRowValue(row)) ?? row;
417
+ const cached = expandedRowProxyMap.get(sourceRow);
418
+ if (cached) return cached;
419
+ const proxies = /* @__PURE__ */ new WeakMap();
420
+ function wrap(target) {
421
+ if (!isExpandedRowProxyable(target)) return target;
422
+ const cachedProxy = proxies.get(target);
423
+ if (cachedProxy) return cachedProxy;
424
+ const proxy2 = new Proxy(target, {
425
+ get(currentTarget, key, receiver) {
426
+ return wrap(Reflect.get(currentTarget, key, receiver));
427
+ },
428
+ set(currentTarget, key, value, receiver) {
429
+ const previous = Reflect.get(currentTarget, key, receiver);
430
+ const result = Reflect.set(currentTarget, key, value, receiver);
431
+ if (result && !Object.is(previous, value)) notifyDataChange();
432
+ return result;
433
+ },
434
+ deleteProperty(currentTarget, key) {
435
+ const hadKey = Reflect.has(currentTarget, key);
436
+ const result = Reflect.deleteProperty(currentTarget, key);
437
+ if (result && hadKey) notifyDataChange();
438
+ return result;
439
+ }
440
+ });
441
+ proxies.set(target, proxy2);
442
+ return proxy2;
443
+ }
444
+ const proxy = wrap(sourceRow);
445
+ expandedRowProxyMap.set(sourceRow, proxy);
446
+ return proxy;
447
+ }
448
+ function resolveForwardedSlotProps(name, slotProps) {
449
+ if (name !== "expandedRow" || !slotProps.row) return slotProps;
450
+ return {
451
+ ...slotProps,
452
+ row: getExpandedRowProxy(slotProps.row)
453
+ };
454
+ }
408
455
  const isVirtualScroll = computed(() => props.scroll?.type === "virtual");
409
456
  const currentInstance = getCurrentInstance();
410
457
  const offscreenAppContext = currentInstance ? {
@@ -530,6 +577,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
530
577
  ...scrollOptions
531
578
  } : scroll;
532
579
  const reTableOptions = tableOptions;
580
+ const expandedRow = reTableOptions.expandedRow;
581
+ if (expandedRow) {
582
+ reTableOptions.expandedRow = (h2, context) => expandedRow(h2, {
583
+ ...context,
584
+ row: getExpandedRowProxy(context.row)
585
+ });
586
+ }
533
587
  let reTransformRes = transformRes;
534
588
  const reTree = tree ? {
535
589
  ...tree,
@@ -1558,6 +1612,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1558
1612
  sourceRow: props.data?.find((item) => getRowValue(item) === rowValue) ?? data.value.find((item) => getRowValue(item) === rowValue) ?? row,
1559
1613
  updateEditedCellValue: context.updateEditedCellValue,
1560
1614
  notifyDataChange,
1615
+ getHorizontalScroll: () => getCurrentTableContentEl()?.scrollLeft,
1616
+ setHorizontalScroll: (scrollLeft) => {
1617
+ const scrollEl = getCurrentTableContentEl();
1618
+ if (!scrollEl || scrollEl.scrollLeft === scrollLeft) return;
1619
+ scrollEl.scrollLeft = scrollLeft;
1620
+ },
1561
1621
  lazy: resolveFormItemLazy(column),
1562
1622
  active: !!activeEditingCell.value && isSameEditingCell(activeEditingCell.value, {
1563
1623
  row,
@@ -1953,7 +2013,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1953
2013
  }, [renderList(_ctx.$slots, (_, name) => {
1954
2014
  return {
1955
2015
  name,
1956
- fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotProps)), void 0, true)])
2016
+ fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(resolveForwardedSlotProps(String(name), slotProps))), void 0, true)])
1957
2017
  };
1958
2018
  })]), 1040, ["class", "selected-row-keys", "active-row-keys", "column-controller-visible", "display-columns", "expanded-row-keys", "filter-value", "sort", "expanded-tree-nodes", "columns", "loading", "data", "pagination"])), [[unref(vResize), onResize], [vHorizontalWheel]]);
1959
2019
  };
@@ -1,31 +1,31 @@
1
- .qd-dialog-table-select[data-v-3992bc28] {
1
+ .qd-dialog-table-select[data-v-49177435] {
2
2
  width: 100%;
3
3
  }
4
- .qd-dialog-table-select__trigger[data-v-3992bc28] {
4
+ .qd-dialog-table-select__trigger[data-v-49177435] {
5
5
  width: 100%;
6
6
  }
7
- .qd-dialog-table-select__trigger[data-v-3992bc28]:not(.qd-dialog-table-select__trigger--readonly):not(.qd-dialog-table-select__trigger--disabled) {
7
+ .qd-dialog-table-select__trigger[data-v-49177435]: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__input-trigger[data-v-3992bc28] {
10
+ .qd-dialog-table-select__input-trigger[data-v-49177435] {
11
11
  border-top-left-radius: 0;
12
12
  border-bottom-left-radius: 0;
13
13
  }
14
- .qd-dialog-table-select__table[data-v-3992bc28] .qd-crud-search > .t-loading__parent > .t-card__body,
15
- .qd-dialog-table-select__table[data-v-3992bc28] .qd-crud-table__body > .t-loading__parent > .t-card__body {
14
+ .qd-dialog-table-select__table[data-v-49177435] .qd-crud-search > .t-loading__parent > .t-card__body,
15
+ .qd-dialog-table-select__table[data-v-49177435] .qd-crud-table__body > .t-loading__parent > .t-card__body {
16
16
  padding: 0 !important;
17
17
  }
18
- .qd-dialog-table-select__table[data-v-3992bc28] .qd-crud-table__toolbar {
18
+ .qd-dialog-table-select__table[data-v-49177435] .qd-crud-table__toolbar {
19
19
  display: none;
20
20
  }
21
- .qd-dialog-table-select__table[data-v-3992bc28] .qd-service-table {
21
+ .qd-dialog-table-select__table[data-v-49177435] .qd-service-table {
22
22
  margin-top: 0;
23
23
  }
24
- .qd-dialog-table-select__table-add[data-v-3992bc28] {
24
+ .qd-dialog-table-select__table-add[data-v-49177435] {
25
25
  margin-top: var(--td-comp-margin-m);
26
26
  display: flex;
27
27
  }
28
- .qd-dialog-table-select__table-add .t-input__wrap[data-v-3992bc28] {
28
+ .qd-dialog-table-select__table-add .t-input__wrap[data-v-49177435] {
29
29
  flex: 1 1 0;
30
30
  overflow: hidden;
31
31
  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-3992bc28"]]);
5
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-49177435"]]);
6
6
  export {
7
7
  index as default
8
8
  };
@@ -48,9 +48,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
48
48
  tableMinHeight: {
49
49
  type: [String, Number, Boolean]
50
50
  },
51
- fitParentHeight: {
52
- type: Boolean
53
- },
54
51
  search: {},
55
52
  searchData: {},
56
53
  detail: {},
@@ -802,6 +799,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
802
799
  "reserve-selected-row-on-paginate": "",
803
800
  "active-row-type": "multiple"
804
801
  }, reProps.value.tableOptions, {
802
+ "fit-parent-height": "",
805
803
  onSelectChange: unref(handleSelectChange)
806
804
  }), createSlots({
807
805
  _: 2
@@ -4,7 +4,7 @@ import type { QdCrudTableInstanceFunctions, QdCrudTableProps } from '../crud';
4
4
  import type { QdDialogInstanceFunctions, QdDialogProps } from '../dialog';
5
5
  import type { QdDialogDone } from '../dialog';
6
6
  import type { QdServiceSelectProps } from '../service-select';
7
- export interface QdServiceDialogTableSelectProps<D extends TableRowData = TableRowData, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination> extends Omit<QdCrudTableProps<D, R, P, TP, Pag>, 'add' | 'actions' | 'edit' | 'view' | 'del' | 'rowActions' | 'form' | 'selectedRowKeys' | 'activeRowKeys' | 'activeRowType' | 'rowKey' | 'selectType' | 'size' | 'reserveSelectedRowOnPaginate' | 'onAsyncLoadingClick' | 'onCellClick' | 'onChange' | 'onColumnChange' | 'onColumnControllerVisibleChange' | 'onDataChange' | 'onDisplayColumnsChange' | 'onDragSort' | 'onExpandChange' | 'onFilterChange' | 'onRowEdit' | 'onRowValidate' | 'onRowClick' | 'onRowDbClick' | 'onSelectChange' | 'onSortChange' | 'onValidate'>, Pick<QdServiceSelectProps<D, R, P, TP, Pag>, 'modelValue' | 'multiple' | 'readonly' | 'disabled' | 'placeholder' | 'clearable' | 'creatable' | 'size' | 'valueType' | 'fillOptions' | 'onClear' | 'onChange'>, Pick<QdDialogProps, 'onCancel'> {
7
+ export interface QdServiceDialogTableSelectProps<D extends TableRowData = TableRowData, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination> extends Omit<QdCrudTableProps<D, R, P, TP, Pag>, 'add' | 'actions' | 'edit' | 'view' | 'del' | 'rowActions' | 'form' | 'fitParentHeight' | 'selectedRowKeys' | 'activeRowKeys' | 'activeRowType' | 'rowKey' | 'selectType' | 'size' | 'reserveSelectedRowOnPaginate' | 'onAsyncLoadingClick' | 'onCellClick' | 'onChange' | 'onColumnChange' | 'onColumnControllerVisibleChange' | 'onDataChange' | 'onDisplayColumnsChange' | 'onDragSort' | 'onExpandChange' | 'onFilterChange' | 'onRowEdit' | 'onRowValidate' | 'onRowClick' | 'onRowDbClick' | 'onSelectChange' | 'onSortChange' | 'onValidate'>, Pick<QdServiceSelectProps<D, R, P, TP, Pag>, 'modelValue' | 'multiple' | 'readonly' | 'disabled' | 'placeholder' | 'clearable' | 'creatable' | 'size' | 'valueType' | 'fillOptions' | 'onClear' | 'onChange'>, Pick<QdDialogProps, 'onCancel'> {
8
8
  keys?: KeysType;
9
9
  onCreate?: (value: string | number | boolean, done: QdDialogDone) => void;
10
10
  onConfirm?: (value: SelectValue, context: {
@@ -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-cbf3ade6"]]);
7
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-098a3426"]]);
8
8
  export {
9
9
  index as default
10
10
  };
@@ -38,9 +38,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
38
38
  tableMinHeight: {
39
39
  type: [String, Number, Boolean]
40
40
  },
41
- fitParentHeight: {
42
- type: Boolean
43
- },
44
41
  search: {},
45
42
  searchData: {},
46
43
  detail: {},
@@ -724,6 +721,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
724
721
  "reserve-selected-row-on-paginate": "",
725
722
  "active-row-type": "multiple"
726
723
  }, reProps.value.tableOptions, {
724
+ "fit-parent-height": "",
727
725
  onSelectChange: handleSelectChange
728
726
  }), createSlots({
729
727
  _: 2
@@ -1,23 +1,23 @@
1
- .qd-popup-table-select__table[data-v-cbf3ade6] .qd-crud-search > .t-loading__parent > .t-card__body,
2
- .qd-popup-table-select__table[data-v-cbf3ade6] .qd-crud-table__body > .t-loading__parent > .t-card__body {
1
+ .qd-popup-table-select__table[data-v-098a3426] .qd-crud-search > .t-loading__parent > .t-card__body,
2
+ .qd-popup-table-select__table[data-v-098a3426] .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-cbf3ade6] .qd-crud-table__toolbar {
5
+ .qd-popup-table-select__table[data-v-098a3426] .qd-crud-table__toolbar {
6
6
  display: none;
7
7
  }
8
- .qd-popup-table-select__table[data-v-cbf3ade6] .qd-service-table {
8
+ .qd-popup-table-select__table[data-v-098a3426] .qd-service-table {
9
9
  margin-top: 0;
10
10
  }
11
- .qd-popup-table-select__table-add[data-v-cbf3ade6] {
11
+ .qd-popup-table-select__table-add[data-v-098a3426] {
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-cbf3ade6] {
15
+ .qd-popup-table-select__table-add .t-input__wrap[data-v-098a3426] {
16
16
  flex: 1 1 0;
17
17
  overflow: hidden;
18
18
  margin-right: var(--td-comp-margin-m);
19
19
  }
20
- .qd-popup-table-select__input-trigger[data-v-cbf3ade6] {
20
+ .qd-popup-table-select__input-trigger[data-v-098a3426] {
21
21
  border-top-left-radius: 0;
22
22
  border-bottom-left-radius: 0;
23
23
  }
@@ -2,7 +2,7 @@ import type { ServicePageParams, ServicePagination } from 'qidian-shared';
2
2
  import type { KeysType, TableRowData, TdButtonProps, TdInputProps } from 'tdesign-vue-next';
3
3
  import type { QdCrudTableInstanceFunctions, QdCrudTableProps } from '../crud';
4
4
  import type { QdServiceSelectProps } from '../service-select';
5
- export interface QdServicePopupTableSelectProps<D extends TableRowData = TableRowData, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination> extends Omit<QdCrudTableProps<D, R, P, TP, Pag>, 'add' | 'actions' | 'edit' | 'view' | 'del' | 'rowActions' | 'form' | 'selectedRowKeys' | 'activeRowKeys' | 'activeRowType' | 'rowKey' | 'selectType' | 'size' | 'reserveSelectedRowOnPaginate' | 'onAsyncLoadingClick' | 'onCellClick' | 'onChange' | 'onColumnChange' | 'onColumnControllerVisibleChange' | 'onDataChange' | 'onDisplayColumnsChange' | 'onDragSort' | 'onExpandChange' | 'onFilterChange' | 'onRowEdit' | 'onRowValidate' | 'onSelectChange' | 'onSortChange' | 'onValidate'>, Pick<QdServiceSelectProps<D, R, P, TP, Pag>, 'modelValue' | 'multiple' | 'readonly' | 'disabled' | 'placeholder' | 'clearable' | 'creatable' | 'size' | 'valueType' | 'fillOptions' | 'popupVisible' | 'popupProps' | 'onClear' | 'onCreate' | 'onChange'> {
5
+ export interface QdServicePopupTableSelectProps<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' | 'fitParentHeight' | 'selectedRowKeys' | 'activeRowKeys' | 'activeRowType' | 'rowKey' | 'selectType' | 'size' | 'reserveSelectedRowOnPaginate' | 'onAsyncLoadingClick' | 'onCellClick' | 'onChange' | 'onColumnChange' | 'onColumnControllerVisibleChange' | 'onDataChange' | 'onDisplayColumnsChange' | 'onDragSort' | 'onExpandChange' | 'onFilterChange' | 'onRowEdit' | 'onRowValidate' | 'onSelectChange' | 'onSortChange' | 'onValidate'>, Pick<QdServiceSelectProps<D, R, P, TP, Pag>, 'modelValue' | 'multiple' | 'readonly' | 'disabled' | 'placeholder' | 'clearable' | 'creatable' | 'size' | 'valueType' | 'fillOptions' | 'popupVisible' | 'popupProps' | 'onClear' | 'onCreate' | 'onChange'> {
6
6
  keys?: KeysType;
7
7
  tableSize?: QdCrudTableProps['size'];
8
8
  addBtn?: string | TdButtonProps | null;
@@ -166,7 +166,7 @@ p {
166
166
  z-index: 72 !important;
167
167
  }
168
168
  .t-form__item:last-of-type {
169
- margin: 0;
169
+ margin-bottom: 0 !important;
170
170
  }
171
171
  .t-table__header > tr > th {
172
172
  background-color: var(--td-bg-color-secondarycontainer);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qidian-vue-ui",
3
- "version": "2.0.25",
3
+ "version": "2.0.27",
4
4
  "description": "基于 TDesign 的 QiDian Vue UI 组件库",
5
5
  "author": "qidian",
6
6
  "license": "MIT",