Pārlūkot izejas kodu

权限判断,目录获取接口更换

liuQiang 1 gadu atpakaļ
vecāks
revīzija
421367c7fa

+ 9 - 0
src/api/document/document.js

@@ -13,6 +13,14 @@ function getALLdocument(data) {
         params: data,
     })
 }
+// 按空间类型获取目录列表
+function getALLdocumentByType(data,type) {
+    return request({
+        url: `/biz/dir/list/${type}`,
+        method: "get",
+        params: data,
+    })
+}
 // 新增
 function addDocument(data) {
     return request({
@@ -49,4 +57,5 @@ export default {
     editDocument,
     getTop,
     fileTree,
+    getALLdocumentByType
 }

+ 29 - 21
src/views/department/MyFile.vue

@@ -6,7 +6,7 @@
                 <div class="topSearch">
                     <div class="spaceName">{{spaceName}}</div>
                     <div>
-                        <el-icon @click="createNewMenu(1)" color="#505870" size="24">
+                        <el-icon v-hasRole="['dept']" @click="createNewMenu(1)" color="#505870" size="24">
                             <Plus />
                         </el-icon>
                         <!-- @click="createNewFile" -->
@@ -69,7 +69,7 @@
                 <div v-if="editOnline">
                     <!-- 众多功能 -->
                     <div class="manyUse">
-                        <div v-if="thisRole.some(item=>item == 'upload') || thisFolder.dirType == '1'"
+                        <div v-if="isDept&&(thisRole.some(item=>item == 'upload') || thisFolder.dirType == '1')"
                             style="display: flex;width: 92px;height: 32px;justify-content: flex-start;align-items: center;line-height: 18px;">
                             <div style="margin-left: 5px;">
                                 <img src="../../assets/images/upload.png" style="width: 24px;height: 24px;" alt="">
@@ -89,7 +89,7 @@
                                 </span>
                             </div>
                         </div>
-                        <div v-if="!thisFolder.dirType"
+                        <div v-if="(!thisFolder.dirType) || !isDept"
                             style="display: flex;width: 82px;opacity:0.5;height: 32px;justify-content: flex-start;align-items: center;">
                             <div style="margin-left: 5px;">
                                 <el-icon
@@ -116,7 +116,7 @@
                             </div>
                         </div>
                         <template v-for="(item, index) in useMenu" :key="index">
-                            <div :class="{ 'isCheck': haveCheck }"
+                            <div :class="{ 'isCheck': (haveCheck && isDept) }"
                                 style="display: flex;width: 82px;opacity:0.5;height: 32px;justify-content: flex-start;align-items: center;line-height: 18px;cursor: pointer;"
                                 @click="getMenu(item, index)">
                                 <div style="margin-left: 5px;">
@@ -560,10 +560,6 @@ export default {
                 name: "在线编辑"
             },
             {
-                img: ImgFile.togger,
-                name: "协作"
-            },
-            {
                 img: ImgFile.icc,
                 name: "文字识别"
             },
@@ -590,11 +586,8 @@ export default {
             {
                 img: ImgFile.downLoad,
                 name: "下载"
-            },
-            {
-                img: ImgFile.textbox,
-                name: "重命名"
-            },])
+            }
+        ])
         let fileNameChange = ref(false)
         let fileMenu = ref([])
         let copyRow = ref({})
