Prechádzať zdrojové kódy

Merge branch 'liuqiang' into v3

liuQiang 1 rok pred
rodič
commit
66c514b34c

+ 10 - 1
src/api/document/document.js

@@ -29,6 +29,14 @@ function addDocument(data) {
         data,
     })
 }
+// 修改文件夹
+function editFolerDocument(data) {
+    return request({
+        url: `/biz/dir`,
+        method: "put",
+        data,
+    })
+}
 // 修改
 function editDocument(data) {
     return request({
@@ -57,5 +65,6 @@ export default {
     editDocument,
     getTop,
     fileTree,
-    getALLdocumentByType
+    getALLdocumentByType,
+    editFolerDocument
 }

+ 15 - 6
src/views/department/MyFile.vue

@@ -32,7 +32,7 @@
                                     <template #dropdown>
                                         <el-dropdown-menu>
                                             <el-dropdown-item @click="restName(item, index)">重命名</el-dropdown-item>
-                                            <el-dropdown-item v-if="item.dirType == '2'" @click="upFirstFoler(item)">编辑</el-dropdown-item>
+                                            <el-dropdown-item v-if="item.dirType == '2' && isDept" @click="upFirstFoler(item)">编辑</el-dropdown-item>
                                             <el-dropdown-item v-if="item.dirType == '1'" @click="delName(item, index)">删除</el-dropdown-item>
                                         </el-dropdown-menu>
                                     </template>
@@ -319,8 +319,8 @@
             <!-- 新增文件夹弹窗 -->
             <div>
                 <CreateFloder v-if="folderCase" :thisType="thisFolder" :thisRole="thisRole" :folderCase="folderCase" @getChildrenC="getChildrenC" :oneOrTwo="oneOrTwo"
-                    :impDirId="impDirId" :impSpaceId="impSpaceId" :newDirId="newDirId" :newSpaceId="newSpaceId" :thisFolderRole="thisFolderRole"
-                    :refreshFile="refreshFile">
+                    :impDirId="impDirId" :impSpaceId="impSpaceId" :newDirId="newDirId" :newSpaceId="newSpaceId" :upFolderData="upFolderData" :thisFolderRole="thisFolderRole"
+                    :refreshFile="getAllTop">
                 </CreateFloder>
             </div>
             <!-- 文件上传 -->
@@ -638,6 +638,8 @@ export default {
         const tableTotal = ref(0)//表格数据总数
         const spaceName = ref()
         const isDept = ref(false)// 是否管理员
+        const upFolderData = ref()// 修改的文件夹的数据
+        // const isUpFolder = ref(false)
         // 获取文件夹,中栏,文件
         function getAllTop() {
             documents.getTop(2).then(res => {
@@ -917,6 +919,7 @@ export default {
             anyP.value = false
         }
         function createNewMenu(num) {
+            upFolderData.value  = null
             oneOrTwo.value = num
             folderCase.value = true
         }
@@ -1577,8 +1580,13 @@ export default {
             console.log('isDept',isDept.value);
         }
         //修改文件夹权限
-        const upFirstFoler = (item)=>{
-            console.log('upFirstFoler',item);
+        const upFirstFoler =async (item)=>{
+            // console.log('upFirstFoler',item);
+            const res = await  myfile.getDir(item.dirId)
+            console.log('upFirstFolerres = ',res);
+            upFolderData.value = toRaw(res.data)
+            oneOrTwo.value = 1
+            folderCase.value = true
         }
         onMounted(() => {
             getAllTop()
@@ -1804,7 +1812,8 @@ export default {
             spaceName,
             getUserInfo,
             isDept,
-            upFirstFoler
+            upFirstFoler,
+            upFolderData
         }
     },
     watch: {

+ 27 - 4
src/views/department/components/createTasnsfer.vue

@@ -28,8 +28,8 @@
       <div class="needLog">
         <el-scrollbar>
           <el-tag
-            v-for="(item, index) in chooseTagData"
-            :key="index"
+            v-for="(item) in chooseTagData"
+            :key="item.userId"
             class="tagtag"
             :closable="lastPeople"
             @close="handleClose(item)"
@@ -53,7 +53,8 @@ const allTreeData = ref([]);
 const chooseTagData = ref([]);
 const lastPeople = ref(false);
 const openTree = ref([]);
-const backScreen = ref([]);
+const backScreen = ref(props.checkUser);
+// console.log('backScreen',backScreen.value);
 const allTreeProps = {
   label: "label",
   children: "children",
@@ -67,6 +68,11 @@ const props = defineProps({
     type: Boolean,
     default: true,
   },
+  checkUser: {
+    type: Array,
+    required: true,
+    default: ()=>[],
+},
 });
 watch(
   () => props.openTrans,
@@ -125,8 +131,25 @@ function getAllUser() {
     });
   });
 }
-onMounted(() => {
+onMounted(async() => {
   getAllUser();
+  const checkUser = toRaw(props.checkUser)
+  // console.log('checkUser',checkUser);
+  // console.log('allTreeData.value',allTreeData.value);
+  //设置勾选项
+  const arr = checkUser.map(item=>{
+    return item.userId
+  })
+    backScreen.value = arr
+    // 设置右侧列表数据
+ chooseTagData.value =  checkUser.map(item=>{
+    return {
+      userId:item.userId,
+      userName:item.userName,
+      disabled:false
+    }
+  })
+    // console.log('arr',arr);
 });
 </script>
 

+ 68 - 22
src/views/department/modalComponebts/CreateFloder.vue

@@ -1,26 +1,28 @@
 <template>
     <div>
         <div>
-            <el-dialog v-model="addBoser" title="新建文件夹" width="30%" @close="diClose">
+            <el-dialog v-model="addBoser" :title="upFolderData?'修改':'新建文件夹'" width="30%" @close="diClose">
                 <el-form :model="boserForm" label-width="120px">
                     <el-form-item label="目录名称">
                         <el-input v-model="boserForm.dirName" />
                     </el-form-item>
                     <el-form-item label="目录分类" v-if="free || (!free && thisType.dirType != '2' )">
-                        <el-radio-group v-model="boserForm.dirType">
+                        <el-radio-group :disabled="upFolderData" v-model="boserForm.dirType">
                             <el-radio :label="1">公开目录</el-radio>
                             <el-radio :label="2">组织目录</el-radio>
                         </el-radio-group>
                     </el-form-item>
                    <template v-if="boserForm.dirType === 2 || thisType.dirType == '2'">
-                     <el-form-item label="是否加密" v-if="!FolderRole.levelCode || free">
+                    <template v-if="!upFolderData">
+                        <el-form-item label="是否加密" v-if="!FolderRole.levelCode || free">
                             <el-switch v-model="boserForm.isEncrypt" active-value="Y" inactive-value="N" />
-                    </el-form-item>
-                    <el-form-item label="加密等级" v-if=" (!FolderRole.levelCode || 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="加密等级" v-if=" (!FolderRole.levelCode || 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>
+                    </template>
                         <template v-if="thisRole.length<1 || free">
                             <el-form-item label="成员权限">
                                 <el-checkbox-group v-model="boserForm.memberRoles">
@@ -29,14 +31,17 @@
                             </el-form-item>
                             <el-form-item label="选择成员" v-if="boserForm.dirType === 2">
                             </el-form-item>
-                            <CreateTasnsfer v-if="boserForm.dirType === 2" @setUsers="setUsers" :openTrans="openTrans"></CreateTasnsfer>
+                            <CreateTasnsfer v-if="boserForm.dirType === 2" :checkUser="upFolderData?upFolderData.users:null" @setUsers="setUsers" :openTrans="openTrans"></CreateTasnsfer>
                         </template>
                    </template>
                 </el-form>
                 <template #footer>
                     <span class="dialog-footer">
                         <el-button @click="addBack">取消</el-button>
-                        <el-button type="primary" @click="sureAddBoser">
+                        <el-button v-if="upFolderData" type="primary" @click="sureUpBoser">
+                            确认
+                        </el-button>
+                        <el-button v-else type="primary" @click="sureAddBoser">
                             确认
                         </el-button>
                     </span>
@@ -94,6 +99,11 @@ export default {
             required: true,
             default: ()=>{},
         },
+        upFolderData: {
+            type: Object,
+            required: true,
+            default: ()=>{},
+        },
         refreshFile: Function,
     },
     setup(props, { emit }) {
@@ -110,22 +120,24 @@ export default {
         let drId = props.impDirId
         let newspid = props.newSpaceId
         let newdrid = props.newDirId
+        let upFolderData = props.upFolderData
         const FolderRole =free?'': props.thisFolderRole
         const thisRole = free?'': props.thisRole
         const thisType = free?'': props.thisType
         const users = ref()
         const openTrans = ref(true)
-        console.log("FolderRole",FolderRole);
-        console.log("thisRole",thisRole);
-        console.log("thisType",thisType);
+        // console.log("FolderRole",FolderRole);
+        // console.log("thisRole",thisRole);
+        // console.log("thisType",thisType);
+        console.log("upFolderData",upFolderData);
         let addBoser = ref(false)
         let boserForm = ref({
-            dirName: "",
-            dirType:1,
-            isEncrypt:"Y",
-            encryptLevel:"L1",
-            memberRoles:[],
-            users:[]
+            dirName: upFolderData?upFolderData.dirName:"",
+            dirType:upFolderData?2:1,
+            isEncrypt:upFolderData?upFolderData.isEncrypt:"Y",
+            encryptLevel:upFolderData?upFolderData.encryptLevel:"L1",
+            memberRoles:upFolderData?upFolderData.dirRole.split(','):[],
+            users:upFolderData?upFolderData.users:[]
         })
         const levelList = ref([])
         function inital() {
@@ -225,7 +237,40 @@ export default {
                     })
                 }
             }
-
+        }
+        const sureUpBoser = ()=>{
+             if (boserForm.value.dirName === '') {
+                ElMessage({
+                    type: "error",
+                    message: "目录名称不能为空"
+                })
+                return
+            }
+            let query ={
+                    "dirName": boserForm.value.dirName,
+                    "parentId": drId - 0,
+                    "spaceId": spId - 0,
+                    'dirId':upFolderData.dirId,
+                    "dirType":thisType.dirType=='2'?'2':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
+                }
+                console.log('query',query);
+                documents.editFolerDocument(
+                       query
+                    ).then(res => {
+                        if (res.code === 200) {
+                            ElMessage({
+                                message: '修改目录成功',
+                                type: 'success',
+                            })
+                        }
+                        addBoser.value = false
+                        emit("getChildrenC", addBoser.value)
+                        props.refreshFile()
+                    })
         }
         const getLevelList = async ()=>{
             const res = await getLevel()
@@ -278,7 +323,8 @@ export default {
             thisRole,
             thisType,
             getUser,
-            users
+            users,
+            sureUpBoser
         }
     },
     components: {

+ 15 - 6
src/views/publicment/MyFile.vue

@@ -31,7 +31,8 @@
                                     </span>
                                     <template #dropdown>
                                         <el-dropdown-menu>
-                                            <el-dropdown-item @click="restName(item, index)">重命名</el-dropdown-item>
+                                           <el-dropdown-item @click="restName(item, index)">重命名</el-dropdown-item>
+                                            <el-dropdown-item v-if="item.dirType == '2' && isDept" @click="upFirstFoler(item)">编辑</el-dropdown-item>
                                             <el-dropdown-item v-if="item.dirType == '1'" @click="delName(item, index)">删除</el-dropdown-item>
                                         </el-dropdown-menu>
                                     </template>
@@ -316,8 +317,8 @@
             <!-- 新增文件夹弹窗 -->
             <div>
                 <CreateFloder v-if="folderCase" :thisType="thisFolder" :thisRole="thisRole" :folderCase="folderCase" @getChildrenC="getChildrenC" :oneOrTwo="oneOrTwo"
-                    :impDirId="impDirId" :impSpaceId="impSpaceId" :newDirId="newDirId" :newSpaceId="newSpaceId" :thisFolderRole="thisFolderRole"
-                    :refreshFile="refreshFile">
+                    :impDirId="impDirId" :impSpaceId="impSpaceId" :newDirId="newDirId" :newSpaceId="newSpaceId" :upFolderData="upFolderData" :thisFolderRole="thisFolderRole"
+                    :refreshFile="getAllTop">
                 </CreateFloder>
             </div>
             <!-- 文件上传 -->
@@ -647,6 +648,7 @@ export default {
         const tableBeEnd = ref(true)//控制下拉是否到底
         const tableTotal = ref(0)//表格数据总数
         const isDept = ref(false)// 是否管理员
+        const upFolderData = ref()// 修改的文件夹的数据
         // 获取文件夹,中栏,文件
         function getAllTop() {
             documents.getTop(1).then(res => {
@@ -927,6 +929,7 @@ export default {
             anyP.value = false
         }
         function createNewMenu(num) {
+            upFolderData.value  = null
             oneOrTwo.value = num
             folderCase.value = true
         }
@@ -1586,8 +1589,13 @@ export default {
             console.log('isDept',isDept.value);
         }
         //修改文件夹权限
-        const upFirstFoler = (item)=>{
-            console.log('upFirstFoler',item);
+        const upFirstFoler =async (item)=>{
+        // console.log('upFirstFoler',item);
+            const res = await  myfile.getDir(item.dirId)
+            console.log('upFirstFolerres = ',res);
+            upFolderData.value = toRaw(res.data)
+            oneOrTwo.value = 1
+            folderCase.value = true
         }
         onMounted(() => {
             getAllTop()
@@ -1813,7 +1821,8 @@ export default {
             spaceName,
             getUserInfo,
             isDept,
-            upFirstFoler
+            upFirstFoler,
+            upFolderData
         }
     },
     watch: {

+ 26 - 4
src/views/publicment/components/createTasnsfer.vue

@@ -28,8 +28,8 @@
       <div class="needLog">
         <el-scrollbar>
           <el-tag
-            v-for="(item, index) in chooseTagData"
-            :key="index"
+            v-for="(item) in chooseTagData"
+            :key="item.userId"
             class="tagtag"
             :closable="lastPeople"
             @close="handleClose(item)"
@@ -53,7 +53,7 @@ const allTreeData = ref([]);
 const chooseTagData = ref([]);
 const lastPeople = ref(false);
 const openTree = ref([]);
-const backScreen = ref([]);
+const backScreen = ref(props.checkUser);
 const allTreeProps = {
   label: "label",
   children: "children",
@@ -67,6 +67,11 @@ const props = defineProps({
     type: Boolean,
     default: true,
   },
+    checkUser: {
+    type: Array,
+    required: true,
+    default: ()=>[],
+},
 });
 watch(
   () => props.openTrans,
@@ -125,8 +130,25 @@ function getAllUser() {
     });
   });
 }
-onMounted(() => {
+onMounted(async() => {
   getAllUser();
+  const checkUser = toRaw(props.checkUser)
+  // console.log('checkUser',checkUser);
+  // console.log('allTreeData.value',allTreeData.value);
+  //设置勾选项
+  const arr = checkUser.map(item=>{
+    return item.userId
+  })
+    backScreen.value = arr
+    // 设置右侧列表数据
+ chooseTagData.value =  checkUser.map(item=>{
+    return {
+      userId:item.userId,
+      userName:item.userName,
+      disabled:false
+    }
+  })
+    // console.log('arr',arr);
 });
 </script>
 

+ 64 - 18
src/views/publicment/modalComponebts/CreateFloder.vue

@@ -1,26 +1,28 @@
 <template>
     <div>
         <div>
-            <el-dialog v-model="addBoser" title="新建文件夹" width="30%" @close="diClose">
+            <el-dialog v-model="addBoser" :title="upFolderData?'修改':'新建文件夹'" width="30%" @close="diClose">
                 <el-form :model="boserForm" label-width="120px">
                     <el-form-item label="目录名称">
                         <el-input v-model="boserForm.dirName" />
                     </el-form-item>
                     <el-form-item label="目录分类" v-if="free || (!free && thisType.dirType != '2' )">
-                        <el-radio-group v-model="boserForm.dirType">
+                        <el-radio-group :disabled="upFolderData" v-model="boserForm.dirType">
                             <el-radio :label="1">公开目录</el-radio>
                             <el-radio :label="2">组织目录</el-radio>
                         </el-radio-group>
                     </el-form-item>
                    <template v-if="boserForm.dirType === 2 || thisType.dirType == '2'">
-                     <el-form-item label="是否加密" v-if="!FolderRole.levelCode || free">
+                     <template v-if="!upFolderData">
+                        <el-form-item label="是否加密" v-if="!FolderRole.levelCode || free">
                             <el-switch v-model="boserForm.isEncrypt" active-value="Y" inactive-value="N" />
-                    </el-form-item>
-                    <el-form-item label="加密等级" v-if=" (!FolderRole.levelCode || 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="加密等级" v-if=" (!FolderRole.levelCode || 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>
+                    </template>
                         <template v-if="thisRole.length<1 || free">
                             <el-form-item label="成员权限">
                                 <el-checkbox-group v-model="boserForm.memberRoles">
@@ -29,14 +31,17 @@
                             </el-form-item>
                             <el-form-item label="选择成员" v-if="boserForm.dirType === 2">
                             </el-form-item>
-                            <CreateTasnsfer v-if="boserForm.dirType === 2" @setUsers="setUsers" :openTrans="openTrans"></CreateTasnsfer>
+                            <CreateTasnsfer v-if="boserForm.dirType === 2" :checkUser="upFolderData?upFolderData.users:null" @setUsers="setUsers" :openTrans="openTrans"></CreateTasnsfer>
                         </template>
                    </template>
                 </el-form>
                 <template #footer>
                     <span class="dialog-footer">
                         <el-button @click="addBack">取消</el-button>
-                        <el-button type="primary" @click="sureAddBoser">
+                        <el-button v-if="upFolderData" type="primary" @click="sureUpBoser">
+                            确认
+                        </el-button>
+                        <el-button v-else type="primary" @click="sureAddBoser">
                             确认
                         </el-button>
                     </span>
@@ -94,6 +99,11 @@ export default {
             required: true,
             default: ()=>{},
         },
+        upFolderData: {
+            type: Object,
+            required: true,
+            default: ()=>{},
+        },
         refreshFile: Function,
     },
     setup(props, { emit }) {
@@ -110,6 +120,7 @@ export default {
         let drId = props.impDirId
         let newspid = props.newSpaceId
         let newdrid = props.newDirId
+        let upFolderData = props.upFolderData
         const FolderRole =free?'': props.thisFolderRole
         const thisRole = free?'': props.thisRole
         const thisType = free?'': props.thisType
@@ -120,12 +131,12 @@ export default {
         // console.log("thisType",thisType);
         let addBoser = ref(false)
         let boserForm = ref({
-            dirName: "",
-            dirType:1,
-            isEncrypt:"Y",
-            encryptLevel:"L1",
-            memberRoles:[],
-            users:[]
+            dirName: upFolderData?upFolderData.dirName:"",
+            dirType:upFolderData?2:1,
+            isEncrypt:upFolderData?upFolderData.isEncrypt:"Y",
+            encryptLevel:upFolderData?upFolderData.encryptLevel:"L1",
+            memberRoles:upFolderData?upFolderData.dirRole.split(','):[],
+            users:upFolderData?upFolderData.users:[]
         })
         const levelList = ref([])
         function inital() {
@@ -227,6 +238,40 @@ export default {
             }
 
         }
+        const sureUpBoser = ()=>{
+             if (boserForm.value.dirName === '') {
+                ElMessage({
+                    type: "error",
+                    message: "目录名称不能为空"
+                })
+                return
+            }
+            let query ={
+                    "dirName": boserForm.value.dirName,
+                    "parentId": drId - 0,
+                    "spaceId": spId - 0,
+                    'dirId':upFolderData.dirId,
+                    "dirType":thisType.dirType=='2'?'2':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
+                }
+                console.log('query',query);
+                documents.editFolerDocument(
+                       query
+                    ).then(res => {
+                        if (res.code === 200) {
+                            ElMessage({
+                                message: '修改目录成功',
+                                type: 'success',
+                            })
+                        }
+                        addBoser.value = false
+                        emit("getChildrenC", addBoser.value)
+                        props.refreshFile()
+                    })
+        }
         const getLevelList = async ()=>{
             const res = await getLevel()
             if(res.rows){
@@ -278,7 +323,8 @@ export default {
             thisRole,
             thisType,
             getUser,
-            users
+            users,
+            sureUpBoser
         }
     },
     components: {