giime 0.1.3 → 0.1.5

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
@@ -1,3 +1,37 @@
1
+ .gm-flex-center[data-v-d1c6dac0] {
2
+ align-items: center;
3
+ }
4
+
5
+ .gm-flex-justify-between[data-v-d1c6dac0] {
6
+ justify-content: space-between;
7
+ }
8
+ [data-v-e38c9d81] .gmTableNoBorder .el-table__body .el-table__cell {
9
+ border-right: none;
10
+ }
11
+
12
+ [data-v-e38c9d81] .gmTableNoBorder .el-table__inner-wrapper:before {
13
+ height: 0;
14
+ }
15
+
16
+ [data-v-e38c9d81] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
17
+ height: 0;
18
+ }
19
+
20
+ [data-v-e38c9d81] .gmTableNoBorder.el-table--border:after {
21
+ height: 0;
22
+ }
23
+
24
+ [data-v-e38c9d81] .gmTableNoBorder.el-table--border:before {
25
+ height: 0;
26
+ }
27
+
28
+ [data-v-e38c9d81] .gmTableNoBorder .el-table__border-left-patch {
29
+ height: 0;
30
+ }
31
+ [data-v-512cf874] .gmSearchForm .el-form-item {
32
+ margin-right: 8px;
33
+ margin-bottom: 8px;
34
+ }
1
35
  /*
2
36
  ! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
3
37
  *//*
@@ -687,40 +721,6 @@ video {
687
721
  .gm-group:hover .group-hover\:gm-block {
688
722
  display: block;
689
723
  }
690
- .gm-flex-center[data-v-d1c6dac0] {
691
- align-items: center;
692
- }
693
-
694
- .gm-flex-justify-between[data-v-d1c6dac0] {
695
- justify-content: space-between;
696
- }
697
- [data-v-512cf874] .gmSearchForm .el-form-item {
698
- margin-right: 8px;
699
- margin-bottom: 8px;
700
- }
701
- [data-v-e38c9d81] .gmTableNoBorder .el-table__body .el-table__cell {
702
- border-right: none;
703
- }
704
-
705
- [data-v-e38c9d81] .gmTableNoBorder .el-table__inner-wrapper:before {
706
- height: 0;
707
- }
708
-
709
- [data-v-e38c9d81] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
710
- height: 0;
711
- }
712
-
713
- [data-v-e38c9d81] .gmTableNoBorder.el-table--border:after {
714
- height: 0;
715
- }
716
-
717
- [data-v-e38c9d81] .gmTableNoBorder.el-table--border:before {
718
- height: 0;
719
- }
720
-
721
- [data-v-e38c9d81] .gmTableNoBorder .el-table__border-left-patch {
722
- height: 0;
723
- }
724
724
 
725
725
  .pagination-container[data-v-8a95ba6d] {
726
726
  background: #fff;
@@ -1,4 +1,4 @@
1
- import type { UploadFile, UploadFiles } from 'element-plus';
1
+ import type { UploadFile, UploadFiles, UploadRawFile } from 'element-plus';
2
2
  /** 取消按钮 */
3
3
  declare function closeDialog(): void;
4
4
  /** 表单重置 */
@@ -31,6 +31,19 @@ declare const _default: import("vue").DefineComponent<{
31
31
  new (): any;
32
32
  readonly prototype: any;
33
33
  })[], unknown, unknown, import("element-plus").UploadRequestHandler, boolean>;
34
+ beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | {
35
+ (): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
36
+ new (): any;
37
+ readonly prototype: any;
38
+ } | ((new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | {
39
+ (): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
40
+ new (): any;
41
+ readonly prototype: any;
42
+ })[], unknown, unknown, () => void, boolean>;
43
+ accept: {
44
+ type: StringConstructor;
45
+ default: string;
46
+ };
34
47
  }, {
35
48
  openDialog: () => void;
36
49
  closeDialog: typeof closeDialog;
@@ -65,11 +78,26 @@ declare const _default: import("vue").DefineComponent<{
65
78
  new (): any;
66
79
  readonly prototype: any;
67
80
  })[], unknown, unknown, import("element-plus").UploadRequestHandler, boolean>;
81
+ beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | {
82
+ (): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
83
+ new (): any;
84
+ readonly prototype: any;
85
+ } | ((new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | {
86
+ (): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
87
+ new (): any;
88
+ readonly prototype: any;
89
+ })[], unknown, unknown, () => void, boolean>;
90
+ accept: {
91
+ type: StringConstructor;
92
+ default: string;
93
+ };
68
94
  }>> & {
69
95
  onDownloadTemplate?: (() => any) | undefined;
70
96
  }, {
71
97
  onError: (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
98
+ beforeUpload: (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
72
99
  onSuccess: (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
100
+ accept: string;
73
101
  httpRequest: import("element-plus").UploadRequestHandler;
74
102
  }, {}>;
75
103
  export default _default;
@@ -110,10 +110,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
110
110
  "onUpdate:fileList": _cache[1] || (_cache[1] = ($event) => fileList.value = $event),
111
111
  action: "",
112
112
  limit: 1,
113
+ accept: _ctx.accept,
113
114
  "http-request": httpRequest,
114
115
  "on-exceed": handleExceed,
115
116
  "on-success": handleSuccess,
116
117
  "on-error": handleError,
118
+ "before-upload": _ctx.beforeUpload,
117
119
  "auto-upload": false,
118
120
  class: "gm-px-6"
119
121
  }, {
@@ -148,7 +150,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
148
150
  ]),
149
151
  _: 1
150
152
  /* STABLE */
151
- }, 8, ["file-list"])
153
+ }, 8, ["file-list", "accept", "before-upload"])
152
154
  ])
153
155
  ]),
154
156
  _: 1
