liyangzheng 1 년 전
부모
커밋
958633ed3a
3개의 변경된 파일352개의 추가작업 그리고 299개의 파일을 삭제
  1. 303 277
      src/views/myfile/MyFile.vue
  2. 48 21
      src/views/myfile/modalComponebts/Transfer.vue
  3. 1 1
      src/views/search/index.vue

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 303 - 277
src/views/myfile/MyFile.vue


+ 48 - 21
src/views/myfile/modalComponebts/Transfer.vue

@@ -5,12 +5,18 @@
             <el-dialog v-model="transferModals" title="分享" width="40%" :close-on-click-modal="false">
                 <div class="transBox">
                     <div class="allBag">
-                        <el-input style="width: 220px;margin-left: 18px;margin-top:5px" v-model="allBag"
-                            @blur="searchPeople" placeholder="搜索"></el-input>
+                        <div style="position: relative;">
+                            <el-input style="width: 220px;margin-left: 18px;margin-top:5px" v-model="allBag"
+                                @keyup.enter="searchPeople" placeholder="搜索"></el-input>
+                            <el-icon @click="searchPeople" style="position: absolute;top: 13px;left: 210px;">
+                                <Search />
+                            </el-icon>
+                        </div>
                         <div class="allLog">
-                            <el-tree ref="treeRef" :data="allTreeData" :props="allTreeProps" show-checkbox node-key="id"
-                                :default-expanded-keys="openTree" @check-change="allTreeChange"
+                            <el-tree v-if="have" ref="treeRef" :data="allTreeData" :props="allTreeProps" show-checkbox
+                                node-key="id" :default-expanded-keys="openTree" @check-change="allTreeChange"
                                 :default-checked-keys="backScreen" :check-strictly="false" />
+                            <span v-else>暂无数据</span>
                         </div>
                     </div>
                     <div class="needBag">
@@ -21,8 +27,8 @@
                         </div>
                         <div class="needLog">
                             <el-scrollbar height="349px">
-                                <el-tag v-for="(item, index) in chooseTagData" :key="index" class="tagtag"
-                                    :closable="lastPeople" @close="handleClose(item)">
+                                <el-tag v-for="(item, index) in chooseTagData" :key="index" class="tagtag" :closable="true"
+                                    @close="handleClose(item)">
                                     {{ item.userName ? item.userName : item.name }}
                                 </el-tag>
                             </el-scrollbar>
@@ -88,6 +94,8 @@ export default {
         let needTagData = ref([])
         let backScreen = ref([])
         let lastPeople = ref(false)
+        let allCancel = ref(false)
+        let have = ref(true)
         function allTeam() {
             if (result) {
                 transferModals.value = result
@@ -95,7 +103,7 @@ export default {
         }
         // 分享穿梭框
         function allTreeChange(e) {
-            console.log('触发了change事件');
+            // console.log('触发了change事件'+ 1++);
             const id = e.id;
             const label = e.label;
             const disabled = e.disabled;
@@ -198,9 +206,6 @@ export default {
             }
             if (feeh === 0) {
                 fileCount.getActor(dees).then(res => {
-                    // 去除数组内部的重复元素
-                    // const uniqueRes = Array.from(new Set(res.map(item => item.userName))).map(id => res.find(item => item.userName === id));
-                    // 现在的 uniqueRes 数组不包含重复元素
                     chooseTagData.value = res;
                     backScreen.value = chooseTagData.value.map(item => {
                         return item.userId
@@ -216,12 +221,14 @@ export default {
         function cleanPeople() {
             treeRef.value.setCheckedKeys([]);
             chooseTagData.value = [];
-            ElMessage({
-                message: "再次点击以完全清空",
-                type: "warning",
-                duration: 1000
+            setTimeout(() => {
+                antherClean()
             })
         }
+        function antherClean() {
+            treeRef.value.setCheckedKeys([]);
+            chooseTagData.value = [];
+        }
         function searchInTreeData(treeData, searchValue) {
             const foundItems = [];
             function traverseTree(node) {
@@ -239,11 +246,14 @@ export default {
             let treeNew = allTreeData.value
             if (allBag.value == '') {
                 getAllUser()
+                have.value = true
             } else {
                 const foundData = searchInTreeData(allTreeData.value, allBag.value);
                 if (foundData.length > 0) {
+                    have.value = true
                     allTreeData.value = foundData
                 } else {
+                    have.value = false
                     allTreeData.value = treeNew
                 }
             }
@@ -255,11 +265,20 @@ export default {
         }
         function handleClose(tag) {
             chooseTagData.value.splice(chooseTagData.value.indexOf(tag), 1);
-            // 从标签中获取 userId
-            // const userId = tag.userId;
-            // 从 chooseTagData 中筛选出不包含当前 userId 的标签
-            // chooseTagData.value = chooseTagData.value.filter(item => item.userId !== userId)
-
+            let result = chooseTagData.value.map((item) => {
+                return item.userId
+            })
+            treeRef.value.setCheckedKeys(result);
+            setTimeout(() => {
+                antherClose(tag)
+            }, 10)
+        }
+        function antherClose(tag) {
+            chooseTagData.value.splice(chooseTagData.value.indexOf(tag), 1);
+            let result = chooseTagData.value.map((item) => {
+                return item.userId
+            })
+            treeRef.value.setCheckedKeys(result);
         }
         onMounted(() => {
             allTeam()
@@ -287,6 +306,7 @@ export default {
             cleanPeople,
             treeRef,
             searchPeople,
+            have,
         }
     }
 }
@@ -314,14 +334,16 @@ export default {
 
 .allBag {
     width: 255px;
-    height: 380px;
+    height: 400px;
     border: 1px solid green;
+    overflow-y: auto;
 }
 
 .needBag {
     width: 255px;
-    height: 380px;
+    height: 400px;
     border: 1px solid green;
+    overflow-y: auto;
 }
 
 .allLog {
@@ -330,6 +352,7 @@ export default {
     margin: 5px auto;
     /* border: 1px solid red; */
     overflow-y: auto;
+    text-align: center;
 }
 
 .needBag_top {
@@ -352,4 +375,8 @@ export default {
 :deep(.el-icon el-tag__close) {
     display: block;
 }
+
+:deep(.el-scrollbar__wrap .el-scrollbar__wrap--hidden-default) {
+    height: 346px !important;
+}
 </style>

+ 1 - 1
src/views/search/index.vue

@@ -61,7 +61,7 @@
             <el-table-column prop="space.spaceName" label="所属空间" width="180" />
             <el-table-column prop="createTime" label="时间" width="auto" header-align="left" />
             <el-table-column prop="fileType" label="类型" width="auto" />
-            <el-table-column prop="fileSize" label="大小" width="auto">
+            <el-table-column prop="fileSize" label="大小" width="100">
               <template #default="scope">
                 <div>{{ formatFileSize(scope.row.fileSize) }}</div>
               </template>

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.