pro-design-vue 1.2.29 → 1.2.30
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 +11 -6
- package/dist/index.full.min.js +6 -6
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +6 -6
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +11 -6
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs +3 -2
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldUploadDragger.mjs +6 -2
- package/es/packages/components/form/src/fields/FieldUploadDragger.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/packages/components/form/src/fields/FieldUploadButton.js +3 -2
- package/lib/packages/components/form/src/fields/FieldUploadButton.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadDragger.js +6 -2
- package/lib/packages/components/form/src/fields/FieldUploadDragger.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/dist/index.full.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Pro Design Vue v1.2.
|
|
1
|
+
/*! Pro Design Vue v1.2.30 */
|
|
2
2
|
|
|
3
3
|
import { Modal, theme as theme$1, ConfigProvider, App, Button as Button$1, Tooltip, Popconfirm, Dropdown, Menu, Slider, Drawer, Input, InputNumber, Form as Form$1, Space, Textarea, Select, TreeSelect, Checkbox as Checkbox$1, CheckboxGroup, RadioGroup, Radio as Radio$1, Cascader, Switch, Rate, DatePicker, RangePicker, TimePicker, TimeRangePicker, Upload, FormItemRest, Spin, message, Row as Row$1, Col, FormItem as FormItem$1, Steps, Popover, MenuItem, SubMenu, Empty, Badge, Tag, Pagination, InputSearch, Tree, Card, Tabs, TabPane } from 'ant-design-vue';
|
|
4
4
|
import { inject, ref, getCurrentInstance, nextTick, h, reactive, defineComponent, createVNode, isVNode, Fragment, cloneVNode, provide, watch, computed, renderSlot, createPropsRestProxy, createBlock, openBlock, unref, mergeProps, withCtx, normalizeProps, guardReactiveProps, shallowRef, shallowReadonly, toValue, getCurrentScope, onScopeDispose, onMounted, hasInjectionContext, isRef, toRefs as toRefs$1, customRef, toRef as toRef$1, readonly, watchEffect, toRaw, createElementBlock, createCommentVNode, resolveDynamicComponent, createElementVNode, normalizeStyle, toDisplayString, normalizeClass, createSlots, createTextVNode, useAttrs, useTemplateRef, Teleport, onUnmounted, Comment as Comment$1, useSlots, useModel, withModifiers, mergeModels, renderList, camelize, isReactive, onActivated, onDeactivated, onBeforeUnmount, triggerRef, resolveDirective, withDirectives, vShow, render as render$1, resolveComponent, vModelText } from 'vue';
|
|
@@ -30,7 +30,7 @@ const SCROLL_FIXED_CLASS = `_scroll__fixed_`;
|
|
|
30
30
|
const DEFAULT_NAMESPACE = "pro";
|
|
31
31
|
const DEFAULT_LOCALE = "zh-CN";
|
|
32
32
|
|
|
33
|
-
const version$1 = "1.2.
|
|
33
|
+
const version$1 = "1.2.30";
|
|
34
34
|
|
|
35
35
|
const makeInstaller = (components = []) => {
|
|
36
36
|
const install = (app) => {
|
|
@@ -16186,10 +16186,11 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
16186
16186
|
SLOT_NAMES$2.forEach((name) => {
|
|
16187
16187
|
const slot = getSlot(props[name], formSlotsContext);
|
|
16188
16188
|
if (slot) {
|
|
16189
|
-
temp[name] = () => createVNode(RenderVNode$1, {
|
|
16189
|
+
temp[name] = (props2) => createVNode(RenderVNode$1, {
|
|
16190
16190
|
"vnode": slot,
|
|
16191
16191
|
"props": {
|
|
16192
|
-
formData: formData.value
|
|
16192
|
+
formData: formData.value,
|
|
16193
|
+
...props2 != null ? props2 : {}
|
|
16193
16194
|
}
|
|
16194
16195
|
}, null);
|
|
16195
16196
|
}
|
|
@@ -16412,8 +16413,12 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
|
|
|
16412
16413
|
SLOT_NAMES$1.forEach((name) => {
|
|
16413
16414
|
const slot = getSlot(props[name], formSlotsContext);
|
|
16414
16415
|
if (slot) {
|
|
16415
|
-
temp[name] = () => createVNode(RenderVNode$1, {
|
|
16416
|
-
"vnode": slot
|
|
16416
|
+
temp[name] = (props2) => createVNode(RenderVNode$1, {
|
|
16417
|
+
"vnode": slot,
|
|
16418
|
+
"props": {
|
|
16419
|
+
formData: formData.value,
|
|
16420
|
+
...props2 != null ? props2 : {}
|
|
16421
|
+
}
|
|
16417
16422
|
}, null);
|
|
16418
16423
|
}
|
|
16419
16424
|
});
|
|
@@ -93,10 +93,11 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
93
93
|
SLOT_NAMES.forEach((name) => {
|
|
94
94
|
const slot = getSlot(props[name], formSlotsContext);
|
|
95
95
|
if (slot) {
|
|
96
|
-
temp[name] = () => createVNode(RenderVNode, {
|
|
96
|
+
temp[name] = (props2) => createVNode(RenderVNode, {
|
|
97
97
|
"vnode": slot,
|
|
98
98
|
"props": {
|
|
99
|
-
formData: formData.value
|
|
99
|
+
formData: formData.value,
|
|
100
|
+
...props2 != null ? props2 : {}
|
|
100
101
|
}
|
|
101
102
|
}, null);
|
|
102
103
|
}
|
|
@@ -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-11-04 18:11:31\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 = [\n 'downloadIcon',\n 'itemRender',\n 'previewIcon',\n 'removeIcon',\n 'description',\n 'title',\n]\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 description: {\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: 'text',\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 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\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 if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n } else {\n fileList.value = []\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 <>\n <Button disabled={props.disabled} {...props.buttonProps}>\n {icon.value}\n {title.value}\n </Button>\n {description.value && (\n <span style={{ marginInlineStart: '10px' }}>{description.value}</span>\n )}\n </>\n )}\n </Upload>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","description","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","_Fragment","Button","marginInlineStart"],"mappings":";;;;;;;;;;;AAmBA,MAAMA,aAAa,CACjB,cAAA,EACA,cACA,aAAA,EACA,YAAA,EACA,eACA,OAAO,CAAA;AAGT,wDAA+B;AAAA,EAC7BC,IAAAA,EAAM,mBAAA;AAAA,EACNC,KAAAA,EAAO;AAAA,IACL,GAAGC,gBAAAA,EAAiB;AAAA,IACpBC,UAAAA,EAAY;AAAA,MACVC,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAC,YAAAA,EAAc;AAAA,MACZH,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,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAI,UAAAA,EAAY;AAAA,MACVN,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAK,KAAAA,EAAO;AAAA,MACLP,IAAAA,EAAMC;AAAAA,KACR;AAAA,IACAO,WAAAA,EAAa;AAAA,MACXR,IAAAA,EAAMC;AAAAA,KACR;AAAA,IACAL,IAAAA,EAAM;AAAA,MACJI,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAO,QAAAA,EAAU;AAAA,MACRT,IAAAA,EAAMU,MAAAA;AAAAA,MACNR,OAAAA,EAASS;AAAAA,KACX;AAAA,IACAC,QAAAA,EAAU;AAAA,MACRZ,IAAAA,EAAMa,OAAAA;AAAAA,MACNX,OAAAA,EAASS;AAAAA,KACX;AAAA,IACAG,WAAAA,EAAa;AAAA,MACXd,IAAAA,EAAMe,MAAAA;AAAAA,MACNb,OAAAA,EAASS;AAAAA,KACX;AAAA,IACAK,QAAAA,EAAU;AAAA,MACRhB,IAAAA,EAAMiB,KAAAA;AAAAA,MACNf,OAAAA,EAASS;AAAAA,KACX;AAAA,IACAO,QAAAA,EAAU;AAAA,MACRlB,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAiB,UAAAA,EAAY;AAAA,MACVnB,IAAAA,EAAMa,OAAAA;AAAAA,MACNX,OAAAA,EAAS;AAAA,KACX;AAAA,IACAkB,cAAAA,EAAgB;AAAA,MACdpB,IAAAA,EAAM,CAACa,OAAAA,EAASE,MAAM,CAAA;AAAA,MACtBb,OAAAA,EAAS;AAAA,KACX;AAAA,IACAmB,aAAAA,EAAeC,QAAAA;AAAAA,IACfC,YAAAA,EAAcD;AAAAA,GAChB;AAAA,EACAE,MAAM3B,KAAAA,EAAO;AAAA,IAAE4B;AAAAA,GAAM,EAAG;AACtB,IAAA,MAAMC,OAAOC,OAAAA,EAAQ;AACrB,IAAA,MAAM;AAAA,MAAEC,SAAAA;AAAAA,MAAWC;AAAAA,QAAaC,aAAAA,EAAc;AAC9C,IAAA,MAAMC,mBAAmBC,cAAAA,EAAe;AACxC,IAAA,MAAMhB,QAAAA,GAAWiB,GAAAA,CAAW,EAAE,CAAA;AAC9B,IAAA,MAAMC,eAAAA,GAAkBC,KAAKC,wBAAAA,EAAyB;AACtD,IAAA,MAAMC,aAAAA,GAAgBC,QAAAA,CAAS,MAAM,CAAA,EAAGV,SAAS,CAAA,OAAA,CAAS,CAAA;AAC1D,IAAA,MAAMW,aAAAA,GAAgBD,QAAAA,CAAS,MAAMzC,KAAAA,CAAMqB,aAAa,cAAc,CAAA;AACtE,IAAA,MAAMsB,WAAAA,GAAcF,SAAS,MAAM;AACjC,MAAA,MAAMG,OAAO,EAAC;AACd9C,MAAAA,UAAAA,CAAW+C,QAAS9C,CAAAA,IAAAA,KAAS;AAC3B,QAAA,MAAM+C,IAAAA,GAAOC,OAAAA,CAAQ/C,KAAAA,CAAMD,IAAI,GAAGmC,gBAAgB,CAAA;AAClD,QAAA,IAAIY,IAAAA,EAAM;AACRF,UAAAA,IAAAA,CAAK7C,IAAI,CAAA,GAAI,MAAAiD,WAAAA,CAAAC,WAAAA,EAAA;AAAA,YAAA,OAAA,EAA0BH,IAAAA;AAAAA,YAAI,OAAA,EAAS;AAAA,cAAEd,UAAUA,QAAAA,CAASkB;AAAAA;AAAM,aAAC,IAAA,CAAA;AAAA,QAClF;AAAA,MACF,CAAC,CAAA;AACD,MAAA,OAAON,IAAAA;AAAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAMO,IAAAA,GAAOV,SAAS,MAAM;AAC1B,MAAA,MAAMW,MAAAA,GAASL,OAAAA,CAAQ/C,KAAAA,CAAME,UAAAA,EAAYgC,gBAAgB,CAAA;AACzD,MAAA,IAAImB,UAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAJ,YAAAC,WAAAA,EAAA;AAAA,UAAA,OAAA,EAA2BG,MAAAA;AAAAA,UAAM,OAAA,EAAS;AAAA,YAAEpB,UAAUA,QAAAA,CAASkB;AAAAA;AAAM,WAAC,IAAA,CAAA;AAAA,MACxE;AACA,MAAA,OAAAF,WAAAA,CAAAM,cAAAA,EAAA,IAAA,EAAA,IAAA,CAAA;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM5C,KAAAA,GAAQ+B,SAAS,MAAM;AAC3B,MAAA,MAAMW,MAAAA,GAASL,OAAAA,CAAQ/C,KAAAA,CAAMU,KAAAA,EAAOwB,gBAAgB,CAAA;AACpD,MAAA,IAAImB,UAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAJ,YAAAC,WAAAA,EAAA;AAAA,UAAA,OAAA,EAA2BG,MAAAA;AAAAA,UAAM,OAAA,EAAS;AAAA,YAAEpB,UAAUA,QAAAA,CAASkB;AAAAA;AAAM,WAAC,IAAA,CAAA;AAAA,MACxE;AACA,MAAA,OAAOlD,KAAAA,CAAMU,KAAAA,IAASmB,IAAAA,CAAK0B,UAAAA,CAAW,iBAAiB,0BAAM,CAAA;AAAA,IAC/D,CAAC,CAAA;AAED,IAAA,MAAM5C,WAAAA,GAAc8B,SAAS,MAAM;AACjC,MAAA,MAAMW,MAAAA,GAASL,OAAAA,CAAQ/C,KAAAA,CAAMW,WAAAA,EAAauB,gBAAgB,CAAA;AAC1D,MAAA,IAAImB,UAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAJ,YAAAC,WAAAA,EAAA;AAAA,UAAA,OAAA,EAA2BG,MAAAA;AAAAA,UAAM,OAAA,EAAS;AAAA,YAAEpB,UAAUA,QAAAA,CAASkB;AAAAA;AAAM,WAAC,IAAA,CAAA;AAAA,MACxE;AACA,MAAA,OAAOlD,KAAAA,CAAMW,WAAAA;AAAAA,IACf,CAAC,CAAA;AAED,IAAA,MAAMe,YAAAA,GAA4C,OAAO8B,IAAAA,EAAMrC,SAAAA,KAAa;AAxIhF,MAAA,IAAA,EAAA;AAyIM,MAAA,MAAMsC,MAAAA,GAAS,OAAA,CAAMzD,EAAAA,GAAAA,KAAAA,CAAM0B,YAAAA,KAAN1B,+BAAqBwD,IAAAA,EAAMrC,SAAAA,CAAAA,CAAAA;AAChD,MAAA,IAAI,CAACsC,MAAAA,IAAUzD,KAAAA,CAAMsB,UAAAA,EAAY;AAC/B,QAAA,OAAOoC,MAAAA,CAAOC,WAAAA;AAAAA,MAChB;AACA,MAAA,OAAOF,MAAAA;AAAAA,IACT,CAAA;AAEA,IAAA,MAAMjC,aAAAA,GAA8C,OAAOoC,MAAAA,KAAW;AAhJ1E,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAiJM,MAAA,MAAM5B,SAAAA,GAAW,IAAI6B,QAAAA,EAAS;AAC9B7B,MAAAA,SAAAA,CAAS8B,MAAAA,CAAO9D,KAAAA,CAAMD,IAAAA,EAAM6D,OAAOJ,IAAI,CAAA;AACvC,MAAA,MAAMO,mBAAoBC,CAAAA,CAAAA,KAAM;AAnJtC,QAAA,IAAAC,GAAAA;AAoJQ,QAAA,IAAID,CAAAA,CAAEE,QAAQ,CAAA,EAAG;AACfF,UAAAA,CAAAA,CAAEG,OAAAA,GAAWH,CAAAA,CAAEI,MAAAA,GAASJ,CAAAA,CAAEE,KAAAA,GAAS,GAAA;AAAA,QACrC;AACAN,QAAAA,CAAAA,GAAAA,GAAAA,MAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,MAAAA,CAAQS,UAAAA,KAART,IAAAA,GAAAA,MAAAA,GAAAA,IAAAA,IAAAA,CAAAA,MAAAA,EAAqBI,CAAAA,CAAAA;AAAAA,MACvB,CAAA;AACA,MAAA,MAAM;AAAA,QAAEM,OAAAA;AAAAA,QAASC,KAAAA;AAAAA,QAAOC;AAAAA,OAAK,GAAA,CAC1B,WAAMxE,KAAAA,CAAMwB,aAAAA,CAAeQ,WAAU+B,gBAAgB,CAAA,KAArD,YAA2D,EAAC;AAC/D,MAAA,IAAIO,OAAAA,EAAS;AACXV,QAAAA,CAAAA,EAAAA,GAAAA,MAAAA,CAAOa,cAAPb,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,MAAAA,EAAmBY,IAAAA,CAAAA;AACnBnC,QAAAA,eAAAA,CAAgBqC,aAAAA,EAAc;AAAA,MAChC,CAAA,MAAO;AACLd,QAAAA,CAAAA,EAAAA,GAAAA,MAAAA,CAAOe,OAAAA,KAAPf,gCAAiBW,KAAAA,EAAOC,IAAAA,CAAAA;AAAAA,MAC1B;AAAA,IACF,CAAA;AAEA,IAAA,MAAMI,WAAAA,GAAcnC,SAAS,MAAM;AACjC,MAAA,MAAMoC,QAAAA,GAAW;AAAA,QAAE,GAAGjD;AAAAA,OAAM;AAC5B,MAAA,IAAI5B,MAAMwB,aAAAA,EAAe;AACvBqD,QAAAA,QAAAA,CAASrD,aAAAA,GAAgBA,aAAAA;AAAAA,MAC3B;AACA,MAAA,IAAIxB,MAAM0B,YAAAA,EAAc;AACtBmD,QAAAA,QAAAA,CAASnD,YAAAA,GAAeA,YAAAA;AAAAA,MAC1B;AACA,MAAA,OAAOmD,QAAAA;AAAAA,IACT,CAAC,CAAA;AAEDC,IAAAA,KAAAA,CACE,MAAM9E,KAAAA,CAAMkD,KAAAA,EACX6B,CAAAA,QAAAA,KAAa;AAhLpB,MAAA,IAAA,EAAA;AAiLQ,MAAA,IAAIA,QAAAA,EAAU;AACZ5D,QAAAA,QAAAA,CAAS+B,KAAAA,GAAQ,CAAC,GAAG6B,QAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,QAAAA,CAAUC,IAAKC,CAAAA,IAAAA,MAAU;AAAA,UAAE,GAAGA,IAAAA;AAAAA,UAAMlF,IAAAA,EAAMkF,IAAAA,CAAKlF,IAAAA,IAAQkF,IAAAA,CAAKC;AAAAA,SAAI,CAAA,CAAG,CAAA;AACxF,QAAA,IAAI,EAAA,CAAC/D,EAAAA,GAAAA,QAAAA,CAAS+B,KAAAA,KAAT/B,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAgBgE,MAAAA,CAAAA,EAAQ;AAC3B9C,UAAAA,eAAAA,CAAgBqC,aAAAA,EAAc;AAAA,QAChC;AAAA,MACF,CAAA,MAAO;AACLvD,QAAAA,QAAAA,CAAS+B,QAAQ,EAAA;AAAA,MACnB;AAAA,IACF,CACF,CAAA;AAEA,IAAA,MAAMkC,iBAAkBC,CAAAA,IAAAA,KAA4B;AA5LxD,MAAA,IAAA,EAAA;AA6LMrF,MAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMsF,QAAAA,KAANtF,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,EACEqF,IAAAA,CAAKlE,QAAAA,CAAS6D,IAAKC,CAAAA,IAAAA,KAAI;AA9L/B,QAAA,IAAAhB,GAAAA,EAAA,EAAA,EAAA,EAAA;AA8LqC,QAAA,OAAA;AAAA,UAC3B,GAAGgB,IAAAA;AAAAA,UACHlF,IAAAA,EAAMkF,IAAAA,CAAKlF,IAAAA,KAAAA,CAAQkF,GAAAA,GAAAA,IAAAA,CAAKM,QAAAA,KAALN,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAelF,IAAAA,CAAAA,IAAQkF,IAAAA,CAAKC,GAAAA,KAAAA,CAAOD,EAAAA,GAAAA,IAAAA,CAAKM,aAALN,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAeC,GAAAA,CAAAA;AAAAA,UACrEA,GAAAA,EAAAA,CAAAA,CAAKD,EAAAA,GAAAA,IAAAA,CAAKM,QAAAA,KAALN,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAeC,QAAOD,IAAAA,CAAKC;AAAAA,SAClC;AAAA,MAAA,CAAE,GACFG,IAAAA,CAAK7B,IAAAA,CAAAA;AAAAA,IAET,CAAA;AAEA,IAAA,OAAO,MAAAR,WAAAA,CAAAU,MAAAA,EAAA8B,UAAAA,CAECZ,YAAY1B,KAAAA,EAAK;AAAA,MAAA,OAAA,EACd;AAAA,QAAE,CAAC,CAAA,EAAGV,aAAAA,CAAcU,KAAK,CAAA,SAAA,CAAW,GAAGlD,KAAAA,CAAMyF;AAAAA,OAAS;AAAA,MAAC,YAC5CtE,QAAAA,CAAS+B,KAAAA;AAAAA,MAAK,mBAAA,EAAAwC,CAAAA,MAAAA,KAAdvE,QAAAA,CAAS+B,KAAAA,GAAKwC,MAAAA;AAAAA,MAAA,QAC1B1F,KAAAA,CAAMD,IAAAA;AAAAA,MAAI,YACNC,KAAAA,CAAMY,QAAAA;AAAAA,MAAQ,YACdZ,KAAAA,CAAMqB,QAAAA;AAAAA,MAAQ,gBAAA,EACRrB,KAAAA,CAAMyF,QAAAA,IAAYzF,KAAAA,CAAMuB,cAAAA;AAAAA,MAAc,UAAA,EAC5CvB,KAAAA,CAAMyF,QAAAA,IAAYzF,KAAAA,CAAMe,QAAAA;AAAAA,MAAQ,SAClCa,KAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,KAAAA,CAAe+D,KAAAA;AAAAA,MAAK,UAAA,EAElBP;AAAAA,KAAc,CAAA,EAAA;AAAA,MAAA/E,SAAAA,MAAA;AAnNhC,QAAA,IAAA,EAAA;AAmNgC,QAAA,OAAA,CAEvBqC,cAAcQ,KAAAA,GACblD,KAAAA,CAAMY,aAAaE,MAAAA,IAAAA,CAAAA,CACnBK,EAAAA,GAAAA,QAAAA,CAAS+B,UAAT/B,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAgBgE,MAAAA,IAASnF,KAAAA,CAAMY,QAAAA,IAAQoC,YAAA,KAAA,EAAA,IAAA,EAAA,CAElCG,IAAAA,CAAKD,KAAAA,EAAKF,YAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EAAA;AAAA,WAAA,CAAA4C,eAAAA,CAAA,GAAA,CAAA,EACoBlF,MAAMwC,KAAK,CAAA,CAAA,CAAA,IAE7CF,WAAAA,CAAA6C,QAAAA,EAAA,MAAA,CAAA7C,WAAAA,CAAA8C,QAAAN,UAAAA,CAAA;AAAA,UAAA,YAGmBxF,KAAAA,CAAMe;AAAAA,SAAQ,EAAMf,KAAAA,CAAMiB,WAAW,CAAA,EAAA;AAAA,UAAAZ,SAAAA,MAAA,CACpD8C,IAAAA,CAAKD,KAAAA,EACLxC,MAAMwC,KAAK;AAAA,SAAA,CAAA,EAEbvC,WAAAA,CAAYuC,KAAAA,IAAKF,YAAA,MAAA,EAAA;AAAA,UAAA,OAAA,EACH;AAAA,YAAE+C,iBAAAA,EAAmB;AAAA;AAAO,WAAC,CAAGpF,WAAAA,CAAYuC,KAAK,CAAA,CAC/D,CAAA,CAEJ,CAAA;AAAA,MAAA,CAAA;AAAA,MAAA,GArBQP,WAAAA,CAAYO;AAAAA,KAAK,CAAA;AAAA,EAwBhC;AACF,CAAC,CAAA;;;;"}
|
|
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-11-04 19:35:16\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 = [\n 'downloadIcon',\n 'itemRender',\n 'previewIcon',\n 'removeIcon',\n 'description',\n 'title',\n]\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 description: {\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: 'text',\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] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\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 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\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 if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n } else {\n fileList.value = []\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 <>\n <Button disabled={props.disabled} {...props.buttonProps}>\n {icon.value}\n {title.value}\n </Button>\n {description.value && (\n <span style={{ marginInlineStart: '10px' }}>{description.value}</span>\n )}\n </>\n )}\n </Upload>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","description","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","_Fragment","Button","marginInlineStart"],"mappings":"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"}
|
|
@@ -88,8 +88,12 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
|
|
|
88
88
|
SLOT_NAMES.forEach((name) => {
|
|
89
89
|
const slot = getSlot(props[name], formSlotsContext);
|
|
90
90
|
if (slot) {
|
|
91
|
-
temp[name] = () => createVNode(RenderVNode, {
|
|
92
|
-
"vnode": slot
|
|
91
|
+
temp[name] = (props2) => createVNode(RenderVNode, {
|
|
92
|
+
"vnode": slot,
|
|
93
|
+
"props": {
|
|
94
|
+
formData: formData.value,
|
|
95
|
+
...props2 != null ? props2 : {}
|
|
96
|
+
}
|
|
93
97
|
}, null);
|
|
94
98
|
}
|
|
95
99
|
});
|
|
@@ -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-11-04 18:12:22\n * @Description:\n */\nimport { computed, defineComponent, ref, watch, type PropType } from 'vue'\nimport { Form, Upload, type UploadChangeParam, type UploadProps } 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 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 { prefixCls, formData } = useInjectForm()\n const intl = useIntl()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\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 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 if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n } else {\n fileList.value = []\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.Dragger\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n v-model:fileList={fileList.value}\n name={props.name}\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 <p class={`${baseClassName.value}-drag-icon`} style={{ color: 'hsl(var(--pro-primary))' }}>\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","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","prefixCls","formData","useInjectForm","intl","useIntl","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","icon","render","isFunction","value","InboxOutlined","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","Dragger","_mergeProps","readonly","$event","style","color"],"mappings":"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"}
|
|
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-11-04 19:34:39\n * @Description:\n */\nimport { computed, defineComponent, ref, watch, type PropType } from 'vue'\nimport { Form, Upload, type UploadChangeParam, type UploadProps } 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 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 { prefixCls, formData } = useInjectForm()\n const intl = useIntl()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\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 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 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 if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n } else {\n fileList.value = []\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.Dragger\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n v-model:fileList={fileList.value}\n name={props.name}\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 <p class={`${baseClassName.value}-drag-icon`} style={{ color: 'hsl(var(--pro-primary))' }}>\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","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","prefixCls","formData","useInjectForm","intl","useIntl","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","InboxOutlined","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","Dragger","_mergeProps","readonly","$event","style","color"],"mappings":"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"}
|
package/es/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "1.2.
|
|
1
|
+
export declare const version = "1.2.30";
|
package/es/version.mjs
CHANGED
package/es/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.2.
|
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.2.30'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
|
|
@@ -97,10 +97,11 @@ var FieldUploadButton = /* @__PURE__ */ vue.defineComponent({
|
|
|
97
97
|
SLOT_NAMES.forEach((name) => {
|
|
98
98
|
const slot = getSlot.default(props[name], formSlotsContext);
|
|
99
99
|
if (slot) {
|
|
100
|
-
temp[name] = () => vue.createVNode(renderVnode.RenderVNode, {
|
|
100
|
+
temp[name] = (props2) => vue.createVNode(renderVnode.RenderVNode, {
|
|
101
101
|
"vnode": slot,
|
|
102
102
|
"props": {
|
|
103
|
-
formData: formData.value
|
|
103
|
+
formData: formData.value,
|
|
104
|
+
...props2 != null ? props2 : {}
|
|
104
105
|
}
|
|
105
106
|
}, null);
|
|
106
107
|
}
|
|
@@ -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-11-04 18:11:31\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 = [\n 'downloadIcon',\n 'itemRender',\n 'previewIcon',\n 'removeIcon',\n 'description',\n 'title',\n]\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 description: {\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: 'text',\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 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\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 if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n } else {\n fileList.value = []\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 <>\n <Button disabled={props.disabled} {...props.buttonProps}>\n {icon.value}\n {title.value}\n </Button>\n {description.value && (\n <span style={{ marginInlineStart: '10px' }}>{description.value}</span>\n )}\n </>\n )}\n </Upload>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","description","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","_Fragment","Button","marginInlineStart"],"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-11-04 19:35:16\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 = [\n 'downloadIcon',\n 'itemRender',\n 'previewIcon',\n 'removeIcon',\n 'description',\n 'title',\n]\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 description: {\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: 'text',\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] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\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 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\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 if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n } else {\n fileList.value = []\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 <>\n <Button disabled={props.disabled} {...props.buttonProps}>\n {icon.value}\n {title.value}\n </Button>\n {description.value && (\n <span style={{ marginInlineStart: '10px' }}>{description.value}</span>\n )}\n </>\n )}\n </Upload>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","description","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","_Fragment","Button","marginInlineStart"],"mappings":"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"}
|
|
@@ -92,8 +92,12 @@ var FieldUploadDragger = /* @__PURE__ */ vue.defineComponent({
|
|
|
92
92
|
SLOT_NAMES.forEach((name) => {
|
|
93
93
|
const slot = getSlot.default(props[name], formSlotsContext);
|
|
94
94
|
if (slot) {
|
|
95
|
-
temp[name] = () => vue.createVNode(renderVnode.RenderVNode, {
|
|
96
|
-
"vnode": slot
|
|
95
|
+
temp[name] = (props2) => vue.createVNode(renderVnode.RenderVNode, {
|
|
96
|
+
"vnode": slot,
|
|
97
|
+
"props": {
|
|
98
|
+
formData: formData.value,
|
|
99
|
+
...props2 != null ? props2 : {}
|
|
100
|
+
}
|
|
97
101
|
}, null);
|
|
98
102
|
}
|
|
99
103
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldUploadDragger.js","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-11-04 18:12:22\n * @Description:\n */\nimport { computed, defineComponent, ref, watch, type PropType } from 'vue'\nimport { Form, Upload, type UploadChangeParam, type UploadProps } 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 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 { prefixCls, formData } = useInjectForm()\n const intl = useIntl()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\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 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 if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n } else {\n fileList.value = []\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.Dragger\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n v-model:fileList={fileList.value}\n name={props.name}\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 <p class={`${baseClassName.value}-drag-icon`} style={{ color: 'hsl(var(--pro-primary))' }}>\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","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","prefixCls","formData","useInjectForm","intl","useIntl","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","icon","render","isFunction","value","InboxOutlined","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","Dragger","_mergeProps","readonly","$event","style","color"],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAMA,UAAAA,GAAa,CAAC,cAAA,EAAgB,YAAA,EAAc,eAAe,YAAY,CAAA;AAE7E,6DAA+B;AAAA,EAC7BC,IAAAA,EAAM,oBAAA;AAAA,EACNC,KAAAA,EAAO;AAAA,IACL,GAAGC,sBAAAA,EAAiB;AAAA,IACpBC,UAAAA,EAAY;AAAA,MACVC,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAC,YAAAA,EAAc;AAAA,MACZH,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,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAI,UAAAA,EAAY;AAAA,MACVN,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAK,KAAAA,EAAO;AAAA,MACLP,IAAAA,EAAMC;AAAAA,KACR;AAAA,IACAO,WAAAA,EAAa;AAAA,MACXR,IAAAA,EAAMC;AAAAA,KACR;AAAA,IACAL,IAAAA,EAAM;AAAA,MACJI,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAO,GAAAA,EAAK;AAAA,MACHT,IAAAA,EAAMU,MAAAA;AAAAA,MACNR,OAAAA,EAASS;AAAAA,KACX;AAAA,IACAC,QAAAA,EAAU;AAAA,MACRZ,IAAAA,EAAMa,OAAAA;AAAAA,MACNX,OAAAA,EAASS;AAAAA,KACX;AAAA,IACAG,WAAAA,EAAa;AAAA,MACXd,IAAAA,EAAMe,MAAAA;AAAAA,MACNb,OAAAA,EAASS;AAAAA,KACX;AAAA,IACAK,QAAAA,EAAU;AAAA,MACRhB,IAAAA,EAAMiB,KAAAA;AAAAA,MACNf,OAAAA,EAASS;AAAAA,KACX;AAAA,IACAO,UAAAA,EAAY;AAAA,MACVlB,IAAAA,EAAMa,OAAAA;AAAAA,MACNX,OAAAA,EAAS;AAAA,KACX;AAAA,IACAiB,cAAAA,EAAgB;AAAA,MACdnB,IAAAA,EAAM,CAACa,OAAAA,EAASE,MAAM,CAAA;AAAA,MACtBb,OAAAA,EAAS;AAAA,KACX;AAAA,IACAkB,aAAAA,EAAeC,QAAAA;AAAAA,IACfC,YAAAA,EAAcD;AAAAA,GAChB;AAAA,EACAE,MAAM1B,KAAAA,EAAO;AAAA,IAAE2B;AAAAA,GAAM,EAAG;AACtB,IAAA,MAAM;AAAA,MAAEC,SAAAA;AAAAA,MAAWC;AAAAA,QAAaC,yBAAAA,EAAc;AAC9C,IAAA,MAAMC,OAAOC,eAAAA,EAAQ;AACrB,IAAA,MAAMC,mBAAmBC,+BAAAA,EAAe;AACxC,IAAA,MAAMf,QAAAA,GAAWgB,OAAAA,CAAW,EAAE,CAAA;AAC9B,IAAA,MAAMC,eAAAA,GAAkBC,kBAAKC,wBAAAA,EAAyB;AACtD,IAAA,MAAMC,aAAAA,GAAgBC,YAAAA,CAAS,MAAM,CAAA,EAAGZ,SAAS,CAAA,OAAA,CAAS,CAAA;AAC1D,IAAA,MAAMa,WAAAA,GAAcD,aAAS,MAAM;AACjC,MAAA,MAAME,OAAO,EAAC;AACd5C,MAAAA,UAAAA,CAAW6C,QAAS5C,CAAAA,IAAAA,KAAS;AAC3B,QAAA,MAAM6C,IAAAA,GAAOC,eAAAA,CAAQ7C,KAAAA,CAAMD,IAAI,GAAGkC,gBAAgB,CAAA;AAClD,QAAA,IAAIW,IAAAA,EAAM;AACRF,UAAAA,IAAAA,CAAK3C,IAAI,CAAA,GAAI,MAAA+C,eAAAA,CAAAC,uBAAAA,EAAA;AAAA,YAAA,OAAA,EAA0BH;AAAAA,aAAI,IAAA,CAAA;AAAA,QAC7C;AAAA,MACF,CAAC,CAAA;AACD,MAAA,OAAOF,IAAAA;AAAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAMM,IAAAA,GAAOR,aAAS,MAAM;AAC1B,MAAA,MAAMS,MAAAA,GAASJ,eAAAA,CAAQ7C,KAAAA,CAAME,UAAAA,EAAY+B,gBAAgB,CAAA;AACzD,MAAA,IAAIiB,mBAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAH,gBAAAC,uBAAAA,EAAA;AAAA,UAAA,OAAA,EAA2BE,MAAAA;AAAAA,UAAM,OAAA,EAAS;AAAA,YAAEpB,UAAUA,QAAAA,CAASsB;AAAAA;AAAM,WAAC,IAAA,CAAA;AAAA,MACxE;AACA,MAAA,OAAAL,eAAAA,CAAAM,kBAAAA,EAAA,IAAA,EAAA,IAAA,CAAA;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM1C,KAAAA,GAAQ8B,aAAS,MAAM;AAC3B,MAAA,MAAMS,MAAAA,GAASJ,eAAAA,CAAQ7C,KAAAA,CAAMU,KAAAA,EAAOuB,gBAAgB,CAAA;AACpD,MAAA,IAAIiB,mBAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAH,gBAAAC,uBAAAA,EAAA;AAAA,UAAA,OAAA,EAA2BE,MAAAA;AAAAA,UAAM,OAAA,EAAS;AAAA,YAAEpB,UAAUA,QAAAA,CAASsB;AAAAA;AAAM,WAAC,IAAA,CAAA;AAAA,MACxE;AACA,MAAA,OAAOnD,KAAAA,CAAMU,KAAAA,IAASqB,IAAAA,CAAKsB,UAAAA,CAAW,uBAAuB,4FAAiB,CAAA;AAAA,IAChF,CAAC,CAAA;AAED,IAAA,MAAM1C,WAAAA,GAAc6B,aAAS,MAAM;AACjC,MAAA,MAAMS,MAAAA,GAASJ,eAAAA,CAAQ7C,KAAAA,CAAMW,WAAAA,EAAasB,gBAAgB,CAAA;AAC1D,MAAA,IAAIiB,mBAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAH,gBAAAC,uBAAAA,EAAA;AAAA,UAAA,OAAA,EAA2BE,MAAAA;AAAAA,UAAM,OAAA,EAAS;AAAA,YAAEpB,UAAUA,QAAAA,CAASsB;AAAAA;AAAM,WAAC,IAAA,CAAA;AAAA,MACxE;AACA,MAAA,OAAOnD,KAAAA,CAAMW,WAAAA,IAAeoB,IAAAA,CAAKsB,UAAAA,CAAW,uBAAuB,wDAAW,CAAA;AAAA,IAChF,CAAC,CAAA;AAED,IAAA,MAAM5B,YAAAA,GAA4C,OAAO6B,IAAAA,EAAMnC,SAAAA,KAAa;AAzHhF,MAAA,IAAA,EAAA;AA0HM,MAAA,MAAMoC,MAAAA,GAAS,OAAA,CAAMvD,EAAAA,GAAAA,KAAAA,CAAMyB,YAAAA,KAANzB,+BAAqBsD,IAAAA,EAAMnC,SAAAA,CAAAA,CAAAA;AAChD,MAAA,IAAI,CAACoC,MAAAA,IAAUvD,KAAAA,CAAMqB,UAAAA,EAAY;AAC/B,QAAA,OAAOmC,mBAAAA,CAAOC,WAAAA;AAAAA,MAChB;AACA,MAAA,OAAOF,MAAAA;AAAAA,IACT,CAAA;AAEA,IAAA,MAAMhC,aAAAA,GAA8C,OAAOmC,MAAAA,KAAW;AAjI1E,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAkIM,MAAA,MAAM7B,SAAAA,GAAW,IAAI8B,QAAAA,EAAS;AAC9B9B,MAAAA,SAAAA,CAAS+B,MAAAA,CAAO5D,KAAAA,CAAMD,IAAAA,EAAM2D,OAAOJ,IAAI,CAAA;AACvC,MAAA,MAAMO,mBAAoBC,CAAAA,CAAAA,KAAM;AApItC,QAAA,IAAAC,GAAAA;AAqIQ,QAAA,IAAID,CAAAA,CAAEE,QAAQ,CAAA,EAAG;AACfF,UAAAA,CAAAA,CAAEG,OAAAA,GAAWH,CAAAA,CAAEI,MAAAA,GAASJ,CAAAA,CAAEE,KAAAA,GAAS,GAAA;AAAA,QACrC;AACAN,QAAAA,CAAAA,GAAAA,GAAAA,MAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,MAAAA,CAAQS,UAAAA,KAART,IAAAA,GAAAA,MAAAA,GAAAA,IAAAA,IAAAA,CAAAA,MAAAA,EAAqBI,CAAAA,CAAAA;AAAAA,MACvB,CAAA;AACA,MAAA,MAAM;AAAA,QAAEM,OAAAA;AAAAA,QAASC,KAAAA;AAAAA,QAAOC;AAAAA,OAAK,GAAA,CAC1B,WAAMtE,KAAAA,CAAMuB,aAAAA,CAAeM,WAAUgC,gBAAgB,CAAA,KAArD,YAA2D,EAAC;AAC/D,MAAA,IAAIO,OAAAA,EAAS;AACXV,QAAAA,CAAAA,EAAAA,GAAAA,MAAAA,CAAOa,cAAPb,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,MAAAA,EAAmBY,IAAAA,CAAAA;AACnBlC,QAAAA,eAAAA,CAAgBoC,aAAAA,EAAc;AAAA,MAChC,CAAA,MAAO;AACLd,QAAAA,CAAAA,EAAAA,GAAAA,MAAAA,CAAOe,OAAAA,KAAPf,gCAAiBW,KAAAA,EAAOC,IAAAA,CAAAA;AAAAA,MAC1B;AAAA,IACF,CAAA;AAEA,IAAA,MAAMI,WAAAA,GAAclC,aAAS,MAAM;AACjC,MAAA,MAAMmC,QAAAA,GAAW;AAAA,QAAE,GAAGhD;AAAAA,OAAM;AAC5B,MAAA,IAAI3B,MAAMuB,aAAAA,EAAe;AACvBoD,QAAAA,QAAAA,CAASpD,aAAAA,GAAgBA,aAAAA;AAAAA,MAC3B;AACA,MAAA,IAAIvB,MAAMyB,YAAAA,EAAc;AACtBkD,QAAAA,QAAAA,CAASlD,YAAAA,GAAeA,YAAAA;AAAAA,MAC1B;AACA,MAAA,OAAOkD,QAAAA;AAAAA,IACT,CAAC,CAAA;AAEDC,IAAAA,SAAAA,CACE,MAAM5E,KAAAA,CAAMmD,KAAAA,EACX0B,CAAAA,QAAAA,KAAa;AAjKpB,MAAA,IAAA,EAAA;AAkKQ,MAAA,IAAIA,QAAAA,EAAU;AACZ1D,QAAAA,QAAAA,CAASgC,KAAAA,GAAQ,CAAC,GAAG0B,QAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,QAAAA,CAAUC,IAAKC,CAAAA,IAAAA,MAAU;AAAA,UAAE,GAAGA,IAAAA;AAAAA,UAAMhF,IAAAA,EAAMgF,IAAAA,CAAKhF,IAAAA,IAAQgF,IAAAA,CAAKC;AAAAA,SAAI,CAAA,CAAG,CAAA;AACxF,QAAA,IAAI,EAAA,CAAC7D,EAAAA,GAAAA,QAAAA,CAASgC,KAAAA,KAAThC,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAgB8D,MAAAA,CAAAA,EAAQ;AAC3B7C,UAAAA,eAAAA,CAAgBoC,aAAAA,EAAc;AAAA,QAChC;AAAA,MACF,CAAA,MAAO;AACLrD,QAAAA,QAAAA,CAASgC,QAAQ,EAAA;AAAA,MACnB;AAAA,IACF,CACF,CAAA;AAEA,IAAA,MAAM+B,iBAAkBC,CAAAA,IAAAA,KAA4B;AA7KxD,MAAA,IAAA,EAAA;AA8KMnF,MAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMoF,QAAAA,KAANpF,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,EACEmF,IAAAA,CAAKhE,QAAAA,CAAS2D,IAAKC,CAAAA,IAAAA,KAAI;AA/K/B,QAAA,IAAAhB,GAAAA,EAAA,EAAA,EAAA,EAAA;AA+KqC,QAAA,OAAA;AAAA,UAC3B,GAAGgB,IAAAA;AAAAA,UACHhF,IAAAA,EAAMgF,IAAAA,CAAKhF,IAAAA,KAAAA,CAAQgF,GAAAA,GAAAA,IAAAA,CAAKM,QAAAA,KAALN,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAehF,IAAAA,CAAAA,IAAQgF,IAAAA,CAAKC,GAAAA,KAAAA,CAAOD,EAAAA,GAAAA,IAAAA,CAAKM,aAALN,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAeC,GAAAA,CAAAA;AAAAA,UACrEA,GAAAA,EAAAA,CAAAA,CAAKD,EAAAA,GAAAA,IAAAA,CAAKM,QAAAA,KAALN,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAeC,QAAOD,IAAAA,CAAKC;AAAAA,SAClC;AAAA,MAAA,CAAE,GACFG,IAAAA,CAAK7B,IAAAA,CAAAA;AAAAA,IAET,CAAA;AAEA,IAAA,OAAO,MAAAR,eAAAA,CAAAU,mBAAAA,CAAA8B,OAAAA,EAAAC,cAAAA,CAECb,YAAYvB,KAAAA,EAAK;AAAA,MAAA,OAAA,EACd;AAAA,QAAE,CAAC,CAAA,EAAGZ,aAAAA,CAAcY,KAAK,CAAA,SAAA,CAAW,GAAGnD,KAAAA,CAAMwF;AAAAA,OAAS;AAAA,MAAC,YAC5CrE,QAAAA,CAASgC,KAAAA;AAAAA,MAAK,mBAAA,EAAAsC,CAAAA,MAAAA,KAAdtE,QAAAA,CAASgC,KAAAA,GAAKsC,MAAAA;AAAAA,MAAA,QAC1BzF,KAAAA,CAAMD,IAAAA;AAAAA,MAAI,gBAAA,EACAC,KAAAA,CAAMwF,QAAAA,IAAYxF,KAAAA,CAAMsB,cAAAA;AAAAA,MAAc,UAAA,EAC5CtB,KAAAA,CAAMwF,QAAAA,IAAYxF,KAAAA,CAAMe,QAAAA;AAAAA,MAAQ,SAClCY,KAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,KAAAA,CAAe+D,KAAAA;AAAAA,MAAK,UAAA,EAElBR;AAAAA,KAAc,CAAA,EAAA;AAAA,MAAA7E,OAAAA,EAAAA,MAAA,CAAAyC,eAAAA,CAAA,GAAA,EAAA;AAAA,QAAA,OAAA,EAEd,CAAA,EAAGP,aAAAA,CAAcY,KAAK,CAAA,UAAA,CAAA;AAAA,QAAY,OAAA,EAAS;AAAA,UAAEwC,KAAAA,EAAO;AAAA;AAA0B,SAAC,CACtF3C,IAAAA,CAAKG,KAAK,CAAA,CAAA,EAAAL,gBAAA,GAAA,EAAA;AAAA,QAAA,OAAA,EAEH,CAAA,EAAGP,aAAAA,CAAcY,KAAK,CAAA,KAAA;AAAA,SAAO,CAAGzC,KAAAA,CAAMyC,KAAK,CAAA,CAAA,EAAAL,gBAAA,GAAA,EAAA;AAAA,QAAA,OAAA,EAC3C,CAAA,EAAGP,aAAAA,CAAcY,KAAK,CAAA,KAAA;AAAA,OAAO,EAAA,CAAGxC,WAAAA,CAAYwC,KAAK,CAAA,CAAA,CAAA;AAAA,MAAA,GAPlDV,WAAAA,CAAYU;AAAAA,KAAK,CAAA;AAAA,EAUhC;AACF,CAAC,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"FieldUploadDragger.js","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-11-04 19:34:39\n * @Description:\n */\nimport { computed, defineComponent, ref, watch, type PropType } from 'vue'\nimport { Form, Upload, type UploadChangeParam, type UploadProps } 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 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 { prefixCls, formData } = useInjectForm()\n const intl = useIntl()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\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 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 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 if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n } else {\n fileList.value = []\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.Dragger\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n v-model:fileList={fileList.value}\n name={props.name}\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 <p class={`${baseClassName.value}-drag-icon`} style={{ color: 'hsl(var(--pro-primary))' }}>\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","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","prefixCls","formData","useInjectForm","intl","useIntl","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","InboxOutlined","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","Dragger","_mergeProps","readonly","$event","style","color"],"mappings":"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"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "1.2.
|
|
1
|
+
export declare const version = "1.2.30";
|
package/lib/version.js
CHANGED
package/lib/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.2.
|
|
1
|
+
{"version":3,"file":"version.js","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.2.30'\n"],"names":[],"mappings":";;AAAO,MAAM,OAAA,GAAU;;;;"}
|