giime 0.7.7 → 0.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -886,6 +886,37 @@ video {
886
886
  width: auto;
887
887
  height: auto;
888
888
  }
889
+ .circular[data-v-d7b04fae] {
890
+ animation: loading-rotate-d7b04fae 2s linear infinite;
891
+ }
892
+
893
+ .path[data-v-d7b04fae] {
894
+ animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
895
+ stroke-dasharray: 90, 150;
896
+ stroke-dashoffset: 0;
897
+ stroke: var(--el-color-primary);
898
+ stroke-linecap: round;
899
+ }
900
+
901
+ @keyframes loading-rotate-d7b04fae {
902
+ to {
903
+ transform: rotate(360deg);
904
+ }
905
+ }
906
+ @keyframes loading-dash-d7b04fae {
907
+ 0% {
908
+ stroke-dasharray: 1, 200;
909
+ stroke-dashoffset: 0;
910
+ }
911
+ 50% {
912
+ stroke-dasharray: 90, 150;
913
+ stroke-dashoffset: -40px;
914
+ }
915
+ 100% {
916
+ stroke-dasharray: 90, 150;
917
+ stroke-dashoffset: -120px;
918
+ }
919
+ }
889
920
  .gm-upload-pro-file {
890
921
  line-height: normal;
891
922
  }
@@ -924,36 +955,42 @@ video {
924
955
  .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
925
956
  display: none;
926
957
  }