@@ -1 +1 @@
1
- {"version":3,"file":"ImportDialog.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/importDialog/ImportDialog.vue"],"sourcesContent":["<template>\r\n <!-- 导入对话框 -->\r\n <gm-dialog v-model=\"dialogVisible\" title=\"导入\" width=\"500px\" append-to-body>\r\n <div class=\" \">\r\n <gm-upload\r\n ref=\"uploadRef\"\r\n v-model:file-list=\"fileList\"\r\n action=\"\"\r\n :limit=\"1\"\r\n :http-request=\"httpRequest\"\r\n :on-exceed=\"handleExceed\"\r\n :on-success=\"handleSuccess\"\r\n :on-error=\"handleError\"\r\n :auto-upload=\"false\"\r\n class=\"gm-px-6\"\r\n >\r\n <div class=\"gm-flex gm-items-center\">\r\n <gm-button type=\"primary\" :icon=\"Download\" @click.stop=\"emit('downloadTemplate')\"> 下载导入模板 </gm-button>\r\n <gm-button type=\"primary\" :icon=\"Upload\" style=\"margin-left: 36px\">选择文件导入</gm-button>\r\n </div>\r\n\r\n <!-- <el-button class=\"ml-3\" type=\"success\" @click=\"submitUpload\"> upload to server </el-button> -->\r\n <template #tip>\r\n <div class=\"el-upload__tip gm-text-red-500\">限制1个文件,新文件将覆盖旧文件</div>\r\n </template>\r\n </gm-upload>\r\n </div>\r\n\r\n <template #footer>\r\n <div class=\"dialog-footer\">\r\n <gm-button type=\"primary\" :loading=\"uploadLoading\" @click=\"submitUpload\">确 定</gm-button>\r\n <gm-button @click=\"closeDialog\">取 消</gm-button>\r\n </div>\r\n </template>\r\n </gm-dialog>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref } from 'vue';\r\nimport { genFileId } from 'element-plus';\r\nimport { Download, Upload } from '@element-plus/icons-vue';\r\nimport { importDialogEmits, importDialogProps } from './importDialog';\r\nimport type { UploadInstance } from '../../base/upload';\r\nimport type { UploadFile, UploadFiles, UploadProps, UploadRawFile, UploadRequestOptions, UploadUserFile } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmImportDialog',\r\n});\r\nconst props = defineProps(importDialogProps);\r\nconst emit = defineEmits(importDialogEmits);\r\n\r\nconst fileList = ref<UploadUserFile[]>([]);\r\nconst uploadRef = ref<UploadInstance>();\r\n\r\nconst handleExceed: UploadProps['onExceed'] = files => {\r\n uploadRef.value!.clearFiles();\r\n const file = files[0] as UploadRawFile;\r\n file.uid = genFileId();\r\n uploadRef.value!.handleStart(file);\r\n};\r\n\r\nconst submitUpload = () => {\r\n uploadRef.value!.submit();\r\n};\r\n/**\r\n * 编辑表单\r\n */\r\n// const dialogVisible = defineModel<boolean>('dialogVisible', { required: true });\r\nconst dialogVisible = ref(false);\r\n\r\n/** 新增按钮操作 */\r\nconst openDialog = () => {\r\n dialogVisible.value = true;\r\n};\r\n/** 取消按钮 */\r\nfunction closeDialog() {\r\n dialogVisible.value = false;\r\n reset();\r\n}\r\n/** 表单重置 */\r\nfunction reset() {\r\n fileList.value = [];\r\n}\r\n\r\nconst uploadLoading = ref(false);\r\nconst httpRequest = (options: UploadRequestOptions) => {\r\n uploadLoading.value = true;\r\n return props.httpRequest(options);\r\n};\r\n// 上传成功\r\nfunction handleSuccess(response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) {\r\n uploadLoading.value = false;\r\n return props.onSuccess(response, uploadFile, uploadFiles);\r\n}\r\n// 上传失败\r\nconst handleError = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\r\n uploadLoading.value = false;\r\n return props.onError(error, uploadFile, uploadFiles);\r\n};\r\ndefineExpose({\r\n openDialog,\r\n closeDialog,\r\n reset,\r\n});\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA+CA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,QAAA,GAAW,GAAsB,CAAA,EAAE,CAAA,CAAA;AACzC,IAAA,MAAM,YAAY,GAAoB,EAAA,CAAA;AAEtC,IAAA,MAAM,eAAwC,CAAS,KAAA,KAAA;AACrD,MAAA,SAAA,CAAU,MAAO,UAAW,EAAA,CAAA;AAC5B,MAAM,MAAA,IAAA,GAAO,MAAM,CAAC,CAAA,CAAA;AACpB,MAAA,IAAA,CAAK,MAAM,SAAU,EAAA,CAAA;AACrB,MAAU,SAAA,CAAA,KAAA,CAAO,YAAY,IAAI,CAAA,CAAA;AAAA,KACnC,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAA,SAAA,CAAU,MAAO,MAAO,EAAA,CAAA;AAAA,KAC1B,CAAA;AAKA,IAAM,MAAA,aAAA,GAAgB,IAAI,KAAK,CAAA,CAAA;AAG/B,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AAAA,KACxB,CAAA;AAEA,IAAA,SAAS,WAAc,GAAA;AACrB,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAM,KAAA,EAAA,CAAA;AAAA,KACR;AAEA,IAAA,SAAS,KAAQ,GAAA;AACf,MAAA,QAAA,CAAS,QAAQ,EAAC,CAAA;AAAA,KACpB;AAEA,IAAM,MAAA,aAAA,GAAgB,IAAI,KAAK,CAAA,CAAA;AAC/B,IAAM,MAAA,WAAA,GAAc,CAAC,OAAkC,KAAA;AACrD,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,MAAO,OAAA,KAAA,CAAM,YAAY,OAAO,CAAA,CAAA;AAAA,KAClC,CAAA;AAEA,IAAS,SAAA,aAAA,CAAc,QAAe,EAAA,UAAA,EAAwB,WAA0B,EAAA;AACtF,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAA,OAAO,KAAM,CAAA,SAAA,CAAU,QAAU,EAAA,UAAA,EAAY,WAAW,CAAA,CAAA;AAAA,KAC1D;AAEA,IAAA,MAAM,WAAc,GAAA,CAAC,KAAc,EAAA,UAAA,EAAwB,WAA6B,KAAA;AACtF,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,KAAO,EAAA,UAAA,EAAY,WAAW,CAAA,CAAA;AAAA,KACrD,CAAA;AACA,IAAa,QAAA,CAAA;AAAA,MACX,UAAA;AAAA,MACA,WAAA;AAAA,MACA,KAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ImportDialog.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/importDialog/ImportDialog.vue"],"sourcesContent":["<template>\r\n <!-- 导入对话框 -->\r\n <gm-dialog v-model=\"dialogVisible\" title=\"导入\" width=\"500px\" append-to-body>\r\n <div class=\" \">\r\n <gm-upload\r\n ref=\"uploadRef\"\r\n v-model:file-list=\"fileList\"\r\n action=\"\"\r\n :limit=\"1\"\r\n :accept=\"accept\"\r\n :http-request=\"httpRequest\"\r\n :on-exceed=\"handleExceed\"\r\n :on-success=\"handleSuccess\"\r\n :on-error=\"handleError\"\r\n :before-upload=\"beforeUpload\"\r\n :auto-upload=\"false\"\r\n class=\"gm-px-6\"\r\n >\r\n <div class=\"gm-flex gm-items-center\">\r\n <gm-button type=\"primary\" :icon=\"Download\" @click.stop=\"emit('downloadTemplate')\"> 下载导入模板 </gm-button>\r\n <gm-button type=\"primary\" :icon=\"Upload\" style=\"margin-left: 36px\">选择文件导入</gm-button>\r\n </div>\r\n\r\n <!-- <el-button class=\"ml-3\" type=\"success\" @click=\"submitUpload\"> upload to server </el-button> -->\r\n <template #tip>\r\n <div class=\"el-upload__tip gm-text-red-500\">限制1个文件,新文件将覆盖旧文件</div>\r\n </template>\r\n </gm-upload>\r\n </div>\r\n\r\n <template #footer>\r\n <div class=\"dialog-footer\">\r\n <gm-button type=\"primary\" :loading=\"uploadLoading\" @click=\"submitUpload\">确 定</gm-button>\r\n <gm-button @click=\"closeDialog\">取 消</gm-button>\r\n </div>\r\n </template>\r\n </gm-dialog>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref } from 'vue';\r\nimport { genFileId } from 'element-plus';\r\nimport { Download, Upload } from '@element-plus/icons-vue';\r\nimport { importDialogEmits, importDialogProps } from './importDialog';\r\nimport type { UploadInstance } from '../../base/upload';\r\nimport type { UploadFile, UploadFiles, UploadProps, UploadRawFile, UploadRequestOptions, UploadUserFile } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmImportDialog',\r\n});\r\nconst props = defineProps(importDialogProps);\r\nconst emit = defineEmits(importDialogEmits);\r\n\r\nconst fileList = ref<UploadUserFile[]>([]);\r\nconst uploadRef = ref<UploadInstance>();\r\n\r\nconst handleExceed: UploadProps['onExceed'] = files => {\r\n uploadRef.value!.clearFiles();\r\n const file = files[0] as UploadRawFile;\r\n file.uid = genFileId();\r\n uploadRef.value!.handleStart(file);\r\n};\r\n\r\nconst submitUpload = () => {\r\n uploadRef.value!.submit();\r\n};\r\n/**\r\n * 编辑表单\r\n */\r\n// const dialogVisible = defineModel<boolean>('dialogVisible', { required: true });\r\nconst dialogVisible = ref(false);\r\n\r\n/** 新增按钮操作 */\r\nconst openDialog = () => {\r\n dialogVisible.value = true;\r\n};\r\n/** 取消按钮 */\r\nfunction closeDialog() {\r\n dialogVisible.value = false;\r\n reset();\r\n}\r\n/** 表单重置 */\r\nfunction reset() {\r\n fileList.value = [];\r\n}\r\n\r\nconst uploadLoading = ref(false);\r\nconst httpRequest = (options: UploadRequestOptions) => {\r\n uploadLoading.value = true;\r\n return props.httpRequest(options);\r\n};\r\n// 上传成功\r\nfunction handleSuccess(response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) {\r\n uploadLoading.value = false;\r\n return props.onSuccess(response, uploadFile, uploadFiles);\r\n}\r\n// 上传失败\r\nconst handleError = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\r\n uploadLoading.value = false;\r\n return props.onError(error, uploadFile, uploadFiles);\r\n};\r\ndefineExpose({\r\n openDialog,\r\n closeDialog,\r\n reset,\r\n});\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAiDA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,QAAA,GAAW,GAAsB,CAAA,EAAE,CAAA,CAAA;AACzC,IAAA,MAAM,YAAY,GAAoB,EAAA,CAAA;AAEtC,IAAA,MAAM,eAAwC,CAAS,KAAA,KAAA;AACrD,MAAA,SAAA,CAAU,MAAO,UAAW,EAAA,CAAA;AAC5B,MAAM,MAAA,IAAA,GAAO,MAAM,CAAC,CAAA,CAAA;AACpB,MAAA,IAAA,CAAK,MAAM,SAAU,EAAA,CAAA;AACrB,MAAU,SAAA,CAAA,KAAA,CAAO,YAAY,IAAI,CAAA,CAAA;AAAA,KACnC,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAA,SAAA,CAAU,MAAO,MAAO,EAAA,CAAA;AAAA,KAC1B,CAAA;AAKA,IAAM,MAAA,aAAA,GAAgB,IAAI,KAAK,CAAA,CAAA;AAG/B,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AAAA,KACxB,CAAA;AAEA,IAAA,SAAS,WAAc,GAAA;AACrB,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAM,KAAA,EAAA,CAAA;AAAA,KACR;AAEA,IAAA,SAAS,KAAQ,GAAA;AACf,MAAA,QAAA,CAAS,QAAQ,EAAC,CAAA;AAAA,KACpB;AAEA,IAAM,MAAA,aAAA,GAAgB,IAAI,KAAK,CAAA,CAAA;AAC/B,IAAM,MAAA,WAAA,GAAc,CAAC,OAAkC,KAAA;AACrD,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,MAAO,OAAA,KAAA,CAAM,YAAY,OAAO,CAAA,CAAA;AAAA,KAClC,CAAA;AAEA,IAAS,SAAA,aAAA,CAAc,QAAe,EAAA,UAAA,EAAwB,WAA0B,EAAA;AACtF,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAA,OAAO,KAAM,CAAA,SAAA,CAAU,QAAU,EAAA,UAAA,EAAY,WAAW,CAAA,CAAA;AAAA,KAC1D;AAEA,IAAA,MAAM,WAAc,GAAA,CAAC,KAAc,EAAA,UAAA,EAAwB,WAA6B,KAAA;AACtF,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,KAAO,EAAA,UAAA,EAAY,WAAW,CAAA,CAAA;AAAA,KACrD,CAAA;AACA,IAAa,QAAA,CAAA;AAAA,MACX,UAAA;AAAA,MACA,WAAA;AAAA,MACA,KAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -26,6 +26,19 @@ export declare const importDialogProps: {
26
26
  new (): any;
27
27
  readonly prototype: any;
28
28
  })[], unknown, unknown, import("element-plus").UploadRequestHandler, boolean>;
