giime 0.7.3 → 0.7.4

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 (56) hide show
  1. package/dist/index.css +539 -539
  2. package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +99 -45
  3. package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +1 -1
  4. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +33 -29
  5. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -1
  6. package/es/components/src/composite/uploadFile/index.d.ts +203 -90
  7. package/es/components/src/composite/uploadFile/uploadFile.d.ts +48 -25
  8. package/es/components/src/composite/uploadFile/uploadFile.mjs +3 -0
  9. package/es/components/src/composite/uploadFile/uploadFile.mjs.map +1 -1
  10. package/es/giime/version.d.ts +1 -1
  11. package/es/giime/version.mjs +1 -1
  12. package/es/giime/version.mjs.map +1 -1
  13. package/es/hooks/store/useUploadTask/index.d.ts +28 -0
  14. package/es/hooks/store/useUploadTask/index.mjs +32 -0
  15. package/es/hooks/store/useUploadTask/index.mjs.map +1 -0
  16. package/es/index.css +539 -539
  17. package/es/utils/src/alioss/aliossPutHook.d.ts +1 -1
  18. package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +99 -45
  19. package/lib/components/src/composite/uploadFile/UploadFile.vue.js +1 -1
  20. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +41 -37
  21. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -1
  22. package/lib/components/src/composite/uploadFile/index.d.ts +203 -90
  23. package/lib/components/src/composite/uploadFile/uploadFile.d.ts +48 -25
  24. package/lib/components/src/composite/uploadFile/uploadFile.js +3 -0
  25. package/lib/components/src/composite/uploadFile/uploadFile.js.map +1 -1
  26. package/lib/giime/version.d.ts +1 -1
  27. package/lib/giime/version.js +1 -1
  28. package/lib/giime/version.js.map +1 -1
  29. package/lib/hooks/store/useUploadTask/index.d.ts +28 -0
  30. package/lib/hooks/store/useUploadTask/index.js +34 -0
  31. package/lib/hooks/store/useUploadTask/index.js.map +1 -0
  32. package/lib/index.css +539 -539
  33. package/lib/utils/src/alioss/aliossPutHook.d.ts +1 -1
  34. package/package.json +1 -1
  35. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +0 -521
  36. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.mjs +0 -6
  37. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.mjs.map +0 -1
  38. package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs +0 -71
  39. package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs.map +0 -1
  40. package/es/components/src/business/uploadMaterial/index.d.ts +0 -1110
  41. package/es/components/src/business/uploadMaterial/index.mjs +0 -10
  42. package/es/components/src/business/uploadMaterial/index.mjs.map +0 -1
  43. package/es/components/src/business/uploadMaterial/uploadMaterial.d.ts +0 -230
  44. package/es/components/src/business/uploadMaterial/uploadMaterial.mjs +0 -23
  45. package/es/components/src/business/uploadMaterial/uploadMaterial.mjs.map +0 -1
  46. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +0 -521
  47. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.js +0 -10
  48. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.js.map +0 -1
  49. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js +0 -75
  50. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js.map +0 -1
  51. package/lib/components/src/business/uploadMaterial/index.d.ts +0 -1110
  52. package/lib/components/src/business/uploadMaterial/index.js +0 -16
  53. package/lib/components/src/business/uploadMaterial/index.js.map +0 -1
  54. package/lib/components/src/business/uploadMaterial/uploadMaterial.d.ts +0 -230
  55. package/lib/components/src/business/uploadMaterial/uploadMaterial.js +0 -25
  56. package/lib/components/src/business/uploadMaterial/uploadMaterial.js.map +0 -1
@@ -152,5 +152,5 @@ export declare const useAliossHookStore: import("pinia").StoreDefinition<"alioss
152
152
  cancelUpload: (uid: number) => boolean;
153
153
  cancelAllUploads: () => void;
154
154
  checkFileExists: (params: FileExistParams) => Promise<AliOssResponse | false>;
155
- }, "aliossResult" | "aliossError" | "aliossProgress" | "saveFileResult" | "saveFileError" | "uploadFile" | "saveFileToStore" | "cancelUpload" | "cancelAllUploads" | "checkFileExists">>;
155
+ }, "uploadFile" | "cancelUpload" | "cancelAllUploads" | "aliossResult" | "aliossError" | "aliossProgress" | "saveFileResult" | "saveFileError" | "saveFileToStore" | "checkFileExists">>;
156
156
  export {};
@@ -1,5 +1,4 @@
1
1
  import type { UploadFile, UploadFiles, UploadRawFile, UploadStatus } from 'element-plus';
2
- import type { AliOssResponse } from '../../../../utils/src/alioss/aliossPutHook';
3
2
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
4
3
  fileList: {
5
4
  required: true;
@@ -86,37 +85,31 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
86
85
  type: NumberConstructor;
87
86
  default: number;
88
87
  };
