pro-design-vue 1.2.17 → 1.2.19
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/index.full.js +70 -83
- package/dist/index.full.min.js +7 -7
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +70 -83
- package/es/components/config-provider/src/typing.d.ts +5 -2
- package/es/components/form/src/Form.d.ts +76 -6
- package/es/components/form/src/base/BaseForm.d.ts +76 -6
- package/es/components/form/src/base/StepForm.d.ts +76 -6
- package/es/components/form/src/fields/FieldCheckboxGroup.d.ts +27 -18
- package/es/components/form/src/fields/FieldRadioGroup.d.ts +27 -18
- package/es/components/form/src/hooks/useFieldOptions.d.ts +5 -1
- package/es/components/form/src/layouts/DrawerForm.d.ts +76 -6
- package/es/components/form/src/layouts/ModalForm.d.ts +76 -6
- package/es/components/form/src/layouts/QueryFilter.d.ts +76 -6
- package/es/components/form/src/layouts/StepsForm.d.ts +76 -6
- package/es/components/form/src/props.d.ts +30 -18
- package/es/components/table/src/components/InteralTable.vue.d.ts +3 -0
- package/es/components/table/src/components/Table.d.ts +3 -0
- package/es/components/table/src/components/interface.d.ts +4 -0
- package/es/index.d.ts +414 -45
- package/es/packages/components/config-provider/src/config-provider.vue2.mjs.map +1 -1
- package/es/packages/components/form/src/base/BaseForm.mjs +38 -25
- package/es/packages/components/form/src/base/BaseForm.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldCheckboxGroup.mjs +3 -1
- package/es/packages/components/form/src/fields/FieldCheckboxGroup.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldRadioGroup.mjs +3 -1
- package/es/packages/components/form/src/fields/FieldRadioGroup.mjs.map +1 -1
- package/es/packages/components/form/src/hooks/useFieldOptions.mjs +9 -44
- package/es/packages/components/form/src/hooks/useFieldOptions.mjs.map +1 -1
- package/es/packages/components/form/src/props.mjs +7 -5
- package/es/packages/components/form/src/props.mjs.map +1 -1
- package/es/packages/components/form/src/utils/fieldPropsMap.mjs +2 -1
- package/es/packages/components/form/src/utils/fieldPropsMap.mjs.map +1 -1
- package/es/packages/components/table/src/components/Table.mjs +6 -3
- package/es/packages/components/table/src/components/Table.mjs.map +1 -1
- package/es/packages/components/table/src/components/interface.mjs +2 -1
- package/es/packages/components/table/src/components/interface.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/config-provider/src/typing.d.ts +5 -2
- package/lib/components/form/src/Form.d.ts +76 -6
- package/lib/components/form/src/base/BaseForm.d.ts +76 -6
- package/lib/components/form/src/base/StepForm.d.ts +76 -6
- package/lib/components/form/src/fields/FieldCheckboxGroup.d.ts +27 -18
- package/lib/components/form/src/fields/FieldRadioGroup.d.ts +27 -18
- package/lib/components/form/src/hooks/useFieldOptions.d.ts +5 -1
- package/lib/components/form/src/layouts/DrawerForm.d.ts +76 -6
- package/lib/components/form/src/layouts/ModalForm.d.ts +76 -6
- package/lib/components/form/src/layouts/QueryFilter.d.ts +76 -6
- package/lib/components/form/src/layouts/StepsForm.d.ts +76 -6
- package/lib/components/form/src/props.d.ts +30 -18
- package/lib/components/table/src/components/InteralTable.vue.d.ts +3 -0
- package/lib/components/table/src/components/Table.d.ts +3 -0
- package/lib/components/table/src/components/interface.d.ts +4 -0
- package/lib/index.d.ts +414 -45
- package/lib/packages/components/config-provider/src/config-provider.vue2.js.map +1 -1
- package/lib/packages/components/form/src/base/BaseForm.js +38 -25
- package/lib/packages/components/form/src/base/BaseForm.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldCheckboxGroup.js +3 -1
- package/lib/packages/components/form/src/fields/FieldCheckboxGroup.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldRadioGroup.js +3 -1
- package/lib/packages/components/form/src/fields/FieldRadioGroup.js.map +1 -1
- package/lib/packages/components/form/src/hooks/useFieldOptions.js +9 -44
- package/lib/packages/components/form/src/hooks/useFieldOptions.js.map +1 -1
- package/lib/packages/components/form/src/props.js +7 -5
- package/lib/packages/components/form/src/props.js.map +1 -1
- package/lib/packages/components/form/src/utils/fieldPropsMap.js +2 -1
- package/lib/packages/components/form/src/utils/fieldPropsMap.js.map +1 -1
- package/lib/packages/components/table/src/components/Table.js +6 -3
- package/lib/packages/components/table/src/components/Table.js.map +1 -1
- package/lib/packages/components/table/src/components/interface.js +2 -1
- package/lib/packages/components/table/src/components/interface.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-provider.vue2.mjs","sources":["../../../../../../../packages/components/config-provider/src/config-provider.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-05-22 09:08:36\n * @LastEditors: shen\n * @LastEditTime: 2025-10-
|
|
1
|
+
{"version":3,"file":"config-provider.vue2.mjs","sources":["../../../../../../../packages/components/config-provider/src/config-provider.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-05-22 09:08:36\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 14:10:39\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { ProConfigProviderProps } from './typing'\nimport { ConfigProvider, App, theme as antTheme } from 'ant-design-vue'\nimport { DEFAULT_LOCALE } from '@pro-design-vue/constants'\nimport { zhCNIntl } from './intl'\nimport { computed, nextTick, watch } from 'vue'\nimport { isArray, omit } from '@pro-design-vue/utils'\nimport dayjs from 'dayjs'\nimport ConfigProviderContainer from './config-provider-container.vue'\nimport antdDefaultLocale from 'ant-design-vue/es/locale/zh_CN.js'\nimport { defaultToken } from './defaultToken'\n\ninterface Props extends ProConfigProviderProps {}\n\ndefineOptions({\n name: 'ProConfigProvider',\n})\n\nconst {\n intl = {\n ...zhCNIntl,\n locale: 'default',\n },\n proPrefixCls = 'pro',\n dark = false,\n compact = false,\n token,\n locale = antdDefaultLocale,\n theme,\n table,\n drawer,\n modal,\n form,\n app,\n prefixCls = 'ant',\n componentSize,\n ...rest\n} = defineProps<Props>()\n// 默认国际化为zh-cn\nif (locale.locale === DEFAULT_LOCALE.toLocaleLowerCase()) {\n import('dayjs/locale/zh-cn.js').then((value) => {\n dayjs.locale(value)\n })\n}\n\nconst mergerTheme = computed(() => {\n const algorithm = dark ? [antTheme.darkAlgorithm] : [antTheme.defaultAlgorithm]\n if (compact) {\n algorithm.push(antTheme.compactAlgorithm)\n }\n\n if (theme?.algorithm) {\n if (isArray(theme?.algorithm)) {\n algorithm.push(...theme?.algorithm)\n } else {\n algorithm.push(theme?.algorithm)\n }\n }\n const mergeToken = {\n ...defaultToken,\n ...theme?.token,\n ...token,\n }\n return {\n ...theme,\n algorithm,\n token: {\n ...mergeToken,\n colorLink: mergeToken.colorPrimary,\n colorLinkActive: 'hsl(var(--pro-primary-600))',\n colorLinkHover: 'hsl(var(--pro-primary-400))',\n },\n }\n})\n\nwatch(\n () => dark,\n async () => {\n await nextTick()\n const root = document.documentElement\n root.classList.toggle('dark', dark)\n },\n {\n immediate: true,\n },\n)\nConfigProvider.config({\n prefixCls,\n})\n</script>\n\n<template>\n <ConfigProvider\n v-bind=\"rest\"\n :locale\n :prefixCls\n :theme=\"mergerTheme\"\n :componentSize\n :form=\"\n omit(form ?? {}, ['resetOnSubmit', 'labelWidth', 'resetText', 'searchText', 'labelWidth'])\n \"\n >\n <App v-bind=\"app\">\n <ConfigProviderContainer\n :contentOffsetTop\n :intl\n :dark\n :proPrefixCls\n :table\n :form\n :locale\n :drawer\n :modal\n :prefixCls\n :componentSize\n >\n <slot />\n </ConfigProviderContainer>\n </App>\n </ConfigProvider>\n</template>\n"],"names":["_createPropsRestProxy","antTheme","_createBlock","_unref","_mergeProps","locale","prefixCls","componentSize","form","_createVNode","app","ConfigProviderContainer","contentOffsetTop","intl","dark","proPrefixCls","table","drawer","modal","_renderSlot"],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import FormItems from '../components/FormItems.mjs';
|
|
|
12
12
|
import FormSubmitter from '../components/FormSubmitter.mjs';
|
|
13
13
|
import transformer from '../utils/transformer.mjs';
|
|
14
14
|
import { useMergedState } from '../../../../hooks/use-merged-state/index.mjs';
|
|
15
|
+
import { useProConfigInject } from '../../../config-provider/src/context.mjs';
|
|
15
16
|
import { usePrefixCls } from '../../../../hooks/use-prefix-cls/index.mjs';
|
|
16
17
|
import { omitUndefined, omit } from '../../../../utils/omit.mjs';
|
|
17
18
|
import { isEqual, cloneDeep, debounce } from 'lodash-unified';
|
|
@@ -32,6 +33,9 @@ var BaseForm = /* @__PURE__ */ defineComponent({
|
|
|
32
33
|
expose,
|
|
33
34
|
attrs
|
|
34
35
|
}) {
|
|
36
|
+
const {
|
|
37
|
+
form
|
|
38
|
+
} = useProConfigInject();
|
|
35
39
|
const mountedRef = ref(false);
|
|
36
40
|
const transformerMap = shallowRef(/* @__PURE__ */ new Map());
|
|
37
41
|
const formRef = ref();
|
|
@@ -59,7 +63,7 @@ var BaseForm = /* @__PURE__ */ defineComponent({
|
|
|
59
63
|
const formProps = computed(() => {
|
|
60
64
|
var _a;
|
|
61
65
|
return {
|
|
62
|
-
...omitUndefined(omit(props, ["colProps", "submitter", "loading", "showLoading", "omitNil", "grid", "theme", "customUi", "gridSubmitter", "requestAbort", "isKeyPressSubmit", "formKey", "initialValues", "rowProps", "dateFormatter", "params", "readonly", "readonlyProps", "items", "request", "submitOnLoading", "onLoadingChange", "onFinish", "onValuesChange"])),
|
|
66
|
+
...omitUndefined(omit(props, ["colProps", "submitter", "loading", "showLoading", "omitNil", "grid", "theme", "colon", "customUi", "gridSubmitter", "requestAbort", "isKeyPressSubmit", "formKey", "initialValues", "rowProps", "dateFormatter", "params", "readonly", "readonlyProps", "items", "request", "validateMessages", "requiredMark", "labelAlign", "labelCol", "wrapperCol", "submitOnLoading", "onLoadingChange", "onFinish", "onValuesChange"])),
|
|
63
67
|
layout: (_a = props.layout) != null ? _a : "vertical"
|
|
64
68
|
};
|
|
65
69
|
});
|
|
@@ -249,31 +253,40 @@ var BaseForm = /* @__PURE__ */ defineComponent({
|
|
|
249
253
|
...slots
|
|
250
254
|
}
|
|
251
255
|
}, {
|
|
252
|
-
default: () =>
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
"
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
256
|
+
default: () => {
|
|
257
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
258
|
+
return [createVNode(Form, mergeProps({
|
|
259
|
+
"ref": formRef
|
|
260
|
+
}, formProps.value, {
|
|
261
|
+
"class": formClass.value,
|
|
262
|
+
"model": formData.value,
|
|
263
|
+
"style": attrs.style,
|
|
264
|
+
"colon": (_c = (_b = props.colon) != null ? _b : (_a = form == null ? void 0 : form.value) == null ? void 0 : _a.colon) != null ? _c : true,
|
|
265
|
+
"requiredMark": (_f = (_e = props.requiredMark) != null ? _e : (_d = form == null ? void 0 : form.value) == null ? void 0 : _d.requiredMark) != null ? _f : true,
|
|
266
|
+
"validateMessages": (_h = props.validateMessages) != null ? _h : (_g = form == null ? void 0 : form.value) == null ? void 0 : _g.validateMessages,
|
|
267
|
+
"labelAlign": (_j = props.labelAlign) != null ? _j : (_i = form == null ? void 0 : form.value) == null ? void 0 : _i.labelAlign,
|
|
268
|
+
"labelCol": (_l = props.labelCol) != null ? _l : (_k = form == null ? void 0 : form.value) == null ? void 0 : _k.labelCol,
|
|
269
|
+
"wrapperCol": (_n = props.wrapperCol) != null ? _n : (_m = form == null ? void 0 : form.value) == null ? void 0 : _m.wrapperCol
|
|
270
|
+
}), {
|
|
271
|
+
default: () => [createVNode(Spin, {
|
|
272
|
+
"spinning": props.showLoading && (requestLoading.value || loading.value)
|
|
273
|
+
}, {
|
|
274
|
+
default: () => [createVNode(FormRowWrapper, null, {
|
|
275
|
+
default: () => [createVNode(FormItems, {
|
|
276
|
+
"list": formItems.value
|
|
277
|
+
}, null), props.gridSubmitter && props.submitter !== false && createVNode(Col, submitterColProps.value, {
|
|
278
|
+
default: () => [createVNode(FormItem, {
|
|
279
|
+
"label": " ",
|
|
280
|
+
"colon": false,
|
|
281
|
+
"class": `${prefixCls}-submitter-form-item`
|
|
282
|
+
}, {
|
|
283
|
+
default: () => [submitterNode.value]
|
|
284
|
+
})]
|
|
272
285
|
})]
|
|
273
|
-
})]
|
|
274
|
-
})
|
|
275
|
-
})]
|
|
276
|
-
}
|
|
286
|
+
}), !props.gridSubmitter && submitterNode.value]
|
|
287
|
+
})]
|
|
288
|
+
})];
|
|
289
|
+
}
|
|
277
290
|
});
|
|
278
291
|
}
|
|
279
292
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseForm.mjs","sources":["../../../../../../../../packages/components/form/src/base/BaseForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-27 12:04:01\n * @LastEditors: shen\n * @LastEditTime: 2025-10-22 10:30:10\n * @Description:\n */\nimport type { ColProps, FormInstance } from 'ant-design-vue'\nimport type {\n Entity,\n ProFormItemType,\n ProFormPropsType,\n SubmitterProps,\n TransformerMapType,\n} from '../type'\n\nimport { ref, computed, watch, onMounted, defineComponent, Teleport, shallowRef } from 'vue'\nimport { Col, Form, FormItem, Spin } from 'ant-design-vue'\nimport { cloneDeep, debounce, isEqual, isObject, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { baseFormProps } from '../props'\nimport { useProvideForm } from '../context/FormContext'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { useInitialValues } from '../hooks/useInitialValues'\nimport { useLinkage } from '../hooks/useLinkage'\nimport { convertKeyInitialValue, transformKeySubmitValue, useAction } from '../hooks/useAction'\nimport covertFormName from '../utils/namePath'\nimport FormSlotsContextProvider from '../context/FormSlotsContext'\nimport FormRowWrapper from '../components/FormRowWrapper'\nimport FormItems from '../components/FormItems'\nimport FormSubmitter from '../components/FormSubmitter'\nimport transformer from '../utils/transformer'\n\nlet requestFormCacheId = 0\n\nexport default defineComponent({\n name: 'BaseForm',\n inheritAttrs: false,\n props: {\n ...baseFormProps(),\n },\n setup(props, { slots, expose, attrs }) {\n const mountedRef = ref(false)\n const transformerMap = shallowRef<TransformerMapType>(new Map())\n const formRef = ref<FormInstance>()\n const prefixCls = usePrefixCls('form')\n const formData = ref<Entity>({})\n const formItems = ref<ProFormItemType[]>([])\n const formKey = computed(() => {\n return props.formKey ?? requestFormCacheId.toString()\n })\n\n const [loading, setLoading] = useMergedState<boolean | undefined>(false, {\n value: computed(() => props.loading),\n onChange: (val) => {\n props.onLoadingChange?.(val!)\n },\n })\n\n const formClass = computed(() => ({\n [prefixCls]: true,\n [`${attrs.class ?? ''}`]: true,\n }))\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'colProps',\n 'submitter',\n 'loading',\n 'showLoading',\n 'omitNil',\n 'grid',\n 'theme',\n 'customUi',\n 'gridSubmitter',\n 'requestAbort',\n 'isKeyPressSubmit',\n 'formKey',\n 'initialValues',\n 'rowProps',\n 'dateFormatter',\n 'params',\n 'readonly',\n 'readonlyProps',\n 'items',\n 'request',\n 'submitOnLoading',\n 'onLoadingChange',\n 'onFinish',\n 'onValuesChange',\n ]),\n ),\n layout: props.layout ?? 'vertical',\n }\n })\n\n const formatItems = (items: ProFormItemType[]): ProFormItemType[] => {\n return items\n .filter((originItem) => {\n return !originItem.hidden\n })\n .sort((a, b) => {\n if (b.order || a.order) {\n return (b.order ?? 0) - (a.order ?? 0)\n }\n return 0\n })\n .map((originItem, index) => {\n const name = covertFormName(originItem.name)\n const key = originItem.key ?? (name ? (name ?? []).join('_') : index)\n return omitUndefined<ProFormItemType>({\n ...originItem,\n originName: originItem.originName ?? originItem.name,\n name,\n key,\n })\n })\n .filter((field) => {\n return Boolean(field)\n })\n }\n\n watch(\n () => props.items,\n () => {\n transformerMap.value = transformer(props.items ?? [])\n formItems.value = formatItems(props.items ?? [])\n },\n {\n immediate: true,\n },\n )\n\n const { initialValues, hasInitial, requestLoading } = useInitialValues(\n props as ProFormPropsType,\n )\n\n watch(\n initialValues,\n (newValues, oldValues) => {\n if (!isEqual(newValues, oldValues)) {\n formData.value = cloneDeep(convertKeyInitialValue(newValues, transformerMap.value))\n if (!props.request || props.requestAbort) {\n Promise.resolve().then(() => {\n hasInitial.value = false\n })\n }\n }\n },\n {\n immediate: true,\n },\n )\n const onValuesChange = debounce(() => {\n props.onValuesChange?.(\n transformKeySubmitValue(cloneDeep(formData.value), transformerMap.value, props.omitNil),\n )\n }, 200)\n\n const onFinish = async () => {\n if (!props.onFinish) return\n if (props.submitOnLoading) {\n if (loading.value) return\n setLoading(true)\n }\n\n try {\n const finalValues = transformKeySubmitValue(\n cloneDeep(formData.value),\n transformerMap.value,\n props.omitNil,\n )\n await props.onFinish(finalValues)\n } catch (error) {\n console.log('🚀 ~ onFinish ~ error:', error)\n } finally {\n if (props.submitOnLoading) {\n setLoading(false)\n }\n }\n }\n\n watch(\n formData,\n () => {\n if (!hasInitial.value) {\n onValuesChange()\n }\n },\n {\n deep: true,\n },\n )\n\n const linkage = useLinkage()\n const action = useAction({\n props,\n formRef,\n formData,\n initialValues,\n hasInitial,\n transformerMap,\n onFinish,\n onReset: props.onReset,\n onFinishFailed: props.onFinishFailed,\n })\n\n const submitterProps = computed<SubmitterProps>(() =>\n typeof props.submitter === 'boolean' || !props.submitter\n ? {}\n : omit(props.submitter, ['colProps']),\n )\n\n const submitterColProps = computed<ColProps>(() => {\n if (props.submitter === false || props.readonly) return {}\n if (props.gridSubmitter) {\n if (isObject(props.submitter) && isObject(props.submitter.colProps)) {\n return { ...props.submitter.colProps }\n }\n }\n return { span: 24 } as ColProps\n })\n\n const submitterNode = computed(() => {\n if (props.submitter === false || props.readonly) return undefined\n const submitButtonProps =\n submitterProps.value.submitButtonProps === false\n ? false\n : {\n loading: loading.value,\n ...submitterProps.value.submitButtonProps,\n }\n const resetButtonProps =\n submitterProps.value.resetButtonProps === false\n ? false\n : {\n disabled: loading.value,\n ...submitterProps.value.resetButtonProps,\n }\n const dom = (\n <FormSubmitter\n key=\"submitter\"\n {...submitterProps.value}\n submitButtonProps={submitButtonProps}\n resetButtonProps={resetButtonProps}\n />\n )\n if (submitterProps.value.teleport) {\n return (\n <Teleport defer to={submitterProps.value.teleport}>\n {dom}\n </Teleport>\n )\n }\n return dom\n })\n\n onMounted(() => {\n mountedRef.value = true\n requestFormCacheId += 1\n const finalValues = formRef.value?.getFieldsValue?.(true) ?? {}\n Promise.resolve().then(() => {\n props.onInit?.(\n transformKeySubmitValue(finalValues, transformerMap.value, props.omitNil),\n action,\n )\n })\n })\n\n useProvideForm({\n ...linkage,\n action,\n formKey,\n mountedRef,\n prefixCls,\n initialValues,\n formData,\n hasInitial,\n theme: computed(() => props.theme),\n customUi: computed(() => props.customUi),\n grid: computed(() => props.grid),\n disabled: computed(() => props.disabled),\n readonly: computed(() => props.readonly),\n readonlyProps: computed(() => props.readonlyProps),\n rowProps: computed(() => props.rowProps ?? { gutter: 16 }),\n colProps: computed(() => props.colProps ?? { xs: 24 }),\n labelCol: computed(() => props.labelCol ?? {}),\n wrapperCol: computed(() => props.wrapperCol ?? {}),\n formatItems,\n onPressEnter: () => {\n if (!props.isKeyPressSubmit) return\n action.submit()\n },\n })\n\n expose({\n ...action,\n })\n return () => (\n <FormSlotsContextProvider value={{ ...slots }}>\n <Form\n ref={formRef}\n {...formProps.value}\n class={formClass.value}\n model={formData.value}\n style={attrs.style}\n >\n <Spin spinning={props.showLoading && (requestLoading.value || loading.value)}>\n <FormRowWrapper>\n <FormItems list={formItems.value} />\n {props.gridSubmitter && props.submitter !== false && (\n <Col {...submitterColProps.value}>\n <FormItem label=\" \" colon={false} class={`${prefixCls}-submitter-form-item`}>\n {submitterNode.value}\n </FormItem>\n </Col>\n )}\n </FormRowWrapper>\n {!props.gridSubmitter && submitterNode.value}\n </Spin>\n </Form>\n </FormSlotsContextProvider>\n )\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","requestFormCacheId","name","inheritAttrs","props","baseFormProps","setup","slots","expose","attrs","mountedRef","ref","transformerMap","shallowRef","Map","formRef","prefixCls","usePrefixCls","formData","formItems","formKey","computed","loading","setLoading","useMergedState","value","onChange","val","onLoadingChange","formClass","class","formProps","omitUndefined","omit","layout","formatItems","items","filter","originItem","hidden","sort","a","b","order","map","index","covertFormName","key","join","originName","field","Boolean","watch","transformer","immediate","initialValues","hasInitial","requestLoading","useInitialValues","newValues","oldValues","isEqual","cloneDeep","convertKeyInitialValue","request","requestAbort","Promise","resolve","then","onValuesChange","debounce","transformKeySubmitValue","omitNil","onFinish","submitOnLoading","finalValues","error","console","log","deep","linkage","useLinkage","action","useAction","onReset","onFinishFailed","submitterProps","submitter","submitterColProps","readonly","gridSubmitter","isObject","colProps","span","submitterNode","undefined","submitButtonProps","resetButtonProps","disabled","dom","_createVNode","FormSubmitter","_mergeProps","teleport","Teleport","default","onMounted","getFieldsValue","_a","onInit","useProvideForm","theme","customUi","grid","readonlyProps","rowProps","gutter","xs","labelCol","wrapperCol","onPressEnter","isKeyPressSubmit","submit","FormSlotsContextProvider","Form","style","Spin","showLoading","FormRowWrapper","FormItems","Col","FormItem"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseForm.mjs","sources":["../../../../../../../../packages/components/form/src/base/BaseForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-27 12:04:01\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 13:55:45\n * @Description:\n */\nimport type { ColProps, FormInstance } from 'ant-design-vue'\nimport type {\n Entity,\n ProFormItemType,\n ProFormPropsType,\n SubmitterProps,\n TransformerMapType,\n} from '../type'\n\nimport { ref, computed, watch, onMounted, defineComponent, Teleport, shallowRef } from 'vue'\nimport { Col, Form, FormItem, Spin } from 'ant-design-vue'\nimport { cloneDeep, debounce, isEqual, isObject, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { baseFormProps } from '../props'\nimport { useProvideForm } from '../context/FormContext'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { useInitialValues } from '../hooks/useInitialValues'\nimport { useLinkage } from '../hooks/useLinkage'\nimport { convertKeyInitialValue, transformKeySubmitValue, useAction } from '../hooks/useAction'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport covertFormName from '../utils/namePath'\nimport FormSlotsContextProvider from '../context/FormSlotsContext'\nimport FormRowWrapper from '../components/FormRowWrapper'\nimport FormItems from '../components/FormItems'\nimport FormSubmitter from '../components/FormSubmitter'\nimport transformer from '../utils/transformer'\n\nlet requestFormCacheId = 0\n\nexport default defineComponent({\n name: 'BaseForm',\n inheritAttrs: false,\n props: {\n ...baseFormProps(),\n },\n setup(props, { slots, expose, attrs }) {\n const { form } = useProConfigInject()\n const mountedRef = ref(false)\n const transformerMap = shallowRef<TransformerMapType>(new Map())\n const formRef = ref<FormInstance>()\n const prefixCls = usePrefixCls('form')\n const formData = ref<Entity>({})\n const formItems = ref<ProFormItemType[]>([])\n const formKey = computed(() => {\n return props.formKey ?? requestFormCacheId.toString()\n })\n\n const [loading, setLoading] = useMergedState<boolean | undefined>(false, {\n value: computed(() => props.loading),\n onChange: (val) => {\n props.onLoadingChange?.(val!)\n },\n })\n\n const formClass = computed(() => ({\n [prefixCls]: true,\n [`${attrs.class ?? ''}`]: true,\n }))\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'colProps',\n 'submitter',\n 'loading',\n 'showLoading',\n 'omitNil',\n 'grid',\n 'theme',\n 'colon',\n 'customUi',\n 'gridSubmitter',\n 'requestAbort',\n 'isKeyPressSubmit',\n 'formKey',\n 'initialValues',\n 'rowProps',\n 'dateFormatter',\n 'params',\n 'readonly',\n 'readonlyProps',\n 'items',\n 'request',\n 'validateMessages',\n 'requiredMark',\n 'labelAlign',\n 'labelCol',\n 'wrapperCol',\n 'submitOnLoading',\n 'onLoadingChange',\n 'onFinish',\n 'onValuesChange',\n ]),\n ),\n layout: props.layout ?? 'vertical',\n }\n })\n\n const formatItems = (items: ProFormItemType[]): ProFormItemType[] => {\n return items\n .filter((originItem) => {\n return !originItem.hidden\n })\n .sort((a, b) => {\n if (b.order || a.order) {\n return (b.order ?? 0) - (a.order ?? 0)\n }\n return 0\n })\n .map((originItem, index) => {\n const name = covertFormName(originItem.name)\n const key = originItem.key ?? (name ? (name ?? []).join('_') : index)\n return omitUndefined<ProFormItemType>({\n ...originItem,\n originName: originItem.originName ?? originItem.name,\n name,\n key,\n })\n })\n .filter((field) => {\n return Boolean(field)\n })\n }\n\n watch(\n () => props.items,\n () => {\n transformerMap.value = transformer(props.items ?? [])\n formItems.value = formatItems(props.items ?? [])\n },\n {\n immediate: true,\n },\n )\n\n const { initialValues, hasInitial, requestLoading } = useInitialValues(\n props as ProFormPropsType,\n )\n\n watch(\n initialValues,\n (newValues, oldValues) => {\n if (!isEqual(newValues, oldValues)) {\n formData.value = cloneDeep(convertKeyInitialValue(newValues, transformerMap.value))\n if (!props.request || props.requestAbort) {\n Promise.resolve().then(() => {\n hasInitial.value = false\n })\n }\n }\n },\n {\n immediate: true,\n },\n )\n const onValuesChange = debounce(() => {\n props.onValuesChange?.(\n transformKeySubmitValue(cloneDeep(formData.value), transformerMap.value, props.omitNil),\n )\n }, 200)\n\n const onFinish = async () => {\n if (!props.onFinish) return\n if (props.submitOnLoading) {\n if (loading.value) return\n setLoading(true)\n }\n\n try {\n const finalValues = transformKeySubmitValue(\n cloneDeep(formData.value),\n transformerMap.value,\n props.omitNil,\n )\n await props.onFinish(finalValues)\n } catch (error) {\n console.log('🚀 ~ onFinish ~ error:', error)\n } finally {\n if (props.submitOnLoading) {\n setLoading(false)\n }\n }\n }\n\n watch(\n formData,\n () => {\n if (!hasInitial.value) {\n onValuesChange()\n }\n },\n {\n deep: true,\n },\n )\n\n const linkage = useLinkage()\n const action = useAction({\n props,\n formRef,\n formData,\n initialValues,\n hasInitial,\n transformerMap,\n onFinish,\n onReset: props.onReset,\n onFinishFailed: props.onFinishFailed,\n })\n\n const submitterProps = computed<SubmitterProps>(() =>\n typeof props.submitter === 'boolean' || !props.submitter\n ? {}\n : omit(props.submitter, ['colProps']),\n )\n\n const submitterColProps = computed<ColProps>(() => {\n if (props.submitter === false || props.readonly) return {}\n if (props.gridSubmitter) {\n if (isObject(props.submitter) && isObject(props.submitter.colProps)) {\n return { ...props.submitter.colProps }\n }\n }\n return { span: 24 } as ColProps\n })\n\n const submitterNode = computed(() => {\n if (props.submitter === false || props.readonly) return undefined\n const submitButtonProps =\n submitterProps.value.submitButtonProps === false\n ? false\n : {\n loading: loading.value,\n ...submitterProps.value.submitButtonProps,\n }\n const resetButtonProps =\n submitterProps.value.resetButtonProps === false\n ? false\n : {\n disabled: loading.value,\n ...submitterProps.value.resetButtonProps,\n }\n const dom = (\n <FormSubmitter\n key=\"submitter\"\n {...submitterProps.value}\n submitButtonProps={submitButtonProps}\n resetButtonProps={resetButtonProps}\n />\n )\n if (submitterProps.value.teleport) {\n return (\n <Teleport defer to={submitterProps.value.teleport}>\n {dom}\n </Teleport>\n )\n }\n return dom\n })\n\n onMounted(() => {\n mountedRef.value = true\n requestFormCacheId += 1\n const finalValues = formRef.value?.getFieldsValue?.(true) ?? {}\n Promise.resolve().then(() => {\n props.onInit?.(\n transformKeySubmitValue(finalValues, transformerMap.value, props.omitNil),\n action,\n )\n })\n })\n useProvideForm({\n ...linkage,\n action,\n formKey,\n mountedRef,\n prefixCls,\n initialValues,\n formData,\n hasInitial,\n theme: computed(() => props.theme),\n customUi: computed(() => props.customUi),\n grid: computed(() => props.grid),\n disabled: computed(() => props.disabled),\n readonly: computed(() => props.readonly),\n readonlyProps: computed(() => props.readonlyProps),\n rowProps: computed(() => props.rowProps ?? { gutter: 16 }),\n colProps: computed(() => props.colProps ?? { xs: 24 }),\n labelCol: computed(() => props.labelCol ?? {}),\n wrapperCol: computed(() => props.wrapperCol ?? {}),\n formatItems,\n onPressEnter: () => {\n if (!props.isKeyPressSubmit) return\n action.submit()\n },\n })\n\n expose({\n ...action,\n })\n return () => (\n <FormSlotsContextProvider value={{ ...slots }}>\n <Form\n ref={formRef}\n {...formProps.value}\n class={formClass.value}\n model={formData.value}\n style={attrs.style}\n colon={props.colon ?? form?.value?.colon ?? true}\n requiredMark={props.requiredMark ?? form?.value?.requiredMark ?? true}\n validateMessages={props.validateMessages ?? form?.value?.validateMessages}\n labelAlign={props.labelAlign ?? form?.value?.labelAlign}\n labelCol={props.labelCol ?? form?.value?.labelCol}\n wrapperCol={props.wrapperCol ?? form?.value?.wrapperCol}\n >\n <Spin spinning={props.showLoading && (requestLoading.value || loading.value)}>\n <FormRowWrapper>\n <FormItems list={formItems.value} />\n {props.gridSubmitter && props.submitter !== false && (\n <Col {...submitterColProps.value}>\n <FormItem label=\" \" colon={false} class={`${prefixCls}-submitter-form-item`}>\n {submitterNode.value}\n </FormItem>\n </Col>\n )}\n </FormRowWrapper>\n {!props.gridSubmitter && submitterNode.value}\n </Spin>\n </Form>\n </FormSlotsContextProvider>\n )\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","requestFormCacheId","name","inheritAttrs","props","baseFormProps","setup","slots","expose","attrs","form","useProConfigInject","mountedRef","ref","transformerMap","shallowRef","Map","formRef","prefixCls","usePrefixCls","formData","formItems","formKey","computed","loading","setLoading","useMergedState","value","onChange","val","onLoadingChange","formClass","class","formProps","omitUndefined","omit","layout","formatItems","items","filter","originItem","hidden","sort","a","b","order","map","index","covertFormName","key","join","originName","field","Boolean","watch","transformer","immediate","initialValues","hasInitial","requestLoading","useInitialValues","newValues","oldValues","isEqual","cloneDeep","convertKeyInitialValue","request","requestAbort","Promise","resolve","then","onValuesChange","debounce","transformKeySubmitValue","omitNil","onFinish","submitOnLoading","finalValues","error","console","log","deep","linkage","useLinkage","action","useAction","onReset","onFinishFailed","submitterProps","submitter","submitterColProps","readonly","gridSubmitter","isObject","colProps","span","submitterNode","undefined","submitButtonProps","resetButtonProps","disabled","dom","_createVNode","FormSubmitter","_mergeProps","teleport","Teleport","default","onMounted","getFieldsValue","_a","onInit","useProvideForm","theme","customUi","grid","readonlyProps","rowProps","gutter","xs","labelCol","wrapperCol","onPressEnter","isKeyPressSubmit","submit","FormSlotsContextProvider","Form","style","colon","requiredMark","validateMessages","labelAlign","Spin","showLoading","FormRowWrapper","FormItems","Col","FormItem"],"mappings":"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"}
|
|
@@ -9,7 +9,8 @@ import FieldReadonly from './FieldReadonly.mjs';
|
|
|
9
9
|
var FieldCheckboxGroup = /* @__PURE__ */ defineComponent({
|
|
10
10
|
name: "FieldCheckboxGroup",
|
|
11
11
|
props: {
|
|
12
|
-
...commonFieldProps()
|
|
12
|
+
...commonFieldProps(),
|
|
13
|
+
fieldNames: Object
|
|
13
14
|
},
|
|
14
15
|
setup(props, {
|
|
15
16
|
attrs
|
|
@@ -25,6 +26,7 @@ var FieldCheckboxGroup = /* @__PURE__ */ defineComponent({
|
|
|
25
26
|
options: props.options,
|
|
26
27
|
valueEnum: props.valueEnum,
|
|
27
28
|
dependencies: props.dependencies,
|
|
29
|
+
fieldNames: props.fieldNames,
|
|
28
30
|
params: props.params
|
|
29
31
|
});
|
|
30
32
|
const readValue = computed(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldCheckboxGroup.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldCheckboxGroup.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 15:53:17\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FieldCheckboxGroup.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldCheckboxGroup.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 15:53:17\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 15:40:58\n * @Description:\n */\nimport { defineComponent, computed, type PropType } from 'vue'\nimport { CheckboxGroup } from 'ant-design-vue'\nimport { LoadingOutlined } from '@ant-design/icons-vue'\nimport { useFieldOptions } from '../hooks/useFieldOptions'\nimport { commonFieldProps } from '../props'\nimport { useInjectForm } from '../context/FormContext'\nimport FieldReadonly from './FieldReadonly'\n\nexport default defineComponent({\n name: 'FieldCheckboxGroup',\n props: {\n ...commonFieldProps(),\n fieldNames: Object as PropType<{ label?: string; value?: string }>,\n },\n setup(props, { attrs }) {\n const { disabled } = useInjectForm()\n const { mergeOptions, loading } = useFieldOptions({\n request: props.request,\n options: props.options,\n valueEnum: props.valueEnum,\n dependencies: props.dependencies,\n fieldNames: props.fieldNames,\n params: props.params,\n })\n\n const readValue = computed(() => {\n if (!props.value) {\n return undefined\n }\n if (Array.isArray(props.value)) {\n if (!props.value.length) {\n return undefined\n }\n return mergeOptions.value\n .filter((op) => props.value.includes(op.value))\n .map((op) => op.label ?? op.text)\n .join(',')\n }\n const option = mergeOptions.value.find((op) => op.value === props.value)\n return option?.label ?? option?.text\n })\n\n const onChange: any = (value: any) => {\n props.onChange?.(value)\n }\n return () => {\n if (props.readonly) {\n return (\n <FieldReadonly\n text={readValue.value}\n class={attrs.class}\n style={attrs.style}\n {...props.readonlyProps}\n />\n )\n }\n return (\n <CheckboxGroup\n value={props.value}\n {...attrs}\n // 这块无法直接接收form的disabled状态,所以手动处理一下,等待修复\n disabled={(attrs as any).disabled ?? disabled?.value}\n options={mergeOptions.value as any}\n onChange={onChange}\n >\n {loading.value && <LoadingOutlined style=\"color: rgba(0, 0, 0, 0.25);\" />}\n </CheckboxGroup>\n )\n }\n },\n})\n"],"names":["name","props","commonFieldProps","fieldNames","Object","setup","attrs","disabled","useInjectForm","mergeOptions","loading","useFieldOptions","request","options","valueEnum","dependencies","params","readValue","computed","value","undefined","Array","isArray","length","filter","op","includes","map","_a","label","text","join","option","find","onChange","readonly","_createVNode","FieldReadonly","_mergeProps","class","style","readonlyProps","CheckboxGroup","default","LoadingOutlined"],"mappings":"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"}
|
|
@@ -19,7 +19,8 @@ var FieldRadioGroup = /* @__PURE__ */ defineComponent({
|
|
|
19
19
|
radioLabel: {
|
|
20
20
|
type: String,
|
|
21
21
|
default: ""
|
|
22
|
-
}
|
|
22
|
+
},
|
|
23
|
+
fieldNames: Object
|
|
23
24
|
},
|
|
24
25
|
setup(props, {
|
|
25
26
|
attrs
|
|
@@ -36,6 +37,7 @@ var FieldRadioGroup = /* @__PURE__ */ defineComponent({
|
|
|
36
37
|
options: props.options,
|
|
37
38
|
valueEnum: props.valueEnum,
|
|
38
39
|
dependencies: props.dependencies,
|
|
40
|
+
fieldNames: props.fieldNames,
|
|
39
41
|
params: props.params
|
|
40
42
|
});
|
|
41
43
|
const readValue = computed(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldRadioGroup.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldRadioGroup.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 15:53:17\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FieldRadioGroup.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldRadioGroup.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 15:53:17\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 15:47:59\n * @Description:\n */\nimport { defineComponent, computed, type PropType } from 'vue'\nimport { RadioGroup, Radio } from 'ant-design-vue'\nimport { LoadingOutlined } from '@ant-design/icons-vue'\nimport { useFieldOptions } from '../hooks/useFieldOptions'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport FieldReadonly from './FieldReadonly'\nimport getSlot from '../utils/getSlot'\nimport { useInjectForm } from '../context/FormContext'\nimport { RenderVNode } from '@pro-design-vue/utils'\n\nexport default defineComponent({\n name: 'FieldRadioGroup',\n props: {\n ...commonFieldProps(),\n radioLabel: {\n type: String,\n default: '',\n },\n fieldNames: Object as PropType<{ label?: string; value?: string }>,\n },\n setup(props, { attrs }) {\n const { formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const { mergeOptions, loading } = useFieldOptions({\n request: props.request,\n options: props.options,\n valueEnum: props.valueEnum,\n dependencies: props.dependencies,\n fieldNames: props.fieldNames,\n params: props.params,\n })\n const readValue = computed(() => {\n if (!props.value) {\n return undefined\n }\n const option = mergeOptions.value.find((op) => op.value === props.value)\n return option?.label ?? option?.text\n })\n\n const defaultSlot = computed(() => {\n return getSlot(props['radioLabel'], formSlotsContext)\n })\n\n const onChange: any = (e: any) => {\n props.onChange?.(e.target.value)\n }\n return () => {\n if (props.readonly) {\n return (\n <FieldReadonly\n text={readValue.value}\n class={attrs.class}\n style={attrs.style}\n {...props.readonlyProps}\n />\n )\n }\n if (mergeOptions.value?.length > 0) {\n return (\n <RadioGroup value={props.value} {...attrs} onChange={onChange}>\n {mergeOptions.value.map((option) => (\n <Radio value={option.value} key={option.value?.toString()} disabled={option.disabled}>\n {defaultSlot.value ? (\n <RenderVNode\n vnode={defaultSlot.value}\n props={{ option, value: props.value, formData: formData.value }}\n />\n ) : (\n option.label\n )}\n </Radio>\n ))}\n </RadioGroup>\n )\n } else {\n return loading.value ? <LoadingOutlined style=\"color: rgba(0, 0, 0, 0.25);\" /> : null\n }\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","props","commonFieldProps","radioLabel","type","String","default","fieldNames","setup","attrs","formData","useInjectForm","formSlotsContext","useInjectSlots","mergeOptions","loading","useFieldOptions","request","options","valueEnum","dependencies","params","readValue","computed","value","undefined","option","find","op","label","text","defaultSlot","getSlot","onChange","e","target","readonly","_createVNode","FieldReadonly","_mergeProps","class","style","readonlyProps","length","_slot","RadioGroup","map","_a","Radio","disabled","RenderVNode","LoadingOutlined"],"mappings":"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"}
|
|
@@ -46,19 +46,22 @@ const fieldParsingValueEnumToArray = (valueEnumParams) => {
|
|
|
46
46
|
});
|
|
47
47
|
return enumArray;
|
|
48
48
|
};
|
|
49
|
-
const formatOptions = (options) => {
|
|
49
|
+
const formatOptions = (options, fieldNames) => {
|
|
50
50
|
return options == null ? void 0 : options.map((opt) => {
|
|
51
51
|
if (!isObject(opt)) {
|
|
52
52
|
return { label: opt, value: opt };
|
|
53
53
|
}
|
|
54
|
+
opt.label = opt[fieldNames.label];
|
|
55
|
+
opt.value = opt[fieldNames.value];
|
|
56
|
+
opt.children = opt[fieldNames.children];
|
|
54
57
|
if (opt == null ? void 0 : opt.text) {
|
|
55
58
|
opt.label = opt == null ? void 0 : opt.text;
|
|
56
59
|
}
|
|
57
60
|
if (Array.isArray(opt.options) && opt.options.length) {
|
|
58
|
-
opt.options = formatOptions(opt.options);
|
|
61
|
+
opt.options = formatOptions(opt.options, fieldNames);
|
|
59
62
|
}
|
|
60
63
|
if (Array.isArray(opt.children) && opt.children.length) {
|
|
61
|
-
opt.children = formatOptions(opt.children);
|
|
64
|
+
opt.children = formatOptions(opt.children, fieldNames);
|
|
62
65
|
}
|
|
63
66
|
return opt;
|
|
64
67
|
});
|
|
@@ -79,7 +82,7 @@ function useFieldOptions({
|
|
|
79
82
|
const runOptions = computed(() => runFunction(options, formData.value, rowData == null ? void 0 : rowData.value));
|
|
80
83
|
const mergeOptions = ref([]);
|
|
81
84
|
const fieldNames = computed(() => {
|
|
82
|
-
return
|
|
85
|
+
return { label: "label", value: "value", children: "children", ...fieldNamesConfig };
|
|
83
86
|
});
|
|
84
87
|
const [innerParams, setInnerParams] = useState(
|
|
85
88
|
() => {
|
|
@@ -118,7 +121,7 @@ function useFieldOptions({
|
|
|
118
121
|
() => {
|
|
119
122
|
var _a;
|
|
120
123
|
if (Array.isArray(runOptions.value) && ((_a = runOptions.value) == null ? void 0 : _a.length) > 0) {
|
|
121
|
-
mergeOptions.value = formatOptions(runOptions.value);
|
|
124
|
+
mergeOptions.value = formatOptions(runOptions.value, fieldNames.value);
|
|
122
125
|
} else {
|
|
123
126
|
const optionsEnum = runFunction(valueEnum, formData.value);
|
|
124
127
|
mergeOptions.value = fieldParsingValueEnumToArray(optionsEnum);
|
|
@@ -130,48 +133,10 @@ function useFieldOptions({
|
|
|
130
133
|
);
|
|
131
134
|
const fetchData = useFetchData({ request });
|
|
132
135
|
const requestOptions = debounce(async () => {
|
|
133
|
-
var _a;
|
|
134
136
|
loading.value = true;
|
|
135
137
|
const result = await fetchData(mergeParams.value, index == null ? void 0 : index.value);
|
|
136
138
|
if (Array.isArray(result)) {
|
|
137
|
-
mergeOptions.value = result.
|
|
138
|
-
if (opt == null ? void 0 : opt.text) {
|
|
139
|
-
opt.label = opt == null ? void 0 : opt.text;
|
|
140
|
-
}
|
|
141
|
-
return opt;
|
|
142
|
-
});
|
|
143
|
-
} else if (isObject(result)) {
|
|
144
|
-
const { success, total: dataTotal, data } = result;
|
|
145
|
-
if (success) {
|
|
146
|
-
if (paginationConfig == null ? void 0 : paginationConfig.value) {
|
|
147
|
-
total.value = dataTotal;
|
|
148
|
-
if (((_a = innerParams == null ? void 0 : innerParams.value) == null ? void 0 : _a.current) === 1) {
|
|
149
|
-
mergeOptions.value = data.map((opt) => {
|
|
150
|
-
if (opt == null ? void 0 : opt.text) {
|
|
151
|
-
opt.label = opt == null ? void 0 : opt.text;
|
|
152
|
-
}
|
|
153
|
-
return opt;
|
|
154
|
-
});
|
|
155
|
-
} else {
|
|
156
|
-
mergeOptions.value = [
|
|
157
|
-
...mergeOptions.value,
|
|
158
|
-
...data.map((opt) => {
|
|
159
|
-
if (opt == null ? void 0 : opt.text) {
|
|
160
|
-
opt.label = opt == null ? void 0 : opt.text;
|
|
161
|
-
}
|
|
162
|
-
return opt;
|
|
163
|
-
})
|
|
164
|
-
];
|
|
165
|
-
}
|
|
166
|
-
} else {
|
|
167
|
-
mergeOptions.value = data.map((opt) => {
|
|
168
|
-
if (opt == null ? void 0 : opt.text) {
|
|
169
|
-
opt.label = opt == null ? void 0 : opt.text;
|
|
170
|
-
}
|
|
171
|
-
return opt;
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
}
|
|
139
|
+
mergeOptions.value = formatOptions(result, fieldNames.value);
|
|
175
140
|
}
|
|
176
141
|
loading.value = false;
|
|
177
142
|
}, 200);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFieldOptions.mjs","sources":["../../../../../../../../packages/components/form/src/hooks/useFieldOptions.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-06-14 14:02:10\n * @LastEditors: shen\n * @LastEditTime: 2025-09-02 15:15:00\n * @Description:\n */\nimport type { Ref, ComputedRef } from 'vue'\nimport type {\n RequestOptionsType,\n ProFormItemType,\n ProFieldValueEnumType,\n ProValueEnumMap,\n} from '../type'\nimport type { DebouncedFunc } from 'lodash-unified'\n\nimport { ref, watch, computed, onMounted } from 'vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useFetchData } from './useFetchData'\nimport { useInjectFormList } from '../context/FormListContext'\nimport { debounce, get, isObject, merge, runFunction, set } from '@pro-design-vue/utils'\nimport { useState } from '@pro-design-vue/hooks'\n\ntype SelectOptionType = Partial<RequestOptionsType>[]\n\nfunction getType(obj: any) {\n // @ts-ignore\n const type = Object.prototype.toString\n .call(obj)\n .match(/^\\[object (.*)\\]$/)[1]\n .toLowerCase()\n if (type === 'string' && typeof obj === 'object') return 'object'\n if (obj === null) return 'null'\n if (obj === undefined) return 'undefined'\n return type\n}\n\nexport const ObjToMap = (value: ProFieldValueEnumType | undefined): ProValueEnumMap => {\n if (getType(value) === 'map') {\n return value as ProValueEnumMap\n }\n return new Map(Object.entries(value ?? {}))\n}\n\nexport const fieldParsingValueEnumToArray = (\n valueEnumParams: ProFieldValueEnumType,\n): SelectOptionType => {\n const enumArray: Partial<\n RequestOptionsType & {\n text: string\n /** 是否禁用 */\n disabled?: boolean\n }\n >[] = []\n const valueEnum = ObjToMap(valueEnumParams)\n\n valueEnum.forEach((_, key) => {\n const value = (valueEnum.get(key) ?? valueEnum.get(`${key}`)) as {\n text: string\n disabled?: boolean\n }\n\n if (!value) {\n return\n }\n\n if (typeof value === 'object' && value?.text) {\n enumArray.push({\n text: value?.text as unknown as string,\n value: key,\n label: value?.text as unknown as string,\n disabled: value.disabled,\n })\n return\n }\n enumArray.push({\n text: value as unknown as string,\n value: key,\n label: value as unknown as string,\n })\n })\n return enumArray\n}\n\nexport const formatOptions = (options: (string | number | RequestOptionsType)[]) => {\n return options?.map((opt) => {\n if (!isObject(opt)) {\n return { label: opt, value: opt } as RequestOptionsType\n }\n if (opt?.text) {\n opt.label = opt?.text\n }\n if (Array.isArray(opt.options) && opt.options.length) {\n opt.options = formatOptions(opt.options)\n }\n\n if (Array.isArray(opt.children) && opt.children.length) {\n opt.children = formatOptions(opt.children)\n }\n return opt\n }) as SelectOptionType\n}\n\nexport function useFieldOptions({\n options,\n request,\n params,\n valueEnum,\n fieldNames: fieldNamesConfig,\n dependencies,\n paginationConfig,\n}: {\n options?: ProFormItemType['options']\n request?: ProFormItemType['request']\n params?: ProFormItemType['params']\n valueEnum?: ProFormItemType['valueEnum']\n fieldNames?: Record<string, any>\n dependencies?: ProFormItemType['dependencies']\n paginationConfig?: ComputedRef<null | Record<string, any>>\n}): {\n loading: Ref<boolean>\n total: Ref<number>\n fieldNames: ComputedRef<Record<string, any>>\n mergeOptions: Ref<SelectOptionType>\n requestOptions: DebouncedFunc<() => Promise<void>>\n innerParams: Ref<Record<string, any>>\n setInnerParams: (val: Record<string, any>) => void\n} {\n const { formData } = useInjectForm()\n const { index, rowData } = useInjectFormList()\n const loading = ref(true)\n const total = ref(0)\n const runOptions = computed(() => runFunction(options, formData.value, rowData?.value))\n const mergeOptions = ref<SelectOptionType>([])\n const fieldNames = computed(() => {\n return fieldNamesConfig ?? { label: 'label', value: 'value', children: 'children' }\n })\n const [innerParams, setInnerParams] = useState<Record<string, any>>(\n () => paginationConfig?.value ?? {},\n )\n const mergeParams = computed(() => {\n const query = {}\n if (params) {\n const fieldParams = runFunction(params, formData.value)\n merge(query, fieldParams)\n }\n if (Array.isArray(dependencies)) {\n dependencies.forEach((namePath) => {\n const value = get(formData.value, namePath)\n if (value) {\n if (Array.isArray(namePath)) {\n set(query, namePath.join('-'), value)\n } else {\n set(query, namePath, value)\n }\n }\n })\n if (paginationConfig?.value) {\n setInnerParams({ ...innerParams?.value, current: 1 })\n }\n }\n if (innerParams?.value) {\n merge(query, innerParams?.value)\n }\n return query\n })\n\n watch(\n [() => valueEnum, () => runOptions.value],\n () => {\n if (Array.isArray(runOptions.value) && runOptions.value?.length > 0) {\n mergeOptions.value = formatOptions(runOptions.value)\n } else {\n const optionsEnum = runFunction(valueEnum, formData.value)\n mergeOptions.value = fieldParsingValueEnumToArray(optionsEnum)\n }\n },\n {\n immediate: true,\n },\n )\n\n const fetchData = useFetchData({ request })\n\n const requestOptions = debounce(async () => {\n loading.value = true\n const result = await fetchData(mergeParams.value, index?.value)\n //兼容处理返回数据结构\n if (Array.isArray(result)) {\n mergeOptions.value = result.map((opt) => {\n if (opt?.text) {\n opt.label = opt?.text\n }\n return opt\n })\n } else if (isObject(result)) {\n const { success, total: dataTotal, data } = result as any\n if (success) {\n if (paginationConfig?.value) {\n total.value = dataTotal\n if (innerParams?.value?.current === 1) {\n mergeOptions.value = data.map((opt) => {\n if (opt?.text) {\n opt.label = opt?.text\n }\n return opt\n })\n } else {\n mergeOptions.value = [\n ...mergeOptions.value,\n ...data.map((opt) => {\n if (opt?.text) {\n opt.label = opt?.text\n }\n return opt\n }),\n ]\n }\n } else {\n mergeOptions.value = data.map((opt) => {\n if (opt?.text) {\n opt.label = opt?.text\n }\n return opt\n })\n }\n }\n }\n\n loading.value = false\n }, 200)\n\n watch(\n mergeParams,\n () => {\n if (request) {\n requestOptions()\n }\n },\n {\n immediate: true,\n },\n )\n\n onMounted(() => {\n if (!request) {\n loading.value = false\n }\n })\n\n return {\n loading,\n total,\n fieldNames,\n mergeOptions,\n requestOptions,\n innerParams,\n setInnerParams,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useFieldOptions.mjs","sources":["../../../../../../../../packages/components/form/src/hooks/useFieldOptions.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-06-14 14:02:10\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 15:45:29\n * @Description:\n */\nimport type { Ref, ComputedRef } from 'vue'\nimport type {\n RequestOptionsType,\n ProFormItemType,\n ProFieldValueEnumType,\n ProValueEnumMap,\n} from '../type'\nimport type { DebouncedFunc } from 'lodash-unified'\n\nimport { ref, watch, computed, onMounted } from 'vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useFetchData } from './useFetchData'\nimport { useInjectFormList } from '../context/FormListContext'\nimport { debounce, get, isObject, merge, runFunction, set } from '@pro-design-vue/utils'\nimport { useState } from '@pro-design-vue/hooks'\n\ntype SelectOptionType = Partial<RequestOptionsType>[]\n\nfunction getType(obj: any) {\n // @ts-ignore\n const type = Object.prototype.toString\n .call(obj)\n .match(/^\\[object (.*)\\]$/)[1]\n .toLowerCase()\n if (type === 'string' && typeof obj === 'object') return 'object'\n if (obj === null) return 'null'\n if (obj === undefined) return 'undefined'\n return type\n}\n\nexport const ObjToMap = (value: ProFieldValueEnumType | undefined): ProValueEnumMap => {\n if (getType(value) === 'map') {\n return value as ProValueEnumMap\n }\n return new Map(Object.entries(value ?? {}))\n}\n\nexport const fieldParsingValueEnumToArray = (\n valueEnumParams: ProFieldValueEnumType,\n): SelectOptionType => {\n const enumArray: Partial<\n RequestOptionsType & {\n text: string\n /** 是否禁用 */\n disabled?: boolean\n }\n >[] = []\n const valueEnum = ObjToMap(valueEnumParams)\n\n valueEnum.forEach((_, key) => {\n const value = (valueEnum.get(key) ?? valueEnum.get(`${key}`)) as {\n text: string\n disabled?: boolean\n }\n\n if (!value) {\n return\n }\n\n if (typeof value === 'object' && value?.text) {\n enumArray.push({\n text: value?.text as unknown as string,\n value: key,\n label: value?.text as unknown as string,\n disabled: value.disabled,\n })\n return\n }\n enumArray.push({\n text: value as unknown as string,\n value: key,\n label: value as unknown as string,\n })\n })\n return enumArray\n}\n\nexport const formatOptions = (\n options: (string | number | RequestOptionsType)[],\n fieldNames: { label: string; value: string; children: string },\n) => {\n return options?.map((opt) => {\n if (!isObject(opt)) {\n return { label: opt, value: opt } as RequestOptionsType\n }\n opt.label = opt[fieldNames.label]\n opt.value = opt[fieldNames.value]\n opt.children = opt[fieldNames.children]\n\n if (opt?.text) {\n opt.label = opt?.text\n }\n if (Array.isArray(opt.options) && opt.options.length) {\n opt.options = formatOptions(opt.options, fieldNames)\n }\n\n if (Array.isArray(opt.children) && opt.children.length) {\n opt.children = formatOptions(opt.children, fieldNames)\n }\n return opt\n }) as SelectOptionType\n}\n\nexport function useFieldOptions({\n options,\n request,\n params,\n valueEnum,\n fieldNames: fieldNamesConfig,\n dependencies,\n paginationConfig,\n}: {\n options?: ProFormItemType['options']\n request?: ProFormItemType['request']\n params?: ProFormItemType['params']\n valueEnum?: ProFormItemType['valueEnum']\n fieldNames?: Record<string, any>\n dependencies?: ProFormItemType['dependencies']\n paginationConfig?: ComputedRef<null | Record<string, any>>\n}): {\n loading: Ref<boolean>\n total: Ref<number>\n fieldNames: ComputedRef<Record<string, any>>\n mergeOptions: Ref<SelectOptionType>\n requestOptions: DebouncedFunc<() => Promise<void>>\n innerParams: Ref<Record<string, any>>\n setInnerParams: (val: Record<string, any>) => void\n} {\n const { formData } = useInjectForm()\n const { index, rowData } = useInjectFormList()\n const loading = ref(true)\n const total = ref(0)\n const runOptions = computed(() => runFunction(options, formData.value, rowData?.value))\n const mergeOptions = ref<SelectOptionType>([])\n const fieldNames = computed(() => {\n return { label: 'label', value: 'value', children: 'children', ...fieldNamesConfig }\n })\n const [innerParams, setInnerParams] = useState<Record<string, any>>(\n () => paginationConfig?.value ?? {},\n )\n const mergeParams = computed(() => {\n const query = {}\n if (params) {\n const fieldParams = runFunction(params, formData.value)\n merge(query, fieldParams)\n }\n if (Array.isArray(dependencies)) {\n dependencies.forEach((namePath) => {\n const value = get(formData.value, namePath)\n if (value) {\n if (Array.isArray(namePath)) {\n set(query, namePath.join('-'), value)\n } else {\n set(query, namePath, value)\n }\n }\n })\n if (paginationConfig?.value) {\n setInnerParams({ ...innerParams?.value, current: 1 })\n }\n }\n if (innerParams?.value) {\n merge(query, innerParams?.value)\n }\n return query\n })\n\n watch(\n [() => valueEnum, () => runOptions.value],\n () => {\n if (Array.isArray(runOptions.value) && runOptions.value?.length > 0) {\n mergeOptions.value = formatOptions(runOptions.value, fieldNames.value)\n } else {\n const optionsEnum = runFunction(valueEnum, formData.value)\n mergeOptions.value = fieldParsingValueEnumToArray(optionsEnum)\n }\n },\n {\n immediate: true,\n },\n )\n\n const fetchData = useFetchData({ request })\n\n const requestOptions = debounce(async () => {\n loading.value = true\n const result = await fetchData(mergeParams.value, index?.value)\n if (Array.isArray(result)) {\n mergeOptions.value = formatOptions(result, fieldNames.value)\n }\n loading.value = false\n }, 200)\n\n watch(\n mergeParams,\n () => {\n if (request) {\n requestOptions()\n }\n },\n {\n immediate: true,\n },\n )\n\n onMounted(() => {\n if (!request) {\n loading.value = false\n }\n })\n\n return {\n loading,\n total,\n fieldNames,\n mergeOptions,\n requestOptions,\n innerParams,\n setInnerParams,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -4,22 +4,24 @@ const antFormProps = () => ({
|
|
|
4
4
|
default: "horizontal"
|
|
5
5
|
},
|
|
6
6
|
labelCol: {
|
|
7
|
-
type: Object
|
|
7
|
+
type: Object,
|
|
8
|
+
default: void 0
|
|
8
9
|
},
|
|
9
10
|
wrapperCol: {
|
|
10
|
-
type: Object
|
|
11
|
+
type: Object,
|
|
12
|
+
default: void 0
|
|
11
13
|
},
|
|
12
14
|
colon: {
|
|
13
15
|
type: Boolean,
|
|
14
|
-
default:
|
|
16
|
+
default: void 0
|
|
15
17
|
},
|
|
16
18
|
requiredMark: {
|
|
17
19
|
type: [Boolean, String],
|
|
18
|
-
default:
|
|
20
|
+
default: void 0
|
|
19
21
|
},
|
|
20
22
|
labelAlign: {
|
|
21
23
|
type: String,
|
|
22
|
-
default:
|
|
24
|
+
default: void 0
|
|
23
25
|
},
|
|
24
26
|
labelWrap: Boolean,
|
|
25
27
|
disabled: {
|