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.
Files changed (78) hide show
  1. package/dist/index.css +35 -35
  2. package/es/api/materialApi/cross/getAliOssConfigs.d.ts +14 -0
  3. package/es/api/materialApi/cross/getAliOssConfigs.mjs +8 -0
  4. package/es/api/materialApi/cross/getAliOssConfigs.mjs.map +1 -0
  5. package/es/api/materialApi/cross/index.d.ts +1 -1
  6. package/es/api/materialApi/cross/index.mjs +1 -1
  7. package/es/api/materialApi/index.mjs +1 -1
  8. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +52 -52
  9. package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs.map +1 -1
  10. package/es/components/src/business/uploadMaterial/index.d.ts +4 -4
  11. package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +10 -4
  12. package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +1 -1
  13. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +27 -7
  14. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -1
  15. package/es/components/src/composite/uploadFile/index.d.ts +22 -10
  16. package/es/components/src/composite/uploadFile/uploadFile.d.ts +30 -28
  17. package/es/components/src/composite/uploadFile/uploadFile.mjs.map +1 -1
  18. package/es/giime/index.mjs +1 -1
  19. package/es/giime/version.d.ts +1 -1
  20. package/es/giime/version.mjs +1 -1
  21. package/es/giime/version.mjs.map +1 -1
  22. package/es/hooks/index.mjs +1 -1
  23. package/es/hooks/store/index.d.ts +1 -1
  24. package/es/hooks/store/index.mjs +1 -1
  25. package/es/hooks/store/useAliOssConfigs/index.d.ts +20 -0
  26. package/es/hooks/store/useAliOssConfigs/index.mjs +31 -0
  27. package/es/hooks/store/useAliOssConfigs/index.mjs.map +1 -0
  28. package/es/index.css +35 -35
  29. package/es/utils/src/alioss/aliossPutHook.mjs +5 -2
  30. package/es/utils/src/alioss/aliossPutHook.mjs.map +1 -1
  31. package/es/utils/src/alioss/aliossToken.d.ts +6 -6
  32. package/es/utils/src/alioss/aliossToken.mjs +1 -1
  33. package/es/utils/src/alioss/aliossToken.mjs.map +1 -1
  34. package/lib/api/materialApi/cross/getAliOssConfigs.d.ts +14 -0
  35. package/lib/api/materialApi/cross/getAliOssConfigs.js +10 -0
  36. package/lib/api/materialApi/cross/getAliOssConfigs.js.map +1 -0
  37. package/lib/api/materialApi/cross/index.d.ts +1 -1
  38. package/lib/api/materialApi/cross/index.js +2 -2
  39. package/lib/api/materialApi/index.js +2 -2
  40. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +52 -52
  41. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js.map +1 -1
  42. package/lib/components/src/business/uploadMaterial/index.d.ts +4 -4
  43. package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +10 -4
  44. package/lib/components/src/composite/uploadFile/UploadFile.vue.js +1 -1
  45. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +27 -7
  46. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -1
  47. package/lib/components/src/composite/uploadFile/index.d.ts +22 -10
  48. package/lib/components/src/composite/uploadFile/uploadFile.d.ts +30 -28
  49. package/lib/components/src/composite/uploadFile/uploadFile.js.map +1 -1
  50. package/lib/giime/index.js +2 -2
  51. package/lib/giime/version.d.ts +1 -1
  52. package/lib/giime/version.js +1 -1
  53. package/lib/giime/version.js.map +1 -1
  54. package/lib/hooks/index.js +2 -2
  55. package/lib/hooks/store/index.d.ts +1 -1
  56. package/lib/hooks/store/index.js +2 -2
  57. package/lib/hooks/store/useAliOssConfigs/index.d.ts +20 -0
  58. package/lib/hooks/store/useAliOssConfigs/index.js +33 -0
  59. package/lib/hooks/store/useAliOssConfigs/index.js.map +1 -0
  60. package/lib/index.css +35 -35
  61. package/lib/utils/src/alioss/aliossPutHook.js +5 -2
  62. package/lib/utils/src/alioss/aliossPutHook.js.map +1 -1
  63. package/lib/utils/src/alioss/aliossToken.d.ts +6 -6
  64. package/lib/utils/src/alioss/aliossToken.js +1 -1
  65. package/lib/utils/src/alioss/aliossToken.js.map +1 -1
  66. package/package.json +1 -1
  67. package/es/api/materialApi/cross/getAliOssConfigIds.d.ts +0 -14
  68. package/es/api/materialApi/cross/getAliOssConfigIds.mjs +0 -8
  69. package/es/api/materialApi/cross/getAliOssConfigIds.mjs.map +0 -1
  70. package/es/hooks/store/useAliOssConfigIds/index.d.ts +0 -20
  71. package/es/hooks/store/useAliOssConfigIds/index.mjs +0 -31
  72. package/es/hooks/store/useAliOssConfigIds/index.mjs.map +0 -1
  73. package/lib/api/materialApi/cross/getAliOssConfigIds.d.ts +0 -14
  74. package/lib/api/materialApi/cross/getAliOssConfigIds.js +0 -10
  75. package/lib/api/materialApi/cross/getAliOssConfigIds.js.map +0 -1
  76. package/lib/hooks/store/useAliOssConfigIds/index.d.ts +0 -20
  77. package/lib/hooks/store/useAliOssConfigIds/index.js +0 -33
  78. 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-upload-preview-dialog[data-v-e28fc09f] [data-v-e28fc09f] .el-dialog__body {
810
- padding: 0;
809
+ .gm-flex-center[data-v-2a79bac9] {
810
+ align-items: center;
811
811
  }
812
812
 
813
- .gm-upload-file-picture-card[data-v-e28fc09f] [data-v-e28fc09f] .el-upload-list__item, .gm-upload-file-picture-card[data-v-e28fc09f] [data-v-e28fc09f] .el-upload--picture-card {
814
- width: 120px;
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
- .gm-flex-center[data-v-2a79bac9] {
852
- align-items: center;
847
+ [data-v-668dc408] .gmTableNoBorder .el-table__body .el-table__cell {
848
+ border-right: none;
853
849
  }
854
850
 
855
- .gm-flex-justify-between[data-v-2a79bac9] {
856
- justify-content: space-between;
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,8 @@
1
+ import service from '../request.mjs';
2
+
3
+ function getAliOssConfigs(config) {
4
+ return service.get(`/material/cross/aliOssConfigs`, config);
5
+ }
6
+
7
+ export { getAliOssConfigs };
8
+ //# sourceMappingURL=getAliOssConfigs.mjs.map
@@ -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,4 +1,4 @@
1
1
  export * from './getOssAccessToken';
2
2
  export * from './getAdFileExist';
3
3
  export * from './postSaveFileResources';
4
- export * from './getAliOssConfigIds';
4
+ export * from './getAliOssConfigs';
@@ -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 { getAliOssConfigIds } from './getAliOssConfigIds.mjs';
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 { getAliOssConfigIds } from './cross/getAliOssConfigIds.mjs';
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<UploadFile[]>;
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: import("element-plus").UploadFiles) => import("element-plus/es/utils").Awaitable<boolean>>;
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: import("element-plus").UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
121
- (): (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
125
- (): (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
130
- (): (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
134
- (): (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
148
- (): (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
152
- (): (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
157
- (): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
161
- (): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
166
- (): (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
170
- (): (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: UploadFile[]) => void;
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<UploadFile[]>;
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: import("element-plus").UploadFiles) => import("element-plus/es/utils").Awaitable<boolean>>;
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: import("element-plus").UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
345
- (): (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
349
- (): (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
354
- (): (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
358
- (): (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
372
- (): (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
376
- (): (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
381
- (): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
385
- (): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
390
- (): (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
394
- (): (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: UploadFile[]) => any) | undefined;
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: import("element-plus").UploadFiles) => void;
459
- onChange: (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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: import("element-plus").UploadFiles) => void;
463
+ onRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
464
464
  onPreview: (uploadFile: UploadFile) => void;
465
- onSuccess: (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
466
- onProgress: (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
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<UploadFile[]>('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,kBAA0B,UAAiC,CAAA,CAAA;AAE5E,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
+ {"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").UploadFile[]>;
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").UploadFile[]) => void;
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").UploadFile[]>;
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").UploadFile[]) => any) | undefined;
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: import("vue").PropType<UploadFiles>;
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: UploadFiles) => void;
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: import("vue").PropType<UploadFiles>;
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: UploadFiles) => any) | undefined;
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-e28fc09f"]]);
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-e28fc09f"), n = n(), popScopeId(), n);
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
- fileList.value = fileList.value.filter((v, i) => v.url !== file.url || v.url === file.url && i !== index);
74
- emit("handleRemove", { file, index });
75
- return props.onRemove(file, fileList.value);
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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"}