89
- file: {
90
- type: import("vue").PropType<Partial<UploadFile>>;
91
- default: () => {};
92
- };
93
- url: {
88
+ domainCode: {
94
89
  type: StringConstructor;
95
- default: string;
96
90
  };
97
- size: {
98
- type: NumberConstructor;
99
- default: number;
91
+ sceneCode: {
92
+ type: StringConstructor;
100
93
  };
101
- field: {
102
- type: import("vue").PropType<keyof UploadFile>;
94
+ acl: {
95
+ type: StringConstructor;
103
96
  default: string;
104
97
  };
105
- controls: {
98
+ showLoading: {
106
99
  type: BooleanConstructor;
107
100
  default: boolean;
108
101
  };
109
- controlslist: {
110
- type: StringConstructor;
111
- default: string;
102
+ disabledDeleteUids: {
103
+ type: import("vue").PropType<number[]>;
104
+ default: () => never[];
112
105
  };
113
- oncontextmenu: {
114
- type: BooleanConstructor;
115
- default: boolean;
106
+ disabledCheckboxUids: {
107
+ type: import("vue").PropType<number[]>;
108
+ default: () => never[];
116
109
  };
117
- showIcon: {
118
- type: BooleanConstructor;
119
- default: boolean;
110
+ onAllComplete: {
111
+ type: import("vue").PropType<() => void>;
112
+ default: () => void;
120
113
  };
121
114
  beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | {
122
115
  (): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>;
@@ -225,6 +218,38 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
225
218
  })[], unknown, unknown, import("element-plus").UploadRequestHandler, boolean>;
226
219
  disabled: BooleanConstructor;
227
220
  limit: NumberConstructor;
221
+ file: {
222
+ type: import("vue").PropType<Partial<UploadFile>>;
223
+ default: () => {};
224
+ };
225
+ url: {
226
+ type: StringConstructor;
227
+ default: string;
228
+ };
229
+ size: {
230
+ type: NumberConstructor;
231
+ default: number;
232
+ };
233
+ field: {
234
+ type: import("vue").PropType<keyof UploadFile>;
235
+ default: string;
236
+ };
237
+ controls: {
238
+ type: BooleanConstructor;
239
+ default: boolean;
240
+ };
241
+ controlslist: {
242
+ type: StringConstructor;
243
+ default: string;
244
+ };
245
+ oncontextmenu: {
246
+ type: BooleanConstructor;
247
+ default: boolean;
248
+ };
249
+ showIcon: {
250
+ type: BooleanConstructor;
251
+ default: boolean;
252
+ };
228
253
  }, {
229
254
  submit: () => void;
230
255
  abort: (file: UploadFile) => void;
@@ -712,7 +737,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
712
737
  file: UploadFile;
713
738
  index: number;
714
739
  }) => void;
715
- handleSaveFileSuccess: (file: AliOssResponse) => void;
716
740
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
717
741
  fileList: {
718
742
  required: true;
@@ -799,37 +823,31 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
799
823
  type: NumberConstructor;
800
824
  default: number;
801
825
  };
802
- file: {
803
- type: import("vue").PropType<Partial<UploadFile>>;
804
- default: () => {};
805
- };
806
- url: {
826
+ domainCode: {
807
827
  type: StringConstructor;
808
- default: string;
809
828
  };
810
- size: {
811
- type: NumberConstructor;
812
- default: number;
829
+ sceneCode: {
830
+ type: StringConstructor;
813
831
  };
814
- field: {
815
- type: import("vue").PropType<keyof UploadFile>;
832
+ acl: {
833
+ type: StringConstructor;
816
834
  default: string;
817
835
  };
818
- controls: {
836
+ showLoading: {
819
837
  type: BooleanConstructor;
820
838
  default: boolean;
821
839
  };
822
- controlslist: {
823
- type: StringConstructor;
824
- default: string;
840
+ disabledDeleteUids: {
841
+ type: import("vue").PropType<number[]>;
842
+ default: () => never[];
825
843
  };
826
- oncontextmenu: {
827
- type: BooleanConstructor;
828
- default: boolean;
844
+ disabledCheckboxUids: {
845
+ type: import("vue").PropType<number[]>;
846
+ default: () => never[];
829
847
  };
830
- showIcon: {
831
- type: BooleanConstructor;
832
- default: boolean;
848
+ onAllComplete: {
849
+ type: import("vue").PropType<() => void>;
850
+ default: () => void;
833
851
  };
834
852
  beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | {
835
853
  (): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>;
@@ -938,6 +956,38 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
938
956
  })[], unknown, unknown, import("element-plus").UploadRequestHandler, boolean>;
939
957
  disabled: BooleanConstructor;
940
958
  limit: NumberConstructor;
959
+ file: {
960
+ type: import("vue").PropType<Partial<UploadFile>>;
961
+ default: () => {};
962
+ };
963
+ url: {
964
+ type: StringConstructor;
965
+ default: string;
966
+ };
967
+ size: {
968
+ type: NumberConstructor;
969
+ default: number;
970
+ };
971
+ field: {
972
+ type: import("vue").PropType<keyof UploadFile>;
973
+ default: string;
974
+ };
975
+ controls: {
976
+ type: BooleanConstructor;
977
+ default: boolean;
978
+ };
979
+ controlslist: {
980
+ type: StringConstructor;
981
+ default: string;
982
+ };
983
+ oncontextmenu: {
984
+ type: BooleanConstructor;
985
+ default: boolean;
986
+ };
987
+ showIcon: {
988
+ type: BooleanConstructor;
989
+ default: boolean;
990
+ };
941
991
  }>> & {
942
992
  "onUpdate:fileList"?: ((fileList: UploadFile[]) => any) | undefined;
943
993
  onHandleRemove?: ((file: {
@@ -945,7 +995,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
945
995
  index: number;
946
996
  }) => any) | undefined;
947
997
  "onUpdate:checkoutFiles"?: ((checkoutFiles: any[]) => any) | undefined;
948
- onHandleSaveFileSuccess?: ((file: AliOssResponse) => any) | undefined;
949
998
  }, {
950
999
  size: number;
951
1000
  options: Record<string, any>;
@@ -977,8 +1026,13 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
977
1026
  autoUpload: boolean;
978
1027
  listType: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>;
979
1028
  httpRequest: import("element-plus").UploadRequestHandler;
1029
+ acl: string;
1030
+ showLoading: boolean;
980
1031
  showDelete: boolean;
1032
+ disabledDeleteUids: number[];
981
1033
  deleteTip: boolean;
1034
+ disabledCheckboxUids: number[];
1035
+ onAllComplete: () => void;
982
1036
  field: keyof UploadFile;
983
1037
  controlslist: string;
984
1038
  oncontextmenu: boolean;
@@ -7,7 +7,7 @@ require('./UploadFile.vue3.js');
7
7
  require('./UploadFile.vue4.js');
8
8
  var _pluginVue_exportHelper = require('../../../../_virtual/_plugin-vue_export-helper.js');
9
9
 
10
- var UploadFile = /* @__PURE__ */ _pluginVue_exportHelper.default(UploadFile_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-62eb3199"]]);
10
+ var UploadFile = /* @__PURE__ */ _pluginVue_exportHelper.default(UploadFile_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-2eb85f3b"]]);
11
11
 
12
12
  exports.default = UploadFile;
13
13
  //# sourceMappingURL=UploadFile.vue.js.map
@@ -4,16 +4,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var elementPlus = require('element-plus');
7
- var aliossPutHook = require('../../../../utils/src/alioss/aliossPutHook.js');
8
- var file = require('../../../../utils/src/file.js');
9
- var index$1 = require('../../../../hooks/base/usePasteFile/index.js');
10
- var index = require('../../plugins/confirmBox/index.js');
7
+ var index = require('../../../../hooks/store/useUploadTask/index.js');
8
+ var index$2 = require('../../../../hooks/base/usePasteFile/index.js');
9
+ var index$1 = require('../../plugins/confirmBox/index.js');
11
10
  var iconsVue = require('@element-plus/icons-vue');
12
- var index$2 = require('../fileComponent/index.js');
13
- var index$3 = require('../previewFile/index.js');
11
+ var index$3 = require('../fileComponent/index.js');
12
+ var index$4 = require('../previewFile/index.js');
14
13
  var uploadFile = require('./uploadFile.js');
15
14
 
16
- const _withScopeId = (n) => (vue.pushScopeId("data-v-62eb3199"), n = n(), vue.popScopeId(), n);
15
+ const _withScopeId = (n) => (vue.pushScopeId("data-v-2eb85f3b"), n = n(), vue.popScopeId(), n);
17
16
  const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
18
17
  "div",
19
18
  { class: "el-upload__text gm-text-center !gm-text-xs gm-text-gray-500" },
@@ -38,39 +37,42 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
38
37
  "checkoutFiles": { default: () => [] },
39
38
  "checkoutFilesModifiers": {}
40
39
  }),
41
- emits: /* @__PURE__ */ vue.mergeModels(["handleRemove", "handleSaveFileSuccess"], ["update:fileList", "update:checkoutFiles"]),
40
+ emits: /* @__PURE__ */ vue.mergeModels(["handleRemove"], ["update:fileList", "update:checkoutFiles"]),
42
41
  setup(__props, { expose: __expose, emit: __emit }) {
43
42
  const props = __props;
44
43
  const emit = __emit;
45
- const { uploadFile, saveFileResult } = aliossPutHook.useAliossHookStore();
46
- saveFileResult((res) => {
47
- emit("handleSaveFileSuccess", res);
48
- });
44
+ const { uploadFileTask } = index.useUploadTaskStore();
49
45
  const fileList = vue.useModel(__props, "fileList");
50
46
  const checkoutFiles = vue.useModel(__props, "checkoutFiles");
51
- const httpRequest = async (params) => {
52
- const { file: file$1 } = params;
53
- if (props.accept && props.accept !== "*") {
54
- const isValidType = file.fileValidType(file$1, props.accept);
55
- if (!isValidType) {
56
- throw new Error(`\u6587\u4EF6\u7C7B\u578B\u4E0D\u652F\u6301\uFF0C\u8BF7\u4E0A\u4F20 ${props.accept} \u683C\u5F0F\u7684\u6587\u4EF6`);
57
- }
58
- }
59
- const res = await uploadFile({
60
- file: file$1,
61
- fileName: props.fileName,
62
- folder: props.folder,
63
- seat: props.seat,
64
- partSize: props.partSize,
65
- parallel: props.parallel,
66
- options: props.options,
67
- bucket: props.bucket,
68
- saveStore: props.saveStore,
69
- platform: props.platform,
70
- cdn: props.cdn
47
+ const loadingUids = vue.ref(/* @__PURE__ */ new Set());
48
+ const httpRequest = async (options) => {
49
+ loadingUids.value.add(options.file.uid);
50
+ const { file } = options;
51
+ const res = await uploadFileTask(file, {
52
+ domainCode: props.domainCode,
53
+ sceneCode: props.sceneCode,
54
+ accept: props.accept,
55
+ acl: props.acl,
56
+ elOptions: options
71
57
  });
72
58
  return res;
73
59
  };
60
+ const checkAllUploadComplete = () => {
61
+ if (loadingUids.value.size === 0) {
62
+ props.onAllComplete?.();
63
+ }
64
+ };
65
+ const coverFileSuccess = (response, uploadFile, uploadFiles) => {
66
+ loadingUids.value.delete(uploadFile.uid);
67
+ uploadFile.url = response.url;
68
+ props.onSuccess?.(response, uploadFile, uploadFiles);
69
+ checkAllUploadComplete();
70
+ };
71
+ const coverFileError = (error, uploadFile, uploadFiles) => {
72
+ loadingUids.value.delete(uploadFile.uid);
73
+ props.onError?.(error, uploadFile, uploadFiles);
74
+ checkAllUploadComplete();
75
+ };
74
76
  const beforeRemove = (file, files) => {
75
77
  if (props.disabled) {
76
78
  return false;
@@ -87,7 +89,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
87
89
  };
88
90
  const handleRemove = async (file, uploadFiles) => {
89
91
  if (props.deleteTip) {
90
- await index.GmConfirmBox({ message: "\u786E\u5B9A\u5220\u9664\u8BE5\u6587\u4EF6\u5417\uFF1F" }, async () => {
92
+ await index$1.GmConfirmBox({ message: "\u786E\u5B9A\u5220\u9664\u8BE5\u6587\u4EF6\u5417\uFF1F" }, async () => {
91
93
  });
92
94
  }
93
95
  removeFile(file, uploadFiles);
@@ -112,7 +114,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
112
114
  fileIndex.value = fileList.value.indexOf(file);
113
115
  dialogVisible.value = true;
114
116
  };
115
- const { onSuccess, onError } = index$1.usePasteFile(pasteFileRef, { accept: props.accept, disabled: props.disabled });
117
+ const { onSuccess, onError } = index$2.usePasteFile(pasteFileRef, { accept: props.accept, disabled: props.disabled });
116
118
  onSuccess((files) => {
117
119
  if (Array.isArray(files) && files.length > 0) {
118
120
  files.forEach((file) => {
@@ -167,7 +169,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
167
169
  "onUpdate:fileList": _cache[0] || (_cache[0] = ($event) => fileList.value = $event),
168
170
  "before-remove": beforeRemove,
169
171
  action: "",
170
- "http-request": httpRequest
172
+ "http-request": httpRequest,
173
+ "on-success": coverFileSuccess,
174
+ "on-error": coverFileError
171
175
  }), vue.createSlots({
172
176
  default: vue.withCtx(() => [
173
177
  !_ctx.disabled ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }, () => [
@@ -224,7 +228,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
224
228
  style: vue.normalizeStyle({ width: _ctx.width + "px", height: _ctx.height + "px" })
225
229
  },
226
230
  [
227
- vue.createVNode(vue.unref(index$2.GmFileComponent), {
231
+ vue.createVNode(vue.unref(index$3.GmFileComponent), {
228
232
  file,
229
233
  size: _ctx.width - 40,
230
234
  url: _ctx.url,
@@ -272,7 +276,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
272
276
  _: 3
273
277
  /* FORWARDED */
274
278
  }, 8, ["modelValue"]),
275
- vue.createVNode(vue.unref(index$3.GmPreviewFile), {
279
+ vue.createVNode(vue.unref(index$4.GmPreviewFile), {
276
280
  dialogVisible: dialogVisible.value,
277
281
  "onUpdate:dialogVisible": _cache[2] || (_cache[2] = ($event) => dialogVisible.value = $event),
278
282
  "file-index": fileIndex.value,
@@ -1 +1 @@
1
- {"version":3,"file":"UploadFile.vue2.js","sources":["../../../../../../../packages/components/src/composite/uploadFile/UploadFile.vue"],"sourcesContent":["<template>\n <div>\n <div\n ref=\"pasteFileRef\"\n :class=\"{ 'gm-upload-file-picture-card': listType === 'picture-card', 'gm-upload-file-disabled': disabled }\"\n class=\"gm-upload-file\"\n >\n <el-checkbox-group v-model=\"checkoutFiles\">\n <el-upload\n ref=\"uploadFileRef\"\n v-bind=\"props\"\n v-model:file-list=\"fileList\"\n :before-remove=\"beforeRemove\"\n action=\"\"\n :http-request=\"httpRequest\"\n >\n <slot v-if=\"!disabled\">\n <template v-if=\"listType === 'picture-card'\">\n <div\n class=\"gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-border gm-border-dashed gm-p-1\"\n style=\"flex-direction: column\"\n :style=\"{ width: width + 'px', height: height + 'px' }\"\n >\n <el-icon :size=\"30\" color=\"#999\">\n <UploadFilled />\n </el-icon>\n <div class=\"el-upload__text gm-text-center !gm-text-xs gm-text-gray-500\">\n 将文件拖到此处,复制粘贴,或 <em class=\"gm-text-blue-700\">点击上传</em>\n </div>\n </div>\n </template>\n <template v-else>\n <el-button type=\"primary\" size=\"default\">点击上传</el-button>\n </template>\n </slot>\n <template v-if=\"showFileList && listType === 'picture-card'\" #file=\"{ file }\">\n <el-checkbox v-if=\"checkbox\" :value=\"file\" />\n <slot name=\"file\" :file=\"file\">\n <div class=\"gm-flex gm-items-center gm-justify-center gm-rounded-md\" :style=\"{ width: width + 'px', height: height + 'px' }\">\n <GmFileComponent :file=\"file\" :size=\"width - 40\" :url=\"url\" :controls=\"false\" :show-icon=\"true\" :field=\"field\" />\n </div>\n <div class=\"el-upload-list__item-actions\">\n <span class=\"el-upload-list__item-preview\" @click=\"handlePreview(file)\">\n <el-icon><View /></el-icon>\n </span>\n <span v-if=\"showDelete\" class=\"el-upload-list__item-delete\" @click=\"handleRemove(file, fileList)\">\n <el-icon><Delete /></el-icon>\n </span>\n </div>\n </slot>\n </template>\n </el-upload>\n </el-checkbox-group>\n\n <GmPreviewFile\n v-model:dialogVisible=\"dialogVisible\"\n v-model:file-index=\"fileIndex\"\n :file-list=\"fileList\"\n :controls=\"controls\"\n :oncontextmenu=\"oncontextmenu\"\n :controlslist=\"controlslist\"\n :field=\"field\"\n />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { ElMessageBox } from 'element-plus';\nimport { useAliossHookStore } from '@giime/utils/src/alioss/aliossPutHook';\nimport { fileValidType } from '@giime/utils/src/file';\n// import { pasteFile } from '@giime/utils/src/pasteFile';\nimport { usePasteFile } from '@giime/hooks/base/usePasteFile';\nimport { GmConfirmBox } from '@giime/components/src/plugins/confirmBox';\nimport { Delete, UploadFilled, View } from '@element-plus/icons-vue';\nimport GmFileComponent from '../fileComponent';\nimport GmPreviewFile from '../previewFile';\nimport { uploadFileProps } from './uploadFile';\nimport type { UploadFile, UploadFiles, UploadInstance, UploadRawFile, UploadRequestOptions, UploadStatus } from 'element-plus';\nimport type { AliOssResponse } from '@giime/utils/src/alioss/aliossPutHook';\n\ndefineOptions({\n name: 'GmUploadFile',\n});\n\nconst props = defineProps(uploadFileProps);\nconst emit = defineEmits([\"handleRemove\", \"handleSaveFileSuccess\"]);\n\nconst { uploadFile, saveFileResult } = useAliossHookStore();\n\nsaveFileResult((res: AliOssResponse) => {\n emit('handleSaveFileSuccess', res);\n});\n\n/** 上传文件 */\nconst fileList = defineModel<UploadFile[]>('fileList', { required: true, default: () => [] });\n/** 多选数据 */\nconst checkoutFiles = defineModel<any[]>('checkoutFiles', { default: () => [] });\n\n/* 上传 */\nconst httpRequest = async (params: UploadRequestOptions) => {\n const { file } = params;\n\n // 验证文件类型\n if (props.accept && props.accept !== '*') {\n const isValidType = fileValidType(file, props.accept);\n if (!isValidType) {\n throw new Error(`文件类型不支持,请上传 ${props.accept} 格式的文件`);\n }\n }\n\n const res = await uploadFile({\n file,\n fileName: props.fileName,\n folder: props.folder,\n seat: props.seat,\n partSize: props.partSize,\n parallel: props.parallel,\n options: props.options,\n bucket: props.bucket,\n saveStore: props.saveStore,\n platform: props.platform,\n cdn: props.cdn,\n });\n return res;\n};\n\n/* 删除文件前 */\nconst beforeRemove = (file: UploadFile, files: UploadFiles) => {\n if (props.disabled) {\n return false;\n }\n return props.beforeRemove ? props.beforeRemove(file, files) : true;\n};\n\n/* 删除文件 */\nconst removeFile = (file: UploadFile, uploadFiles: UploadFiles) => {\n const index = fileList.value.indexOf(file);\n if (index > -1) {\n fileList.value.splice(index, 1);\n emit('handleRemove', { file, index });\n return props.onRemove?.(file, uploadFiles);\n }\n};\nconst handleRemove = async (file: UploadFile, uploadFiles: UploadFiles) => {\n if (props.deleteTip) {\n await GmConfirmBox({ message: '确定删除该文件吗?' }, async () => {});\n }\n\n removeFile(file, uploadFiles);\n};\n\nconst uploadFileRef = ref<UploadInstance>();\nconst pasteFileRef = ref<HTMLElement>();\n/* 手动上传 */\nconst submit = () => {\n uploadFileRef.value!.submit();\n};\n\n/** 取消上传 */\nconst abort = (file: UploadFile) => {\n uploadFileRef.value!.abort(file);\n};\n\n/** 清空已上传的文件列表 */\nconst clearFiles = (status?: UploadStatus[]) => {\n uploadFileRef.value!.clearFiles(status);\n};\n\n/** 手动选择文件 */\nconst handleStart = (rawFile: UploadRawFile) => {\n uploadFileRef.value!.handleStart(rawFile);\n};\n\n/** 预览 */\nconst dialogVisible = ref(false);\nconst fileIndex = ref(0);\nconst handlePreview = (file: UploadFile) => {\n fileIndex.value = fileList.value.indexOf(file);\n dialogVisible.value = true;\n};\n\n//** 复制粘贴 */\nconst { onSuccess, onError } = usePasteFile(pasteFileRef, { accept: props.accept, disabled: props.disabled });\nonSuccess((files: File[]) => {\n if (Array.isArray(files) && files.length > 0) {\n files.forEach(file => {\n if (file instanceof File) {\n const rawFile = file as UploadRawFile;\n handleStart(rawFile);\n\n // 粘贴成功自动上传\n if (props.autoUpload) {\n submit();\n }\n }\n });\n }\n});\n\nonError((error: Error) => {\n console.error('粘贴错误:', error);\n ElMessageBox.alert(error.message, '提示', {\n type: 'error',\n });\n});\n\ndefineExpose({\n submit,\n abort,\n clearFiles,\n handleStart,\n uploadFileRef,\n});\n</script>\n\n<style scoped lang=\"scss\">\n.gm-upload-preview-dialog {\n :deep(.el-dialog__body) {\n padding: 0;\n }\n}\n.gm-upload-file-picture-card {\n :deep(.el-upload-list__item),\n :deep(.el-upload--picture-card) {\n width: auto;\n height: auto;\n }\n}\n</style>\n<style lang=\"scss\">\n.gm-upload-file {\n line-height: normal;\n .el-checkbox {\n position: absolute;\n left: 10px;\n top: 0;\n z-index: 9;\n }\n .el-upload-list--picture-card {\n gap: 10px;\n }\n .el-upload-list__item {\n margin: 0;\n }\n .el-upload-list__item-file-name {\n line-height: normal;\n }\n .el-upload-dragger {\n padding: 0;\n border: none;\n width: 100%;\n height: 100%;\n display: flex;\n }\n .el-upload--picture-card {\n border: none;\n }\n}\n.gm-upload-file-disabled {\n .el-upload--picture-card {\n display: none;\n }\n .el-upload-list__item-status-label {\n display: none;\n }\n}\n</style>\n"],"names":["useAliossHookStore","_useModel","file","fileValidType","GmConfirmBox","ref","usePasteFile","ElMessageBox"],"mappings":"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"}
1
+ {"version":3,"file":"UploadFile.vue2.js","sources":["../../../../../../../packages/components/src/composite/uploadFile/UploadFile.vue"],"sourcesContent":["<template>\n <div>\n <div\n ref=\"pasteFileRef\"\n :class=\"{ 'gm-upload-file-picture-card': listType === 'picture-card', 'gm-upload-file-disabled': disabled }\"\n class=\"gm-upload-file\"\n >\n <el-checkbox-group v-model=\"checkoutFiles\">\n <el-upload\n ref=\"uploadFileRef\"\n v-bind=\"props\"\n v-model:file-list=\"fileList\"\n :before-remove=\"beforeRemove\"\n action=\"\"\n :http-request=\"httpRequest\"\n :on-success=\"coverFileSuccess\"\n :on-error=\"coverFileError\"\n >\n <slot v-if=\"!disabled\">\n <template v-if=\"listType === 'picture-card'\">\n <div\n class=\"gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-border gm-border-dashed gm-p-1\"\n style=\"flex-direction: column\"\n :style=\"{ width: width + 'px', height: height + 'px' }\"\n >\n <el-icon :size=\"30\" color=\"#999\">\n <UploadFilled />\n </el-icon>\n <div class=\"el-upload__text gm-text-center !gm-text-xs gm-text-gray-500\">\n 将文件拖到此处,复制粘贴,或 <em class=\"gm-text-blue-700\">点击上传</em>\n </div>\n </div>\n </template>\n <template v-else>\n <el-button type=\"primary\" size=\"default\">点击上传</el-button>\n </template>\n </slot>\n <template v-if=\"showFileList && listType === 'picture-card'\" #file=\"{ file }\">\n <el-checkbox v-if=\"checkbox\" :value=\"file\" />\n <slot name=\"file\" :file=\"file\">\n <div class=\"gm-flex gm-items-center gm-justify-center gm-rounded-md\" :style=\"{ width: width + 'px', height: height + 'px' }\">\n <GmFileComponent :file=\"file\" :size=\"width - 40\" :url=\"url\" :controls=\"false\" :show-icon=\"true\" :field=\"field\" />\n </div>\n <div class=\"el-upload-list__item-actions\">\n <span class=\"el-upload-list__item-preview\" @click=\"handlePreview(file)\">\n <el-icon><View /></el-icon>\n </span>\n <span v-if=\"showDelete\" class=\"el-upload-list__item-delete\" @click=\"handleRemove(file, fileList)\">\n <el-icon><Delete /></el-icon>\n </span>\n </div>\n </slot>\n </template>\n </el-upload>\n </el-checkbox-group>\n\n <GmPreviewFile\n v-model:dialogVisible=\"dialogVisible\"\n v-model:file-index=\"fileIndex\"\n :file-list=\"fileList\"\n :controls=\"controls\"\n :oncontextmenu=\"oncontextmenu\"\n :controlslist=\"controlslist\"\n :field=\"field\"\n />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { ElMessageBox } from 'element-plus';\nimport { useUploadTaskStore } from '@giime/hooks/store/useUploadTask';\nimport { usePasteFile } from '@giime/hooks/base/usePasteFile';\nimport { GmConfirmBox } from '@giime/components/src/plugins/confirmBox';\nimport { Delete, UploadFilled, View } from '@element-plus/icons-vue';\nimport GmFileComponent from '../fileComponent';\nimport GmPreviewFile from '../previewFile';\nimport { uploadFileProps } from './uploadFile';\nimport type { GmUploadProUserFileResponse } from '../../business/uploadPro';\nimport type { UploadFile, UploadFiles, UploadInstance, UploadProps, UploadRawFile, UploadRequestOptions, UploadStatus } from 'element-plus';\n\ndefineOptions({\n name: 'GmUploadFile',\n});\n\nconst props = defineProps(uploadFileProps);\nconst emit = defineEmits([\"handleRemove\"]);\n\nconst { uploadFileTask } = useUploadTaskStore();\n\n/** 上传文件 */\nconst fileList = defineModel<UploadFile[]>('fileList', { required: true, default: () => [] });\n/** 多选数据 */\nconst checkoutFiles = defineModel<any[]>('checkoutFiles', { default: () => [] });\n\nconst loadingUids = ref<Set<number>>(new Set());\n\n/* 上传 */\nconst httpRequest = async (options: UploadRequestOptions) => {\n loadingUids.value.add(options.file.uid);\n const { file } = options;\n\n const res = await uploadFileTask(file, {\n domainCode: props.domainCode,\n sceneCode: props.sceneCode,\n accept: props.accept,\n acl: props.acl,\n elOptions: options,\n });\n\n return res;\n};\n\n/**判断是否全部上传完成 并触发事件 */\nconst checkAllUploadComplete = () => {\n if (loadingUids.value.size === 0) {\n // 全部文件上传完成\n props.onAllComplete?.();\n }\n};\n// 上传成功\nconst coverFileSuccess: UploadProps['onSuccess'] = (response: GmUploadProUserFileResponse, uploadFile, uploadFiles) => {\n loadingUids.value.delete(uploadFile.uid);\n uploadFile.url = response.url;\n props.onSuccess?.(response, uploadFile, uploadFiles);\n // 判断是否全部上传完成\n checkAllUploadComplete();\n};\n// 上传失败\nconst coverFileError: UploadProps['onError'] = (error, uploadFile, uploadFiles) => {\n loadingUids.value.delete(uploadFile.uid);\n props.onError?.(error, uploadFile, uploadFiles);\n // 判断是否全部上传完成\n checkAllUploadComplete();\n};\n\n/* 删除文件前 */\nconst beforeRemove = (file: UploadFile, files: UploadFiles) => {\n if (props.disabled) {\n return false;\n }\n return props.beforeRemove ? props.beforeRemove(file, files) : true;\n};\n\n/* 删除文件 */\nconst removeFile = (file: UploadFile, uploadFiles: UploadFiles) => {\n const index = fileList.value.indexOf(file);\n if (index > -1) {\n fileList.value.splice(index, 1);\n emit('handleRemove', { file, index });\n return props.onRemove?.(file, uploadFiles);\n }\n};\nconst handleRemove = async (file: UploadFile, uploadFiles: UploadFiles) => {\n if (props.deleteTip) {\n await GmConfirmBox({ message: '确定删除该文件吗?' }, async () => {});\n }\n\n removeFile(file, uploadFiles);\n};\n\nconst uploadFileRef = ref<UploadInstance>();\nconst pasteFileRef = ref<HTMLElement>();\n/* 手动上传 */\nconst submit = () => {\n uploadFileRef.value!.submit();\n};\n\n/** 取消上传 */\nconst abort = (file: UploadFile) => {\n uploadFileRef.value!.abort(file);\n};\n\n/** 清空已上传的文件列表 */\nconst clearFiles = (status?: UploadStatus[]) => {\n uploadFileRef.value!.clearFiles(status);\n};\n\n/** 手动选择文件 */\nconst handleStart = (rawFile: UploadRawFile) => {\n uploadFileRef.value!.handleStart(rawFile);\n};\n\n/** 预览 */\nconst dialogVisible = ref(false);\nconst fileIndex = ref(0);\nconst handlePreview = (file: UploadFile) => {\n fileIndex.value = fileList.value.indexOf(file);\n dialogVisible.value = true;\n};\n\n//** 复制粘贴 */\nconst { onSuccess, onError } = usePasteFile(pasteFileRef, { accept: props.accept, disabled: props.disabled });\nonSuccess((files: File[]) => {\n if (Array.isArray(files) && files.length > 0) {\n files.forEach(file => {\n if (file instanceof File) {\n const rawFile = file as UploadRawFile;\n handleStart(rawFile);\n\n // 粘贴成功自动上传\n if (props.autoUpload) {\n submit();\n }\n }\n });\n }\n});\n\nonError((error: Error) => {\n console.error('粘贴错误:', error);\n ElMessageBox.alert(error.message, '提示', {\n type: 'error',\n });\n});\n\ndefineExpose({\n submit,\n abort,\n clearFiles,\n handleStart,\n uploadFileRef,\n});\n</script>\n\n<style scoped lang=\"scss\">\n.gm-upload-preview-dialog {\n :deep(.el-dialog__body) {\n padding: 0;\n }\n}\n.gm-upload-file-picture-card {\n :deep(.el-upload-list__item),\n :deep(.el-upload--picture-card) {\n width: auto;\n height: auto;\n }\n}\n</style>\n<style lang=\"scss\">\n.gm-upload-file {\n line-height: normal;\n .el-checkbox {\n position: absolute;\n left: 10px;\n top: 0;\n z-index: 9;\n }\n .el-upload-list--picture-card {\n gap: 10px;\n }\n .el-upload-list__item {\n margin: 0;\n }\n .el-upload-list__item-file-name {\n line-height: normal;\n }\n .el-upload-dragger {\n padding: 0;\n border: none;\n width: 100%;\n height: 100%;\n display: flex;\n }\n .el-upload--picture-card {\n border: none;\n }\n}\n.gm-upload-file-disabled {\n .el-upload--picture-card {\n display: none;\n }\n .el-upload-list__item-status-label {\n display: none;\n }\n}\n</style>\n"],"names":["useUploadTaskStore","_useModel","ref","GmConfirmBox","usePasteFile","ElMessageBox"],"mappings":"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"}