giime 0.5.10 → 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 (116) hide show
  1. package/dist/index.css +51 -52
  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 +56 -52
  9. package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs +11 -6
  10. package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs.map +1 -1
  11. package/es/components/src/business/uploadMaterial/index.d.ts +8 -4
  12. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs +18 -16
  13. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs.map +1 -1
  14. package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +10 -12
  15. package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +1 -1
  16. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +31 -23
  17. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -1
  18. package/es/components/src/composite/uploadFile/index.d.ts +22 -30
  19. package/es/components/src/composite/uploadFile/uploadFile.d.ts +30 -28
  20. package/es/components/src/composite/uploadFile/uploadFile.mjs.map +1 -1
  21. package/es/giime/index.mjs +1 -1
  22. package/es/giime/version.d.ts +1 -1
  23. package/es/giime/version.mjs +1 -1
  24. package/es/giime/version.mjs.map +1 -1
  25. package/es/hooks/index.mjs +1 -1
  26. package/es/hooks/store/index.d.ts +1 -1
  27. package/es/hooks/store/index.mjs +1 -1
  28. package/es/hooks/store/useAliOssConfigs/index.d.ts +20 -0
  29. package/es/hooks/store/useAliOssConfigs/index.mjs +31 -0
  30. package/es/hooks/store/useAliOssConfigs/index.mjs.map +1 -0
  31. package/es/index.css +51 -52
  32. package/es/utils/src/alioss/aliossPutHook.mjs +5 -2
  33. package/es/utils/src/alioss/aliossPutHook.mjs.map +1 -1
  34. package/es/utils/src/alioss/aliossToken.d.ts +6 -6
  35. package/es/utils/src/alioss/aliossToken.mjs +1 -1
  36. package/es/utils/src/alioss/aliossToken.mjs.map +1 -1
  37. package/lib/api/materialApi/cross/getAliOssConfigs.d.ts +14 -0
  38. package/lib/api/materialApi/cross/getAliOssConfigs.js +10 -0
  39. package/lib/api/materialApi/cross/getAliOssConfigs.js.map +1 -0
  40. package/lib/api/materialApi/cross/index.d.ts +1 -1
  41. package/lib/api/materialApi/cross/index.js +2 -2
  42. package/lib/api/materialApi/index.js +2 -2
  43. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +56 -52
  44. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js +11 -6
  45. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js.map +1 -1
  46. package/lib/components/src/business/uploadMaterial/index.d.ts +8 -4
  47. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js +18 -16
  48. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js.map +1 -1
  49. package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +10 -12
  50. package/lib/components/src/composite/uploadFile/UploadFile.vue.js +1 -1
  51. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +31 -23
  52. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -1
  53. package/lib/components/src/composite/uploadFile/index.d.ts +22 -30
  54. package/lib/components/src/composite/uploadFile/uploadFile.d.ts +30 -28
  55. package/lib/components/src/composite/uploadFile/uploadFile.js.map +1 -1
  56. package/lib/giime/index.js +2 -2
  57. package/lib/giime/version.d.ts +1 -1
  58. package/lib/giime/version.js +1 -1
  59. package/lib/giime/version.js.map +1 -1
  60. package/lib/hooks/index.js +2 -2
  61. package/lib/hooks/store/index.d.ts +1 -1
  62. package/lib/hooks/store/index.js +2 -2
  63. package/lib/hooks/store/useAliOssConfigs/index.d.ts +20 -0
  64. package/lib/hooks/store/useAliOssConfigs/index.js +33 -0
  65. package/lib/hooks/store/useAliOssConfigs/index.js.map +1 -0
  66. package/lib/index.css +51 -52
  67. package/lib/utils/src/alioss/aliossPutHook.js +5 -2
  68. package/lib/utils/src/alioss/aliossPutHook.js.map +1 -1
  69. package/lib/utils/src/alioss/aliossToken.d.ts +6 -6
  70. package/lib/utils/src/alioss/aliossToken.js +1 -1
  71. package/lib/utils/src/alioss/aliossToken.js.map +1 -1
  72. package/package.json +1 -1
  73. package/es/api/materialApi/cross/getAliOssConfigIds.d.ts +0 -14
  74. package/es/api/materialApi/cross/getAliOssConfigIds.mjs +0 -8
  75. package/es/api/materialApi/cross/getAliOssConfigIds.mjs.map +0 -1
  76. package/es/components/src/composite/fileComponent/assets/image/excel.svg.mjs +0 -4
  77. package/es/components/src/composite/fileComponent/assets/image/excel.svg.mjs.map +0 -1
  78. package/es/components/src/composite/fileComponent/assets/image/pdf.svg.mjs +0 -4
  79. package/es/components/src/composite/fileComponent/assets/image/pdf.svg.mjs.map +0 -1
  80. package/es/components/src/composite/fileComponent/assets/image/ppt.svg.mjs +0 -4
  81. package/es/components/src/composite/fileComponent/assets/image/ppt.svg.mjs.map +0 -1
  82. package/es/components/src/composite/fileComponent/assets/image/psd.svg.mjs +0 -4
  83. package/es/components/src/composite/fileComponent/assets/image/psd.svg.mjs.map +0 -1
  84. package/es/components/src/composite/fileComponent/assets/image/text.svg.mjs +0 -4
  85. package/es/components/src/composite/fileComponent/assets/image/text.svg.mjs.map +0 -1
  86. package/es/components/src/composite/fileComponent/assets/image/unknown.svg.mjs +0 -4
  87. package/es/components/src/composite/fileComponent/assets/image/unknown.svg.mjs.map +0 -1
  88. package/es/components/src/composite/fileComponent/assets/image/word.svg.mjs +0 -4
  89. package/es/components/src/composite/fileComponent/assets/image/word.svg.mjs.map +0 -1
  90. package/es/components/src/composite/fileComponent/assets/image/zip.svg.mjs +0 -4
  91. package/es/components/src/composite/fileComponent/assets/image/zip.svg.mjs.map +0 -1
  92. package/es/hooks/store/useAliOssConfigIds/index.d.ts +0 -20
  93. package/es/hooks/store/useAliOssConfigIds/index.mjs +0 -31
  94. package/es/hooks/store/useAliOssConfigIds/index.mjs.map +0 -1
  95. package/lib/api/materialApi/cross/getAliOssConfigIds.d.ts +0 -14
  96. package/lib/api/materialApi/cross/getAliOssConfigIds.js +0 -10
  97. package/lib/api/materialApi/cross/getAliOssConfigIds.js.map +0 -1
  98. package/lib/components/src/composite/fileComponent/assets/image/excel.svg.js +0 -8
  99. package/lib/components/src/composite/fileComponent/assets/image/excel.svg.js.map +0 -1
  100. package/lib/components/src/composite/fileComponent/assets/image/pdf.svg.js +0 -8
  101. package/lib/components/src/composite/fileComponent/assets/image/pdf.svg.js.map +0 -1
  102. package/lib/components/src/composite/fileComponent/assets/image/ppt.svg.js +0 -8
  103. package/lib/components/src/composite/fileComponent/assets/image/ppt.svg.js.map +0 -1
  104. package/lib/components/src/composite/fileComponent/assets/image/psd.svg.js +0 -8
  105. package/lib/components/src/composite/fileComponent/assets/image/psd.svg.js.map +0 -1
  106. package/lib/components/src/composite/fileComponent/assets/image/text.svg.js +0 -8
  107. package/lib/components/src/composite/fileComponent/assets/image/text.svg.js.map +0 -1
  108. package/lib/components/src/composite/fileComponent/assets/image/unknown.svg.js +0 -8
  109. package/lib/components/src/composite/fileComponent/assets/image/unknown.svg.js.map +0 -1
  110. package/lib/components/src/composite/fileComponent/assets/image/word.svg.js +0 -8
  111. package/lib/components/src/composite/fileComponent/assets/image/word.svg.js.map +0 -1
  112. package/lib/components/src/composite/fileComponent/assets/image/zip.svg.js +0 -8
  113. package/lib/components/src/composite/fileComponent/assets/image/zip.svg.js.map +0 -1
  114. package/lib/hooks/store/useAliOssConfigIds/index.d.ts +0 -20
  115. package/lib/hooks/store/useAliOssConfigIds/index.js +0 -33
  116. package/lib/hooks/store/useAliOssConfigIds/index.js.map +0 -1