29
+ beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | {
30
+ (): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
31
+ new (): any;
32
+ readonly prototype: any;
33
+ } | ((new (...args: any[]) => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | {
34
+ (): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
35
+ new (): any;
36
+ readonly prototype: any;
37
+ })[], unknown, unknown, () => void, boolean>;
38
+ accept: {
39
+ type: StringConstructor;
40
+ default: string;
41
+ };
29
42
  };
30
43
  export declare const importDialogEmits: {
31
44
  /**
@@ -3,7 +3,12 @@ import { uploadProps } from '../../base/upload/upload.mjs';
3
3
  const importDialogProps = {
4
4
  onSuccess: uploadProps["onSuccess"],
5
5
  onError: uploadProps["onError"],
6
- httpRequest: uploadProps["httpRequest"]
6
+ httpRequest: uploadProps["httpRequest"],
7
+ beforeUpload: uploadProps["beforeUpload"],
8
+ accept: {
9
+ type: String,
10
+ default: ".xls, .xlsx, .csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, text/csv"
11
+ }
7
12
  };
8
13
  const importDialogEmits = {
9
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"importDialog.mjs","sources":["../../../../../../../packages/components/src/composite/importDialog/importDialog.ts"],"sourcesContent":["// import { } from '../../base/dialog/dialog';\r\nimport { uploadProps } from '../../base/upload/upload';\r\nexport const importDialogProps = {\r\n onSuccess: uploadProps['onSuccess'],\r\n onError: uploadProps['onError'],\r\n httpRequest: uploadProps['httpRequest'],\r\n};\r\n\r\nexport const importDialogEmits = {\r\n /**\r\n * 下载模板按钮点击事件\r\n */\r\n downloadTemplate: async () => {},\r\n};\r\n"],"names":[],"mappings":";;AAEO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,SAAA,EAAW,YAAY,WAAW,CAAA;AAAA,EAClC,OAAA,EAAS,YAAY,SAAS,CAAA;AAAA,EAC9B,WAAA,EAAa,YAAY,aAAa,CAAA;AACxC,EAAA;AAEO,MAAM,iBAAoB,GAAA;AAAA;AAAA;AAAA;AAAA,EAI/B,kBAAkB,YAAY;AAAA,GAAC;AACjC;;;;"}
1
+ {"version":3,"file":"importDialog.mjs","sources":["../../../../../../../packages/components/src/composite/importDialog/importDialog.ts"],"sourcesContent":["// import { } from '../../base/dialog/dialog';\r\nimport { uploadProps } from '../../base/upload/upload';\r\nexport const importDialogProps = {\r\n onSuccess: uploadProps['onSuccess'],\r\n onError: uploadProps['onError'],\r\n httpRequest: uploadProps['httpRequest'],\r\n beforeUpload: uploadProps['beforeUpload'],\r\n accept: {\r\n type: String,\r\n default: '.xls, .xlsx, .csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, text/csv',\r\n },\r\n};\r\n\r\nexport const importDialogEmits = {\r\n /**\r\n * 下载模板按钮点击事件\r\n */\r\n downloadTemplate: async () => {},\r\n};\r\n"],"names":[],"mappings":";;AAEO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,SAAA,EAAW,YAAY,WAAW,CAAA;AAAA,EAClC,OAAA,EAAS,YAAY,SAAS,CAAA;AAAA,EAC9B,WAAA,EAAa,YAAY,aAAa,CAAA;AAAA,EACtC,YAAA,EAAc,YAAY,cAAc,CAAA;AAAA,EACxC,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,0HAAA;AAAA,GACX;AACF,EAAA;AAEO,MAAM,iBAAoB,GAAA;AAAA;AAAA;AAAA;AAAA,EAI/B,kBAAkB,YAAY;AAAA,GAAC;AACjC;;;;"}
@@ -27,6 +27,19 @@ export declare const GmImportDialog: import("../../../../utils").SFCWithInstall<
27
27
  new (): any;
