liuQiang 1 ano atrás
pai
commit
840abb51b4

+ 15 - 7
src/layout/indexCommon.vue

@@ -617,7 +617,7 @@ const clickTab = (item) => {
           });
         return
       }
-      console.log('noONe');
+      // console.log('noONe');
       editableTabsValue.value = toFileData.value.path
       router.push({
         path: toFileData.value.path,
@@ -817,10 +817,10 @@ const addFolderAdd = (data) => {
   editableTabsValue.value = data.path
   toFileData.value = data
   clickTab(data)
-  console.log("editableTabs", toRaw(editableTabs.value));
+  // console.log("editableTabs", toRaw(editableTabs.value));
 };
 const upFirstFolderData = (query)=>{
-  console.log('query',query);
+  // console.log('query',query);
   const arr = toRaw(editableTabs.value);
   // if(!arr.some(item=>item.clickRowId.dirId === query.dirId)) return
   arr.map(item=>{
@@ -831,10 +831,10 @@ const upFirstFolderData = (query)=>{
     return item
   })
   editableTabs.value = JSON.parse(JSON.stringify(arr))
-  console.log('editableTabs',editableTabs.value);
+  // console.log('editableTabs',editableTabs.value);
 }
 const upFileData = (query)=>{
-  console.log('query',query);
+  // console.log('query',query);
   const arr = toRaw(iFrameData.value);
   // if(!arr.some(item=>item.clickRowId.dirId === query.dirId)) return
   arr.map(item=>{
@@ -845,7 +845,7 @@ const upFileData = (query)=>{
     return item
   })
   iFrameData.value = JSON.parse(JSON.stringify(arr))
-  console.log('iFrameData',iFrameData.value);
+  // console.log('iFrameData',iFrameData.value);
 }
 const delFolderDataFn = (row)=>{
   // console.log('delFolderDataFn',row);
@@ -864,6 +864,13 @@ const delFolderDataFn = (row)=>{
   editableTabs.value = newArr
   // console.log('editableTabs',editableTabs.value);
 }
+const delFileFn = (id)=>{
+ const has =  iFrameData.value.find(item =>item.docId == id);
+  if(has){
+    ElMessage.error(`${has.name}文件已被打开,请关闭后重试`);
+    return true
+  }
+}
 provide("addTab", addTab);
 provide("addFolderAdd", addFolderAdd);
 provide("addFileTab", addFileTab);
@@ -871,6 +878,7 @@ provide("upFirstFolderData", upFirstFolderData);
 provide("upFileData", upFileData);
 provide("clickPath", clickPath);
 provide("delFolderDataFn", delFolderDataFn);
+provide("delFileFn", delFileFn);
 // TODO 删除tab事件
 const closeTab = (item, index, e) => {
   e.preventDefault();
@@ -943,7 +951,7 @@ const iframeSize = (par,history) => {
     }, 200);
     return
   }
-  console.log('outIframe', outIframe.parentElement);
+  // console.log('outIframe', outIframe.parentElement);
   console.error(outIframe.parentElement);
   inIframe.style.height = outIframe.style.height =
     outIframe.parentElement.offsetHeight + "px";

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

@@ -743,6 +743,7 @@ export default {
         const upFileData = inject("upFileData");
         const addFolderAdd = inject("addFolderAdd");
         const delFolderDataFn = inject("delFolderDataFn");
+        const delFileFn = inject("delFileFn");
         const filePageNum = ref(1) //获取文件分页
         const tableBeEnd = ref(true)//控制下拉是否到底
         const tableTotal = ref(0)//表格数据总数
@@ -1118,8 +1119,8 @@ export default {
                     // console.log('needc');
                 }
             }
-            console.log('chooseSetrow',row);
-            console.log('chooseSetnum',num);
+            // console.log('chooseSetrow',row);
+            // console.log('chooseSetnum',num);
             if (row.name == '在线编辑' || row.name == '协作') {
                 cliCC.value = true
             }
@@ -1140,6 +1141,10 @@ export default {
                 anyP.value = false
             }
             if (row.name == '删除') {
+            const has =  delFileFn(clickRowId.value) 
+              if(has){
+                  return
+              }
                 myfile.delMenu(clickRowId.value).then(res => {
                     if (res.code === 200) {
                         ElMessage({
@@ -1213,7 +1218,7 @@ export default {
                     getInfo(clickRow.value.docId).then((res)=>{
                     // console.log('res',res);
                     clickRow.value = res.data
-                    if(clickRow.value.isFiled === "Y" || !canEditArr.includes(copyFileType.value) ){
+                    if(clickRow.value.isFiled === "Y" || !canEditArr.includes(copyFileType.value) || !toRaw(thisRole.value).some(item=>item == "edit")){
                         //归档了或者不允许编辑的格式 就是预览
                         if(thisFolderRole.value &&thisFolderRole.value.roles&& thisFolderRole.value.roles.l0800){
                             addFileTab(clickRow.value, 0,1);
@@ -1399,7 +1404,7 @@ export default {
             selectedBox.value = row.dirId
             rename.value = true
         }
-        function getMenu(row, num,canDo) {
+       async function getMenu(row, num,canDo) {
             // console.log('delMoreFile',delMoreFile.value);
             // if(delMoreFile.value[0].dirType === "2") return ElMessage({
             //     message: "删除失败,组织目录不可删除",
@@ -1410,6 +1415,18 @@ export default {
                 const datas = delMoreFile.value.map(item=>{
                     return item.docId
                 })
+                let candel = false
+               await datas.forEach(item=>{
+                   if(delFileFn(item)){//删除的这批里面有打开的
+                        // ElMessage({
+                        //     message: "相关文件已被打开,请关闭后重试",
+                        //     type: "error"
+                        // })
+                        candel = true
+                        return
+                   } 
+                })
+                if(candel)return
                 const filesStr = datas.join(',')
                 delInfo(filesStr).then(res=>{
                     if (res.code === 200) {
@@ -2655,7 +2672,8 @@ export default {
             delFolderDataFn,
             openFolderPath,
             delFolderMenu,
-            noEdit
+            noEdit,
+            delFileFn
         }
     },
     watch: {

+ 20 - 2
src/views/myfile/MyFile.vue

@@ -759,6 +759,7 @@ export default {
         const upFileData = inject("upFileData");
         const clickPath = inject("clickPath");
         const delFolderDataFn = inject("delFolderDataFn");
+        const delFileFn = inject("delFileFn");
         const spaceName = ref()
         const filePageNum = ref(1) //获取文件分页
         const tableBeEnd = ref(true)//控制下拉是否到底
@@ -1194,6 +1195,10 @@ export default {
                 anyP.value = false
             }
             if (row.name == '删除') {
+              const has =  delFileFn(clickRowId.value) 
+              if(has){
+                  return
+              }
                 myfile.delMenu(clickRowId.value).then(res => {
                     if (res.code === 200) {
                         ElMessage({
@@ -1529,7 +1534,7 @@ export default {
             selectedBox.value = row.dirId
             rename.value = true
         }
-        function getMenu(row, num,canDo) {
+       async function getMenu(row, num,canDo) {
             if (row.name === '删除') {
                 if(!canDo){
                     // openScan.value = true
@@ -1538,6 +1543,18 @@ export default {
                 const datas = delMoreFile.value.map(item=>{
                     return item.docId
                 })
+                let candel = false
+               await datas.forEach(item=>{
+                   if(delFileFn(item)){//删除的这批里面有打开的
+                        // ElMessage({
+                        //     message: "相关文件已被打开,请关闭后重试",
+                        //     type: "error"
+                        // })
+                        candel = true
+                        return
+                   } 
+                })
+                if(candel)return
                 const filesStr = datas.join(',')
                 // console.log('filesStr',filesStr);
                 delInfo(filesStr).then(res=>{
@@ -2813,7 +2830,8 @@ export default {
             changeListSort,
             delFolderDataFn,
             openFolderPath,
-            delFolderMenu
+            delFolderMenu,
+            delFileFn
         }
     },
     watch: {

+ 21 - 3
src/views/publicment/MyFile.vue

@@ -743,6 +743,7 @@ export default {
         const addFolderAdd = inject("addFolderAdd");
         const upFileData = inject("upFileData");
         const delFolderDataFn = inject("delFolderDataFn");
+        const delFileFn = inject("delFileFn");
         const filePageNum = ref(1) //获取文件分页
         const spaceName = ref()
         const tableBeEnd = ref(true)//控制下拉是否到底
@@ -1123,6 +1124,10 @@ export default {
                 anyP.value = false
             }
             if (row.name == '删除') {
+            const has =  delFileFn(clickRowId.value) 
+              if(has){
+                  return
+              }
                 myfile.delMenu(clickRowId.value).then(res => {
                     if (res.code === 200) {
                         ElMessage({
@@ -1196,7 +1201,7 @@ export default {
                     getInfo(clickRow.value.docId).then((res)=>{
                     // console.log('res',res);
                     clickRow.value = res.data
-                    if(clickRow.value.isFiled === "Y" || !canEditArr.includes(copyFileType.value) ){
+                    if(clickRow.value.isFiled === "Y" || !canEditArr.includes(copyFileType.value) || !toRaw(thisRole.value).some(item=>item == "edit")){
                         //归档了或者不允许编辑的格式 就是预览
                         if(thisFolderRole.value &&thisFolderRole.value.roles&& thisFolderRole.value.roles.l0800){
                             addFileTab(clickRow.value, 0,1);
@@ -1372,7 +1377,7 @@ export default {
             selectedBox.value = row.dirId
             rename.value = true
         }
-        function getMenu(row, num,canDo) {
+       async function getMenu(row, num,canDo) {
             // if(delMoreFile.value[0].dirType === "2") return ElMessage({
             //     message: "删除失败,组织目录不可删除",
             //     type: "error"
@@ -1382,6 +1387,18 @@ export default {
                 const datas = delMoreFile.value.map(item=>{
                     return item.docId
                 })
+                let candel = false
+               await datas.forEach(item=>{
+                   if(delFileFn(item)){//删除的这批里面有打开的
+                        // ElMessage({
+                        //     message: "相关文件已被打开,请关闭后重试",
+                        //     type: "error"
+                        // })
+                        candel = true
+                        return
+                   } 
+                })
+                if(candel)return
                 const filesStr = datas.join(',')
                 delInfo(filesStr).then(res=>{
                     if (res.code === 200) {
@@ -2637,7 +2654,8 @@ export default {
             delFolderDataFn,
             openFolderPath,
             delFolderMenu,
-            noEdit
+            noEdit,
+            delFileFn
         }
     },
     watch: {