giime 0.5.11 → 0.5.12
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 +35 -35
- package/es/api/materialApi/cross/getAliOssConfigs.d.ts +14 -0
- package/es/api/materialApi/cross/getAliOssConfigs.mjs +8 -0
- package/es/api/materialApi/cross/getAliOssConfigs.mjs.map +1 -0
- package/es/api/materialApi/cross/index.d.ts +1 -1
- package/es/api/materialApi/cross/index.mjs +1 -1
- package/es/api/materialApi/index.mjs +1 -1
- package/es/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +52 -52
- package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs.map +1 -1
- package/es/components/src/business/uploadMaterial/index.d.ts +4 -4
- package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +10 -4
- package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +1 -1
- package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +27 -7
- package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -1
- package/es/components/src/composite/uploadFile/index.d.ts +22 -10
- package/es/components/src/composite/uploadFile/uploadFile.d.ts +30 -28
- package/es/components/src/composite/uploadFile/uploadFile.mjs.map +1 -1
- package/es/giime/index.mjs +1 -1
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/hooks/index.mjs +1 -1
- package/es/hooks/store/index.d.ts +1 -1
- package/es/hooks/store/index.mjs +1 -1
- package/es/hooks/store/useAliOssConfigs/index.d.ts +20 -0
- package/es/hooks/store/useAliOssConfigs/index.mjs +31 -0
- package/es/hooks/store/useAliOssConfigs/index.mjs.map +1 -0
- package/es/index.css +35 -35
- package/es/utils/src/alioss/aliossPutHook.mjs +5 -2
- package/es/utils/src/alioss/aliossPutHook.mjs.map +1 -1
- package/es/utils/src/alioss/aliossToken.d.ts +6 -6
- package/es/utils/src/alioss/aliossToken.mjs +1 -1
- package/es/utils/src/alioss/aliossToken.mjs.map +1 -1
- package/lib/api/materialApi/cross/getAliOssConfigs.d.ts +14 -0
- package/lib/api/materialApi/cross/getAliOssConfigs.js +10 -0
- package/lib/api/materialApi/cross/getAliOssConfigs.js.map +1 -0
- package/lib/api/materialApi/cross/index.d.ts +1 -1
- package/lib/api/materialApi/cross/index.js +2 -2
- package/lib/api/materialApi/index.js +2 -2
- package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +52 -52
- package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js.map +1 -1
- package/lib/components/src/business/uploadMaterial/index.d.ts +4 -4
- package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +10 -4
- package/lib/components/src/composite/uploadFile/UploadFile.vue.js +1 -1
- package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +27 -7
- package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -1
- package/lib/components/src/composite/uploadFile/index.d.ts +22 -10
- package/lib/components/src/composite/uploadFile/uploadFile.d.ts +30 -28
- package/lib/components/src/composite/uploadFile/uploadFile.js.map +1 -1
- package/lib/giime/index.js +2 -2
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/hooks/index.js +2 -2
- package/lib/hooks/store/index.d.ts +1 -1
- package/lib/hooks/store/index.js +2 -2
- package/lib/hooks/store/useAliOssConfigs/index.d.ts +20 -0
- package/lib/hooks/store/useAliOssConfigs/index.js +33 -0
- package/lib/hooks/store/useAliOssConfigs/index.js.map +1 -0
- package/lib/index.css +35 -35
- package/lib/utils/src/alioss/aliossPutHook.js +5 -2
- package/lib/utils/src/alioss/aliossPutHook.js.map +1 -1
- package/lib/utils/src/alioss/aliossToken.d.ts +6 -6
- package/lib/utils/src/alioss/aliossToken.js +1 -1
- package/lib/utils/src/alioss/aliossToken.js.map +1 -1
- package/package.json +1 -1
- package/es/api/materialApi/cross/getAliOssConfigIds.d.ts +0 -14
- package/es/api/materialApi/cross/getAliOssConfigIds.mjs +0 -8
- package/es/api/materialApi/cross/getAliOssConfigIds.mjs.map +0 -1
- package/es/hooks/store/useAliOssConfigIds/index.d.ts +0 -20
- package/es/hooks/store/useAliOssConfigIds/index.mjs +0 -31
- package/es/hooks/store/useAliOssConfigIds/index.mjs.map +0 -1
- package/lib/api/materialApi/cross/getAliOssConfigIds.d.ts +0 -14
- package/lib/api/materialApi/cross/getAliOssConfigIds.js +0 -10
- package/lib/api/materialApi/cross/getAliOssConfigIds.js.map +0 -1
- package/lib/hooks/store/useAliOssConfigIds/index.d.ts +0 -20
- package/lib/hooks/store/useAliOssConfigIds/index.js +0 -33
- package/lib/hooks/store/useAliOssConfigIds/index.js.map +0 -1
package/dist/index.css
CHANGED
|
@@ -806,16 +806,12 @@ video {
|
|
|
806
806
|
margin: 0;
|
|
807
807
|
}
|
|
808
808
|
|
|
809
|
-
.gm-
|
|
810
|
-
|
|
809
|
+
.gm-flex-center[data-v-2a79bac9] {
|
|
810
|
+
align-items: center;
|
|
811
811
|
}
|
|
812
812
|
|
|
813
|
-
.gm-
|
|
814
|
-
|
|
815
|
-
height: 120px;
|
|
816
|
-
display: flex;
|
|
817
|
-
align-items: center;
|
|
818
|
-
justify-content: center;
|
|
813
|
+
.gm-flex-justify-between[data-v-2a79bac9] {
|
|
814
|
+
justify-content: space-between;
|
|
819
815
|
}
|
|
820
816
|
.circular[data-v-b391445c] {
|
|
821
817
|
animation: loading-rotate-b391445c 2s linear infinite;
|
|
@@ -848,12 +844,28 @@ video {
|
|
|
848
844
|
stroke-dashoffset: -120px;
|
|
849
845
|
}
|
|
850
846
|
}
|
|
851
|
-
|
|
852
|
-
|
|
847
|
+
[data-v-668dc408] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
848
|
+
border-right: none;
|
|
853
849
|
}
|
|
854
850
|
|
|
855
|
-
|
|
856
|
-
|
|
851
|
+
[data-v-668dc408] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
852
|
+
height: 0;
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
[data-v-668dc408] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
856
|
+
height: 0;
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
[data-v-668dc408] .gmTableNoBorder.el-table--border:after {
|
|
860
|
+
height: 0;
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
[data-v-668dc408] .gmTableNoBorder.el-table--border:before {
|
|
864
|
+
height: 0;
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
[data-v-668dc408] .gmTableNoBorder .el-table__border-left-patch {
|
|
868
|
+
height: 0;
|
|
857
869
|
}
|
|
858
870
|
[data-v-7b6755e2] .gmSearchForm .el-form-item {
|
|
859
871
|
margin-right: 0;
|
|
@@ -885,6 +897,17 @@ video {
|
|
|
885
897
|
.gm-upload-file-disabled .el-upload-list__item-status-label {
|
|
886
898
|
display: none;
|
|
887
899
|
}
|
|
900
|
+
.gm-upload-preview-dialog[data-v-5de3f0ab] [data-v-5de3f0ab] .el-dialog__body {
|
|
901
|
+
padding: 0;
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
.gm-upload-file-picture-card[data-v-5de3f0ab] [data-v-5de3f0ab] .el-upload-list__item, .gm-upload-file-picture-card[data-v-5de3f0ab] [data-v-5de3f0ab] .el-upload--picture-card {
|
|
905
|
+
width: 120px;
|
|
906
|
+
height: 120px;
|
|
907
|
+
display: flex;
|
|
908
|
+
align-items: center;
|
|
909
|
+
justify-content: center;
|
|
910
|
+
}
|
|
888
911
|
.gm-number-interval-single[data-v-47a13fd0] {
|
|
889
912
|
border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
|
|
890
913
|
box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
|
|
@@ -903,29 +926,6 @@ video {
|
|
|
903
926
|
.gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
|
|
904
927
|
display: flex;
|
|
905
928
|
}
|
|
906
|
-
[data-v-668dc408] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
907
|
-
border-right: none;
|
|
908
|
-
}
|
|
909
|
-
|
|
910
|
-
[data-v-668dc408] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
911
|
-
height: 0;
|
|
912
|
-
}
|
|
913
|
-
|
|
914
|
-
[data-v-668dc408] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
915
|
-
height: 0;
|
|
916
|
-
}
|
|
917
|
-
|
|
918
|
-
[data-v-668dc408] .gmTableNoBorder.el-table--border:after {
|
|
919
|
-
height: 0;
|
|
920
|
-
}
|
|
921
|
-
|
|
922
|
-
[data-v-668dc408] .gmTableNoBorder.el-table--border:before {
|
|
923
|
-
height: 0;
|
|
924
|
-
}
|
|
925
|
-
|
|
926
|
-
[data-v-668dc408] .gmTableNoBorder .el-table__border-left-patch {
|
|
927
|
-
height: 0;
|
|
928
|
-
}
|
|
929
929
|
|
|
930
930
|
.pagination-container[data-v-19230954] {
|
|
931
931
|
background: #fff;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type AxiosRequestConfig } from 'axios';
|
|
2
|
+
export interface GetAliOssConfigsResponse {
|
|
3
|
+
code: number;
|
|
4
|
+
data: GetAliOssConfigsResponseData;
|
|
5
|
+
comment: string;
|
|
6
|
+
}
|
|
7
|
+
export interface GetAliOssConfigsResponseData {
|
|
8
|
+
config_ids: string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 获取阿里OSS配置ID
|
|
12
|
+
* /material/cross/aliOssConfigs
|
|
13
|
+
*/
|
|
14
|
+
export declare function getAliOssConfigs(config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<GetAliOssConfigsResponse, any>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAliOssConfigs.mjs","sources":["../../../../../../packages/api/materialApi/cross/getAliOssConfigs.ts"],"sourcesContent":["import { type AxiosRequestConfig } from 'axios';\r\nimport request from '../request';\r\n\r\nexport interface GetAliOssConfigsResponse {\r\n code: number;\r\n data: GetAliOssConfigsResponseData;\r\n comment: string;\r\n}\r\n\r\nexport interface GetAliOssConfigsResponseData {\r\n config_ids: string[];\r\n}\r\n\r\n/**\r\n * 获取阿里OSS配置ID\r\n * /material/cross/aliOssConfigs\r\n */\r\nexport function getAliOssConfigs(config?: AxiosRequestConfig) {\r\n return request.get<GetAliOssConfigsResponse>(`/material/cross/aliOssConfigs`, config);\r\n}\r\n"],"names":["request"],"mappings":";;AAiBO,SAAS,iBAAiB,MAA6B,EAAA;AAC5D,EAAO,OAAAA,OAAA,CAAQ,GAA8B,CAAA,CAAA,6BAAA,CAAA,EAAiC,MAAM,CAAA,CAAA;AACtF;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { getOssAccessToken } from './getOssAccessToken.mjs';
|
|
2
2
|
export { getAdFileExist } from './getAdFileExist.mjs';
|
|
3
3
|
export { postSaveFileResources } from './postSaveFileResources.mjs';
|
|
4
|
-
export {
|
|
4
|
+
export { getAliOssConfigs } from './getAliOssConfigs.mjs';
|
|
5
5
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -2,5 +2,5 @@ import './cross/index.mjs';
|
|
|
2
2
|
export { getOssAccessToken } from './cross/getOssAccessToken.mjs';
|
|
3
3
|
export { getAdFileExist } from './cross/getAdFileExist.mjs';
|
|
4
4
|
export { postSaveFileResources } from './cross/postSaveFileResources.mjs';
|
|
5
|
-
export {
|
|
5
|
+
export { getAliOssConfigs } from './cross/getAliOssConfigs.mjs';
|
|
6
6
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { UploadFile, UploadRawFile, UploadStatus } from 'element-plus';
|
|
1
|
+
import type { UploadFile, UploadFiles, UploadRawFile, UploadStatus } from 'element-plus';
|
|
2
2
|
declare const _default: import("vue").DefineComponent<{
|
|
3
|
-
fileList: import("vue").PropType<
|
|
3
|
+
fileList: import("vue").PropType<UploadFiles>;
|
|
4
4
|
checkoutFiles: import("vue").PropType<any[]>;
|
|
5
5
|
accept: {
|
|
6
6
|
type: StringConstructor;
|
|
@@ -112,26 +112,26 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
112
112
|
readonly prototype: any;
|
|
113
113
|
})[], unknown, unknown, () => void, boolean>;
|
|
114
114
|
beforeRemove: {
|
|
115
|
-
readonly type: import("vue").PropType<(uploadFile: UploadFile, uploadFiles:
|
|
115
|
+
readonly type: import("vue").PropType<(uploadFile: UploadFile, uploadFiles: UploadFiles) => import("element-plus/es/utils").Awaitable<boolean>>;
|
|
116
116
|
readonly required: false;
|
|
117
117
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
118
118
|
__epPropKey: true;
|
|
119
119
|
};
|
|
120
|
-
onRemove: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile, uploadFiles:
|
|
121
|
-
(): (uploadFile: UploadFile, uploadFiles:
|
|
120
|
+
onRemove: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
121
|
+
(): (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
122
122
|
new (): any;
|
|
123
123
|
readonly prototype: any;
|
|
124
|
-
} | ((new (...args: any[]) => (uploadFile: UploadFile, uploadFiles:
|
|
125
|
-
(): (uploadFile: UploadFile, uploadFiles:
|
|
124
|
+
} | ((new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
125
|
+
(): (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
126
126
|
new (): any;
|
|
127
127
|
readonly prototype: any;
|
|
128
128
|
})[], unknown, unknown, () => void, boolean>;
|
|
129
|
-
onChange: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile, uploadFiles:
|
|
130
|
-
(): (uploadFile: UploadFile, uploadFiles:
|
|
129
|
+
onChange: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
130
|
+
(): (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
131
131
|
new (): any;
|
|
132
132
|
readonly prototype: any;
|
|
133
|
-
} | ((new (...args: any[]) => (uploadFile: UploadFile, uploadFiles:
|
|
134
|
-
(): (uploadFile: UploadFile, uploadFiles:
|
|
133
|
+
} | ((new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
134
|
+
(): (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
135
135
|
new (): any;
|
|
136
136
|
readonly prototype: any;
|
|
137
137
|
})[], unknown, unknown, () => void, boolean>;
|
|
@@ -144,30 +144,30 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
144
144
|
new (): any;
|
|
145
145
|
readonly prototype: any;
|
|
146
146
|
})[], unknown, unknown, () => void, boolean>;
|
|
147
|
-
onSuccess: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (response: any, uploadFile: UploadFile, uploadFiles:
|
|
148
|
-
(): (response: any, uploadFile: UploadFile, uploadFiles:
|
|
147
|
+
onSuccess: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
148
|
+
(): (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
149
149
|
new (): any;
|
|
150
150
|
readonly prototype: any;
|
|
151
|
-
} | ((new (...args: any[]) => (response: any, uploadFile: UploadFile, uploadFiles:
|
|
152
|
-
(): (response: any, uploadFile: UploadFile, uploadFiles:
|
|
151
|
+
} | ((new (...args: any[]) => (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
152
|
+
(): (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
153
153
|
new (): any;
|
|
154
154
|
readonly prototype: any;
|
|
155
155
|
})[], unknown, unknown, () => void, boolean>;
|
|
156
|
-
onProgress: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles:
|
|
157
|
-
(): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles:
|
|
156
|
+
onProgress: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
157
|
+
(): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
158
158
|
new (): any;
|
|
159
159
|
readonly prototype: any;
|
|
160
|
-
} | ((new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles:
|
|
161
|
-
(): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles:
|
|
160
|
+
} | ((new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
161
|
+
(): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
162
162
|
new (): any;
|
|
163
163
|
readonly prototype: any;
|
|
164
164
|
})[], unknown, unknown, () => void, boolean>;
|
|
165
|
-
onError: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles:
|
|
166
|
-
(): (error: Error, uploadFile: UploadFile, uploadFiles:
|
|
165
|
+
onError: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
166
|
+
(): (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
167
167
|
new (): any;
|
|
168
168
|
readonly prototype: any;
|
|
169
|
-
} | ((new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles:
|
|
170
|
-
(): (error: Error, uploadFile: UploadFile, uploadFiles:
|
|
169
|
+
} | ((new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
170
|
+
(): (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
171
171
|
new (): any;
|
|
172
172
|
readonly prototype: any;
|
|
173
173
|
})[], unknown, unknown, () => void, boolean>;
|
|
@@ -216,7 +216,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
216
216
|
clearFiles: (status?: UploadStatus[] | undefined) => void;
|
|
217
217
|
handleStart: (rawFile: UploadRawFile) => void;
|
|
218
218
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
219
|
-
"update:fileList": (fileList:
|
|
219
|
+
"update:fileList": (fileList: UploadFiles) => void;
|
|
220
220
|
"update:checkoutFiles": (checkoutFiles: any[]) => void;
|
|
221
221
|
handleRemove: (args_0: {
|
|
222
222
|
file: UploadFile;
|
|
@@ -224,7 +224,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
224
224
|
}) => void;
|
|
225
225
|
handleSaveFileSuccess: (file: import("../../../../api/materialApi").PostSaveFileResourcesData) => void;
|
|
226
226
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
227
|
-
fileList: import("vue").PropType<
|
|
227
|
+
fileList: import("vue").PropType<UploadFiles>;
|
|
228
228
|
checkoutFiles: import("vue").PropType<any[]>;
|
|
229
229
|
accept: {
|
|
230
230
|
type: StringConstructor;
|
|
@@ -336,26 +336,26 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
336
336
|
readonly prototype: any;
|
|
337
337
|
})[], unknown, unknown, () => void, boolean>;
|
|
338
338
|
beforeRemove: {
|
|
339
|
-
readonly type: import("vue").PropType<(uploadFile: UploadFile, uploadFiles:
|
|
339
|
+
readonly type: import("vue").PropType<(uploadFile: UploadFile, uploadFiles: UploadFiles) => import("element-plus/es/utils").Awaitable<boolean>>;
|
|
340
340
|
readonly required: false;
|
|
341
341
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
342
342
|
__epPropKey: true;
|
|
343
343
|
};
|
|
344
|
-
onRemove: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile, uploadFiles:
|
|
345
|
-
(): (uploadFile: UploadFile, uploadFiles:
|
|
344
|
+
onRemove: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
345
|
+
(): (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
346
346
|
new (): any;
|
|
347
347
|
readonly prototype: any;
|
|
348
|
-
} | ((new (...args: any[]) => (uploadFile: UploadFile, uploadFiles:
|
|
349
|
-
(): (uploadFile: UploadFile, uploadFiles:
|
|
348
|
+
} | ((new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
349
|
+
(): (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
350
350
|
new (): any;
|
|
351
351
|
readonly prototype: any;
|
|
352
352
|
})[], unknown, unknown, () => void, boolean>;
|
|
353
|
-
onChange: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile, uploadFiles:
|
|
354
|
-
(): (uploadFile: UploadFile, uploadFiles:
|
|
353
|
+
onChange: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
354
|
+
(): (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
355
355
|
new (): any;
|
|
356
356
|
readonly prototype: any;
|
|
357
|
-
} | ((new (...args: any[]) => (uploadFile: UploadFile, uploadFiles:
|
|
358
|
-
(): (uploadFile: UploadFile, uploadFiles:
|
|
357
|
+
} | ((new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
358
|
+
(): (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
359
359
|
new (): any;
|
|
360
360
|
readonly prototype: any;
|
|
361
361
|
})[], unknown, unknown, () => void, boolean>;
|
|
@@ -368,30 +368,30 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
368
368
|
new (): any;
|
|
369
369
|
readonly prototype: any;
|
|
370
370
|
})[], unknown, unknown, () => void, boolean>;
|
|
371
|
-
onSuccess: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (response: any, uploadFile: UploadFile, uploadFiles:
|
|
372
|
-
(): (response: any, uploadFile: UploadFile, uploadFiles:
|
|
371
|
+
onSuccess: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
372
|
+
(): (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
373
373
|
new (): any;
|
|
374
374
|
readonly prototype: any;
|
|
375
|
-
} | ((new (...args: any[]) => (response: any, uploadFile: UploadFile, uploadFiles:
|
|
376
|
-
(): (response: any, uploadFile: UploadFile, uploadFiles:
|
|
375
|
+
} | ((new (...args: any[]) => (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
376
|
+
(): (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
377
377
|
new (): any;
|
|
378
378
|
readonly prototype: any;
|
|
379
379
|
})[], unknown, unknown, () => void, boolean>;
|
|
380
|
-
onProgress: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles:
|
|
381
|
-
(): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles:
|
|
380
|
+
onProgress: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
381
|
+
(): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
382
382
|
new (): any;
|
|
383
383
|
readonly prototype: any;
|
|
384
|
-
} | ((new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles:
|
|
385
|
-
(): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles:
|
|
384
|
+
} | ((new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
385
|
+
(): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
386
386
|
new (): any;
|
|
387
387
|
readonly prototype: any;
|
|
388
388
|
})[], unknown, unknown, () => void, boolean>;
|
|
389
|
-
onError: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles:
|
|
390
|
-
(): (error: Error, uploadFile: UploadFile, uploadFiles:
|
|
389
|
+
onError: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
390
|
+
(): (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
391
391
|
new (): any;
|
|
392
392
|
readonly prototype: any;
|
|
393
|
-
} | ((new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles:
|
|
394
|
-
(): (error: Error, uploadFile: UploadFile, uploadFiles:
|
|
393
|
+
} | ((new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
394
|
+
(): (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
395
395
|
new (): any;
|
|
396
396
|
readonly prototype: any;
|
|
397
397
|
})[], unknown, unknown, () => void, boolean>;
|
|
@@ -434,7 +434,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
434
434
|
disabled: BooleanConstructor;
|
|
435
435
|
limit: NumberConstructor;
|
|
436
436
|
}>> & {
|
|
437
|
-
"onUpdate:fileList"?: ((fileList:
|
|
437
|
+
"onUpdate:fileList"?: ((fileList: UploadFiles) => any) | undefined;
|
|
438
438
|
onHandleRemove?: ((args_0: {
|
|
439
439
|
file: UploadFile;
|
|
440
440
|
index: number;
|
|
@@ -455,15 +455,15 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
455
455
|
url: string;
|
|
456
456
|
method: string;
|
|
457
457
|
withCredentials: boolean;
|
|
458
|
-
onError: (error: Error, uploadFile: UploadFile, uploadFiles:
|
|
459
|
-
onChange: (uploadFile: UploadFile, uploadFiles:
|
|
458
|
+
onError: (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
459
|
+
onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
460
460
|
controls: boolean;
|
|
461
461
|
file: Partial<UploadFile>;
|
|
462
462
|
beforeUpload: (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
463
|
-
onRemove: (uploadFile: UploadFile, uploadFiles:
|
|
463
|
+
onRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
464
464
|
onPreview: (uploadFile: UploadFile) => void;
|
|
465
|
-
onSuccess: (response: any, uploadFile: UploadFile, uploadFiles:
|
|
466
|
-
onProgress: (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles:
|
|
465
|
+
onSuccess: (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
466
|
+
onProgress: (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
467
467
|
onExceed: (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
|
|
468
468
|
action: string;
|
|
469
469
|
showFileList: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadMaterial.vue2.mjs","sources":["../../../../../../../packages/components/src/business/uploadMaterial/UploadMaterial.vue"],"sourcesContent":["<template>\r\n <div class=\"gm-upload-material\">\r\n <GmUploadFile\r\n ref=\"uploadMaterialRef\"\r\n v-bind=\"props\"\r\n v-model:file-list=\"fileList\"\r\n v-model:checkout-files=\"checkoutFiles\"\r\n @handleRemove=\"data => emit('handleRemove', data)\"\r\n @handleSaveFileSuccess=\"data => emit('handleSaveFileSuccess', data)\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport GmUploadFile from '../../composite/uploadFile';\r\nimport { type SaveFileResourcesFile, uploadMaterialProps } from './uploadMaterial';\r\nimport type { UploadFile, UploadInstance, UploadRawFile, UploadStatus } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmUploadMaterial',\r\n});\r\n\r\nconst props = defineProps(uploadMaterialProps);\r\nconst emit = defineEmits([\"handleRemove\", \"handleSaveFileSuccess\"]);\r\n\r\n/* 上传文件 */\r\nconst fileList = defineModel<
|
|
1
|
+
{"version":3,"file":"UploadMaterial.vue2.mjs","sources":["../../../../../../../packages/components/src/business/uploadMaterial/UploadMaterial.vue"],"sourcesContent":["<template>\r\n <div class=\"gm-upload-material\">\r\n <GmUploadFile\r\n ref=\"uploadMaterialRef\"\r\n v-bind=\"props\"\r\n v-model:file-list=\"fileList\"\r\n v-model:checkout-files=\"checkoutFiles\"\r\n @handleRemove=\"data => emit('handleRemove', data)\"\r\n @handleSaveFileSuccess=\"data => emit('handleSaveFileSuccess', data)\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport GmUploadFile from '../../composite/uploadFile';\r\nimport { type SaveFileResourcesFile, uploadMaterialProps } from './uploadMaterial';\r\nimport type { UploadFile, UploadFiles, UploadInstance, UploadRawFile, UploadStatus } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmUploadMaterial',\r\n});\r\n\r\nconst props = defineProps(uploadMaterialProps);\r\nconst emit = defineEmits([\"handleRemove\", \"handleSaveFileSuccess\"]);\r\n\r\n/* 上传文件 */\r\nconst fileList = defineModel<UploadFiles>('fileList', { default: () => [] });\r\n/** 多选数据 */\r\nconst checkoutFiles = defineModel<any[]>('checkoutFiles', { default: () => [] });\r\n\r\nconst uploadMaterialRef = ref<UploadInstance>();\r\n/* 手动上传 */\r\nconst onSubmit = () => {\r\n uploadMaterialRef.value!.submit();\r\n};\r\n/* 手动上传 */\r\nconst submit = () => {\r\n uploadMaterialRef.value!.submit();\r\n};\r\n\r\n/** 取消上传 */\r\nconst abort = (file: UploadFile) => {\r\n uploadMaterialRef.value!.abort(file);\r\n};\r\n\r\n/** 清空已上传的文件列表 */\r\nconst clearFiles = (status?: UploadStatus[]) => {\r\n uploadMaterialRef.value!.clearFiles(status);\r\n};\r\n\r\n/** 手动选择文件 */\r\nconst handleStart = (rawFile: UploadRawFile) => {\r\n uploadMaterialRef.value!.handleStart(rawFile);\r\n};\r\n\r\ndefineExpose({\r\n onSubmit,\r\n submit,\r\n abort,\r\n clearFiles,\r\n handleStart,\r\n});\r\n</script>\r\n"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;;;;AAuBA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAGb,IAAM,MAAA,QAAA,GAAWA,kBAAyB,UAAiC,CAAA,CAAA;AAE3E,IAAM,MAAA,aAAA,GAAgBA,kBAAmB,eAAsC,CAAA,CAAA;AAE/E,IAAA,MAAM,oBAAoB,GAAoB,EAAA,CAAA;AAE9C,IAAA,MAAM,WAAW,MAAM;AACrB,MAAA,iBAAA,CAAkB,MAAO,MAAO,EAAA,CAAA;AAAA,KAClC,CAAA;AAEA,IAAA,MAAM,SAAS,MAAM;AACnB,MAAA,iBAAA,CAAkB,MAAO,MAAO,EAAA,CAAA;AAAA,KAClC,CAAA;AAGA,IAAM,MAAA,KAAA,GAAQ,CAAC,IAAqB,KAAA;AAClC,MAAkB,iBAAA,CAAA,KAAA,CAAO,MAAM,IAAI,CAAA,CAAA;AAAA,KACrC,CAAA;AAGA,IAAM,MAAA,UAAA,GAAa,CAAC,MAA4B,KAAA;AAC9C,MAAkB,iBAAA,CAAA,KAAA,CAAO,WAAW,MAAM,CAAA,CAAA;AAAA,KAC5C,CAAA;AAGA,IAAM,MAAA,WAAA,GAAc,CAAC,OAA2B,KAAA;AAC9C,MAAkB,iBAAA,CAAA,KAAA,CAAO,YAAY,OAAO,CAAA,CAAA;AAAA,KAC9C,CAAA;AAEA,IAAa,QAAA,CAAA;AAAA,MACX,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import UploadMaterial from './UploadMaterial.vue';
|
|
2
2
|
export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
3
|
-
fileList: import("vue").PropType<import("element-plus").
|
|
3
|
+
fileList: import("vue").PropType<import("element-plus").UploadFiles>;
|
|
4
4
|
checkoutFiles: import("vue").PropType<any[]>;
|
|
5
5
|
accept: {
|
|
6
6
|
type: StringConstructor;
|
|
@@ -216,7 +216,7 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
|
|
|
216
216
|
clearFiles: (status?: import("element-plus").UploadStatus[] | undefined) => void;
|
|
217
217
|
handleStart: (rawFile: import("element-plus").UploadRawFile) => void;
|
|
218
218
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
219
|
-
"update:fileList": (fileList: import("element-plus").
|
|
219
|
+
"update:fileList": (fileList: import("element-plus").UploadFiles) => void;
|
|
220
220
|
"update:checkoutFiles": (checkoutFiles: any[]) => void;
|
|
221
221
|
handleRemove: (args_0: {
|
|
222
222
|
file: import("element-plus").UploadFile;
|
|
@@ -224,7 +224,7 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
|
|
|
224
224
|
}) => void;
|
|
225
225
|
handleSaveFileSuccess: (file: import("../../../../api/materialApi/index.js").PostSaveFileResourcesData) => void;
|
|
226
226
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
227
|
-
fileList: import("vue").PropType<import("element-plus").
|
|
227
|
+
fileList: import("vue").PropType<import("element-plus").UploadFiles>;
|
|
228
228
|
checkoutFiles: import("vue").PropType<any[]>;
|
|
229
229
|
accept: {
|
|
230
230
|
type: StringConstructor;
|
|
@@ -434,7 +434,7 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
|
|
|
434
434
|
disabled: BooleanConstructor;
|
|
435
435
|
limit: NumberConstructor;
|
|
436
436
|
}>> & {
|
|
437
|
-
"onUpdate:fileList"?: ((fileList: import("element-plus").
|
|
437
|
+
"onUpdate:fileList"?: ((fileList: import("element-plus").UploadFiles) => any) | undefined;
|
|
438
438
|
onHandleRemove?: ((args_0: {
|
|
439
439
|
file: import("element-plus").UploadFile;
|
|
440
440
|
index: number;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { UploadFile, UploadFiles, UploadRawFile, UploadStatus } from 'element-plus';
|
|
2
2
|
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
3
|
-
fileList:
|
|
3
|
+
fileList: {
|
|
4
|
+
required: true;
|
|
5
|
+
type: import("vue").PropType<UploadFile[]>;
|
|
6
|
+
};
|
|
4
7
|
checkoutFiles: import("vue").PropType<any[]>;
|
|
5
8
|
listType: {
|
|
6
9
|
type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>>;
|
|
@@ -690,7 +693,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
690
693
|
};
|
|
691
694
|
}) | undefined>;
|
|
692
695
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
693
|
-
"update:fileList": (fileList:
|
|
696
|
+
"update:fileList": (fileList: UploadFile[]) => void;
|
|
694
697
|
"update:checkoutFiles": (checkoutFiles: any[]) => void;
|
|
695
698
|
handleRemove: (file: {
|
|
696
699
|
file: UploadFile;
|
|
@@ -698,7 +701,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
698
701
|
}) => void;
|
|
699
702
|
handleSaveFileSuccess: (file: import("../../../../api/materialApi").PostSaveFileResourcesData) => void;
|
|
700
703
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
701
|
-
fileList:
|
|
704
|
+
fileList: {
|
|
705
|
+
required: true;
|
|
706
|
+
type: import("vue").PropType<UploadFile[]>;
|
|
707
|
+
};
|
|
702
708
|
checkoutFiles: import("vue").PropType<any[]>;
|
|
703
709
|
listType: {
|
|
704
710
|
type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>>;
|
|
@@ -908,7 +914,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
908
914
|
disabled: BooleanConstructor;
|
|
909
915
|
limit: NumberConstructor;
|
|
910
916
|
}>> & {
|
|
911
|
-
"onUpdate:fileList"?: ((fileList:
|
|
917
|
+
"onUpdate:fileList"?: ((fileList: UploadFile[]) => any) | undefined;
|
|
912
918
|
onHandleRemove?: ((file: {
|
|
913
919
|
file: UploadFile;
|
|
914
920
|
index: number;
|
|
@@ -3,7 +3,7 @@ import './UploadFile.vue3.mjs';
|
|
|
3
3
|
import './UploadFile.vue4.mjs';
|
|
4
4
|
import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
|
|
5
5
|
|
|
6
|
-
var UploadFile = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
6
|
+
var UploadFile = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5de3f0ab"]]);
|
|
7
7
|
|
|
8
8
|
export { UploadFile as default };
|
|
9
9
|
//# sourceMappingURL=UploadFile.vue.mjs.map
|
|
@@ -6,7 +6,7 @@ import { GmFileComponent } from '../fileComponent/index.mjs';
|
|
|
6
6
|
import { GmPreviewFile } from '../previewFile/index.mjs';
|
|
7
7
|
import { uploadFileProps } from './uploadFile.mjs';
|
|
8
8
|
|
|
9
|
-
const _withScopeId = (n) => (pushScopeId("data-v-
|
|
9
|
+
const _withScopeId = (n) => (pushScopeId("data-v-5de3f0ab"), n = n(), popScopeId(), n);
|
|
10
10
|
const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode(
|
|
11
11
|
"div",
|
|
12
12
|
{ class: "el-upload__text gm-text-center !gm-text-xs gm-text-gray-500" },
|
|
@@ -26,7 +26,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
26
26
|
},
|
|
27
27
|
__name: "UploadFile",
|
|
28
28
|
props: /* @__PURE__ */ mergeModels(uploadFileProps, {
|
|
29
|
-
"fileList": { default: () => [] },
|
|
29
|
+
"fileList": { required: true, default: () => [] },
|
|
30
30
|
"fileListModifiers": {},
|
|
31
31
|
"checkoutFiles": { default: () => [] },
|
|
32
32
|
"checkoutFilesModifiers": {}
|
|
@@ -44,6 +44,24 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
44
44
|
const checkoutFiles = useModel(__props, "checkoutFiles");
|
|
45
45
|
const httpRequest = async (params) => {
|
|
46
46
|
const { file } = params;
|
|
47
|
+
if (props.accept && props.accept !== "*") {
|
|
48
|
+
const acceptTypes = props.accept.split(",").map((type) => type.trim());
|
|
49
|
+
const fileType = file.type || "";
|
|
50
|
+
const fileExtension = file.name.slice(Math.max(0, file.name.lastIndexOf(".")));
|
|
51
|
+
const isValidType = acceptTypes.some((type) => {
|
|
52
|
+
if (type.startsWith(".")) {
|
|
53
|
+
return fileExtension.toLowerCase() === type.toLowerCase();
|
|
54
|
+
} else if (type.includes("/*")) {
|
|
55
|
+
const [mainType] = type.split("/");
|
|
56
|
+
return fileType.startsWith(`${mainType}/`);
|
|
57
|
+
} else {
|
|
58
|
+
return fileType === type;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
if (!isValidType) {
|
|
62
|
+
throw new Error(`\u6587\u4EF6\u7C7B\u578B\u4E0D\u652F\u6301\uFF0C\u8BF7\u4E0A\u4F20 ${props.accept} \u683C\u5F0F\u7684\u6587\u4EF6`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
47
65
|
const res = await uploadFile({
|
|
48
66
|
file,
|
|
49
67
|
fileName: props.fileName,
|
|
@@ -63,16 +81,18 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
63
81
|
}
|
|
64
82
|
return props.beforeRemove ? props.beforeRemove(file, files) : true;
|
|
65
83
|
};
|
|
66
|
-
const handleRemove = (file) => {
|
|
84
|
+
const handleRemove = (file, uploadFiles) => {
|
|
67
85
|
ElMessageBox.confirm("\u786E\u5B9A\u5220\u9664\u8BE5\u6587\u4EF6\u5417\uFF1F", "\u63D0\u793A", {
|
|
68
86
|
confirmButtonText: "\u786E\u5B9A",
|
|
69
87
|
cancelButtonText: "\u53D6\u6D88",
|
|
70
88
|
type: "warning"
|
|
71
89
|
}).then(() => {
|
|
72
90
|
const index = fileList.value.indexOf(file);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
91
|
+
if (index > -1) {
|
|
92
|
+
fileList.value.splice(index, 1);
|
|
93
|
+
emit("handleRemove", { file, index });
|
|
94
|
+
return props.onRemove?.(file, uploadFiles);
|
|
95
|
+
}
|
|
76
96
|
}).catch(() => {
|
|
77
97
|
});
|
|
78
98
|
};
|
|
@@ -210,7 +230,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
210
230
|
_ctx.showDelete ? (openBlock(), createElementBlock("span", {
|
|
211
231
|
key: 0,
|
|
212
232
|
class: "el-upload-list__item-delete",
|
|
213
|
-
onClick: ($event) => handleRemove(file)
|
|
233
|
+
onClick: ($event) => handleRemove(file, fileList.value)
|
|
214
234
|
}, [
|
|
215
235
|
createVNode(_component_el_icon, null, {
|
|
216
236
|
default: withCtx(() => [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadFile.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/uploadFile/UploadFile.vue"],"sourcesContent":["<template>\r\n <div :class=\"{ 'gm-upload-file-picture-card': listType === 'picture-card', 'gm-upload-file-disabled': disabled }\" class=\"gm-upload-file\">\r\n <el-checkbox-group v-model=\"checkoutFiles\">\r\n <el-upload ref=\"uploadFileRef\" v-bind=\"props\" v-model:file-list=\"fileList\" :before-remove=\"beforeRemove\" action=\"\" :http-request=\"httpRequest\">\r\n <slot v-if=\"!disabled\">\r\n <template v-if=\"listType === 'picture-card'\">\r\n <div\r\n class=\"gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-p-1\"\r\n style=\"flex-direction: column\"\r\n :style=\"{ width: width + 'px', height: height + 'px' }\"\r\n >\r\n <el-icon :size=\"30\" color=\"#999\">\r\n <UploadFilled />\r\n </el-icon>\r\n <div class=\"el-upload__text gm-text-center !gm-text-xs gm-text-gray-500\">\r\n 将文件拖到此处,或 <em class=\"gm-text-blue-700\">点击上传</em>\r\n </div>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <el-button type=\"primary\" size=\"default\">点击上传</el-button>\r\n </template>\r\n </slot>\r\n <template v-if=\"showFileList && listType === 'picture-card'\" #file=\"{ file }\">\r\n <el-checkbox v-if=\"checkbox\" :value=\"file\" />\r\n <slot name=\"file\" :file=\"file\">\r\n <div class=\"gm-flex gm-items-center gm-justify-center gm-rounded-md\" :style=\"{ width: width + 'px', height: height + 'px' }\">\r\n <GmFileComponent :file=\"file\" :size=\"width - 40\" :url=\"url\" :controls=\"false\" />\r\n </div>\r\n <div class=\"el-upload-list__item-actions\">\r\n <span class=\"el-upload-list__item-preview\" @click=\"handlePreview(file)\">\r\n <el-icon><View /></el-icon>\r\n </span>\r\n <span v-if=\"showDelete\" class=\"el-upload-list__item-delete\" @click=\"handleRemove(file)\">\r\n <el-icon><Delete /></el-icon>\r\n </span>\r\n </div>\r\n </slot>\r\n </template>\r\n </el-upload>\r\n </el-checkbox-group>\r\n\r\n <GmPreviewFile\r\n v-model:dialogVisible=\"dialogVisible\"\r\n v-model:file-index=\"fileIndex\"\r\n :file-list=\"fileList\"\r\n :controls=\"controls\"\r\n :oncontextmenu=\"oncontextmenu\"\r\n :controlslist=\"controlslist\"\r\n :field=\"field\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { ElMessageBox } from 'element-plus';\r\nimport { useAliossHookStore } from '@giime/utils/src/alioss/aliossPutHook';\r\nimport { Delete, UploadFilled, View } from '@element-plus/icons-vue';\r\nimport GmFileComponent from '../fileComponent';\r\nimport GmPreviewFile from '../previewFile';\r\nimport { uploadFileProps } from './uploadFile';\r\nimport type { UploadFile, UploadFiles, UploadInstance, UploadRawFile, UploadRequestOptions, UploadStatus } from 'element-plus';\r\nimport type { PostSaveFileResponse } from '@giime/utils/src/alioss/aliossPutHook';\r\n\r\ndefineOptions({\r\n name: 'GmUploadFile',\r\n});\r\n\r\nconst props = defineProps(uploadFileProps);\r\nconst emit = defineEmits([\"handleRemove\", \"handleSaveFileSuccess\"]);\r\n\r\nconst { uploadFile, saveFileResult } = useAliossHookStore();\r\n\r\nsaveFileResult((res: any) => {\r\n const { url, md5_code, file_size } = res;\r\n emit('handleSaveFileSuccess', { url, md5_code, file_size });\r\n});\r\n\r\n/** 上传文件 */\r\nconst fileList = defineModel<UploadFiles>('fileList', { default: () => [] });\r\n/** 多选数据 */\r\nconst checkoutFiles = defineModel<any[]>('checkoutFiles', { default: () => [] });\r\n\r\n/* 上传 */\r\nconst httpRequest = async (params: UploadRequestOptions) => {\r\n const { file } = params;\r\n const res = await uploadFile({\r\n file,\r\n fileName: props.fileName,\r\n folder: props.folder,\r\n seat: props.seat,\r\n partSize: props.partSize,\r\n parallel: props.parallel,\r\n options: props.options,\r\n bucket: props.bucket,\r\n saveStore: props.saveStore,\r\n });\r\n return res;\r\n};\r\n\r\n/* 删除文件前 */\r\nconst beforeRemove = (file: UploadFile, files: UploadFiles) => {\r\n if (props.disabled) {\r\n return false;\r\n }\r\n return props.beforeRemove ? props.beforeRemove(file, files) : true;\r\n};\r\n\r\n/* 删除文件 */\r\nconst handleRemove = (file: UploadFile) => {\r\n ElMessageBox.confirm('确定删除该文件吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n const index = fileList.value.indexOf(file);\r\n fileList.value = fileList.value.filter((v, i) => v.url !== file.url || (v.url === file.url && i !== index));\r\n emit('handleRemove', { file, index });\r\n return props.onRemove(file, fileList.value);\r\n })\r\n .catch(() => {});\r\n};\r\n\r\nconst uploadFileRef = ref<UploadInstance>();\r\n/* 手动上传 */\r\nconst submit = () => {\r\n uploadFileRef.value!.submit();\r\n};\r\n\r\n/** 取消上传 */\r\nconst abort = (file: UploadFile) => {\r\n uploadFileRef.value!.abort(file);\r\n};\r\n\r\n/** 清空已上传的文件列表 */\r\nconst clearFiles = (status?: UploadStatus[]) => {\r\n uploadFileRef.value!.clearFiles(status);\r\n};\r\n\r\n/** 手动选择文件 */\r\nconst handleStart = (rawFile: UploadRawFile) => {\r\n uploadFileRef.value!.handleStart(rawFile);\r\n};\r\n\r\n/** 预览 */\r\nconst dialogVisible = ref(false);\r\nconst fileIndex = ref(0);\r\nconst handlePreview = (file: UploadFile) => {\r\n fileIndex.value = fileList.value.indexOf(file);\r\n dialogVisible.value = true;\r\n};\r\n\r\ndefineExpose({\r\n submit,\r\n abort,\r\n clearFiles,\r\n handleStart,\r\n uploadFileRef,\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.gm-upload-preview-dialog {\r\n :deep(.el-dialog__body) {\r\n padding: 0;\r\n }\r\n}\r\n.gm-upload-file-picture-card {\r\n :deep(.el-upload-list__item),\r\n :deep(.el-upload--picture-card) {\r\n width: 120px;\r\n height: 120px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n}\r\n</style>\r\n<style lang=\"scss\">\r\n.gm-upload-file {\r\n line-height: normal;\r\n .el-checkbox {\r\n position: absolute;\r\n left: 10px;\r\n top: 0;\r\n z-index: 9;\r\n }\r\n .el-upload-list__item-file-name {\r\n line-height: normal;\r\n }\r\n .el-upload-dragger {\r\n padding: 0;\r\n border: none;\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n }\r\n}\r\n.gm-upload-file-disabled {\r\n .el-upload--picture-card {\r\n display: none;\r\n }\r\n .el-upload-list__item-status-label {\r\n display: none;\r\n }\r\n}\r\n</style>\r\n"],"names":["_useModel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UploadFile.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/uploadFile/UploadFile.vue"],"sourcesContent":["<template>\r\n <div :class=\"{ 'gm-upload-file-picture-card': listType === 'picture-card', 'gm-upload-file-disabled': disabled }\" class=\"gm-upload-file\">\r\n <el-checkbox-group v-model=\"checkoutFiles\">\r\n <el-upload ref=\"uploadFileRef\" v-bind=\"props\" v-model:file-list=\"fileList\" :before-remove=\"beforeRemove\" action=\"\" :http-request=\"httpRequest\">\r\n <slot v-if=\"!disabled\">\r\n <template v-if=\"listType === 'picture-card'\">\r\n <div\r\n class=\"gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-p-1\"\r\n style=\"flex-direction: column\"\r\n :style=\"{ width: width + 'px', height: height + 'px' }\"\r\n >\r\n <el-icon :size=\"30\" color=\"#999\">\r\n <UploadFilled />\r\n </el-icon>\r\n <div class=\"el-upload__text gm-text-center !gm-text-xs gm-text-gray-500\">\r\n 将文件拖到此处,或 <em class=\"gm-text-blue-700\">点击上传</em>\r\n </div>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <el-button type=\"primary\" size=\"default\">点击上传</el-button>\r\n </template>\r\n </slot>\r\n <template v-if=\"showFileList && listType === 'picture-card'\" #file=\"{ file }\">\r\n <el-checkbox v-if=\"checkbox\" :value=\"file\" />\r\n <slot name=\"file\" :file=\"file\">\r\n <div class=\"gm-flex gm-items-center gm-justify-center gm-rounded-md\" :style=\"{ width: width + 'px', height: height + 'px' }\">\r\n <GmFileComponent :file=\"file\" :size=\"width - 40\" :url=\"url\" :controls=\"false\" />\r\n </div>\r\n <div class=\"el-upload-list__item-actions\">\r\n <span class=\"el-upload-list__item-preview\" @click=\"handlePreview(file)\">\r\n <el-icon><View /></el-icon>\r\n </span>\r\n <span v-if=\"showDelete\" class=\"el-upload-list__item-delete\" @click=\"handleRemove(file, fileList)\">\r\n <el-icon><Delete /></el-icon>\r\n </span>\r\n </div>\r\n </slot>\r\n </template>\r\n </el-upload>\r\n </el-checkbox-group>\r\n\r\n <GmPreviewFile\r\n v-model:dialogVisible=\"dialogVisible\"\r\n v-model:file-index=\"fileIndex\"\r\n :file-list=\"fileList\"\r\n :controls=\"controls\"\r\n :oncontextmenu=\"oncontextmenu\"\r\n :controlslist=\"controlslist\"\r\n :field=\"field\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { ElMessageBox } from 'element-plus';\r\nimport { useAliossHookStore } from '@giime/utils/src/alioss/aliossPutHook';\r\nimport { Delete, UploadFilled, View } from '@element-plus/icons-vue';\r\nimport GmFileComponent from '../fileComponent';\r\nimport GmPreviewFile from '../previewFile';\r\nimport { uploadFileProps } from './uploadFile';\r\nimport type { UploadFile, UploadFiles, UploadInstance, UploadRawFile, UploadRequestOptions, UploadStatus } from 'element-plus';\r\nimport type { PostSaveFileResponse } from '@giime/utils/src/alioss/aliossPutHook';\r\n\r\ndefineOptions({\r\n name: 'GmUploadFile',\r\n});\r\n\r\nconst props = defineProps(uploadFileProps);\r\nconst emit = defineEmits([\"handleRemove\", \"handleSaveFileSuccess\"]);\r\n\r\nconst { uploadFile, saveFileResult } = useAliossHookStore();\r\n\r\nsaveFileResult((res: any) => {\r\n const { url, md5_code, file_size } = res;\r\n emit('handleSaveFileSuccess', { url, md5_code, file_size });\r\n});\r\n\r\n/** 上传文件 */\r\nconst fileList = defineModel<UploadFile[]>('fileList', { required: true, default: () => [] });\r\n/** 多选数据 */\r\nconst checkoutFiles = defineModel<any[]>('checkoutFiles', { default: () => [] });\r\n\r\n/* 上传 */\r\nconst httpRequest = async (params: UploadRequestOptions) => {\r\n const { file } = params;\r\n\r\n // 验证文件类型\r\n if (props.accept && props.accept !== '*') {\r\n const acceptTypes = props.accept.split(',').map(type => type.trim());\r\n const fileType = file.type || '';\r\n const fileExtension = file.name.slice(Math.max(0, file.name.lastIndexOf('.')));\r\n\r\n const isValidType = acceptTypes.some(type => {\r\n if (type.startsWith('.')) {\r\n // 检查文件扩展名\r\n return fileExtension.toLowerCase() === type.toLowerCase();\r\n } else if (type.includes('/*')) {\r\n // 检查 MIME 类型组,如 image/*\r\n const [mainType] = type.split('/');\r\n return fileType.startsWith(`${mainType}/`);\r\n } else {\r\n // 检查具体 MIME 类型\r\n return fileType === type;\r\n }\r\n });\r\n\r\n if (!isValidType) {\r\n throw new Error(`文件类型不支持,请上传 ${props.accept} 格式的文件`);\r\n }\r\n }\r\n\r\n const res = await uploadFile({\r\n file,\r\n fileName: props.fileName,\r\n folder: props.folder,\r\n seat: props.seat,\r\n partSize: props.partSize,\r\n parallel: props.parallel,\r\n options: props.options,\r\n bucket: props.bucket,\r\n saveStore: props.saveStore,\r\n });\r\n return res;\r\n};\r\n\r\n/* 删除文件前 */\r\nconst beforeRemove = (file: UploadFile, files: UploadFiles) => {\r\n if (props.disabled) {\r\n return false;\r\n }\r\n return props.beforeRemove ? props.beforeRemove(file, files) : true;\r\n};\r\n\r\n/* 删除文件 */\r\nconst handleRemove = (file: UploadFile, uploadFiles: UploadFiles) => {\r\n ElMessageBox.confirm('确定删除该文件吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n const index = fileList.value.indexOf(file);\r\n if (index > -1) {\r\n fileList.value.splice(index, 1);\r\n emit('handleRemove', { file, index });\r\n return props.onRemove?.(file, uploadFiles);\r\n }\r\n })\r\n .catch(() => {});\r\n};\r\n\r\nconst uploadFileRef = ref<UploadInstance>();\r\n/* 手动上传 */\r\nconst submit = () => {\r\n uploadFileRef.value!.submit();\r\n};\r\n\r\n/** 取消上传 */\r\nconst abort = (file: UploadFile) => {\r\n uploadFileRef.value!.abort(file);\r\n};\r\n\r\n/** 清空已上传的文件列表 */\r\nconst clearFiles = (status?: UploadStatus[]) => {\r\n uploadFileRef.value!.clearFiles(status);\r\n};\r\n\r\n/** 手动选择文件 */\r\nconst handleStart = (rawFile: UploadRawFile) => {\r\n uploadFileRef.value!.handleStart(rawFile);\r\n};\r\n\r\n/** 预览 */\r\nconst dialogVisible = ref(false);\r\nconst fileIndex = ref(0);\r\nconst handlePreview = (file: UploadFile) => {\r\n fileIndex.value = fileList.value.indexOf(file);\r\n dialogVisible.value = true;\r\n};\r\n\r\ndefineExpose({\r\n submit,\r\n abort,\r\n clearFiles,\r\n handleStart,\r\n uploadFileRef,\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.gm-upload-preview-dialog {\r\n :deep(.el-dialog__body) {\r\n padding: 0;\r\n }\r\n}\r\n.gm-upload-file-picture-card {\r\n :deep(.el-upload-list__item),\r\n :deep(.el-upload--picture-card) {\r\n width: 120px;\r\n height: 120px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n}\r\n</style>\r\n<style lang=\"scss\">\r\n.gm-upload-file {\r\n line-height: normal;\r\n .el-checkbox {\r\n position: absolute;\r\n left: 10px;\r\n top: 0;\r\n z-index: 9;\r\n }\r\n .el-upload-list__item-file-name {\r\n line-height: normal;\r\n }\r\n .el-upload-dragger {\r\n padding: 0;\r\n border: none;\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n }\r\n}\r\n.gm-upload-file-disabled {\r\n .el-upload--picture-card {\r\n display: none;\r\n }\r\n .el-upload-list__item-status-label {\r\n display: none;\r\n }\r\n}\r\n</style>\r\n"],"names":["_useModel"],"mappings":"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"}
|