@@ -631,6 +624,7 @@ export default {
         const tableBeEnd = ref(true)//控制下拉是否到底
         const tableTotal = ref(0)//表格数据总数
         const spaceName = ref()
+        const isDept = ref(false)// 是否管理员
         // 获取文件夹,中栏,文件
         function getAllTop() {
             documents.getTop(2).then(res => {
@@ -646,7 +640,7 @@ export default {
                     pageNum: 1,
                     pageSize: 10
                 }
-                documents.getALLdocument({ parentId: userMe[0].dirId - 0, spaceId: userMe[0].spaceId, pageNum: obj.pageNum, pageSize: obj.pageSize }).then(res => {
+                documents.getALLdocumentByType({ parentId: userMe[0].dirId - 0, spaceId: userMe[0].spaceId, pageNum: obj.pageNum, pageSize: obj.pageSize },2).then(res => {
                     fileMenu.value = res.data
                     folderList.value = res.data
                 })
@@ -698,7 +692,7 @@ export default {
             copyParentId.value = row.parentId
             newDirId.value = row.dirId
             newSpaceId.value = row.spaceId
-            documents.getALLdocument({ parentId: row.dirId - 0, spaceId: row.spaceId - 0 }).then(res => {
+            documents.getALLdocumentByType({ parentId: row.dirId - 0, spaceId: row.spaceId - 0 },2).then(res => {
                 folderList.value = res.data
                 // if (res.code === 200) {
                 if (res.data.length === 0) {
@@ -1104,10 +1098,10 @@ export default {
             newDirId.value = row.dirId
             newSpaceId.value = row.spaceId
             const query = `${newDirId.value}?pageSize=10&pageNum=${filePageNum.value}`
-            documents.getALLdocument({
+            documents.getALLdocumentByType({
                 parentId: newDirId.value - 0,
                 spaceId: newSpaceId.value - 0
-            }).then(res => {
+            },2).then(res => {
                 folderList.value = res.data
                 if (res.data.length === 0) {
                    myfile.getById(query).then(res => {
@@ -1260,7 +1254,7 @@ export default {
             if(thisRole.value.length){
                 arr = publicRightMenuRole(toRaw(thisRole.value),arr)
             }
-            if(thisFolder.value.dirType == '1'){
+            if(thisFolder.value.dirType == '1' && !isDept.value){
                 arr = ordinaryFolder.value
             }
             if(arr.length<1){
@@ -1314,10 +1308,10 @@ export default {
             // console.log('topPath',toRaw(topPath.value));
             newDirId.value = backFolder.value.parentId
             newSpaceId.value = backFolder.value.spaceId
-            documents.getALLdocument({
+            documents.getALLdocumentByType({
                 parentId: newDirId.value - 0,
                 spaceId: newSpaceId.value - 0
-            }).then(res => {
+            },2).then(res => {
                 folderList.value = res.data
                 if (res.data.length === 0) {
                     myfile.getById(newDirId.value).then(res => {
@@ -1558,9 +1552,21 @@ export default {
             // console.log('query',query);
             // console.log('fileList',fileList.value);
         }
+        // 获取用户信息
+        const getUserInfo =async ()=>{
+            const userStore = useUserStore();
+            const userId = toRaw(userStore.roles)
+            if(userId.some(item=>item == 'dept')){
+                isDept.value = true
+            }else{
+                isDept.value = false
+            }
+            console.log('isDept',isDept.value);
+        }
         onMounted(() => {
             getAllTop()
             getSpaceList()
+            getUserInfo()
             // 添加监听,点击其他地方关闭文件夹右键菜单
             window.addEventListener("click", closeRMenu, true);
             window.addEventListener("click", mouseClick, true);
@@ -1778,7 +1784,9 @@ export default {
             setScroll,
             tableBeEnd,
             tableTotal,
-            spaceName
+            spaceName,
+            getUserInfo,
+            isDept
         }
     },
     watch: {

+ 7 - 7
src/views/myfile/MyFile.vue

@@ -664,7 +664,7 @@ export default {
                     pageNum: 1,
                     pageSize: 10
                 }
-                documents.getALLdocument({ parentId: userMe[0].dirId - 0, spaceId: userMe[0].spaceId, pageNum: obj.pageNum, pageSize: obj.pageSize }).then(res => {
+                documents.getALLdocumentByType({ parentId: userMe[0].dirId - 0, spaceId: userMe[0].spaceId, pageNum: obj.pageNum, pageSize: obj.pageSize },3).then(res => {
                     fileMenu.value = res.data
                     folderList.value = res.data
                 })
@@ -717,7 +717,7 @@ export default {
             copyParentId.value = row.parentId
             newDirId.value = row.dirId
             newSpaceId.value = row.spaceId
-            documents.getALLdocument({ parentId: row.dirId - 0, spaceId: row.spaceId - 0 }).then(res => {
+            documents.getALLdocumentByType({ parentId: row.dirId - 0, spaceId: row.spaceId - 0 },3).then(res => {
                 folderList.value = res.data
                 // if (res.code === 200) {
                 if (res.data.length === 0) {
@@ -770,7 +770,7 @@ export default {
                     pageNum: 1,
                     pageSize: 10
                 }
-                documents.getALLdocument({ parentId: row.dirIds - 0, spaceId: row.spaceIds - 0, pageNum: obj.pageNum, pageSize: obj.pageSize }).then(res => {
+                documents.getALLdocumentByType({ parentId: row.dirIds - 0, spaceId: row.spaceIds - 0, pageNum: obj.pageNum, pageSize: obj.pageSize },3).then(res => {
                     // fileMenu.value = res.data
                     folderList.value = res.data
                 })
@@ -1194,10 +1194,10 @@ export default {
             newDirId.value = row.dirId
             newSpaceId.value = row.spaceId
             const query = `${newDirId.value}?pageSize=10&pageNum=${filePageNum.value}`
-            documents.getALLdocument({
+            documents.getALLdocumentByType({
                 parentId: newDirId.value - 0,
                 spaceId: newSpaceId.value - 0
-            }).then(res => {
+            },3).then(res => {
                 folderList.value = res.data
                 if (res.data.length === 0) {
                     myfile.getById(query).then(res => {
@@ -1390,10 +1390,10 @@ export default {
             // console.log('topPath',toRaw(topPath.value));
             newDirId.value = backFolder.value.parentId
             newSpaceId.value = backFolder.value.spaceId
-            documents.getALLdocument({
+            documents.getALLdocumentByType({
                 parentId: newDirId.value - 0,
                 spaceId: newSpaceId.value - 0
-            }).then(res => {
+            },3).then(res => {
                 folderList.value = res.data
                 if (res.data.length === 0) {
                     myfile.getById(newDirId.value).then(res => {

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

@@ -6,7 +6,7 @@
                 <div class="topSearch">
                     <div class="spaceName">{{spaceName}}</div>
                     <div>
-                        <el-icon @click="createNewMenu(1)" color="#505870" size="24">
+                        <el-icon v-hasRole="['system']" @click="createNewMenu(1)" color="#505870" size="24">
                             <Plus />
                         </el-icon>
                         <!-- @click="createNewFile" -->
@@ -69,7 +69,7 @@
                 <div v-if="editOnline">
                     <!-- 众多功能 -->
                     <div class="manyUse">
-                        <div v-if="thisRole.some(item=>item == 'upload') || thisFolder.dirType == '1'"
+                        <div v-if="isDept&&(thisRole.some(item=>item == 'upload') || thisFolder.dirType == '1')"
                             style="display: flex;width: 92px;height: 32px;justify-content: flex-start;align-items: center;line-height: 18px;">
                             <div style="margin-left: 5px;">
                                 <img src="../../assets/images/upload.png" style="width: 24px;height: 24px;" alt="">
@@ -89,7 +89,7 @@
                                 </span>
                             </div>
                         </div>
-                        <div v-if="thisFolder.dirType"
+                        <div v-if="thisFolder.dirType && isDept"
                             style="display: flex;width: 82px;height: 32px;justify-content: flex-start;align-items: center;">
                             <div style="margin-left: 5px;">
                                 <el-icon
@@ -116,7 +116,7 @@
                             </div>
                         </div>
                         <template v-for="(item, index) in useMenu" :key="index">
-                            <div :class="{ 'isCheck': haveCheck }"
+                            <div :class="{ 'isCheck': (haveCheck && isDept) }"
                                 style="display: flex;width: 82px;opacity:0.5;height: 32px;justify-content: flex-start;align-items: center;line-height: 18px;cursor: pointer;"
                                 @click="getMenu(item, index)">
                                 <div style="margin-left: 5px;">
@@ -572,10 +572,6 @@ export default {
                 name: "在线编辑"
             },
             {
-                img: ImgFile.togger,
-                name: "协作"
-            },
-            {
                 img: ImgFile.icc,
                 name: "文字识别"
             },
@@ -603,10 +599,7 @@ export default {
             img: ImgFile.downLoad,
             name: "下载"
         },
-        {
-            img: ImgFile.textbox,
-            name: "重命名"
-        },])
+        ])
         let fileNameChange = ref(false)
         let fileMenu = ref([])
         let copyRow = ref({})
@@ -641,6 +634,7 @@ export default {
         const spaceName = ref()
         const tableBeEnd = ref(true)//控制下拉是否到底
         const tableTotal = ref(0)//表格数据总数
+        const isDept = ref(false)// 是否管理员
         // 获取文件夹,中栏,文件
         function getAllTop() {
             documents.getTop(1).then(res => {
@@ -660,10 +654,10 @@ export default {
                     pageNum: 1,
                     pageSize: 10
                 }
-                documents.getALLdocument({ parentId: userMe[0].dirId - 0, spaceId: userMe[0].spaceId, pageNum: obj.pageNum, pageSize: obj.pageSize }).then(res => {
+                documents.getALLdocumentByType({ parentId: userMe[0].dirId - 0, spaceId: userMe[0].spaceId, pageNum: obj.pageNum, pageSize: obj.pageSize }).then(res => {
                     fileMenu.value = res.data
                     folderList.value = res.data
-                })
+                },1)
                 myfile.getById(userMe[0].dirId - 0, obj).then(res => {
                     if (res.code === 200) {
                         fileList.value = res.rows
@@ -712,7 +706,7 @@ export default {
             copyParentId.value = row.parentId
             newDirId.value = row.dirId
             newSpaceId.value = row.spaceId
-            documents.getALLdocument({ parentId: row.dirId - 0, spaceId: row.spaceId - 0 }).then(res => {
+            documents.getALLdocumentByType({ parentId: row.dirId - 0, spaceId: row.spaceId - 0 },1).then(res => {
                 folderList.value = res.data
                 // if (res.code === 200) {
                 if (res.data.length === 0) {
@@ -1115,10 +1109,10 @@ export default {
             newDirId.value = row.dirId
             newSpaceId.value = row.spaceId
             const query = `${newDirId.value}?pageSize=10&pageNum=${filePageNum.value}`
-            documents.getALLdocument({
+            documents.getALLdocumentByType({
                 parentId: newDirId.value - 0,
                 spaceId: newSpaceId.value - 0
-            }).then(res => {
+            },1).then(res => {
                 folderList.value = res.data
                 if (res.data.length === 0) {
                      myfile.getById(query).then(res => {
@@ -1269,7 +1263,7 @@ export default {
             if(thisRole.value.length){
                 arr = publicRightMenuRole(toRaw(thisRole.value),arr)
             }
-            if(thisFolder.value.dirType == '1'){
+            if(thisFolder.value.dirType == '1'&& !isDept.value){
                 arr = ordinaryFolder.value
             }
             if(arr.length<1){
@@ -1323,10 +1317,10 @@ export default {
             // console.log('topPath',toRaw(topPath.value));
             newDirId.value = backFolder.value.parentId
             newSpaceId.value = backFolder.value.spaceId
-            documents.getALLdocument({
+            documents.getALLdocumentByType({
                 parentId: newDirId.value - 0,
                 spaceId: newSpaceId.value - 0
-            }).then(res => {
+            },1).then(res => {
                 folderList.value = res.data
                 if (res.data.length === 0) {
                     myfile.getById(newDirId.value).then(res => {
@@ -1568,9 +1562,21 @@ export default {
             // console.log('query',query);
             // console.log('fileList',fileList.value);
         }
+                // 获取用户信息
+        const getUserInfo =async ()=>{
+            const userStore = useUserStore();
+            const userId = toRaw(userStore.roles)
+            if(userId.some(item=>item == 'system')){
+                isDept.value = true
+            }else{
+                isDept.value = false
+            }
+            console.log('isDept',isDept.value);
+        }
         onMounted(() => {
             getAllTop()
             getSpaceList()
+            getUserInfo()
             // 添加监听,点击其他地方关闭文件夹右键菜单
             window.addEventListener("click", closeRMenu, true);
             window.addEventListener("click", mouseClick, true);
@@ -1788,7 +1794,9 @@ export default {
             setScroll,
             tableBeEnd,
             tableTotal,
-            spaceName
+            spaceName,
+            getUserInfo,
+            isDept
         }
     },
     watch: {