|
@@ -50,7 +50,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 右侧大盒子 -->
|
|
|
- <div class="mesBox" v-if="editOnline">
|
|
|
+ <div class="mesBox">
|
|
|
<!-- 功能盒子 -->
|
|
|
<div class="useBox">
|
|
|
<!-- table切换 -->
|
|
@@ -65,6 +65,11 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <!-- 展示文件夹盒子 -->
|
|
|
+ <!-- 文件夹 -->
|
|
|
+ <div v-if="editOnline">
|
|
|
<!-- 众多功能 -->
|
|
|
<div class="manyUse">
|
|
|
<div
|
|
@@ -110,7 +115,7 @@
|
|
|
<!-- 前进后退 -->
|
|
|
<div style="display: flex;justify-content: space-around;align-items: center;">
|
|
|
<img style="display:block;width: 11px;height: 11px;" :src="blueLeft" alt=""
|
|
|
- @click="getAllTop">
|
|
|
+ @click="arrowLift">
|
|
|
<img style="display:block;width: 16px;height: 16px;" :src="grayRight" alt="">
|
|
|
</div>
|
|
|
<!-- 面包屑 -->
|
|
@@ -122,10 +127,10 @@
|
|
|
<!-- 右侧 -->
|
|
|
<div>
|
|
|
<img :src="sort" alt="">
|
|
|
- <img :src="squre" alt="">
|
|
|
+ <img :src="squre" alt="" @click="gridChange">
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ <!-- </div> -->
|
|
|
<!-- 展示文件夹盒子 -->
|
|
|
<!-- 文件夹 -->
|
|
|
<div class="detailBox file-jia" @click="mouseClick">
|
|
@@ -141,7 +146,7 @@
|
|
|
<el-icon v-if="scope.row.isFavorite == 'N'">
|
|
|
<Star />
|
|
|
</el-icon>
|
|
|
- <img v-else src="../../assets/images/yellowstar.png" alt="">
|
|
|
+ <img v-else @click.stop="delCollect(scope.row,$event)" src="../../assets/images/yellowstar.png" alt="">
|
|
|
<img src="../../assets/images/fileBox.png" style="width: 20px;height: 24px;"
|
|
|
alt="">
|
|
|
{{ scope.row.dirName }}
|
|
@@ -162,92 +167,95 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- </el-table>
|
|
|
- <PlaceGridFolder v-else :folderClick="folderClick" :restName="restName"
|
|
|
- :collectFolder="collectFolder" :getAllTop="getAllTop" @folderBack="folderBack" >
|
|
|
- </PlaceGridFolder>
|
|
|
- </el-collapse-item>
|
|
|
- </el-collapse>
|
|
|
- <!-- 右键唤出的菜单 -->
|
|
|
- <div class="right_menu" v-if="folderVisible"
|
|
|
- :style="{ left: folderleft + 'px', top: foldertop + 'px' }">
|
|
|
- <div class="menu_item" @click="folderClick(null, null)">
|
|
|
- <img src="@/assets/images/trash.png" alt="" />
|
|
|
- <span>打开</span>
|
|
|
- </div>
|
|
|
- <div class="menu_item" @click="restName(null, null)">
|
|
|
- <img src="@/assets/images/textbox.png" alt="" />
|
|
|
- <span>重命名</span>
|
|
|
- </div>
|
|
|
- <div class="menu_item" @click="collectFolder">
|
|
|
- <img src="@/assets/images/collect.png" alt="" />
|
|
|
- <span>收藏</span>
|
|
|
+ </el-table>
|
|
|
+ <PlaceGridFolder v-else :folderClick="folderClick" :restName="restName"
|
|
|
+ :collectFolder="collectFolder" :getAllTop="getAllTop" @folderBack="folderBack">
|
|
|
+ </PlaceGridFolder>
|
|
|
+ </el-collapse-item>
|
|
|
+ </el-collapse>
|
|
|
+ <!-- 右键唤出的菜单 -->
|
|
|
+ <div class="right_menu" v-if="folderVisible"
|
|
|
+ :style="{ left: folderleft + 'px', top: foldertop + 'px' }">
|
|
|
+ <div class="menu_item" @click="folderClick(null, null)">
|
|
|
+ <img src="@/assets/images/trash.png" alt="" />
|
|
|
+ <span>打开</span>
|
|
|
+ </div>
|
|
|
+ <div class="menu_item" @click="restName(null, null)">
|
|
|
+ <img src="@/assets/images/textbox.png" alt="" />
|
|
|
+ <span>重命名</span>
|
|
|
+ </div>
|
|
|
+ <div class="menu_item" @click="collectFolder">
|
|
|
+ <img src="@/assets/images/collect.png" alt="" />
|
|
|
+ <span>收藏</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <!-- 文件 -->
|
|
|
- <div class="fileTable">
|
|
|
- <el-collapse v-model="files" accordion class="collapse" style="height: 200px;">
|
|
|
- <el-collapse-item title="文件" name="2" class="">
|
|
|
- <el-table v-if="fileGrid" :data="fileList" style="width: 100%;position: relative;"
|
|
|
- @row-contextmenu="handleRowClick" @selection-change="handleSelectionChange"
|
|
|
- @row-click="mouseClick" :default-sort="{ prop: 'createTime', order: 'descending' }">
|
|
|
- <el-table-column type="selection" width="55" />
|
|
|
- <el-table-column label="名称" width="200">
|
|
|
- <template #default="scope">
|
|
|
- <span style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
|
|
|
+ <!-- 文件 -->
|
|
|
+ <div class="fileTable">
|
|
|
+ <el-collapse v-model="files" accordion class="collapse" style="height: 200px;">
|
|
|
+ <el-collapse-item title="文件" name="2" class="">
|
|
|
+ <el-table v-if="fileGrid" :data="fileList" style="width: 100%;position: relative;"
|
|
|
+ @row-contextmenu="handleRowClick" @selection-change="handleSelectionChange"
|
|
|
+ @row-click="mouseClick" :default-sort="{ prop: 'createTime', order: 'descending' }">
|
|
|
+ <el-table-column type="selection" width="55" />
|
|
|
+ <el-table-column label="名称" width="200">
|
|
|
+ <template #default="scope">
|
|
|
+ <span style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
|
|
|
<el-icon v-if="scope.row.isFavorite == 'N'">
|
|
|
<Star />
|
|
|
</el-icon>
|
|
|
- <img v-else src="../../assets/images/yellowstar.png" alt="">
|
|
|
+ <img v-else @click.stop="delCollect(scope.row,$event)" src="../../assets/images/yellowstar.png" alt="">
|
|
|
<img :src="getImage(scope.row.fileType)" alt="">
|
|
|
{{ scope.row.fileName }}
|
|
|
</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="createTime" label="时间" sortable width="180" />
|
|
|
- <el-table-column prop="fileType" label="类型" />
|
|
|
- <el-table-column label="大小">
|
|
|
- <template #default="scope">
|
|
|
- <span>
|
|
|
- {{ formatFileSize(scope.row.fileSize) }}
|
|
|
- </span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <PalaceGridFile v-else @showFile="showFile" :getAllTop="getAllTop" @navBack="navBack"
|
|
|
- @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' }">
|
|
|
- <template v-for="(item, index) in filterMouseCli()">
|
|
|
- <p @click="chooseSet(item, index, 1)" class="chooseSet">
|
|
|
- <img :src="item.img" alt="">
|
|
|
- {{ item.name }}
|
|
|
- <span v-if="item.name == '在线编辑' || item.name == '协作' ? true : false"
|
|
|
- style="color: #7084B4;float: right;position: relative;" class="arrow">></span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="createTime" label="时间" sortable width="180" />
|
|
|
+ <el-table-column prop="fileType" label="类型" />
|
|
|
+ <el-table-column label="大小">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>
|
|
|
+ {{ formatFileSize(scope.row.fileSize) }}
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <PalaceGridFile v-else @showFile="showFile" :getAllTop="getAllTop" @navBack="navBack"
|
|
|
+ @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' }">
|
|
|
+ <template v-for="(item, index) in filterMouseCli()" :key="index">
|
|
|
+ <p @click="chooseSet(item, index, 1)" class="chooseSet">
|
|
|
+ <img :src="item.img" alt="">
|
|
|
+ {{ item.name }}
|
|
|
+ <span v-if="item.name == '在线编辑' || item.name == '协作' ? true : false"
|
|
|
+ style="color: #7084B4;float: right;position: relative;" class="arrow">></span>
|
|
|
+ </p>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ <div class="setCli1" v-if="anyP" :style="{ left: xz + 155 + 'px', top: yz + 'px' }">
|
|
|
+ <p @click="chooseSet1(0)" class="chooseSet">
|
|
|
+ <img src="../../assets/images/user.png" alt="">
|
|
|
+ 选择人员
|
|
|
</p>
|
|
|
- </template>
|
|
|
+ <p class="chooseSet" @click="goLock">
|
|
|
+ <img src="../../assets/images/archiveTray.png" alt="">
|
|
|
+ 归档
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div class="setCli1" v-if="anyP" :style="{ left: xz + 155 + 'px', top: yz + 'px' }">
|
|
|
- <p @click="chooseSet1(0)" class="chooseSet">
|
|
|
- <img src="../../assets/images/user.png" alt="">
|
|
|
- 选择人员
|
|
|
- </p>
|
|
|
- <p class="chooseSet" @click="goLock">
|
|
|
- <img src="../../assets/images/archiveTray.png" alt="">
|
|
|
- 归档
|
|
|
- </p>
|
|
|
</div>
|
|
|
+ <div v-else>
|
|
|
+ <div>
|
|
|
+ <el-button @click="editOnline = true; historyPrew = false">返回</el-button>
|
|
|
+ </div>
|
|
|
+ <FileEdit :docId="clickRowId" :copyRow="copyRow" :historyPrew="historyPrew"
|
|
|
+ :historycopyRow="historycopyRow" :onlyView="onlyView" @cancleHistoryPrew="cancleHistoryPrew">
|
|
|
+ </FileEdit>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-else>
|
|
|
- <div>
|
|
|
- <el-button @click="editOnline = true; historyPrew = false">返回</el-button>
|
|
|
- </div>
|
|
|
- <FileEdit :docId="clickRowId" :copyRow="copyRow" :historyPrew="historyPrew" :historycopyRow="historycopyRow"
|
|
|
- :onlyView="onlyView" @cancleHistoryPrew="cancleHistoryPrew"></FileEdit>
|
|
|
- </div>
|
|
|
+
|
|
|
<!-- 扩容弹窗 -->
|
|
|
<div>
|
|
|
<SpaceBig v-if="spaces" :spaces="spaces" :impSpaceId="impSpaceId" @getSpaceC="getSpaceC"></SpaceBig>
|
|
@@ -331,6 +339,7 @@
|
|
|
<script>
|
|
|
import { ref, toRaw, onMounted } from 'vue'
|
|
|
import myfile from '../../api/myfile/myfile'
|
|
|
+import { delFavorite } from '@/api/biz/favorite.js'
|
|
|
import documents from '../../api/document/document'
|
|
|
import fileCount from '../../api/fileCount/fileCount'
|
|
|
import FileTree from './components/FileTree.vue'
|
|
@@ -357,6 +366,7 @@ 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();
|
|
@@ -617,7 +627,7 @@ export default {
|
|
|
}
|
|
|
// }
|
|
|
})
|
|
|
- this.selectedIndex = num
|
|
|
+ selectedIndex.value = num
|
|
|
const newItem = {
|
|
|
name: row.dirName,
|
|
|
choose: row.dirName,
|
|
@@ -636,6 +646,9 @@ export default {
|
|
|
function tableChange(row, num) {
|
|
|
if (row.name == '我的空间') {
|
|
|
getAllTop()
|
|
|
+ if (!editOnline.value) {
|
|
|
+ editOnline.value = true
|
|
|
+ }
|
|
|
} else {
|
|
|
let obj = {
|
|
|
pageNum: 1,
|
|
@@ -671,6 +684,9 @@ export default {
|
|
|
function shotdown(row) {
|
|
|
menuList.value = menuList.value.filter(item => item.name !== row.name)
|
|
|
selectedIndex.value = -1
|
|
|
+ if (!editOnline.value) {
|
|
|
+ editOnline.value = true
|
|
|
+ }
|
|
|
}
|
|
|
// 文件名表格每一行点击事件
|
|
|
function handleRowClick(row, col, e) {
|
|
@@ -750,6 +766,19 @@ export default {
|
|
|
if (row.name === '在线编辑') {
|
|
|
editOnline.value = false
|
|
|
cliCC.value = false
|
|
|
+ const newItem = {
|
|
|
+ name: copyFileName.value,
|
|
|
+ choose: copyFileId.value,
|
|
|
+ dirIds: copyDirId.value,
|
|
|
+ spaceIds: copySpaceId.value
|
|
|
+ };
|
|
|
+ // 检查 newItem 是否已存在于 menuList 中
|
|
|
+ const isItemExist = menuList.value.some(item => item.choose === newItem.choose);
|
|
|
+ // 如果不存在,则添加它
|
|
|
+ if (!isItemExist) {
|
|
|
+ menuList.value.push(newItem);
|
|
|
+ }
|
|
|
+ selectedIndex.value = selectedIndex.value + 1
|
|
|
}
|
|
|
if (row.name === '文字识别') {
|
|
|
router.push({
|
|
@@ -1138,7 +1167,6 @@ export default {
|
|
|
// thisFolder.value = ''
|
|
|
copyFileName.value = thisFolder.value.dirName
|
|
|
collects.value = true
|
|
|
- // console.log('thisFolder',thisFolder.value);
|
|
|
}
|
|
|
// 左箭头事件
|
|
|
const arrowLift = () => {
|
|
@@ -1207,6 +1235,18 @@ export default {
|
|
|
getAllTop()
|
|
|
}
|
|
|
}
|
|
|
+ // 取消文件收藏
|
|
|
+ const delCollect = async (row,e)=>{
|
|
|
+ const thisRow = toRaw(row)
|
|
|
+ console.log('thisRow',thisRow);
|
|
|
+ // console.log('e',e);
|
|
|
+ if(thisRow.dirType){
|
|
|
+ const res = await delFavorite(thisRow.dirId)
|
|
|
+ }else{
|
|
|
+ const res = await delFavorite(thisRow.docId)
|
|
|
+ }
|
|
|
+ console.log('res',res);
|
|
|
+ }
|
|
|
onMounted(() => {
|
|
|
getAllTop()
|
|
|
getSpaceList()
|
|
@@ -1359,7 +1399,8 @@ export default {
|
|
|
lastBB,
|
|
|
shareBack,
|
|
|
folderBack,
|
|
|
- refreshFile
|
|
|
+ refreshFile,
|
|
|
+ delCollect
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
@@ -1459,7 +1500,7 @@ p {
|
|
|
|
|
|
.useBox {
|
|
|
width: 100%;
|
|
|
- height: 96px;
|
|
|
+ height: 24px;
|
|
|
}
|
|
|
|
|
|
.tables {
|
|
@@ -1540,6 +1581,7 @@ p {
|
|
|
.fileTable {
|
|
|
height: 100%;
|
|
|
overflow-y: hidden;
|
|
|
+ margin-top: 55px;
|
|
|
}
|
|
|
|
|
|
.setCli {
|