927
- .circular[data-v-d7b04fae] {
928
- animation: loading-rotate-d7b04fae 2s linear infinite;
958
+ .gm-flex-center[data-v-c17deec9] {
959
+ align-items: center;
929
960
  }
930
961
 
931
- .path[data-v-d7b04fae] {
932
- animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
933
- stroke-dasharray: 90, 150;
934
- stroke-dashoffset: 0;
935
- stroke: var(--el-color-primary);
936
- stroke-linecap: round;
962
+ .gm-flex-justify-between[data-v-c17deec9] {
963
+ justify-content: space-between;
964
+ }
965
+ [data-v-488ca110] .gmSearchForm .el-form-item {
966
+ margin-right: 0;
967
+ margin-bottom: 4px;
968
+ }
969
+ .gm-number-interval-single[data-v-4e6f4d6f] {
970
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
971
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
972
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
973
+ }
974
+ .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
975
+ box-shadow: none;
976
+ background: none;
937
977
  }
938
978
 
939
- @keyframes loading-rotate-d7b04fae {
940
- to {
941
- transform: rotate(360deg);
942
- }
979
+ .gm-number-interval-close[data-v-4e6f4d6f] {
980
+ display: none;
981
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
943
982
  }
944
- @keyframes loading-dash-d7b04fae {
945
- 0% {
946
- stroke-dasharray: 1, 200;
947
- stroke-dashoffset: 0;
948
- }
949
- 50% {
950
- stroke-dasharray: 90, 150;
951
- stroke-dashoffset: -40px;
952
- }
953
- 100% {
954
- stroke-dasharray: 90, 150;
955
- stroke-dashoffset: -120px;
956
- }
983
+
984
+ .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
985
+ display: flex;
986
+ }
987
+ .gm-upload-preview-dialog[data-v-312f9322] [data-v-312f9322] .el-dialog__body {
988
+ padding: 0;
989
+ }
990
+
991
+ .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload-list__item, .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload--picture-card {
992
+ width: auto;
993
+ height: auto;
957
994
  }
958
995
  [data-v-98c2e804] .gmTableNoBorder .el-table__body .el-table__cell {
959
996
  border-right: none;
@@ -978,38 +1015,28 @@ video {
978
1015
  [data-v-98c2e804] .gmTableNoBorder .el-table__border-left-patch {
979
1016
  height: 0;
980
1017
  }
981
- .gm-flex-center[data-v-c17deec9] {
982
- align-items: center;
1018
+ [data-v-2c351ff8] .gmTableNoBorder .el-table__body .el-table__cell {
1019
+ border-right: none;
983
1020
  }
984
1021
 
985
- .gm-flex-justify-between[data-v-c17deec9] {
986
- justify-content: space-between;
987
- }
988
- .gm-number-interval-single[data-v-4e6f4d6f] {
989
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
990
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
991
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
992
- }
993
- .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
994
- box-shadow: none;
995
- background: none;
1022
+ [data-v-2c351ff8] .gmTableNoBorder .el-table__inner-wrapper:before {
1023
+ height: 0;
996
1024
  }
997
1025
 
998
- .gm-number-interval-close[data-v-4e6f4d6f] {
999
- display: none;
1000
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
1026
+ [data-v-2c351ff8] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1027
+ height: 0;
1001
1028
  }
1002
1029
 
1003
- .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
1004
- display: flex;
1030
+ [data-v-2c351ff8] .gmTableNoBorder.el-table--border:after {
1031
+ height: 0;
1005
1032
  }
1006
- .gm-upload-preview-dialog[data-v-12e65ac7] [data-v-12e65ac7] .el-dialog__body {
1007
- padding: 0;
1033
+
1034
+ [data-v-2c351ff8] .gmTableNoBorder.el-table--border:before {
1035
+ height: 0;
1008
1036
  }
1009
1037
 
1010
- .gm-upload-file-picture-card[data-v-12e65ac7] [data-v-12e65ac7] .el-upload-list__item, .gm-upload-file-picture-card[data-v-12e65ac7] [data-v-12e65ac7] .el-upload--picture-card {
1011
- width: auto;
1012
- height: auto;
1038
+ [data-v-2c351ff8] .gmTableNoBorder .el-table__border-left-patch {
1039
+ height: 0;
1013
1040
  }
1014
1041
  .gm-upload-file {
1015
1042
  line-height: normal;
@@ -1046,33 +1073,6 @@ video {
1046
1073
  .gm-upload-file-disabled .el-upload-list__item-status-label {
1047
1074
  display: none;
1048
1075
  }
1049
- [data-v-488ca110] .gmSearchForm .el-form-item {
1050
- margin-right: 0;
1051
- margin-bottom: 4px;
1052
- }
1053
- [data-v-2c351ff8] .gmTableNoBorder .el-table__body .el-table__cell {
1054
- border-right: none;
1055
- }
1056
-
1057
- [data-v-2c351ff8] .gmTableNoBorder .el-table__inner-wrapper:before {
1058
- height: 0;
1059
- }
1060
-
1061
- [data-v-2c351ff8] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1062
- height: 0;
1063
- }
1064
-
1065
- [data-v-2c351ff8] .gmTableNoBorder.el-table--border:after {
1066
- height: 0;
1067
- }
1068
-
1069
- [data-v-2c351ff8] .gmTableNoBorder.el-table--border:before {
1070
- height: 0;
1071
- }
1072
-
1073
- [data-v-2c351ff8] .gmTableNoBorder .el-table__border-left-patch {
1074
- height: 0;
1075
- }
1076
1076
 
1077
1077
  .pagination-container[data-v-47d35e7b] {
1078
1078
  background: #fff;
@@ -183,11 +183,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
183
183
  onExceed: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | {
184
184
  (): (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
185
185
  new (): any;
186
+ /** 取消上传 */
186
187
  readonly prototype: any;
187
188
  } | ((new (...args: any[]) => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | {
188
189
  (): (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
189
190
  new (): any;
190
- /** 预览 */
191
191
  readonly prototype: any;
192
192
  })[], unknown, unknown, () => void, boolean>;
193
193
  crossorigin: {
@@ -922,11 +922,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
922
922
  onExceed: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | {
923
923
  (): (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
924
924
  new (): any;
925
+ /** 取消上传 */
925
926
  readonly prototype: any;
926
927
  } | ((new (...args: any[]) => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | {
927
928
  (): (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
928
929
  new (): any;
929
- /** 预览 */
930
930
  readonly prototype: any;
931
931
  })[], unknown, unknown, () => void, boolean>;
932
932
  crossorigin: {
@@ -3,7 +3,7 @@ import './UploadFile.vue3.mjs';
3
3
  import './UploadFile.vue4.mjs';
4
4
  import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
5
5
 
6
- var UploadFile = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-12e65ac7"]]);
6
+ var UploadFile = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-312f9322"]]);
7
7
 
8
8
  export { UploadFile as default };
9
9
  //# sourceMappingURL=UploadFile.vue.mjs.map
@@ -8,7 +8,7 @@ import { GmFileComponent } from '../fileComponent/index.mjs';
8
8
  import { GmPreviewFile } from '../previewFile/index.mjs';
9
9
  import { uploadFileProps } from './uploadFile.mjs';
10
10
 
11
- const _withScopeId = (n) => (pushScopeId("data-v-12e65ac7"), n = n(), popScopeId(), n);
11
+ const _withScopeId = (n) => (pushScopeId("data-v-312f9322"), n = n(), popScopeId(), n);
12
12
  const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode(
13
13
  "div",
14
14
  { class: "el-upload__text gm-text-center !gm-text-xs gm-text-gray-500" },
@@ -51,7 +51,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
51
51
  acl: props.acl,
52
52
  elOptions: options
53
53
  });
54
- return res;
54
+ return { ...res, file };
55
55
  };
56
56
  const checkAllUploadComplete = () => {
57
57
  if (loadingUids.value.size === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"UploadFile.vue2.mjs","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 './uploadFile';\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":["_useModel"],"mappings":"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"}
1
+ {"version":3,"file":"UploadFile.vue2.mjs","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 './uploadFile';\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: any = 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, file };\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":["_useModel"],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const version = "0.7.7";
1
+ export declare const version = "0.7.8";
@@ -1,4 +1,4 @@
1
- const version = "0.7.7";
1
+ const version = "0.7.8";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.7';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.8';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
@@ -9,7 +9,7 @@ const useUploadTaskStore = defineStore("uploadTaskS", () => {
9
9
  const uploadFileTask = async (file, options) => {
10
10
  try {
11
11
  const data = await uploadFile(file, options);
12
- uploadResult.trigger(data);
12
+ uploadResult.trigger({ ...data, file });
13
13
  return data;
14
14
  } catch (error) {
15
15
  uploadError.trigger(error);
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/store/useUploadTask/index.ts"],"sourcesContent":["import { defineStore } from 'pinia';\nimport { createEventHook } from '@vueuse/core';\nimport { useUploadFile } from '../../base/useUploadFile';\nimport type { UseUploadFileOptions } from '../../base/useUploadFile';\nimport type { UploadRawFile } from 'element-plus';\n\n/**\n * 文件上传Hook\n */\nexport const useUploadTaskStore = defineStore('uploadTaskS', () => {\n const { isLoading, uploadFile, cancelUpload, cancelAllUploads } = useUploadFile();\n\n // 创建事件钩子\n const uploadResult = createEventHook();\n const uploadError = createEventHook();\n\n const uploadFileTask = async (file: UploadRawFile, options?: UseUploadFileOptions) => {\n try {\n const data = await uploadFile(file, options);\n\n uploadResult.trigger(data);\n return data;\n } catch (error) {\n uploadError.trigger(error);\n return error;\n }\n };\n\n return {\n // 事件监听器\n uploadResult: uploadResult.on,\n uploadError: uploadError.on,\n\n // 主要方法\n uploadFileTask,\n cancelUpload,\n cancelAllUploads,\n isLoading,\n };\n});\n"],"names":[],"mappings":";;;;AASa,MAAA,kBAAA,GAAqB,WAAY,CAAA,aAAA,EAAe,MAAM;AACjE,EAAA,MAAM,EAAE,SAAW,EAAA,UAAA,EAAY,YAAc,EAAA,gBAAA,KAAqB,aAAc,EAAA,CAAA;AAGhF,EAAA,MAAM,eAAe,eAAgB,EAAA,CAAA;AACrC,EAAA,MAAM,cAAc,eAAgB,EAAA,CAAA;AAEpC,EAAM,MAAA,cAAA,GAAiB,OAAO,IAAA,EAAqB,OAAmC,KAAA;AACpF,IAAI,IAAA;AACF,MAAA,MAAM,IAAO,GAAA,MAAM,UAAW,CAAA,IAAA,EAAM,OAAO,CAAA,CAAA;AAE3C,MAAA,YAAA,CAAa,QAAQ,IAAI,CAAA,CAAA;AACzB,MAAO,OAAA,IAAA,CAAA;AAAA,aACA,KAAO,EAAA;AACd,MAAA,WAAA,CAAY,QAAQ,KAAK,CAAA,CAAA;AACzB,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACF,CAAA;AAEA,EAAO,OAAA;AAAA;AAAA,IAEL,cAAc,YAAa,CAAA,EAAA;AAAA,IAC3B,aAAa,WAAY,CAAA,EAAA;AAAA;AAAA,IAGzB,cAAA;AAAA,IACA,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/store/useUploadTask/index.ts"],"sourcesContent":["import { defineStore } from 'pinia';\nimport { createEventHook } from '@vueuse/core';\nimport { useUploadFile } from '../../base/useUploadFile';\nimport type { UseUploadFileOptions } from '../../base/useUploadFile';\nimport type { UploadRawFile } from 'element-plus';\n\n/**\n * 文件上传Hook\n */\nexport const useUploadTaskStore = defineStore('uploadTaskS', () => {\n const { isLoading, uploadFile, cancelUpload, cancelAllUploads } = useUploadFile();\n\n // 创建事件钩子\n const uploadResult = createEventHook();\n const uploadError = createEventHook();\n\n const uploadFileTask = async (file: UploadRawFile, options?: UseUploadFileOptions) => {\n try {\n const data = await uploadFile(file, options);\n\n uploadResult.trigger({ ...data, file });\n return data;\n } catch (error) {\n uploadError.trigger(error);\n return error;\n }\n };\n\n return {\n // 事件监听器\n uploadResult: uploadResult.on,\n uploadError: uploadError.on,\n\n // 主要方法\n uploadFileTask,\n cancelUpload,\n cancelAllUploads,\n isLoading,\n };\n});\n"],"names":[],"mappings":";;;;AASa,MAAA,kBAAA,GAAqB,WAAY,CAAA,aAAA,EAAe,MAAM;AACjE,EAAA,MAAM,EAAE,SAAW,EAAA,UAAA,EAAY,YAAc,EAAA,gBAAA,KAAqB,aAAc,EAAA,CAAA;AAGhF,EAAA,MAAM,eAAe,eAAgB,EAAA,CAAA;AACrC,EAAA,MAAM,cAAc,eAAgB,EAAA,CAAA;AAEpC,EAAM,MAAA,cAAA,GAAiB,OAAO,IAAA,EAAqB,OAAmC,KAAA;AACpF,IAAI,IAAA;AACF,MAAA,MAAM,IAAO,GAAA,MAAM,UAAW,CAAA,IAAA,EAAM,OAAO,CAAA,CAAA;AAE3C,MAAA,YAAA,CAAa,OAAQ,CAAA,EAAE,GAAG,IAAA,EAAM,MAAM,CAAA,CAAA;AACtC,MAAO,OAAA,IAAA,CAAA;AAAA,aACA,KAAO,EAAA;AACd,MAAA,WAAA,CAAY,QAAQ,KAAK,CAAA,CAAA;AACzB,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACF,CAAA;AAEA,EAAO,OAAA;AAAA;AAAA,IAEL,cAAc,YAAa,CAAA,EAAA;AAAA,IAC3B,aAAa,WAAY,CAAA,EAAA;AAAA;AAAA,IAGzB,cAAA;AAAA,IACA,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
package/es/index.css CHANGED
@@ -886,6 +886,37 @@ video {
886
886
  width: auto;
887
887
  height: auto;
888
888
  }
889
+ .circular[data-v-d7b04fae] {
890
+ animation: loading-rotate-d7b04fae 2s linear infinite;
891
+ }
892
+
893
+ .path[data-v-d7b04fae] {
894
+ animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
895
+ stroke-dasharray: 90, 150;
896
+ stroke-dashoffset: 0;
897
+ stroke: var(--el-color-primary);
898
+ stroke-linecap: round;
899
+ }
900
+
901
+ @keyframes loading-rotate-d7b04fae {
902
+ to {
903
+ transform: rotate(360deg);
904
+ }
905
+ }
906
+ @keyframes loading-dash-d7b04fae {
907
+ 0% {
908
+ stroke-dasharray: 1, 200;
909
+ stroke-dashoffset: 0;
910
+ }
911
+ 50% {
912
+ stroke-dasharray: 90, 150;
913
+ stroke-dashoffset: -40px;
914
+ }
915
+ 100% {
916
+ stroke-dasharray: 90, 150;
917
+ stroke-dashoffset: -120px;
918
+ }
919
+ }
889
920
  .gm-upload-pro-file {
890
921
  line-height: normal;
891
922
  }
@@ -924,36 +955,42 @@ video {
924
955
  .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
925
956
  display: none;
926
957
  }
927
- .circular[data-v-d7b04fae] {
928
- animation: loading-rotate-d7b04fae 2s linear infinite;
958
+ .gm-flex-center[data-v-c17deec9] {
959
+ align-items: center;
929
960
  }
930
961
 
931
- .path[data-v-d7b04fae] {
932
- animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
933
- stroke-dasharray: 90, 150;
934
- stroke-dashoffset: 0;
935
- stroke: var(--el-color-primary);
936
- stroke-linecap: round;
962
+ .gm-flex-justify-between[data-v-c17deec9] {
963
+ justify-content: space-between;
964
+ }
965
+ [data-v-488ca110] .gmSearchForm .el-form-item {
966
+ margin-right: 0;
967
+ margin-bottom: 4px;
968
+ }
969
+ .gm-number-interval-single[data-v-4e6f4d6f] {
970
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
971
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
972
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
973
+ }
974
+ .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
975
+ box-shadow: none;
976
+ background: none;
937
977
  }
938
978
 
939
- @keyframes loading-rotate-d7b04fae {
940
- to {
941
- transform: rotate(360deg);
942
- }
979
+ .gm-number-interval-close[data-v-4e6f4d6f] {
980
+ display: none;
981
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
943
982
  }
944
- @keyframes loading-dash-d7b04fae {
945
- 0% {
946
- stroke-dasharray: 1, 200;
947
- stroke-dashoffset: 0;
948
- }
949
- 50% {
950
- stroke-dasharray: 90, 150;
951
- stroke-dashoffset: -40px;
952
- }
953
- 100% {
954
- stroke-dasharray: 90, 150;
955
- stroke-dashoffset: -120px;
956
- }
983
+
984
+ .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
985
+ display: flex;
986
+ }
987
+ .gm-upload-preview-dialog[data-v-312f9322] [data-v-312f9322] .el-dialog__body {
988
+ padding: 0;
989
+ }
990
+
991
+ .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload-list__item, .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload--picture-card {
992
+ width: auto;
993
+ height: auto;
957
994
  }
958
995
  [data-v-98c2e804] .gmTableNoBorder .el-table__body .el-table__cell {
959
996
  border-right: none;
@@ -978,38 +1015,28 @@ video {
978
1015
  [data-v-98c2e804] .gmTableNoBorder .el-table__border-left-patch {
979
1016
  height: 0;
980
1017
  }
981
- .gm-flex-center[data-v-c17deec9] {
982
- align-items: center;
1018
+ [data-v-2c351ff8] .gmTableNoBorder .el-table__body .el-table__cell {
1019
+ border-right: none;
983
1020
  }
984
1021
 
985
- .gm-flex-justify-between[data-v-c17deec9] {
986
- justify-content: space-between;
987
- }
988
- .gm-number-interval-single[data-v-4e6f4d6f] {
989
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
990
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
991
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
992
- }
993
- .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
994
- box-shadow: none;
995
- background: none;
1022
+ [data-v-2c351ff8] .gmTableNoBorder .el-table__inner-wrapper:before {
1023
+ height: 0;
996
1024
  }
997
1025
 
998
- .gm-number-interval-close[data-v-4e6f4d6f] {
999
- display: none;
1000
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
1026
+ [data-v-2c351ff8] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1027
+ height: 0;
1001
1028
  }
1002
1029
 
1003
- .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
1004
- display: flex;
1030
+ [data-v-2c351ff8] .gmTableNoBorder.el-table--border:after {
1031
+ height: 0;
1005
1032
  }
1006
- .gm-upload-preview-dialog[data-v-12e65ac7] [data-v-12e65ac7] .el-dialog__body {
1007
- padding: 0;
1033
+
1034
+ [data-v-2c351ff8] .gmTableNoBorder.el-table--border:before {
1035
+ height: 0;
1008
1036
  }
1009
1037
 
1010
- .gm-upload-file-picture-card[data-v-12e65ac7] [data-v-12e65ac7] .el-upload-list__item, .gm-upload-file-picture-card[data-v-12e65ac7] [data-v-12e65ac7] .el-upload--picture-card {
1011
- width: auto;
1012
- height: auto;
1038
+ [data-v-2c351ff8] .gmTableNoBorder .el-table__border-left-patch {
1039
+ height: 0;
1013
1040
  }
1014
1041
  .gm-upload-file {
1015
1042
  line-height: normal;
@@ -1046,33 +1073,6 @@ video {
1046
1073
  .gm-upload-file-disabled .el-upload-list__item-status-label {
1047
1074
  display: none;
1048
1075
  }
1049
- [data-v-488ca110] .gmSearchForm .el-form-item {
1050
- margin-right: 0;
1051
- margin-bottom: 4px;
1052
- }
1053
- [data-v-2c351ff8] .gmTableNoBorder .el-table__body .el-table__cell {
1054
- border-right: none;
1055
- }
1056
-
1057
- [data-v-2c351ff8] .gmTableNoBorder .el-table__inner-wrapper:before {
1058
- height: 0;
1059
- }
1060
-
1061
- [data-v-2c351ff8] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1062
- height: 0;
1063
- }
1064
-
1065
- [data-v-2c351ff8] .gmTableNoBorder.el-table--border:after {
1066
- height: 0;
1067
- }
1068
-
1069
- [data-v-2c351ff8] .gmTableNoBorder.el-table--border:before {
1070
- height: 0;
1071
- }
1072
-
1073
- [data-v-2c351ff8] .gmTableNoBorder .el-table__border-left-patch {
1074
- height: 0;
1075
- }
1076
1076
 
1077
1077
  .pagination-container[data-v-47d35e7b] {
1078
1078
  background: #fff;
@@ -183,11 +183,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
183
183
  onExceed: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | {
184
184
  (): (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
185
185
  new (): any;
186
+ /** 取消上传 */
186
187
  readonly prototype: any;
187
188
  } | ((new (...args: any[]) => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | {
188
189
  (): (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
189
190
  new (): any;
190
- /** 预览 */
191
191
  readonly prototype: any;
192
192
  })[], unknown, unknown, () => void, boolean>;
193
193
  crossorigin: {
@@ -922,11 +922,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
922
922
  onExceed: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | {
923
923
  (): (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
924
924
  new (): any;
925
+ /** 取消上传 */
925
926
  readonly prototype: any;
926
927
  } | ((new (...args: any[]) => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | {
927
928
  (): (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
928
929
  new (): any;
929
- /** 预览 */
930
930
  readonly prototype: any;
931
931
  })[], unknown, unknown, () => void, boolean>;
932
932
  crossorigin: {
@@ -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-12e65ac7"]]);
10
+ var UploadFile = /* @__PURE__ */ _pluginVue_exportHelper.default(UploadFile_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-312f9322"]]);
11
11
 
12
12
  exports.default = UploadFile;
13
13
  //# sourceMappingURL=UploadFile.vue.js.map
@@ -12,7 +12,7 @@ var index$3 = require('../fileComponent/index.js');
12
12
  var index$4 = require('../previewFile/index.js');
13
13
  var uploadFile = require('./uploadFile.js');
14
14
 
15
- const _withScopeId = (n) => (vue.pushScopeId("data-v-12e65ac7"), n = n(), vue.popScopeId(), n);
15
+ const _withScopeId = (n) => (vue.pushScopeId("data-v-312f9322"), n = n(), vue.popScopeId(), n);
16
16
  const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
17
17
  "div",
18
18
  { class: "el-upload__text gm-text-center !gm-text-xs gm-text-gray-500" },
@@ -55,7 +55,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
55
55
  acl: props.acl,
56
56
  elOptions: options
57
57
  });
58
- return res;
58
+ return { ...res, file };
59
59
  };
60
60
  const checkAllUploadComplete = () => {
61
61
  if (loadingUids.value.size === 0) {
@@ -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 :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 './uploadFile';\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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"}
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 './uploadFile';\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: any = 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, file };\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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"}
@@ -1 +1 @@
1
- export declare const version = "0.7.7";
1
+ export declare const version = "0.7.8";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "0.7.7";
3
+ const version = "0.7.8";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.7';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.8';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
@@ -11,7 +11,7 @@ const useUploadTaskStore = pinia.defineStore("uploadTaskS", () => {
11
11
  const uploadFileTask = async (file, options) => {
12
12
  try {
13
13
  const data = await uploadFile(file, options);
14
- uploadResult.trigger(data);
14
+ uploadResult.trigger({ ...data, file });
15
15
  return data;
16
16
  } catch (error) {
17
17
  uploadError.trigger(error);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/store/useUploadTask/index.ts"],"sourcesContent":["import { defineStore } from 'pinia';\nimport { createEventHook } from '@vueuse/core';\nimport { useUploadFile } from '../../base/useUploadFile';\nimport type { UseUploadFileOptions } from '../../base/useUploadFile';\nimport type { UploadRawFile } from 'element-plus';\n\n/**\n * 文件上传Hook\n */\nexport const useUploadTaskStore = defineStore('uploadTaskS', () => {\n const { isLoading, uploadFile, cancelUpload, cancelAllUploads } = useUploadFile();\n\n // 创建事件钩子\n const uploadResult = createEventHook();\n const uploadError = createEventHook();\n\n const uploadFileTask = async (file: UploadRawFile, options?: UseUploadFileOptions) => {\n try {\n const data = await uploadFile(file, options);\n\n uploadResult.trigger(data);\n return data;\n } catch (error) {\n uploadError.trigger(error);\n return error;\n }\n };\n\n return {\n // 事件监听器\n uploadResult: uploadResult.on,\n uploadError: uploadError.on,\n\n // 主要方法\n uploadFileTask,\n cancelUpload,\n cancelAllUploads,\n isLoading,\n };\n});\n"],"names":["defineStore","useUploadFile","createEventHook"],"mappings":";;;;;;AASa,MAAA,kBAAA,GAAqBA,iBAAY,CAAA,aAAA,EAAe,MAAM;AACjE,EAAA,MAAM,EAAE,SAAW,EAAA,UAAA,EAAY,YAAc,EAAA,gBAAA,KAAqBC,mBAAc,EAAA,CAAA;AAGhF,EAAA,MAAM,eAAeC,oBAAgB,EAAA,CAAA;AACrC,EAAA,MAAM,cAAcA,oBAAgB,EAAA,CAAA;AAEpC,EAAM,MAAA,cAAA,GAAiB,OAAO,IAAA,EAAqB,OAAmC,KAAA;AACpF,IAAI,IAAA;AACF,MAAA,MAAM,IAAO,GAAA,MAAM,UAAW,CAAA,IAAA,EAAM,OAAO,CAAA,CAAA;AAE3C,MAAA,YAAA,CAAa,QAAQ,IAAI,CAAA,CAAA;AACzB,MAAO,OAAA,IAAA,CAAA;AAAA,aACA,KAAO,EAAA;AACd,MAAA,WAAA,CAAY,QAAQ,KAAK,CAAA,CAAA;AACzB,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACF,CAAA;AAEA,EAAO,OAAA;AAAA;AAAA,IAEL,cAAc,YAAa,CAAA,EAAA;AAAA,IAC3B,aAAa,WAAY,CAAA,EAAA;AAAA;AAAA,IAGzB,cAAA;AAAA,IACA,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/store/useUploadTask/index.ts"],"sourcesContent":["import { defineStore } from 'pinia';\nimport { createEventHook } from '@vueuse/core';\nimport { useUploadFile } from '../../base/useUploadFile';\nimport type { UseUploadFileOptions } from '../../base/useUploadFile';\nimport type { UploadRawFile } from 'element-plus';\n\n/**\n * 文件上传Hook\n */\nexport const useUploadTaskStore = defineStore('uploadTaskS', () => {\n const { isLoading, uploadFile, cancelUpload, cancelAllUploads } = useUploadFile();\n\n // 创建事件钩子\n const uploadResult = createEventHook();\n const uploadError = createEventHook();\n\n const uploadFileTask = async (file: UploadRawFile, options?: UseUploadFileOptions) => {\n try {\n const data = await uploadFile(file, options);\n\n uploadResult.trigger({ ...data, file });\n return data;\n } catch (error) {\n uploadError.trigger(error);\n return error;\n }\n };\n\n return {\n // 事件监听器\n uploadResult: uploadResult.on,\n uploadError: uploadError.on,\n\n // 主要方法\n uploadFileTask,\n cancelUpload,\n cancelAllUploads,\n isLoading,\n };\n});\n"],"names":["defineStore","useUploadFile","createEventHook"],"mappings":";;;;;;AASa,MAAA,kBAAA,GAAqBA,iBAAY,CAAA,aAAA,EAAe,MAAM;AACjE,EAAA,MAAM,EAAE,SAAW,EAAA,UAAA,EAAY,YAAc,EAAA,gBAAA,KAAqBC,mBAAc,EAAA,CAAA;AAGhF,EAAA,MAAM,eAAeC,oBAAgB,EAAA,CAAA;AACrC,EAAA,MAAM,cAAcA,oBAAgB,EAAA,CAAA;AAEpC,EAAM,MAAA,cAAA,GAAiB,OAAO,IAAA,EAAqB,OAAmC,KAAA;AACpF,IAAI,IAAA;AACF,MAAA,MAAM,IAAO,GAAA,MAAM,UAAW,CAAA,IAAA,EAAM,OAAO,CAAA,CAAA;AAE3C,MAAA,YAAA,CAAa,OAAQ,CAAA,EAAE,GAAG,IAAA,EAAM,MAAM,CAAA,CAAA;AACtC,MAAO,OAAA,IAAA,CAAA;AAAA,aACA,KAAO,EAAA;AACd,MAAA,WAAA,CAAY,QAAQ,KAAK,CAAA,CAAA;AACzB,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACF,CAAA;AAEA,EAAO,OAAA;AAAA;AAAA,IAEL,cAAc,YAAa,CAAA,EAAA;AAAA,IAC3B,aAAa,WAAY,CAAA,EAAA;AAAA;AAAA,IAGzB,cAAA;AAAA,IACA,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
package/lib/index.css CHANGED
@@ -886,6 +886,37 @@ video {
886
886
  width: auto;
887
887
  height: auto;
888
888
  }
889
+ .circular[data-v-d7b04fae] {
890
+ animation: loading-rotate-d7b04fae 2s linear infinite;
891
+ }
892
+
893
+ .path[data-v-d7b04fae] {
894
+ animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
895
+ stroke-dasharray: 90, 150;
896
+ stroke-dashoffset: 0;
897
+ stroke: var(--el-color-primary);
898
+ stroke-linecap: round;
899
+ }
900
+
901
+ @keyframes loading-rotate-d7b04fae {
902
+ to {
903
+ transform: rotate(360deg);
904
+ }
905
+ }
906
+ @keyframes loading-dash-d7b04fae {
907
+ 0% {
908
+ stroke-dasharray: 1, 200;
909
+ stroke-dashoffset: 0;
910
+ }
911
+ 50% {
912
+ stroke-dasharray: 90, 150;
913
+ stroke-dashoffset: -40px;
914
+ }
915
+ 100% {
916
+ stroke-dasharray: 90, 150;
917
+ stroke-dashoffset: -120px;
918
+ }
919
+ }
889
920
  .gm-upload-pro-file {
890
921
  line-height: normal;
891
922
  }
@@ -924,36 +955,42 @@ video {
924
955
  .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
925
956
  display: none;
926
957
  }
927
- .circular[data-v-d7b04fae] {
928
- animation: loading-rotate-d7b04fae 2s linear infinite;
958
+ .gm-flex-center[data-v-c17deec9] {
959
+ align-items: center;
929
960
  }
930
961
 
931
- .path[data-v-d7b04fae] {
932
- animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
933
- stroke-dasharray: 90, 150;
934
- stroke-dashoffset: 0;
935
- stroke: var(--el-color-primary);
936
- stroke-linecap: round;
962
+ .gm-flex-justify-between[data-v-c17deec9] {
963
+ justify-content: space-between;
964
+ }
965
+ [data-v-488ca110] .gmSearchForm .el-form-item {
966
+ margin-right: 0;
967
+ margin-bottom: 4px;
968
+ }
969
+ .gm-number-interval-single[data-v-4e6f4d6f] {
970
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
971
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
972
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
973
+ }
974
+ .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
975
+ box-shadow: none;
976
+ background: none;
937
977
  }
938
978
 
939
- @keyframes loading-rotate-d7b04fae {
940
- to {
941
- transform: rotate(360deg);
942
- }
979
+ .gm-number-interval-close[data-v-4e6f4d6f] {
980
+ display: none;
981
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
943
982
  }
944
- @keyframes loading-dash-d7b04fae {
945
- 0% {
946
- stroke-dasharray: 1, 200;
947
- stroke-dashoffset: 0;
948
- }
949
- 50% {
950
- stroke-dasharray: 90, 150;
951
- stroke-dashoffset: -40px;
952
- }
953
- 100% {
954
- stroke-dasharray: 90, 150;
955
- stroke-dashoffset: -120px;
956
- }
983
+
984
+ .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
985
+ display: flex;
986
+ }
987
+ .gm-upload-preview-dialog[data-v-312f9322] [data-v-312f9322] .el-dialog__body {
988
+ padding: 0;
989
+ }
990
+
991
+ .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload-list__item, .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload--picture-card {
992
+ width: auto;
993
+ height: auto;
957
994
  }
958
995
  [data-v-98c2e804] .gmTableNoBorder .el-table__body .el-table__cell {
959
996
  border-right: none;
@@ -978,38 +1015,28 @@ video {
978
1015
  [data-v-98c2e804] .gmTableNoBorder .el-table__border-left-patch {
979
1016
  height: 0;
980
1017
  }
981
- .gm-flex-center[data-v-c17deec9] {
982
- align-items: center;
1018
+ [data-v-2c351ff8] .gmTableNoBorder .el-table__body .el-table__cell {
1019
+ border-right: none;
983
1020
  }
984
1021
 
985
- .gm-flex-justify-between[data-v-c17deec9] {
986
- justify-content: space-between;
987
- }
988
- .gm-number-interval-single[data-v-4e6f4d6f] {
989
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
990
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
991
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
992
- }
993
- .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
994
- box-shadow: none;
995
- background: none;
1022
+ [data-v-2c351ff8] .gmTableNoBorder .el-table__inner-wrapper:before {
1023
+ height: 0;
996
1024
  }
997
1025
 
998
- .gm-number-interval-close[data-v-4e6f4d6f] {
999
- display: none;
1000
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
1026
+ [data-v-2c351ff8] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1027
+ height: 0;
1001
1028
  }
1002
1029
 
1003
- .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
1004
- display: flex;
1030
+ [data-v-2c351ff8] .gmTableNoBorder.el-table--border:after {
1031
+ height: 0;
1005
1032
  }
1006
- .gm-upload-preview-dialog[data-v-12e65ac7] [data-v-12e65ac7] .el-dialog__body {
1007
- padding: 0;
1033
+
1034
+ [data-v-2c351ff8] .gmTableNoBorder.el-table--border:before {
1035
+ height: 0;
1008
1036
  }
1009
1037
 
1010
- .gm-upload-file-picture-card[data-v-12e65ac7] [data-v-12e65ac7] .el-upload-list__item, .gm-upload-file-picture-card[data-v-12e65ac7] [data-v-12e65ac7] .el-upload--picture-card {
1011
- width: auto;
1012
- height: auto;
1038
+ [data-v-2c351ff8] .gmTableNoBorder .el-table__border-left-patch {
1039
+ height: 0;
1013
1040
  }
1014
1041
  .gm-upload-file {
1015
1042
  line-height: normal;
@@ -1046,33 +1073,6 @@ video {
1046
1073
  .gm-upload-file-disabled .el-upload-list__item-status-label {
1047
1074
  display: none;
1048
1075
  }
1049
- [data-v-488ca110] .gmSearchForm .el-form-item {
1050
- margin-right: 0;
1051
- margin-bottom: 4px;
1052
- }
1053
- [data-v-2c351ff8] .gmTableNoBorder .el-table__body .el-table__cell {
1054
- border-right: none;
1055
- }
1056
-
1057
- [data-v-2c351ff8] .gmTableNoBorder .el-table__inner-wrapper:before {
1058
- height: 0;
1059
- }
1060
-
1061
- [data-v-2c351ff8] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1062
- height: 0;
1063
- }
1064
-
1065
- [data-v-2c351ff8] .gmTableNoBorder.el-table--border:after {
1066
- height: 0;
1067
- }
1068
-
1069
- [data-v-2c351ff8] .gmTableNoBorder.el-table--border:before {
1070
- height: 0;
1071
- }
1072
-
1073
- [data-v-2c351ff8] .gmTableNoBorder .el-table__border-left-patch {
1074
- height: 0;
1075
- }
1076
1076
 
1077
1077
  .pagination-container[data-v-47d35e7b] {
1078
1078
  background: #fff;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giime",
3
- "version": "0.7.7",
3
+ "version": "0.7.8",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "giime",