@@ -13,14 +13,17 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
13
13
  },
14
14
  __name: "UploadMaterial",
15
15
  props: /* @__PURE__ */ vue.mergeModels(uploadMaterial.uploadMaterialProps, {
16
- "fileList": { default: [] },
17
- "fileListModifiers": {}
16
+ "fileList": { default: () => [] },
17
+ "fileListModifiers": {},
18
+ "checkoutFiles": { default: () => [] },
19
+ "checkoutFilesModifiers": {}
18
20
  }),
19
- emits: /* @__PURE__ */ vue.mergeModels(["handleRemove", "handleSaveFileSuccess"], ["update:fileList"]),
21
+ emits: /* @__PURE__ */ vue.mergeModels(["handleRemove", "handleSaveFileSuccess"], ["update:fileList", "update:checkoutFiles"]),
20
22
  setup(__props, { expose: __expose, emit: __emit }) {
21
23
  const props = __props;
22
24
  const emit = __emit;
23
25
  const fileList = vue.useModel(__props, "fileList");
26
+ const checkoutFiles = vue.useModel(__props, "checkoutFiles");
24
27
  const uploadMaterialRef = vue.ref();
25
28
  const onSubmit = () => {
26
29
  uploadMaterialRef.value.submit();
@@ -52,9 +55,11 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
52
55
  }, props, {
53
56
  "file-list": fileList.value,
54
57
  "onUpdate:fileList": _cache[0] || (_cache[0] = ($event) => fileList.value = $event),
55
- onHandleRemove: _cache[1] || (_cache[1] = (data) => emit("handleRemove", data)),
56
- onHandleSaveFileSuccess: _cache[2] || (_cache[2] = (data) => emit("handleSaveFileSuccess", data))
57
- }), null, 16, ["file-list"])
58
+ "checkout-files": checkoutFiles.value,
59
+ "onUpdate:checkoutFiles": _cache[1] || (_cache[1] = ($event) => checkoutFiles.value = $event),
60
+ onHandleRemove: _cache[2] || (_cache[2] = (data) => emit("handleRemove", data)),
61
+ onHandleSaveFileSuccess: _cache[3] || (_cache[3] = (data) => emit("handleSaveFileSuccess", data))
62
+ }), null, 16, ["file-list", "checkout-files"])
58
63
  ]);
59
64
  };