28
28
  readonly prototype: any;
29
29
  })[], unknown, unknown, import("element-plus").UploadRequestHandler, boolean>;
30
+ beforeUpload: import("element-plus/es/utils/index.js").EpPropFinalized<(new (...args: any[]) => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | {
31
+ (): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>;
32
+ new (): any;
33
+ readonly prototype: any;
34
+ } | ((new (...args: any[]) => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | {
35
+ (): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>;
36
+ new (): any;
37
+ readonly prototype: any;
38
+ })[], unknown, unknown, () => void, boolean>;
39
+ accept: {
40
+ type: StringConstructor;
41
+ default: string;
42
+ };
30
43
  }, {
31
44
  openDialog: () => void;
32
45
  closeDialog: () => void;
@@ -61,11 +74,26 @@ export declare const GmImportDialog: import("../../../../utils").SFCWithInstall<
61
74
  new (): any;
62
75
  readonly prototype: any;
63
76
  })[], unknown, unknown, import("element-plus").UploadRequestHandler, boolean>;
77
+ beforeUpload: import("element-plus/es/utils/index.js").EpPropFinalized<(new (...args: any[]) => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | {
78
+ (): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>;
79
+ new (): any;
80
+ readonly prototype: any;
81
+ } | ((new (...args: any[]) => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | {
82
+ (): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>;
83
+ new (): any;
84
+ readonly prototype: any;
85
+ })[], unknown, unknown, () => void, boolean>;
86
+ accept: {
87
+ type: StringConstructor;
88
+ default: string;
89
+ };
64
90
  }>> & {
65
91
  onDownloadTemplate?: (() => any) | undefined;
66
92
  }, {
67
93
  onError: (error: Error, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
94
+ beforeUpload: (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>;
68
95
  onSuccess: (response: any, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
96
+ accept: string;
69
97
  httpRequest: import("element-plus").UploadRequestHandler;
70
98
  }, {}>> & Record<string, any>;
71
99
  export type ImportDialogInstance = InstanceType<typeof ImportDialog>;
@@ -1 +1 @@
1
- export declare const version = "0.1.3";
1
+ export declare const version = "0.1.5";
@@ -1,4 +1,4 @@
1
- const version = "0.1.3";
1
+ const version = "0.1.4";
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.1.3';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.1.4';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
package/es/index.css CHANGED
@@ -1,3 +1,37 @@
1
+ .gm-flex-center[data-v-d1c6dac0] {
2
+ align-items: center;
3
+ }
4
+
5
+ .gm-flex-justify-between[data-v-d1c6dac0] {
6
+ justify-content: space-between;
7
+ }
8
+ [data-v-e38c9d81] .gmTableNoBorder .el-table__body .el-table__cell {
9
+ border-right: none;
10
+ }
11
+
12
+ [data-v-e38c9d81] .gmTableNoBorder .el-table__inner-wrapper:before {
13
+ height: 0;
14
+ }
15
+
16
+ [data-v-e38c9d81] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
17
+ height: 0;
18
+ }
19
+
20
+ [data-v-e38c9d81] .gmTableNoBorder.el-table--border:after {
21
+ height: 0;
22
+ }
23
+
24
+ [data-v-e38c9d81] .gmTableNoBorder.el-table--border:before {
25
+ height: 0;
26
+ }
27
+
28
+ [data-v-e38c9d81] .gmTableNoBorder .el-table__border-left-patch {
29
+ height: 0;
30
+ }
31
+ [data-v-512cf874] .gmSearchForm .el-form-item {
32
+ margin-right: 8px;
33
+ margin-bottom: 8px;
34
+ }
1
35
  /*
2
36
  ! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
3
37
  *//*
@@ -687,40 +721,6 @@ video {
687
721
  .gm-group:hover .group-hover\:gm-block {
688
722
  display: block;
689
723
  }
690
- .gm-flex-center[data-v-d1c6dac0] {
691
- align-items: center;
692
- }
693
-
694
- .gm-flex-justify-between[data-v-d1c6dac0] {
695
- justify-content: space-between;
696
- }
697
- [data-v-512cf874] .gmSearchForm .el-form-item {
698
- margin-right: 8px;
699
- margin-bottom: 8px;
700
- }
701
- [data-v-e38c9d81] .gmTableNoBorder .el-table__body .el-table__cell {
702
- border-right: none;
703
- }
704
-
705
- [data-v-e38c9d81] .gmTableNoBorder .el-table__inner-wrapper:before {
706
- height: 0;
707
- }
708
-
709
- [data-v-e38c9d81] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
710
- height: 0;
711
- }
712
-
713
- [data-v-e38c9d81] .gmTableNoBorder.el-table--border:after {
714
- height: 0;
715
- }
716
-
717
- [data-v-e38c9d81] .gmTableNoBorder.el-table--border:before {
718
- height: 0;
719
- }
720
-
721
- [data-v-e38c9d81] .gmTableNoBorder .el-table__border-left-patch {
722
- height: 0;
723
- }
724
724
 
725
725
  .pagination-container[data-v-8a95ba6d] {
726
726
  background: #fff;
@@ -1,4 +1,4 @@
1
- import type { UploadFile, UploadFiles } from 'element-plus';
1
+ import type { UploadFile, UploadFiles, UploadRawFile } from 'element-plus';
2
2
  /** 取消按钮 */
3
3
  declare function closeDialog(): void;
4
4
  /** 表单重置 */
@@ -31,6 +31,19 @@ declare const _default: import("vue").DefineComponent<{
31
31
  new (): any;
32
32
  readonly prototype: any;
33
33
  })[], unknown, unknown, import("element-plus").UploadRequestHandler, boolean>;
34
+ beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | {
35
+ (): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
36
+ new (): any;
37
+ readonly prototype: any;
38
+ } | ((new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | {
39
+ (): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
40
+ new (): any;
41
+ readonly prototype: any;
42
+ })[], unknown, unknown, () => void, boolean>;
43
+ accept: {
44
+ type: StringConstructor;
45
+ default: string;
46
+ };
34
47
  }, {
35
48
  openDialog: () => void;
36
49
  closeDialog: typeof closeDialog;
@@ -65,11 +78,26 @@ declare const _default: import("vue").DefineComponent<{
65
78
  new (): any;
66
79
  readonly prototype: any;
67
80
  })[], unknown, unknown, import("element-plus").UploadRequestHandler, boolean>;
81
+ beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | {
82
+ (): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
83
+ new (): any;
84
+ readonly prototype: any;
85
+ } | ((new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | {
86
+ (): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
87
+ new (): any;
88
+ readonly prototype: any;
89
+ })[], unknown, unknown, () => void, boolean>;
90
+ accept: {
91
+ type: StringConstructor;
92
+ default: string;
93
+ };
68
94
  }>> & {
69
95
  onDownloadTemplate?: (() => any) | undefined;
70
96
  }, {
71
97
  onError: (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
98
+ beforeUpload: (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
72
99
  onSuccess: (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
100
+ accept: string;
73
101
  httpRequest: import("element-plus").UploadRequestHandler;
74
102
  }, {}>;
75
103
  export default _default;
@@ -114,10 +114,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
114
114
  "onUpdate:fileList": _cache[1] || (_cache[1] = ($event) => fileList.value = $event),
115
115
  action: "",
116
116
  limit: 1,
117
+ accept: _ctx.accept,
117
118
  "http-request": httpRequest,
118
119
  "on-exceed": handleExceed,
119
120
  "on-success": handleSuccess,
120
121
  "on-error": handleError,
122
+ "before-upload": _ctx.beforeUpload,
121
123
  "auto-upload": false,
122
124
  class: "gm-px-6"
123
125
  }, {
@@ -152,7 +154,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
152
154
  ]),
153
155
  _: 1
154
156
  /* STABLE */
155
- }, 8, ["file-list"])
157
+ }, 8, ["file-list", "accept", "before-upload"])
156
158
  ])
