pro-design-vue 1.2.19 → 1.2.21
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.css +1 -1
- package/dist/index.full.js +350 -82
- 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 +351 -83
- package/es/components/form/src/components/FormGroup.d.ts +1 -0
- package/es/components/form/src/components/FormList.d.ts +1 -0
- package/es/components/form/src/components/FormListContainer.d.ts +1 -0
- package/es/components/form/src/components/FormListItem.d.ts +1 -0
- package/es/components/form/src/components/FormSet.d.ts +1 -0
- package/es/components/form/src/components/FormTitle.d.ts +10 -0
- package/es/components/form/src/fields/FieldUploadButton.d.ts +27 -4
- package/es/components/form/src/fields/FieldUploadDragger.d.ts +43 -19
- package/es/components/form/src/type.d.ts +1 -0
- package/es/index.d.ts +1 -0
- package/es/packages/components/form/src/components/FormItem.mjs +2 -1
- package/es/packages/components/form/src/components/FormItem.mjs.map +1 -1
- package/es/packages/components/form/src/components/FormTitle.mjs +8 -2
- package/es/packages/components/form/src/components/FormTitle.mjs.map +1 -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/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/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 +119 -28
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldUploadDragger.mjs +102 -29
- package/es/packages/components/form/src/fields/FieldUploadDragger.mjs.map +1 -1
- package/es/packages/components/form/src/utils/fieldPropsMap.mjs +4 -0
- 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/components/FormGroup.d.ts +1 -0
- package/lib/components/form/src/components/FormList.d.ts +1 -0
- package/lib/components/form/src/components/FormListContainer.d.ts +1 -0
- package/lib/components/form/src/components/FormListItem.d.ts +1 -0
- package/lib/components/form/src/components/FormSet.d.ts +1 -0
- package/lib/components/form/src/components/FormTitle.d.ts +10 -0
- package/lib/components/form/src/fields/FieldUploadButton.d.ts +27 -4
- package/lib/components/form/src/fields/FieldUploadDragger.d.ts +43 -19
- package/lib/components/form/src/type.d.ts +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/packages/components/form/src/components/FormItem.js +2 -1
- package/lib/packages/components/form/src/components/FormItem.js.map +1 -1
- package/lib/packages/components/form/src/components/FormTitle.js +8 -2
- package/lib/packages/components/form/src/components/FormTitle.js.map +1 -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/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/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 +117 -26
- package/lib/packages/components/form/src/fields/FieldUploadButton.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadDragger.js +100 -27
- package/lib/packages/components/form/src/fields/FieldUploadDragger.js.map +1 -1
- package/lib/packages/components/form/src/utils/fieldPropsMap.js +4 -0
- 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
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/pro-form.css +1 -1
- package/theme-chalk/src/form.less +12 -0
|
@@ -8,6 +8,7 @@ var FormSlotsContext = require('../context/FormSlotsContext.js');
|
|
|
8
8
|
var props = require('../props.js');
|
|
9
9
|
var getSlot = require('../utils/getSlot.js');
|
|
10
10
|
var FieldReadonly = require('./FieldReadonly.js');
|
|
11
|
+
var FormContext = require('../context/FormContext.js');
|
|
11
12
|
var renderVnode = require('../../../../utils/render-vnode.js');
|
|
12
13
|
var useIntl = require('../../../config-provider/src/useIntl.js');
|
|
13
14
|
|
|
@@ -41,6 +42,9 @@ var FieldText = /* @__PURE__ */ vue.defineComponent({
|
|
|
41
42
|
}) {
|
|
42
43
|
const intl = useIntl.useIntl();
|
|
43
44
|
const formSlotsContext = FormSlotsContext.useInjectSlots();
|
|
45
|
+
const {
|
|
46
|
+
formData
|
|
47
|
+
} = FormContext.useInjectForm();
|
|
44
48
|
const internalValue = vue.computed({
|
|
45
49
|
get: () => {
|
|
46
50
|
return props.value;
|
|
@@ -55,8 +59,12 @@ var FieldText = /* @__PURE__ */ vue.defineComponent({
|
|
|
55
59
|
SLOT_NAMES.forEach((name) => {
|
|
56
60
|
const slot = getSlot.default(props[name], formSlotsContext);
|
|
57
61
|
if (slot) {
|
|
58
|
-
temp[name] = () => vue.createVNode(renderVnode.RenderVNode, {
|
|
59
|
-
"vnode": slot
|
|
62
|
+
temp[name] = (props2) => vue.createVNode(renderVnode.RenderVNode, {
|
|
63
|
+
"vnode": slot,
|
|
64
|
+
"props": {
|
|
65
|
+
formData: formData.value,
|
|
66
|
+
...props2 != null ? props2 : {}
|
|
67
|
+
}
|
|
60
68
|
}, null);
|
|
61
69
|
}
|
|
62
70
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldText.js","sources":["../../../../../../../../packages/components/form/src/fields/FieldText.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-
|
|
1
|
+
{"version":3,"file":"FieldText.js","sources":["../../../../../../../../packages/components/form/src/fields/FieldText.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 16:35:56\n * @Description:\n */\nimport { computed, defineComponent } from 'vue'\nimport { Input } 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 getSlot from '../utils/getSlot'\nimport FieldReadonly from './FieldReadonly'\nimport { useInjectForm } from '../context/FormContext'\n\nconst SLOT_NAMES = ['addonAfter', 'addonBefore', 'suffix', 'prefix']\n\nexport default defineComponent({\n name: 'FieldText',\n props: {\n ...commonFieldProps(),\n addonAfter: {\n type: String,\n default: '',\n },\n addonBefore: {\n type: String,\n default: '',\n },\n suffix: {\n type: String,\n default: '',\n },\n prefix: {\n type: String,\n default: '',\n },\n placeholder: {\n type: String,\n },\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const formSlotsContext = useInjectSlots()\n const { formData } = useInjectForm()\n const internalValue = computed({\n get: () => {\n return props.value\n },\n set: (val) => {\n props.onChange?.(val)\n },\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 return () => {\n if (props.readonly) {\n return (\n <FieldReadonly\n text={internalValue.value}\n class={attrs.class}\n style={attrs.style}\n {...props.readonlyProps}\n />\n )\n }\n return (\n <Input\n v-model:value={internalValue.value}\n {...attrs}\n placeholder={props.placeholder || intl.getMessage('form.inputPlaceholder', '请输入')}\n onPressEnter={props.onPressEnter}\n v-slots={slotsGetter.value}\n />\n )\n }\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","addonAfter","type","String","default","addonBefore","suffix","prefix","placeholder","setup","attrs","intl","useIntl","formSlotsContext","useInjectSlots","formData","useInjectForm","internalValue","computed","get","value","set","val","onChange","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","readonly","FieldReadonly","_mergeProps","class","style","readonlyProps","Input","$event","getMessage","onPressEnter"],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ var getSlot = require('../utils/getSlot.js');
|
|
|
11
11
|
var parseValueToMoment = require('../utils/parseValueToMoment.js');
|
|
12
12
|
var fieldDateFormatterMap = require('../utils/fieldDateFormatterMap.js');
|
|
13
13
|
var FieldReadonly = require('./FieldReadonly.js');
|
|
14
|
+
var FormContext = require('../context/FormContext.js');
|
|
14
15
|
var useIntl = require('../../../config-provider/src/useIntl.js');
|
|
15
16
|
var renderVnode = require('../../../../utils/render-vnode.js');
|
|
16
17
|
|
|
@@ -47,6 +48,9 @@ var FieldTimePicker = /* @__PURE__ */ vue.defineComponent({
|
|
|
47
48
|
attrs
|
|
48
49
|
}) {
|
|
49
50
|
const intl = useIntl.useIntl();
|
|
51
|
+
const {
|
|
52
|
+
formData
|
|
53
|
+
} = FormContext.useInjectForm();
|
|
50
54
|
const formSlotsContext = FormSlotsContext.useInjectSlots();
|
|
51
55
|
const format = vue.computed(() => {
|
|
52
56
|
var _a;
|
|
@@ -68,8 +72,12 @@ var FieldTimePicker = /* @__PURE__ */ vue.defineComponent({
|
|
|
68
72
|
SLOT_NAMES.forEach((name) => {
|
|
69
73
|
const slot = getSlot.default(props[name], formSlotsContext);
|
|
70
74
|
if (slot) {
|
|
71
|
-
temp[name] = () => vue.createVNode(renderVnode.RenderVNode, {
|
|
72
|
-
"vnode": slot
|
|
75
|
+
temp[name] = (props2) => vue.createVNode(renderVnode.RenderVNode, {
|
|
76
|
+
"vnode": slot,
|
|
77
|
+
"props": {
|
|
78
|
+
formData: formData.value,
|
|
79
|
+
...props2 != null ? props2 : {}
|
|
80
|
+
}
|
|
73
81
|
}, null);
|
|
74
82
|
}
|
|
75
83
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldTimePicker.js","sources":["../../../../../../../../packages/components/form/src/fields/FieldTimePicker.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FieldTimePicker.js","sources":["../../../../../../../../packages/components/form/src/fields/FieldTimePicker.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 16:36:03\n * @Description:\n */\nimport { computed, defineComponent } from 'vue'\nimport { TimePicker } 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 = ['clearIcon', 'renderExtraFooter', 'suffixIcon']\n\nexport default defineComponent({\n name: 'FieldTimePicker',\n props: {\n ...commonFieldProps(),\n clearIcon: {\n type: String,\n default: '',\n },\n renderExtraFooter: {\n type: String,\n default: '',\n },\n suffixIcon: {\n type: String,\n default: '',\n },\n placeholder: {\n type: String,\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(() => parseValueToDay(props.value, format.value) as dayjs.Dayjs)\n const readValue = computed(() => {\n if (dayValue.value) {\n return dayjs(dayValue.value).format(valueFormat.value)\n }\n return undefined\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) => {\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 <TimePicker\n value={dayValue.value}\n {...attrs}\n format={format.value}\n valueFormat={valueFormat.value}\n placeholder={props.placeholder || intl.getMessage('form.selectPlaceholder', '请选择')}\n v-slots={slotsGetter.value}\n onChange={onChange}\n />\n )\n }\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","clearIcon","type","String","default","renderExtraFooter","suffixIcon","placeholder","format","undefined","valueFormat","setup","attrs","intl","useIntl","formData","useInjectForm","formSlotsContext","useInjectSlots","computed","fieldDateFormatterMap","dayValue","parseValueToDay","value","readValue","dayjs","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","onChange","dateString","readonly","FieldReadonly","_mergeProps","class","style","readonlyProps","TimePicker","getMessage"],"mappings":";;;;;;;;;;;;;;;;;AAoBA,MAAMA,UAAAA,GAAa,CAAC,WAAA,EAAa,mBAAA,EAAqB,YAAY,CAAA;AAElE,0DAA+B;AAAA,EAC7BC,IAAAA,EAAM,iBAAA;AAAA,EACNC,KAAAA,EAAO;AAAA,IACL,GAAGC,sBAAAA,EAAiB;AAAA,IACpBC,SAAAA,EAAW;AAAA,MACTC,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAC,iBAAAA,EAAmB;AAAA,MACjBH,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAE,UAAAA,EAAY;AAAA,MACVJ,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAG,WAAAA,EAAa;AAAA,MACXL,IAAAA,EAAMC;AAAAA,KACR;AAAA,IACAK,MAAAA,EAAQ;AAAA,MACNN,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAASK;AAAAA,KACX;AAAA,IACAC,WAAAA,EAAa;AAAA,MACXR,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAASK;AAAAA;AACX,GACF;AAAA,EACAE,MAAMZ,KAAAA,EAAO;AAAA,IAAEa;AAAAA,GAAM,EAAG;AACtB,IAAA,MAAMC,OAAOC,eAAAA,EAAQ;AACrB,IAAA,MAAM;AAAA,MAAEC;AAAAA,QAAaC,yBAAAA,EAAc;AACnC,IAAA,MAAMC,mBAAmBC,+BAAAA,EAAe;AACxC,IAAA,MAAMV,MAAAA,GAASW,aAAS,MAAA;AAtD5B,MAAA,IAAA,EAAA;AAsDkCpB,MAAAA,OAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMS,MAAAA,KAANT,IAAAA,GAAAA,EAAAA,GAAgBqB,2CAAAA,CAAsB,MAAM,CAAA;AAAA,IAAA,CAAC,CAAA;AAC3E,IAAA,MAAMV,WAAAA,GAAcS,aAAS,MAAA;AAvDjC,MAAA,IAAA,EAAA;AAuDuCpB,MAAAA,OAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMW,WAAAA,KAANX,IAAAA,GAAAA,EAAAA,GAAqBqB,2CAAAA,CAAsB,MAAM,CAAA;AAAA,IAAA,CAAC,CAAA;AACrF,IAAA,MAAMC,QAAAA,GAAWF,aAAS,MAAMG,0BAAAA,CAAgBvB,MAAMwB,KAAAA,EAAOf,MAAAA,CAAOe,KAAK,CAAgB,CAAA;AACzF,IAAA,MAAMC,SAAAA,GAAYL,aAAS,MAAM;AAC/B,MAAA,IAAIE,SAASE,KAAAA,EAAO;AAClB,QAAA,OAAOE,MAAMJ,QAAAA,CAASE,KAAK,CAAA,CAAEf,MAAAA,CAAOE,YAAYa,KAAK,CAAA;AAAA,MACvD;AACA,MAAA,OAAOd,MAAAA;AAAAA,IACT,CAAC,CAAA;AACD,IAAA,MAAMiB,WAAAA,GAAcP,aAAS,MAAM;AACjC,MAAA,MAAMQ,OAAO,EAAC;AACd9B,MAAAA,UAAAA,CAAW+B,QAAS9B,CAAAA,IAAAA,KAAS;AAC3B,QAAA,MAAM+B,IAAAA,GAAOC,eAAAA,CAAQ/B,KAAAA,CAAMD,IAAI,GAAGmB,gBAAgB,CAAA;AAClD,QAAA,IAAIY,IAAAA,EAAM;AACRF,UAAAA,IAAAA,CAAK7B,IAAI,CAAA,GAAKC,CAAAA,MAAAA,KAAKgC,gBAAAC,uBAAAA,EAAA;AAAA,YAAA,OAAA,EACGH,IAAAA;AAAAA,YAAI,OAAA,EAAS;AAAA,cAAEd,UAAUA,QAAAA,CAASQ,KAAAA;AAAAA,cAAO,GAAIxB,MAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAS;AAAC;AAAG,aAAC,IAAA,CAAA;AAAA,QAEnF;AAAA,MACF,CAAC,CAAA;AACD,MAAA,OAAO4B,IAAAA;AAAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAMM,QAAAA,GAAWA,CAACV,KAAAA,EAAYW,UAAAA,KAAuB;AA5EzD,MAAA,IAAA,EAAA;AA6EMnC,MAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMkC,QAAAA,KAANlC,+BAAiBwB,KAAAA,EAAOW,UAAAA,CAAAA;AAAAA,IAC1B,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,IAAInC,MAAMoC,QAAAA,EAAU;AAClB,QAAA,OAAAJ,eAAAA,CAAAK,uBAAAC,cAAAA,CAAA;AAAA,UAAA,QAEUb,SAAAA,CAAUD,KAAAA;AAAAA,UAAK,SACdX,KAAAA,CAAM0B,KAAAA;AAAAA,UAAK,SACX1B,KAAAA,CAAM2B;AAAAA,SAAK,EACdxC,KAAAA,CAAMyC,aAAa,CAAA,EAAA,IAAA,CAAA;AAAA,MAG7B;AACA,MAAA,OAAAT,eAAAA,CAAAU,yBAAAJ,cAAAA,CAAA;AAAA,QAAA,SAEWhB,QAAAA,CAASE;AAAAA,SACZX,KAAAA,EAAK;AAAA,QAAA,UACDJ,MAAAA,CAAOe,KAAAA;AAAAA,QAAK,eACPb,WAAAA,CAAYa,KAAAA;AAAAA,QAAK,eACjBxB,KAAAA,CAAMQ,WAAAA,IAAeM,IAAAA,CAAK6B,UAAAA,CAAW,0BAA0B,oBAAK,CAAA;AAAA,QAAC,UAAA,EAExET;AAAAA,OAAQ,CAAA,EADTP,WAAAA,CAAYH,KAAK,CAAA;AAAA,IAIhC,CAAA;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
|
|
@@ -11,6 +11,7 @@ var getSlot = require('../utils/getSlot.js');
|
|
|
11
11
|
var parseValueToMoment = require('../utils/parseValueToMoment.js');
|
|
12
12
|
var fieldDateFormatterMap = require('../utils/fieldDateFormatterMap.js');
|
|
13
13
|
var FieldReadonly = require('./FieldReadonly.js');
|
|
14
|
+
var FormContext = require('../context/FormContext.js');
|
|
14
15
|
var useIntl = require('../../../config-provider/src/useIntl.js');
|
|
15
16
|
var renderVnode = require('../../../../utils/render-vnode.js');
|
|
16
17
|
|
|
@@ -68,6 +69,9 @@ var FieldTimeRangePicker = /* @__PURE__ */ vue.defineComponent({
|
|
|
68
69
|
attrs
|
|
69
70
|
}) {
|
|
70
71
|
const intl = useIntl.useIntl();
|
|
72
|
+
const {
|
|
73
|
+
formData
|
|
74
|
+
} = FormContext.useInjectForm();
|
|
71
75
|
const formSlotsContext = FormSlotsContext.useInjectSlots();
|
|
72
76
|
const format = vue.computed(() => {
|
|
73
77
|
var _a;
|
|
@@ -90,8 +94,12 @@ var FieldTimeRangePicker = /* @__PURE__ */ vue.defineComponent({
|
|
|
90
94
|
SLOT_NAMES.forEach((name) => {
|
|
91
95
|
const slot = getSlot.default(props[name], formSlotsContext);
|
|
92
96
|
if (slot) {
|
|
93
|
-
temp[name] = () => vue.createVNode(renderVnode.RenderVNode, {
|
|
94
|
-
"vnode": slot
|
|
97
|
+
temp[name] = (props2) => vue.createVNode(renderVnode.RenderVNode, {
|
|
98
|
+
"vnode": slot,
|
|
99
|
+
"props": {
|
|
100
|
+
formData: formData.value,
|
|
101
|
+
...props2 != null ? props2 : {}
|
|
102
|
+
}
|
|
95
103
|
}, null);
|
|
96
104
|
}
|
|
97
105
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldTimeRangePicker.js","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.js","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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"}
|
|
@@ -9,6 +9,7 @@ var useFieldOptions = require('../hooks/useFieldOptions.js');
|
|
|
9
9
|
var props = require('../props.js');
|
|
10
10
|
var getSlot = require('../utils/getSlot.js');
|
|
11
11
|
var FieldReadonly = require('./FieldReadonly.js');
|
|
12
|
+
var FormContext = require('../context/FormContext.js');
|
|
12
13
|
var useIntl = require('../../../config-provider/src/useIntl.js');
|
|
13
14
|
var renderVnode = require('../../../../utils/render-vnode.js');
|
|
14
15
|
|
|
@@ -57,6 +58,9 @@ var FieldTreeSelect = /* @__PURE__ */ vue.defineComponent({
|
|
|
57
58
|
attrs
|
|
58
59
|
}) {
|
|
59
60
|
const intl = useIntl.useIntl();
|
|
61
|
+
const {
|
|
62
|
+
formData
|
|
63
|
+
} = FormContext.useInjectForm();
|
|
60
64
|
const formSlotsContext = FormSlotsContext.useInjectSlots();
|
|
61
65
|
const {
|
|
62
66
|
mergeOptions,
|
|
@@ -100,7 +104,10 @@ var FieldTreeSelect = /* @__PURE__ */ vue.defineComponent({
|
|
|
100
104
|
if (slot) {
|
|
101
105
|
temp[name] = (props2) => vue.createVNode(renderVnode.RenderVNode, {
|
|
102
106
|
"vnode": slot,
|
|
103
|
-
"props":
|
|
107
|
+
"props": {
|
|
108
|
+
formData: formData.value,
|
|
109
|
+
...props2 != null ? props2 : {}
|
|
110
|
+
}
|
|
104
111
|
}, null);
|
|
105
112
|
}
|
|
106
113
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldTreeSelect.js","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.js","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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"}
|
|
@@ -7,6 +7,7 @@ var antDesignVue = require('ant-design-vue');
|
|
|
7
7
|
var Icon = require('@ant-design/icons-vue');
|
|
8
8
|
var FormSlotsContext = require('../context/FormSlotsContext.js');
|
|
9
9
|
var props = require('../props.js');
|
|
10
|
+
var FormContext = require('../context/FormContext.js');
|
|
10
11
|
var getSlot = require('../utils/getSlot.js');
|
|
11
12
|
var useIntl = require('../../../config-provider/src/useIntl.js');
|
|
12
13
|
var renderVnode = require('../../../../utils/render-vnode.js');
|
|
@@ -44,7 +45,7 @@ var FieldUploadButton = /* @__PURE__ */ vue.defineComponent({
|
|
|
44
45
|
type: String,
|
|
45
46
|
default: "file"
|
|
46
47
|
},
|
|
47
|
-
|
|
48
|
+
maxCount: {
|
|
48
49
|
type: Number,
|
|
49
50
|
default: void 0
|
|
50
51
|
},
|
|
@@ -62,22 +63,31 @@ var FieldUploadButton = /* @__PURE__ */ vue.defineComponent({
|
|
|
62
63
|
},
|
|
63
64
|
listType: {
|
|
64
65
|
type: String,
|
|
65
|
-
default: "picture"
|
|
66
|
-
}
|
|
66
|
+
default: "picture-card"
|
|
67
|
+
},
|
|
68
|
+
listIgnore: {
|
|
69
|
+
type: Boolean,
|
|
70
|
+
default: true
|
|
71
|
+
},
|
|
72
|
+
showUploadList: {
|
|
73
|
+
type: [Boolean, Object],
|
|
74
|
+
default: true
|
|
75
|
+
},
|
|
76
|
+
customRequest: Function,
|
|
77
|
+
beforeUpload: Function
|
|
67
78
|
},
|
|
68
79
|
setup(props, {
|
|
69
80
|
attrs
|
|
70
81
|
}) {
|
|
71
82
|
const intl = useIntl.useIntl();
|
|
83
|
+
const {
|
|
84
|
+
prefixCls,
|
|
85
|
+
formData
|
|
86
|
+
} = FormContext.useInjectForm();
|
|
72
87
|
const formSlotsContext = FormSlotsContext.useInjectSlots();
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
});
|
|
77
|
-
const showUploadButton = vue.computed(() => {
|
|
78
|
-
var _a;
|
|
79
|
-
return props.max === void 0 || !value.value || ((_a = value.value) == null ? void 0 : _a.length) < props.max;
|
|
80
|
-
});
|
|
88
|
+
const fileList = vue.ref([]);
|
|
89
|
+
const formItemContext = antDesignVue.Form.useInjectFormItemContext();
|
|
90
|
+
const baseClassName = vue.computed(() => `${prefixCls}-upload`);
|
|
81
91
|
const isPictureCard = vue.computed(() => props.listType === "picture-card");
|
|
82
92
|
const slotsGetter = vue.computed(() => {
|
|
83
93
|
const temp = {};
|
|
@@ -85,7 +95,10 @@ var FieldUploadButton = /* @__PURE__ */ vue.defineComponent({
|
|
|
85
95
|
const slot = getSlot.default(props[name], formSlotsContext);
|
|
86
96
|
if (slot) {
|
|
87
97
|
temp[name] = () => vue.createVNode(renderVnode.RenderVNode, {
|
|
88
|
-
"vnode": slot
|
|
98
|
+
"vnode": slot,
|
|
99
|
+
"props": {
|
|
100
|
+
formData: formData.value
|
|
101
|
+
}
|
|
89
102
|
}, null);
|
|
90
103
|
}
|
|
91
104
|
});
|
|
@@ -95,7 +108,10 @@ var FieldUploadButton = /* @__PURE__ */ vue.defineComponent({
|
|
|
95
108
|
const render = getSlot.default(props.iconRender, formSlotsContext);
|
|
96
109
|
if (validate.isFunction(render)) {
|
|
97
110
|
return vue.createVNode(renderVnode.RenderVNode, {
|
|
98
|
-
"vnode": render
|
|
111
|
+
"vnode": render,
|
|
112
|
+
"props": {
|
|
113
|
+
formData: formData.value
|
|
114
|
+
}
|
|
99
115
|
}, null);
|
|
100
116
|
}
|
|
101
117
|
return vue.createVNode(Icon.UploadOutlined, null, null);
|
|
@@ -104,27 +120,102 @@ var FieldUploadButton = /* @__PURE__ */ vue.defineComponent({
|
|
|
104
120
|
const render = getSlot.default(props.title, formSlotsContext);
|
|
105
121
|
if (validate.isFunction(render)) {
|
|
106
122
|
return vue.createVNode(renderVnode.RenderVNode, {
|
|
107
|
-
"vnode": render
|
|
123
|
+
"vnode": render,
|
|
124
|
+
"props": {
|
|
125
|
+
formData: formData.value
|
|
126
|
+
}
|
|
108
127
|
}, null);
|
|
109
128
|
}
|
|
110
129
|
return props.title || intl.getMessage("upload.button", "\u5355\u51FB\u4E0A\u4F20");
|
|
111
130
|
});
|
|
112
|
-
const
|
|
131
|
+
const beforeUpload = async (file, fileList2) => {
|
|
113
132
|
var _a;
|
|
114
|
-
(_a = props.
|
|
133
|
+
const result = await ((_a = props.beforeUpload) == null ? void 0 : _a.call(props, file, fileList2));
|
|
134
|
+
if (!result && props.listIgnore) {
|
|
135
|
+
return antDesignVue.Upload.LIST_IGNORE;
|
|
136
|
+
}
|
|
137
|
+
return result;
|
|
115
138
|
};
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
139
|
+
const customRequest = async (option) => {
|
|
140
|
+
var _a, _b, _c;
|
|
141
|
+
const formData2 = new FormData();
|
|
142
|
+
formData2.append(props.name, option.file);
|
|
143
|
+
const onUploadProgress = (e) => {
|
|
144
|
+
var _a2;
|
|
145
|
+
if (e.total > 0) {
|
|
146
|
+
e.percent = e.loaded / e.total * 100;
|
|
147
|
+
}
|
|
148
|
+
(_a2 = option == null ? void 0 : option.onProgress) == null ? void 0 : _a2.call(option, e);
|
|
149
|
+
};
|
|
150
|
+
const {
|
|
151
|
+
success,
|
|
152
|
+
error,
|
|
153
|
+
data
|
|
154
|
+
} = (_a = await props.customRequest(formData2, onUploadProgress)) != null ? _a : {};
|
|
155
|
+
if (success) {
|
|
156
|
+
(_b = option.onSuccess) == null ? void 0 : _b.call(option, data);
|
|
157
|
+
formItemContext.onFieldChange();
|
|
158
|
+
} else {
|
|
159
|
+
(_c = option.onError) == null ? void 0 : _c.call(option, error, data);
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
const uploadProps = vue.computed(() => {
|
|
163
|
+
const newProps = {
|
|
164
|
+
...attrs
|
|
165
|
+
};
|
|
166
|
+
if (props.customRequest) {
|
|
167
|
+
newProps.customRequest = customRequest;
|
|
168
|
+
}
|
|
169
|
+
if (props.beforeUpload) {
|
|
170
|
+
newProps.beforeUpload = beforeUpload;
|
|
171
|
+
}
|
|
172
|
+
return newProps;
|
|
173
|
+
});
|
|
174
|
+
vue.watch(() => props.value, (newValue) => {
|
|
175
|
+
var _a;
|
|
176
|
+
fileList.value = [...newValue == null ? void 0 : newValue.map((item) => ({
|
|
177
|
+
...item,
|
|
178
|
+
name: item.name || item.url
|
|
179
|
+
}))];
|
|
180
|
+
if (!((_a = fileList.value) == null ? void 0 : _a.length)) {
|
|
181
|
+
formItemContext.onFieldChange();
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
const onUploadChange = (info) => {
|
|
185
|
+
var _a;
|
|
186
|
+
(_a = props.onChange) == null ? void 0 : _a.call(props, info.fileList.map((item) => {
|
|
187
|
+
var _a2, _b, _c;
|
|
188
|
+
return {
|
|
189
|
+
...item,
|
|
190
|
+
name: item.name || ((_a2 = item.response) == null ? void 0 : _a2.name) || item.url || ((_b = item.response) == null ? void 0 : _b.url),
|
|
191
|
+
url: ((_c = item.response) == null ? void 0 : _c.url) || item.url
|
|
192
|
+
};
|
|
193
|
+
}), info.file);
|
|
194
|
+
};
|
|
195
|
+
return () => vue.createVNode(antDesignVue.Upload, vue.mergeProps(uploadProps.value, {
|
|
196
|
+
"class": {
|
|
197
|
+
[`${baseClassName.value}-readonly`]: props.readonly
|
|
198
|
+
},
|
|
199
|
+
"fileList": fileList.value,
|
|
200
|
+
"onUpdate:fileList": ($event) => fileList.value = $event,
|
|
120
201
|
"name": props.name,
|
|
121
|
-
"
|
|
202
|
+
"maxCount": props.maxCount,
|
|
203
|
+
"listType": props.listType,
|
|
204
|
+
"showUploadList": props.readonly || props.showUploadList,
|
|
205
|
+
"disabled": props.readonly || props.disabled,
|
|
206
|
+
"style": attrs == null ? void 0 : attrs.style,
|
|
207
|
+
"onChange": onUploadChange
|
|
122
208
|
}), {
|
|
123
|
-
default: () =>
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
209
|
+
default: () => {
|
|
210
|
+
var _a;
|
|
211
|
+
return [isPictureCard.value ? props.maxCount !== void 0 && ((_a = fileList.value) == null ? void 0 : _a.length) < props.maxCount && vue.createVNode("div", null, [icon.value, vue.createVNode("div", {
|
|
212
|
+
"style": "margin-top: 8px"
|
|
213
|
+
}, [vue.createTextVNode(" "), title.value])]) : vue.createVNode(antDesignVue.Button, vue.mergeProps({
|
|
214
|
+
"disabled": props.disabled
|
|
215
|
+
}, props.buttonProps), {
|
|
216
|
+
default: () => [icon.value, title.value]
|
|
217
|
+
})];
|
|
218
|
+
},
|
|
128
219
|
...slotsGetter.value
|
|
129
220
|
});
|
|
130
221
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldUploadButton.js","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-07-27 09:51:02\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'\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 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} />\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} />\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} />\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","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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"}
|
|
1
|
+
{"version":3,"file":"FieldUploadButton.js","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-25 15:00:08\n * @Description:\n */\nimport type { PropType } from 'vue'\n\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { Form, Button, Upload, type UploadChangeParam, type UploadProps } 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 { useInjectForm } from '../context/FormContext'\nimport getSlot from '../utils/getSlot'\n\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 maxCount: {\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-card',\n },\n listIgnore: {\n type: Boolean,\n default: true,\n },\n showUploadList: {\n type: [Boolean, Object] as PropType<UploadProps['showUploadList']>,\n default: true,\n },\n customRequest: Function,\n beforeUpload: Function,\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { prefixCls, formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\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 beforeUpload: UploadProps['beforeUpload'] = async (file, fileList) => {\n const result = await props.beforeUpload?.(file, fileList)\n if (!result && props.listIgnore) {\n return Upload.LIST_IGNORE\n }\n return result\n }\n\n const customRequest: UploadProps['customRequest'] = async (option) => {\n const formData = new FormData()\n formData.append(props.name, option.file)\n const onUploadProgress = (e) => {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100\n }\n option?.onProgress?.(e)\n }\n const { success, error, data } =\n (await props.customRequest!(formData, onUploadProgress)) ?? {}\n if (success) {\n option.onSuccess?.(data)\n formItemContext.onFieldChange()\n } else {\n option.onError?.(error, data)\n }\n }\n\n const uploadProps = computed(() => {\n const newProps = { ...attrs }\n if (props.customRequest) {\n newProps.customRequest = customRequest\n }\n if (props.beforeUpload) {\n newProps.beforeUpload = beforeUpload\n }\n return newProps\n })\n\n watch(\n () => props.value,\n (newValue) => {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n },\n )\n\n const onUploadChange = (info: UploadChangeParam) => {\n props.onChange?.(\n info.fileList.map((item) => ({\n ...item,\n name: item.name || item.response?.name || item.url || item.response?.url,\n url: item.response?.url || item.url,\n })),\n info.file,\n )\n }\n\n return () => (\n <Upload\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n v-model:fileList={fileList.value}\n name={props.name}\n maxCount={props.maxCount}\n listType={props.listType}\n showUploadList={props.readonly || props.showUploadList}\n disabled={props.readonly || props.disabled}\n style={(attrs as any)?.style}\n v-slots={slotsGetter.value}\n onChange={onUploadChange}\n >\n {isPictureCard.value ? (\n props.maxCount !== undefined &&\n fileList.value?.length < props.maxCount && (\n <div>\n {icon.value}\n <div style=\"margin-top: 8px\"> {title.value}</div>\n </div>\n )\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","maxCount","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listType","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","intl","useIntl","prefixCls","formData","useInjectForm","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","isPictureCard","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","UploadOutlined","getMessage","file","result","Upload","LIST_IGNORE","option","FormData","append","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onFieldChange","onError","uploadProps","newProps","watch","newValue","map","item","url","length","onUploadChange","info","onChange","response","_mergeProps","readonly","$event","style","_createTextVNode","Button"],"mappings":"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"}
|