diff --git a/src/components/custom/file-upload.vue b/src/components/custom/file-upload.vue index 1481aacc..46a4b18c 100644 --- a/src/components/custom/file-upload.vue +++ b/src/components/custom/file-upload.vue @@ -1,9 +1,10 @@ diff --git a/src/enum/business.ts b/src/enum/business.ts new file mode 100644 index 00000000..e5b62ec8 --- /dev/null +++ b/src/enum/business.ts @@ -0,0 +1,4 @@ +export enum AcceptType { + Image = '.jpg,.jpeg,.png,.gif,.bmp,.webp', + File = '.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.pdf,.zip,.rar,.7z' +} diff --git a/src/utils/common.ts b/src/utils/common.ts index 22ac43e7..b5489f37 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -1,3 +1,4 @@ +import { AcceptType } from '@/enum/business'; import { $t } from '@/locales'; /** * Transform record to option @@ -87,8 +88,7 @@ export function isNull(value: any) { /** 判断是否为图片类型 */ export function isImage(suffix: string) { - const imgSuffixList = ['.jpg', '.jpeg', '.png', '.gif', '.webp']; - return imgSuffixList.includes(suffix.toLowerCase()); + return AcceptType.Image.split(',').includes(suffix.toLowerCase()); } /** diff --git a/src/views/demo/demo/modules/demo-operate-drawer.vue b/src/views/demo/demo/modules/demo-operate-drawer.vue index ca87a6f4..18c1e976 100644 --- a/src/views/demo/demo/modules/demo-operate-drawer.vue +++ b/src/views/demo/demo/modules/demo-operate-drawer.vue @@ -53,12 +53,13 @@ function createDefaultModel(): Model { }; } -type RuleKey = Extract; +type RuleKey = Extract; const rules: Record = { id: createRequiredRule('主键不能为空'), deptId: createRequiredRule('部门不能为空'), userId: createRequiredRule('用户不能为空'), + orderNum: createRequiredRule('排序号不能为空'), testKey: createRequiredRule('key 键不能为空'), value: createRequiredRule('值不能为空') }; @@ -124,7 +125,7 @@ watch(visible, () => { - + diff --git a/src/views/system/oss/modules/oss-upload-modal.vue b/src/views/system/oss/modules/oss-upload-modal.vue index 60d14b5a..54dd1053 100644 --- a/src/views/system/oss/modules/oss-upload-modal.vue +++ b/src/views/system/oss/modules/oss-upload-modal.vue @@ -2,6 +2,7 @@ import { computed, ref, watch } from 'vue'; import type { UploadFileInfo } from 'naive-ui'; import FileUpload from '@/components/custom/file-upload.vue'; +import { AcceptType } from '@/enum/business'; defineOptions({ name: 'OssUploadModal' @@ -23,9 +24,7 @@ const visible = defineModel('visible', { default: false }); -const accept = computed(() => { - return props.uploadType === 'file' ? '.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.pdf' : '.jpg,.jpeg,.png,.gif,.bmp,.webp'; -}); +const accept = computed(() => (props.uploadType === 'file' ? AcceptType.File : AcceptType.Image)); const fileList = ref([]);