liuQiang 1 year ago
parent
commit
2a149f6d30

+ 23 - 12
src/views/department/MyFile.vue

@@ -375,7 +375,7 @@
             <!-- 文件上传 -->
             <div>
                 <el-dialog :close-on-click-modal="false" v-model="uploadModal" title="文件上传" width="30%" @close="closeUpload">
-                    <el-upload class="upload-demo" :file-list="fileArr" :before-upload="upBefore" drag :http-request="onSuccess" multiple
+                    <el-upload class="upload-demo" :file-list="fileArr" :limit="10" :on-change="upBefore" drag :http-request="onSuccess" multiple
                     :on-remove="handleRemove"  
                     element-loading-text="上传中..."
                     element-loading-background="rgba(255, 255, 255, 0.8)"
@@ -384,7 +384,7 @@
                         <el-icon class="el-icon--upload"><upload-filled /></el-icon>
                         <div class="el-upload__text">拖入或<em>点击上传</em></div>
                         <template #tip>
-                            <div class="el-upload__tip">请选择或拖入文件</div>
+                            <div class="el-upload__tip">请选择或拖入文件(一次最多上传10个文件)</div>
                         </template>
                     </el-upload>
                     <template #footer>
@@ -1205,8 +1205,10 @@ export default {
             }
         }
         function onSuccess(files, val) {
-            fileBig.value = files.file.size + fileBig.value
-            fileArr.value.push(files.file)
+            const maxSize = (maxFileSize.value-0)*1024*1024
+            if(files.file.size<maxSize){
+                fileArr.value.push(files.file)
+            }
         }
         //关闭文件上传
         const closeUpload =() =>{
@@ -1216,7 +1218,14 @@ export default {
         }
         // 移除上传的某些文件
         const handleRemove = (file,rawFile) => {
-            fileArr.value = [...rawFile]
+            // fileArr.value = [...rawFile]
+            fileArr.value = rawFile.map(item=>{
+                if(item.raw){
+                    return item.raw
+                }else{
+                    return item
+                }
+            })
         }
         // 筛选后缀图片
         function getImage(file) {
@@ -1558,6 +1567,7 @@ export default {
             return arr
         }
         function mouseClick() {
+            // console.log(1);
             if (cliCC.value) {
                 cliCC.value = false
             }
@@ -1891,6 +1901,7 @@ export default {
         }
         // 触底加载事件
         const setScroll =async ()=>{
+            if(tableBeEnd.value)return
             console.log('setScroll','到底喽');
 
             // console.log('tableBeEnd.value',tableBeEnd.value);
@@ -1938,17 +1949,16 @@ export default {
             upFolderData.value = toRaw(res.data)
             folderCase.value = true
         }
-        const upBefore = (file)=>{
+        const upBefore = (file,files)=>{
             // console.log('file',file.size);
             const maxSize = (maxFileSize.value-0)*1024*1024
             // console.log('maxSize',maxSize);
             if(file.size>maxSize){
-                ElMessage({ message: '上传文件大小最大为'+maxFileSize.value+'M', type: 'error' })
-            return false
-            }
-            if(fileArr.value.length>=10){
-                 ElMessage({ message: file.name+'上传失败,单次上传文件数量最多为10个', type: 'error' })
-            return false
+                files.pop()
+                ElMessage({ message: file.name+'上传失败,上传文件大小最大为'+maxFileSize.value+'M', type: 'error' })
+            }else{
+                fileBig.value = file.size + fileBig.value
+                fileArr.value.push(file.raw)
             }
         }
         //获取扫描仪列表
@@ -2052,6 +2062,7 @@ export default {
             });  
             // 添加监听,点击其他地方关闭文件夹右键菜单
             window.addEventListener("click", closeRMenu, true);
+            window.addEventListener("mousewheel", mouseClick, true);
             window.addEventListener("click", mouseClick, true);
         })
          onActivated(()=>{

+ 13 - 4
src/views/myfile/MyFile.vue

@@ -427,7 +427,7 @@
                         <el-icon class="el-icon--upload"><upload-filled /></el-icon>
                         <div class="el-upload__text">拖入或<em>点击上传</em></div>
                         <template #tip>
-                            <div class="el-upload__tip">请选择或拖入文件</div>
+                            <div class="el-upload__tip">请选择或拖入文件(一次最多上传10个文件)</div>
                         </template>
                     </el-upload>
                     <template #footer>
@@ -1411,7 +1411,15 @@ export default {
         }
         // 移除上传的某些文件
         const handleRemove = (file,rawFile) => {
-            fileArr.value = [...rawFile]
+            // console.log('rawFile',rawFile);
+            // fileArr.value = [...rawFile]
+            fileArr.value = rawFile.map(item=>{
+                if(item.raw){
+                    return item.raw
+                }else{
+                    return item
+                }
+            })
         }
         // 筛选后缀图片
         function getImage(file) {
@@ -2147,8 +2155,8 @@ export default {
         }
         // 触底加载事件
         const setScroll = async () => {
+            if(tableBeEnd.value)return
             console.log('setScroll', '到底喽');
-
             // console.log('tableBeEnd.value',tableBeEnd.value);
             filePageNum.value = filePageNum.value + 1
             const query = `${thisFolder.value.dirId}?pageSize=${pageSize.value}&pageNum=${filePageNum.value}`
@@ -2190,7 +2198,7 @@ export default {
                 ElMessage({ message: file.name+'上传失败,上传文件大小最大为'+maxFileSize.value+'M', type: 'error' })
             }else{
                 fileBig.value = file.size + fileBig.value
-                fileArr.value.push(file)
+                fileArr.value.push(file.raw)
             }
             // console.log('filesend',files);
         }
@@ -2331,6 +2339,7 @@ export default {
             changePageSizeFn()
             window.addEventListener("click", closeRMenu, true);
             window.addEventListener("click", mouseClick, true);
+            window.addEventListener("mousewheel", mouseClick, true);
             window.addEventListener("click", closeTreeRMenu, true);
             console.log('leftShowList',leftShowList.value);
             console.log('onMounted');

+ 3 - 1
src/views/myfile/components/PlaceGridFolder.vue

@@ -8,7 +8,8 @@
                     <div class="flexBox" @contextmenu="rightClick(item, $event)" @click="folderClickGrid(item)">
                         <!-- 图片 -->
                         <div class="imgBox">
-                            <img src="../../../assets/images/folderBig.png" alt="" style="vertical-align: middle;cursor: pointer;">
+                            <img v-if="item.dirType === '1'" src="../../../assets/images/folderBig.png" alt="" style="vertical-align: middle;cursor: pointer;">
+                            <img v-else src="../../../assets/images/ordinary.png" alt="" style="vertical-align: middle;cursor: pointer;">
                         </div>
                         <!-- 名称 -->
                         <div class="nameBox">
@@ -99,6 +100,7 @@ export default {
         let copyNma = ref("")
         let copyFir = ref("")
         let folderList = ref(toRaw(props.folderList))
+        console.log('folderList',folderList.value);
         // 获取文件夹,中栏,文件
         // function getAllTop() {
         //     documents.getTop(3).then(res => {

+ 23 - 14
src/views/publicment/MyFile.vue

@@ -372,7 +372,7 @@
             <!-- 文件上传 -->
             <div>
                 <el-dialog v-model="uploadModal" :close-on-click-modal="false" title="文件上传" width="30%" @close="closeUpload">
-                    <el-upload class="upload-demo" :before-upload="upBefore" :file-list="fileArr"  drag :http-request="onSuccess" multiple
+                    <el-upload class="upload-demo" :limit="10" :on-change="upBefore" :file-list="fileArr"  drag :http-request="onSuccess" multiple
                     :on-remove="handleRemove"  
                     element-loading-text="上传中..."
                     element-loading-background="rgba(255, 255, 255, 0.8)"
@@ -380,7 +380,7 @@
                         <el-icon class="el-icon--upload"><upload-filled /></el-icon>
                         <div class="el-upload__text">拖入或<em>点击上传</em></div>
                         <template #tip>
-                            <div class="el-upload__tip">请选择或拖入文件</div>
+                            <div class="el-upload__tip">请选择或拖入文件(一次最多上传10个文件)</div>
                         </template>
                     </el-upload>
                     <template #footer>
@@ -1199,7 +1199,10 @@ export default {
             }
         }
         function onSuccess(files, val) {
-            fileArr.value.push(files.file)
+            const maxSize = (maxFileSize.value-0)*1024*1024
+            if(files.file.size<maxSize){
+                fileArr.value.push(files.file)
+            }
         }        //关闭文件上传
         const closeUpload =() =>{
             uploadModal.value = false;
@@ -1208,7 +1211,14 @@ export default {
         }
         // 移除上传的某些文件
         const handleRemove = (file,rawFile) => {
-            fileArr.value = [...rawFile]
+            // fileArr.value = [...rawFile]
+            fileArr.value = rawFile.map(item=>{
+                if(item.raw){
+                    return item.raw
+                }else{
+                    return item
+                }
+            })
         }
         // 筛选后缀图片
         function getImage(file) {
@@ -1887,8 +1897,8 @@ export default {
         }
         // 触底加载事件
         const setScroll =async ()=>{
-            console.log('setScroll','到底喽');
-
+            // console.log('setScroll','到底喽');
+            if(tableBeEnd.value)return
             // console.log('tableBeEnd.value',tableBeEnd.value);
             filePageNum.value = filePageNum.value+1
             const query = `${thisFolder.value.dirId}?pageSize=${pageSize.value}&pageNum=${filePageNum.value}`
@@ -1897,7 +1907,7 @@ export default {
             
             // --------------------
             const res = await myfile.getById(query)
-            // console.log('setScrollres',res);
+            console.log('setScrollres',res);
             if (res.code === 200) {
                 // const newarr = res.rows.concat(toRaw(fileList.value))
                 const newarr = toRaw(fileList.value).concat(res.rows)
@@ -1943,17 +1953,15 @@ export default {
             }
             clickPath(null,addData)
         }
-        const upBefore = (file)=>{
+        const upBefore = (file,files)=>{
             // console.log('file',file.size);
             const maxSize = (maxFileSize.value-0)*1024*1024
             // console.log('maxSize',maxSize);
             if(file.size>maxSize){
-                ElMessage({ message: '上传文件大小最大为'+maxFileSize.value+'M', type: 'error' })
-            return false
-            }
-            if(fileArr.value.length>=10){
-                 ElMessage({ message: file.name+'上传失败,单次上传文件数量最多为10个', type: 'error' })
-            return false
+                files.pop()
+                ElMessage({ message: file.name+'上传失败,上传文件大小最大为'+maxFileSize.value+'M', type: 'error' })
+            }else{
+                fileArr.value.push(file.raw)
             }
         }
          //获取扫描仪列表
@@ -2058,6 +2066,7 @@ export default {
             // 添加监听,点击其他地方关闭文件夹右键菜单
             window.addEventListener("click", closeRMenu, true);
             window.addEventListener("click", mouseClick, true);
+            window.addEventListener("mousewheel", mouseClick, true);
         })
         // 组件显示
         onActivated(()=>{

+ 6 - 5
src/views/search/index.vue

@@ -47,7 +47,7 @@
     <!-- 文件列表 -->
     <div class="fileList">
       <div>
-        <div v-if="isList" style="height: calc(98vh - 220px);overflow-y: hidden;">
+        <div v-show="isList" style="height: calc(98vh - 220px);overflow-y: hidden;">
           <!-- 表格 -->
           <el-table :data="tableData" style="width: 100%;height:calc(98vh - 220px);" ref="container"
             @scroll="handleScroll" @row-click="clickRow">
@@ -79,7 +79,7 @@
             <Pagination :total="total" :page="page" :limit="limit" @pagination="pagination"></Pagination>
           </div> -->
         </div>
-        <div v-else>
+        <div v-show="!isList">
           <!-- 平铺 -->
           <div class="tile_box" @scroll="handleScrollG">
             <div class="file_box" v-for="item in tableData" :key="item" @click="clickRow(item)">
@@ -217,12 +217,12 @@ const changeSearchType = (name) => {
     console.log(name, 'name');
     console.log(searchFor.value, 'searchFor');
     const typeArr = setType(name);
-    console.log(typeArr, '类型');
+    // console.log(typeArr, '类型');
     tableData.value = toRaw(baseDataObj).filter((item) => {
-      console.log(item, '遍历');
+      // console.log(item, '遍历');
       return typeArr.includes(item.fileType) && (item.space.spaceType == searchFor.value || searchFor.value =='');
     });
-    console.log(tableData.value, '数组');
+    // console.log(tableData.value, '数组');
   }
 };
 const changeShow = () => {
@@ -448,6 +448,7 @@ watch(() => isList.value, (newValue, oldValue) => {
     };
      flieSearch(query).then(res=>{
 
+      baseData.value = [ ...res.rows]
       tableData.value = [ ...res.rows]
     });
   }