157
159
  ]),
158
160
  _: 1
@@ -1 +1 @@
1
- {"version":3,"file":"ImportDialog.vue2.js","sources":["../../../../../../../packages/components/src/composite/importDialog/ImportDialog.vue"],"sourcesContent":["<template>\r\n <!-- 导入对话框 -->\r\n <gm-dialog v-model=\"dialogVisible\" title=\"导入\" width=\"500px\" append-to-body>\r\n <div class=\" \">\r\n <gm-upload\r\n ref=\"uploadRef\"\r\n v-model:file-list=\"fileList\"\r\n action=\"\"\r\n :limit=\"1\"\r\n :http-request=\"httpRequest\"\r\n :on-exceed=\"handleExceed\"\r\n :on-success=\"handleSuccess\"\r\n :on-error=\"handleError\"\r\n :auto-upload=\"false\"\r\n class=\"gm-px-6\"\r\n >\r\n <div class=\"gm-flex gm-items-center\">\r\n <gm-button type=\"primary\" :icon=\"Download\" @click.stop=\"emit('downloadTemplate')\"> 下载导入模板 </gm-button>\r\n <gm-button type=\"primary\" :icon=\"Upload\" style=\"margin-left: 36px\">选择文件导入</gm-button>\r\n </div>\r\n\r\n <!-- <el-button class=\"ml-3\" type=\"success\" @click=\"submitUpload\"> upload to server </el-button> -->\r\n <template #tip>\r\n <div class=\"el-upload__tip gm-text-red-500\">限制1个文件,新文件将覆盖旧文件</div>\r\n </template>\r\n </gm-upload>\r\n </div>\r\n\r\n <template #footer>\r\n <div class=\"dialog-footer\">\r\n <gm-button type=\"primary\" :loading=\"uploadLoading\" @click=\"submitUpload\">确 定</gm-button>\r\n <gm-button @click=\"closeDialog\">取 消</gm-button>\r\n </div>\r\n </template>\r\n </gm-dialog>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref } from 'vue';\r\nimport { genFileId } from 'element-plus';\r\nimport { Download, Upload } from '@element-plus/icons-vue';\r\nimport { importDialogEmits, importDialogProps } from './importDialog';\r\nimport type { UploadInstance } from '../../base/upload';\r\nimport type { UploadFile, UploadFiles, UploadProps, UploadRawFile, UploadRequestOptions, UploadUserFile } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmImportDialog',\r\n});\r\nconst props = defineProps(importDialogProps);\r\nconst emit = defineEmits(importDialogEmits);\r\n\r\nconst fileList = ref<UploadUserFile[]>([]);\r\nconst uploadRef = ref<UploadInstance>();\r\n\r\nconst handleExceed: UploadProps['onExceed'] = files => {\r\n uploadRef.value!.clearFiles();\r\n const file = files[0] as UploadRawFile;\r\n file.uid = genFileId();\r\n uploadRef.value!.handleStart(file);\r\n};\r\n\r\nconst submitUpload = () => {\r\n uploadRef.value!.submit();\r\n};\r\n/**\r\n * 编辑表单\r\n */\r\n// const dialogVisible = defineModel<boolean>('dialogVisible', { required: true });\r\nconst dialogVisible = ref(false);\r\n\r\n/** 新增按钮操作 */\r\nconst openDialog = () => {\r\n dialogVisible.value = true;\r\n};\r\n/** 取消按钮 */\r\nfunction closeDialog() {\r\n dialogVisible.value = false;\r\n reset();\r\n}\r\n/** 表单重置 */\r\nfunction reset() {\r\n fileList.value = [];\r\n}\r\n\r\nconst uploadLoading = ref(false);\r\nconst httpRequest = (options: UploadRequestOptions) => {\r\n uploadLoading.value = true;\r\n return props.httpRequest(options);\r\n};\r\n// 上传成功\r\nfunction handleSuccess(response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) {\r\n uploadLoading.value = false;\r\n return props.onSuccess(response, uploadFile, uploadFiles);\r\n}\r\n// 上传失败\r\nconst handleError = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\r\n uploadLoading.value = false;\r\n return props.onError(error, uploadFile, uploadFiles);\r\n};\r\ndefineExpose({\r\n openDialog,\r\n closeDialog,\r\n reset,\r\n});\r\n</script>\r\n"],"names":["ref","genFileId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,QAAA,GAAWA,OAAsB,CAAA,EAAE,CAAA,CAAA;AACzC,IAAA,MAAM,YAAYA,OAAoB,EAAA,CAAA;AAEtC,IAAA,MAAM,eAAwC,CAAS,KAAA,KAAA;AACrD,MAAA,SAAA,CAAU,MAAO,UAAW,EAAA,CAAA;AAC5B,MAAM,MAAA,IAAA,GAAO,MAAM,CAAC,CAAA,CAAA;AACpB,MAAA,IAAA,CAAK,MAAMC,qBAAU,EAAA,CAAA;AACrB,MAAU,SAAA,CAAA,KAAA,CAAO,YAAY,IAAI,CAAA,CAAA;AAAA,KACnC,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAA,SAAA,CAAU,MAAO,MAAO,EAAA,CAAA;AAAA,KAC1B,CAAA;AAKA,IAAM,MAAA,aAAA,GAAgBD,QAAI,KAAK,CAAA,CAAA;AAG/B,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AAAA,KACxB,CAAA;AAEA,IAAA,SAAS,WAAc,GAAA;AACrB,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAM,KAAA,EAAA,CAAA;AAAA,KACR;AAEA,IAAA,SAAS,KAAQ,GAAA;AACf,MAAA,QAAA,CAAS,QAAQ,EAAC,CAAA;AAAA,KACpB;AAEA,IAAM,MAAA,aAAA,GAAgBA,QAAI,KAAK,CAAA,CAAA;AAC/B,IAAM,MAAA,WAAA,GAAc,CAAC,OAAkC,KAAA;AACrD,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,MAAO,OAAA,KAAA,CAAM,YAAY,OAAO,CAAA,CAAA;AAAA,KAClC,CAAA;AAEA,IAAS,SAAA,aAAA,CAAc,QAAe,EAAA,UAAA,EAAwB,WAA0B,EAAA;AACtF,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAA,OAAO,KAAM,CAAA,SAAA,CAAU,QAAU,EAAA,UAAA,EAAY,WAAW,CAAA,CAAA;AAAA,KAC1D;AAEA,IAAA,MAAM,WAAc,GAAA,CAAC,KAAc,EAAA,UAAA,EAAwB,WAA6B,KAAA;AACtF,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,KAAO,EAAA,UAAA,EAAY,WAAW,CAAA,CAAA;AAAA,KACrD,CAAA;AACA,IAAa,QAAA,CAAA;AAAA,MACX,UAAA;AAAA,MACA,WAAA;AAAA,MACA,KAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ImportDialog.vue2.js","sources":["../../../../../../../packages/components/src/composite/importDialog/ImportDialog.vue"],"sourcesContent":["<template>\r\n <!-- 导入对话框 -->\r\n <gm-dialog v-model=\"dialogVisible\" title=\"导入\" width=\"500px\" append-to-body>\r\n <div class=\" \">\r\n <gm-upload\r\n ref=\"uploadRef\"\r\n v-model:file-list=\"fileList\"\r\n action=\"\"\r\n :limit=\"1\"\r\n :accept=\"accept\"\r\n :http-request=\"httpRequest\"\r\n :on-exceed=\"handleExceed\"\r\n :on-success=\"handleSuccess\"\r\n :on-error=\"handleError\"\r\n :before-upload=\"beforeUpload\"\r\n :auto-upload=\"false\"\r\n class=\"gm-px-6\"\r\n >\r\n <div class=\"gm-flex gm-items-center\">\r\n <gm-button type=\"primary\" :icon=\"Download\" @click.stop=\"emit('downloadTemplate')\"> 下载导入模板 </gm-button>\r\n <gm-button type=\"primary\" :icon=\"Upload\" style=\"margin-left: 36px\">选择文件导入</gm-button>\r\n </div>\r\n\r\n <!-- <el-button class=\"ml-3\" type=\"success\" @click=\"submitUpload\"> upload to server </el-button> -->\r\n <template #tip>\r\n <div class=\"el-upload__tip gm-text-red-500\">限制1个文件,新文件将覆盖旧文件</div>\r\n </template>\r\n </gm-upload>\r\n </div>\r\n\r\n <template #footer>\r\n <div class=\"dialog-footer\">\r\n <gm-button type=\"primary\" :loading=\"uploadLoading\" @click=\"submitUpload\">确 定</gm-button>\r\n <gm-button @click=\"closeDialog\">取 消</gm-button>\r\n </div>\r\n </template>\r\n </gm-dialog>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref } from 'vue';\r\nimport { genFileId } from 'element-plus';\r\nimport { Download, Upload } from '@element-plus/icons-vue';\r\nimport { importDialogEmits, importDialogProps } from './importDialog';\r\nimport type { UploadInstance } from '../../base/upload';\r\nimport type { UploadFile, UploadFiles, UploadProps, UploadRawFile, UploadRequestOptions, UploadUserFile } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmImportDialog',\r\n});\r\nconst props = defineProps(importDialogProps);\r\nconst emit = defineEmits(importDialogEmits);\r\n\r\nconst fileList = ref<UploadUserFile[]>([]);\r\nconst uploadRef = ref<UploadInstance>();\r\n\r\nconst handleExceed: UploadProps['onExceed'] = files => {\r\n uploadRef.value!.clearFiles();\r\n const file = files[0] as UploadRawFile;\r\n file.uid = genFileId();\r\n uploadRef.value!.handleStart(file);\r\n};\r\n\r\nconst submitUpload = () => {\r\n uploadRef.value!.submit();\r\n};\r\n/**\r\n * 编辑表单\r\n */\r\n// const dialogVisible = defineModel<boolean>('dialogVisible', { required: true });\r\nconst dialogVisible = ref(false);\r\n\r\n/** 新增按钮操作 */\r\nconst openDialog = () => {\r\n dialogVisible.value = true;\r\n};\r\n/** 取消按钮 */\r\nfunction closeDialog() {\r\n dialogVisible.value = false;\r\n reset();\r\n}\r\n/** 表单重置 */\r\nfunction reset() {\r\n fileList.value = [];\r\n}\r\n\r\nconst uploadLoading = ref(false);\r\nconst httpRequest = (options: UploadRequestOptions) => {\r\n uploadLoading.value = true;\r\n return props.httpRequest(options);\r\n};\r\n// 上传成功\r\nfunction handleSuccess(response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) {\r\n uploadLoading.value = false;\r\n return props.onSuccess(response, uploadFile, uploadFiles);\r\n}\r\n// 上传失败\r\nconst handleError = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\r\n uploadLoading.value = false;\r\n return props.onError(error, uploadFile, uploadFiles);\r\n};\r\ndefineExpose({\r\n openDialog,\r\n closeDialog,\r\n reset,\r\n});\r\n</script>\r\n"],"names":["ref","genFileId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,QAAA,GAAWA,OAAsB,CAAA,EAAE,CAAA,CAAA;AACzC,IAAA,MAAM,YAAYA,OAAoB,EAAA,CAAA;AAEtC,IAAA,MAAM,eAAwC,CAAS,KAAA,KAAA;AACrD,MAAA,SAAA,CAAU,MAAO,UAAW,EAAA,CAAA;AAC5B,MAAM,MAAA,IAAA,GAAO,MAAM,CAAC,CAAA,CAAA;AACpB,MAAA,IAAA,CAAK,MAAMC,qBAAU,EAAA,CAAA;AACrB,MAAU,SAAA,CAAA,KAAA,CAAO,YAAY,IAAI,CAAA,CAAA;AAAA,KACnC,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAA,SAAA,CAAU,MAAO,MAAO,EAAA,CAAA;AAAA,KAC1B,CAAA;AAKA,IAAM,MAAA,aAAA,GAAgBD,QAAI,KAAK,CAAA,CAAA;AAG/B,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AAAA,KACxB,CAAA;AAEA,IAAA,SAAS,WAAc,GAAA;AACrB,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAM,KAAA,EAAA,CAAA;AAAA,KACR;AAEA,IAAA,SAAS,KAAQ,GAAA;AACf,MAAA,QAAA,CAAS,QAAQ,EAAC,CAAA;AAAA,KACpB;AAEA,IAAM,MAAA,aAAA,GAAgBA,QAAI,KAAK,CAAA,CAAA;AAC/B,IAAM,MAAA,WAAA,GAAc,CAAC,OAAkC,KAAA;AACrD,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,MAAO,OAAA,KAAA,CAAM,YAAY,OAAO,CAAA,CAAA;AAAA,KAClC,CAAA;AAEA,IAAS,SAAA,aAAA,CAAc,QAAe,EAAA,UAAA,EAAwB,WAA0B,EAAA;AACtF,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAA,OAAO,KAAM,CAAA,SAAA,CAAU,QAAU,EAAA,UAAA,EAAY,WAAW,CAAA,CAAA;AAAA,KAC1D;AAEA,IAAA,MAAM,WAAc,GAAA,CAAC,KAAc,EAAA,UAAA,EAAwB,WAA6B,KAAA;AACtF,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,KAAO,EAAA,UAAA,EAAY,WAAW,CAAA,CAAA;AAAA,KACrD,CAAA;AACA,IAAa,QAAA,CAAA;AAAA,MACX,UAAA;AAAA,MACA,WAAA;AAAA,MACA,KAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -26,6 +26,19 @@ export declare const importDialogProps: {
26
26
  new (): any;
27
27
  readonly prototype: any;
28
28
  })[], unknown, unknown, import("element-plus").UploadRequestHandler, boolean>;
29
+ beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | {
30
+ (): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
31
+ new (): any;
32
+ readonly prototype: any;
33
+ } | ((new (...args: any[]) => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>) | {
34
+ (): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | File | Blob | null | undefined>;
35
+ new (): any;
36
+ readonly prototype: any;
37
+ })[], unknown, unknown, () => void, boolean>;
38
+ accept: {
39
+ type: StringConstructor;
40
+ default: string;
41
+ };
29
42
  };
