pro-design-vue 1.2.32 → 1.2.33
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 +14 -14
- 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 +14 -14
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs +4 -6
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldUploadDragger.mjs +4 -6
- package/es/packages/components/form/src/fields/FieldUploadDragger.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldUploadPictureList.mjs +5 -1
- package/es/packages/components/form/src/fields/FieldUploadPictureList.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 +4 -6
- package/lib/packages/components/form/src/fields/FieldUploadButton.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadDragger.js +4 -6
- package/lib/packages/components/form/src/fields/FieldUploadDragger.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadPictureList.js +4 -0
- package/lib/packages/components/form/src/fields/FieldUploadPictureList.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
|
@@ -162,7 +162,7 @@ var FieldUploadDragger = /* @__PURE__ */ vue.defineComponent({
|
|
|
162
162
|
success,
|
|
163
163
|
error,
|
|
164
164
|
data
|
|
165
|
-
} = (_a = await props.customRequest(formData2, onUploadProgress)) != null ? _a : {};
|
|
165
|
+
} = (_a = await props.customRequest(formData2, onUploadProgress, option)) != null ? _a : {};
|
|
166
166
|
if (success) {
|
|
167
167
|
(_b = option.onSuccess) == null ? void 0 : _b.call(option, data);
|
|
168
168
|
formItemContext.onFieldChange();
|
|
@@ -183,18 +183,16 @@ var FieldUploadDragger = /* @__PURE__ */ vue.defineComponent({
|
|
|
183
183
|
return newProps;
|
|
184
184
|
});
|
|
185
185
|
vue.watch(() => props.value, (newValue) => {
|
|
186
|
-
var _a;
|
|
187
186
|
if (newValue) {
|
|
188
187
|
fileList.value = [...newValue == null ? void 0 : newValue.map((item) => ({
|
|
189
188
|
...item,
|
|
190
189
|
name: item.name || item.url
|
|
191
190
|
}))];
|
|
192
|
-
if (!((_a = fileList.value) == null ? void 0 : _a.length)) {
|
|
193
|
-
formItemContext.onFieldChange();
|
|
194
|
-
}
|
|
195
191
|
} else {
|
|
196
192
|
fileList.value = [];
|
|
197
193
|
}
|
|
194
|
+
}, {
|
|
195
|
+
immediate: true
|
|
198
196
|
});
|
|
199
197
|
const onUploadChange = (info) => {
|
|
200
198
|
var _a;
|
|
@@ -206,13 +204,13 @@ var FieldUploadDragger = /* @__PURE__ */ vue.defineComponent({
|
|
|
206
204
|
url: ((_c = item.response) == null ? void 0 : _c.url) || item.url
|
|
207
205
|
};
|
|
208
206
|
}), info.file);
|
|
207
|
+
formItemContext.onFieldChange();
|
|
209
208
|
};
|
|
210
209
|
return () => vue.createVNode(antDesignVue.Upload.Dragger, vue.mergeProps(uploadProps.value, {
|
|
211
210
|
"class": {
|
|
212
211
|
[`${baseClassName.value}-readonly`]: props.readonly
|
|
213
212
|
},
|
|
214
213
|
"fileList": fileList.value,
|
|
215
|
-
"onUpdate:fileList": ($event) => fileList.value = $event,
|
|
216
214
|
"name": props.name,
|
|
217
215
|
"showUploadList": props.readonly || props.showUploadList,
|
|
218
216
|
"disabled": props.readonly || props.disabled,
|
|
@@ -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 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":";;;;;;;;;;;;;;;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,GAAKC,CAAAA,MAAAA,KAAK8C,gBAAAC,uBAAAA,EAAA;AAAA,YAAA,OAAA,EACGH,IAAAA;AAAAA,YAAI,OAAA,EAAS;AAAA,cAAEf,UAAUA,QAAAA,CAASmB,KAAAA;AAAAA,cAAO,GAAIhD,MAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAS;AAAC;AAAG,aAAC,IAAA,CAAA;AAAA,QAEnF;AAAA,MACF,CAAC,CAAA;AACD,MAAA,OAAO0C,IAAAA;AAAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAMO,IAAAA,GAAOT,aAAS,MAAM;AAC1B,MAAA,MAAMU,MAAAA,GAASL,eAAAA,CAAQ7C,KAAAA,CAAME,UAAAA,EAAY+B,gBAAgB,CAAA;AACzD,MAAA,IAAIkB,mBAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAJ,gBAAAC,uBAAAA,EAAA;AAAA,UAAA,OAAA,EAA2BG,MAAAA;AAAAA,UAAM,OAAA,EAAS;AAAA,YAAErB,UAAUA,QAAAA,CAASmB;AAAAA;AAAM,WAAC,IAAA,CAAA;AAAA,MACxE;AACA,MAAA,OAAAF,eAAAA,CAAAM,kBAAAA,EAAA,IAAA,EAAA,IAAA,CAAA;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM1C,KAAAA,GAAQ8B,aAAS,MAAM;AAC3B,MAAA,MAAMU,MAAAA,GAASL,eAAAA,CAAQ7C,KAAAA,CAAMU,KAAAA,EAAOuB,gBAAgB,CAAA;AACpD,MAAA,IAAIkB,mBAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAJ,gBAAAC,uBAAAA,EAAA;AAAA,UAAA,OAAA,EAA2BG,MAAAA;AAAAA,UAAM,OAAA,EAAS;AAAA,YAAErB,UAAUA,QAAAA,CAASmB;AAAAA;AAAM,WAAC,IAAA,CAAA;AAAA,MACxE;AACA,MAAA,OAAOhD,KAAAA,CAAMU,KAAAA,IAASqB,IAAAA,CAAKsB,UAAAA,CAAW,uBAAuB,4FAAiB,CAAA;AAAA,IAChF,CAAC,CAAA;AAED,IAAA,MAAM1C,WAAAA,GAAc6B,aAAS,MAAM;AACjC,MAAA,MAAMU,MAAAA,GAASL,eAAAA,CAAQ7C,KAAAA,CAAMW,WAAAA,EAAasB,gBAAgB,CAAA;AAC1D,MAAA,IAAIkB,mBAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAJ,gBAAAC,uBAAAA,EAAA;AAAA,UAAA,OAAA,EAA2BG,MAAAA;AAAAA,UAAM,OAAA,EAAS;AAAA,YAAErB,UAAUA,QAAAA,CAASmB;AAAAA;AAAM,WAAC,IAAA,CAAA;AAAA,MACxE;AACA,MAAA,OAAOhD,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;AA3HhF,MAAA,IAAA,EAAA;AA4HM,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;AAnI1E,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAoIM,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;AAtItC,QAAA,IAAAC,GAAAA;AAuIQ,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,CAAMgD,KAAAA,EACX6B,CAAAA,QAAAA,KAAa;AAnKpB,MAAA,IAAA,EAAA;AAoKQ,MAAA,IAAIA,QAAAA,EAAU;AACZ1D,QAAAA,QAAAA,CAAS6B,KAAAA,GAAQ,CAAC,GAAG6B,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,CAAS6B,KAAAA,KAAT7B,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAgB8D,MAAAA,CAAAA,EAAQ;AAC3B7C,UAAAA,eAAAA,CAAgBoC,aAAAA,EAAc;AAAA,QAChC;AAAA,MACF,CAAA,MAAO;AACLrD,QAAAA,QAAAA,CAAS6B,QAAQ,EAAA;AAAA,MACnB;AAAA,IACF,CACF,CAAA;AAEA,IAAA,MAAMkC,iBAAkBC,CAAAA,IAAAA,KAA4B;AA/KxD,MAAA,IAAA,EAAA;AAgLMnF,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;AAjL/B,QAAA,IAAAhB,GAAAA,EAAA,EAAA,EAAA,EAAA;AAiLqC,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,YAAY1B,KAAAA,EAAK;AAAA,MAAA,OAAA,EACd;AAAA,QAAE,CAAC,CAAA,EAAGT,aAAAA,CAAcS,KAAK,CAAA,SAAA,CAAW,GAAGhD,KAAAA,CAAMwF;AAAAA,OAAS;AAAA,MAAC,YAC5CrE,QAAAA,CAAS6B,KAAAA;AAAAA,MAAK,mBAAA,EAAAyC,CAAAA,MAAAA,KAAdtE,QAAAA,CAAS6B,KAAAA,GAAKyC,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,CAAcS,KAAK,CAAA,UAAA,CAAA;AAAA,QAAY,OAAA,EAAS;AAAA,UAAE2C,KAAAA,EAAO;AAAA;AAA0B,SAAC,CACtF1C,IAAAA,CAAKD,KAAK,CAAA,CAAA,EAAAF,gBAAA,GAAA,EAAA;AAAA,QAAA,OAAA,EAEH,CAAA,EAAGP,aAAAA,CAAcS,KAAK,CAAA,KAAA;AAAA,SAAO,CAAGtC,KAAAA,CAAMsC,KAAK,CAAA,CAAA,EAAAF,gBAAA,GAAA,EAAA;AAAA,QAAA,OAAA,EAC3C,CAAA,EAAGP,aAAAA,CAAcS,KAAK,CAAA,KAAA;AAAA,OAAO,EAAA,CAAGrC,WAAAA,CAAYqC,KAAK,CAAA,CAAA,CAAA;AAAA,MAAA,GAPlDP,WAAAA,CAAYO;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-05 10:00:00\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, option)) ?? {}\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 } else {\n fileList.value = []\n }\n },\n {\n immediate: true,\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 formItemContext.onFieldChange()\n }\n\n return () => (\n <Upload.Dragger\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n 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","immediate","onUploadChange","info","onChange","response","Dragger","_mergeProps","readonly","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,GAAKC,CAAAA,MAAAA,KAAK8C,gBAAAC,uBAAAA,EAAA;AAAA,YAAA,OAAA,EACGH,IAAAA;AAAAA,YAAI,OAAA,EAAS;AAAA,cAAEf,UAAUA,QAAAA,CAASmB,KAAAA;AAAAA,cAAO,GAAIhD,MAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAS;AAAC;AAAG,aAAC,IAAA,CAAA;AAAA,QAEnF;AAAA,MACF,CAAC,CAAA;AACD,MAAA,OAAO0C,IAAAA;AAAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAMO,IAAAA,GAAOT,aAAS,MAAM;AAC1B,MAAA,MAAMU,MAAAA,GAASL,eAAAA,CAAQ7C,KAAAA,CAAME,UAAAA,EAAY+B,gBAAgB,CAAA;AACzD,MAAA,IAAIkB,mBAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAJ,gBAAAC,uBAAAA,EAAA;AAAA,UAAA,OAAA,EAA2BG,MAAAA;AAAAA,UAAM,OAAA,EAAS;AAAA,YAAErB,UAAUA,QAAAA,CAASmB;AAAAA;AAAM,WAAC,IAAA,CAAA;AAAA,MACxE;AACA,MAAA,OAAAF,eAAAA,CAAAM,kBAAAA,EAAA,IAAA,EAAA,IAAA,CAAA;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM1C,KAAAA,GAAQ8B,aAAS,MAAM;AAC3B,MAAA,MAAMU,MAAAA,GAASL,eAAAA,CAAQ7C,KAAAA,CAAMU,KAAAA,EAAOuB,gBAAgB,CAAA;AACpD,MAAA,IAAIkB,mBAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAJ,gBAAAC,uBAAAA,EAAA;AAAA,UAAA,OAAA,EAA2BG,MAAAA;AAAAA,UAAM,OAAA,EAAS;AAAA,YAAErB,UAAUA,QAAAA,CAASmB;AAAAA;AAAM,WAAC,IAAA,CAAA;AAAA,MACxE;AACA,MAAA,OAAOhD,KAAAA,CAAMU,KAAAA,IAASqB,IAAAA,CAAKsB,UAAAA,CAAW,uBAAuB,4FAAiB,CAAA;AAAA,IAChF,CAAC,CAAA;AAED,IAAA,MAAM1C,WAAAA,GAAc6B,aAAS,MAAM;AACjC,MAAA,MAAMU,MAAAA,GAASL,eAAAA,CAAQ7C,KAAAA,CAAMW,WAAAA,EAAasB,gBAAgB,CAAA;AAC1D,MAAA,IAAIkB,mBAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAJ,gBAAAC,uBAAAA,EAAA;AAAA,UAAA,OAAA,EAA2BG,MAAAA;AAAAA,UAAM,OAAA,EAAS;AAAA,YAAErB,UAAUA,QAAAA,CAASmB;AAAAA;AAAM,WAAC,IAAA,CAAA;AAAA,MACxE;AACA,MAAA,OAAOhD,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;AA3HhF,MAAA,IAAA,EAAA;AA4HM,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;AAnI1E,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAoIM,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;AAtItC,QAAA,IAAAC,GAAAA;AAuIQ,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,gBAAAA,EAAkBH,MAAM,CAAA,KAA7D,IAAA,GAAA,EAAA,GAAmE,EAAC;AACvE,MAAA,IAAIU,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,CAAMgD,KAAAA,EACX6B,CAAAA,QAAAA,KAAa;AACZ,MAAA,IAAIA,QAAAA,EAAU;AACZ1D,QAAAA,QAAAA,CAAS6B,KAAAA,GAAQ,CAAC,GAAG6B,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;AAAA,MAC1F,CAAA,MAAO;AACL7D,QAAAA,QAAAA,CAAS6B,QAAQ,EAAA;AAAA,MACnB;AAAA,IACF,CAAA,EACA;AAAA,MACEiC,SAAAA,EAAW;AAAA,KAEf,CAAA;AAEA,IAAA,MAAMC,iBAAkBC,CAAAA,IAAAA,KAA4B;AA/KxD,MAAA,IAAA,EAAA;AAgLMnF,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;AAjL/B,QAAA,IAAAhB,GAAAA,EAAA,EAAA,EAAA,EAAA;AAiLqC,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;AAEPlB,MAAAA,eAAAA,CAAgBoC,aAAAA,EAAc;AAAA,IAChC,CAAA;AAEA,IAAA,OAAO,MAAA1B,eAAAA,CAAAU,mBAAAA,CAAA8B,OAAAA,EAAAC,cAAAA,CAECb,YAAY1B,KAAAA,EAAK;AAAA,MAAA,OAAA,EACd;AAAA,QAAE,CAAC,CAAA,EAAGT,aAAAA,CAAcS,KAAK,CAAA,SAAA,CAAW,GAAGhD,KAAAA,CAAMwF;AAAAA,OAAS;AAAA,MAAC,YACpDrE,QAAAA,CAAS6B,KAAAA;AAAAA,MAAK,QAClBhD,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,CAAe8D,KAAAA;AAAAA,MAAK,UAAA,EAElBP;AAAAA,KAAc,CAAA,EAAA;AAAA,MAAA7E,OAAAA,EAAAA,MAAA,CAAAyC,eAAAA,CAAA,GAAA,EAAA;AAAA,QAAA,OAAA,EAEd,CAAA,EAAGP,aAAAA,CAAcS,KAAK,CAAA,UAAA,CAAA;AAAA,QAAY,OAAA,EAAS;AAAA,UAAE0C,KAAAA,EAAO;AAAA;AAA0B,SAAC,CACtFzC,IAAAA,CAAKD,KAAK,CAAA,CAAA,EAAAF,gBAAA,GAAA,EAAA;AAAA,QAAA,OAAA,EAEH,CAAA,EAAGP,aAAAA,CAAcS,KAAK,CAAA,KAAA;AAAA,SAAO,CAAGtC,KAAAA,CAAMsC,KAAK,CAAA,CAAA,EAAAF,gBAAA,GAAA,EAAA;AAAA,QAAA,OAAA,EAC3C,CAAA,EAAGP,aAAAA,CAAcS,KAAK,CAAA,KAAA;AAAA,OAAO,EAAA,CAAGrC,WAAAA,CAAYqC,KAAK,CAAA,CAAA,CAAA;AAAA,MAAA,GAPlDP,WAAAA,CAAYO;AAAAA,KAAK,CAAA;AAAA,EAUhC;AACF,CAAC,CAAA;;;;"}
|
|
@@ -51,6 +51,7 @@ var FieldUploadPictureList = /* @__PURE__ */ vue.defineComponent({
|
|
|
51
51
|
prefixCls,
|
|
52
52
|
disabled
|
|
53
53
|
} = FormContext.useInjectForm();
|
|
54
|
+
const formItemContext = antDesignVue.Form.useInjectFormItemContext();
|
|
54
55
|
const mergeDisabled = vue.computed(() => props.readonly || (disabled == null ? void 0 : disabled.value));
|
|
55
56
|
const customRequest = async (option) => {
|
|
56
57
|
var _a, _b;
|
|
@@ -109,10 +110,13 @@ var FieldUploadPictureList = /* @__PURE__ */ vue.defineComponent({
|
|
|
109
110
|
} else {
|
|
110
111
|
fileList.value = [];
|
|
111
112
|
}
|
|
113
|
+
}, {
|
|
114
|
+
immediate: true
|
|
112
115
|
});
|
|
113
116
|
vue.watch(fileList, () => {
|
|
114
117
|
var _a;
|
|
115
118
|
(_a = props.onChange) == null ? void 0 : _a.call(props, fileList.value);
|
|
119
|
+
formItemContext.onFieldChange();
|
|
116
120
|
});
|
|
117
121
|
return () => vue.createVNode(vue.Fragment, null, [vue.createVNode(antDesignVue.Upload, vue.mergeProps(uploadProps.value, {
|
|
118
122
|
"fileList": fileList.value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldUploadPictureList.js","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadPictureList.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-11-04 18:12:28\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { UploadProps } from 'ant-design-vue'\n\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { Upload, Modal } from 'ant-design-vue'\nimport { PlusOutlined } from '@ant-design/icons-vue'\nimport { commonFieldProps } from '../props'\nimport { useInjectForm } from '../context/FormContext'\nimport { isEqual } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\n\nexport default defineComponent({\n name: 'FieldUploadPictureList',\n inheritAttrs: false,\n props: {\n ...commonFieldProps(),\n name: {\n type: String,\n default: 'file',\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n width: {\n type: Number,\n default: 80,\n },\n height: {\n type: Number,\n default: 80,\n },\n crossOrigin: {\n type: String as PropType<'anonymous' | 'use-credentials'>,\n default: '',\n },\n maxCount: {\n type: Number,\n },\n customRequest: Function,\n },\n setup(props, { attrs }) {\n const fileList = ref<any[]>([])\n const previewVisible = ref(false)\n const previewImage = ref('')\n const intl = useIntl()\n const { prefixCls, disabled } = useInjectForm()\n\n const mergeDisabled = computed(() => props.readonly || disabled?.value)\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 } = await props.customRequest!(formData, onUploadProgress)\n if (success) {\n option.onSuccess?.(data)\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 return newProps\n })\n\n const getBase64 = (file: File) => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader()\n reader.readAsDataURL(file)\n reader.onload = () => resolve(reader.result)\n reader.onerror = (error) => reject(error)\n })\n }\n\n const handlePreview = async (file) => {\n if (!file.url && !file.preview) {\n file.preview = (await getBase64(file.originFileObj)) as string\n }\n previewImage.value = file.url || file.preview\n previewVisible.value = true\n }\n\n watch(\n () => props.value,\n (newValue) => {\n if (newValue) {\n if (!isEqual(newValue, fileList.value)) {\n fileList.value = newValue.map((item) => ({ ...item, crossOrigin: props.crossOrigin }))\n }\n } else {\n fileList.value = []\n }\n },\n )\n\n watch(fileList, () => {\n props.onChange?.(fileList.value)\n })\n\n return () => (\n <>\n <Upload\n {...uploadProps.value}\n v-model:fileList={fileList.value}\n name={props.name}\n disabled={mergeDisabled.value}\n list-type=\"picture-card\"\n maxCount={props.maxCount}\n class={`${prefixCls}-upload-picture-list`}\n style={{\n '--s-upload-picture-list-width': props.width + 'px',\n '--s-upload-picture-list-height': props.height + 'px',\n }}\n onPreview={handlePreview}\n >\n {(!mergeDisabled.value || !props.maxCount || fileList.value.length < props.maxCount) && (\n <PlusOutlined />\n )}\n </Upload>\n <Modal\n v-model:open={previewVisible.value}\n width={800}\n title={intl.getMessage('upload.picture.viewModalTitle', '查看图片')}\n footer={null}\n >\n <img\n alt=\"preview\"\n style=\"width: 100%\"\n crossorigin={props.crossOrigin}\n src={previewImage.value}\n />\n </Modal>\n </>\n )\n },\n})\n"],"names":["name","inheritAttrs","props","commonFieldProps","type","String","default","disabled","Boolean","undefined","width","Number","height","crossOrigin","maxCount","customRequest","Function","setup","attrs","fileList","ref","previewVisible","previewImage","intl","useIntl","prefixCls","useInjectForm","mergeDisabled","computed","readonly","value","option","formData","FormData","append","file","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onError","uploadProps","newProps","getBase64","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","result","onerror","handlePreview","url","preview","originFileObj","watch","newValue","isEqual","map","item","onChange","_createVNode","_Fragment","Upload","_mergeProps","$event","length","PlusOutlined","Modal","getMessage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FieldUploadPictureList.js","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadPictureList.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-11-05 09:56:56\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { UploadProps } from 'ant-design-vue'\n\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { Form, Upload, Modal } from 'ant-design-vue'\nimport { PlusOutlined } from '@ant-design/icons-vue'\nimport { commonFieldProps } from '../props'\nimport { useInjectForm } from '../context/FormContext'\nimport { isEqual } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\n\nexport default defineComponent({\n name: 'FieldUploadPictureList',\n inheritAttrs: false,\n props: {\n ...commonFieldProps(),\n name: {\n type: String,\n default: 'file',\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n width: {\n type: Number,\n default: 80,\n },\n height: {\n type: Number,\n default: 80,\n },\n crossOrigin: {\n type: String as PropType<'anonymous' | 'use-credentials'>,\n default: '',\n },\n maxCount: {\n type: Number,\n },\n customRequest: Function,\n },\n setup(props, { attrs }) {\n const fileList = ref<any[]>([])\n const previewVisible = ref(false)\n const previewImage = ref('')\n const intl = useIntl()\n const { prefixCls, disabled } = useInjectForm()\n const formItemContext = Form.useInjectFormItemContext()\n const mergeDisabled = computed(() => props.readonly || disabled?.value)\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 } = await props.customRequest!(formData, onUploadProgress)\n if (success) {\n option.onSuccess?.(data)\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 return newProps\n })\n\n const getBase64 = (file: File) => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader()\n reader.readAsDataURL(file)\n reader.onload = () => resolve(reader.result)\n reader.onerror = (error) => reject(error)\n })\n }\n\n const handlePreview = async (file) => {\n if (!file.url && !file.preview) {\n file.preview = (await getBase64(file.originFileObj)) as string\n }\n previewImage.value = file.url || file.preview\n previewVisible.value = true\n }\n\n watch(\n () => props.value,\n (newValue) => {\n if (newValue) {\n if (!isEqual(newValue, fileList.value)) {\n fileList.value = newValue.map((item) => ({ ...item, crossOrigin: props.crossOrigin }))\n }\n } else {\n fileList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n watch(fileList, () => {\n props.onChange?.(fileList.value)\n formItemContext.onFieldChange()\n })\n\n return () => (\n <>\n <Upload\n {...uploadProps.value}\n v-model:fileList={fileList.value}\n name={props.name}\n disabled={mergeDisabled.value}\n list-type=\"picture-card\"\n maxCount={props.maxCount}\n class={`${prefixCls}-upload-picture-list`}\n style={{\n '--s-upload-picture-list-width': props.width + 'px',\n '--s-upload-picture-list-height': props.height + 'px',\n }}\n onPreview={handlePreview}\n >\n {(!mergeDisabled.value || !props.maxCount || fileList.value.length < props.maxCount) && (\n <PlusOutlined />\n )}\n </Upload>\n <Modal\n v-model:open={previewVisible.value}\n width={800}\n title={intl.getMessage('upload.picture.viewModalTitle', '查看图片')}\n footer={null}\n >\n <img\n alt=\"preview\"\n style=\"width: 100%\"\n crossorigin={props.crossOrigin}\n src={previewImage.value}\n />\n </Modal>\n </>\n )\n },\n})\n"],"names":["name","inheritAttrs","props","commonFieldProps","type","String","default","disabled","Boolean","undefined","width","Number","height","crossOrigin","maxCount","customRequest","Function","setup","attrs","fileList","ref","previewVisible","previewImage","intl","useIntl","prefixCls","useInjectForm","formItemContext","Form","useInjectFormItemContext","mergeDisabled","computed","readonly","value","option","formData","FormData","append","file","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onError","uploadProps","newProps","getBase64","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","result","onerror","handlePreview","url","preview","originFileObj","watch","newValue","isEqual","map","item","immediate","onChange","onFieldChange","_createVNode","_Fragment","Upload","_mergeProps","$event","length","PlusOutlined","Modal","getMessage"],"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.33";
|
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.33'\n"],"names":[],"mappings":";;AAAO,MAAM,OAAA,GAAU;;;;"}
|