60
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UploadMaterial.vue2.js","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 @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 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","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsBA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAGb,IAAM,MAAA,QAAA,GAAWA,sBAA0B,UAA2B,CAAA,CAAA;AAEtE,IAAA,MAAM,oBAAoBC,OAAoB,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.js","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","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAGb,IAAM,MAAA,QAAA,GAAWA,sBAAyB,UAAiC,CAAA,CAAA;AAE3E,IAAM,MAAA,aAAA,GAAgBA,sBAAmB,eAAsC,CAAA,CAAA;AAE/E,IAAA,MAAM,oBAAoBC,OAAoB,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,7 @@
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
+ checkoutFiles: import("vue").PropType<any[]>;
4
5
  accept: {
5
6
  type: StringConstructor;
6
7
  default: string;
@@ -215,14 +216,16 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
215
216
  clearFiles: (status?: import("element-plus").UploadStatus[] | undefined) => void;
216
217
  handleStart: (rawFile: import("element-plus").UploadRawFile) => void;
217
218
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
218
- "update:fileList": (fileList: import("element-plus").UploadFile[]) => void;
219
+ "update:fileList": (fileList: import("element-plus").UploadFiles) => void;
220
+ "update:checkoutFiles": (checkoutFiles: any[]) => void;
219
221
  handleRemove: (args_0: {
220
222
  file: import("element-plus").UploadFile;
221
223
  index: number;
222
224
  }) => void;
223
225
  handleSaveFileSuccess: (file: import("../../../../api/materialApi/index.js").PostSaveFileResourcesData) => void;
224
226
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
225
- fileList: import("vue").PropType<import("element-plus").UploadFile[]>;
227
+ fileList: import("vue").PropType<import("element-plus").UploadFiles>;
228
+ checkoutFiles: import("vue").PropType<any[]>;
226
229
  accept: {
227
230
  type: StringConstructor;
228
231
  default: string;
@@ -431,11 +434,12 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
431
434
  disabled: BooleanConstructor;
432
435
  limit: NumberConstructor;
433
436
  }>> & {
434
- "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFile[]) => any) | undefined;
437
+ "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFiles) => any) | undefined;
435
438
  onHandleRemove?: ((args_0: {
436
439
  file: import("element-plus").UploadFile;
437
440
  index: number;
438
441
  }) => any) | undefined;
442
+ "onUpdate:checkoutFiles"?: ((checkoutFiles: any[]) => any) | undefined;
439
443
  onHandleSaveFileSuccess?: ((file: import("../../../../api/materialApi/index.js").PostSaveFileResourcesData) => any) | undefined;
440
444
  }, {
441
445
  name: string;
@@ -5,14 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var vue = require('vue');
6
6
  var is = require('../../../../utils/src/is.js');
7
7
  var fileComponent = require('./fileComponent.js');
8
- var pdf = require('./assets/image/pdf.svg.js');
9
- var word = require('./assets/image/word.svg.js');
10
- var excel = require('./assets/image/excel.svg.js');
11
- var ppt = require('./assets/image/ppt.svg.js');
12
- var psd = require('./assets/image/psd.svg.js');
13
- var text = require('./assets/image/text.svg.js');
14
- var zip = require('./assets/image/zip.svg.js');
15
- var unknown = require('./assets/image/unknown.svg.js');
16
8
 
17
9
  const _hoisted_1 = { class: "gm-flex gm-h-full gm-items-center gm-justify-center" };
18
10
  const _hoisted_2 = ["src"];
@@ -37,25 +29,35 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
37
29
  const verifyFile = vue.computed(() => {
38
30
  return props.file[props.field];
39
31
  });
32
+ const iconList = {
33
+ excel: "https://sucai.giikin.cn/workflow/material-refer-1739947054012-1213-335.svg",
34
+ pdf: "https://sucai.giikin.cn/workflow/material-refer-1739947288698-5462-586.svg",
35
+ word: "https://sucai.giikin.cn/workflow/material-refer-1739947288698-1540-625.svg",
36
+ txt: "https://sucai.giikin.cn/workflow/material-refer-1739947288698-1700-90.svg",
37
+ zip: "https://sucai.giikin.cn/workflow/material-refer-1739947288698-2639-507.svg",
38
+ psd: "https://sucai.giikin.cn/workflow/material-refer-1739947288698-5026-760.svg",
39
+ ppt: "https://sucai.giikin.cn/workflow/material-refer-1739947288698-2867-970.svg",
40
+ unknown: "https://sucai.giikin.cn/workflow/material-refer-1739947288698-1448-736.svg"
41
+ };
40
42
  const iconURL = vue.computed(() => {
41
43
  const verifyFile2 = props.file[props.field];
42
44
  let result = null;
43
45
  if (is.isPDF(verifyFile2)) {
44
- result = pdf.default;
46
+ result = iconList.pdf;
45
47
  } else if (is.isWord(verifyFile2)) {
46
- result = word.default;
48
+ result = iconList.word;
47
49
  } else if (is.isExcel(verifyFile2)) {
48
- result = excel.default;
50
+ result = iconList.excel;
49
51
  } else if (is.isText(verifyFile2)) {
50
- result = text.default;
52
+ result = iconList.txt;
51
53
  } else if (is.isPPT(verifyFile2)) {
52
- result = ppt.default;
54
+ result = iconList.ppt;
53
55
  } else if (is.isZip(verifyFile2)) {
54
- result = zip.default;
56
+ result = iconList.zip;
55
57
  } else if (is.isPSD(verifyFile2)) {
56
- result = psd.default;
58
+ result = iconList.psd;
57
59
  } else {
58
- result = unknown.default;
60
+ result = iconList.unknown;
59
61
  }
60
62
  return result;
61
63
  });
@@ -1 +1 @@
1
- {"version":3,"file":"FileComponent.vue2.js","sources":["../../../../../../../packages/components/src/composite/fileComponent/FileComponent.vue"],"sourcesContent":["<template>\r\n <div class=\"gm-flex gm-h-full gm-items-center gm-justify-center\">\r\n <img v-if=\"isImageUrl(verifyFile)\" :src=\"fileURL\" fit=\"contain\" style=\"max-width: 100%; max-height: 100%\" />\r\n <video\r\n v-else-if=\"isVideoUrl(verifyFile)\"\r\n :src=\"fileURL\"\r\n :controls=\"controls\"\r\n :controlslist=\"controlslist\"\r\n :oncontextmenu=\"() => oncontextmenu\"\r\n style=\"width: 100%; height: 100%\"\r\n />\r\n <el-image v-else :style=\"iconStyle\" :src=\"iconURL\" />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport { isExcel, isImageUrl, isPDF, isPPT, isPSD, isText, isVideoUrl, isWord, isZip } from '@giime/utils/src/is';\r\nimport { fileComponentProps } from './fileComponent';\r\nimport PDF from './assets/image/pdf.svg';\r\nimport WORD from './assets/image/word.svg';\r\nimport EXCEL from './assets/image/excel.svg';\r\nimport PPT from './assets/image/ppt.svg';\r\nimport PSD from './assets/image/psd.svg';\r\nimport TEXT from './assets/image/text.svg';\r\nimport ZIP from './assets/image/zip.svg';\r\nimport UNKNOWN from './assets/image/unknown.svg';\r\nimport type { UploadFile } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmFileComponent',\r\n});\r\n\r\nconst props = defineProps(fileComponentProps);\r\n\r\nconst iconStyle = computed(() => {\r\n return {\r\n width: `${props.size}px`,\r\n height: `${props.size}px`,\r\n };\r\n});\r\n\r\nconst fileURL = computed(() => {\r\n return props.file[props.url as keyof UploadFile] as string;\r\n});\r\n\r\nconst verifyFile = computed(() => {\r\n return props.file[props.field as keyof UploadFile] as string;\r\n});\r\n\r\nconst iconURL = computed(() => {\r\n const verifyFile = props.file[props.field as keyof UploadFile] as string;\r\n let result: any = null;\r\n if (isPDF(verifyFile)) {\r\n result = PDF;\r\n } else if (isWord(verifyFile)) {\r\n result = WORD;\r\n } else if (isExcel(verifyFile)) {\r\n result = EXCEL;\r\n } else if (isText(verifyFile)) {\r\n result = TEXT;\r\n } else if (isPPT(verifyFile)) {\r\n result = PPT;\r\n } else if (isZip(verifyFile)) {\r\n result = ZIP;\r\n } else if (isPSD(verifyFile)) {\r\n result = PSD;\r\n } else {\r\n result = UNKNOWN;\r\n }\r\n return result;\r\n});\r\n</script>\r\n"],"names":["computed","verifyFile","isPDF","PDF","isWord","WORD","isExcel","EXCEL","isText","TEXT","isPPT","PPT","isZip","ZIP","isPSD","PSD","UNKNOWN"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,SAAA,GAAYA,aAAS,MAAM;AAC/B,MAAO,OAAA;AAAA,QACL,KAAA,EAAO,CAAG,EAAA,KAAA,CAAM,IAAI,CAAA,EAAA,CAAA;AAAA,QACpB,MAAA,EAAQ,CAAG,EAAA,KAAA,CAAM,IAAI,CAAA,EAAA,CAAA;AAAA,OACvB,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,OAAA,GAAUA,aAAS,MAAM;AAC7B,MAAO,OAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,GAAuB,CAAA,CAAA;AAAA,KAChD,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAaA,aAAS,MAAM;AAChC,MAAO,OAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,KAAyB,CAAA,CAAA;AAAA,KAClD,CAAA,CAAA;AAED,IAAM,MAAA,OAAA,GAAUA,aAAS,MAAM;AAC7B,MAAA,MAAMC,WAAa,GAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,KAAyB,CAAA,CAAA;AAC7D,MAAA,IAAI,MAAc,GAAA,IAAA,CAAA;AAClB,MAAI,IAAAC,QAAA,CAAMD,WAAU,CAAG,EAAA;AACrB,QAAS,MAAA,GAAAE,WAAA,CAAA;AAAA,OACX,MAAA,IAAWC,SAAOH,CAAAA,WAAU,CAAG,EAAA;AAC7B,QAAS,MAAA,GAAAI,YAAA,CAAA;AAAA,OACX,MAAA,IAAWC,UAAQL,CAAAA,WAAU,CAAG,EAAA;AAC9B,QAAS,MAAA,GAAAM,aAAA,CAAA;AAAA,OACX,MAAA,IAAWC,SAAOP,CAAAA,WAAU,CAAG,EAAA;AAC7B,QAAS,MAAA,GAAAQ,YAAA,CAAA;AAAA,OACX,MAAA,IAAWC,QAAMT,CAAAA,WAAU,CAAG,EAAA;AAC5B,QAAS,MAAA,GAAAU,WAAA,CAAA;AAAA,OACX,MAAA,IAAWC,QAAMX,CAAAA,WAAU,CAAG,EAAA;AAC5B,QAAS,MAAA,GAAAY,WAAA,CAAA;AAAA,OACX,MAAA,IAAWC,QAAMb,CAAAA,WAAU,CAAG,EAAA;AAC5B,QAAS,MAAA,GAAAc,WAAA,CAAA;AAAA,OACJ,MAAA;AACL,QAAS,MAAA,GAAAC,eAAA,CAAA;AAAA,OACX;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FileComponent.vue2.js","sources":["../../../../../../../packages/components/src/composite/fileComponent/FileComponent.vue"],"sourcesContent":["<template>\r\n <div class=\"gm-flex gm-h-full gm-items-center gm-justify-center\">\r\n <img v-if=\"isImageUrl(verifyFile)\" :src=\"fileURL\" fit=\"contain\" style=\"max-width: 100%; max-height: 100%\" />\r\n <video\r\n v-else-if=\"isVideoUrl(verifyFile)\"\r\n :src=\"fileURL\"\r\n :controls=\"controls\"\r\n :controlslist=\"controlslist\"\r\n :oncontextmenu=\"() => oncontextmenu\"\r\n style=\"width: 100%; height: 100%\"\r\n />\r\n <el-image v-else :style=\"iconStyle\" :src=\"iconURL\" />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport { isExcel, isImageUrl, isPDF, isPPT, isPSD, isText, isVideoUrl, isWord, isZip } from '@giime/utils/src/is';\r\nimport { fileComponentProps } from './fileComponent';\r\n// import PDF from './assets/image/pdf.svg';\r\n// import WORD from './assets/image/word.svg';\r\n// import EXCEL from './assets/image/excel.svg';\r\n// import PPT from './assets/image/ppt.svg';\r\n// import PSD from './assets/image/psd.svg';\r\n// import TEXT from './assets/image/text.svg';\r\n// import ZIP from './assets/image/zip.svg';\r\n// import UNKNOWN from './assets/image/unknown.svg';\r\nimport type { UploadFile } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmFileComponent',\r\n});\r\n\r\nconst props = defineProps(fileComponentProps);\r\n\r\nconst iconStyle = computed(() => {\r\n return {\r\n width: `${props.size}px`,\r\n height: `${props.size}px`,\r\n };\r\n});\r\n\r\nconst fileURL = computed(() => {\r\n return props.file[props.url as keyof UploadFile] as string;\r\n});\r\n\r\nconst verifyFile = computed(() => {\r\n return props.file[props.field as keyof UploadFile] as string;\r\n});\r\n\r\nconst iconList = {\r\n excel: 'https://sucai.giikin.cn/workflow/material-refer-1739947054012-1213-335.svg',\r\n pdf: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-5462-586.svg',\r\n word: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1540-625.svg',\r\n txt: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1700-90.svg',\r\n zip: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-2639-507.svg',\r\n psd: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-5026-760.svg',\r\n ppt: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-2867-970.svg',\r\n unknown: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1448-736.svg',\r\n};\r\n\r\nconst iconURL = computed(() => {\r\n const verifyFile = props.file[props.field as keyof UploadFile] as string;\r\n let result: any = null;\r\n if (isPDF(verifyFile)) {\r\n result = iconList.pdf;\r\n } else if (isWord(verifyFile)) {\r\n result = iconList.word;\r\n } else if (isExcel(verifyFile)) {\r\n result = iconList.excel;\r\n } else if (isText(verifyFile)) {\r\n result = iconList.txt;\r\n } else if (isPPT(verifyFile)) {\r\n result = iconList.ppt;\r\n } else if (isZip(verifyFile)) {\r\n result = iconList.zip;\r\n } else if (isPSD(verifyFile)) {\r\n result = iconList.psd;\r\n } else {\r\n result = iconList.unknown;\r\n }\r\n return result;\r\n});\r\n</script>\r\n"],"names":["computed","verifyFile","isPDF","isWord","isExcel","isText","isPPT","isZip","isPSD"],"mappings":";;;;;;;;;;;;;;;;;;AAiCA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,SAAA,GAAYA,aAAS,MAAM;AAC/B,MAAO,OAAA;AAAA,QACL,KAAA,EAAO,CAAG,EAAA,KAAA,CAAM,IAAI,CAAA,EAAA,CAAA;AAAA,QACpB,MAAA,EAAQ,CAAG,EAAA,KAAA,CAAM,IAAI,CAAA,EAAA,CAAA;AAAA,OACvB,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,OAAA,GAAUA,aAAS,MAAM;AAC7B,MAAO,OAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,GAAuB,CAAA,CAAA;AAAA,KAChD,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAaA,aAAS,MAAM;AAChC,MAAO,OAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,KAAyB,CAAA,CAAA;AAAA,KAClD,CAAA,CAAA;AAED,IAAA,MAAM,QAAW,GAAA;AAAA,MACf,KAAO,EAAA,4EAAA;AAAA,MACP,GAAK,EAAA,4EAAA;AAAA,MACL,IAAM,EAAA,4EAAA;AAAA,MACN,GAAK,EAAA,2EAAA;AAAA,MACL,GAAK,EAAA,4EAAA;AAAA,MACL,GAAK,EAAA,4EAAA;AAAA,MACL,GAAK,EAAA,4EAAA;AAAA,MACL,OAAS,EAAA,4EAAA;AAAA,KACX,CAAA;AAEA,IAAM,MAAA,OAAA,GAAUA,aAAS,MAAM;AAC7B,MAAA,MAAMC,WAAa,GAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,KAAyB,CAAA,CAAA;AAC7D,MAAA,IAAI,MAAc,GAAA,IAAA,CAAA;AAClB,MAAI,IAAAC,QAAA,CAAMD,WAAU,CAAG,EAAA;AACrB,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAWE,SAAOF,CAAAA,WAAU,CAAG,EAAA;AAC7B,QAAA,MAAA,GAAS,QAAS,CAAA,IAAA,CAAA;AAAA,OACpB,MAAA,IAAWG,UAAQH,CAAAA,WAAU,CAAG,EAAA;AAC9B,QAAA,MAAA,GAAS,QAAS,CAAA,KAAA,CAAA;AAAA,OACpB,MAAA,IAAWI,SAAOJ,CAAAA,WAAU,CAAG,EAAA;AAC7B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAWK,QAAML,CAAAA,WAAU,CAAG,EAAA;AAC5B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAWM,QAAMN,CAAAA,WAAU,CAAG,EAAA;AAC5B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAWO,QAAMP,CAAAA,WAAU,CAAG,EAAA;AAC5B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACb,MAAA;AACL,QAAA,MAAA,GAAS,QAAS,CAAA,OAAA,CAAA;AAAA,OACpB;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,10 @@
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
- isIndeterminate: import("vue").PropType<boolean>;
6
- checkedAll: import("vue").PropType<boolean>;
7
8
  listType: {
8
9
  type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>>;
9
10
  default: string;
@@ -692,20 +693,19 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
692
693
  };
693
694
  }) | undefined>;
694
695
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
695
- "update:fileList": (fileList: UploadFiles) => void;
696
+ "update:fileList": (fileList: UploadFile[]) => void;
696
697
  "update:checkoutFiles": (checkoutFiles: any[]) => void;
697
- "update:isIndeterminate": (isIndeterminate: boolean) => void;
698
- "update:checkedAll": (checkedAll: boolean) => void;
699
698
  handleRemove: (file: {
700
699
  file: UploadFile;
701
700
  index: number;
702
701
  }) => void;
703
702
  handleSaveFileSuccess: (file: import("../../../../api/materialApi").PostSaveFileResourcesData) => void;
704
703
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
705
- fileList: import("vue").PropType<UploadFiles>;
704
+ fileList: {
705
+ required: true;
706
+ type: import("vue").PropType<UploadFile[]>;
707
+ };
706
708
  checkoutFiles: import("vue").PropType<any[]>;
707
- isIndeterminate: import("vue").PropType<boolean>;
708
- checkedAll: import("vue").PropType<boolean>;
709
709
  listType: {
710
710
  type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>>;
711
711
  default: string;
@@ -914,14 +914,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
914
914
  disabled: BooleanConstructor;
915
915
  limit: NumberConstructor;
916
916
  }>> & {
917
- "onUpdate:fileList"?: ((fileList: UploadFiles) => any) | undefined;
917
+ "onUpdate:fileList"?: ((fileList: UploadFile[]) => any) | undefined;
918
918
  onHandleRemove?: ((file: {
919
919
  file: UploadFile;
920
920
  index: number;
921
921
  }) => any) | undefined;
922
922
  "onUpdate:checkoutFiles"?: ((checkoutFiles: any[]) => any) | undefined;
923
- "onUpdate:isIndeterminate"?: ((isIndeterminate: boolean) => any) | undefined;
924
- "onUpdate:checkedAll"?: ((checkedAll: boolean) => any) | undefined;
925
923
  onHandleSaveFileSuccess?: ((file: import("../../../../api/materialApi").PostSaveFileResourcesData) => any) | undefined;
926
924
  }, {
927
925
  name: string;
@@ -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-7aea5ade"]]);
10
+ var UploadFile = /* @__PURE__ */ _pluginVue_exportHelper.default(UploadFile_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-5de3f0ab"]]);
11
11
 
12
12
  exports.default = UploadFile;
13
13
  //# sourceMappingURL=UploadFile.vue.js.map
@@ -10,7 +10,7 @@ var index = require('../fileComponent/index.js');
10
10
  var index$1 = require('../previewFile/index.js');
11
11
  var uploadFile = require('./uploadFile.js');
12
12
 
13
- const _withScopeId = (n) => (vue.pushScopeId("data-v-7aea5ade"), n = n(), vue.popScopeId(), n);
13
+ const _withScopeId = (n) => (vue.pushScopeId("data-v-5de3f0ab"), n = n(), vue.popScopeId(), n);
14
14
  const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
15
15
  "div",
16
16
  { class: "el-upload__text gm-text-center !gm-text-xs gm-text-gray-500" },
@@ -30,16 +30,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
30
30
  },
31
31
  __name: "UploadFile",
32
32
  props: /* @__PURE__ */ vue.mergeModels(uploadFile.uploadFileProps, {
33
- "fileList": { default: [] },
33
+ "fileList": { required: true, default: () => [] },
34
34
  "fileListModifiers": {},
35
- "checkoutFiles": { default: [] },
36
- "checkoutFilesModifiers": {},
37
- "isIndeterminate": { type: Boolean, ...{ default: false } },
38
- "isIndeterminateModifiers": {},
39
- "checkedAll": { type: Boolean, ...{ default: false } },
40
- "checkedAllModifiers": {}
35
+ "checkoutFiles": { default: () => [] },
36
+ "checkoutFilesModifiers": {}
41
37
  }),
42
- emits: /* @__PURE__ */ vue.mergeModels(["handleRemove", "handleSaveFileSuccess"], ["update:fileList", "update:checkoutFiles", "update:isIndeterminate", "update:checkedAll"]),
38
+ emits: /* @__PURE__ */ vue.mergeModels(["handleRemove", "handleSaveFileSuccess"], ["update:fileList", "update:checkoutFiles"]),
43
39
  setup(__props, { expose: __expose, emit: __emit }) {
44
40
  const props = __props;
45
41
  const emit = __emit;
@@ -50,15 +46,26 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
50
46
  });
51
47
  const fileList = vue.useModel(__props, "fileList");
52
48
  const checkoutFiles = vue.useModel(__props, "checkoutFiles");
53
- const isIndeterminate = vue.useModel(__props, "isIndeterminate");
54
- const checkedAll = vue.useModel(__props, "checkedAll");
55
- const handleCheckedChange = (value) => {
56
- const { length } = value;
57
- checkedAll.value = length === fileList.value.length;
58
- isIndeterminate.value = length > 0 && length < fileList.value.length;
59
- };
60
49
  const httpRequest = async (params) => {
61
50
  const { file } = params;
51
+ if (props.accept && props.accept !== "*") {
52
+ const acceptTypes = props.accept.split(",").map((type) => type.trim());
53
+ const fileType = file.type || "";
54
+ const fileExtension = file.name.slice(Math.max(0, file.name.lastIndexOf(".")));
55
+ const isValidType = acceptTypes.some((type) => {
56
+ if (type.startsWith(".")) {
57
+ return fileExtension.toLowerCase() === type.toLowerCase();
58
+ } else if (type.includes("/*")) {
59
+ const [mainType] = type.split("/");
60
+ return fileType.startsWith(`${mainType}/`);
61
+ } else {
62
+ return fileType === type;
63
+ }
64
+ });
65
+ if (!isValidType) {
66
+ throw new Error(`\u6587\u4EF6\u7C7B\u578B\u4E0D\u652F\u6301\uFF0C\u8BF7\u4E0A\u4F20 ${props.accept} \u683C\u5F0F\u7684\u6587\u4EF6`);
67
+ }
68
+ }
62
69
  const res = await uploadFile({
63
70
  file,
64
71
  fileName: props.fileName,
@@ -78,16 +85,18 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
78
85
  }
79
86
  return props.beforeRemove ? props.beforeRemove(file, files) : true;
80
87
  };
81
- const handleRemove = (file) => {
88
+ const handleRemove = (file, uploadFiles) => {
82
89
  elementPlus.ElMessageBox.confirm("\u786E\u5B9A\u5220\u9664\u8BE5\u6587\u4EF6\u5417\uFF1F", "\u63D0\u793A", {
83
90
  confirmButtonText: "\u786E\u5B9A",
84
91
  cancelButtonText: "\u53D6\u6D88",
85
92
  type: "warning"
86
93
  }).then(() => {
87
94
  const index = fileList.value.indexOf(file);
88
- fileList.value = fileList.value.filter((v, i) => v.url !== file.url || v.url === file.url && i !== index);
89
- emit("handleRemove", { file, index });
90
- return props.onRemove(file, fileList.value);
95
+ if (index > -1) {
96
+ fileList.value.splice(index, 1);
97
+ emit("handleRemove", { file, index });
98
+ return props.onRemove?.(file, uploadFiles);
99
+ }
91
100
  }).catch(() => {
92
101
  });
93
102
  };
@@ -131,8 +140,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
131
140
  [
132
141
  vue.createVNode(_component_el_checkbox_group, {
133
142
  modelValue: checkoutFiles.value,
134
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => checkoutFiles.value = $event),
135
- onChange: handleCheckedChange
143
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => checkoutFiles.value = $event)
136
144
  }, {
137
145
  default: vue.withCtx(() => [
138
146
  vue.createVNode(_component_el_upload, vue.mergeProps({
@@ -226,7 +234,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
226
234
  _ctx.showDelete ? (vue.openBlock(), vue.createElementBlock("span", {
227
235
  key: 0,
228
236
  class: "el-upload-list__item-delete",
229
- onClick: ($event) => handleRemove(file)
237
+ onClick: ($event) => handleRemove(file, fileList.value)
230
238
  }, [
231
239
  vue.createVNode(_component_el_icon, null, {
232
240
  default: vue.withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"UploadFile.vue2.js","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\" @change=\"handleCheckedChange\">\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 { CheckboxValueType, 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\nconst isIndeterminate = defineModel<boolean>('isIndeterminate', { default: false });\r\n/** 是否全选 */\r\nconst checkedAll = defineModel<boolean>('checkedAll', { default: false });\r\nconst handleCheckedChange = (value: CheckboxValueType[]) => {\r\n const { length } = value;\r\n checkedAll.value = length === fileList.value.length;\r\n isIndeterminate.value = length > 0 && length < fileList.value.length;\r\n};\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 .is-disabled {\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":["useAliossHookStore","_useModel","ElMessageBox","ref"],"mappings":"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"}
1
+ {"version":3,"file":"UploadFile.vue2.js","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":["useAliossHookStore","_useModel","ElMessageBox","ref"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import UploadFile from './UploadFile.vue';
2
2
  export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
3
3
  new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
4
- fileList: import("vue").PropType<import("element-plus").UploadFiles>;
4
+ fileList: {
5
+ required: true;
6
+ type: import("vue").PropType<import("element-plus").UploadFile[]>;
7
+ };
5
8
  checkoutFiles: import("vue").PropType<any[]>;
6
- isIndeterminate: import("vue").PropType<boolean>;
7
- checkedAll: import("vue").PropType<boolean>;
8
9
  listType: {
9
10
  type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>>;
10
11
  default: string;
@@ -213,14 +214,12 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
213
214
  disabled: BooleanConstructor;
214
215
  limit: NumberConstructor;
215
216
  }>> & {
216
- "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFiles) => any) | undefined;
217
+ "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFile[]) => any) | undefined;
217
218
  onHandleRemove?: ((file: {
218
219
  file: import("element-plus").UploadFile;
219
220
  index: number;
220
221
  }) => any) | undefined;
221
222
  "onUpdate:checkoutFiles"?: ((checkoutFiles: any[]) => any) | undefined;
222
- "onUpdate:isIndeterminate"?: ((isIndeterminate: boolean) => any) | undefined;
223
- "onUpdate:checkedAll"?: ((checkedAll: boolean) => any) | undefined;
224
223
  onHandleSaveFileSuccess?: ((file: import("../../../../api/materialApi/index.js").PostSaveFileResourcesData) => any) | undefined;
225
224
  }, {
226
225
  submit: () => void;
@@ -703,20 +702,19 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
703
702
  };
704
703
  }) | undefined>;
705
704
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
706
- "update:fileList": (fileList: import("element-plus").UploadFiles) => void;
705
+ "update:fileList": (fileList: import("element-plus").UploadFile[]) => void;
707
706
  "update:checkoutFiles": (checkoutFiles: any[]) => void;
708
- "update:isIndeterminate": (isIndeterminate: boolean) => void;
709
- "update:checkedAll": (checkedAll: boolean) => void;
710
707
  handleRemove: (file: {
711
708
  file: import("element-plus").UploadFile;
712
709
  index: number;
713
710
  }) => void;
714
711
  handleSaveFileSuccess: (file: import("../../../../api/materialApi/index.js").PostSaveFileResourcesData) => void;
715
712
  }, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
716
- fileList: import("vue").PropType<import("element-plus").UploadFiles>;
713
+ fileList: {
714
+ required: true;
715
+ type: import("vue").PropType<import("element-plus").UploadFile[]>;
716
+ };
717
717
  checkoutFiles: import("vue").PropType<any[]>;
718
- isIndeterminate: import("vue").PropType<boolean>;
719
- checkedAll: import("vue").PropType<boolean>;
720
718
  listType: {
721
719
  type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>>;
722
720
  default: string;
@@ -925,14 +923,12 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
925
923
  disabled: BooleanConstructor;
926
924
  limit: NumberConstructor;
927
925
  }>> & {
928
- "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFiles) => any) | undefined;
926
+ "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFile[]) => any) | undefined;
929
927
  onHandleRemove?: ((file: {
930
928
  file: import("element-plus").UploadFile;
931
929
  index: number;
932
930
  }) => any) | undefined;
933
931
  "onUpdate:checkoutFiles"?: ((checkoutFiles: any[]) => any) | undefined;
934
- "onUpdate:isIndeterminate"?: ((isIndeterminate: boolean) => any) | undefined;
935
- "onUpdate:checkedAll"?: ((checkedAll: boolean) => any) | undefined;
936
932
  onHandleSaveFileSuccess?: ((file: import("../../../../api/materialApi/index.js").PostSaveFileResourcesData) => any) | undefined;
937
933
  }, {
938
934
  name: string;
@@ -984,10 +980,11 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
984
980
  M: {};
985
981
  Defaults: {};
986
982
  }, Readonly<import("vue").ExtractPropTypes<{
987
- fileList: import("vue").PropType<import("element-plus").UploadFiles>;
983
+ fileList: {
984
+ required: true;
985
+ type: import("vue").PropType<import("element-plus").UploadFile[]>;
986
+ };
988
987
  checkoutFiles: import("vue").PropType<any[]>;
989
- isIndeterminate: import("vue").PropType<boolean>;
990
- checkedAll: import("vue").PropType<boolean>;
991
988
  listType: {
992
989
  type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>>;
993
990
  default: string;
@@ -1196,14 +1193,12 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
1196
1193
  disabled: BooleanConstructor;
1197
1194
  limit: NumberConstructor;
1198
1195
  }>> & {
1199
- "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFiles) => any) | undefined;
1196
+ "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFile[]) => any) | undefined;
1200
1197
  onHandleRemove?: ((file: {
1201
1198
  file: import("element-plus").UploadFile;
1202
1199
  index: number;
1203
1200
  }) => any) | undefined;
1204
1201
  "onUpdate:checkoutFiles"?: ((checkoutFiles: any[]) => any) | undefined;
1205
- "onUpdate:isIndeterminate"?: ((isIndeterminate: boolean) => any) | undefined;
1206
- "onUpdate:checkedAll"?: ((checkedAll: boolean) => any) | undefined;
1207
1202
  onHandleSaveFileSuccess?: ((file: import("../../../../api/materialApi/index.js").PostSaveFileResourcesData) => any) | undefined;
1208
1203
  }, {
1209
1204
  submit: () => void;
@@ -1732,10 +1727,11 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
1732
1727
  __isTeleport?: undefined;
1733
1728
  __isSuspense?: undefined;
1734
1729
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
1735
- fileList: import("vue").PropType<import("element-plus").UploadFiles>;
1730
+ fileList: {
1731
+ required: true;
1732
+ type: import("vue").PropType<import("element-plus").UploadFile[]>;
1733
+ };
1736
1734
  checkoutFiles: import("vue").PropType<any[]>;
1737
- isIndeterminate: import("vue").PropType<boolean>;
1738
- checkedAll: import("vue").PropType<boolean>;
1739
1735
  listType: {
1740
1736
  type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>>;
1741
1737
  default: string;
@@ -1944,14 +1940,12 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
1944
1940
  disabled: BooleanConstructor;
1945
1941
  limit: NumberConstructor;
1946
1942
  }>> & {
1947
- "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFiles) => any) | undefined;
1943
+ "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFile[]) => any) | undefined;
1948
1944
  onHandleRemove?: ((file: {
1949
1945
  file: import("element-plus").UploadFile;
1950
1946
  index: number;
1951
1947
  }) => any) | undefined;
1952
1948
  "onUpdate:checkoutFiles"?: ((checkoutFiles: any[]) => any) | undefined;
1953
- "onUpdate:isIndeterminate"?: ((isIndeterminate: boolean) => any) | undefined;
1954
- "onUpdate:checkedAll"?: ((checkedAll: boolean) => any) | undefined;
1955
1949
  onHandleSaveFileSuccess?: ((file: import("../../../../api/materialApi/index.js").PostSaveFileResourcesData) => any) | undefined;
1956
1950
  }, {
1957
1951
  submit: () => void;
@@ -2434,10 +2428,8 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
2434
2428
  };
2435
2429
  }) | undefined>;
2436
2430
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
2437
- "update:fileList": (fileList: import("element-plus").UploadFiles) => void;
2431
+ "update:fileList": (fileList: import("element-plus").UploadFile[]) => void;
2438
2432
  "update:checkoutFiles": (checkoutFiles: any[]) => void;
2439
- "update:isIndeterminate": (isIndeterminate: boolean) => void;
2440
- "update:checkedAll": (checkedAll: boolean) => void;
2441
2433
  handleRemove: (file: {
2442
2434
  file: import("element-plus").UploadFile;
2443
2435
  index: number;