Browse Source

批量删除,ifarme大小适配

liuQiang 1 year ago
parent
commit
b4d6e9a629

+ 59 - 121
src/layout/NewIndex.vue

@@ -67,7 +67,7 @@ const openMaxmin = (title, path) => {
       // ElMessage({ message: "该页面已经打开", type: "info" });
       const thisTagId = oldStorage.find((item) => item.path === path).id;
       // console.log("thisTagId", thisTagId);
-      layer.reset(thisTagId)
+      layer.reset(thisTagId);
       return;
     }
     const thisId = layer.open({
@@ -88,18 +88,24 @@ const openMaxmin = (title, path) => {
         const newStorage = oldData.filter((item) => item.id !== id);
         sessionStorage.setItem("tagList", JSON.stringify(newStorage));
       },
-      // min: (id) => {
-      //   setTimeout(() => {
-      //     iframeSize();
-      //   }, 200);
-      //   return;
-      // },
-      // full: (id) => {
-      //   setTimeout(() => {
-      //     iframeSize();
-      //   }, 200);
-      //   return;
-      // },
+      min: (id) => {
+        setTimeout(() => {
+          iframeSize(id);
+        }, 1000);
+        return;
+      },
+      full: (id) => {
+        setTimeout(() => {
+          iframeSize(id);
+        }, 1500);
+        return;
+      },
+      restore: (id) => {
+        setTimeout(() => {
+          iframeSize(id);
+        }, 200);
+        return;
+      },
     });
     item.id = thisId;
     sessionStorage.setItem(
@@ -125,33 +131,28 @@ const openMaxmin = (title, path) => {
         const newStorage = oldData.filter((item) => item.id !== id);
         sessionStorage.setItem("tagList", JSON.stringify(newStorage));
       },
-      // min: (id) => {
-      //   setTimeout(() => {
-      //     iframeSize();
-      //   }, 200);
-      //   return;
-      // },
-      // full: (id) => {
-      //   setTimeout(() => {
-      //     iframeSize();
-      //   }, 200);
-      //   return;
-      // },
+      min: (id) => {
+        setTimeout(() => {
+          iframeSize(id);
+        }, 1500);
+        return;
+      },
+      full: (id) => {
+        setTimeout(() => {
+          iframeSize(id);
+        }, 1000);
+        return;
+      },
+      restore: (id) => {
+        setTimeout(() => {
+          iframeSize(id);
+        }, 200);
+        return;
+      },
     });
     item.id = thisId;
     sessionStorage.setItem("tagList", JSON.stringify([item]));
   }
-  // if (!path.includes("fileEdit")) {
-  //   setInterval(() => {
-  //     const newTab = sessionStorage.getItem("newTab");
-  //     if (!newTab) {
-  //       return;
-  //     }
-  //     const tabData = JSON.parse(newTab);
-  //     openTab(tabData.name, tabData.path);
-  //     sessionStorage.removeItem("newTab");
-  //   }, 200);
-  // }
 };
 //判断标签是否存在
 const hasThis = (clickRowId) => {
@@ -167,92 +168,29 @@ const hasThis = (clickRowId) => {
     }
   }
 };
