Parcourir la source

组织目录优化

liuQiang il y a 2 ans
Parent
commit
e3a1967c1e

+ 58 - 4
src/views/department/MyFile.vue

@@ -237,9 +237,9 @@
                                     @lastBB="lastBB" @onlineCase="onlineCase" @shareBack="shareBack"></PalaceGridFile>
                             </el-collapse-item>
                         </el-collapse>
-                        <div class="setCli" v-if="cliCC" :style="{ left: xz + 'px', top: yz  + 'px' }">
+                        <div :class="{'setCli':!noMenuItem}" v-if="cliCC" :style="{ left: xz + 'px', top: yz -100 + 'px' }">
                             <template v-for="(item, index) in filterMouseCli()" :key="index">
-                                <p @click="chooseSet(item, index, 1)" class="chooseSet">
+                                <p @click="chooseSet(item, index, 1)" v-if="!noMenuItem" class="chooseSet">
                                     <img :src="item.img" alt="">
                                     {{ item.name }}
                                     <span v-if="item.name == '在线编辑' || item.name == '协作' ? true : false"
@@ -497,19 +497,59 @@ export default {
             }
         ])
         let mouseCli = ref([
-            {
+           {
                 img: ImgFile.previewIcon,
                 name: "预览"
             },
             {
+                img: ImgFile.addolder,
+                name: "移动到...",
+            },
+            {
+                img: ImgFile.copy,
+                name: "复制到...",
+            },
+            // {
+            //     img: ImgFile.clipboard,
+            //     name: "粘贴"
+            // },
+            {
+                img: ImgFile.collect,
+                name: "收藏"
+            },
+            {
                 img: ImgFile.downLoad,
                 name: "下载"
             },
             {
+                img: ImgFile.textbox,
+                name: "重命名"
+            },
+            // {
+            //     img: ImgFile.goon,
+            //     name: "发送"
+            // },
+            {
+                img: ImgFile.share,
+                name: "分享"
+            },
+            {
                 img: ImgFile.notePencil,
                 name: "在线编辑"
             },
             {
+                img: ImgFile.togger,
+                name: "协作"
+            },
+            {
+                img: ImgFile.icc,
+                name: "文字识别"
+            },
+            {
+                img: ImgFile.history,
+                name: "历史版本"
+            },
+            {
                 img: ImgFile.trash,
                 name: "删除"
             }
@@ -544,6 +584,7 @@ export default {
         const chooseRow = ref()
         const chooseNum = ref()
         const loadingPreview = ref(false)
+        const noMenuItem = ref(false)
         // 获取文件夹,中栏,文件
         function getAllTop() {
             documents.getTop(2).then(res => {
@@ -843,6 +884,8 @@ export default {
                             uploadModal.value = false
                             fileArr.value = []
                         }
+                    }).catch(err=>{
+                        console.log('UPerr',err);
                     })
                 }
             }
@@ -1135,6 +1178,15 @@ export default {
             if(thisFolderRole.value){
                 arr = publicRightMenuRole(toRaw(thisRole.value),arr)
             }
+            if(thisFolderRole.value){
+                arr = rightMenuRole(toRaw(thisFolderRole.value),arr)
+            }
+            if(arr.length<1){
+                noMenuItem.value = true
+            }else{
+               noMenuItem.value = false 
+            }
+            console.log('filterArr',arr);
             return arr
         }
         function mouseClick() {
@@ -1540,7 +1592,8 @@ export default {
             chooseRow,
             chooseNum,
             loadingPreview,
-            thisRole
+            thisRole,
+            noMenuItem
         }
     },
     watch: {
@@ -1636,6 +1689,7 @@ p {
 .setBox:hover .selectChe {
     background-color: #EEF9FF;
     display: block;
+    z-index: 1000;
 }
 
 .selectChe {

+ 27 - 21
src/views/department/modalComponebts/CreateFloder.vue

@@ -6,28 +6,30 @@
                     <el-form-item label="目录名称">
                         <el-input v-model="boserForm.dirName" />
                     </el-form-item>
-                    <!-- <el-form-item label="目录分类">
+                    <el-form-item label="目录分类">
                         <el-radio-group v-model="boserForm.dirType">
                             <el-radio :label="1">公开目录</el-radio>
                             <el-radio :label="2">组织目录</el-radio>
                         </el-radio-group>
-                    </el-form-item> -->
-                    <!-- <el-form-item label="是否加密" v-if="!(FolderRole && !free )">
+                    </el-form-item>
+                   <template v-if="boserForm.dirType === 2">
+                     <el-form-item label="是否加密" v-if="!(FolderRole && !free )">
                             <el-switch v-model="boserForm.isEncrypt" active-value="Y" inactive-value="N" />
                     </el-form-item>
                     <el-form-item label="加密等级" v-if="!(FolderRole && !free) && boserForm.isEncrypt === 'Y'">
                         <el-radio-group v-model="boserForm.encryptLevel">
                             <el-radio :label="item.levelCode" v-for="item in levelList" :key="item">{{item.levelName}}</el-radio>
                         </el-radio-group>
-                    </el-form-item> -->
+                    </el-form-item>
                     <el-form-item label="成员权限">
                           <el-checkbox-group v-model="boserForm.memberRoles">
                             <el-checkbox v-for="item in dir_rules" :key="item.value"  :label="item.value">{{item.label}}</el-checkbox>
                         </el-checkbox-group>
                     </el-form-item>
-                    <el-form-item label="选择成员">
+                    <el-form-item label="选择成员" v-if="boserForm.dirType === 2">
                     </el-form-item>
-                    <CreateTasnsfer @setUsers="setUsers" :openTrans="openTrans"></CreateTasnsfer>
+                    <CreateTasnsfer v-if="boserForm.dirType === 2" @setUsers="setUsers" :openTrans="openTrans"></CreateTasnsfer>
+                   </template>
                 </el-form>
                 <template #footer>
                     <span class="dialog-footer">
@@ -45,9 +47,6 @@
 <script>
 import { ref, onMounted, toRef,toRaw } from 'vue';
 import documents from '../../../api/document/document';
-import {
-    getUser,
-} from "@/api/system/user";
 import { getLevel } from '@/api/level/level.js';
 import { ElMessage } from 'element-plus';
 import CreateTasnsfer from '../components/createTasnsfer.vue'
@@ -105,7 +104,7 @@ export default {
         let addBoser = ref(false)
         let boserForm = ref({
             dirName: "",
-            dirType:2,
+            dirType:1,
             isEncrypt:"Y",
             encryptLevel:"L1",
             memberRoles:[],
@@ -129,16 +128,29 @@ export default {
                 })
             } else {
                 if (free === 1) {
-                    documents.addDocument(
-                        {
+                    let query = {}
+                    if(boserForm.value.dirType === 2){
+                        query = {
                             "dirName": boserForm.value.dirName,
                             "parentId": drId - 0,
                             "spaceId": spId - 0,
+                            "dirType":boserForm.value.dirType,
                             "dirRole":boserForm.value.memberRoles.join(','),
-                            "users":boserForm.value.users
-                            // "isEncrypt":boserForm.value.isEncrypt,
-                            // "encryptLevel":boserForm.value.isEncrypt == "Y"?boserForm.value.encryptLevel:null
+                            "users":boserForm.value.users,
+                            "isEncrypt":boserForm.value.isEncrypt,
+                            "encryptLevel":boserForm.value.isEncrypt == "Y"?boserForm.value.encryptLevel:null
                         }
+                    }else{
+                        query = {
+                            "dirName": boserForm.value.dirName,
+                            "parentId": drId - 0,
+                            "spaceId": spId - 0,
+                            "dirType":boserForm.value.dirType
+                            
+                    }
+                    }
+                    documents.addDocument(
+                       query
                     ).then(res => {
                         if (res.code === 200) {
                             ElMessage({
@@ -206,14 +218,9 @@ export default {
             })
             console.log('newArr',boserForm.value.users);
         }
-        const getUserFn =async ()=>{
-            const res = await  getUser()
-            console.log('getUserFn',res);
-        }
         onMounted(() => {
             inital()
             getLevelList()
-            getUserFn()
         })
         return {
             addBoser,
@@ -232,7 +239,6 @@ export default {
             free,
             openTrans,
             setUsers,
-            getUserFn,
             dir_rules,
             proxy
         }

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

@@ -1137,6 +1137,7 @@ export default {
         }
         function getChildren(data) {
             fileTrees.value = data
+            refreshFile()
         }
         function getCback(data) {
             thanks.value = data