pro-design-vue 1.2.18 → 1.2.20
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 +166 -80
- 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 +166 -80
- 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/packages/components/form/src/fields/FieldCascader.mjs +8 -1
- package/es/packages/components/form/src/fields/FieldCascader.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/FieldDatePicker.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldDatePicker.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldDateRangePicker.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldDateRangePicker.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldDigit.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldDigit.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldDigitRange.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldDigitRange.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldPassword.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldPassword.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/fields/FieldRate.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldRate.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldSelect.mjs +8 -1
- package/es/packages/components/form/src/fields/FieldSelect.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldSlider.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldSlider.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldSwitch.mjs +8 -1
- package/es/packages/components/form/src/fields/FieldSwitch.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldText.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldText.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldTimePicker.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldTimePicker.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldTimeRangePicker.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldTimeRangePicker.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldTreeSelect.mjs +8 -1
- package/es/packages/components/form/src/fields/FieldTreeSelect.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs +16 -3
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldUploadDragger.mjs +14 -4
- package/es/packages/components/form/src/fields/FieldUploadDragger.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/utils/fieldPropsMap.mjs +2 -1
- package/es/packages/components/form/src/utils/fieldPropsMap.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/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/packages/components/form/src/fields/FieldCascader.js +8 -1
- package/lib/packages/components/form/src/fields/FieldCascader.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/FieldDatePicker.js +10 -2
- package/lib/packages/components/form/src/fields/FieldDatePicker.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldDateRangePicker.js +10 -2
- package/lib/packages/components/form/src/fields/FieldDateRangePicker.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldDigit.js +10 -2
- package/lib/packages/components/form/src/fields/FieldDigit.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldDigitRange.js +10 -2
- package/lib/packages/components/form/src/fields/FieldDigitRange.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldPassword.js +10 -2
- package/lib/packages/components/form/src/fields/FieldPassword.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/fields/FieldRate.js +10 -2
- package/lib/packages/components/form/src/fields/FieldRate.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldSelect.js +8 -1
- package/lib/packages/components/form/src/fields/FieldSelect.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldSlider.js +10 -2
- package/lib/packages/components/form/src/fields/FieldSlider.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldSwitch.js +8 -1
- package/lib/packages/components/form/src/fields/FieldSwitch.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldText.js +10 -2
- package/lib/packages/components/form/src/fields/FieldText.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldTimePicker.js +10 -2
- package/lib/packages/components/form/src/fields/FieldTimePicker.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldTimeRangePicker.js +10 -2
- package/lib/packages/components/form/src/fields/FieldTimeRangePicker.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldTreeSelect.js +8 -1
- package/lib/packages/components/form/src/fields/FieldTreeSelect.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadButton.js +16 -3
- package/lib/packages/components/form/src/fields/FieldUploadButton.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadDragger.js +14 -4
- package/lib/packages/components/form/src/fields/FieldUploadDragger.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/utils/fieldPropsMap.js +2 -1
- package/lib/packages/components/form/src/utils/fieldPropsMap.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":"FieldTimeRangePicker.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldTimeRangePicker.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FieldTimeRangePicker.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldTimeRangePicker.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 16:36:08\n * @Description:\n */\nimport type { PropType } from 'vue'\n\nimport { computed, defineComponent } from 'vue'\nimport { TimeRangePicker } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { RenderVNode } from '@pro-design-vue/utils'\nimport dayjs from 'dayjs'\nimport getSlot from '../utils/getSlot'\nimport parseValueToDay from '../utils/parseValueToMoment'\nimport fieldDateFormatterMap from '../utils/fieldDateFormatterMap'\nimport FieldReadonly from './FieldReadonly'\nimport { useInjectForm } from '../context/FormContext'\n\nconst SLOT_NAMES = [\n 'dateRender',\n 'nextIcon',\n 'prevIcon',\n 'suffixIcon',\n 'superNextIcon',\n 'superPrevIcon',\n 'renderExtraFooter',\n 'separator',\n]\n\nexport default defineComponent({\n name: 'FieldTimeRangePicker',\n props: {\n ...commonFieldProps(),\n dateRender: {\n type: String,\n default: '',\n },\n nextIcon: {\n type: String,\n default: '',\n },\n prevIcon: {\n type: String,\n default: '',\n },\n suffixIcon: {\n type: String,\n default: '',\n },\n superNextIcon: {\n type: String,\n default: '',\n },\n superPrevIcon: {\n type: String,\n default: '',\n },\n renderExtraFooter: {\n type: String,\n default: '',\n },\n separator: {\n type: String,\n default: '',\n },\n placeholder: {\n type: Array as PropType<any>,\n default: () => [],\n },\n format: {\n type: String,\n default: undefined,\n },\n valueFormat: {\n type: String,\n default: undefined,\n },\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const format = computed(() => props.format ?? fieldDateFormatterMap['time'])\n const valueFormat = computed(() => props.valueFormat ?? fieldDateFormatterMap['time'])\n const dayValue = computed(\n () => parseValueToDay(props.value, format.value) as [dayjs.Dayjs, dayjs.Dayjs],\n )\n\n const readValue = computed(() => {\n if (dayValue.value?.length) {\n return `${dayjs(dayValue.value[0]).format(valueFormat.value)} - ${dayjs(dayValue.value[1]).format(valueFormat.value)}`\n }\n return undefined\n })\n\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\n }\n })\n return temp\n })\n\n const onChange = (value: any, dateString: [string, string]) => {\n props.onChange?.(value, dateString)\n }\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 <TimeRangePicker\n value={dayValue.value}\n {...attrs}\n format={format.value}\n valueFormat={valueFormat.value}\n placeholder={\n props.placeholder?.length === 2\n ? props.placeholder\n : [\n intl.getMessage('form.selectPlaceholder', '请选择'),\n intl.getMessage('form.selectPlaceholder', '请选择'),\n ]\n }\n v-slots={slotsGetter.value}\n onChange={onChange}\n />\n )\n }\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","dateRender","type","String","default","nextIcon","prevIcon","suffixIcon","superNextIcon","superPrevIcon","renderExtraFooter","separator","placeholder","Array","format","undefined","valueFormat","setup","attrs","intl","useIntl","formData","useInjectForm","formSlotsContext","useInjectSlots","computed","fieldDateFormatterMap","dayValue","parseValueToDay","value","readValue","length","dayjs","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","onChange","dateString","readonly","FieldReadonly","_mergeProps","class","style","readonlyProps","TimeRangePicker","getMessage"],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { useFieldOptions } from '../hooks/useFieldOptions.mjs';
|
|
|
5
5
|
import { commonFieldProps } from '../props.mjs';
|
|
6
6
|
import getSlot from '../utils/getSlot.mjs';
|
|
7
7
|
import FieldReadonly from './FieldReadonly.mjs';
|
|
8
|
+
import { useInjectForm } from '../context/FormContext.mjs';
|
|
8
9
|
import { useIntl } from '../../../config-provider/src/useIntl.mjs';
|
|
9
10
|
import { RenderVNode } from '../../../../utils/render-vnode.mjs';
|
|
10
11
|
|
|
@@ -53,6 +54,9 @@ var FieldTreeSelect = /* @__PURE__ */ defineComponent({
|
|
|
53
54
|
attrs
|
|
54
55
|
}) {
|
|
55
56
|
const intl = useIntl();
|
|
57
|
+
const {
|
|
58
|
+
formData
|
|
59
|
+
} = useInjectForm();
|
|
56
60
|
const formSlotsContext = useInjectSlots();
|
|
57
61
|
const {
|
|
58
62
|
mergeOptions,
|
|
@@ -96,7 +100,10 @@ var FieldTreeSelect = /* @__PURE__ */ defineComponent({
|
|
|
96
100
|
if (slot) {
|
|
97
101
|
temp[name] = (props2) => createVNode(RenderVNode, {
|
|
98
102
|
"vnode": slot,
|
|
99
|
-
"props":
|
|
103
|
+
"props": {
|
|
104
|
+
formData: formData.value,
|
|
105
|
+
...props2 != null ? props2 : {}
|
|
106
|
+
}
|
|
100
107
|
}, null);
|
|
101
108
|
}
|
|
102
109
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldTreeSelect.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldTreeSelect.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 15:53:17\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FieldTreeSelect.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldTreeSelect.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 15:53:17\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 16:36:17\n * @Description:\n */\nimport { defineComponent, computed } from 'vue'\nimport { TreeSelect } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { useFieldOptions } from '../hooks/useFieldOptions'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { RenderVNode } from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nimport FieldReadonly from './FieldReadonly'\n\nimport type { Option } from '../type'\nimport { useInjectForm } from '../context/FormContext'\nconst SLOT_NAMES = [\n 'maxTagPlaceholder',\n 'notFoundContent',\n 'searchPlaceholder',\n 'suffixIcon',\n 'tagRender',\n 'title',\n]\n\nexport default defineComponent({\n name: 'FieldTreeSelect',\n props: {\n ...commonFieldProps(),\n maxTagPlaceholder: {\n type: String,\n default: '',\n },\n notFoundContent: {\n type: String,\n default: '',\n },\n searchPlaceholder: {\n type: String,\n default: '',\n },\n suffixIcon: {\n type: String,\n default: '',\n },\n tagRender: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n default: '',\n },\n placeholder: {\n type: String,\n },\n treeCheckable: {\n type: Boolean,\n default: undefined,\n },\n multiple: {\n type: Boolean,\n default: undefined,\n },\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const { mergeOptions, loading, fieldNames } = useFieldOptions({\n request: props.request,\n options: props.options,\n valueEnum: props.valueEnum,\n dependencies: props.dependencies,\n fieldNames: (attrs as any).fieldNames,\n params: props.params,\n })\n\n const value = computed(() => {\n if (props.request && loading.value) {\n return undefined\n }\n return props.value\n })\n\n const readValue = computed(() => {\n if (!value.value) {\n return undefined\n }\n if (Array.isArray(value.value)) {\n if (!value.value.length) {\n return undefined\n }\n return mergeOptions.value\n .filter((op) => value.value.includes(op.value))\n .map((op) => op.label ?? op.text)\n .join(',')\n }\n const option = mergeOptions.value.find((op) => op.value === value.value)\n return option?.label ?? option?.text\n })\n\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\n }\n })\n return temp\n })\n\n const formatValue = (value: any) => {\n if (typeof value === 'undefined') {\n if (props.multiple || props.treeCheckable) {\n return []\n }\n return null\n }\n return value\n }\n\n const onChange: any = (value: any, option: Option | Option[]) => {\n props.onChange?.(formatValue(value), option)\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 <TreeSelect\n value={value.value}\n {...attrs}\n style={{\n minWidth: '160px',\n }}\n treeCheckable={props.treeCheckable}\n multiple={props.multiple}\n fieldNames={fieldNames.value}\n loading={loading.value}\n placeholder={props.placeholder || intl.getMessage('form.selectPlaceholder', '请选择')}\n treeData={mergeOptions.value as any}\n v-slots={slotsGetter.value}\n onChange={onChange}\n />\n )\n }\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","maxTagPlaceholder","type","String","default","notFoundContent","searchPlaceholder","suffixIcon","tagRender","title","placeholder","treeCheckable","Boolean","undefined","multiple","setup","attrs","intl","useIntl","formData","useInjectForm","formSlotsContext","useInjectSlots","mergeOptions","loading","fieldNames","useFieldOptions","request","options","valueEnum","dependencies","params","value","computed","readValue","Array","isArray","length","filter","op","includes","map","_a","label","text","join","option","find","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","formatValue","onChange","readonly","FieldReadonly","_mergeProps","class","style","readonlyProps","TreeSelect","minWidth","getMessage"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { UploadOutlined } from '@ant-design/icons-vue';
|
|
|
4
4
|
import { useInjectSlots } from '../context/FormSlotsContext.mjs';
|
|
5
5
|
import { commonFieldProps } from '../props.mjs';
|
|
6
6
|
import getSlot from '../utils/getSlot.mjs';
|
|
7
|
+
import { useInjectForm } from '../context/FormContext.mjs';
|
|
7
8
|
import { useIntl } from '../../../config-provider/src/useIntl.mjs';
|
|
8
9
|
import { RenderVNode } from '../../../../utils/render-vnode.mjs';
|
|
9
10
|
import { isFunction } from '../../../../utils/validate.mjs';
|
|
@@ -65,6 +66,9 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
65
66
|
attrs
|
|
66
67
|
}) {
|
|
67
68
|
const intl = useIntl();
|
|
69
|
+
const {
|
|
70
|
+
formData
|
|
71
|
+
} = useInjectForm();
|
|
68
72
|
const formSlotsContext = useInjectSlots();
|
|
69
73
|
const value = computed(() => {
|
|
70
74
|
var _a;
|
|
@@ -81,7 +85,10 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
81
85
|
const slot = getSlot(props[name], formSlotsContext);
|
|
82
86
|
if (slot) {
|
|
83
87
|
temp[name] = () => createVNode(RenderVNode, {
|
|
84
|
-
"vnode": slot
|
|
88
|
+
"vnode": slot,
|
|
89
|
+
"props": {
|
|
90
|
+
formData: formData.value
|
|
91
|
+
}
|
|
85
92
|
}, null);
|
|
86
93
|
}
|
|
87
94
|
});
|
|
@@ -91,7 +98,10 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
91
98
|
const render = getSlot(props.iconRender, formSlotsContext);
|
|
92
99
|
if (isFunction(render)) {
|
|
93
100
|
return createVNode(RenderVNode, {
|
|
94
|
-
"vnode": render
|
|
101
|
+
"vnode": render,
|
|
102
|
+
"props": {
|
|
103
|
+
formData: formData.value
|
|
104
|
+
}
|
|
95
105
|
}, null);
|
|
96
106
|
}
|
|
97
107
|
return createVNode(UploadOutlined, null, null);
|
|
@@ -100,7 +110,10 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
100
110
|
const render = getSlot(props.title, formSlotsContext);
|
|
101
111
|
if (isFunction(render)) {
|
|
102
112
|
return createVNode(RenderVNode, {
|
|
103
|
-
"vnode": render
|
|
113
|
+
"vnode": render,
|
|
114
|
+
"props": {
|
|
115
|
+
formData: formData.value
|
|
116
|
+
}
|
|
104
117
|
}, null);
|
|
105
118
|
}
|
|
106
119
|
return props.title || intl.getMessage("upload.button", "\u5355\u51FB\u4E0A\u4F20");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldUploadButton.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadButton.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FieldUploadButton.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadButton.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 16:27:19\n * @Description:\n */\nimport type { PropType } from 'vue'\n\nimport { computed, defineComponent } from 'vue'\nimport { Upload, Button } from 'ant-design-vue'\nimport { UploadOutlined } from '@ant-design/icons-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nimport { useInjectForm } from '../context/FormContext'\nconst SLOT_NAMES = ['downloadIcon', 'itemRender', 'previewIcon', 'removeIcon']\n\nexport default defineComponent({\n name: 'FieldUploadButton',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n max: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n listType: {\n type: String as PropType<'text' | 'picture' | 'picture-card'>,\n default: 'picture',\n },\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const value = computed(() => {\n return props.fileList ?? props.value\n })\n\n const showUploadButton = computed(\n () => props.max === undefined || !value.value || value.value?.length < props.max,\n )\n const isPictureCard = computed(() => props.listType === 'picture-card')\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = () => <RenderVNode vnode={slot} props={{ formData: formData.value }} />\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return <UploadOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.title || intl.getMessage('upload.button', '单击上传')\n })\n\n const onChange = (info) => {\n props.onChange?.(info.fileList, info)\n }\n\n return () => (\n <Upload\n fileList={value.value}\n {...attrs}\n listType={props.listType}\n name={props.name}\n v-slots={slotsGetter.value}\n onChange={onChange}\n >\n {showUploadButton.value &&\n (isPictureCard.value ? (\n <span>\n {icon.value}\n {title.value}\n </span>\n ) : (\n <Button disabled={props.disabled} {...props.buttonProps}>\n {icon.value}\n {title.value}\n </Button>\n ))}\n </Upload>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","max","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listType","setup","attrs","intl","useIntl","formData","useInjectForm","formSlotsContext","useInjectSlots","value","computed","showUploadButton","length","isPictureCard","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","icon","render","isFunction","UploadOutlined","getMessage","onChange","info","Upload","_mergeProps","Button"],"mappings":"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"}
|
|
@@ -68,7 +68,8 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
|
|
|
68
68
|
token
|
|
69
69
|
} = theme.useToken();
|
|
70
70
|
const {
|
|
71
|
-
prefixCls
|
|
71
|
+
prefixCls,
|
|
72
|
+
formData
|
|
72
73
|
} = useInjectForm();
|
|
73
74
|
const intl = useIntl();
|
|
74
75
|
const formSlotsContext = useInjectSlots();
|
|
@@ -97,7 +98,10 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
|
|
|
97
98
|
const render = getSlot(props.iconRender, formSlotsContext);
|
|
98
99
|
if (isFunction(render)) {
|
|
99
100
|
return createVNode(RenderVNode, {
|
|
100
|
-
"vnode": render
|
|
101
|
+
"vnode": render,
|
|
102
|
+
"props": {
|
|
103
|
+
formData: formData.value
|
|
104
|
+
}
|
|
101
105
|
}, null);
|
|
102
106
|
}
|
|
103
107
|
return createVNode(InboxOutlined, null, null);
|
|
@@ -106,7 +110,10 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
|
|
|
106
110
|
const render = getSlot(props.title, formSlotsContext);
|
|
107
111
|
if (isFunction(render)) {
|
|
108
112
|
return createVNode(RenderVNode, {
|
|
109
|
-
"vnode": render
|
|
113
|
+
"vnode": render,
|
|
114
|
+
"props": {
|
|
115
|
+
formData: formData.value
|
|
116
|
+
}
|
|
110
117
|
}, null);
|
|
111
118
|
}
|
|
112
119
|
return props.title || intl.getMessage("upload.dragger.text", "\u5355\u51FB\u6216\u62D6\u52A8\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u8FDB\u884C\u4E0A\u4F20");
|
|
@@ -115,7 +122,10 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
|
|
|
115
122
|
const render = getSlot(props.description, formSlotsContext);
|
|
116
123
|
if (isFunction(render)) {
|
|
117
124
|
return createVNode(RenderVNode, {
|
|
118
|
-
"vnode": render
|
|
125
|
+
"vnode": render,
|
|
126
|
+
"props": {
|
|
127
|
+
formData: formData.value
|
|
128
|
+
}
|
|
119
129
|
}, null);
|
|
120
130
|
}
|
|
121
131
|
return props.description || intl.getMessage("upload.dragger.hint", "\u652F\u6301\u5355\u6B21\u6216\u6279\u91CF\u4E0A\u4F20");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldUploadDragger.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadDragger.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FieldUploadDragger.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadDragger.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 16:17:22\n * @Description:\n */\nimport { computed, defineComponent } from 'vue'\nimport { Upload, theme } from 'ant-design-vue'\nimport { InboxOutlined } from '@ant-design/icons-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nconst SLOT_NAMES = ['downloadIcon', 'itemRender', 'previewIcon', 'removeIcon']\n\nexport default defineComponent({\n name: 'FieldUploadDragger',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n description: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n max: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n },\n setup(props, { attrs }) {\n const { token } = theme.useToken()\n const { prefixCls, formData } = useInjectForm()\n const intl = useIntl()\n const formSlotsContext = useInjectSlots()\n const value = computed(() => {\n return props.fileList ?? props.value\n })\n const baseClassName = computed(() => `${prefixCls}-upload`)\n const showUploadButton = computed(\n () => props.max === undefined || !value.value || value.value?.length < props.max,\n )\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = () => <RenderVNode vnode={slot} />\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return <InboxOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.title || intl.getMessage('upload.dragger.text', '单击或拖动文件到此区域进行上传')\n })\n\n const description = computed(() => {\n const render = getSlot(props.description, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.description || intl.getMessage('upload.dragger.hint', '支持单次或批量上传')\n })\n\n const onChange = (info) => {\n props.onChange?.(info.fileList, info)\n }\n\n return () => (\n <Upload.Dragger\n fileList={value.value}\n {...attrs}\n name={props.name}\n style={{\n ...(attrs as any)?.style,\n display: !showUploadButton.value ? 'none' : undefined,\n }}\n v-slots={slotsGetter.value}\n onChange={onChange}\n >\n <p class={`${baseClassName.value}-drag-icon`} style={{ color: token.value.colorPrimary }}>\n {icon.value}\n </p>\n <p class={`${baseClassName.value}-text`}>{title.value}</p>\n <p class={`${baseClassName.value}-hint`}>{description.value}</p>\n </Upload.Dragger>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","description","max","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","setup","attrs","token","theme","useToken","prefixCls","formData","useInjectForm","intl","useIntl","formSlotsContext","useInjectSlots","value","computed","baseClassName","showUploadButton","length","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","icon","render","isFunction","InboxOutlined","getMessage","onChange","info","Upload","Dragger","_mergeProps","style","display","color","colorPrimary"],"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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"}
|
|
@@ -233,13 +233,14 @@ const fieldPropsMap = {
|
|
|
233
233
|
"onUpdate:searchValue"
|
|
234
234
|
],
|
|
235
235
|
checkbox: ["id", "autofocus", "disabled", "indeterminate"],
|
|
236
|
-
checkboxGroup: ["id", "disabled", "name", "options"],
|
|
236
|
+
checkboxGroup: ["id", "disabled", "name", "options", "fieldNames"],
|
|
237
237
|
radioGroup: [
|
|
238
238
|
"id",
|
|
239
239
|
"class",
|
|
240
240
|
"disabled",
|
|
241
241
|
"name",
|
|
242
242
|
"options",
|
|
243
|
+
"fieldNames",
|
|
243
244
|
"optionType",
|
|
244
245
|
"buttonStyle",
|
|
245
246
|
"radioLabel"
|