-// // 控制iframe大小
-// const iframeSize = () => {
-//   // console.log('执行ifSize',par);
-//   const outIframe = document.getElementById("layui-layer-iframe");
-//   const inIframe = outIframe.contentDocument.getElementsByTagName("iframe")[0];
-//   if (inIframe == null) {
-//     // console.log('没有inF');
-//     setTimeout(() => {
-//       // console.log('==============');
-//       iframeSize();
-//     }, 200);
-//     return;
-//   }
-//   // console.log('outIframe', outIframe);
-//   // console.error(outIframe.parentElement);
-//   inIframe.style.height = outIframe.style.height =
-//     outIframe.parentElement.offsetHeight - 40 + "px";
-//   inIframe.style.width = outIframe.style.width =
-//     outIframe.parentElement.offsetWidth - 80 + "px";
-// };
-const openTab = (title, path) => {
-  const item = {
-    title: title,
-    path: path,
-  };
-  // 判断是否存在标签列表,存在则添加,不存在则创建
-  const storage = sessionStorage.getItem("tagList");
-  if (storage) {
-    //如果标签数量超过11个,提示超出最大限制
-    if (JSON.parse(storage).length >= 10) {
-      ElMessage({ message: "标签数量超出最大限制", type: "error" });
-      return;
-    }
-    const oldStorage = JSON.parse(storage);
-    // 判断是否存在相同的标签
-    if (oldStorage.find((item) => item.path === path)) {
-      ElMessage({ message: "该页面已经打开", type: "info" });
-      return;
-    }
-    const thisId = layer.open({
-      type: "iframe", //类型
-      // move: true, //拖拽
-      maxmin: true,
-      resize: true, //拉伸
-      moveOut: true, //可以拖出窗外
-      shade: false, //不显示遮罩
-      title: title,
-      content: path,
-      shadeClose: false, // 点击遮罩关闭
-      area: ["80%", "80%"], //大小
-      close: (id) => {
-        // console.log(`关闭:${id}`);
-        const oldData = JSON.parse(sessionStorage.getItem("tagList"));
-        // 删除本地存储中该标签的数据
-        const newStorage = oldData.filter((item) => item.id !== id);
-        sessionStorage.setItem("tagList", JSON.stringify(newStorage));
-      },
-    });
-    item.id = thisId;
-    sessionStorage.setItem(
-      "tagList",
-      JSON.stringify([...JSON.parse(sessionStorage.getItem("tagList")), item])
-    );
-    // }
-  } else {
-    const thisId = layer.open({
-      type: "iframe", //类型
-      maxmin: true,
-      moveOut: true, //可以拖出窗外
-      shade: false, //不显示遮罩
-      resize: true, //拉伸
-      title: title,
-      content: path,
-      shadeClose: false, // 点击遮罩关闭
-      area: ["80%", "80%"], //大小
-      close: (id) => {
-        // console.log(`关闭:${id}`);
-        // 删除本地存储中该标签的数据
-        const oldData = JSON.parse(sessionStorage.getItem("tagList"));
-        const newStorage = oldData.filter((item) => item.id !== id);
-        sessionStorage.setItem("tagList", JSON.stringify(newStorage));
-      },
-    });
-    item.id = thisId;
-    sessionStorage.setItem("tagList", JSON.stringify([item]));
+// 控制iframe大小
+const iframeSize = (id) => {
+  // console.log('执行ifSize',par);
+  const div = document.querySelector(`#${id}`);
+  const tagIfarme = document.querySelector(`#${id} iframe`);
+  // console.log("tagIfarme", tagIfarme);
+  // const outIframe = outDiv.contentDocument
+  // console.log("outIframe", outIframe);
+  const inIframe = tagIfarme?.contentDocument.getElementsByTagName("iframe")[0];
+  if (tagIfarme == null) {
+    // console.log('没有inF');
+    setTimeout(() => {
+      // console.log('==============');
+      iframeSize();
+    }, 200);
+    return;
   }
+  // console.log('outIframe', outIframe);
+  // console.log("div.parentElement", div.offsetHeight);
+  inIframe.style.height =
+    tagIfarme.offsetHeight + "px";
+  inIframe.style.width = 
+    tagIfarme.offsetWidth + "px";
 };
 
 // 点击logo回到主页

+ 6 - 1
src/layout/components/DefaultPage/DefaultPage.vue

@@ -31,7 +31,7 @@
           />
         </div>
       </div>
-      <div class="search" :class="{ showSearch: isSearch }">
+      <div class="search hoverColor" :class="{ showSearch: isSearch }">
         <input
           type="text"
           class="search_input"
@@ -936,4 +936,9 @@ onMounted(() => {
 :deep(em) {
   background: #fff0ba !important;
 }
+.hoverColor{
+  &:hover{
+    background-color: #236EC3;
+  }
+}
 </style>

+ 5 - 1
src/views/department/MyFile.vue

@@ -1551,7 +1551,11 @@ export default {
                         })
                         let candel = false
                         await datas.forEach(item=>{
-                        if(delFileFn(item)){//删除的这批里面有打开的
+                        if(hasThisTab(item)){//删除的这批里面有打开的
+                          ElMessage({
+                                type: "info",
+                                message: "请先关闭打开的文件"
+                            })
                                 candel = true
                                 return
                         } 

+ 5 - 1
src/views/myfile/MyFile.vue

@@ -1756,7 +1756,11 @@ export default {
                         })
                         let candel = false
                         await datas.forEach(item=>{
-                        if(delFileFn(item)){//删除的这批里面有打开的
+                        if(hasThisTab(item)){//删除的这批里面有打开的
+                          ElMessage({
+                                type: "info",
+                                message: "请先关闭打开的文件"
+                            })
                                 candel = true
                                 return
                         } 

+ 5 - 1
src/views/publicment/MyFile.vue

@@ -1525,7 +1525,11 @@ export default {
                         })
                         let candel = false
                         await datas.forEach(item=>{
-                        if(delFileFn(item)){//删除的这批里面有打开的
+                        if(hasThisTab(item)){//删除的这批里面有打开的
+                          ElMessage({
+                                type: "info",
+                                message: "请先关闭打开的文件"
+                            })
                                 candel = true
                                 return
                         }