pro-design-vue 1.2.32 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.full.js +37 -16
- package/dist/index.full.min.js +6 -6
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +7 -7
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +37 -16
- package/es/components/icon/src/icon.vue.d.ts +11 -1
- package/es/index.d.ts +24 -15
- 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/packages/components/icon/src/icon.vue2.mjs +24 -3
- package/es/packages/components/icon/src/icon.vue2.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/icon/src/icon.vue.d.ts +11 -1
- package/lib/index.d.ts +24 -15
- 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/packages/components/icon/src/icon.vue2.js +23 -2
- package/lib/packages/components/icon/src/icon.vue2.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/pro-icon.css +1 -0
- package/theme-chalk/src/icon.less +9 -0
- package/theme-chalk/src/index.less +1 -0
package/dist/index.full.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Pro Design Vue v1.
|
|
1
|
+
/*! Pro Design Vue v1.3.0 */
|
|
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.
|
|
33
|
+
const version$1 = "1.3.0";
|
|
34
34
|
|
|
35
35
|
const makeInstaller = (components = []) => {
|
|
36
36
|
const install = (app) => {
|
|
@@ -10092,9 +10092,30 @@ var _sfc_main$W = /* @__PURE__ */ defineComponent({
|
|
|
10092
10092
|
)) : isRemoteIcon.value ? (openBlock(), createElementBlock("img", mergeProps({
|
|
10093
10093
|
key: 1,
|
|
10094
10094
|
src: _ctx.icon
|
|
10095
|
-
}, _ctx.$attrs), null, 16, _hoisted_1$g)) : _ctx.
|
|
10095
|
+
}, _ctx.$attrs), null, 16, _hoisted_1$g)) : _ctx.icon ? (openBlock(), createElementBlock(
|
|
10096
|
+
"i",
|
|
10097
|
+
mergeProps({
|
|
10098
|
+
key: 2,
|
|
10099
|
+
class: `pro-icon pro-icon-${_ctx.icon}`
|
|
10100
|
+
}, _ctx.$attrs),
|
|
10101
|
+
null,
|
|
10102
|
+
16
|
|
10103
|
+
/* FULL_PROPS */
|
|
10104
|
+
)) : _ctx.$slots.component ? (openBlock(), createBlock(
|
|
10096
10105
|
unref(Icon),
|
|
10097
|
-
normalizeProps(mergeProps({ key:
|
|
10106
|
+
normalizeProps(mergeProps({ key: 3 }, _ctx.$attrs)),
|
|
10107
|
+
{
|
|
10108
|
+
component: withCtx((svgProps) => [
|
|
10109
|
+
renderSlot(_ctx.$slots, "component", normalizeProps(guardReactiveProps(svgProps)))
|
|
10110
|
+
]),
|
|
10111
|
+
_: 3
|
|
10112
|
+
/* FORWARDED */
|
|
10113
|
+
},
|
|
10114
|
+
16
|
|
10115
|
+
/* FULL_PROPS */
|
|
10116
|
+
)) : _ctx.fallback ? (openBlock(), createBlock(
|
|
10117
|
+
unref(Icon),
|
|
10118
|
+
normalizeProps(mergeProps({ key: 4 }, _ctx.$attrs)),
|
|
10098
10119
|
{
|
|
10099
10120
|
component: withCtx((svgProps) => [
|
|
10100
10121
|
(openBlock(), createElementBlock(
|
|
@@ -16256,7 +16277,7 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
16256
16277
|
success,
|
|
16257
16278
|
error,
|
|
16258
16279
|
data
|
|
16259
|
-
} = (_a = await props.customRequest(formData2, onUploadProgress)) != null ? _a : {};
|
|
16280
|
+
} = (_a = await props.customRequest(formData2, onUploadProgress, option)) != null ? _a : {};
|
|
16260
16281
|
if (success) {
|
|
16261
16282
|
(_b = option.onSuccess) == null ? void 0 : _b.call(option, data);
|
|
16262
16283
|
formItemContext.onFieldChange();
|
|
@@ -16277,18 +16298,16 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
16277
16298
|
return newProps;
|
|
16278
16299
|
});
|
|
16279
16300
|
watch(() => props.value, (newValue) => {
|
|
16280
|
-
var _a;
|
|
16281
16301
|
if (newValue) {
|
|
16282
16302
|
fileList.value = [...newValue == null ? void 0 : newValue.map((item) => ({
|
|
16283
16303
|
...item,
|
|
16284
16304
|
name: item.name || item.url
|
|
16285
16305
|
}))];
|
|
16286
|
-
if (!((_a = fileList.value) == null ? void 0 : _a.length)) {
|
|
16287
|
-
formItemContext.onFieldChange();
|
|
16288
|
-
}
|
|
16289
16306
|
} else {
|
|
16290
16307
|
fileList.value = [];
|
|
16291
16308
|
}
|
|
16309
|
+
}, {
|
|
16310
|
+
immediate: true
|
|
16292
16311
|
});
|
|
16293
16312
|
const onUploadChange = (info) => {
|
|
16294
16313
|
var _a;
|
|
@@ -16300,13 +16319,13 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
16300
16319
|
url: ((_c = item.response) == null ? void 0 : _c.url) || item.url
|
|
16301
16320
|
};
|
|
16302
16321
|
}), info.file);
|
|
16322
|
+
formItemContext.onFieldChange();
|
|
16303
16323
|
};
|
|
16304
16324
|
return () => createVNode(Upload, mergeProps(uploadProps.value, {
|
|
16305
16325
|
"class": {
|
|
16306
16326
|
[`${baseClassName.value}-readonly`]: props.readonly
|
|
16307
16327
|
},
|
|
16308
16328
|
"fileList": fileList.value,
|
|
16309
|
-
"onUpdate:fileList": ($event) => fileList.value = $event,
|
|
16310
16329
|
"name": props.name,
|
|
16311
16330
|
"maxCount": props.maxCount,
|
|
16312
16331
|
"listType": props.listType,
|
|
@@ -16483,7 +16502,7 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
|
|
|
16483
16502
|
success,
|
|
16484
16503
|
error,
|
|
16485
16504
|
data
|
|
16486
|
-
} = (_a = await props.customRequest(formData2, onUploadProgress)) != null ? _a : {};
|
|
16505
|
+
} = (_a = await props.customRequest(formData2, onUploadProgress, option)) != null ? _a : {};
|
|
16487
16506
|
if (success) {
|
|
16488
16507
|
(_b = option.onSuccess) == null ? void 0 : _b.call(option, data);
|
|
16489
16508
|
formItemContext.onFieldChange();
|
|
@@ -16504,18 +16523,16 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
|
|
|
16504
16523
|
return newProps;
|
|
16505
16524
|
});
|
|
16506
16525
|
watch(() => props.value, (newValue) => {
|
|
16507
|
-
var _a;
|
|
16508
16526
|
if (newValue) {
|
|
16509
16527
|
fileList.value = [...newValue == null ? void 0 : newValue.map((item) => ({
|
|
16510
16528
|
...item,
|
|
16511
16529
|
name: item.name || item.url
|
|
16512
16530
|
}))];
|
|
16513
|
-
if (!((_a = fileList.value) == null ? void 0 : _a.length)) {
|
|
16514
|
-
formItemContext.onFieldChange();
|
|
16515
|
-
}
|
|
16516
16531
|
} else {
|
|
16517
16532
|
fileList.value = [];
|
|
16518
16533
|
}
|
|
16534
|
+
}, {
|
|
16535
|
+
immediate: true
|
|
16519
16536
|
});
|
|
16520
16537
|
const onUploadChange = (info) => {
|
|
16521
16538
|
var _a;
|
|
@@ -16527,13 +16544,13 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
|
|
|
16527
16544
|
url: ((_c = item.response) == null ? void 0 : _c.url) || item.url
|
|
16528
16545
|
};
|
|
16529
16546
|
}), info.file);
|
|
16547
|
+
formItemContext.onFieldChange();
|
|
16530
16548
|
};
|
|
16531
16549
|
return () => createVNode(Upload.Dragger, mergeProps(uploadProps.value, {
|
|
16532
16550
|
"class": {
|
|
16533
16551
|
[`${baseClassName.value}-readonly`]: props.readonly
|
|
16534
16552
|
},
|
|
16535
16553
|
"fileList": fileList.value,
|
|
16536
|
-
"onUpdate:fileList": ($event) => fileList.value = $event,
|
|
16537
16554
|
"name": props.name,
|
|
16538
16555
|
"showUploadList": props.readonly || props.showUploadList,
|
|
16539
16556
|
"disabled": props.readonly || props.disabled,
|
|
@@ -17088,6 +17105,7 @@ var FieldUploadPictureList = /* @__PURE__ */ defineComponent({
|
|
|
17088
17105
|
prefixCls,
|
|
17089
17106
|
disabled
|
|
17090
17107
|
} = useInjectForm();
|
|
17108
|
+
const formItemContext = Form$1.useInjectFormItemContext();
|
|
17091
17109
|
const mergeDisabled = computed(() => props.readonly || (disabled == null ? void 0 : disabled.value));
|
|
17092
17110
|
const customRequest = async (option) => {
|
|
17093
17111
|
var _a, _b;
|
|
@@ -17146,10 +17164,13 @@ var FieldUploadPictureList = /* @__PURE__ */ defineComponent({
|
|
|
17146
17164
|
} else {
|
|
17147
17165
|
fileList.value = [];
|
|
17148
17166
|
}
|
|
17167
|
+
}, {
|
|
17168
|
+
immediate: true
|
|
17149
17169
|
});
|
|
17150
17170
|
watch(fileList, () => {
|
|
17151
17171
|
var _a;
|
|
17152
17172
|
(_a = props.onChange) == null ? void 0 : _a.call(props, fileList.value);
|
|
17173
|
+
formItemContext.onFieldChange();
|
|
17153
17174
|
});
|
|
17154
17175
|
return () => createVNode(Fragment, null, [createVNode(Upload, mergeProps(uploadProps.value, {
|
|
17155
17176
|
"fileList": fileList.value,
|
|
@@ -3,5 +3,15 @@ type __VLS_Props = {
|
|
|
3
3
|
fallback?: boolean;
|
|
4
4
|
icon?: Component | (() => void) | string;
|
|
5
5
|
};
|
|
6
|
-
declare
|
|
6
|
+
declare var __VLS_11: any;
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
component?: (props: typeof __VLS_11) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
11
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
7
12
|
export default _default;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
package/es/index.d.ts
CHANGED
|
@@ -589,7 +589,8 @@ import { WritingModeProperty } from "csstype";
|
|
|
589
589
|
import { ZIndexProperty } from "csstype";
|
|
590
590
|
import { ZoomProperty } from "csstype";
|
|
591
591
|
declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
592
|
-
declare const __VLS_component_2: DefineComponent<
|
|
592
|
+
declare const __VLS_component_2: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
593
|
+
declare const __VLS_component_3: DefineComponent<ProDrawerProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
593
594
|
close: (e: Event) => any;
|
|
594
595
|
fullScreen: (value: boolean) => any;
|
|
595
596
|
}, string, PublicProps, Readonly<ProDrawerProps> & Readonly<{
|
|
@@ -605,7 +606,7 @@ declare const __VLS_component_2: DefineComponent<ProDrawerProps, {}, {}, {}, {},
|
|
|
605
606
|
autofocus: boolean;
|
|
606
607
|
showFullscreen: boolean;
|
|
607
608
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
608
|
-
declare const
|
|
609
|
+
declare const __VLS_component_4: DefineComponent<ProModalProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
609
610
|
cancel: (e: Event) => any;
|
|
610
611
|
fullScreen: (value: boolean) => any;
|
|
611
612
|
}, string, PublicProps, Readonly<ProModalProps> & Readonly<{
|
|
@@ -623,7 +624,7 @@ declare const __VLS_component_3: DefineComponent<ProModalProps, {}, {}, {}, {},
|
|
|
623
624
|
top: number;
|
|
624
625
|
showFullscreen: boolean;
|
|
625
626
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
626
|
-
declare const
|
|
627
|
+
declare const __VLS_component_5: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
627
628
|
sideMouseLeave: () => any;
|
|
628
629
|
toggleSidebar: () => any;
|
|
629
630
|
"update:sidebarCollapse": (value: boolean) => any;
|
|
@@ -671,11 +672,11 @@ declare const __VLS_component_4: DefineComponent<__VLS_PublicProps, {}, {}, {},
|
|
|
671
672
|
tabbarEnable: boolean;
|
|
672
673
|
tabbarHeight: number;
|
|
673
674
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
674
|
-
declare const
|
|
675
|
+
declare const __VLS_component_6: DefineComponent<Props_4, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props_4> & Readonly<{}>, {
|
|
675
676
|
text: string;
|
|
676
677
|
minLoadingTime: number;
|
|
677
678
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
678
|
-
declare const
|
|
679
|
+
declare const __VLS_component_7: DefineComponent<__VLS_PublicProps_2, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
679
680
|
"update:activeKey": (value: string | number | undefined) => any;
|
|
680
681
|
}, string, PublicProps, Readonly<__VLS_PublicProps_2> & Readonly<{
|
|
681
682
|
"onUpdate:activeKey"?: ((value: string | number | undefined) => any) | undefined;
|
|
@@ -700,6 +701,9 @@ declare type __VLS_Slots = {} & {
|
|
|
700
701
|
default?: (props: typeof __VLS_13) => any;
|
|
701
702
|
};
|
|
702
703
|
declare type __VLS_Slots_2 = {} & {
|
|
704
|
+
component?: (props: typeof __VLS_11) => any;
|
|
705
|
+
};
|
|
706
|
+
declare type __VLS_Slots_3 = {} & {
|
|
703
707
|
title?: (props: typeof __VLS_10) => any;
|
|
704
708
|
} & {
|
|
705
709
|
description?: (props: typeof __VLS_12) => any;
|
|
@@ -710,7 +714,7 @@ declare type __VLS_Slots_2 = {} & {
|
|
|
710
714
|
} & {
|
|
711
715
|
footer?: (props: typeof __VLS_46) => any;
|
|
712
716
|
};
|
|
713
|
-
declare type
|
|
717
|
+
declare type __VLS_Slots_4 = {} & {
|
|
714
718
|
title?: (props: typeof __VLS_10) => any;
|
|
715
719
|
} & {
|
|
716
720
|
description?: (props: typeof __VLS_12) => any;
|
|
@@ -719,7 +723,7 @@ declare type __VLS_Slots_3 = {} & {
|
|
|
719
723
|
} & {
|
|
720
724
|
footer?: (props: typeof __VLS_44) => any;
|
|
721
725
|
};
|
|
722
|
-
declare type
|
|
726
|
+
declare type __VLS_Slots_5 = {} & {
|
|
723
727
|
logo?: (props: typeof __VLS_9) => any;
|
|
724
728
|
} & {
|
|
725
729
|
"mixed-menu"?: (props: typeof __VLS_11) => any;
|
|
@@ -744,12 +748,12 @@ declare type __VLS_Slots_4 = {} & {
|
|
|
744
748
|
} & {
|
|
745
749
|
extra?: (props: typeof __VLS_55) => any;
|
|
746
750
|
};
|
|
747
|
-
declare type
|
|
751
|
+
declare type __VLS_Slots_6 = {} & {
|
|
748
752
|
icon?: (props: typeof __VLS_1) => any;
|
|
749
753
|
} & {
|
|
750
754
|
default?: (props: typeof __VLS_3) => any;
|
|
751
755
|
};
|
|
752
|
-
declare type
|
|
756
|
+
declare type __VLS_Slots_7 = {} & {
|
|
753
757
|
header?: (props: typeof __VLS_1) => any;
|
|
754
758
|
} & {
|
|
755
759
|
title?: (props: typeof __VLS_3) => any;
|
|
@@ -794,6 +798,11 @@ declare type __VLS_WithSlots_6<T, S> = T & {
|
|
|
794
798
|
$slots: S;
|
|
795
799
|
};
|
|
796
800
|
};
|
|
801
|
+
declare type __VLS_WithSlots_7<T, S> = T & {
|
|
802
|
+
new (): {
|
|
803
|
+
$slots: S;
|
|
804
|
+
};
|
|
805
|
+
};
|
|
797
806
|
declare type AlignType = "left" | "center" | "right";
|
|
798
807
|
declare interface AppendCellRange {
|
|
799
808
|
columnsKey?: ProTableKey[];
|
|
@@ -1740,10 +1749,10 @@ declare const _default_10: DefineComponent<ExtractPropTypes<{
|
|
|
1740
1749
|
})[];
|
|
1741
1750
|
onCurrentChange: (current: number) => void;
|
|
1742
1751
|
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
|
|
1743
|
-
declare const _default_11:
|
|
1744
|
-
declare const _default_12:
|
|
1745
|
-
declare const _default_13:
|
|
1746
|
-
declare const _default_14:
|
|
1752
|
+
declare const _default_11: __VLS_WithSlots_4<typeof __VLS_component_4, __VLS_Slots_4>;
|
|
1753
|
+
declare const _default_12: __VLS_WithSlots_5<typeof __VLS_component_5, __VLS_Slots_5>;
|
|
1754
|
+
declare const _default_13: __VLS_WithSlots_6<typeof __VLS_component_6, __VLS_Slots_6>;
|
|
1755
|
+
declare const _default_14: __VLS_WithSlots_7<typeof __VLS_component_7, __VLS_Slots_7>;
|
|
1747
1756
|
declare const _default_15: DefineComponent<{}, () => VNode<RendererNode, RendererElement, {
|
|
1748
1757
|
[key: string]: any;
|
|
1749
1758
|
}> | VNode<RendererNode, RendererElement, {
|
|
@@ -2947,7 +2956,7 @@ declare const _default_17: DefineComponent<ExtractPropTypes<{
|
|
|
2947
2956
|
onCloseEditor: (opt: CellRenderArgs) => void;
|
|
2948
2957
|
}, CustomSlotsType<ContextSlots>, {}, {}, string, ComponentProvideOptions, true, {}, any>;
|
|
2949
2958
|
declare const _default_2: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
2950
|
-
declare const _default_3:
|
|
2959
|
+
declare const _default_3: __VLS_WithSlots_2<typeof __VLS_component_2, __VLS_Slots_2>;
|
|
2951
2960
|
declare const _default_4: DefineComponent<Props_2, {
|
|
2952
2961
|
start: typeof start;
|
|
2953
2962
|
reset: typeof reset;
|
|
@@ -2971,7 +2980,7 @@ declare const _default_4: DefineComponent<Props_2, {
|
|
|
2971
2980
|
startVal: number;
|
|
2972
2981
|
useEasing: boolean;
|
|
2973
2982
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
2974
|
-
declare const _default_5:
|
|
2983
|
+
declare const _default_5: __VLS_WithSlots_3<typeof __VLS_component_3, __VLS_Slots_3>;
|
|
2975
2984
|
declare const _default_6: DefineComponent<ExtractPropTypes<{
|
|
2976
2985
|
items: {
|
|
2977
2986
|
type: PropType<Array<ProFormItemType<Entity, any>[]> | ProFormItemType<Entity, any>[]>;
|
|
@@ -163,7 +163,7 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
163
163
|
success,
|
|
164
164
|
error,
|
|
165
165
|
data
|
|
166
|
-
} = (_a = await props.customRequest(formData2, onUploadProgress)) != null ? _a : {};
|
|
166
|
+
} = (_a = await props.customRequest(formData2, onUploadProgress, option)) != null ? _a : {};
|
|
167
167
|
if (success) {
|
|
168
168
|
(_b = option.onSuccess) == null ? void 0 : _b.call(option, data);
|
|
169
169
|
formItemContext.onFieldChange();
|
|
@@ -184,18 +184,16 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
184
184
|
return newProps;
|
|
185
185
|
});
|
|
186
186
|
watch(() => props.value, (newValue) => {
|
|
187
|
-
var _a;
|
|
188
187
|
if (newValue) {
|
|
189
188
|
fileList.value = [...newValue == null ? void 0 : newValue.map((item) => ({
|
|
190
189
|
...item,
|
|
191
190
|
name: item.name || item.url
|
|
192
191
|
}))];
|
|
193
|
-
if (!((_a = fileList.value) == null ? void 0 : _a.length)) {
|
|
194
|
-
formItemContext.onFieldChange();
|
|
195
|
-
}
|
|
196
192
|
} else {
|
|
197
193
|
fileList.value = [];
|
|
198
194
|
}
|
|
195
|
+
}, {
|
|
196
|
+
immediate: true
|
|
199
197
|
});
|
|
200
198
|
const onUploadChange = (info) => {
|
|
201
199
|
var _a;
|
|
@@ -207,13 +205,13 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
207
205
|
url: ((_c = item.response) == null ? void 0 : _c.url) || item.url
|
|
208
206
|
};
|
|
209
207
|
}), info.file);
|
|
208
|
+
formItemContext.onFieldChange();
|
|
210
209
|
};
|
|
211
210
|
return () => createVNode(Upload, mergeProps(uploadProps.value, {
|
|
212
211
|
"class": {
|
|
213
212
|
[`${baseClassName.value}-readonly`]: props.readonly
|
|
214
213
|
},
|
|
215
214
|
"fileList": fileList.value,
|
|
216
|
-
"onUpdate:fileList": ($event) => fileList.value = $event,
|
|
217
215
|
"name": props.name,
|
|
218
216
|
"maxCount": props.maxCount,
|
|
219
217
|
"listType": props.listType,
|
|
@@ -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 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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"}
|
|
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-05 09:59:50\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, 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\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n 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","immediate","onUploadChange","info","onChange","response","_mergeProps","readonly","style","length","_createTextVNode","_Fragment","Button","marginInlineStart"],"mappings":"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"}
|
|
@@ -158,7 +158,7 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
|
|
|
158
158
|
success,
|
|
159
159
|
error,
|
|
160
160
|
data
|
|
161
|
-
} = (_a = await props.customRequest(formData2, onUploadProgress)) != null ? _a : {};
|
|
161
|
+
} = (_a = await props.customRequest(formData2, onUploadProgress, option)) != null ? _a : {};
|
|
162
162
|
if (success) {
|
|
163
163
|
(_b = option.onSuccess) == null ? void 0 : _b.call(option, data);
|
|
164
164
|
formItemContext.onFieldChange();
|
|
@@ -179,18 +179,16 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
|
|
|
179
179
|
return newProps;
|
|
180
180
|
});
|
|
181
181
|
watch(() => props.value, (newValue) => {
|
|
182
|
-
var _a;
|
|
183
182
|
if (newValue) {
|
|
184
183
|
fileList.value = [...newValue == null ? void 0 : newValue.map((item) => ({
|
|
185
184
|
...item,
|
|
186
185
|
name: item.name || item.url
|
|
187
186
|
}))];
|
|
188
|
-
if (!((_a = fileList.value) == null ? void 0 : _a.length)) {
|
|
189
|
-
formItemContext.onFieldChange();
|
|
190
|
-
}
|
|
191
187
|
} else {
|
|
192
188
|
fileList.value = [];
|
|
193
189
|
}
|
|
190
|
+
}, {
|
|
191
|
+
immediate: true
|
|
194
192
|
});
|
|
195
193
|
const onUploadChange = (info) => {
|
|
196
194
|
var _a;
|
|
@@ -202,13 +200,13 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
|
|
|
202
200
|
url: ((_c = item.response) == null ? void 0 : _c.url) || item.url
|
|
203
201
|
};
|
|
204
202
|
}), info.file);
|
|
203
|
+
formItemContext.onFieldChange();
|
|
205
204
|
};
|
|
206
205
|
return () => createVNode(Upload.Dragger, mergeProps(uploadProps.value, {
|
|
207
206
|
"class": {
|
|
208
207
|
[`${baseClassName.value}-readonly`]: props.readonly
|
|
209
208
|
},
|
|
210
209
|
"fileList": fileList.value,
|
|
211
|
-
"onUpdate:fileList": ($event) => fileList.value = $event,
|
|
212
210
|
"name": props.name,
|
|
213
211
|
"showUploadList": props.readonly || props.showUploadList,
|
|
214
212
|
"disabled": props.readonly || props.disabled,
|
|
@@ -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 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,yDAA+B;AAAA,EAC7BC,IAAAA,EAAM,oBAAA;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,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,aAAAA,EAAc;AAC9C,IAAA,MAAMC,OAAOC,OAAAA,EAAQ;AACrB,IAAA,MAAMC,mBAAmBC,cAAAA,EAAe;AACxC,IAAA,MAAMf,QAAAA,GAAWgB,GAAAA,CAAW,EAAE,CAAA;AAC9B,IAAA,MAAMC,eAAAA,GAAkBC,KAAKC,wBAAAA,EAAyB;AACtD,IAAA,MAAMC,aAAAA,GAAgBC,QAAAA,CAAS,MAAM,CAAA,EAAGZ,SAAS,CAAA,OAAA,CAAS,CAAA;AAC1D,IAAA,MAAMa,WAAAA,GAAcD,SAAS,MAAM;AACjC,MAAA,MAAME,OAAO,EAAC;AACd5C,MAAAA,UAAAA,CAAW6C,QAAS5C,CAAAA,IAAAA,KAAS;AAC3B,QAAA,MAAM6C,IAAAA,GAAOC,OAAAA,CAAQ7C,KAAAA,CAAMD,IAAI,GAAGkC,gBAAgB,CAAA;AAClD,QAAA,IAAIW,IAAAA,EAAM;AACRF,UAAAA,IAAAA,CAAK3C,IAAI,CAAA,GAAKC,CAAAA,MAAAA,KAAK8C,YAAAC,WAAAA,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,SAAS,MAAM;AAC1B,MAAA,MAAMU,MAAAA,GAASL,OAAAA,CAAQ7C,KAAAA,CAAME,UAAAA,EAAY+B,gBAAgB,CAAA;AACzD,MAAA,IAAIkB,UAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAJ,YAAAC,WAAAA,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,WAAAA,CAAAM,aAAAA,EAAA,IAAA,EAAA,IAAA,CAAA;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM1C,KAAAA,GAAQ8B,SAAS,MAAM;AAC3B,MAAA,MAAMU,MAAAA,GAASL,OAAAA,CAAQ7C,KAAAA,CAAMU,KAAAA,EAAOuB,gBAAgB,CAAA;AACpD,MAAA,IAAIkB,UAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAJ,YAAAC,WAAAA,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,SAAS,MAAM;AACjC,MAAA,MAAMU,MAAAA,GAASL,OAAAA,CAAQ7C,KAAAA,CAAMW,WAAAA,EAAasB,gBAAgB,CAAA;AAC1D,MAAA,IAAIkB,UAAAA,CAAWD,MAAM,CAAA,EAAG;AACtB,QAAA,OAAAJ,YAAAC,WAAAA,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,MAAAA,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,SAAS,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,KAAAA,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,WAAAA,CAAAU,MAAAA,CAAA8B,OAAAA,EAAAC,UAAAA,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,WAAAA,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,YAAA,GAAA,EAAA;AAAA,QAAA,OAAA,EAEH,CAAA,EAAGP,aAAAA,CAAcS,KAAK,CAAA,KAAA;AAAA,SAAO,CAAGtC,KAAAA,CAAMsC,KAAK,CAAA,CAAA,EAAAF,YAAA,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.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-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":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, ref, computed, watch, createVNode, Fragment, mergeProps } from 'vue';
|
|
2
|
-
import { Upload, Modal } from 'ant-design-vue';
|
|
2
|
+
import { Form, Upload, Modal } from 'ant-design-vue';
|
|
3
3
|
import { PlusOutlined } from '@ant-design/icons-vue';
|
|
4
4
|
import { commonFieldProps } from '../props.mjs';
|
|
5
5
|
import { useInjectForm } from '../context/FormContext.mjs';
|
|
@@ -47,6 +47,7 @@ var FieldUploadPictureList = /* @__PURE__ */ defineComponent({
|
|
|
47
47
|
prefixCls,
|
|
48
48
|
disabled
|
|
49
49
|
} = useInjectForm();
|
|
50
|
+
const formItemContext = Form.useInjectFormItemContext();
|
|
50
51
|
const mergeDisabled = computed(() => props.readonly || (disabled == null ? void 0 : disabled.value));
|
|
51
52
|
const customRequest = async (option) => {
|
|
52
53
|
var _a, _b;
|
|
@@ -105,10 +106,13 @@ var FieldUploadPictureList = /* @__PURE__ */ defineComponent({
|
|
|
105
106
|
} else {
|
|
106
107
|
fileList.value = [];
|
|
107
108
|
}
|
|
109
|
+
}, {
|
|
110
|
+
immediate: true
|
|
108
111
|
});
|
|
109
112
|
watch(fileList, () => {
|
|
110
113
|
var _a;
|
|
111
114
|
(_a = props.onChange) == null ? void 0 : _a.call(props, fileList.value);
|
|
115
|
+
formItemContext.onFieldChange();
|
|
112
116
|
});
|
|
113
117
|
return () => createVNode(Fragment, null, [createVNode(Upload, mergeProps(uploadProps.value, {
|
|
114
118
|
"fileList": fileList.value,
|