瀏覽代碼

修改bug

bill 1 年之前
父節點
當前提交
3c7e859c4c
共有 3 個文件被更改,包括 21 次插入9 次删除
  1. 0 1
      src/directive/permission.ts
  2. 18 7
      src/hook/upload.ts
  3. 3 1
      src/view/vrmodel/modelContent.vue

+ 0 - 1
src/directive/permission.ts

@@ -21,7 +21,6 @@ export const operateIsPermissionByPath = (...operate: string[]) => {
   // }
   const routeName = router.currentRoute.value.name as string;
   const currentRoleName = `${routeName}:${operate.join(":")}`;
-  console.log(currentRoleName);
   return permission.value.find((item) => item.resourceKey === currentRoleName);
 };
 

+ 18 - 7
src/hook/upload.ts

@@ -1,14 +1,20 @@
 import { ElMessage } from "element-plus";
-import { computed, ref } from "vue";
+import { computed, ref, watchEffect } from "vue";
 import mime from "mime";
 
 export type UploadProps<T> = {
   maxSize: number;
   formats: string[];
-  upload?: (file: File, onPercentage: (percentage: number) => void) => Promise<T>;
+  upload?: (
+    file: File,
+    onPercentage: (percentage: number) => void
+  ) => Promise<T>;
 };
 
-const defaultUpload = (file: File, onPercentage: (percentage: number) => void) => {
+const defaultUpload = (
+  file: File,
+  onPercentage: (percentage: number) => void
+) => {
   onPercentage(100);
 };
 
@@ -27,17 +33,19 @@ export const useUpload = <T>(props: UploadProps<T>) => {
   );
   const fileRef = ref<File>();
 
+  (window as any).fileRef = fileRef;
   const removeFile = () => {
     fileRef.value = undefined;
     return true;
   };
-
   const previewFile = () => {
     fileRef.value && window.open(URL.createObjectURL(fileRef.value));
   };
 
   const upload = async (file: File) => {
-    const fileType = file.name.substring(file.name.lastIndexOf(".")).toUpperCase();
+    const fileType = file.name
+      .substring(file.name.lastIndexOf("."))
+      .toUpperCase();
 
     if (!props.formats.some((type) => type.toUpperCase() === fileType)) {
       ElMessage.error(`请上传${format.value}`);
@@ -46,9 +54,12 @@ export const useUpload = <T>(props: UploadProps<T>) => {
       ElMessage.error(`请上传${size.value}以内的文件`);
       return false;
     } else {
-      await (props.upload || defaultUpload)(file, (val) => (percentage.value = val));
-      percentage.value = undefined;
       fileRef.value = file;
+      await (props.upload || defaultUpload)(
+        file,
+        (val) => (percentage.value = val)
+      );
+      percentage.value = undefined;
       return true;
     }
   };

+ 3 - 1
src/view/vrmodel/modelContent.vue

@@ -1,6 +1,8 @@
 <template>
   <div class="body-head">
     <h3 style="visibility: hidden">场景管理</h3>
+    {{ fileList.length }}
+    {{ !!file }}
     <el-upload
       class="upload-demo"
       :multiple="false"
@@ -107,7 +109,7 @@ const delOrCancel = async (scene: ModelScene) => {
   }
 };
 
-const { percentage, upload: uploadCheck, fileList, removeFile } = useUpload({
+const { percentage, upload: uploadCheck, fileList, file, removeFile } = useUpload({
   maxSize: ModelMaxSize,
   formats: ModelSupportFormats,
   upload: async (file, onPercentage) => {