giime 0.6.21 → 0.6.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/dist/index.css +134 -134
  2. package/es/components/src/base/dialog/dialog.d.ts +2 -0
  3. package/es/components/src/base/dialog/dialog.mjs.map +1 -1
  4. package/es/components/src/base/timeSelect/TimeSelect.vue2.mjs.map +1 -1
  5. package/es/components/src/base/timeSelect/timeSelect.mjs +1 -1
  6. package/es/components/src/base/timeSelect/timeSelect.mjs.map +1 -1
  7. package/es/components/src/base/tourStep/TourStep.vue.d.ts +9 -9
  8. package/es/components/src/base/tourStep/TourStep.vue2.mjs +1 -1
  9. package/es/components/src/base/tourStep/TourStep.vue2.mjs.map +1 -1
  10. package/es/components/src/base/tourStep/tourStep.d.ts +4 -4
  11. package/es/components/src/base/tourStep/tourStep.mjs +1 -1
  12. package/es/components/src/base/tourStep/tourStep.mjs.map +1 -1
  13. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +9 -0
  14. package/es/components/src/business/uploadMaterial/index.d.ts +19 -0
  15. package/es/components/src/business/uploadMaterial/uploadMaterial.d.ts +4 -0
  16. package/es/components/src/composite/fileComponent/FileComponent.vue.d.ts +9 -0
  17. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs +26 -6
  18. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs.map +1 -1
  19. package/es/components/src/composite/fileComponent/fileComponent.d.ts +5 -0
  20. package/es/components/src/composite/fileComponent/fileComponent.mjs +5 -0
  21. package/es/components/src/composite/fileComponent/fileComponent.mjs.map +1 -1
  22. package/es/components/src/composite/fileComponent/index.d.ts +9 -0
  23. package/es/components/src/composite/importDialog/ImportDialog.vue.d.ts +17 -0
  24. package/es/components/src/composite/importDialog/ImportDialog.vue2.mjs +5 -8
  25. package/es/components/src/composite/importDialog/ImportDialog.vue2.mjs.map +1 -1
  26. package/es/components/src/composite/importDialog/importDialog.d.ts +11 -0
  27. package/es/components/src/composite/importDialog/importDialog.mjs +10 -0
  28. package/es/components/src/composite/importDialog/importDialog.mjs.map +1 -1
  29. package/es/components/src/composite/importDialog/index.d.ts +35 -0
  30. package/es/components/src/composite/previewFile/PreviewFile.vue.d.ts +9 -0
  31. package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs +36 -5
  32. package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs.map +1 -1
  33. package/es/components/src/composite/previewFile/index.d.ts +9 -0
  34. package/es/components/src/composite/previewFile/previewFile.d.ts +4 -0
  35. package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +12 -1
  36. package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +1 -1
  37. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +3 -2
  38. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -1
  39. package/es/components/src/composite/uploadFile/index.d.ts +19 -0
  40. package/es/components/src/composite/uploadFile/uploadFile.d.ts +4 -0
  41. package/es/giime/index.mjs +1 -1
  42. package/es/giime/version.d.ts +1 -1
  43. package/es/giime/version.mjs +1 -1
  44. package/es/giime/version.mjs.map +1 -1
  45. package/es/index.css +134 -134
  46. package/es/utils/index.mjs +1 -1
  47. package/es/utils/src/file.d.ts +6 -0
  48. package/es/utils/src/file.mjs +9 -1
  49. package/es/utils/src/file.mjs.map +1 -1
  50. package/lib/components/src/base/dialog/dialog.d.ts +2 -0
  51. package/lib/components/src/base/dialog/dialog.js.map +1 -1
  52. package/lib/components/src/base/timeSelect/TimeSelect.vue2.js.map +1 -1
  53. package/lib/components/src/base/timeSelect/timeSelect.js +2 -2
  54. package/lib/components/src/base/timeSelect/timeSelect.js.map +1 -1
  55. package/lib/components/src/base/tourStep/TourStep.vue.d.ts +9 -9
  56. package/lib/components/src/base/tourStep/TourStep.vue2.js +2 -2
  57. package/lib/components/src/base/tourStep/TourStep.vue2.js.map +1 -1
  58. package/lib/components/src/base/tourStep/tourStep.d.ts +4 -4
  59. package/lib/components/src/base/tourStep/tourStep.js +3 -3
  60. package/lib/components/src/base/tourStep/tourStep.js.map +1 -1
  61. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +9 -0
  62. package/lib/components/src/business/uploadMaterial/index.d.ts +19 -0
  63. package/lib/components/src/business/uploadMaterial/uploadMaterial.d.ts +4 -0
  64. package/lib/components/src/composite/fileComponent/FileComponent.vue.d.ts +9 -0
  65. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js +25 -5
  66. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js.map +1 -1
  67. package/lib/components/src/composite/fileComponent/fileComponent.d.ts +5 -0
  68. package/lib/components/src/composite/fileComponent/fileComponent.js +5 -0
  69. package/lib/components/src/composite/fileComponent/fileComponent.js.map +1 -1
  70. package/lib/components/src/composite/fileComponent/index.d.ts +9 -0
  71. package/lib/components/src/composite/importDialog/ImportDialog.vue.d.ts +17 -0
  72. package/lib/components/src/composite/importDialog/ImportDialog.vue2.js +4 -7
  73. package/lib/components/src/composite/importDialog/ImportDialog.vue2.js.map +1 -1
  74. package/lib/components/src/composite/importDialog/importDialog.d.ts +11 -0
  75. package/lib/components/src/composite/importDialog/importDialog.js +10 -0
  76. package/lib/components/src/composite/importDialog/importDialog.js.map +1 -1
  77. package/lib/components/src/composite/importDialog/index.d.ts +35 -0
  78. package/lib/components/src/composite/previewFile/PreviewFile.vue.d.ts +9 -0
  79. package/lib/components/src/composite/previewFile/PreviewFile.vue2.js +35 -4
  80. package/lib/components/src/composite/previewFile/PreviewFile.vue2.js.map +1 -1
  81. package/lib/components/src/composite/previewFile/index.d.ts +9 -0
  82. package/lib/components/src/composite/previewFile/previewFile.d.ts +4 -0
  83. package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +12 -1
  84. package/lib/components/src/composite/uploadFile/UploadFile.vue.js +1 -1
  85. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +3 -2
  86. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -1
  87. package/lib/components/src/composite/uploadFile/index.d.ts +19 -0
  88. package/lib/components/src/composite/uploadFile/uploadFile.d.ts +4 -0
  89. package/lib/giime/index.js +1 -0
  90. package/lib/giime/index.js.map +1 -1
  91. package/lib/giime/version.d.ts +1 -1
  92. package/lib/giime/version.js +1 -1
  93. package/lib/giime/version.js.map +1 -1
  94. package/lib/index.css +134 -134
  95. package/lib/utils/index.js +1 -0
  96. package/lib/utils/index.js.map +1 -1
  97. package/lib/utils/src/file.d.ts +6 -0
  98. package/lib/utils/src/file.js +9 -0
  99. package/lib/utils/src/file.js.map +1 -1
  100. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"FileComponent.vue2.mjs","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-else :style=\"iconStyle\" :src=\"iconURL\" />\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\nconst fileURL = computed(() => {\n return props.file[props.url as keyof UploadFile] as string;\n});\n\nconst verifyFile = computed(() => {\n return props.file[props.field as keyof UploadFile] as string;\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(() => {\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":["verifyFile"],"mappings":";;;;;;;;;;;;;;AAiCA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM;AAC/B,MAAO,OAAA;AAAA,QACL,KAAA,EAAO,CAAG,EAAA,KAAA,CAAM,IAAI,CAAA,EAAA,CAAA;AAAA,QACpB,MAAA,EAAQ,CAAG,EAAA,KAAA,CAAM,IAAI,CAAA,EAAA,CAAA;AAAA,OACvB,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AAC7B,MAAO,OAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,GAAuB,CAAA,CAAA;AAAA,KAChD,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AAChC,MAAO,OAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,KAAyB,CAAA,CAAA;AAAA,KAClD,CAAA,CAAA;AAED,IAAA,MAAM,QAAW,GAAA;AAAA,MACf,KAAO,EAAA,4EAAA;AAAA,MACP,GAAK,EAAA,4EAAA;AAAA,MACL,IAAM,EAAA,4EAAA;AAAA,MACN,GAAK,EAAA,2EAAA;AAAA,MACL,GAAK,EAAA,4EAAA;AAAA,MACL,GAAK,EAAA,4EAAA;AAAA,MACL,GAAK,EAAA,4EAAA;AAAA,MACL,OAAS,EAAA,4EAAA;AAAA,KACX,CAAA;AAEA,IAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AAC7B,MAAA,MAAMA,WAAa,GAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,KAAyB,CAAA,CAAA;AAC7D,MAAA,IAAI,MAAc,GAAA,IAAA,CAAA;AAClB,MAAI,IAAA,KAAA,CAAMA,WAAU,CAAG,EAAA;AACrB,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAW,MAAOA,CAAAA,WAAU,CAAG,EAAA;AAC7B,QAAA,MAAA,GAAS,QAAS,CAAA,IAAA,CAAA;AAAA,OACpB,MAAA,IAAW,OAAQA,CAAAA,WAAU,CAAG,EAAA;AAC9B,QAAA,MAAA,GAAS,QAAS,CAAA,KAAA,CAAA;AAAA,OACpB,MAAA,IAAW,MAAOA,CAAAA,WAAU,CAAG,EAAA;AAC7B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAW,KAAMA,CAAAA,WAAU,CAAG,EAAA;AAC5B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAW,KAAMA,CAAAA,WAAU,CAAG,EAAA;AAC5B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAW,KAAMA,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
