@dazhicheng/ui 1.5.227 → 1.5.229

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,2 +1,2 @@
1
1
  export * from './useModalForm';
2
- export type { TtModalFormProps } from './props';
2
+ export type { ModalFormApi, ModalFormType, TtModalFormProps } from './props';
@@ -1,5 +1,6 @@
1
1
  import { Recordable } from '../../../../utils/src';
2
- import { TtModalFormProps } from './props';
2
+ import { ModalFormType, TtModalFormProps } from './props';
3
+ import { TtFormProps, UseGroupFormOptions } from '../tt-form';
3
4
  declare function __VLS_template(): {
4
5
  attrs: Partial<{}>;
5
6
  slots: Readonly<{
@@ -17,20 +18,21 @@ declare function __VLS_template(): {
17
18
  rootEl: any;
18
19
  };
19
20
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
- declare const __VLS_component: import('vue').DefineComponent<Partial<TtModalFormProps>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
21
+ declare const __VLS_component: import('vue').DefineComponent<Partial<TtModalFormProps<ModalFormType>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
21
22
  submit: (data: Recordable) => any;
22
23
  fetch: (data: Recordable) => any;
23
24
  getinfo: (data: any) => any;
24
- }, string, import('vue').PublicProps, Readonly<Partial<TtModalFormProps>> & Readonly<{
25
+ }, string, import('vue').PublicProps, Readonly<Partial<TtModalFormProps<ModalFormType>>> & Readonly<{
25
26
  onSubmit?: ((data: Recordable) => any) | undefined;
26
27
  onFetch?: ((data: Recordable) => any) | undefined;
27
28
  onGetinfo?: ((data: any) => any) | undefined;
28
29
  }>, {
30
+ renderType: ModalFormType;
29
31
  dataField: string;
30
32
  infoApiIdKey: string;
31
33
  infoApiParams: globalThis.Recordable;
32
34
  apiParams: globalThis.Recordable;
33
- formProps: Partial<import('../tt-form').TtFormProps>;
35
+ formProps: Partial<TtFormProps<Record<string, any>>> | Partial<UseGroupFormOptions<Record<string, any>>>;
34
36
  isContinuousChecked: boolean;
35
37
  checkedOptions: Record<string, any>;
36
38
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -1,7 +1,7 @@
1
- import { defineComponent as G, useSlots as H, ref as K, computed as F, toValue as J, nextTick as y, watch as Q, createBlock as C, openBlock as M, unref as d, createSlots as B, withCtx as A, renderSlot as h, createVNode as W, renderList as P, normalizeProps as S, guardReactiveProps as b, createCommentVNode as X } from "vue";
1
+ import { defineComponent as H, useSlots as J, ref as K, computed as C, toValue as Q, nextTick as y, watch as W, createBlock as M, openBlock as B, unref as d, createSlots as P, withCtx as A, renderSlot as h, createVNode as X, renderList as S, normalizeProps as b, guardReactiveProps as V, createCommentVNode as Y } from "vue";
2
2
  import "axios";
3
- import { ElCheckbox as Y, ElMessage as V } from "element-plus";
4
- import { isFunction as u } from "../../packages/utils/src/is.js";
3
+ import { ElCheckbox as Z, ElMessage as O } from "element-plus";
4
+ import { isFunction as c } from "../../packages/utils/src/is.js";
5
5
  import "xe-utils";
6
6
  import "dayjs";
7
7
  import "dayjs/plugin/utc";
@@ -11,7 +11,7 @@ import "../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js";
11
11
  import "../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf8.js";
12
12
  import "../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js";
13
13
  import "../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-pkcs7.js";
14
- import { get as Z } from "lodash-es";
14
+ import { get as ee } from "lodash-es";
15
15
  import "../tt-select/index.js";
16
16
  import "../tt-checkbox/index.js";
17
17
  import "../tt-radio-group/index.js";
@@ -19,30 +19,21 @@ import "../tt-panel-select/index.js";
19
19
  import "../tt-upload/index.js";
20
20
  import "../tt-api-component/index.js";
21
21
  import "vee-validate";
22
- import { useForm as ee } from "../tt-form/src/useForm.js";
22
+ import { useForm as oe } from "../tt-form/src/useForm.js";
23
23
  import "zod";
24
24
  import "@vee-validate/zod";
25
25
  import "@tanstack/vue-store";
26
26
  import "es-toolkit/compat";
27
27
  import "../tt-form/src/shared/zod-defaults.js";
28
- import "../tt-nav-anchor/index.js";
29
- import "../../node_modules/.pnpm/vue-types@5.1.3_vue@3.5.21_typescript@5.9.3_/node_modules/vue-types/shim/index.modern.js";
30
- import "../tt-icon/index.js";
31
- import "../tt-form/src/components/Slot.js";
32
- import "../tt-form-item-error-tooltip/index.js";
33
- import "@vueuse/core";
34
- /* empty css */
35
- import "../tt-form/src/form/RenderContent.vue.js";
36
- import "../tt-form/src/form-render/FormFieldContact.js";
37
- /* empty css */
38
- /* empty css */
28
+ import { useGroupForm as te } from "../tt-form/src/group-form/useGroupForm.js";
39
29
  import "../tt-modal/index.js";
40
- import { useModalFormSlot as oe } from "./hooks/useModalFormSlot.js";
41
- import { useModalRender as te } from "../tt-modal/src/hooks/useModalRender.js";
42
- const Ue = /* @__PURE__ */ G({
30
+ import { useModalFormSlot as ie } from "./hooks/useModalFormSlot.js";
31
+ import { useModalRender as ne } from "../tt-modal/src/hooks/useModalRender.js";
32
+ const Ee = /* @__PURE__ */ H({
43
33
  name: "TtModalForm",
44
34
  __name: "index",
45
35
  props: {
36
+ renderType: { default: "form" },
46
37
  model: {},
47
38
  addApi: {},
48
39
  editApi: {},
@@ -63,12 +54,12 @@ const Ue = /* @__PURE__ */ G({
63
54
  checkedOptions: { default: () => ({}) }
64
55
  },
65
56
  emits: ["submit", "fetch", "getinfo"],
66
- setup(I, { emit: O }) {
67
- var k, w;
68
- const o = I, p = O, D = H(), f = K(), r = K(!1), { getFormSlotKeys: L, getModalSlotKeys: E, replaceFormSlotKey: R, replaceModalSlotKey: _ } = oe(D), x = F(() => E.value.filter(Boolean)), T = F(() => L.value.filter(Boolean)), [$, s] = ee({
57
+ setup(I, { emit: D }) {
58
+ var w, F;
59
+ const o = I, m = D, L = J(), f = K(), r = K(!1), { getFormSlotKeys: T, getModalSlotKeys: E, replaceFormSlotKey: R, replaceModalSlotKey: _ } = ie(L), x = C(() => E.value.filter(Boolean)), $ = C(() => T.value.filter(Boolean)), v = {
69
60
  showDefaultActions: !1,
70
- ...J(o.formProps)
71
- }), [z, a] = te({
61
+ ...Q(o.formProps)
62
+ }, [z, s] = o.renderType === "groupForm" ? te(v) : oe(v), [N, a] = ne({
72
63
  ...o.modalProps,
73
64
  onReceiveSharedData: async (e) => {
74
65
  if (!e) {
@@ -77,8 +68,8 @@ const Ue = /* @__PURE__ */ G({
77
68
  }
78
69
  if (e.schemas && s.setState({ schema: e.schemas }), e != null && e.title && a.setModalProps({ title: e.title }), f.value = e[o.infoApiIdKey], e != null && e[o.infoApiIdKey]) {
79
70
  const i = o.infoApi;
80
- if (!u(i)) {
81
- v(e);
71
+ if (!c(i)) {
72
+ g(e);
82
73
  return;
83
74
  }
84
75
  a.changeLoading(!0);
@@ -86,56 +77,56 @@ const Ue = /* @__PURE__ */ G({
86
77
  const t = {
87
78
  ...o.infoApiParams,
88
79
  [o.infoApiIdKey]: e[o.infoApiIdKey]
89
- }, n = u(o.infoApiBefore) ? await o.infoApiBefore(t) : t, l = await i(n), c = o.dataField ? Z(l, o.dataField) : l, m = u(o.infoApiAfter) ? await o.infoApiAfter(c) : c;
90
- g(m), p("getinfo", m), await y(), await s.resetForm({ values: m });
80
+ }, n = c(o.infoApiBefore) ? await o.infoApiBefore(t) : t, l = await i(n), p = o.dataField ? ee(l, o.dataField) : l, u = c(o.infoApiAfter) ? await o.infoApiAfter(p) : p;
81
+ k(u), m("getinfo", u), await y(), await s.resetForm({ values: u });
91
82
  } finally {
92
83
  a.changeLoading(!1);
93
84
  }
94
85
  } else
95
- v(e);
86
+ g(e);
96
87
  },
97
88
  async onOk() {
98
89
  await q();
99
90
  }
100
91
  });
101
- function v(e) {
92
+ function g(e) {
102
93
  const i = e[o.infoDataKey || ""] || {};
103
- g(i), y(() => {
94
+ k(i), y(() => {
104
95
  s.resetForm({ values: i });
105
96
  });
106
97
  }
107
- function g(e) {
98
+ function k(e) {
108
99
  const i = Object.keys(o.checkedOptions || {});
109
100
  i.length && i.forEach((t) => {
110
- var m;
111
- const n = (m = o.checkedOptions) == null ? void 0 : m[t];
101
+ var u;
102
+ const n = (u = o.checkedOptions) == null ? void 0 : u[t];
112
103
  if (!Array.isArray(n) || n.length === 0)
113
104
  return;
114
- const [l, c] = n.length === 1 ? [n[0], n[0]] : n;
115
- !l || !c || (e[t] = {
105
+ const [l, p] = n.length === 1 ? [n[0], n[0]] : n;
106
+ !l || !p || (e[t] = {
116
107
  label: e[l],
117
- value: e[c]
108
+ value: e[p]
118
109
  });
119
110
  });
120
111
  }
121
- async function N() {
112
+ async function j() {
122
113
  const e = await s.getValues(), { apiParams: i } = o;
123
114
  let t = {
124
115
  ...e,
125
116
  ...i
126
117
  };
127
- return t = u(o.saveApiBefore) ? await o.saveApiBefore(t) : t, { reqParams: t, formValue: e };
118
+ return t = c(o.saveApiBefore) ? await o.saveApiBefore(t) : t, { reqParams: t, formValue: e };
128
119
  }
129
- async function j(e, i) {
120
+ async function G(e, i) {
130
121
  const { editApi: t } = o;
131
- !t || !u(t) || (e[o.infoApiIdKey] = f.value, await t(e, i.files), V.success("修改成功"), p("submit", {
122
+ !t || !c(t) || (e[o.infoApiIdKey] = f.value, await t(e, i.files), O.success("修改成功"), m("submit", {
132
123
  ...e,
133
124
  continuousChecked: r.value
134
125
  }), a.closeModal());
135
126
  }
136
127
  async function U(e, i) {
137
128
  const { addApi: t } = o;
138
- !t || !u(t) || (await t(e, i.files), V.success("新增成功"), p("submit", {
129
+ !t || !c(t) || (await t(e, i.files), O.success("新增成功"), m("submit", {
139
130
  ...e,
140
131
  continuousChecked: r.value
141
132
  }), (!r.value || !o.isContinuousChecked) && a.closeModal());
@@ -145,24 +136,24 @@ const Ue = /* @__PURE__ */ G({
145
136
  try {
146
137
  const { valid: e } = await s.validate();
147
138
  if (!e) return;
148
- const { reqParams: i, formValue: t } = await N();
139
+ const { reqParams: i, formValue: t } = await j();
149
140
  if (!i)
150
141
  return;
151
142
  const { addApi: n, editApi: l } = o;
152
143
  if (!n && !l) {
153
- p("submit", {
144
+ m("submit", {
154
145
  ...i,
155
146
  [o.infoApiIdKey]: f.value,
156
147
  continuousChecked: r.value
157
148
  });
158
149
  return;
159
150
  }
160
- f.value ? await j(i, t) : await U(i, t);
151
+ f.value ? await G(i, t) : await U(i, t);
161
152
  } finally {
162
153
  a.changeOkLoading(!1);
163
154
  }
164
155
  }
165
- return (k = o.getFormApi) == null || k.call(o, s), (w = o.getModalApi) == null || w.call(o, a), Q(
156
+ return (w = o.getFormApi) == null || w.call(o, s), (F = o.getModalApi) == null || F.call(o, a), W(
166
157
  () => {
167
158
  var e;
168
159
  return (e = a.getVisible) == null ? void 0 : e.value;
@@ -171,42 +162,42 @@ const Ue = /* @__PURE__ */ G({
171
162
  if (e) {
172
163
  await y();
173
164
  const i = await s.getValues();
174
- p("fetch", i);
165
+ m("fetch", i);
175
166
  } else
176
167
  r.value = !1;
177
168
  }
178
- ), (e, i) => (M(), C(d(z), null, B({
169
+ ), (e, i) => (B(), M(d(N), null, P({
179
170
  insertFooter: A(() => [
180
- o.isContinuousChecked && !f.value ? (M(), C(d(Y), {
171
+ o.isContinuousChecked && !f.value ? (B(), M(d(Z), {
181
172
  key: 0,
182
173
  modelValue: r.value,
183
174
  "onUpdate:modelValue": i[0] || (i[0] = (t) => r.value = t),
184
175
  label: "连续添加",
185
176
  size: "small"
186
- }, null, 8, ["modelValue"])) : X("", !0)
177
+ }, null, 8, ["modelValue"])) : Y("", !0)
187
178
  ]),
188
179
  default: A(() => [
189
180
  h(e.$slots, "BasicMsgTop"),
190
- W(d($), null, B({ _: 2 }, [
191
- P(T.value, (t) => ({
181
+ X(d(z), null, P({ _: 2 }, [
182
+ S($.value, (t) => ({
192
183
  name: d(R)(t),
193
184
  fn: A((n) => [
194
- h(e.$slots, t, S(b(n)))
185
+ h(e.$slots, t, b(V(n)))
195
186
  ])
196
187
  }))
197
188
  ]), 1024)
198
189
  ]),
199
190
  _: 2
200
191
  }, [
201
- P(x.value, (t) => ({
192
+ S(x.value, (t) => ({
202
193
  name: d(_)(t),
203
194
  fn: A((n) => [
204
- h(e.$slots, t, S(b(n)))
195
+ h(e.$slots, t, b(V(n)))
205
196
  ])
206
197
  }))
207
198
  ]), 1024));
208
199
  }
209
200
  });
210
201
  export {
211
- Ue as default
202
+ Ee as default
212
203
  };
@@ -1,6 +1,14 @@
1
- import { TtExtendedFormApi, TtFormProps } from '../tt-form';
1
+ import { GroupFormApi, TtExtendedFormApi, TtFormProps, UseGroupFormOptions } from '../tt-form';
2
2
  import { ModalApiOptions, TtModalExtendedModalApi } from '../tt-modal';
3
- export type TtModalFormProps = {
3
+ /** modal-form 使用的表单类型。 */
4
+ export type ModalFormType = "form" | "groupForm";
5
+ /** modal-form 对外暴露的表单 API 类型。 */
6
+ export type ModalFormApi<TType extends ModalFormType = "form"> = TType extends "groupForm" ? GroupFormApi : TtExtendedFormApi;
7
+ /** 根据表单类型收窄的表单配置。 */
8
+ type ModalFormProps<TValues extends Record<string, any>, TType extends ModalFormType> = TType extends "groupForm" ? Partial<UseGroupFormOptions<TValues>> : Partial<TtFormProps<TValues>>;
9
+ export type TtModalFormProps<TType extends ModalFormType = "form", TValues extends Record<string, any> = Record<string, any>> = {
10
+ /** 表单渲染类型,默认使用普通表单 */
11
+ renderType?: TType;
4
12
  /** model */
5
13
  model?: Recordable;
6
14
  /** 新增保存接口 */
@@ -24,7 +32,7 @@ export type TtModalFormProps = {
24
32
  /** 保存额外参数 */
25
33
  apiParams?: Recordable;
26
34
  /** formProps */
27
- formProps?: Partial<TtFormProps>;
35
+ formProps?: ModalFormProps<TValues, TType>;
28
36
  /** 是否连续添加 */
29
37
  isContinuousChecked?: boolean;
30
38
  /** 响应结果集字段 */
@@ -32,9 +40,10 @@ export type TtModalFormProps = {
32
40
  /** modal props */
33
41
  modalProps?: ModalApiOptions;
34
42
  /** 获取formApi的回调 */
35
- getFormApi?: (api: TtExtendedFormApi) => void;
43
+ getFormApi?: (api: ModalFormApi<TType>) => void;
36
44
  /** 获取modalApi的回调 */
37
45
  getModalApi?: (api: TtModalExtendedModalApi) => void;
38
46
  /** 处理TtSelect(非多选回显值) */
39
47
  checkedOptions?: Record<string, any>;
40
48
  };
49
+ export {};
@@ -1,6 +1,7 @@
1
1
  import { TtModalExtendedModalApi } from '../tt-modal';
2
- import { TtModalFormProps } from './props';
3
- export declare function useModalForm(options: TtModalFormProps): readonly [import('vue').DefineSetupFnComponent<Partial<TtModalFormProps>, {}, {}, Partial<TtModalFormProps> & {}, import('vue').PublicProps>, {
4
- readonly formApi: import('vue').Ref<import('../tt-form/src/types').ExtendedFormApi | undefined, import('../tt-form/src/types').ExtendedFormApi | undefined>;
2
+ import { ModalFormApi, ModalFormType, TtModalFormProps } from './props';
3
+ /** 创建普通表单或分组表单的弹窗表单。 */
4
+ export declare function useModalForm<TType extends ModalFormType = "form", TValues extends Record<string, any> = Record<string, any>>(options: TtModalFormProps<TType, TValues>): readonly [import('vue').DefineSetupFnComponent<Partial<TtModalFormProps<ModalFormType>>, {}, {}, Partial<TtModalFormProps<ModalFormType>> & {}, import('vue').PublicProps>, {
5
+ readonly formApi: import('vue').Ref<ModalFormApi<TType> | undefined, ModalFormApi<TType> | undefined>;
5
6
  readonly modalApi: import('vue').Ref<TtModalExtendedModalApi | undefined, TtModalExtendedModalApi | undefined>;
6
7
  }];
@@ -1,39 +1,39 @@
1
- import { defineComponent as Ae, useSlots as Ee, ref as Oe, computed as h, toValue as A, getCurrentInstance as $e, onMounted as G, watch as O, onUnmounted as ke, createElementBlock as J, openBlock as Q, normalizeClass as L, unref as s, createCommentVNode as Re, createElementVNode as _e, createVNode as $, renderSlot as p, createSlots as K, renderList as X, withCtx as C, normalizeProps as Y, guardReactiveProps as Z, mergeProps as ee, toHandlers as Be, nextTick as Ve } from "vue";
1
+ import { defineComponent as Me, useSlots as Ee, ref as Oe, computed as g, toValue as T, getCurrentInstance as $e, onMounted as q, watch as O, onUnmounted as ke, createElementBlock as G, openBlock as J, normalizeClass as V, unref as a, createCommentVNode as Ae, createElementVNode as Re, createVNode as $, renderSlot as p, createSlots as L, renderList as Q, withCtx as v, normalizeProps as X, guardReactiveProps as Y, mergeProps as Z, toHandlers as _e, nextTick as Be } from "vue";
2
2
  import "../../tt-button/index.js";
3
3
  import "../../tt-checkbox/index.js";
4
4
  import "../../tt-empty/index.js";
5
- import { kebabToCamelCase as Le } from "../../../packages/utils/src/string.js";
5
+ import { kebabToCamelCase as Ve } from "../../../packages/utils/src/string.js";
6
6
  import "axios";
7
7
  import "element-plus";
8
- import { isFunction as Ke } from "../../../packages/utils/src/is.js";
9
- import { extractResourceFromApi as je, generateTestId as k } from "../../../packages/utils/src/testid-helper.js";
10
- import xe from "xe-utils";
8
+ import { isFunction as Le } from "../../../packages/utils/src/is.js";
9
+ import { extractResourceFromApi as Ke, generateTestId as k } from "../../../packages/utils/src/testid-helper.js";
10
+ import je from "xe-utils";
11
11
  import "dayjs";
12
12
  import "dayjs/plugin/utc";
13
13
  import "dayjs/plugin/timezone";
14
- import { mergeWithArrayOverride as ze } from "../../../packages/utils/src/merge.js";
14
+ import { mergeWithArrayOverride as xe } from "../../../packages/utils/src/merge.js";
15
15
  import "../../../node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.js";
16
16
  import "../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js";
17
17
  import "../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf8.js";
18
18
  import "../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js";
19
19
  import "../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-pkcs7.js";
20
- import { omit as De } from "lodash-es";
20
+ import { omit as ze } from "lodash-es";
21
21
  import "../../tt-select/index.js";
22
22
  import "../../tt-radio-group/index.js";
23
23
  import "../../tt-panel-select/index.js";
24
24
  import "../../tt-upload/index.js";
25
25
  import "../../tt-api-component/index.js";
26
26
  import "vee-validate";
27
- import { useForm as Ne } from "../../tt-form/src/useForm.js";
27
+ import { useForm as De } from "../../tt-form/src/useForm.js";
28
28
  import "zod";
29
29
  import "@vee-validate/zod";
30
- import { useStore as He } from "@tanstack/vue-store";
30
+ import { useStore as Ne } from "@tanstack/vue-store";
31
31
  import "es-toolkit/compat";
32
32
  import "../../tt-form/src/shared/zod-defaults.js";
33
33
  import "../../tt-nav-anchor/index.js";
34
34
  import "../../../node_modules/.pnpm/vue-types@5.1.3_vue@3.5.21_typescript@5.9.3_/node_modules/vue-types/shim/index.modern.js";
35
- import { useDesign as We } from "../../../packages/hooks/src/useDesign.js";
36
- import { useDebounceFn as j } from "../../../packages/hooks/src/useDebounce.js";
35
+ import { useDesign as He } from "../../../packages/hooks/src/useDesign.js";
36
+ import { useDebounceFn as K } from "../../../packages/hooks/src/useDebounce.js";
37
37
  import "../../tt-icon/index.js";
38
38
  import "../../tt-form/src/components/Slot.js";
39
39
  import "../../tt-form-item-error-tooltip/index.js";
@@ -48,7 +48,7 @@ import "../../tt-drawer/index.js";
48
48
  import "../../tt-modal/index.js";
49
49
  import "../../tt-text/index.js";
50
50
  import "../../../directives/disabled-tip/index.js";
51
- import { GlobalConfig as Ue } from "../../../hooks/useSetup.js";
51
+ import { GlobalConfig as We } from "../../../hooks/useSetup.js";
52
52
  import "../../tt-log/index.js";
53
53
  /* empty css */
54
54
  /* empty css */
@@ -59,24 +59,24 @@ import "../../tt-loading/index.js";
59
59
  import "../index.js";
60
60
  import "vue-router";
61
61
  import "numeral";
62
- import qe from "./components/TableColumnModal.vue2.js";
62
+ import Ue from "./components/TableColumnModal.vue2.js";
63
63
  /* empty css */
64
- import { provideFormActionTestIds as Ge } from "./utils/context.js";
65
- import Je from "./components/TableToobalTools.vue.js";
66
- import { basicTableEmits as te } from "./emits.js";
67
- import Qe from "./Table.vue.js";
64
+ import { provideFormActionTestIds as qe } from "./utils/context.js";
65
+ import Ge from "./components/TableToobalTools.vue.js";
66
+ import { basicTableEmits as ee } from "./emits.js";
67
+ import Je from "./Table.vue.js";
68
68
  /* empty css */
69
- import { createTableFormContext as Xe } from "./hooks/useTableContext.js";
70
- import { useTableForm as Ye } from "./hooks/useTableForm.js";
71
- import { useCustomColumns as Ze } from "./hooks/useCustomColumns.js";
72
- import { useTableSlot as et } from "./hooks/useTableSlot.js";
73
- import { tableFormProps as tt } from "./props.js";
74
- import { getDefaultState as ot } from "./utils/table-api.js";
75
- import { TableFormApi as rt } from "./utils/table-form-api.js";
76
- const st = ["data-testid"], at = ["data-testid"], Ao = /* @__PURE__ */ Ae({
69
+ import { createTableFormContext as Qe } from "./hooks/useTableContext.js";
70
+ import { useTableForm as Xe } from "./hooks/useTableForm.js";
71
+ import { useCustomColumns as Ye } from "./hooks/useCustomColumns.js";
72
+ import { useTableSlot as Ze } from "./hooks/useTableSlot.js";
73
+ import { tableFormProps as et } from "./props.js";
74
+ import { getDefaultState as tt } from "./utils/table-api.js";
75
+ import { TableFormApi as ot } from "./utils/table-form-api.js";
76
+ const rt = ["data-testid"], st = ["data-testid"], Mo = /* @__PURE__ */ Me({
77
77
  name: "TtTableForm",
78
78
  __name: "TableForm",
79
- props: tt,
79
+ props: et,
80
80
  emits: [
81
81
  "register",
82
82
  "update:table-data",
@@ -85,101 +85,101 @@ const st = ["data-testid"], at = ["data-testid"], Ao = /* @__PURE__ */ Ae({
85
85
  "export",
86
86
  "import",
87
87
  "set-columns",
88
- ...te
88
+ ...ee
89
89
  ],
90
- setup(oe, { expose: re, emit: se }) {
91
- var W, U, q;
92
- const u = oe, y = se, R = Ee(), { prefixCls: _ } = We("table-form"), w = Oe();
90
+ setup(te, { expose: oe, emit: re }) {
91
+ var H, W, U;
92
+ const u = te, y = re, A = Ee(), { prefixCls: R } = He("table-form"), w = Oe();
93
93
  let t = u.tableFormApi;
94
94
  if (!t) {
95
- t = new rt(u);
95
+ t = new ot(u);
96
96
  const e = t;
97
- e.useStore = (o) => He(t.store, o), t = e;
97
+ e.useStore = (o) => Ne(t.store, o), t = e;
98
98
  }
99
- const B = (W = t == null ? void 0 : t.useStore) == null ? void 0 : W.call(t), S = h(() => {
99
+ const _ = (H = t == null ? void 0 : t.useStore) == null ? void 0 : H.call(t), C = g(() => {
100
100
  var o;
101
101
  if (u.testId) return u.testId;
102
- const e = (o = A(B)) == null ? void 0 : o.table;
103
- return e != null && e.api ? je(e.api) : "table";
104
- }), ae = h(() => k(S.value, "tableform")), ie = h(() => k(S.value, "search-form-header")), le = h(() => k(S.value, "search-btn-query")), ne = h(() => k(S.value, "search-btn-reset")), me = h(() => ({
105
- submit: le.value,
106
- reset: ne.value
102
+ const e = (o = T(_)) == null ? void 0 : o.table;
103
+ return e != null && e.api ? Ke(e.api) : "table";
104
+ }), se = g(() => k(C.value, "tableform")), ae = g(() => k(C.value, "search-form-header")), ie = g(() => k(C.value, "search-btn-query")), le = g(() => k(C.value, "search-btn-reset")), ne = g(() => ({
105
+ submit: ie.value,
106
+ reset: le.value
107
107
  }));
108
- Ge(me);
109
- const x = {}, c = $e(), T = h(() => A(B)), { getFormSlotKeysFunc: pe, getTableSlotKeysFunc: ue, replaceTableSlotKey: ce, replaceFormSlotKey: de } = et(), {
110
- tableData: fe,
111
- getFormProps: V,
108
+ qe(ne);
109
+ const j = {}, c = $e(), S = g(() => T(_)), { getFormSlotKeysFunc: me, getTableSlotKeysFunc: pe, replaceTableSlotKey: ue, replaceFormSlotKey: ce } = Ze(), {
110
+ tableData: de,
111
+ getFormProps: B,
112
112
  getTableProps: d,
113
- getTableToolProps: be,
114
- handleSearchInfoChange: z
115
- } = Ye(
116
- T,
113
+ getTableToolProps: fe,
114
+ handleSearchInfoChange: x
115
+ } = Xe(
116
+ S,
117
117
  t.tableApi.reload,
118
118
  t.tableApi.getLoading,
119
119
  t.tableApi.getPagination,
120
120
  y
121
- ), { run: ge } = j(
121
+ ), { run: be } = K(
122
122
  async () => {
123
123
  const e = await r.getValues();
124
124
  await r.resetForm(e, { force: !0 });
125
125
  const o = await r.getValues();
126
- r.setLatestSubmissionValues(o), (await (r == null ? void 0 : r.validate())).valid && z(o);
126
+ r.setLatestSubmissionValues(o), (await (r == null ? void 0 : r.validate())).valid && x(o);
127
127
  },
128
128
  200,
129
129
  { leading: !0 }
130
- ), { run: he } = j(
130
+ ), { run: ge } = K(
131
131
  async (e) => {
132
- await t.grid.clearFilter(), await z(e);
132
+ await t.grid.clearFilter(), await x(e);
133
133
  },
134
134
  200,
135
135
  { leading: !0 }
136
- ), [ve, r] = Ne({
137
- ...A(V),
138
- handleSubmit: he,
139
- handleReset: ge,
136
+ ), [he, r] = De({
137
+ ...T(B),
138
+ handleSubmit: ge,
139
+ handleReset: be,
140
140
  submitOnEnter: !0,
141
141
  submitButtonOptions: {
142
- content: (U = Ue.form) == null ? void 0 : U.submitTitle
142
+ content: (W = We.form) == null ? void 0 : W.submitTitle
143
143
  },
144
144
  showCollapseButton: !0,
145
145
  collapsed: !0,
146
146
  collapseTriggerResize: !0
147
- }), { initCustomSetting: Ce, saveColumns: Se } = Ze({
147
+ }), { initCustomSetting: ve, saveColumns: Ce } = Ye({
148
148
  getTableProps: d,
149
149
  tableMethods: t.tableApi,
150
- getProps: T
151
- }), D = async () => {
152
- await Ve(), t.tableApi && t.tableApi.redoHeight();
150
+ getProps: S
151
+ }), z = async () => {
152
+ await Be(), t.tableApi && t.tableApi.redoHeight();
153
153
  };
154
- te.forEach((e) => {
155
- const o = xe.camelCase(e);
156
- x[o] = (...a) => y(e, ...a);
154
+ ee.forEach((e) => {
155
+ const o = je.camelCase(e);
156
+ j[o] = (...s) => y(e, ...s);
157
157
  });
158
- const Te = {
159
- ...x
158
+ const Se = {
159
+ ...j
160
160
  };
161
- function ye(e) {
162
- t.setState((o) => o.table ? (o.table.getSyncSlotComponent = u.table.getSyncSlotComponent, ze(
161
+ function Te(e) {
162
+ t.setState((o) => o.table ? (o.table.getSyncSlotComponent = u.table.getSyncSlotComponent, xe(
163
163
  {
164
164
  ...e,
165
165
  table: {
166
- ...ot(),
166
+ ...tt(),
167
167
  ...e.table
168
168
  }
169
169
  },
170
170
  o
171
171
  )) : {}), e.table && t.tableApi.setState(e.table), e.form && (r == null || r.setState(e.form));
172
172
  }
173
- const { run: we } = j(
173
+ const { run: ye } = K(
174
174
  async (e) => {
175
- r.isMounted && s(T).useSearchForm ? r.validate().then(async (o) => {
175
+ r.isMounted && a(S).useSearchForm ? r.validate().then(async (o) => {
176
176
  if (o.valid) {
177
- const a = await r.getValues();
177
+ const s = await r.getValues();
178
178
  await t.tableApi.reload({
179
179
  ...e,
180
180
  searchInfo: {
181
181
  ...e == null ? void 0 : e.searchInfo,
182
- ...a
182
+ ...s
183
183
  }
184
184
  });
185
185
  }
@@ -197,55 +197,53 @@ const st = ["data-testid"], at = ["data-testid"], Ao = /* @__PURE__ */ Ae({
197
197
  formMethods: r,
198
198
  setTableProps: t.tableApi.setState,
199
199
  setFormProps: r.setState,
200
- setProps: ye,
201
- reload: we,
202
- selectedKeys: h(() => A(t.tableApi.selectedKeys))
200
+ setProps: Te,
201
+ reload: ye,
202
+ selectedKeys: g(() => T(t.tableApi.selectedKeys))
203
203
  };
204
- async function Fe() {
205
- const { tableRefreshBefore: e } = T.value;
206
- e && Ke(e) && await e(), E.reload();
204
+ async function we() {
205
+ const { tableRefreshBefore: e } = S.value;
206
+ e && Le(e) && await e(), E.reload();
207
207
  }
208
- async function Pe(e) {
209
- var f, n;
210
- const o = ((n = (f = T.value) == null ? void 0 : f.table) == null ? void 0 : n.columns) || [], a = new Map(o.map((l) => [l.field, l])), i = e.checkedModel.map((l) => a.get(l)).filter(Boolean);
208
+ async function Fe(e) {
209
+ var f, m;
210
+ const o = ((m = (f = S.value) == null ? void 0 : f.table) == null ? void 0 : m.columns) || [], s = new Map(o.map((n) => [n.field, n])), l = e.checkedModel.map((n) => s.get(n)).filter(Boolean);
211
211
  if (e.isExport) {
212
212
  y("export", e.checkedModel, e.modalApi);
213
213
  return;
214
214
  }
215
215
  e.modalApi.setModalProps({
216
216
  confirmLoading: !0
217
- }), d.value.useHttpCache && await Se(JSON.stringify(e.checkedModel)), t.tableApi.setTableColumns(i), e.modalApi.setModalProps({
217
+ }), d.value.useHttpCache && await Ce(JSON.stringify(e.checkedModel)), t.tableApi.setTableColumns(l), e.modalApi.setModalProps({
218
218
  confirmLoading: !1
219
- }), e.modalApi.closeModal(), y("set-columns", i);
219
+ }), e.modalApi.closeModal(), y("set-columns", l);
220
220
  }
221
- function N(e = !1) {
222
- var n, l, v, b, F, P, I, M;
223
- const { notSetColumnField: o, columns: a } = s(d), i = (b = (v = (l = ((n = t.tableApi.getTableInstance()) == null ? void 0 : n.getTableColumn()) || []) == null ? void 0 : l.visibleColumn) == null ? void 0 : v.map((m) => m.field)) == null ? void 0 : b.filter(Boolean), f = ((P = (F = s(a)) == null ? void 0 : F.filter((m) => m.visible === !0 || m.visible === void 0)) == null ? void 0 : P.map((m) => m.field)) || [];
221
+ function D(e = !1) {
222
+ var m, n, h, b, F, P, I, M;
223
+ const { notSetColumnField: o, columns: s } = a(d), l = (b = (h = (n = ((m = t.tableApi.getTableInstance()) == null ? void 0 : m.getTableColumn()) || []) == null ? void 0 : n.visibleColumn) == null ? void 0 : h.map((i) => i.field)) == null ? void 0 : b.filter(Boolean), f = ((P = (F = a(s)) == null ? void 0 : F.filter((i) => i.visible === !0 || i.visible === void 0)) == null ? void 0 : P.map((i) => i.field)) || [];
224
224
  (I = w.value) == null || I.openModal({
225
- columns: (A(a) || []).filter((m) => m.visible !== !1),
226
- displayFields: e ? f : i,
225
+ columns: (T(s) || []).filter((i) => i.visible !== !1),
226
+ displayFields: e ? f : l,
227
227
  disabledColumnField: o || []
228
228
  }), (M = w.value) == null || M.setModalProps({
229
229
  title: "列设置"
230
230
  });
231
231
  }
232
- function H(e = !1) {
233
- var n, l, v, b, F, P, I, M, m;
234
- const { notSetColumnField: o, columns: a } = s(d), i = (b = (v = (l = ((n = t.tableApi.getTableInstance()) == null ? void 0 : n.getTableColumn()) || []) == null ? void 0 : l.visibleColumn) == null ? void 0 : v.map((g) => g.field)) == null ? void 0 : b.filter(Boolean), f = ((P = (F = s(a)) == null ? void 0 : F.filter((g) => g.visible === !0 || g.visible === void 0)) == null ? void 0 : P.map((g) => g.field)) || [];
235
- (M = w.value) == null || M.openModal({
236
- columns: (((I = t.tableApi) == null ? void 0 : I.getTableColumns()) || []).filter(
237
- (g) => g.visible !== !1
238
- ),
239
- displayFields: e ? f : i,
232
+ function N(e = !1) {
233
+ var m, n, h, b, F, P, I, M;
234
+ const { notSetColumnField: o, columns: s } = a(d), l = (b = (h = (n = ((m = t.tableApi.getTableInstance()) == null ? void 0 : m.getTableColumn()) || []) == null ? void 0 : n.visibleColumn) == null ? void 0 : h.map((i) => i.field)) == null ? void 0 : b.filter(Boolean), f = ((P = (F = a(s)) == null ? void 0 : F.filter((i) => i.visible === !0 || i.visible === void 0)) == null ? void 0 : P.map((i) => i.field)) || [];
235
+ (I = w.value) == null || I.openModal({
236
+ columns: (T(s) || []).filter((i) => i.visible !== !1),
237
+ displayFields: e ? f : l,
240
238
  disabledColumnField: o || [],
241
239
  isExport: !0
242
- }), (m = w.value) == null || m.setModalProps({
240
+ }), (M = w.value) == null || M.setModalProps({
243
241
  title: "自定义导出"
244
242
  });
245
243
  }
246
- Xe({ formInstance: r }), G(() => {
244
+ Qe({ formInstance: r }), q(() => {
247
245
  c && y("register", E, c == null ? void 0 : c.uid), setTimeout(() => {
248
- Ce();
246
+ ve();
249
247
  }, 16);
250
248
  }), O(
251
249
  () => t.tableApi.getLoading.value,
@@ -254,9 +252,9 @@ const st = ["data-testid"], at = ["data-testid"], Ao = /* @__PURE__ */ Ae({
254
252
  submitButtonOptions: { loading: t.tableApi.getLoading.value }
255
253
  });
256
254
  },
257
- { immediate: (q = B.value.table) == null ? void 0 : q.immediate }
255
+ { immediate: (U = _.value.table) == null ? void 0 : U.immediate }
258
256
  ), O(
259
- () => V.value,
257
+ () => B.value,
260
258
  (e) => {
261
259
  r && (r == null || r.setState(e));
262
260
  },
@@ -268,84 +266,84 @@ const st = ["data-testid"], at = ["data-testid"], Ao = /* @__PURE__ */ Ae({
268
266
  t != null && t.tableApi && ((o = t == null ? void 0 : t.tableApi) == null || o.setState(e));
269
267
  },
270
268
  { deep: !0 }
271
- ), window.addEventListener("resize", D), G(() => {
272
- t == null || t.mount(E, r), r == null || r.setState(V.value);
269
+ ), window.addEventListener("resize", z), q(() => {
270
+ t == null || t.mount(E, r), r == null || r.setState(B.value);
273
271
  });
274
- function Ie(e) {
272
+ function Pe(e) {
275
273
  return Object.fromEntries(Object.entries(e).filter(([o]) => !o.startsWith("on")));
276
274
  }
277
- function Me(e, o) {
278
- return Object.fromEntries(Object.keys(e).map((a) => [a, o[a]]));
275
+ function Ie(e, o) {
276
+ return Object.fromEntries(Object.keys(e).map((s) => [s, o[s]]));
279
277
  }
280
278
  return O(
281
- () => De(u, ["tableFormApi"]),
279
+ () => ze(u, ["tableFormApi"]),
282
280
  () => {
283
- var n;
284
- const e = {}, o = ((n = c == null ? void 0 : c.vnode) == null ? void 0 : n.props) || {}, a = new Set(Object.keys(u));
285
- for (const [l, v] of Object.entries(o)) {
286
- const b = Le(l);
287
- a.has(b) && (e[b] = v);
281
+ var m;
282
+ const e = {}, o = ((m = c == null ? void 0 : c.vnode) == null ? void 0 : m.props) || {}, s = new Set(Object.keys(u));
283
+ for (const [n, h] of Object.entries(o)) {
284
+ const b = Ve(n);
285
+ s.has(b) && (e[b] = h);
288
286
  }
289
- const i = Ie(e), f = Me(i, u);
287
+ const l = Pe(e), f = Ie(l, u);
290
288
  t.setState(f);
291
289
  },
292
290
  { deep: !0 }
293
291
  ), ke(() => {
294
- t == null || t.unmount(), window.removeEventListener("resize", D);
295
- }), re({ ...E, instance: c }), (e, o) => (Q(), J("div", {
296
- class: L(s(_)),
297
- "data-testid": ae.value
292
+ t == null || t.unmount(), window.removeEventListener("resize", z);
293
+ }), oe({ ...E, instance: c }), (e, o) => (J(), G("div", {
294
+ class: V(a(R)),
295
+ "data-testid": se.value
298
296
  }, [
299
- T.value.useSearchForm ? (Q(), J("div", {
297
+ S.value.useSearchForm ? (J(), G("div", {
300
298
  key: 0,
301
- class: L(`${s(_)}-header`),
302
- "data-testid": ie.value
299
+ class: V(`${a(R)}-header`),
300
+ "data-testid": ae.value
303
301
  }, [
304
- $(s(ve), {
305
- "test-id": `${S.value}-search-form`
306
- }, K({ _: 2 }, [
307
- X(s(pe)(s(R)), (a) => ({
308
- name: s(de)(a),
309
- fn: C((i) => [
310
- p(e.$slots, a, Y(Z(i || {})))
302
+ $(a(he), {
303
+ "test-id": `${C.value}-search-form`
304
+ }, L({ _: 2 }, [
305
+ Q(a(me)(a(A)), (s) => ({
306
+ name: a(ce)(s),
307
+ fn: v((l) => [
308
+ p(e.$slots, s, X(Y(l || {})))
311
309
  ])
312
310
  }))
313
311
  ]), 1032, ["test-id"]),
314
312
  p(e.$slots, "header-down")
315
- ], 10, at)) : Re("", !0),
316
- _e("div", {
317
- class: L({
318
- [`${s(_)}-wrapper`]: !0,
313
+ ], 10, st)) : Ae("", !0),
314
+ Re("div", {
315
+ class: V({
316
+ [`${a(R)}-wrapper`]: !0,
319
317
  "pt-(--tt-base-padding)!": !0,
320
- "pb-(--tt-base-padding)!": !s(d).showPager
318
+ "pb-(--tt-base-padding)!": !a(d).showPager
321
319
  })
322
320
  }, [
323
321
  p(e.$slots, "table-top"),
324
- $(Qe, ee(s(d), {
325
- data: s(fe),
322
+ $(Je, Z(a(d), {
323
+ data: a(de),
326
324
  "table-row-id": e.tableRowId,
327
- "table-id": S.value,
328
- "form-api": s(r),
329
- "table-api": s(t).tableApi
330
- }, Be(Te)), K({ _: 2 }, [
331
- X(s(ue)(s(R)), (a) => ({
332
- name: s(ce)(a),
333
- fn: C((i) => [
334
- p(e.$slots, a, Y(Z(i || {})))
325
+ "table-id": C.value,
326
+ "form-api": a(r),
327
+ "table-api": a(t).tableApi
328
+ }, _e(Se)), L({ _: 2 }, [
329
+ Q(a(pe)(a(A)), (s) => ({
330
+ name: a(ue)(s),
331
+ fn: v((l) => [
332
+ p(e.$slots, s, X(Y(l || {})))
335
333
  ])
336
334
  })),
337
- s(d).showToolbar ? {
335
+ a(d).showToolbar ? {
338
336
  name: "toolbar_tools",
339
- fn: C(() => [
340
- $(Je, ee(s(be), {
341
- onOnRefresh: Fe,
342
- onOnExport: H,
343
- onOnColumnsSetting: N
337
+ fn: v(() => [
338
+ $(Ge, Z(a(fe), {
339
+ onOnRefresh: we,
340
+ onOnExport: N,
341
+ onOnColumnsSetting: D
344
342
  }), {
345
- "toolbar-left": C(() => [
343
+ "toolbar-left": v(() => [
346
344
  p(e.$slots, "t-toolbar_tools-left")
347
345
  ]),
348
- "toolbar-right": C(() => [
346
+ "toolbar-right": v(() => [
349
347
  p(e.$slots, "t-toolbar_tools-right")
350
348
  ]),
351
349
  _: 3
@@ -357,29 +355,29 @@ const st = ["data-testid"], at = ["data-testid"], Ao = /* @__PURE__ */ Ae({
357
355
  ]), 1040, ["data", "table-row-id", "table-id", "form-api", "table-api"]),
358
356
  p(e.$slots, "table-bottom")
359
357
  ], 2),
360
- $(qe, {
358
+ $(Ue, {
361
359
  ref_key: "tableColumnModalRef",
362
360
  ref: w,
363
- "open-export": H,
364
- "open-column": N,
365
- onOnSubmit: Pe
366
- }, K({
367
- beforeFooter: C(() => [
361
+ "open-export": N,
362
+ "open-column": D,
363
+ onOnSubmit: Fe
364
+ }, L({
365
+ beforeFooter: v(() => [
368
366
  p(e.$slots, "t-column-modal-before-footer")
369
367
  ]),
370
368
  _: 2
371
369
  }, [
372
- s(R)["t-column-modal-title"] ? {
370
+ a(A)["t-column-modal-title"] ? {
373
371
  name: "title",
374
- fn: C(() => [
372
+ fn: v(() => [
375
373
  p(e.$slots, "t-column-modal-title")
376
374
  ]),
377
375
  key: "0"
378
376
  } : void 0
379
377
  ]), 1536)
380
- ], 10, st));
378
+ ], 10, rt));
381
379
  }
382
380
  });
383
381
  export {
384
- Ao as default
382
+ Mo as default
385
383
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dazhicheng/ui",
3
- "version": "1.5.227",
3
+ "version": "1.5.229",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -67,8 +67,8 @@
67
67
  "vue-router": "^5.0.2",
68
68
  "vxe-pc-ui": "^4.12.36",
69
69
  "vxe-table": "^4.17.48",
70
- "@dazhicheng/utils": "1.3.41",
71
- "@dazhicheng/hooks": "1.4.44"
70
+ "@dazhicheng/hooks": "1.4.44",
71
+ "@dazhicheng/utils": "1.3.41"
72
72
  },
73
73
  "files": [
74
74
  "dist"