30
43
  export declare const importDialogEmits: {
31
44
  /**
@@ -5,7 +5,12 @@ var upload = require('../../base/upload/upload.js');
5
5
  const importDialogProps = {
6
6
  onSuccess: upload.uploadProps["onSuccess"],
7
7
  onError: upload.uploadProps["onError"],
8
- httpRequest: upload.uploadProps["httpRequest"]
8
+ httpRequest: upload.uploadProps["httpRequest"],
9
+ beforeUpload: upload.uploadProps["beforeUpload"],
10
+ accept: {
11
+ type: String,
12
+ default: ".xls, .xlsx, .csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, text/csv"
13
+ }
9
14
  };
10
15
  const importDialogEmits = {
11
16
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"importDialog.js","sources":["../../../../../../../packages/components/src/composite/importDialog/importDialog.ts"],"sourcesContent":["// import { } from '../../base/dialog/dialog';\r\nimport { uploadProps } from '../../base/upload/upload';\r\nexport const importDialogProps = {\r\n onSuccess: uploadProps['onSuccess'],\r\n onError: uploadProps['onError'],\r\n httpRequest: uploadProps['httpRequest'],\r\n};\r\n\r\nexport const importDialogEmits = {\r\n /**\r\n * 下载模板按钮点击事件\r\n */\r\n downloadTemplate: async () => {},\r\n};\r\n"],"names":["uploadProps"],"mappings":";;;;AAEO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,SAAA,EAAWA,mBAAY,WAAW,CAAA;AAAA,EAClC,OAAA,EAASA,mBAAY,SAAS,CAAA;AAAA,EAC9B,WAAA,EAAaA,mBAAY,aAAa,CAAA;AACxC,EAAA;AAEO,MAAM,iBAAoB,GAAA;AAAA;AAAA;AAAA;AAAA,EAI/B,kBAAkB,YAAY;AAAA,GAAC;AACjC;;;;;"}
1
+ {"version":3,"file":"importDialog.js","sources":["../../../../../../../packages/components/src/composite/importDialog/importDialog.ts"],"sourcesContent":["// import { } from '../../base/dialog/dialog';\r\nimport { uploadProps } from '../../base/upload/upload';\r\nexport const importDialogProps = {\r\n onSuccess: uploadProps['onSuccess'],\r\n onError: uploadProps['onError'],\r\n httpRequest: uploadProps['httpRequest'],\r\n beforeUpload: uploadProps['beforeUpload'],\r\n accept: {\r\n type: String,\r\n default: '.xls, .xlsx, .csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, text/csv',\r\n },\r\n};\r\n\r\nexport const importDialogEmits = {\r\n /**\r\n * 下载模板按钮点击事件\r\n */\r\n downloadTemplate: async () => {},\r\n};\r\n"],"names":["uploadProps"],"mappings":";;;;AAEO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,SAAA,EAAWA,mBAAY,WAAW,CAAA;AAAA,EAClC,OAAA,EAASA,mBAAY,SAAS,CAAA;AAAA,EAC9B,WAAA,EAAaA,mBAAY,aAAa,CAAA;AAAA,EACtC,YAAA,EAAcA,mBAAY,cAAc,CAAA;AAAA,EACxC,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,0HAAA;AAAA,GACX;AACF,EAAA;AAEO,MAAM,iBAAoB,GAAA;AAAA;AAAA;AAAA;AAAA,EAI/B,kBAAkB,YAAY;AAAA,GAAC;AACjC;;;;;"}
@@ -27,6 +27,19 @@ export declare const GmImportDialog: import("../../../../utils").SFCWithInstall<
27
27
  new (): any;
