giime 0.6.21 → 0.6.22
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 +134 -135
- package/es/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +9 -0
- package/es/components/src/business/uploadMaterial/index.d.ts +19 -0
- package/es/components/src/business/uploadMaterial/uploadMaterial.d.ts +4 -0
- package/es/components/src/composite/fileComponent/FileComponent.vue.d.ts +9 -0
- package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs +26 -6
- package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs.map +1 -1
- package/es/components/src/composite/fileComponent/fileComponent.d.ts +5 -0
- package/es/components/src/composite/fileComponent/fileComponent.mjs +5 -0
- package/es/components/src/composite/fileComponent/fileComponent.mjs.map +1 -1
- package/es/components/src/composite/fileComponent/index.d.ts +9 -0
- package/es/components/src/composite/previewFile/PreviewFile.vue.d.ts +9 -0
- package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs +36 -5
- package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs.map +1 -1
- package/es/components/src/composite/previewFile/index.d.ts +9 -0
- package/es/components/src/composite/previewFile/previewFile.d.ts +4 -0
- package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +12 -1
- package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +1 -1
- package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +3 -2
- package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -1
- package/es/components/src/composite/uploadFile/index.d.ts +19 -0
- package/es/components/src/composite/uploadFile/uploadFile.d.ts +4 -0
- package/es/giime/index.mjs +1 -1
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/index.css +134 -135
- package/es/utils/index.mjs +1 -1
- package/es/utils/src/file.d.ts +6 -0
- package/es/utils/src/file.mjs +9 -1
- package/es/utils/src/file.mjs.map +1 -1
- package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +9 -0
- package/lib/components/src/business/uploadMaterial/index.d.ts +19 -0
- package/lib/components/src/business/uploadMaterial/uploadMaterial.d.ts +4 -0
- package/lib/components/src/composite/fileComponent/FileComponent.vue.d.ts +9 -0
- package/lib/components/src/composite/fileComponent/FileComponent.vue2.js +25 -5
- package/lib/components/src/composite/fileComponent/FileComponent.vue2.js.map +1 -1
- package/lib/components/src/composite/fileComponent/fileComponent.d.ts +5 -0
- package/lib/components/src/composite/fileComponent/fileComponent.js +5 -0
- package/lib/components/src/composite/fileComponent/fileComponent.js.map +1 -1
- package/lib/components/src/composite/fileComponent/index.d.ts +9 -0
- package/lib/components/src/composite/previewFile/PreviewFile.vue.d.ts +9 -0
- package/lib/components/src/composite/previewFile/PreviewFile.vue2.js +35 -4
- package/lib/components/src/composite/previewFile/PreviewFile.vue2.js.map +1 -1
- package/lib/components/src/composite/previewFile/index.d.ts +9 -0
- package/lib/components/src/composite/previewFile/previewFile.d.ts +4 -0
- package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +12 -1
- package/lib/components/src/composite/uploadFile/UploadFile.vue.js +1 -1
- package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +3 -2
- package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -1
- package/lib/components/src/composite/uploadFile/index.d.ts +19 -0
- package/lib/components/src/composite/uploadFile/uploadFile.d.ts +4 -0
- package/lib/giime/index.js +1 -0
- package/lib/giime/index.js.map +1 -1
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/index.css +134 -135
- package/lib/utils/index.js +1 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/src/file.d.ts +6 -0
- package/lib/utils/src/file.js +9 -0
- package/lib/utils/src/file.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.mjs","sources":["../../../../../packages/utils/src/file.ts"],"sourcesContent":["import { md5 } from 'js-md5';\n\nexport interface FileConversionOptions {\n mimeType?: string;\n}\n/**\n * 将 URL 转换为 Blob\n * @param url\n * @returns\n */\nexport async function urlToBlob(url: string): Promise<Blob> {\n const response = await fetch(url);\n return response.blob();\n}\n\n/**\n * 将 URL 转换为 File\n * @param url\n * @param filename\n * @param options\n * @returns\n */\nexport async function urlToFile(url: string, filename: string, options?: FileConversionOptions): Promise<File> {\n const blob = await urlToBlob(url);\n return new File([blob], filename, { type: options?.mimeType ?? blob.type });\n}\n\n/**\n * 将 Base64 字符串转换为 File\n * @param base64\n * @param filename\n * @param options\n * @returns\n */\nexport function base64ToFile(base64: string, filename: string, options?: FileConversionOptions): File {\n const bolb = base64ToBlob(base64, { mimeType: options?.mimeType });\n return blobToFile(bolb, filename);\n}\n\n/**\n * 将 File 转换为 Base64 字符串\n * @param file\n * @returns\n */\nexport function fileToBase64(file: File): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result as string);\n reader.onerror = reject;\n reader.readAsDataURL(file);\n });\n}\n\n/**\n * 将 Blob 转换为 Base64 字符串\n * @param blob\n * @returns\n */\nexport function blobToBase64(blob: Blob): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result as string);\n reader.onerror = reject;\n reader.readAsDataURL(blob);\n });\n}\n\n/**\n * 将 File 转换为 Blob\n * @param file\n * @param options\n * @returns\n */\nexport function fileToBlob(file: File, options?: FileConversionOptions): Blob {\n return new Blob([file], { type: options?.mimeType ?? file.type });\n}\n\n/**\n * 将 Blob 转换为 File\n * @param blob\n * @param filename\n * @param options\n * @returns\n */\nexport function blobToFile(blob: Blob, filename: string, options?: FileConversionOptions): File {\n return new File([blob], filename, { type: options?.mimeType ?? blob.type });\n}\n\n/**\n * 将 Base64 字符串转换为 Blob\n * @param base64\n * @param options\n * @returns\n */\nexport function base64ToBlob(base64: string, options?: FileConversionOptions): Blob {\n const matches = base64.match(/^data:(.+);base64,(.*)$/);\n\n if (!matches || matches.length !== 3) {\n throw new Error('Invalid Base64 string');\n }\n\n const mimeType = options?.mimeType ?? matches[1];\n const byteString = atob(matches[2]);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const intArray = new Uint8Array(arrayBuffer);\n\n for (let i = 0; i < byteString.length; i++) {\n intArray[i] = byteString.charCodeAt(i);\n }\n\n return new Blob([intArray], { type: mimeType });\n}\n/**\n * 文件转本地url\n * @param file\n * @returns\n */\nexport function fileToUrl(file: File | Blob) {\n return URL.createObjectURL(file);\n}\n\n// 导出一个函数,用于检查文件类型是否合法\nexport function fileValidType(file: File, validTypes: string) {\n // 获取文件的 MIME 类型\n const fileType = file.type || '';\n // 获取文件的扩展名\n const fileExtension = file.name.slice(Math.max(0, file.name.lastIndexOf('.')));\n // 将合法的文件类型字符串分割成数组\n const acceptTypes = validTypes.split(',').map(type => type.trim());\n // 遍历合法的文件类型数组,检查文件类型是否合法\n return acceptTypes.some(type => {\n // 如果文件类型以 . 开头,则检查文件扩展名\n if (type.startsWith('.')) {\n // 检查文件扩展名是否与合法的文件类型匹配\n return fileExtension.toLowerCase() === type.toLowerCase();\n // 如果文件类型包含 /*,则检查 MIME 类型组,如 image/*\n } else if (type.includes('/*')) {\n // 检查 MIME 类型组,如 image/*\n const [mainType] = type.split('/');\n return fileType.startsWith(`${mainType}/`);\n } else {\n // 检查具体 MIME 类型\n return fileType === type;\n }\n });\n}\n\n/**\n * 计算文件的MD5哈希值\n * @param file 要计算哈希值的文件\n * @returns 文件的MD5哈希值\n */\nexport const fileMd5 = (file: File): Promise<string> => {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = e => {\n try {\n const binary = (e.target as FileReader).result;\n if (binary) {\n resolve(md5(binary));\n } else {\n reject(new Error('读取文件内容失败'));\n }\n } catch (error) {\n reject(new Error(`计算MD5失败: ${error instanceof Error ? error.message : String(error)}`));\n }\n };\n\n reader.onerror = () => {\n reject(new Error('读取文件失败'));\n };\n\n reader.readAsArrayBuffer(file);\n });\n};\n\n/**\n * 获取图片宽高信息\n * @param url 图片链接\n * @returns 图片宽高信息\n */\nexport const getImageInfo = (url: string): Promise<{ width: number; height: number }> => {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve({ width: img.width, height: img.height });\n img.onerror = reject;\n img.src = url;\n });\n};\n\n/**\n * 获取视频信息\n * @param url 视频链接\n * @returns 视频宽高信息\n */\nexport const getVideoInfo = (url: string): Promise<{ width: number; height: number; duration: number }> => {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.onloadedmetadata = () => resolve({ width: video.videoWidth, height: video.videoHeight, duration: video.duration });\n video.onerror = reject;\n video.src = url;\n });\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file.mjs","sources":["../../../../../packages/utils/src/file.ts"],"sourcesContent":["import { md5 } from 'js-md5';\n\nexport interface FileConversionOptions {\n mimeType?: string;\n}\n/**\n * 将 URL 转换为 Blob\n * @param url\n * @returns\n */\nexport async function urlToBlob(url: string): Promise<Blob> {\n const response = await fetch(url);\n return response.blob();\n}\n\n/**\n * 将 URL 转换为 File\n * @param url\n * @param filename\n * @param options\n * @returns\n */\nexport async function urlToFile(url: string, filename: string, options?: FileConversionOptions): Promise<File> {\n const blob = await urlToBlob(url);\n return new File([blob], filename, { type: options?.mimeType ?? blob.type });\n}\n\n/**\n * 将 Base64 字符串转换为 File\n * @param base64\n * @param filename\n * @param options\n * @returns\n */\nexport function base64ToFile(base64: string, filename: string, options?: FileConversionOptions): File {\n const bolb = base64ToBlob(base64, { mimeType: options?.mimeType });\n return blobToFile(bolb, filename);\n}\n\n/**\n * 将 File 转换为 Base64 字符串\n * @param file\n * @returns\n */\nexport function fileToBase64(file: File): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result as string);\n reader.onerror = reject;\n reader.readAsDataURL(file);\n });\n}\n\n/**\n * 将 Blob 转换为 Base64 字符串\n * @param blob\n * @returns\n */\nexport function blobToBase64(blob: Blob): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result as string);\n reader.onerror = reject;\n reader.readAsDataURL(blob);\n });\n}\n\n/**\n * 将 File 转换为 Blob\n * @param file\n * @param options\n * @returns\n */\nexport function fileToBlob(file: File, options?: FileConversionOptions): Blob {\n return new Blob([file], { type: options?.mimeType ?? file.type });\n}\n\n/**\n * 将 Blob 转换为 File\n * @param blob\n * @param filename\n * @param options\n * @returns\n */\nexport function blobToFile(blob: Blob, filename: string, options?: FileConversionOptions): File {\n return new File([blob], filename, { type: options?.mimeType ?? blob.type });\n}\n\n/**\n * 将 Base64 字符串转换为 Blob\n * @param base64\n * @param options\n * @returns\n */\nexport function base64ToBlob(base64: string, options?: FileConversionOptions): Blob {\n const matches = base64.match(/^data:(.+);base64,(.*)$/);\n\n if (!matches || matches.length !== 3) {\n throw new Error('Invalid Base64 string');\n }\n\n const mimeType = options?.mimeType ?? matches[1];\n const byteString = atob(matches[2]);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const intArray = new Uint8Array(arrayBuffer);\n\n for (let i = 0; i < byteString.length; i++) {\n intArray[i] = byteString.charCodeAt(i);\n }\n\n return new Blob([intArray], { type: mimeType });\n}\n/**\n * 文件转本地url\n * @param file\n * @returns\n */\nexport function fileToUrl(file: File | Blob) {\n return URL.createObjectURL(file);\n}\n\n// 导出一个函数,用于检查文件类型是否合法\nexport function fileValidType(file: File, validTypes: string) {\n // 获取文件的 MIME 类型\n const fileType = file.type || '';\n // 获取文件的扩展名\n const fileExtension = file.name.slice(Math.max(0, file.name.lastIndexOf('.')));\n // 将合法的文件类型字符串分割成数组\n const acceptTypes = validTypes.split(',').map(type => type.trim());\n // 遍历合法的文件类型数组,检查文件类型是否合法\n return acceptTypes.some(type => {\n // 如果文件类型以 . 开头,则检查文件扩展名\n if (type.startsWith('.')) {\n // 检查文件扩展名是否与合法的文件类型匹配\n return fileExtension.toLowerCase() === type.toLowerCase();\n // 如果文件类型包含 /*,则检查 MIME 类型组,如 image/*\n } else if (type.includes('/*')) {\n // 检查 MIME 类型组,如 image/*\n const [mainType] = type.split('/');\n return fileType.startsWith(`${mainType}/`);\n } else {\n // 检查具体 MIME 类型\n return fileType === type;\n }\n });\n}\n\n/**\n * 计算文件的MD5哈希值\n * @param file 要计算哈希值的文件\n * @returns 文件的MD5哈希值\n */\nexport const fileMd5 = (file: File): Promise<string> => {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = e => {\n try {\n const binary = (e.target as FileReader).result;\n if (binary) {\n resolve(md5(binary));\n } else {\n reject(new Error('读取文件内容失败'));\n }\n } catch (error) {\n reject(new Error(`计算MD5失败: ${error instanceof Error ? error.message : String(error)}`));\n }\n };\n\n reader.onerror = () => {\n reject(new Error('读取文件失败'));\n };\n\n reader.readAsArrayBuffer(file);\n });\n};\n\n/**\n * 获取图片宽高信息\n * @param url 图片链接\n * @returns 图片宽高信息\n */\nexport const getImageInfo = (url: string): Promise<{ width: number; height: number }> => {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve({ width: img.width, height: img.height });\n img.onerror = reject;\n img.src = url;\n });\n};\n\n/**\n * 获取视频信息\n * @param url 视频链接\n * @returns 视频宽高信息\n */\nexport const getVideoInfo = (url: string): Promise<{ width: number; height: number; duration: number }> => {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.onloadedmetadata = () => resolve({ width: video.videoWidth, height: video.videoHeight, duration: video.duration });\n video.onerror = reject;\n video.src = url;\n });\n};\n\n/**\n * 下载文件\n * @param url 文件链接\n * @param filename 文件名\n */\nexport const downloadFile = (url: string, filename: string = '下载文件') => {\n fetch(url)\n .then(response => response.blob())\n .then(blob => {\n const a = document.createElement('a');\n a.href = URL.createObjectURL(blob);\n a.download = filename;\n a.click();\n });\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -106,6 +106,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
106
106
|
type: BooleanConstructor;
|
|
107
107
|
default: boolean;
|
|
108
108
|
};
|
|
109
|
+
showIcon: {
|
|
110
|
+
type: BooleanConstructor;
|
|
111
|
+
default: boolean;
|
|
112
|
+
};
|
|
109
113
|
beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | {
|
|
110
114
|
(): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
111
115
|
new (): any;
|
|
@@ -334,6 +338,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
334
338
|
type: BooleanConstructor;
|
|
335
339
|
default: boolean;
|
|
336
340
|
};
|
|
341
|
+
showIcon: {
|
|
342
|
+
type: BooleanConstructor;
|
|
343
|
+
default: boolean;
|
|
344
|
+
};
|
|
337
345
|
beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | {
|
|
338
346
|
(): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
339
347
|
new (): any;
|
|
@@ -466,6 +474,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
466
474
|
file: Partial<UploadFile>;
|
|
467
475
|
onError: (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
468
476
|
onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
477
|
+
showIcon: boolean;
|
|
469
478
|
controls: boolean;
|
|
470
479
|
beforeUpload: (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
471
480
|
onRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
@@ -107,6 +107,10 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
|
|
|
107
107
|
type: BooleanConstructor;
|
|
108
108
|
default: boolean;
|
|
109
109
|
};
|
|
110
|
+
showIcon: {
|
|
111
|
+
type: BooleanConstructor;
|
|
112
|
+
default: boolean;
|
|
113
|
+
};
|
|
110
114
|
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 | Blob | File | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | Blob | File | null | undefined>) | {
|
|
111
115
|
(): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
112
116
|
new (): any;
|
|
@@ -343,6 +347,10 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
|
|
|
343
347
|
type: BooleanConstructor;
|
|
344
348
|
default: boolean;
|
|
345
349
|
};
|
|
350
|
+
showIcon: {
|
|
351
|
+
type: BooleanConstructor;
|
|
352
|
+
default: boolean;
|
|
353
|
+
};
|
|
346
354
|
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 | Blob | File | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | Blob | File | null | undefined>) | {
|
|
347
355
|
(): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
348
356
|
new (): any;
|
|
@@ -475,6 +483,7 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
|
|
|
475
483
|
file: Partial<import("element-plus").UploadFile>;
|
|
476
484
|
onError: (error: Error, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
477
485
|
onChange: (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
486
|
+
showIcon: boolean;
|
|
478
487
|
controls: boolean;
|
|
479
488
|
beforeUpload: (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
480
489
|
onRemove: (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
@@ -615,6 +624,10 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
|
|
|
615
624
|
type: BooleanConstructor;
|
|
616
625
|
default: boolean;
|
|
617
626
|
};
|
|
627
|
+
showIcon: {
|
|
628
|
+
type: BooleanConstructor;
|
|
629
|
+
default: boolean;
|
|
630
|
+
};
|
|
618
631
|
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 | Blob | File | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | Blob | File | null | undefined>) | {
|
|
619
632
|
(): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
620
633
|
new (): any;
|
|
@@ -753,6 +766,7 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
|
|
|
753
766
|
file: Partial<import("element-plus").UploadFile>;
|
|
754
767
|
onError: (error: Error, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
755
768
|
onChange: (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
769
|
+
showIcon: boolean;
|
|
756
770
|
controls: boolean;
|
|
757
771
|
beforeUpload: (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
758
772
|
onRemove: (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
@@ -890,6 +904,10 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
|
|
|
890
904
|
type: BooleanConstructor;
|
|
891
905
|
default: boolean;
|
|
892
906
|
};
|
|
907
|
+
showIcon: {
|
|
908
|
+
type: BooleanConstructor;
|
|
909
|
+
default: boolean;
|
|
910
|
+
};
|
|
893
911
|
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 | Blob | File | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | Blob | File | null | undefined>) | {
|
|
894
912
|
(): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
895
913
|
new (): any;
|
|
@@ -1036,6 +1054,7 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
|
|
|
1036
1054
|
file: Partial<import("element-plus").UploadFile>;
|
|
1037
1055
|
onError: (error: Error, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
1038
1056
|
onChange: (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
1057
|
+
showIcon: boolean;
|
|
1039
1058
|
controls: boolean;
|
|
1040
1059
|
beforeUpload: (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript.js").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
1041
1060
|
onRemove: (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
@@ -112,6 +112,10 @@ export declare const uploadMaterialProps: {
|
|
|
112
112
|
type: BooleanConstructor;
|
|
113
113
|
default: boolean;
|
|
114
114
|
};
|
|
115
|
+
showIcon: {
|
|
116
|
+
type: BooleanConstructor;
|
|
117
|
+
default: boolean;
|
|
118
|
+
};
|
|
115
119
|
beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | (() => (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | {
|
|
116
120
|
(): (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
117
121
|
new (): any;
|
|
@@ -28,6 +28,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
28
28
|
type: BooleanConstructor;
|
|
29
29
|
default: boolean;
|
|
30
30
|
};
|
|
31
|
+
showIcon: {
|
|
32
|
+
type: BooleanConstructor;
|
|
33
|
+
default: boolean;
|
|
34
|
+
};
|
|
31
35
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
32
36
|
file: {
|
|
33
37
|
type: import("vue").PropType<Partial<UploadFile>>;
|
|
@@ -57,10 +61,15 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
57
61
|
type: BooleanConstructor;
|
|
58
62
|
default: boolean;
|
|
59
63
|
};
|
|
64
|
+
showIcon: {
|
|
65
|
+
type: BooleanConstructor;
|
|
66
|
+
default: boolean;
|
|
67
|
+
};
|
|
60
68
|
}>>, {
|
|
61
69
|
size: number;
|
|
62
70
|
url: string;
|
|
63
71
|
file: Partial<UploadFile>;
|
|
72
|
+
showIcon: boolean;
|
|
64
73
|
controls: boolean;
|
|
65
74
|
field: keyof UploadFile;
|
|
66
75
|
controlslist: string;
|
|
@@ -9,6 +9,7 @@ var fileComponent = require('./fileComponent.js');
|
|
|
9
9
|
const _hoisted_1 = { class: "gm-flex gm-h-full gm-items-center gm-justify-center" };
|
|
10
10
|
const _hoisted_2 = ["src"];
|
|
11
11
|
const _hoisted_3 = ["src", "controls", "controlslist", "oncontextmenu"];
|
|
12
|
+
const _hoisted_4 = ["src"];
|
|
12
13
|
var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
13
14
|
...{
|
|
14
15
|
name: "GmFileComponent"
|
|
@@ -29,6 +30,11 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
29
30
|
const verifyFile = vue.computed(() => {
|
|
30
31
|
return props.file[props.field];
|
|
31
32
|
});
|
|
33
|
+
const showIframe = vue.computed(() => {
|
|
34
|
+
const arr = ["pdf", "txt"];
|
|
35
|
+
const suffix = verifyFile.value.split(".").pop();
|
|
36
|
+
return arr.includes(suffix);
|
|
37
|
+
});
|
|
32
38
|
const iconList = {
|
|
33
39
|
excel: "https://sucai.giikin.cn/workflow/material-refer-1739947054012-1213-335.svg",
|
|
34
40
|
pdf: "https://sucai.giikin.cn/workflow/material-refer-1739947288698-5462-586.svg",
|
|
@@ -76,11 +82,25 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
76
82
|
controlslist: _ctx.controlslist,
|
|
77
83
|
oncontextmenu: () => _ctx.oncontextmenu,
|
|
78
84
|
style: { "width": "100%", "height": "100%" }
|
|
79
|
-
}, null, 8, _hoisted_3)) : (vue.openBlock(), vue.
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
85
|
+
}, null, 8, _hoisted_3)) : (vue.openBlock(), vue.createElementBlock(
|
|
86
|
+
vue.Fragment,
|
|
87
|
+
{ key: 2 },
|
|
88
|
+
[
|
|
89
|
+
_ctx.showIcon || !showIframe.value ? (vue.openBlock(), vue.createBlock(_component_el_image, {
|
|
90
|
+
key: 0,
|
|
91
|
+
style: vue.normalizeStyle(iconStyle.value),
|
|
92
|
+
src: iconURL.value
|
|
93
|
+
}, null, 8, ["style", "src"])) : (vue.openBlock(), vue.createElementBlock("iframe", {
|
|
94
|
+
key: 1,
|
|
95
|
+
src: fileURL.value,
|
|
96
|
+
width: "850px",
|
|
97
|
+
height: "100%",
|
|
98
|
+
frameborder: "0"
|
|
99
|
+
}, null, 8, _hoisted_4))
|
|
100
|
+
],
|
|
101
|
+
64
|
|
102
|
+
/* STABLE_FRAGMENT */
|
|
103
|
+
))
|
|
84
104
|
]);
|
|
85
105
|
};
|
|
86
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileComponent.vue2.js","sources":["../../../../../../../packages/components/src/composite/fileComponent/FileComponent.vue"],"sourcesContent":["<template>\n <div class=\"gm-flex gm-h-full gm-items-center gm-justify-center\">\n <img v-if=\"isImageUrl(verifyFile)\" :src=\"fileURL\" fit=\"contain\" style=\"max-width: 100%; max-height: 100%\" />\n <video\n v-else-if=\"isVideoUrl(verifyFile)\"\n :src=\"fileURL\"\n :controls=\"controls\"\n :controlslist=\"controlslist\"\n :oncontextmenu=\"() => oncontextmenu\"\n style=\"width: 100%; height: 100%\"\n />\n <el-image v-
|
|
1
|
+
{"version":3,"file":"FileComponent.vue2.js","sources":["../../../../../../../packages/components/src/composite/fileComponent/FileComponent.vue"],"sourcesContent":["<template>\n <div class=\"gm-flex gm-h-full gm-items-center gm-justify-center\">\n <img v-if=\"isImageUrl(verifyFile)\" :src=\"fileURL\" fit=\"contain\" style=\"max-width: 100%; max-height: 100%\" />\n <video\n v-else-if=\"isVideoUrl(verifyFile)\"\n :src=\"fileURL\"\n :controls=\"controls\"\n :controlslist=\"controlslist\"\n :oncontextmenu=\"() => oncontextmenu\"\n style=\"width: 100%; height: 100%\"\n />\n <template v-else>\n <el-image v-if=\"showIcon || !showIframe\" :style=\"iconStyle\" :src=\"iconURL\" />\n <iframe v-else :src=\"fileURL\" width=\"850px\" height=\"100%\" frameborder=\"0\" />\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { isExcel, isImageUrl, isPDF, isPPT, isPSD, isText, isVideoUrl, isWord, isZip } from '@giime/utils/src/is';\nimport { fileComponentProps } from './fileComponent';\n// import PDF from './assets/image/pdf.svg';\n// import WORD from './assets/image/word.svg';\n// import EXCEL from './assets/image/excel.svg';\n// import PPT from './assets/image/ppt.svg';\n// import PSD from './assets/image/psd.svg';\n// import TEXT from './assets/image/text.svg';\n// import ZIP from './assets/image/zip.svg';\n// import UNKNOWN from './assets/image/unknown.svg';\nimport type { UploadFile } from 'element-plus';\n\ndefineOptions({\n name: 'GmFileComponent',\n});\n\nconst props = defineProps(fileComponentProps);\n\nconst iconStyle = computed(() => {\n return {\n width: `${props.size}px`,\n height: `${props.size}px`,\n };\n});\n\n/** 文件链接地址 */\nconst fileURL = computed(() => {\n return props.file[props.url as keyof UploadFile] as string;\n});\n\n/** 验证文件类型的字段 */\nconst verifyFile = computed(() => {\n return props.file[props.field as keyof UploadFile] as string;\n});\n\n/** 显示iframe */\nconst showIframe = computed(() => {\n const arr = ['pdf', 'txt'];\n const suffix = verifyFile.value.split('.').pop();\n\n return arr.includes(suffix as string);\n});\n\n/** 图标 */\nconst iconList = {\n excel: 'https://sucai.giikin.cn/workflow/material-refer-1739947054012-1213-335.svg',\n pdf: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-5462-586.svg',\n word: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1540-625.svg',\n txt: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1700-90.svg',\n zip: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-2639-507.svg',\n psd: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-5026-760.svg',\n ppt: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-2867-970.svg',\n unknown: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1448-736.svg',\n};\n\nconst iconURL = computed<string>(() => {\n const verifyFile = props.file[props.field as keyof UploadFile] as string;\n let result: any = null;\n if (isPDF(verifyFile)) {\n result = iconList.pdf;\n } else if (isWord(verifyFile)) {\n result = iconList.word;\n } else if (isExcel(verifyFile)) {\n result = iconList.excel;\n } else if (isText(verifyFile)) {\n result = iconList.txt;\n } else if (isPPT(verifyFile)) {\n result = iconList.ppt;\n } else if (isZip(verifyFile)) {\n result = iconList.zip;\n } else if (isPSD(verifyFile)) {\n result = iconList.psd;\n } else {\n result = iconList.unknown;\n }\n return result;\n});\n</script>\n"],"names":["computed","verifyFile","isPDF","isWord","isExcel","isText","isPPT","isZip","isPSD"],"mappings":";;;;;;;;;;;;;;;;;;;AAoCA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,SAAA,GAAYA,aAAS,MAAM;AAC/B,MAAO,OAAA;AAAA,QACL,KAAA,EAAO,CAAG,EAAA,KAAA,CAAM,IAAI,CAAA,EAAA,CAAA;AAAA,QACpB,MAAA,EAAQ,CAAG,EAAA,KAAA,CAAM,IAAI,CAAA,EAAA,CAAA;AAAA,OACvB,CAAA;AAAA,KACD,CAAA,CAAA;AAGD,IAAM,MAAA,OAAA,GAAUA,aAAS,MAAM;AAC7B,MAAO,OAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,GAAuB,CAAA,CAAA;AAAA,KAChD,CAAA,CAAA;AAGD,IAAM,MAAA,UAAA,GAAaA,aAAS,MAAM;AAChC,MAAO,OAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,KAAyB,CAAA,CAAA;AAAA,KAClD,CAAA,CAAA;AAGD,IAAM,MAAA,UAAA,GAAaA,aAAS,MAAM;AAChC,MAAM,MAAA,GAAA,GAAM,CAAC,KAAA,EAAO,KAAK,CAAA,CAAA;AACzB,MAAA,MAAM,SAAS,UAAW,CAAA,KAAA,CAAM,KAAM,CAAA,GAAG,EAAE,GAAI,EAAA,CAAA;AAE/C,MAAO,OAAA,GAAA,CAAI,SAAS,MAAgB,CAAA,CAAA;AAAA,KACrC,CAAA,CAAA;AAGD,IAAA,MAAM,QAAW,GAAA;AAAA,MACf,KAAO,EAAA,4EAAA;AAAA,MACP,GAAK,EAAA,4EAAA;AAAA,MACL,IAAM,EAAA,4EAAA;AAAA,MACN,GAAK,EAAA,2EAAA;AAAA,MACL,GAAK,EAAA,4EAAA;AAAA,MACL,GAAK,EAAA,4EAAA;AAAA,MACL,GAAK,EAAA,4EAAA;AAAA,MACL,OAAS,EAAA,4EAAA;AAAA,KACX,CAAA;AAEA,IAAM,MAAA,OAAA,GAAUA,aAAiB,MAAM;AACrC,MAAA,MAAMC,WAAa,GAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,KAAyB,CAAA,CAAA;AAC7D,MAAA,IAAI,MAAc,GAAA,IAAA,CAAA;AAClB,MAAI,IAAAC,QAAA,CAAMD,WAAU,CAAG,EAAA;AACrB,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAWE,SAAOF,CAAAA,WAAU,CAAG,EAAA;AAC7B,QAAA,MAAA,GAAS,QAAS,CAAA,IAAA,CAAA;AAAA,OACpB,MAAA,IAAWG,UAAQH,CAAAA,WAAU,CAAG,EAAA;AAC9B,QAAA,MAAA,GAAS,QAAS,CAAA,KAAA,CAAA;AAAA,OACpB,MAAA,IAAWI,SAAOJ,CAAAA,WAAU,CAAG,EAAA;AAC7B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAWK,QAAML,CAAAA,WAAU,CAAG,EAAA;AAC5B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAWM,QAAMN,CAAAA,WAAU,CAAG,EAAA;AAC5B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAWO,QAAMP,CAAAA,WAAU,CAAG,EAAA;AAC5B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACb,MAAA;AACL,QAAA,MAAA,GAAS,QAAS,CAAA,OAAA,CAAA;AAAA,OACpB;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileComponent.js","sources":["../../../../../../../packages/components/src/composite/fileComponent/fileComponent.ts"],"sourcesContent":["import { type PropType } from 'vue';\nimport { type UploadFile } from 'element-plus';\n\n/** 视频控制器 */\nexport type Controls = 'nodownload' | 'nofullscreen' | 'noremoteplayback' | 'noplaybackrate';\n\nexport const fileComponentProps = {\n /** 文件 */\n file: {\n type: Object as PropType<Partial<UploadFile>>,\n default: () => ({}),\n },\n /** 文件链接字段 */\n url: {\n type: String,\n default: 'url',\n },\n /** 图标大小 */\n size: {\n type: Number,\n default: 80,\n },\n /** 文件类型判断字段 */\n field: {\n type: String as PropType<keyof UploadFile>,\n default: 'name',\n },\n /** 视频是否显示操作按钮 */\n controls: {\n type: Boolean,\n default: true,\n },\n /** 视频控制器选项 */\n controlslist: {\n type: String,\n default: '',\n },\n /** 视频是否显示右键菜单 */\n oncontextmenu: {\n type: Boolean,\n default: true,\n },\n};\n"],"names":[],"mappings":";;AAMO,MAAM,kBAAqB,GAAA;AAAA;AAAA,EAEhC,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA;AAAA,EAEA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"fileComponent.js","sources":["../../../../../../../packages/components/src/composite/fileComponent/fileComponent.ts"],"sourcesContent":["import { type PropType } from 'vue';\nimport { type UploadFile } from 'element-plus';\n\n/** 视频控制器 */\nexport type Controls = 'nodownload' | 'nofullscreen' | 'noremoteplayback' | 'noplaybackrate';\n\nexport const fileComponentProps = {\n /** 文件 */\n file: {\n type: Object as PropType<Partial<UploadFile>>,\n default: () => ({}),\n },\n /** 文件链接字段 */\n url: {\n type: String,\n default: 'url',\n },\n /** 图标大小 */\n size: {\n type: Number,\n default: 80,\n },\n /** 文件类型判断字段 */\n field: {\n type: String as PropType<keyof UploadFile>,\n default: 'name',\n },\n /** 视频是否显示操作按钮 */\n controls: {\n type: Boolean,\n default: true,\n },\n /** 视频控制器选项 */\n controlslist: {\n type: String,\n default: '',\n },\n /** 视频是否显示右键菜单 */\n oncontextmenu: {\n type: Boolean,\n default: true,\n },\n /** 是否显示icon */\n showIcon: {\n type: Boolean,\n default: false,\n },\n};\n"],"names":[],"mappings":";;AAMO,MAAM,kBAAqB,GAAA;AAAA;AAAA,EAEhC,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA;AAAA,EAEA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF;;;;"}
|
|
@@ -28,6 +28,10 @@ export declare const GmFileComponent: import("../../../../utils").SFCWithInstall
|
|
|
28
28
|
type: BooleanConstructor;
|
|
29
29
|
default: boolean;
|
|
30
30
|
};
|
|
31
|
+
showIcon: {
|
|
32
|
+
type: BooleanConstructor;
|
|
33
|
+
default: boolean;
|
|
34
|
+
};
|
|
31
35
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
32
36
|
file: {
|
|
33
37
|
type: import("vue").PropType<Partial<import("element-plus").UploadFile>>;
|
|
@@ -57,10 +61,15 @@ export declare const GmFileComponent: import("../../../../utils").SFCWithInstall
|
|
|
57
61
|
type: BooleanConstructor;
|
|
58
62
|
default: boolean;
|
|
59
63
|
};
|
|
64
|
+
showIcon: {
|
|
65
|
+
type: BooleanConstructor;
|
|
66
|
+
default: boolean;
|
|
67
|
+
};
|
|
60
68
|
}>>, {
|
|
61
69
|
size: number;
|
|
62
70
|
url: string;
|
|
63
71
|
file: Partial<import("element-plus").UploadFile>;
|
|
72
|
+
showIcon: boolean;
|
|
64
73
|
controls: boolean;
|
|
65
74
|
field: keyof import("element-plus").UploadFile;
|
|
66
75
|
controlslist: string;
|
|
@@ -38,6 +38,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
38
38
|
type: BooleanConstructor;
|
|
39
39
|
default: boolean;
|
|
40
40
|
};
|
|
41
|
+
showIcon: {
|
|
42
|
+
type: BooleanConstructor;
|
|
43
|
+
default: boolean;
|
|
44
|
+
};
|
|
41
45
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
42
46
|
"update:dialogVisible": (dialogVisible: boolean) => void;
|
|
43
47
|
"update:fileIndex": (fileIndex: number) => void;
|
|
@@ -80,6 +84,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
80
84
|
type: BooleanConstructor;
|
|
81
85
|
default: boolean;
|
|
82
86
|
};
|
|
87
|
+
showIcon: {
|
|
88
|
+
type: BooleanConstructor;
|
|
89
|
+
default: boolean;
|
|
90
|
+
};
|
|
83
91
|
}>> & {
|
|
84
92
|
"onUpdate:dialogVisible"?: ((dialogVisible: boolean) => any) | undefined;
|
|
85
93
|
"onUpdate:fileIndex"?: ((fileIndex: number) => any) | undefined;
|
|
@@ -88,6 +96,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
88
96
|
width: string;
|
|
89
97
|
url: string;
|
|
90
98
|
file: Partial<UploadFile>;
|
|
99
|
+
showIcon: boolean;
|
|
91
100
|
controls: boolean;
|
|
92
101
|
fileList: Partial<UploadFile>[];
|
|
93
102
|
field: keyof UploadFile;
|
|
@@ -4,12 +4,21 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var elementPlus = require('element-plus');
|
|
7
|
+
var file = require('../../../../utils/src/file.js');
|
|
7
8
|
var iconsVue = require('@element-plus/icons-vue');
|
|
8
9
|
var index = require('../fileComponent/index.js');
|
|
9
10
|
var previewFile = require('./previewFile.js');
|
|
10
11
|
|
|
11
|
-
const _hoisted_1 = { class: "gm-flex gm-
|
|
12
|
-
const _hoisted_2 =
|
|
12
|
+
const _hoisted_1 = { class: "gm-flex gm-items-center gm-justify-between" };
|
|
13
|
+
const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode(
|
|
14
|
+
"span",
|
|
15
|
+
null,
|
|
16
|
+
"\u9884\u89C8",
|
|
17
|
+
-1
|
|
18
|
+
/* HOISTED */
|
|
19
|
+
);
|
|
20
|
+
const _hoisted_3 = { class: "gm-flex gm-select-none gm-items-center gm-justify-center gm-gap-4" };
|
|
21
|
+
const _hoisted_4 = {
|
|
13
22
|
class: "gm-flex gm-flex-1 gm-items-center gm-justify-center",
|
|
14
23
|
style: { "height": "calc(100vh - 240px)" }
|
|
15
24
|
};
|
|
@@ -62,7 +71,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
62
71
|
}
|
|
63
72
|
elementPlus.ElMessage.warning("\u6CA1\u6709\u66F4\u591A\u4E86\uFF01");
|
|
64
73
|
};
|
|
74
|
+
const download = () => {
|
|
75
|
+
const file$1 = files.value[fileIndex.value];
|
|
76
|
+
file.downloadFile(file$1.url || "", file$1.name);
|
|
77
|
+
};
|
|
65
78
|
return (_ctx, _cache) => {
|
|
79
|
+
const _component_el_button = vue.resolveComponent("el-button");
|
|
66
80
|
const _component_el_icon = vue.resolveComponent("el-icon");
|
|
67
81
|
const _component_el_dialog = vue.resolveComponent("el-dialog");
|
|
68
82
|
return vue.openBlock(), vue.createBlock(_component_el_dialog, {
|
|
@@ -74,8 +88,25 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
74
88
|
"append-to-body": "",
|
|
75
89
|
"destroy-on-close": ""
|
|
76
90
|
}, {
|
|
77
|
-
|
|
91
|
+
header: vue.withCtx(() => [
|
|
78
92
|
vue.createElementVNode("div", _hoisted_1, [
|
|
93
|
+
_hoisted_2,
|
|
94
|
+
vue.createVNode(_component_el_button, {
|
|
95
|
+
type: "primary",
|
|
96
|
+
size: "default",
|
|
97
|
+
link: "",
|
|
98
|
+
onClick: download
|
|
99
|
+
}, {
|
|
100
|
+
default: vue.withCtx(() => [
|
|
101
|
+
vue.createTextVNode("\u4E0B\u8F7D")
|
|
102
|
+
]),
|
|
103
|
+
_: 1
|
|
104
|
+
/* STABLE */
|
|
105
|
+
})
|
|
106
|
+
])
|
|
107
|
+
]),
|
|
108
|
+
default: vue.withCtx(() => [
|
|
109
|
+
vue.createElementVNode("div", _hoisted_3, [
|
|
79
110
|
files.value.length > 1 ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
80
111
|
key: 0,
|
|
81
112
|
class: "gm-cursor-pointer",
|
|
@@ -89,7 +120,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
89
120
|
/* STABLE */
|
|
90
121
|
})
|
|
91
122
|
])) : vue.createCommentVNode("v-if", true),
|
|
92
|
-
vue.createElementVNode("div",
|
|
123
|
+
vue.createElementVNode("div", _hoisted_4, [
|
|
93
124
|
vue.createVNode(
|
|
94
125
|
vue.unref(index.GmFileComponent),
|
|
95
126
|
vue.normalizeProps(vue.guardReactiveProps(fileProps.value)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreviewFile.vue2.js","sources":["../../../../../../../packages/components/src/composite/previewFile/PreviewFile.vue"],"sourcesContent":["<template>\n <el-dialog v-model=\"dialogVisible\" title=\"预览\" :width=\"width\" top=\"10vh\" append-to-body destroy-on-close>\n <div class=\"gm-flex gm-select-none gm-items-center gm-justify-center gm-gap-4\">\n <div v-if=\"files.length > 1\" class=\"gm-cursor-pointer\" @click=\"prev\">\n <el-icon :size=\"40\"><ArrowLeftBold /></el-icon>\n </div>\n <div class=\"gm-flex gm-flex-1 gm-items-center gm-justify-center\" style=\"height: calc(100vh - 240px)\">\n <GmFileComponent v-bind=\"fileProps\" />\n </div>\n <div v-if=\"files.length > 1\" class=\"gm-cursor-pointer\" @click=\"next\">\n <el-icon :size=\"40\"><ArrowRightBold /></el-icon>\n </div>\n </div>\n </el-dialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { ElMessage } from 'element-plus';\nimport { ArrowLeftBold, ArrowRightBold } from '@element-plus/icons-vue';\nimport GmFileComponent from '../fileComponent';\nimport { previewFileProps } from './previewFile';\nimport type { UploadFile } from 'element-plus';\n\ndefineOptions({\n name: 'GmPreviewFile',\n});\n\nconst props = defineProps(previewFileProps);\nconst dialogVisible = defineModel<boolean>('dialogVisible', { default: false });\nconst fileIndex = defineModel<number>('fileIndex', { default: 0 });\n\nconst files = computed(() => {\n let result: Partial<UploadFile>[] = props.fileList;\n if (props.fileList && !props.fileList.length && props.file) {\n result = [props.file];\n }\n return result;\n});\n\nconst fileProps = computed(() => {\n const file = files.value[fileIndex.value];\n return {\n file,\n controls: props.controls,\n oncontextmenu: props.oncontextmenu,\n controlslist: props.controlslist,\n field: props.field,\n url: props.url,\n size: props.size,\n };\n});\n\nconst prev = () => {\n if (fileIndex.value > 0) {\n fileIndex.value--;\n return;\n }\n ElMessage.warning('已经是第一张了');\n};\n\nconst next = () => {\n if (fileIndex.value < props.fileList.length - 1) {\n fileIndex.value++;\n return;\n }\n ElMessage.warning('没有更多了!');\n};\n</script>\n"],"names":["_useModel","computed","ElMessage"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PreviewFile.vue2.js","sources":["../../../../../../../packages/components/src/composite/previewFile/PreviewFile.vue"],"sourcesContent":["<template>\n <el-dialog v-model=\"dialogVisible\" title=\"预览\" :width=\"width\" top=\"10vh\" append-to-body destroy-on-close>\n <template #header>\n <div class=\"gm-flex gm-items-center gm-justify-between\">\n <span>预览</span>\n <el-button type=\"primary\" size=\"default\" link @click=\"download\">下载</el-button>\n </div>\n </template>\n <div class=\"gm-flex gm-select-none gm-items-center gm-justify-center gm-gap-4\">\n <div v-if=\"files.length > 1\" class=\"gm-cursor-pointer\" @click=\"prev\">\n <el-icon :size=\"40\"><ArrowLeftBold /></el-icon>\n </div>\n <div class=\"gm-flex gm-flex-1 gm-items-center gm-justify-center\" style=\"height: calc(100vh - 240px)\">\n <GmFileComponent v-bind=\"fileProps\" />\n </div>\n <div v-if=\"files.length > 1\" class=\"gm-cursor-pointer\" @click=\"next\">\n <el-icon :size=\"40\"><ArrowRightBold /></el-icon>\n </div>\n </div>\n </el-dialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { ElMessage } from 'element-plus';\nimport { downloadFile } from '@giime/utils/src/file';\nimport { ArrowLeftBold, ArrowRightBold } from '@element-plus/icons-vue';\nimport GmFileComponent from '../fileComponent';\nimport { previewFileProps } from './previewFile';\nimport type { UploadFile } from 'element-plus';\n\ndefineOptions({\n name: 'GmPreviewFile',\n});\n\nconst props = defineProps(previewFileProps);\nconst dialogVisible = defineModel<boolean>('dialogVisible', { default: false });\nconst fileIndex = defineModel<number>('fileIndex', { default: 0 });\n\nconst files = computed(() => {\n let result: Partial<UploadFile>[] = props.fileList;\n if (props.fileList && !props.fileList.length && props.file) {\n result = [props.file];\n }\n return result;\n});\n\nconst fileProps = computed(() => {\n const file = files.value[fileIndex.value];\n return {\n file,\n controls: props.controls,\n oncontextmenu: props.oncontextmenu,\n controlslist: props.controlslist,\n field: props.field,\n url: props.url,\n size: props.size,\n };\n});\n\nconst prev = () => {\n if (fileIndex.value > 0) {\n fileIndex.value--;\n return;\n }\n ElMessage.warning('已经是第一张了');\n};\n\nconst next = () => {\n if (fileIndex.value < props.fileList.length - 1) {\n fileIndex.value++;\n return;\n }\n ElMessage.warning('没有更多了!');\n};\n\nconst download = () => {\n const file = files.value[fileIndex.value];\n downloadFile(file.url || '', file.name);\n};\n</script>\n"],"names":["_useModel","computed","ElMessage","file","downloadFile"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAM,MAAA,aAAA,GAAgBA,YAAqB,CAAA,OAAA,EAAA,eAAmC,CAAA,CAAA;AAC9E,IAAM,MAAA,SAAA,GAAYA,YAAmB,CAAA,OAAA,EAAC,WAA2B,CAAA,CAAA;AAEjE,IAAM,MAAA,KAAA,GAAQC,aAAS,MAAM;AAC3B,MAAA,IAAI,SAAgC,KAAM,CAAA,QAAA,CAAA;AAC1C,MAAA,IAAI,MAAM,QAAY,IAAA,CAAC,MAAM,QAAS,CAAA,MAAA,IAAU,MAAM,IAAM,EAAA;AAC1D,QAAS,MAAA,GAAA,CAAC,MAAM,IAAI,CAAA,CAAA;AAAA,OACtB;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,SAAA,GAAYA,aAAS,MAAM;AAC/B,MAAA,MAAM,IAAO,GAAA,KAAA,CAAM,KAAM,CAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AACxC,MAAO,OAAA;AAAA,QACL,IAAA;AAAA,QACA,UAAU,KAAM,CAAA,QAAA;AAAA,QAChB,eAAe,KAAM,CAAA,aAAA;AAAA,QACrB,cAAc,KAAM,CAAA,YAAA;AAAA,QACpB,OAAO,KAAM,CAAA,KAAA;AAAA,QACb,KAAK,KAAM,CAAA,GAAA;AAAA,QACX,MAAM,KAAM,CAAA,IAAA;AAAA,OACd,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,OAAO,MAAM;AACjB,MAAI,IAAA,SAAA,CAAU,QAAQ,CAAG,EAAA;AACvB,QAAU,SAAA,CAAA,KAAA,EAAA,CAAA;AACV,QAAA,OAAA;AAAA,OACF;AACA,MAAAC,qBAAA,CAAU,QAAQ,4CAAS,CAAA,CAAA;AAAA,KAC7B,CAAA;AAEA,IAAA,MAAM,OAAO,MAAM;AACjB,MAAA,IAAI,SAAU,CAAA,KAAA,GAAQ,KAAM,CAAA,QAAA,CAAS,SAAS,CAAG,EAAA;AAC/C,QAAU,SAAA,CAAA,KAAA,EAAA,CAAA;AACV,QAAA,OAAA;AAAA,OACF;AACA,MAAAA,qBAAA,CAAU,QAAQ,sCAAQ,CAAA,CAAA;AAAA,KAC5B,CAAA;AAEA,IAAA,MAAM,WAAW,MAAM;AACrB,MAAA,MAAMC,MAAO,GAAA,KAAA,CAAM,KAAM,CAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AACxC,MAAAC,iBAAA,CAAaD,MAAK,CAAA,GAAA,IAAO,EAAI,EAAAA,MAAA,CAAK,IAAI,CAAA,CAAA;AAAA,KACxC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -38,6 +38,10 @@ export declare const GmPreviewFile: import("../../../../utils").SFCWithInstall<i
|
|
|
38
38
|
type: BooleanConstructor;
|
|
39
39
|
default: boolean;
|
|
40
40
|
};
|
|
41
|
+
showIcon: {
|
|
42
|
+
type: BooleanConstructor;
|
|
43
|
+
default: boolean;
|
|
44
|
+
};
|
|
41
45
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
42
46
|
"update:dialogVisible": (dialogVisible: boolean) => void;
|
|
43
47
|
"update:fileIndex": (fileIndex: number) => void;
|
|
@@ -80,6 +84,10 @@ export declare const GmPreviewFile: import("../../../../utils").SFCWithInstall<i
|
|
|
80
84
|
type: BooleanConstructor;
|
|
81
85
|
default: boolean;
|
|
82
86
|
};
|
|
87
|
+
showIcon: {
|
|
88
|
+
type: BooleanConstructor;
|
|
89
|
+
default: boolean;
|
|
90
|
+
};
|
|
83
91
|
}>> & {
|
|
84
92
|
"onUpdate:dialogVisible"?: ((dialogVisible: boolean) => any) | undefined;
|
|
85
93
|
"onUpdate:fileIndex"?: ((fileIndex: number) => any) | undefined;
|
|
@@ -88,6 +96,7 @@ export declare const GmPreviewFile: import("../../../../utils").SFCWithInstall<i
|
|
|
88
96
|
width: string;
|
|
89
97
|
url: string;
|
|
90
98
|
file: Partial<import("element-plus").UploadFile>;
|
|
99
|
+
showIcon: boolean;
|
|
91
100
|
controls: boolean;
|
|
92
101
|
fileList: Partial<import("element-plus").UploadFile>[];
|
|
93
102
|
field: keyof import("element-plus").UploadFile;
|
|
@@ -110,6 +110,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
110
110
|
type: BooleanConstructor;
|
|
111
111
|
default: boolean;
|
|
112
112
|
};
|
|
113
|
+
showIcon: {
|
|
114
|
+
type: BooleanConstructor;
|
|
115
|
+
default: boolean;
|
|
116
|
+
};
|
|
113
117
|
beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | {
|
|
114
118
|
(): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
115
119
|
new (): any;
|
|
@@ -173,6 +177,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
173
177
|
onError: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
174
178
|
(): (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
175
179
|
new (): any;
|
|
180
|
+
/** 取消上传 */
|
|
176
181
|
readonly prototype: any;
|
|
177
182
|
} | ((new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
178
183
|
(): (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
@@ -564,7 +569,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
564
569
|
errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
|
|
565
570
|
};
|
|
566
571
|
$forceUpdate: () => void;
|
|
567
|
-
$nextTick: typeof import("vue").nextTick;
|
|
572
|
+
$nextTick: typeof import("vue").nextTick;
|
|
568
573
|
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
|
|
569
574
|
} & Omit<Readonly<import("vue").ExtractPropTypes<{
|
|
570
575
|
readonly beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | {
|
|
@@ -815,6 +820,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
815
820
|
type: BooleanConstructor;
|
|
816
821
|
default: boolean;
|
|
817
822
|
};
|
|
823
|
+
showIcon: {
|
|
824
|
+
type: BooleanConstructor;
|
|
825
|
+
default: boolean;
|
|
826
|
+
};
|
|
818
827
|
beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | (() => (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | {
|
|
819
828
|
(): (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
820
829
|
new (): any;
|
|
@@ -878,6 +887,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
878
887
|
onError: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
879
888
|
(): (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
880
889
|
new (): any;
|
|
890
|
+
/** 取消上传 */
|
|
881
891
|
readonly prototype: any;
|
|
882
892
|
} | ((new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | {
|
|
883
893
|
(): (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
@@ -947,6 +957,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
947
957
|
file: Partial<UploadFile>;
|
|
948
958
|
onError: (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
949
959
|
onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
960
|
+
showIcon: boolean;
|
|
950
961
|
controls: boolean;
|
|
951
962
|
beforeUpload: (rawFile: UploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>;
|
|
952
963
|
onRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
@@ -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-
|
|
10
|
+
var UploadFile = /* @__PURE__ */ _pluginVue_exportHelper.default(UploadFile_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-921404ff"]]);
|
|
11
11
|
|
|
12
12
|
exports.default = UploadFile;
|
|
13
13
|
//# sourceMappingURL=UploadFile.vue.js.map
|
|
@@ -12,7 +12,7 @@ var index$1 = require('../fileComponent/index.js');
|
|
|
12
12
|
var index$2 = require('../previewFile/index.js');
|
|
13
13
|
var uploadFile = require('./uploadFile.js');
|
|
14
14
|
|
|
15
|
-
const _withScopeId = (n) => (vue.pushScopeId("data-v-
|
|
15
|
+
const _withScopeId = (n) => (vue.pushScopeId("data-v-921404ff"), 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" },
|
|
@@ -227,7 +227,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
227
227
|
file,
|
|
228
228
|
size: _ctx.width - 40,
|
|
229
229
|
url: _ctx.url,
|
|
230
|
-
controls: false
|
|
230
|
+
controls: false,
|
|
231
|
+
"show-icon": true
|
|
231
232
|
}, null, 8, ["file", "size", "url"])
|
|
232
233
|
],
|
|
233
234
|
4
|