Browse Source

文件预览

liuQiang 2 năm trước cách đây
mục cha
commit
723bfde726

+ 1 - 1
src/api/common/common.js

@@ -8,7 +8,7 @@ export function ocrRemark(data) {
 }
 export function preview(data) {
     return request({
-        url: `/api/access/${data}`,
+        url: `/biz/info/access/${data}`,
         method: "get",
         headers: {
             'Content-Type': 'application/json'

+ 14 - 9
src/layout/indexCommon.vue

@@ -99,7 +99,7 @@
               class="common-tabs"
             >
               <el-tab-pane
-                v-for="(item,index) in toRaw(editableTabs)"
+                v-for="(item, index) in toRaw(editableTabs)"
                 :key="item.path"
                 :label="item.label"
                 :name="item.path"
@@ -109,7 +109,7 @@
                     <div class="tab_text">{{ item.label }}</div>
                     <img
                       src="@/assets/images/close.png"
-                      @click="closeTab(item,index,$event)"
+                      @click="closeTab(item, index, $event)"
                       alt=""
                     />
                   </div>
@@ -398,18 +398,23 @@ const addTab = (data) => {
     editableTabs.value = JSON.parse(JSON.stringify(editableTabs.value));
   }
 };
+const addFolderAdd = (data) => {
+  console.log("data", data);
+};
 provide("addTab", addTab);
+provide("addFolderAdd", addFolderAdd);
 // TODO 删除tab事件
-const closeTab = (item,index, e) => {
+const closeTab = (item, index, e) => {
   e.preventDefault();
   e.stopPropagation();
-  editableTabs.value.splice(index,1)
+  editableTabs.value.splice(index, 1);
   editableTabs.value = JSON.parse(JSON.stringify(editableTabs.value));
-  const nextTab = editableTabs.value[index + 1] || editableTabs.value[index - 1];
-  clickTab(nextTab.path)
-  console.log("item", item);
-  console.log("index", index);
-  console.log("e", e);
+  const nextTab =
+    editableTabs.value[index + 1] || editableTabs.value[index - 1];
+  clickTab(nextTab.path);
+  // console.log("item", item);
+  // console.log("index", index);
+  // console.log("e", e);
 };
 </script>
 

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

@@ -1189,12 +1189,13 @@ export default {
             if (!imgTypeArr.includes(copyFileType.value)) {
                 arr = arr.filter(item => item.name !== "文字识别")
             }
-            // console.log('arr',arr);
+            // console.log('thisFolderRole',thisFolderRole.value);
             if(thisFolderRole.value.roles){
-                console.log('thisFolderRole',thisFolderRole.value);
+                // console.log('thisFolderRole',thisFolderRole.value);
                 arr = rightMenuRole(toRaw(thisFolderRole.value),arr)
             }
-            if(thisFolderRole.value){
+            // console.log('thisRole.value',thisRole.value);
+            if(thisRole.value.length){
                 arr = publicRightMenuRole(toRaw(thisRole.value),arr)
             }
             if(arr.length<1){

+ 5 - 3
src/views/department/components/FileEdit.vue

@@ -49,6 +49,7 @@ export default {
     let copyRow = props.copyRow || '';
     const router = useRouter(); //注册路由
     const route = useRoute();
+    const uid = useUserStore().uid
     let option = ref({
       key: "",
       url: "", //在线文档地址
@@ -73,7 +74,7 @@ export default {
           option.value.isEdit = obj.isEdit;
           option.value.url = `${window.location.origin}${
             import.meta.env.VITE_APP_BASE_API
-          }/api/access/${obj.fileId}`;
+          }/api/access/${obj.fileId}?uid=${uid}`;
           option.value.title = obj.fileName;
           option.value.key = obj.fileId;
           option.value.fileType = obj.fileType.replace(".", "");
@@ -89,7 +90,7 @@ export default {
         option.value.isEdit = false;
         option.value.url = `${window.location.origin}${
           import.meta.env.VITE_APP_BASE_API
-        }/api/access/${props.historycopyRow.fileId}`;
+        }/api/access/${props.historycopyRow.fileId}?uid=${uid}`;
         option.value.title = props.copyRow.fileName;
         option.value.key = props.historycopyRow.fileId;
         option.value.fileType = props.copyRow.fileType.replace(".", "");
@@ -126,7 +127,8 @@ export default {
       option,
       show,
       newObj,
-      route
+      route,
+      uid
     };
   },
   components: {

+ 31 - 6
src/views/myfile/MyFile.vue

@@ -73,7 +73,7 @@
                 <div v-if="editOnline">
                     <!-- 众多功能 -->
                     <div class="manyUse">
-                        <div
+                        <div v-if="thisFolder.dirType == '1'"
                             style="display: flex;width: 92px;height: 32px;justify-content: flex-start;align-items: center;line-height: 18px;">
                             <div style="margin-left: 5px;">
                                 <img src="../../assets/images/upload.png" style="width: 24px;height: 24px;" alt="">
@@ -83,6 +83,16 @@
                                 </span>
                             </div>
                         </div>
+                        <div v-else
+                            style="display: flex;width: 92px;opacity:0.5;height: 32px;justify-content: flex-start;align-items: center;line-height: 18px;">
+                            <div style="margin-left: 5px;">
+                                <img src="../../assets/images/upload.png" style="width: 24px;height: 24px;" alt="">
+                            </div>
+                            <div style="margin-left: 5px;">
+                                <span style="color: black;cursor: pointer;">上传
+                                </span>
+                            </div>
+                        </div>
                         <div
                             style="display: flex;width: 82px;height: 32px;justify-content: flex-start;align-items: center;">
                             <div style="margin-left: 5px;">
@@ -114,11 +124,11 @@
                         <!-- 左侧 -->
                         <div style="display: flex;justify-content: space-around;align-items: center;">
                             <!-- 前进后退 -->
-                            <div style="display: flex;justify-content: space-around;align-items: center;">
+                            <!-- <div style="display: flex;justify-content: space-around;align-items: center;">
                                 <img style="display:block;width: 11px;height: 11px;" :src="blueLeft" alt=""
                                     @click="arrowLift">
                                 <img style="display:block;width: 16px;height: 16px;" :src="grayRight" alt="">
-                            </div>
+                            </div> -->
                             <!-- 面包屑 -->
                             <div class="topPath">
                                 {{ topPath }}
@@ -360,7 +370,7 @@
 </template>
 
 <script>
-import { ref, toRaw, onMounted } from 'vue'
+import { ref, toRaw, onMounted ,inject} from 'vue'
 import myfile from '../../api/myfile/myfile'
 import { delFavorite } from '@/api/biz/favorite.js'
 import documents from '../../api/document/document'
@@ -573,6 +583,7 @@ export default {
         const showPreview = ref(false)//控制图片预览组件显示
         const previewData = ref()//需要预览的文件的数据
         const router = useRouter(); //注册路由
+        const route = useRoute(); //注册路由
         const folderVisible = ref(false); //显示文件夹右键菜单
         const foldertop = ref(0);
         const folderleft = ref(0);
@@ -590,6 +601,8 @@ export default {
         const chooseRow = ref()
         const chooseNum = ref()
         const loadingPreview = ref(false)
+        const addTab = inject("addTab");
+        const addFolderAdd = inject("addFolderAdd");
         // 获取文件夹,中栏,文件
         function getAllTop() {
             documents.getTop(3).then(res => {
@@ -637,6 +650,13 @@ export default {
             })
         }
         function changeFile(row, num) {
+            // 创建标签
+            console.log('route',route.path);
+            const addData = {
+                path:route.path,
+                row:toRaw(row)
+            }
+            addFolderAdd(addData)
             thisFolder.value = row
             console.log('row2',row);
             if(row.isEncrypt === "Y"){
@@ -864,8 +884,10 @@ export default {
                 loadingPreview.value = true
                 const filePreview = canPreviewFile(copyFileType.value)
                 if (filePreview) {
+                     loadingPreview.value = false
+                    addTab(clickRow.value);
                     onlyView.value = true
-                    editOnline.value = false
+                    // editOnline.value = false
                     cliCC.value = false
                 } else {
                     const res = await preview(copyFileId.value)
@@ -1565,6 +1587,7 @@ export default {
             closeImgPreview,//关闭预览事件
             previewData,//预览文件数据
             router,
+            route,
             fileTrees,
             getChildren,//子传父
             copyOrMove,
@@ -1650,7 +1673,9 @@ export default {
             chooseRow,
             chooseNum,
             loadingPreview,
-            downLoadfile
+            downLoadfile,
+            addTab,
+            addFolderAdd
         }
     },
     watch: {

+ 9 - 4
src/views/myfile/components/FileEdit.vue

@@ -49,6 +49,7 @@ export default {
     let copyRow = props.copyRow || '';
     const router = useRouter(); //注册路由
     const route = useRoute();
+    const uid = useUserStore().uid
     let option = ref({
       key: "",
       url: "", //在线文档地址
@@ -65,7 +66,8 @@ export default {
     let show = ref(true);
     let newObj = ref({});
     function oo(docId, isEdit) {
-      if (docId && !props.historyPrew) {
+      console.log('uid',uid);
+      if (docId && !props.historyPrew) {     
         getInfo(docId).then((response) => {
           const obj = response.data;
           obj.isEdit = isEdit;
@@ -73,7 +75,8 @@ export default {
           option.value.isEdit = obj.isEdit;
           option.value.url = `${window.location.origin}${
             import.meta.env.VITE_APP_BASE_API
-          }/api/access/${obj.fileId}`;
+          }/api/access/${obj.fileId}?uid=${uid}`;
+          //  console.log('option.value.url',option.value.url);
           option.value.title = obj.fileName;
           option.value.key = obj.fileId;
           option.value.fileType = obj.fileType.replace(".", "");
@@ -89,7 +92,8 @@ export default {
         option.value.isEdit = false;
         option.value.url = `${window.location.origin}${
           import.meta.env.VITE_APP_BASE_API
-        }/api/access/${props.historycopyRow.fileId}`;
+        }/api/access/${props.historycopyRow.fileId}?uid=${uid}`;
+        //  console.log('option.value.url2',option.value.url);
         option.value.title = props.copyRow.fileName;
         option.value.key = props.historycopyRow.fileId;
         option.value.fileType = props.copyRow.fileType.replace(".", "");
@@ -126,7 +130,8 @@ export default {
       option,
       show,
       newObj,
-      route
+      route,
+      uid
     };
   },
   components: {

+ 1 - 1
src/views/publicment/MyFile.vue

@@ -1198,7 +1198,7 @@ export default {
                 console.log('thisFolderRole',thisFolderRole.value);
                 arr = rightMenuRole(toRaw(thisFolderRole.value),arr)
             }
-            if(thisFolderRole.value){
+            if(thisRole.value.length){
                 arr = publicRightMenuRole(toRaw(thisRole.value),arr)
             }
             if(arr.length<1){

+ 5 - 3
src/views/publicment/components/FileEdit.vue

@@ -49,6 +49,7 @@ export default {
     let copyRow = props.copyRow || '';
     const router = useRouter(); //注册路由
     const route = useRoute();
+    const uid = useUserStore().uid
     let option = ref({
       key: "",
       url: "", //在线文档地址
@@ -73,7 +74,7 @@ export default {
           option.value.isEdit = obj.isEdit;
           option.value.url = `${window.location.origin}${
             import.meta.env.VITE_APP_BASE_API
-          }/api/access/${obj.fileId}`;
+          }/api/access/${obj.fileId}?uid=${uid}`;
           option.value.title = obj.fileName;
           option.value.key = obj.fileId;
           option.value.fileType = obj.fileType.replace(".", "");
@@ -89,7 +90,7 @@ export default {
         option.value.isEdit = false;
         option.value.url = `${window.location.origin}${
           import.meta.env.VITE_APP_BASE_API
-        }/api/access/${props.historycopyRow.fileId}`;
+        }/api/access/${props.historycopyRow.fileId}?uid=${uid}`;
         option.value.title = props.copyRow.fileName;
         option.value.key = props.historycopyRow.fileId;
         option.value.fileType = props.copyRow.fileType.replace(".", "");
@@ -126,7 +127,8 @@ export default {
       option,
       show,
       newObj,
-      route
+      route,
+      uid
     };
   },
   components: {