+ {"version":3,"file":"FileComponent.vue2.mjs","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":["verifyFile"],"mappings":";;;;;;;;;;;;;;;AAoCA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,SAAA,GAAY,SAAS,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,GAAU,SAAS,MAAM;AAC7B,MAAO,OAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,GAAuB,CAAA,CAAA;AAAA,KAChD,CAAA,CAAA;AAGD,IAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AAChC,MAAO,OAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,KAAyB,CAAA,CAAA;AAAA,KAClD,CAAA,CAAA;AAGD,IAAM,MAAA,UAAA,GAAa,SAAS,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,GAAU,SAAiB,MAAM;AACrC,MAAA,MAAMA,WAAa,GAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,KAAyB,CAAA,CAAA;AAC7D,MAAA,IAAI,MAAc,GAAA,IAAA,CAAA;AAClB,MAAI,IAAA,KAAA,CAAMA,WAAU,CAAG,EAAA;AACrB,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAW,MAAOA,CAAAA,WAAU,CAAG,EAAA;AAC7B,QAAA,MAAA,GAAS,QAAS,CAAA,IAAA,CAAA;AAAA,OACpB,MAAA,IAAW,OAAQA,CAAAA,WAAU,CAAG,EAAA;AAC9B,QAAA,MAAA,GAAS,QAAS,CAAA,KAAA,CAAA;AAAA,OACpB,MAAA,IAAW,MAAOA,CAAAA,WAAU,CAAG,EAAA;AAC7B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAW,KAAMA,CAAAA,WAAU,CAAG,EAAA;AAC5B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAW,KAAMA,CAAAA,WAAU,CAAG,EAAA;AAC5B,QAAA,MAAA,GAAS,QAAS,CAAA,GAAA,CAAA;AAAA,OACpB,MAAA,IAAW,KAAMA,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -38,4 +38,9 @@ export declare const fileComponentProps: {
38
38
  type: BooleanConstructor;
39
39
  default: boolean;
40
40
  };
41
+ /** 是否显示icon */
42
+ showIcon: {
43
+ type: BooleanConstructor;
44
+ default: boolean;
45
+ };
41
46
  };
@@ -33,6 +33,11 @@ const fileComponentProps = {
33
33
  oncontextmenu: {
34
34
  type: Boolean,
35
35
  default: true
36
+ },
37
+ /** 是否显示icon */
38
+ showIcon: {
39
+ type: Boolean,
40
+ default: false
36
41
  }
37
42
  };
38
43
 
@@ -1 +1 @@
1
- {"version":3,"file":"fileComponent.mjs","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.mjs","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;
@@ -66,6 +66,14 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
66
66
  errorReselect: {
67
67
  type: BooleanConstructor;
68
68
  };
69
+ dialogProps: {
70
+ type: import("vue").PropType<Partial<import("../../base").DialogProps>>;
71
+ default: () => {
72
+ title: string;
73
+ width: string;
74
+ appendToBody: boolean;
75
+ };
76
+ };
69
77
  }, {
70
78
  submit: () => void;
71
79
  abort: (file: UploadFile) => void;
@@ -142,6 +150,14 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
142
150
  errorReselect: {
143
151
  type: BooleanConstructor;
144
152
  };
153
+ dialogProps: {
154
+ type: import("vue").PropType<Partial<import("../../base").DialogProps>>;
155
+ default: () => {
156
+ title: string;
157
+ width: string;
158
+ appendToBody: boolean;
159
+ };
160
+ };
145
161
  }>> & {
146
162
  "onUpdate:fileList"?: ((fileList: UploadUserFile[]) => any) | undefined;
147
163
  onDownloadTemplate?: (() => any) | undefined;
@@ -155,6 +171,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
155
171
  accept: string;
156
172
  httpRequest: import("element-plus").UploadRequestHandler;
157
173
  errorReselect: boolean;
174
+ dialogProps: Partial<import("../../base").DialogProps>;
158
175
  }, {}>, {
159
176
  default?(_: {}): any;
160
177
  }>;
@@ -1,4 +1,4 @@
1
- import { createElementVNode, createTextVNode, defineComponent, mergeModels, useModel, ref, resolveComponent, openBlock, createElementBlock, Fragment, createCommentVNode, createVNode, withCtx, unref, withModifiers, renderSlot } from 'vue';
1
+ import { createElementVNode, createTextVNode, defineComponent, mergeModels, useModel, ref, resolveComponent, openBlock, createElementBlock, Fragment, createCommentVNode, createVNode, mergeProps, withCtx, unref, withModifiers, renderSlot } from 'vue';
2
2
  import { genFileId } from 'element-plus';
3
3
  import { getGmExports } from '../../../../utils/src/elementPlus/exports.mjs';
4
4
  import { GmMessage } from '../../plugins/message/index.mjs';
@@ -109,13 +109,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
109
109
  null,
110
110
  [
111
111
  createCommentVNode(" \u5BFC\u5165\u5BF9\u8BDD\u6846 "),
112
- createVNode(_component_gm_dialog, {
112
+ createVNode(_component_gm_dialog, mergeProps(_ctx.dialogProps, {
113
113
  modelValue: dialogVisible.value,
114
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => dialogVisible.value = $event),
115
- title: "\u5BFC\u5165",
116
- width: "480px",
117
- "append-to-body": ""
118
- }, {
114
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => dialogVisible.value = $event)
115
+ }), {
119
116
  footer: withCtx(() => [
120
117
  createElementVNode("div", _hoisted_6, [
121
118
  createVNode(_component_gm_button, {
@@ -190,7 +187,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
190
187
  ]),
191
188
  _: 3
192
189
  /* FORWARDED */
193
- }, 8, ["modelValue"])
190
+ }, 16, ["modelValue"])
194
191
  ],
195
192
  2112
196
193
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
@@ -1 +1 @@
1
- {"version":3,"file":"ImportDialog.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/importDialog/ImportDialog.vue"],"sourcesContent":["<template>\n <!-- 导入对话框 -->\n <gm-dialog v-model=\"dialogVisible\" title=\"导入\" width=\"480px\" append-to-body>\n <div class=\" \">\n <div class=\"gm-mb-2 gm-bg-[#f5f5f5] gm-p-4\">\n <p class=\"gm-mb-3 gm-text-[13px]\">下载导入模板,根据模板提示完善内容</p>\n <gm-button :icon=\"Download\" @click.stop=\"emit('downloadTemplate')\"> 下载模板 </gm-button>\n </div>\n <slot />\n <gm-upload\n ref=\"uploadRef\"\n v-model:file-list=\"fileList\"\n action=\"\"\n :limit=\"1\"\n drag\n :accept=\"accept\"\n :http-request=\"httpRequest\"\n :on-exceed=\"handleExceed\"\n :on-success=\"handleSuccess\"\n :on-error=\"handleError\"\n :on-remove=\"onRemove\"\n :before-upload=\"beforeUpload\"\n :auto-upload=\"false\"\n class=\"gmUploadEl gm-mb-5\"\n >\n <el-icon class=\"el-icon--upload\"><upload-filled /></el-icon>\n <div class=\"el-upload__text\">将文件拖到此处,或 <em>点击上传</em></div>\n <div class=\"gm-text-[#999]\">限制1个文件,新文件将覆盖旧文件</div>\n </gm-upload>\n </div>\n\n <template #footer>\n <div class=\"dialog-footer\">\n <gm-button type=\"primary\" :loading=\"uploadLoading\" @click=\"submitUpload\">导 入</gm-button>\n <gm-button @click=\"closeDialog\">取 消</gm-button>\n </div>\n </template>\n </gm-dialog>\n</template>\n<script lang=\"ts\" setup>\nimport { ref } from 'vue';\nimport { genFileId } from 'element-plus';\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { Download, UploadFilled } from '@element-plus/icons-vue';\nimport { importDialogEmits, importDialogProps } from './importDialog';\nimport type { UploadInstance } from '../../base/upload';\nimport type { UploadFile, UploadFiles, UploadProps, UploadRawFile, UploadRequestOptions, UploadUserFile } from 'element-plus';\n\ndefineOptions({\n name: 'GmImportDialog',\n});\nconst props = defineProps(importDialogProps);\nconst emit = defineEmits(importDialogEmits);\n\nconst fileList = defineModel<UploadUserFile[]>('fileList', { default: () => [] });\nconst uploadRef = ref<UploadInstance>();\n\nconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\n uploadRef.value!.clearFiles();\n const file = files[0] as UploadRawFile;\n file.uid = genFileId();\n uploadRef.value!.handleStart(file);\n props.onExceed?.(files, uploadFiles);\n};\n\nconst submitUpload = () => {\n if (fileList.value.length === 0) {\n return GmMessage.error('请选择文件');\n }\n uploadRef.value!.submit();\n emit('importClick');\n};\n/**\n * 编辑表单\n */\n// const dialogVisible = defineModel<boolean>('dialogVisible', { required: true });\nconst dialogVisible = ref(false);\n\n/** 新增按钮操作 */\nconst openDialog = () => {\n dialogVisible.value = true;\n};\n/** 取消按钮 */\nfunction closeDialog() {\n dialogVisible.value = false;\n reset();\n}\n/** 表单重置 */\nfunction reset() {\n fileList.value = [];\n uploadRef.value?.clearFiles();\n}\n\nconst uploadLoading = ref(false);\nconst httpRequest = (options: UploadRequestOptions) => {\n uploadLoading.value = true;\n return props.httpRequest(options);\n};\n// 上传成功\nfunction handleSuccess(response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) {\n uploadLoading.value = false;\n return props.onSuccess(response, uploadFile, uploadFiles);\n}\n// 上传失败\nconst handleError = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\n const file = uploadFile.raw;\n if (props.errorReselect && file) {\n file.uid = genFileId();\n uploadRef.value?.handleStart(file);\n }\n uploadLoading.value = false;\n return props.onError(error, uploadFile, uploadFiles);\n};\n\nconst exposeNames = ['abort', 'submit', 'clearFiles', 'handleStart', 'handleRemove'] as const;\nconst { exposeFns } = getGmExports(uploadRef, exposeNames);\ndefineExpose({\n openDialog,\n closeDialog,\n reset,\n ...exposeFns,\n});\n</script>\n<!-- <style scoped lang=\"scss\">\n:deep(.gmUploadEl .el-upload-dragger) {\n // background-color: #f5f5f5;\n // border: none;\n}\n</style> -->\n"],"names":["_useModel"],"mappings":"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"}
1
+ {"version":3,"file":"ImportDialog.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/importDialog/ImportDialog.vue"],"sourcesContent":["<template>\n <!-- 导入对话框 -->\n <gm-dialog v-bind=\"dialogProps\" v-model=\"dialogVisible\">\n <div class=\" \">\n <div class=\"gm-mb-2 gm-bg-[#f5f5f5] gm-p-4\">\n <p class=\"gm-mb-3 gm-text-[13px]\">下载导入模板,根据模板提示完善内容</p>\n <gm-button :icon=\"Download\" @click.stop=\"emit('downloadTemplate')\"> 下载模板 </gm-button>\n </div>\n <slot />\n <gm-upload\n ref=\"uploadRef\"\n v-model:file-list=\"fileList\"\n action=\"\"\n :limit=\"1\"\n drag\n :accept=\"accept\"\n :http-request=\"httpRequest\"\n :on-exceed=\"handleExceed\"\n :on-success=\"handleSuccess\"\n :on-error=\"handleError\"\n :on-remove=\"onRemove\"\n :before-upload=\"beforeUpload\"\n :auto-upload=\"false\"\n class=\"gmUploadEl gm-mb-5\"\n >\n <el-icon class=\"el-icon--upload\"><upload-filled /></el-icon>\n <div class=\"el-upload__text\">将文件拖到此处,或 <em>点击上传</em></div>\n <div class=\"gm-text-[#999]\">限制1个文件,新文件将覆盖旧文件</div>\n </gm-upload>\n </div>\n\n <template #footer>\n <div class=\"dialog-footer\">\n <gm-button type=\"primary\" :loading=\"uploadLoading\" @click=\"submitUpload\">导 入</gm-button>\n <gm-button @click=\"closeDialog\">取 消</gm-button>\n </div>\n </template>\n </gm-dialog>\n</template>\n<script lang=\"ts\" setup>\nimport { ref } from 'vue';\nimport { genFileId } from 'element-plus';\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { Download, UploadFilled } from '@element-plus/icons-vue';\nimport { importDialogEmits, importDialogProps } from './importDialog';\nimport type { UploadInstance } from '../../base/upload';\nimport type { UploadFile, UploadFiles, UploadProps, UploadRawFile, UploadRequestOptions, UploadUserFile } from 'element-plus';\n\ndefineOptions({\n name: 'GmImportDialog',\n});\nconst props = defineProps(importDialogProps);\nconst emit = defineEmits(importDialogEmits);\n\nconst fileList = defineModel<UploadUserFile[]>('fileList', { default: () => [] });\nconst uploadRef = ref<UploadInstance>();\n\nconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\n uploadRef.value!.clearFiles();\n const file = files[0] as UploadRawFile;\n file.uid = genFileId();\n uploadRef.value!.handleStart(file);\n props.onExceed?.(files, uploadFiles);\n};\n\nconst submitUpload = () => {\n if (fileList.value.length === 0) {\n return GmMessage.error('请选择文件');\n }\n uploadRef.value!.submit();\n emit('importClick');\n};\n/**\n * 编辑表单\n */\n// const dialogVisible = defineModel<boolean>('dialogVisible', { required: true });\nconst dialogVisible = ref(false);\n\n/** 新增按钮操作 */\nconst openDialog = () => {\n dialogVisible.value = true;\n};\n/** 取消按钮 */\nfunction closeDialog() {\n dialogVisible.value = false;\n reset();\n}\n/** 表单重置 */\nfunction reset() {\n fileList.value = [];\n uploadRef.value?.clearFiles();\n}\n\nconst uploadLoading = ref(false);\nconst httpRequest = (options: UploadRequestOptions) => {\n uploadLoading.value = true;\n return props.httpRequest(options);\n};\n// 上传成功\nfunction handleSuccess(response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) {\n uploadLoading.value = false;\n return props.onSuccess(response, uploadFile, uploadFiles);\n}\n// 上传失败\nconst handleError = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\n const file = uploadFile.raw;\n if (props.errorReselect && file) {\n file.uid = genFileId();\n uploadRef.value?.handleStart(file);\n }\n uploadLoading.value = false;\n return props.onError(error, uploadFile, uploadFiles);\n};\n\nconst exposeNames = ['abort', 'submit', 'clearFiles', 'handleStart', 'handleRemove'] as const;\nconst { exposeFns } = getGmExports(uploadRef, exposeNames);\ndefineExpose({\n openDialog,\n closeDialog,\n reset,\n ...exposeFns,\n});\n</script>\n<!-- <style scoped lang=\"scss\">\n:deep(.gmUploadEl .el-upload-dragger) {\n // background-color: #f5f5f5;\n // border: none;\n}\n</style> -->\n"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,QAAA,GAAWA,QAA6B,CAAA,OAAA,EAAC,UAAiC,CAAA,CAAA;AAChF,IAAA,MAAM,YAAY,GAAoB,EAAA,CAAA;AAEtC,IAAM,MAAA,YAAA,GAAwC,CAAC,KAAA,EAAO,WAAgB,KAAA;AACpE,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;AACjC,MAAM,KAAA,CAAA,QAAA,GAAW,OAAO,WAAW,CAAA,CAAA;AAAA,KACrC,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAI,IAAA,QAAA,CAAS,KAAM,CAAA,MAAA,KAAW,CAAG,EAAA;AAC/B,QAAO,OAAA,SAAA,CAAU,MAAM,gCAAO,CAAA,CAAA;AAAA,OAChC;AACA,MAAA,SAAA,CAAU,MAAO,MAAO,EAAA,CAAA;AACxB,MAAA,IAAA,CAAK,aAAa,CAAA,CAAA;AAAA,KACpB,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;AAClB,MAAA,SAAA,CAAU,OAAO,UAAW,EAAA,CAAA;AAAA,KAC9B;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,MAAM,OAAO,UAAW,CAAA,GAAA,CAAA;AACxB,MAAI,IAAA,KAAA,CAAM,iBAAiB,IAAM,EAAA;AAC/B,QAAA,IAAA,CAAK,MAAM,SAAU,EAAA,CAAA;AACrB,QAAU,SAAA,CAAA,KAAA,EAAO,YAAY,IAAI,CAAA,CAAA;AAAA,OACnC;AACA,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,KAAO,EAAA,UAAA,EAAY,WAAW,CAAA,CAAA;AAAA,KACrD,CAAA;AAEA,IAAA,MAAM,cAAc,CAAC,OAAA,EAAS,QAAU,EAAA,YAAA,EAAc,eAAe,cAAc,CAAA,CAAA;AACnF,IAAA,MAAM,EAAE,SAAA,EAAc,GAAA,YAAA,CAAa,WAAW,WAAW,CAAA,CAAA;AACzD,IAAa,QAAA,CAAA;AAAA,MACX,UAAA;AAAA,MACA,WAAA;AAAA,MACA,KAAA;AAAA,MACA,GAAG,SAAA;AAAA,KACJ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,3 +1,5 @@
1
+ import type { PropType } from 'vue';
2
+ import { type DialogProps } from '../../base/dialog/dialog';
1
3
  export declare const importDialogProps: {
2
4
  onSuccess: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (response: any, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (response: any, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
3
5
  (): (response: any, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
@@ -61,6 +63,15 @@ export declare const importDialogProps: {
61
63
  errorReselect: {
62
64
  type: BooleanConstructor;
63
65
  };
66
+ /**dialog的属性 */
67
+ dialogProps: {
68
+ type: PropType<Partial<DialogProps>>;
69
+ default: () => {
70
+ title: string;
71
+ width: string;
72
+ appendToBody: boolean;
73
+ };
74
+ };
64
75
  };
65
76
  export declare const importDialogEmits: {
66
77
  /**
@@ -14,6 +14,16 @@ const importDialogProps = {
14
14
  /**上传失败后的文件 是否重新选择,默认会被清除掉 */
15
15
  errorReselect: {
16
16
  type: Boolean
17
+ },
18
+ /**dialog的属性 */
19
+ dialogProps: {
20
+ type: Object,
21
+ // 配置选项
22
+ default: () => ({
23
+ title: "\u5BFC\u5165",
24
+ width: "480px",
25
+ appendToBody: true
26
+ })
17
27
  }
18
28
  };
19
29
  const importDialogEmits = {
@@ -1 +1 @@
1
- {"version":3,"file":"importDialog.mjs","sources":["../../../../../../../packages/components/src/composite/importDialog/importDialog.ts"],"sourcesContent":["// import { } from '../../base/dialog/dialog';\nimport { uploadProps } from '../../base/upload/upload';\nexport const importDialogProps = {\n onSuccess: uploadProps['onSuccess'],\n onError: uploadProps['onError'],\n httpRequest: uploadProps['httpRequest'],\n beforeUpload: uploadProps['beforeUpload'],\n onRemove: uploadProps['onRemove'],\n onExceed: uploadProps['onExceed'],\n accept: {\n type: String,\n default: '.xls, .xlsx, .csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, text/csv',\n },\n /**上传失败后的文件 是否重新选择,默认会被清除掉 */\n errorReselect: {\n type: Boolean,\n },\n};\n\nexport const importDialogEmits = {\n /**\n * 下载模板按钮点击事件\n */\n downloadTemplate: async () => {},\n /**\n * 点击导入按钮\n */\n importClick: async () => {},\n};\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,QAAA,EAAU,YAAY,UAAU,CAAA;AAAA,EAChC,QAAA,EAAU,YAAY,UAAU,CAAA;AAAA,EAChC,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,0HAAA;AAAA,GACX;AAAA;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,GACR;AACF,EAAA;AAEO,MAAM,iBAAoB,GAAA;AAAA;AAAA;AAAA;AAAA,EAI/B,kBAAkB,YAAY;AAAA,GAAC;AAAA;AAAA;AAAA;AAAA,EAI/B,aAAa,YAAY;AAAA,GAAC;AAC5B;;;;"}
1
+ {"version":3,"file":"importDialog.mjs","sources":["../../../../../../../packages/components/src/composite/importDialog/importDialog.ts"],"sourcesContent":["// import { } from '../../base/dialog/dialog';\nimport type { PropType } from 'vue';\nimport { type DialogProps } from '../../base/dialog/dialog';\nimport { uploadProps } from '../../base/upload/upload';\nexport const importDialogProps = {\n onSuccess: uploadProps['onSuccess'],\n onError: uploadProps['onError'],\n httpRequest: uploadProps['httpRequest'],\n beforeUpload: uploadProps['beforeUpload'],\n onRemove: uploadProps['onRemove'],\n onExceed: uploadProps['onExceed'],\n accept: {\n type: String,\n default: '.xls, .xlsx, .csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, text/csv',\n },\n /**上传失败后的文件 是否重新选择,默认会被清除掉 */\n errorReselect: {\n type: Boolean,\n },\n /**dialog的属性 */\n dialogProps: {\n type: Object as PropType<Partial<DialogProps>>, // 配置选项\n default: () => ({\n title: '导入',\n width: '480px',\n appendToBody: true,\n }),\n },\n};\n\nexport const importDialogEmits = {\n /**\n * 下载模板按钮点击事件\n */\n downloadTemplate: async () => {},\n /**\n * 点击导入按钮\n */\n importClick: async () => {},\n};\n"],"names":[],"mappings":";;AAIO,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,QAAA,EAAU,YAAY,UAAU,CAAA;AAAA,EAChC,QAAA,EAAU,YAAY,UAAU,CAAA;AAAA,EAChC,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,0HAAA;AAAA,GACX;AAAA;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,GACR;AAAA;AAAA,EAEA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA;AAAA,IACN,SAAS,OAAO;AAAA,MACd,KAAO,EAAA,cAAA;AAAA,MACP,KAAO,EAAA,OAAA;AAAA,MACP,YAAc,EAAA,IAAA;AAAA,KAChB,CAAA;AAAA,GACF;AACF,EAAA;AAEO,MAAM,iBAAoB,GAAA;AAAA;AAAA;AAAA;AAAA,EAI/B,kBAAkB,YAAY;AAAA,GAAC;AAAA;AAAA;AAAA;AAAA,EAI/B,aAAa,YAAY;AAAA,GAAC;AAC5B;;;;"}
@@ -63,6 +63,14 @@ export declare const GmImportDialog: import("../../../../utils").SFCWithInstall<
63
63
  errorReselect: {
64
64
  type: BooleanConstructor;
65
65
  };
66
+ dialogProps: {
67
+ type: import("vue").PropType<Partial<import("../../base/index.js").DialogProps>>;
68
+ default: () => {
69
+ title: string;
70
+ width: string;
71
+ appendToBody: boolean;
72
+ };
73
+ };
66
74
  }>> & {
67
75
  "onUpdate:fileList"?: ((fileList: import("element-plus").UploadUserFile[]) => any) | undefined;
68
76
  onDownloadTemplate?: (() => any) | undefined;
@@ -143,6 +151,14 @@ export declare const GmImportDialog: import("../../../../utils").SFCWithInstall<
143
151
  errorReselect: {
144
152
  type: BooleanConstructor;
145
153
  };
154
+ dialogProps: {
155
+ type: import("vue").PropType<Partial<import("../../base/index.js").DialogProps>>;
156
+ default: () => {
157
+ title: string;
158
+ width: string;
159
+ appendToBody: boolean;
160
+ };
161
+ };
146
162
  }>> & {
147
163
  "onUpdate:fileList"?: ((fileList: import("element-plus").UploadUserFile[]) => any) | undefined;
148
164
  onDownloadTemplate?: (() => any) | undefined;
@@ -156,6 +172,7 @@ export declare const GmImportDialog: import("../../../../utils").SFCWithInstall<
156
172
  accept: string;
157
173
  httpRequest: import("element-plus").UploadRequestHandler;
158
174
  errorReselect: boolean;
175
+ dialogProps: Partial<import("../../base/index.js").DialogProps>;
159
176
  }, true, {}, {}, {
160
177
  P: {};
161
178
  B: {};
@@ -226,6 +243,14 @@ export declare const GmImportDialog: import("../../../../utils").SFCWithInstall<
226
243
  errorReselect: {
227
244
  type: BooleanConstructor;
228
245
  };
246
+ dialogProps: {
247
+ type: import("vue").PropType<Partial<import("../../base/index.js").DialogProps>>;
248
+ default: () => {
249
+ title: string;
250
+ width: string;
251
+ appendToBody: boolean;
252
+ };
253
+ };
229
254
  }>> & {
230
255
  "onUpdate:fileList"?: ((fileList: import("element-plus").UploadUserFile[]) => any) | undefined;
231
256
  onDownloadTemplate?: (() => any) | undefined;
@@ -248,6 +273,7 @@ export declare const GmImportDialog: import("../../../../utils").SFCWithInstall<
248
273
  accept: string;
249
274
  httpRequest: import("element-plus").UploadRequestHandler;
250
275
  errorReselect: boolean;
276
+ dialogProps: Partial<import("../../base/index.js").DialogProps>;
251
277
  }>;
252
278
  __isFragment?: undefined;
253
279
  __isTeleport?: undefined;
@@ -315,6 +341,14 @@ export declare const GmImportDialog: import("../../../../utils").SFCWithInstall<
315
341
  errorReselect: {
316
342
  type: BooleanConstructor;
317
343
  };
344
+ dialogProps: {
345
+ type: import("vue").PropType<Partial<import("../../base/index.js").DialogProps>>;
346
+ default: () => {
347
+ title: string;
348
+ width: string;
349
+ appendToBody: boolean;
350
+ };
351
+ };
318
352
  }>> & {
319
353
  "onUpdate:fileList"?: ((fileList: import("element-plus").UploadUserFile[]) => any) | undefined;
320
354
  onDownloadTemplate?: (() => any) | undefined;
@@ -341,6 +375,7 @@ export declare const GmImportDialog: import("../../../../utils").SFCWithInstall<
341
375
  accept: string;
342
376
  httpRequest: import("element-plus").UploadRequestHandler;
343
377
  errorReselect: boolean;
378
+ dialogProps: Partial<import("../../base/index.js").DialogProps>;
344
379
  }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
345
380
  $slots: {
346
381
  default?(_: {}): any;
@@ -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;
@@ -1,11 +1,20 @@
1
- import { defineComponent, mergeModels, useModel, computed, resolveComponent, openBlock, createBlock, withCtx, createElementVNode, createElementBlock, createVNode, unref, createCommentVNode, normalizeProps, guardReactiveProps } from 'vue';
1
+ import { createElementVNode, defineComponent, mergeModels, useModel, computed, resolveComponent, openBlock, createBlock, withCtx, createVNode, createTextVNode, createElementBlock, unref, createCommentVNode, normalizeProps, guardReactiveProps } from 'vue';
2
2
  import { ElMessage } from 'element-plus';
3
+ import { downloadFile } from '../../../../utils/src/file.mjs';
3
4
  import { ArrowLeftBold, ArrowRightBold } from '@element-plus/icons-vue';
4
5
  import { GmFileComponent } from '../fileComponent/index.mjs';
5
6
  import { previewFileProps } from './previewFile.mjs';
6
7
 
7
- const _hoisted_1 = { class: "gm-flex gm-select-none gm-items-center gm-justify-center gm-gap-4" };
8
- const _hoisted_2 = {
8
+ const _hoisted_1 = { class: "gm-flex gm-items-center gm-justify-between" };
9
+ const _hoisted_2 = /* @__PURE__ */ createElementVNode(
10
+ "span",
11
+ null,
12
+ "\u9884\u89C8",
13
+ -1
14
+ /* HOISTED */
15
+ );
16
+ const _hoisted_3 = { class: "gm-flex gm-select-none gm-items-center gm-justify-center gm-gap-4" };
17
+ const _hoisted_4 = {
9
18
  class: "gm-flex gm-flex-1 gm-items-center gm-justify-center",
10
19
  style: { "height": "calc(100vh - 240px)" }
11
20
  };
@@ -58,7 +67,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
58
67
  }
59
68
  ElMessage.warning("\u6CA1\u6709\u66F4\u591A\u4E86\uFF01");
60
69
  };
70
+ const download = () => {
71
+ const file = files.value[fileIndex.value];
72
+ downloadFile(file.url || "", file.name);
73
+ };
61
74
  return (_ctx, _cache) => {
75
+ const _component_el_button = resolveComponent("el-button");
62
76
  const _component_el_icon = resolveComponent("el-icon");
63
77
  const _component_el_dialog = resolveComponent("el-dialog");
64
78
  return openBlock(), createBlock(_component_el_dialog, {
@@ -70,8 +84,25 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
70
84
  "append-to-body": "",
71
85
  "destroy-on-close": ""
72
86
  }, {
73
- default: withCtx(() => [
87
+ header: withCtx(() => [
74
88
  createElementVNode("div", _hoisted_1, [
89
+ _hoisted_2,
90
+ createVNode(_component_el_button, {
91
+ type: "primary",
92
+ size: "default",
93
+ link: "",
94
+ onClick: download
95
+ }, {
96
+ default: withCtx(() => [
97
+ createTextVNode("\u4E0B\u8F7D")
98
+ ]),
99
+ _: 1
100
+ /* STABLE */
101
+ })
102
+ ])
103
+ ]),
104
+ default: withCtx(() => [
105
+ createElementVNode("div", _hoisted_3, [
75
106
  files.value.length > 1 ? (openBlock(), createElementBlock("div", {
76
107
  key: 0,
77
108
  class: "gm-cursor-pointer",
@@ -85,7 +116,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
85
116
  /* STABLE */
86
117
  })
87
118
  ])) : createCommentVNode("v-if", true),
88
- createElementVNode("div", _hoisted_2, [
119
+ createElementVNode("div", _hoisted_4, [
89
120
  createVNode(
90
121
  unref(GmFileComponent),
91
122
  normalizeProps(guardReactiveProps(fileProps.value)),
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewFile.vue2.mjs","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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA4BA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAM,MAAA,aAAA,GAAgBA,QAAqB,CAAA,OAAA,EAAA,eAAmC,CAAA,CAAA;AAC9E,IAAM,MAAA,SAAA,GAAYA,QAAmB,CAAA,OAAA,EAAC,WAA2B,CAAA,CAAA;AAEjE,IAAM,MAAA,KAAA,GAAQ,SAAS,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,GAAY,SAAS,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,MAAA,SAAA,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,MAAA,SAAA,CAAU,QAAQ,sCAAQ,CAAA,CAAA;AAAA,KAC5B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PreviewFile.vue2.mjs","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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAM,MAAA,aAAA,GAAgBA,QAAqB,CAAA,OAAA,EAAA,eAAmC,CAAA,CAAA;AAC9E,IAAM,MAAA,SAAA,GAAYA,QAAmB,CAAA,OAAA,EAAC,WAA2B,CAAA,CAAA;AAEjE,IAAM,MAAA,KAAA,GAAQ,SAAS,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,GAAY,SAAS,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,MAAA,SAAA,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,MAAA,SAAA,CAAU,QAAQ,sCAAQ,CAAA,CAAA;AAAA,KAC5B,CAAA;AAEA,IAAA,MAAM,WAAW,MAAM;AACrB,MAAA,MAAM,IAAO,GAAA,KAAA,CAAM,KAAM,CAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AACxC,MAAA,YAAA,CAAa,IAAK,CAAA,GAAA,IAAO,EAAI,EAAA,IAAA,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;
@@ -39,4 +39,8 @@ export declare const previewFileProps: {
39
39
  type: BooleanConstructor;
40
40
  default: boolean;
41
41
  };
42
+ showIcon: {
43
+ type: BooleanConstructor;
44
+ default: boolean;
45
+ };
42
46
  };
@@ -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;
@@ -3,7 +3,7 @@ import './UploadFile.vue3.mjs';
3
3
  import './UploadFile.vue4.mjs';
4
4
  import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
5
5
 
6
- var UploadFile = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9390650b"]]);
6
+ var UploadFile = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-921404ff"]]);
7
7
 
8
8
  export { UploadFile as default };
9
9
  //# sourceMappingURL=UploadFile.vue.mjs.map
@@ -8,7 +8,7 @@ import { GmFileComponent } from '../fileComponent/index.mjs';
8
8
  import { GmPreviewFile } from '../previewFile/index.mjs';
9
9
  import { uploadFileProps } from './uploadFile.mjs';
10
10
 
11
- const _withScopeId = (n) => (pushScopeId("data-v-9390650b"), n = n(), popScopeId(), n);
11
+ const _withScopeId = (n) => (pushScopeId("data-v-921404ff"), n = n(), popScopeId(), n);
12
12
  const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode(
13
13
  "div",
14
14
  { class: "el-upload__text gm-text-center !gm-text-xs gm-text-gray-500" },
@@ -223,7 +223,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
223
223
  file,
224
224
  size: _ctx.width - 40,
225
225
  url: _ctx.url,
226
- controls: false
226
+ controls: false,
227
+ "show-icon": true
227
228
  }, null, 8, ["file", "size", "url"])
228
229
  ],
229
230
  4