Parcourir la source

Merge branch 'v3' of ssh://94.191.59.107:10222/houwenfeng/cloudfile-ui into v3

“yueshang” il y a 2 ans
Parent
commit
ae29416437

+ 1 - 1
src/views/collect/index.vue

@@ -375,7 +375,7 @@ const delTabs = async () => {
 // TODO 按标签获取收藏数据,实现文件夹收藏功能,文件夹右键菜单和文件右键菜单样式统一
 //获取收藏数据
 const getCollectList = async () => {
-  const res = await listFavoriteById(17);
+  const res = await listFavorite();
   console.log("collectres = ", res);
   if (res.code === 200 && res.rows.length > 0) {
     tableData.value = res.rows;

+ 34 - 3
src/views/highSearch/HighSearch.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="container">
+  <div class="container" v-if="!showPreview">
     <div class="logo">
       <img src="@/assets/images/Frame_427319127.png" alt="" />
       <div class="font">聚合智慧文档管理系统</div>
@@ -40,6 +40,7 @@
         class="search_ipt"
         v-model="searchText"
         maxlength="32"
+        @keydown.enter="doSearch"
         placeholder="请输入要查询的内容"
       />
       <div class="search_btn" @click="doSearch">搜索</div>
@@ -56,7 +57,9 @@
       >
         <!-- <el-scrollbar height="200px"  ref="scrollRef" id="scrollRef"> -->
         <div class="oneBox" v-for="item in listData" :key="item.id">
-          <span class="fileName">{{ item.content.docInfo.fileName }}</span>
+          <span class="fileName" @click="toPreview(item)">{{
+            item.content.docInfo.fileName
+          }}</span>
           <div class="flieTime">
             <img src="@/assets/images/bx:bx-time-five.png" alt="" />
             <span>{{ item.content.docInfo.createTime }}</span>
@@ -76,13 +79,22 @@
         <span>没有关于“{{ noFound }}”的结果 </span>
       </div>
     </div>
-    <!-- <IdentifyFont :openFile="openFile"></IdentifyFont> -->
   </div>
+  <divv v-else class="preview">
+    <FileEdit
+      :docId="clickRowId"
+      :copyRow="copyRow"
+      :historyPrew="historyPrew"
+      :historycopyRow="historycopyRow"
+      :onlyView="onlyView"
+    ></FileEdit>
+  </divv>
 </template>
 
 <script setup>
 import { onMounted, ref } from "vue";
 import { search } from "@/api/search/search.js";
+import FileEdit from "@/views/myfile/components/FileEdit.vue";
 // import IdentifyFont from "@/components/IdentifyFont/IdentifyFont.vue";
 const searchText = ref(""); //搜索ipt的值
 const selectValue = ref(1); //文档空间类型
@@ -93,6 +105,12 @@ const noData = ref(false); //没有搜索出数据
 const beEnd = ref(false); //拉到最底部了
 const listData = ref([]);
 const noFound = ref(); //没有结果的text
+const clickRowId = ref();
+const copyRow = ref();
+const historyPrew = ref();
+const historycopyRow = ref(false);
+const onlyView = ref(false);
+const showPreview = ref(false);
 const selectOptions = [
   { label: "公共文档", value: 1 },
   { label: "部门文档", value: 2 },
@@ -165,9 +183,22 @@ const setScroll = async () => {
     beEnd.value = true;
   }
 };
+// 预览事件
+const toPreview = (item) => {
+  console.log("item", item);
+  clickRowId.value = item.content.docInfo.docId;
+  copyRow.value = item.content.docInfo;
+  showPreview.value = true;
+};
 </script>
 
 <style lang="scss" scoped>
+.preview {
+  width: 100%;
+  height: 100%;
+  background-color: #fff;
+  overflow: hidden;
+}
 .container {
   height: 100%;
   background-color: #fff;

+ 29 - 10
src/views/myfile/MyFile.vue

@@ -110,7 +110,7 @@
                             <!-- 前进后退 -->
                             <div style="display: flex;justify-content: space-around;align-items: center;">
                                 <img style="display:block;width: 11px;height: 11px;" :src="blueLeft" alt=""
-                                    @click="arrowLift">
+                                    @click="getAllTop">
                                 <img style="display:block;width: 16px;height: 16px;" :src="grayRight" alt="">
                             </div>
                             <!-- 面包屑 -->
@@ -122,7 +122,7 @@
                         <!-- 右侧 -->
                         <div>
                             <img :src="sort" alt="">
-                            <img :src="squre" alt="" @click="gridChange">
+                            <img :src="squre" alt="">
                         </div>
                     </div>
                 </div>
@@ -138,6 +138,10 @@
                                 <el-table-column label="名称" width="180">
                                     <template #default="scope">
                                         <span>
+                                            <el-icon v-if="scope.row.isFavorite == 'N'">
+                                                <Star />
+                                            </el-icon>
+                                            <img v-else src="../../assets/images/yellowstar.png" alt="">
                                             <img src="../../assets/images/fileBox.png" style="width: 20px;height: 24px;"
                                                 alt="">
                                             {{ scope.row.dirName }}
@@ -160,7 +164,7 @@
 
                             </el-table>
                             <PlaceGridFolder v-else :folderClick="folderClick" :restName="restName"
-                                :collectFolder="collectFolder" :getAllTop="getAllTop" @folderBack="folderBack">
+                                :collectFolder="collectFolder" :getAllTop="getAllTop" @folderBack="folderBack" >
                             </PlaceGridFolder>
                         </el-collapse-item>
                     </el-collapse>
@@ -192,7 +196,7 @@
                                 <el-table-column label="名称" width="200">
                                     <template #default="scope">
                                         <span style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
-                                            <el-icon v-if="collectImg">
+                                            <el-icon v-if="scope.row.isFavorite == 'N'">
                                                 <Star />
                                             </el-icon>
                                             <img v-else src="../../assets/images/yellowstar.png" alt="">
@@ -212,7 +216,7 @@
                                 </el-table-column>
                             </el-table>
                             <PalaceGridFile v-else @showFile="showFile" :getAllTop="getAllTop" @navBack="navBack"
-                                @lastBB="lastBB" @onlineCase="onlineCase" @shareBack="shareBack"></PalaceGridFile>
+                                @lastBB="lastBB" @onlineCase="onlineCase" @shareBack="shareBack" ></PalaceGridFile>
                         </el-collapse-item>
                     </el-collapse>
                     <div class="setCli" v-if="cliCC" :style="{ left: xz + 'px', top: yz - 260 + 'px' }">
@@ -294,7 +298,7 @@
             <!-- 文件收藏 -->
             <div>
                 <FileCollect v-if="collects" :collects="collects" @getCollects="getCollects" :copyFileName="copyFileName"
-                    :copyFileId="copyFileId" :isFolder="isFolder" :clickRow="clickRow"></FileCollect>
+                    :copyFileId="copyFileId" @refreshFile="refreshFile" :isFolder="isFolder" :clickRow="clickRow"></FileCollect>
             </div>
             <!-- 中栏重命名 -->
             <div>
@@ -353,7 +357,6 @@ import { listVersion } from "@/api/biz/version";
 import useUserStore from "@/store/modules/user";
 import { useRouter, useRoute } from "vue-router";
 import { canPreviewFile } from "@/utils/index.js"
-
 export default {
     setup() {
         const { proxy } = getCurrentInstance();
@@ -957,8 +960,12 @@ export default {
         function folderClick(row, list) {
             // 上一级dirId就是下一级的parentId
             // 判断是点击打开还是右键菜单打开
-            row = row ? row : thisFolder.value
-            // console.log('row', toRaw(row));
+            if(row){
+                thisFolder.value = row;
+            }else{
+                row =thisFolder.value
+            }
+            console.log('row', toRaw(row));
             topPath.value = row.dirPath
             // console.log('topPath',toRaw(topPath.value));
             newDirId.value = row.dirId
@@ -1128,9 +1135,10 @@ export default {
         const collectFolder = () => {
             isFolder.value = 'Y'
             clickRow.value = thisFolder.value
+            // thisFolder.value = ''
             copyFileName.value = thisFolder.value.dirName
             collects.value = true
-            console.log('thisFolder', thisFolder.value);
+            // console.log('thisFolder',thisFolder.value);
         }
         // 左箭头事件
         const arrowLift = () => {
@@ -1189,6 +1197,16 @@ export default {
                 folderGrid.value = true
             }
         }
+        //点击收藏后刷新文件
+        const refreshFile = ()=>{
+            if(thisFolder.value){//如果点开了文件夹
+            // console.log(111);
+               folderClick()
+            }else{
+            // console.log(222);
+                getAllTop()
+            }
+        }
         onMounted(() => {
             getAllTop()
             getSpaceList()
@@ -1341,6 +1359,7 @@ export default {
             lastBB,
             shareBack,
             folderBack,
+            refreshFile
         }
     },
     watch: {

+ 18 - 17
src/views/myfile/components/PalaceGridFile.vue

@@ -25,7 +25,7 @@
                     </p>
                 </template>
             </div>
-            <div class="setCli1" v-if="anyP" :style="{ left: xz + 155 + 'px', top: yz-50 + 'px' }">
+            <div class="setCli1" v-if="anyP" :style="{ left: xz + 155 + 'px', top: yz - 50 + 'px' }">
                 <p @click="chooseSet1(0)" class="chooseSet">
                     <img src="../../../assets/images/user.png" alt="">
                     选择人员
@@ -57,7 +57,7 @@
 </template>
 
 <script>
-import { ref, onMounted } from "vue"
+import { ref, onMounted, watch } from "vue"
 import { ElMessage } from "element-plus";
 import myfile from "../../../api/myfile/myfile";
 import documents from "../../../api/document/document";
@@ -72,11 +72,11 @@ import { canPreviewFile } from "@/utils/index.js"
 import { preview } from "@/api/common/common.js";
 import { listVersion } from "@/api/biz/version";
 export default {
-    props:{
-        getAllTop:{
-            type:Function,
-            required:true
-        }
+    props: {
+        getAllTop: {
+            type: Function,
+            required: true
+        },
     },
     setup(props, { emit }) {
         let impDirId = ref(0)
@@ -282,6 +282,7 @@ export default {
             }
         }
         async function chooseSet(row, index, num) {
+
             if (row.name == '协作') {
                 cliCC.value = true
             } else {
@@ -290,7 +291,7 @@ export default {
             if (row.name == '分享') {
                 workOrEdit.value = num
                 thanks.value = true
-                emit("shareBack",thanks.value,workOrEdit.value)
+                emit("shareBack", thanks.value, workOrEdit.value)
             } else {
                 thanks.value = false
             }
@@ -303,7 +304,7 @@ export default {
             } else {
                 anyP.value = false
             }
-            console.log(anyP.value,'anyp');
+            console.log(anyP.value, 'anyp');
             if (row.name == '删除') {
                 myfile.delMenu(clickRowId.value).then(res => {
                     if (res.code === 200) {
@@ -325,7 +326,7 @@ export default {
             }
             if (row.name === '重命名') {
                 fileNameChange.value = true
-                emit("navBack", fileNameChange.value,nameForm.value.name)
+                emit("navBack", fileNameChange.value, nameForm.value.name)
             }
             if (row.name === "下载") {
                 location.href = `${import.meta.env.VITE_APP_BASE_API}/api/download/${copyFileId.value}`;
@@ -335,7 +336,7 @@ export default {
             }
             if (row.name === '在线编辑') {
                 editOnline.value = false
-                emit("onlineCase",editOnline.value,clickRowId.value, copyRow.value)
+                emit("onlineCase", editOnline.value, clickRowId.value, copyRow.value)
             }
             if (row.name === '文字识别') {
                 router.push({
@@ -367,7 +368,7 @@ export default {
                 historyTotal.value = resHistory.total
                 fileUserTreeData.data = resHistory.rows;
                 openForwardFile.value = true
-                emit("lastBB",openForwardFile.value,historyTotal.value,fileUserTreeData.data)
+                emit("lastBB", openForwardFile.value, historyTotal.value, fileUserTreeData.data)
             }
         }
         function changeMsgClose(val, item) {
@@ -384,7 +385,7 @@ export default {
             workOrEdit.value = num
             thanks.value = true
             anyP.value = false
-            emit("shareBack",thanks.value,workOrEdit.value)
+            emit("shareBack", thanks.value, workOrEdit.value)
         }
         function getChildren(data) {
             fileTrees.value = data
@@ -401,8 +402,8 @@ export default {
         function getCollects(data) {
             collects.value = false
         }
-         // 归档
-         function goLock() {
+        // 归档
+        function goLock() {
             fileCount.lockActor(clickRowId.value).then(res => {
                 if (res.code === 200) {
                     ElMessage({
@@ -416,7 +417,7 @@ export default {
         }
         onMounted(() => {
             getAllTop()
-            window.addEventListener("click", mouseClick,true);
+            window.addEventListener("click", mouseClick, true);
         })
         return {
             getAllTop,
@@ -469,7 +470,7 @@ export default {
             collects,
             fileNameChange,
             editOnline,
-            goLock
+            goLock,
         }
     },
     components: {

+ 5 - 1
src/views/myfile/components/PlaceGridFolder.vue

@@ -43,6 +43,7 @@ import { ElMessage } from "element-plus";
 import myfile from "../../../api/myfile/myfile";
 import documents from "../../../api/document/document";
 import ImgFile from "../jsComponents/ImgFile";
+import PalaceGridFile from "./PalaceGridFile.vue";
 export default {
     props: {
         folderClick: {
@@ -190,8 +191,11 @@ export default {
             copyDir,
             copySpa,
             copyNma,
-            copyFir
+            copyFir,
         }
+    },
+    components:{
+        PalaceGridFile,
     }
 }
 </script>

+ 2 - 0
src/views/myfile/jsComponents/brother.js

@@ -0,0 +1,2 @@
+import {ref} from 'vue'
+export let shareData = ref([])

+ 60 - 52
src/views/myfile/modalComponebts/CreateFloder.vue

@@ -34,38 +34,38 @@ export default {
             type: Number,
             required: true
         },
-        impDirId:{
-            type:Number,
-            required:true
+        impDirId: {
+            type: Number,
+            required: true
         },
-        impSpaceId:{
-            type:Number,
-            required:true
+        impSpaceId: {
+            type: Number,
+            required: true
         },
-        newDirId:{
-            type:Number,
-            required:true
+        newDirId: {
+            type: Number,
+            required: true
         },
-        newSpaceId:{
-            type:Number,
-            required:true
+        newSpaceId: {
+            type: Number,
+            required: true
         },
-        getAllTop:Function,
+        getAllTop: Function,
     },
     setup(props, { emit }) {
-        let { addBack, sureAddBoser,diClose } = toRef(props)
+        let { addBack, sureAddBoser, diClose } = toRef(props)
         let result = props.folderCase
         let free = props.oneOrTwo
         let spId = props.impSpaceId
         let drId = props.impDirId
-        let newspid=props.newSpaceId
+        let newspid = props.newSpaceId
         let newdrid = props.newDirId
         let addBoser = ref(false)
         let boserForm = ref({
             dirName: "",
         })
         function inital() {
-            console.log(free,'free');
+            console.log(free, 'free');
             addBoser.value = result
         }
         function backTo() {
@@ -73,43 +73,51 @@ export default {
             emit("getChildrenC", addBoser.value)
         }
         function addFloder() {
-            if (free === 1) {
-                documents.addDocument(
-                    {
-                        "dirName": boserForm.value.dirName,
-                        "parentId": drId - 0,
-                        "spaceId": spId - 0,
-                    }
-                ).then(res => {
-                    if (res.code === 200) {
-                        ElMessage({
-                            message: '添加一级目录成功',
-                            type: 'success',
-                        })
-                    }
-                    addBoser.value = false
-                    emit("getChildrenC", addBoser.value)
-                    props.getAllTop()
+            if (boserForm.value.dirName === '') {
+                ElMessage({
+                    type: "error",
+                    message: "目录名称不能为空"
                 })
             } else {
-                documents.addDocument(
-                    {
-                        "dirName": boserForm.value.dirName,
-                        "parentId": newdrid - 0,
-                        "spaceId": newspid - 0,
-                    }
-                ).then(res => {
-                    if (res.code === 200) {
-                        ElMessage({
-                            message: '添加成功',
-                            type: 'success',
-                        })
-                    }
-                    addBoser.value = false
-                    emit("getChildrenC", addBoser.value)
-                    props.getAllTop()
-                })
+                if (free === 1) {
+                    documents.addDocument(
+                        {
+                            "dirName": boserForm.value.dirName,
+                            "parentId": drId - 0,
+                            "spaceId": spId - 0,
+                        }
+                    ).then(res => {
+                        if (res.code === 200) {
+                            ElMessage({
+                                message: '添加一级目录成功',
+                                type: 'success',
+                            })
+                        }
+                        addBoser.value = false
+                        emit("getChildrenC", addBoser.value)
+                        props.getAllTop()
+                    })
+                } else {
+                    documents.addDocument(
+                        {
+                            "dirName": boserForm.value.dirName,
+                            "parentId": newdrid - 0,
+                            "spaceId": newspid - 0,
+                        }
+                    ).then(res => {
+                        if (res.code === 200) {
+                            ElMessage({
+                                message: '添加成功',
+                                type: 'success',
+                            })
+                        }
+                        addBoser.value = false
+                        emit("getChildrenC", addBoser.value)
+                        props.getAllTop()
+                    })
+                }
             }
+
         }
         onMounted(() => {
             inital()
@@ -119,8 +127,8 @@ export default {
             boserForm,
             inital,
             addBack: backTo,
-            sureAddBoser:addFloder,
-            diClose:backTo,
+            sureAddBoser: addFloder,
+            diClose: backTo,
             spId,
             drId,
             newdrid,

+ 2 - 0
src/views/myfile/modalComponebts/FileCollect.vue

@@ -112,6 +112,7 @@ export default {
         }
         // 确认收藏
         function sureCollect() {
+            // console.log('clickRow',props.clickRow.value);
             let query = {}
             if(props.isFolder === "Y"){
                 query = {
@@ -136,6 +137,7 @@ export default {
             })
             fileCollect.value = false
             emit("getCollects", fileCollect.value)
+            emit("refreshFile")
         }
         function tobacks() {
             fileCollect.value = false