28
28
  readonly prototype: any;
29
29
  })[], unknown, unknown, import("element-plus").UploadRequestHandler, boolean>;
30
+ beforeUpload: import("element-plus/es/utils/index.js").EpPropFinalized<(new (...args: any[]) => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | {
31
+ (): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>;
32
+ new (): any;
33
+ readonly prototype: any;
34
+ } | ((new (...args: any[]) => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | {
35
+ (): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>;
36
+ new (): any;
37
+ readonly prototype: any;
38
+ })[], unknown, unknown, () => void, boolean>;
39
+ accept: {
40
+ type: StringConstructor;
41
+ default: string;
42
+ };
30
43
  }, {
31
44
  openDialog: () => void;
32
45
  closeDialog: () => void;
@@ -61,11 +74,26 @@ export declare const GmImportDialog: import("../../../../utils").SFCWithInstall<
61
74
  new (): any;
62
75
  readonly prototype: any;
63
76
  })[], unknown, unknown, import("element-plus").UploadRequestHandler, boolean>;
77
+ beforeUpload: import("element-plus/es/utils/index.js").EpPropFinalized<(new (...args: any[]) => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | {
78
+ (): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>;
79
+ new (): any;
80
+ readonly prototype: any;
81
+ } | ((new (...args: any[]) => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>) | {
82
+ (): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>;
83
+ new (): any;
84
+ readonly prototype: any;
85
+ })[], unknown, unknown, () => void, boolean>;
86
+ accept: {
87
+ type: StringConstructor;
88
+ default: string;
89
+ };
64
90
  }>> & {
65
91
  onDownloadTemplate?: (() => any) | undefined;
66
92
  }, {
67
93
  onError: (error: Error, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
94
+ beforeUpload: (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | File | Blob | null | undefined>;
68
95
  onSuccess: (response: any, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
96
+ accept: string;
69
97
  httpRequest: import("element-plus").UploadRequestHandler;
70
98
  }, {}>> & Record<string, any>;
71
99
  export type ImportDialogInstance = InstanceType<typeof ImportDialog>;
@@ -1 +1 @@
1
- export declare const version = "0.1.3";
1
+ export declare const version = "0.1.5";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "0.1.3";
3
+ const version = "0.1.4";
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.1.3';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.1.4';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
package/lib/index.css CHANGED
@@ -1,3 +1,37 @@
1
+ .gm-flex-center[data-v-d1c6dac0] {
2
+ align-items: center;
3
+ }
4
+
5
+ .gm-flex-justify-between[data-v-d1c6dac0] {
6
+ justify-content: space-between;
7
+ }
8
+ [data-v-e38c9d81] .gmTableNoBorder .el-table__body .el-table__cell {
9
+ border-right: none;
10
+ }
11
+
12
+ [data-v-e38c9d81] .gmTableNoBorder .el-table__inner-wrapper:before {
13
+ height: 0;
14
+ }
15
+
16
+ [data-v-e38c9d81] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
17
+ height: 0;
18
+ }
19
+
20
+ [data-v-e38c9d81] .gmTableNoBorder.el-table--border:after {
21
+ height: 0;
22
+ }
23
+
24
+ [data-v-e38c9d81] .gmTableNoBorder.el-table--border:before {
25
+ height: 0;
26
+ }
27
+
28
+ [data-v-e38c9d81] .gmTableNoBorder .el-table__border-left-patch {
29
+ height: 0;
30
+ }
31
+ [data-v-512cf874] .gmSearchForm .el-form-item {
32
+ margin-right: 8px;
33
+ margin-bottom: 8px;
34
+ }
1
35
  /*
2
36
  ! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
3
37
  *//*
@@ -687,40 +721,6 @@ video {
687
721
  .gm-group:hover .group-hover\:gm-block {
688
722
  display: block;
689
723
  }
690
- .gm-flex-center[data-v-d1c6dac0] {
691
- align-items: center;
692
- }
693
-
694
- .gm-flex-justify-between[data-v-d1c6dac0] {
695
- justify-content: space-between;
696
- }
697
- [data-v-512cf874] .gmSearchForm .el-form-item {
698
- margin-right: 8px;
699
- margin-bottom: 8px;
700
- }
701
- [data-v-e38c9d81] .gmTableNoBorder .el-table__body .el-table__cell {
702
- border-right: none;
703
- }
704
-
705
- [data-v-e38c9d81] .gmTableNoBorder .el-table__inner-wrapper:before {
706
- height: 0;
707
- }
708
-
709
- [data-v-e38c9d81] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
710
- height: 0;
711
- }
712
-
713
- [data-v-e38c9d81] .gmTableNoBorder.el-table--border:after {
714
- height: 0;
715
- }
716
-
717
- [data-v-e38c9d81] .gmTableNoBorder.el-table--border:before {
718
- height: 0;
719
- }
720
-
721
- [data-v-e38c9d81] .gmTableNoBorder .el-table__border-left-patch {
722
- height: 0;
723
- }
724
724
 
725
725
  .pagination-container[data-v-8a95ba6d] {
726
726
  background: #fff;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giime",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "giime",