Commit 56571cf2 authored by 罗超's avatar 罗超

完成分享功能

parent aa713447
...@@ -22,15 +22,15 @@ ...@@ -22,15 +22,15 @@
</div> </div>
</div> </div>
<div> <div>
<el-button v-if="selectedItems && selectedItems.length>0"> <!-- <el-button v-if="selectedItems && selectedItems.length>0">
<el-icon><CopyDocument /></el-icon> <el-icon><CopyDocument /></el-icon>
<span class="">批量复制</span> <span class="">批量复制</span>
</el-button> </el-button> -->
</div> </div>
</div> </div>
<div class="col full-width"> <div class="col full-width">
<el-table class="sample-table" @selection-change="handleSelectionChange" :data="data" style="width: 100%" height="100%" v-loading="loading" @sort-change="sortHandler" :default-sort="{ prop: 'CreateTime', order: 'descending' }"> <el-table class="sample-table" :data="data" style="width: 100%" height="100%" v-loading="loading" @sort-change="sortHandler" :default-sort="{ prop: 'CreateTime', order: 'descending' }">
<el-table-column type="selection" width="20" /> <!-- <el-table-column type="selection" width="20" /> -->
<el-table-column className="indentLeft"> <el-table-column className="indentLeft">
<template #header> <template #header>
<div class="row items-center"> <div class="row items-center">
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
import { ApiResult } from "@/configs/axios"; import { ApiResult } from "@/configs/axios";
import ConfigService from "@/services/ConfigService"; import ConfigService from "@/services/ConfigService";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import { inject, reactive, ref } from "vue"; import { PropType, inject, reactive, ref, watch } from "vue";
import {formatDateTimeToRead, query} from '@/utils/common' import {formatDateTimeToRead, query} from '@/utils/common'
import breadPeeling from './components/breadPeeling.vue' import breadPeeling from './components/breadPeeling.vue'
import CopyFile from './components/CopyFile.vue' import CopyFile from './components/CopyFile.vue'
...@@ -111,6 +111,16 @@ import { injectKeyTemplate } from "@/types/injectKey"; ...@@ -111,6 +111,16 @@ import { injectKeyTemplate } from "@/types/injectKey";
import FolderService from "@/services/FolderService"; import FolderService from "@/services/FolderService";
import { ArrowDown,ArrowUp } from "@element-plus/icons-vue"; import { ArrowDown,ArrowUp } from "@element-plus/icons-vue";
const props = defineProps({
position:{
type:Object as PropType<{FileId:number,FileType:1|2,Position:{FileId:number,FileName:string}[]}|null>,
default:null
}
})
const emit = defineEmits<{
(event: 'destroy-position'): void
}>()
const queryObj = reactive<any>({ const queryObj = reactive<any>({
pageIndex: 1, pageIndex: 1,
pageSize: 50, pageSize: 50,
...@@ -136,7 +146,6 @@ searchData.value = inject(injectKeyTemplate); ...@@ -136,7 +146,6 @@ searchData.value = inject(injectKeyTemplate);
const filterFileNameStatus = ref(false) const filterFileNameStatus = ref(false)
const tempFilterName = ref('') const tempFilterName = ref('')
const currentRootDom = ref() const currentRootDom = ref()
const selectedItems = ref<any[]>([])
const backInquireHandler = () => { const backInquireHandler = () => {
let Navigation = navigations.value[navigations.value.length - 2]; let Navigation = navigations.value[navigations.value.length - 2];
...@@ -265,9 +274,30 @@ const collectHandler = async (row:any) => { ...@@ -265,9 +274,30 @@ const collectHandler = async (row:any) => {
} }
loading.value=false loading.value=false
} }
const handleSelectionChange = (val:any)=>{ const checkPositionHandler = (n:any)=>{
selectedItems.value = val if(n){
if(n.Position && n.Position.length>0){
navigations.value=n.Position
queryObj.FileId = n.Position[n.Position.length-1].FileId
queryObj.FileType = 0
}else{
navigations.value=[]
queryObj.FileId = 0
queryObj.FileType = n.FileType
}
emit('destroy-position')
}
} }
watch(() => props.position,(n,o)=>{
if(n){
checkPositionHandler(n)
refreshHandler()
}
},{
deep:true
})
checkPositionHandler(props.position)
getDocumentData() getDocumentData()
</script> </script>
<style> <style>
......
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
<div class="col"> <div class="col">
<BrowsingHistory :current-menu="currentMenu" v-if="currentMenu==0"></BrowsingHistory> <BrowsingHistory :current-menu="currentMenu" v-if="currentMenu==0"></BrowsingHistory>
<journeyAds :position="position" :current-menu="currentMenu" v-if="currentMenu==3||currentMenu==4" @destroy-position="()=>position=null"></journeyAds> <journeyAds :position="position" :current-menu="currentMenu" v-if="currentMenu==3||currentMenu==4" @destroy-position="()=>position=null"></journeyAds>
<ShareList v-if="currentMenu==2"></ShareList> <ShareList :position="position" v-if="currentMenu==2" @destroy-position="()=>position=null"></ShareList>
</div> </div>
</div> </div>
</div> </div>
...@@ -121,9 +121,13 @@ const sellAdd = (type:number) =>{ ...@@ -121,9 +121,13 @@ const sellAdd = (type:number) =>{
const openFilePosition = (playload:any)=>{ const openFilePosition = (playload:any)=>{
position.value=playload position.value=playload
currentMenu.value = playload.FileType==1?3:4 if(!playload.FormShare){
searchData.value.currentMenu=currentMenu.value currentMenu.value = playload.FileType==1?3:4
searchData.value.SellTemplateType = playload.FileType searchData.value.currentMenu=currentMenu.value
searchData.value.SellTemplateType = playload.FileType
}
else currentMenu.value = 2
} }
const setCurrentMenuHandler=(i:number)=>{ const setCurrentMenuHandler=(i:number)=>{
......
...@@ -228,8 +228,9 @@ const CopyId = async () => { ...@@ -228,8 +228,9 @@ const CopyId = async () => {
deleteLoading.value = null; deleteLoading.value = null;
}; };
const getFile = async () => { const getFile = async () => {
console.log(props.details)
let querys = { let querys = {
FileType: props.details.FileType, FileType: props.details.FolderType,
}; };
let pageRes = await FolderService.GetMyFolderTree(querys); let pageRes = await FolderService.GetMyFolderTree(querys);
if (pageRes.data.resultCode == 1) { if (pageRes.data.resultCode == 1) {
......
...@@ -139,7 +139,8 @@ const openFilePositionHandler = (item:any)=>{ ...@@ -139,7 +139,8 @@ const openFilePositionHandler = (item:any)=>{
let playload = { let playload = {
FileId:item.FileId, FileId:item.FileId,
FileType:item.FileType, FileType:item.FileType,
Position:[] FormShare:userInfo.value.EmployeeId!=item.CreateBy,
Position:[] as any[]
} }
if(item.FolderPath && item.FolderPath!='/'){ if(item.FolderPath && item.FolderPath!='/'){
let fp = item.FolderPath.split('/') let fp = item.FolderPath.split('/')
......
...@@ -144,7 +144,7 @@ ...@@ -144,7 +144,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { ApiResult } from '@/configs/axios'; import { ApiResult } from '@/configs/axios';
import OrgService from '@/services/OrgService'; import OrgService from '@/services/OrgService';
import { ref,reactive,watch,inject,nextTick } from 'vue'; import { ref,reactive,watch,inject,nextTick, PropType } from 'vue';
import { Edit,View,Download,EditPen,Delete,Star } from '@element-plus/icons-vue'; import { Edit,View,Download,EditPen,Delete,Star } from '@element-plus/icons-vue';
import { ElMessage,ElTree,ElLoading, ElMessageBox } from 'element-plus'; import { ElMessage,ElTree,ElLoading, ElMessageBox } from 'element-plus';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment