Browse Source

Merge branch 'liuqiang' into v3

liuQiang 2 years ago
parent
commit
fe660012a3

+ 62 - 33
src/components/ScanFile/ScanFile.vue

@@ -10,7 +10,9 @@
       <div class="main">
         <!-- 头部的总计和移动按钮 -->
         <div class="statistics">
-          <el-checkbox v-model="checkedAll" @change="checkAllChange">共{{ props.scannerFiles.length }}项</el-checkbox>
+          <el-checkbox v-model="checkedAll" @change="checkAllChange"
+            >共{{ props.scannerFiles.length }}项</el-checkbox
+          >
           <div class="">
             <el-button color="#2E6BC8" @click="toSave">
               <img src="@/assets/images/folder_white.png" alt="" />&nbsp; 移动到
@@ -18,11 +20,14 @@
           </div>
         </div>
         <!-- 盒子区域 -->
-        <div class="bigBox">   
-          <div v-for="item in props.scannerFiles" :key="item" class="one_box">
+        <div class="bigBox" id="bigBox">
+          <div v-for="(item,index) in props.scannerFiles" :key="item" class="one_box">
             <img :src="wangzhi + item.path" alt="" />
             <div class="top_check">
-              <el-checkbox :checked="fileArr.some(par=>par == item.q)" @change="checkChange(item)"></el-checkbox>
+              <el-checkbox
+                :checked="fileArr.some((par) => par == item.q)"
+                @change="checkChange(item,index)"
+              ></el-checkbox>
             </div>
           </div>
         </div>
@@ -43,53 +48,77 @@ import {
   defineExpose,
   onDeactivated,
 } from "vue";
+import Sortable from "sortablejs";
 const props = defineProps({
   openScan: {
     type: Boolean,
     default: false,
   },
-   scannerFiles: {
+  scannerFiles: {
     type: Array,
     default: () => [],
   },
 });
+
 const checkedAll = ref(false); //是否全选
 const total = ref(333); //总计数量
-const wangzhi = import.meta.env.VITE_APP_BASE_API
-const fileArr = ref([])
-const emit = defineEmits(["closeOpen",'saveScanFile']);
+const wangzhi = import.meta.env.VITE_APP_BASE_API;
+const fileArr = ref([]);
+const emit = defineEmits(["closeOpen", "saveScanFile"]);
 const closeOpen = () => {
   emit("closeOpen");
 };
-const checkChange = (item)=>{
-  let arr = fileArr.value
-  if(arr.some(par=>par == item.q)){
-    arr = arr.filter(par=>par !=item.q)
-  }else{
-    arr.push(item.q)
+const checkChange = (item,index) => {
+  console.log('item',item);
+  console.log('index',index);
+  let arr = fileArr.value;
+  if (arr.some((par) => par == item.q)) {
+    arr = arr.filter((par) => par != item.q);
+  } else {
+    arr.push(item.q);
   }
+  // if (arr.some((par) => par == item.q)) {
+  //   arr = arr.filter((par) => par != item.q);
+  // } else {
+  //   arr.push({q:item.q,index:index});
+  // }
   // 判断全选
-  if(arr.length ==  props.scannerFiles.length){
-    checkedAll.value = true
-  }else{
-    checkedAll.value = false
+  if (arr.length == props.scannerFiles.length) {
+    checkedAll.value = true;
+  } else {
+    checkedAll.value = false;
   }
-  fileArr.value = JSON.parse(JSON.stringify(arr))
-  console.log('fileArr',toRaw(fileArr.value));
-}
-const checkAllChange = ()=>{
-  console.log('checkedAll.value',checkedAll.value);
-  fileArr.value = []
-  if(checkedAll.value){ //全选
-    props.scannerFiles.forEach(item=>{
-      fileArr.value.push(item.q)
-    })
+  fileArr.value = JSON.parse(JSON.stringify(arr));
+  console.log("fileArr", toRaw(fileArr.value));
+};
+const checkAllChange = () => {
+  console.log("checkedAll.value", checkedAll.value);
+  fileArr.value = [];
+  if (checkedAll.value) {
+    //全选
+    props.scannerFiles.forEach((item) => {
+      fileArr.value.push(item.q);
+    });
   }
-  console.log('fileArr',fileArr.value);
-}
-const toSave = ()=>{
-  emit('saveScanFile',toRaw(fileArr.value))
-}
+  console.log("fileArr", fileArr.value);
+};
+const toSave = () => {
+  emit("saveScanFile", toRaw(fileArr.value));
+};
+const rowDrop = () => {
+  const el = document.getElementById("bigBox"); //找到想要拖拽的那一列
+  Sortable.create(el, {
+    //结束拖拽事件
+    async onEnd(evt) {
+      console.log("evt", evt);
+    },
+  });
+};
+onMounted(async () => {
+  setTimeout(()=>{
+    rowDrop();
+  },500)
+});
 </script>
 
 <style lang="scss" scoped>

+ 59 - 42
src/utils/index.js

@@ -1,5 +1,63 @@
 import { parseTime } from './ruoyi'
-
+//---------------导入图片--------------------------
+import file_DOC from "@/assets/images/fileType/file_DOC.png";
+import file_pdf from "@/assets/images/fileType/file_pdf.png";
+import file_PPT from "@/assets/images/fileType/file_PPT.png";
+import file_TXT from "@/assets/images/fileType/file_TXT.png";
+import file_XLSX from "@/assets/images/fileType/file_XLSX.png";
+import file_pic from "@/assets/images/fileType/file_pic.png";
+import file_audio from "@/assets/images/fileType/file_audio.png";
+import file_video from "@/assets/images/fileType/file_video.png";
+import file_zip from "@/assets/images/fileType/file_zip.png";
+import file_noOne from "@/assets/images/unkownFile.png";
+
+// 设置图标
+export const setIcon = (fileType) => {
+  switch (fileType) {
+    case ".docx":
+      return file_DOC;
+      break;
+    case ".doc":
+      return file_DOC;
+      break;
+    case ".pdf":
+      return file_pdf;
+      break;
+    case ".ppt":
+      return file_PPT;
+      break;
+    case ".pptx":
+        return file_PPT;
+        break;
+    case ".txt":
+      return file_TXT;
+      break;
+    case ".xlsx":
+      return file_XLSX;
+      break;
+    case ".xps":
+      return file_XLSX;
+      break;
+    case ".csv":
+        return file_XLSX;
+        break;
+    case ".png":
+      return file_pic;
+      break;
+    case ".mp3":
+      return file_audio;
+      break;
+    case ".mp4":
+      return file_video;
+      break;
+    case ".zip":
+      return file_zip;
+      break;
+    default:
+      return file_noOne;
+      break;
+  }
+};
 /**
  * 表格时间格式化
  */
@@ -71,47 +129,6 @@ export const publicRightMenuRole = (role,arr)=>{
   return arr
 }
 
-/**
- * 根据传入的文件类型返回图标
- * @param {string} fileType
- */
-export const setIcon = (fileType) => {
-  switch (fileType) {
-    case ".docx":
-      return "src/assets/images/fileType/file_DOC.png";
-      break;
-    case ".pdf":
-      return "src/assets/images/fileType/file_pdf.png";
-      break;
-    case ".ppt":
-      return "src/assets/images/fileType/file_PPT.png";
-      break;
-    case ".txt":
-      return "src/assets/images/fileType/file_TXT.png";
-      break;
-    case ".xlsx":
-      return "src/assets/images/fileType/file_XLSX.png";
-      break;
-    case ".csv":
-      return "src/assets/images/fileType/file_XLSX.png";
-      break;
-    case ".png":
-      return "src/assets/images/fileType/file_pic.png";
-      break;
-    case ".mp3":
-      return "src/assets/images/fileType/file_audio.png";
-      break;
-    case ".mp4":
-      return "src/assets/images/fileType/file_video.png";
-      break;
-    case ".zip":
-      return "src/assets/images/fileType/file_zip.png";
-      break;
-    default:
-      return "src/assets/images/fileType/file_DOC.png";
-      break;
-  }
-};
 
 /**
  * @param {number} time

+ 5 - 39
src/views/biz/recent/index.vue

@@ -52,7 +52,7 @@
                 <div>
                   <img
                     class="table_icon"
-                    :src="setIcon(scope.row==null ? '':scope.row.fileType)"
+                    :src="setImg(scope.row==null ? '':scope.row.fileType)"
                     alt=""
                     style=""
                   />
@@ -229,7 +229,7 @@ import FileTree from "@/views/myfile/components/FileTree.vue";
 import FileCollect from "@/views/myfile/modalComponebts/FileCollect.vue";
 import myfile from "@/api/myfile/myfile";
 import { getLeveldetail } from "@/api/level/level";
-import { canPreviewFile, rightMenuRole } from "@/utils/index.js";
+import { canPreviewFile, rightMenuRole ,setIcon} from "@/utils/index.js";
 import { preview } from "@/api/common/common.js";
 import { delFavorite } from "@/api/biz/favorite.js";
 import ImgPreview from "@/components/ImgPreview/ImgPreview.vue";
@@ -517,43 +517,9 @@ function formatFileSize(fileSize) {
     return fileSize + "B";
   }
 }
-const setIcon = (fileType) => {
-  switch (fileType) {
-    case ".docx":
-      return file_DOC;
-      break;
-    case ".pdf":
-      return file_pdf;
-      break;
-    case ".ppt":
-      return file_PPT;
-      break;
-    case ".txt":
-      return file_TXT;
-      break;
-    case ".xlsx":
-      return file_XLSX;
-      break;
-    case ".csv":
-      return file_XLSX;
-      break;
-    case ".png":
-      return file_pic;
-      break;
-    case ".mp3":
-      return file_audio;
-      break;
-    case ".mp4":
-      return file_video;
-      break;
-    case ".zip":
-      return file_zip;
-      break;
-    default:
-      return file_DOC;
-      break;
-  }
-};
+const setImg = (type)=>{
+    return setIcon(type)
+}
 //对mouseCli数组进行筛选,实现菜单的区分显示
 const filterMouseCli = () => {
   const canPreviewArray = [

+ 111 - 118
src/views/collect/index.vue

@@ -1,7 +1,70 @@
 <template>
-  <div class="container" v-if="!showPreview">
-    <div class="statistics">
-      <div class="left_box">
+  <div class="container">
+    <div class="topPath">
+      <!-- <el-icon><ArrowDown /></el-icon> -->
+      <span @click="backTopPath">{{ topPath }}</span>
+      <PathLabel
+        v-if="!loadingPreview"
+        @folderClick="folderClick"
+        :pathLabelData="pathLabelData"
+      ></PathLabel>
+      <!-- <BreadMenu></BreadMenu> -->
+    </div>
+    <!-- 标签 -->
+    <div class="tags">
+      <div class="tags_left">
+        <el-tabs
+          v-model="clickCollect"
+          class="tabSign"
+          @tab-change="tabchange"
+          ref="tabs"
+        >
+          <!-- <el-tab-pane label="常用" name="first"></el-tab-pane> -->
+          <el-tab-pane label="默认" name="second"></el-tab-pane>
+          <el-tab-pane
+            v-for="item in toRaw(tabList)"
+            :key="item"
+            :name="item.labelId"
+          >
+            <template #label>
+              <div
+                v-if="isChangeTabName !== item.labelId"
+                @click.right="tabClick($event, item)"
+              >
+                {{ item.labelName }}
+              </div>
+              <div v-else>
+                <el-input
+                  v-model="changeTabName"
+                  size="mini"
+                  @blur="reTabName"
+                  maxlength="32"
+                  placeholder="请输入不多于32位字符"
+                  :autofocus="true"
+                ></el-input>
+              </div>
+            </template>
+          </el-tab-pane>
+        </el-tabs>
+        <!-- 添加标签 -->
+        <div class="addCollect">
+          <div v-if="!isAddCollect">
+            <el-icon color="#2E6BC8">
+              <Plus />
+            </el-icon>
+            <span @click="toAddCollectFn">添加标签</span>
+          </div>
+          <div v-else>
+            <el-input
+              v-model="tabName"
+              size="mini"
+              @change="addCollectFn"
+              maxlength="32"
+              placeholder="请输入不多于32位字符"
+              :autofocus="true"
+            ></el-input>
+          </div>
+        </div>
       </div>
       <div class="right_box">
         <img
@@ -30,63 +93,6 @@
         />
       </div>
     </div>
-    <!-- 标签 -->
-    <div class="tags">
-      <!-- TODO 标签可以拖动位置 -->
-
-      <el-tabs
-        v-model="clickCollect"
-        class="tabSign"
-        @tab-change="tabchange"
-        ref="tabs"
-      >
-        <!-- <el-tab-pane label="常用" name="first"></el-tab-pane> -->
-        <el-tab-pane label="默认" name="second"></el-tab-pane>
-        <el-tab-pane
-          v-for="item in toRaw(tabList)"
-          :key="item"
-          :name="item.labelId"
-        >
-          <template #label>
-            <div
-              v-if="isChangeTabName !== item.labelId"
-              @click.right="tabClick($event, item)"
-            >
-              {{ item.labelName }}
-            </div>
-            <div v-else>
-              <el-input
-                v-model="changeTabName"
-                size="mini"
-                @blur="reTabName"
-                maxlength="32"
-                placeholder="请输入不多于32位字符"
-                :autofocus="true"
-              ></el-input>
-            </div>
-          </template>
-        </el-tab-pane>
-      </el-tabs>
-      <!-- 添加标签 -->
-      <div class="addCollect">
-        <div v-if="!isAddCollect">
-          <el-icon color="#2E6BC8">
-            <Plus />
-          </el-icon>
-          <span @click="toAddCollectFn">添加标签</span>
-        </div>
-        <div v-else>
-          <el-input
-            v-model="tabName"
-            size="mini"
-            @change="addCollectFn"
-            maxlength="32"
-            placeholder="请输入不多于32位字符"
-            :autofocus="true"
-          ></el-input>
-        </div>
-      </div>
-    </div>
     <el-collapse v-model="activeNames">
       <div v-if="isList == 1">
         <el-collapse-item name="folder">
@@ -147,7 +153,7 @@
                     alt=""
                     style=""
                   />
-                <span class="shouzhi"> {{ scope.row.docInfo.fileName }}</span>  
+                  <span class="shouzhi"> {{ scope.row.docInfo.fileName }}</span>
                 </div>
               </template>
             </el-table-column>
@@ -167,14 +173,14 @@
             <span class="collapseItem_title">文件夹</span>
           </template>
           <!-- 平铺 -->
-          <el-scrollbar style="height: 37vh;">
+          <el-scrollbar style="height: 37vh">
             <div class="tile_box">
               <div
                 class="file_box"
                 @click.right="fileRight($event, item)"
                 v-for="item in folderArr"
                 :key="item"
-                style="cursor: pointer;"
+                style="cursor: pointer"
               >
                 <img
                   class="big_file_img"
@@ -198,14 +204,14 @@
             <span class="collapseItem_title">文件</span>
           </template>
           <!-- 平铺 -->
-          <el-scrollbar style="height: 37vh;">
+          <el-scrollbar style="height: 37vh">
             <div class="tile_box">
               <div
                 class="file_box"
                 @click.right="fileRight($event, item)"
                 v-for="item in fileArr"
                 :key="item"
-                style="cursor: pointer;"
+                style="cursor: pointer"
               >
                 <img
                   class="big_file_img"
@@ -232,7 +238,7 @@
   <div
     class="right_menu shouzhi"
     v-if="visible"
-    :style="{ left: left + 'px', top: top + 'px',margin:'0' }"
+    :style="{ left: left + 'px', top: top + 'px', margin: '0' }"
   >
     <div class="menu_item" @click="reName">
       <img src="@/assets/images/textbox.png" alt="" />
@@ -243,16 +249,6 @@
       <span>删除</span>
     </div>
   </div>
-  <div v-else class="preview">
-    <!-- TODO 预览功能后续实现-->
-    <!-- <FileEdit
-      :docId="thisRData.docInfo.docId"
-      :copyRow="thisRData"
-      :historyPrew="historyPrew"
-      :historycopyRow="historycopyRow"
-      :onlyView="onlyView"
-    ></FileEdit> -->
-  </div>
   <RightMenu v-if="showFlieRM" :fileRightXY="fileRightXY"></RightMenu>
 </template>
 
@@ -287,7 +283,7 @@ const thisTab = ref({}); //当前右键的标签
 const isChangeTabName = ref(0); //存放修改状标签的id
 const folderArr = ref(); //文件夹数组
 const fileArr = ref(); //文件数组
-const isList = ref(sessionStorage.getItem('fileGrid') || 0); //控制显示方式
+const isList = ref(sessionStorage.getItem("fileGrid") || 0); //控制显示方式
 const showPreview = ref(false); //预览
 const fileRightXY = ref({}); //右键菜单坐标
 const showFlieRM = ref(false); //右键菜单显示
@@ -306,7 +302,7 @@ import file_zip from "../../assets/images/fileType/file_zip.png";
 onMounted(async () => {
   await getList();
   await getCollectList();
-  await tabchange('second')
+  await tabchange("second");
   // rowDrop();
   // 添加监听,点击其他地方关闭菜单
   window.addEventListener("click", closeMenu, true);
@@ -509,16 +505,15 @@ const tabchange = async (labelId) => {
   console.log("fileArr", fileArr.value);
 };
 const changeShow = () => {
-//   isList.value = !isList.value;
-//   fileGrid.value = fileGrids
-//   folderGrid.value = fileGrids;
-if(isList.value == 1){
-    isList.value = 0
-}else{
-    isList.value = 1
-}
-sessionStorage.setItem('fileGrid',isList.value)
-
+  //   isList.value = !isList.value;
+  //   fileGrid.value = fileGrids
+  //   folderGrid.value = fileGrids;
+  if (isList.value == 1) {
+    isList.value = 0;
+  } else {
+    isList.value = 1;
+  }
+  sessionStorage.setItem("fileGrid", isList.value);
 };
 const changeSort = async () => {
   isAsc.value == "asc" ? (isAsc.value = "desc") : (isAsc.value = "asc");
@@ -591,33 +586,16 @@ const setIcon = (fileType) => {
   height: 100%;
   background-color: #fff;
   border-radius: 4px;
-  .statistics {
+  height: 88vh;
+  .topPath {
     width: 100%;
-    height: 40px;
-    background-color: #fff;
-    padding-left: 16px;
+    height: 24px;
     display: flex;
-    justify-content: space-between;
     align-items: center;
+    margin-left: 4px;
+    cursor: pointer;
     color: #6f85b5;
-    .left_box {
-      display: flex;
-      align-items: center;
-      .dataNum {
-        margin-left: 4px;
-        font-size: 14px;
-        font-weight: 400;
-      }
-    }
-    .right_box {
-      width: 50px;
-      display: flex;
-      justify-content: space-between;
-      margin-right: 30px;
-      img {
-        cursor: pointer;
-      }
-    }
+    font-size: 12px;
   }
   .tags {
     display: flex;
@@ -627,6 +605,21 @@ const setIcon = (fileType) => {
     border-top: 1px solid #c1cce3;
     border-bottom: 1px solid #c1cce3;
     background-color: #f5f7f9;
+    justify-content: space-between;
+    .tags_left {
+      display: flex;
+    }
+    .right_box {
+      width: 50px;
+      display: flex;
+      align-items: center;
+      margin-right: 16px;
+      img {
+        width: 22px;
+        height: 22px;
+        cursor: pointer;
+      }
+    }
   }
   .addCollect {
     margin-left: 16px;
@@ -687,29 +680,29 @@ const setIcon = (fileType) => {
   width: 27px;
   vertical-align: middle;
 }
-::v-deep .el-collapse-item__content {
+:deep(.el-collapse-item__content) {
   padding-bottom: 0;
 }
-::v-deep .el-collapse-item__header {
+:deep(.el-collapse-item__header) {
   background-color: #ebeff6 !important;
   width: 100% !important;
   height: 24px !important;
 }
-::v-deep .el-collapse-item__arrow {
+:deep(.el-collapse-item__arrow) {
   position: relative;
   color: #2e6bc8;
   right: 97%;
 }
-::v-deep .el-table td.el-table__cell {
+:deep(.el-table td.el-table__cell) {
   border: none;
   font-size: 14px !important;
   font-weight: 400 !important;
   color: #000 !important;
 }
-::v-deep .el-table__row {
+:deep(.el-table__row) {
   height: 35px !important;
 }
-::v-deep .el-table .el-table__header-wrapper th {
+:deep(.el-table .el-table__header-wrapper th) {
   border-bottom: none;
   border-right: 1px solid #c1cce3;
   background-color: #fff !important;
@@ -724,7 +717,7 @@ const setIcon = (fileType) => {
   font-size: 12px;
 }
 // 表格右边3个靠右对齐
-::v-deep .el-table__header thead tr th {
+:deep(.el-table__header thead tr th) {
   font-family: Inter-Medium;
   font-size: 14px;
   color: #505870;

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

@@ -215,7 +215,7 @@
                                 @selection-change="handleSelectionChange1" :single-select="true" @row-click="folderClick"
                                 @row-contextmenu="folderRClick" ref="taskTableRef">
                                 <el-table-column type="selection" width="55" />
-                                <el-table-column label="名称" :show-overflow-tooltip="true" :tooltip-options="{showAfter: 1000}" width="500">
+                                <el-table-column label="名称" :show-overflow-tooltip="true" :tooltip-options="{showAfter: 1000}" width="600">
                                     <template #default="scope">
                                         <span class="juzhong">
                                             <el-icon v-if="scope.row.isFavorite == 'N'" @click.stop="collectByStar(scope.row,true)" class="juli">
@@ -281,14 +281,14 @@
                                     @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="500">
+                                    <el-table-column label="名称" width="600">
                                         <template #default="scope">
                                             <span style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;" class="juzhong">
                                             <el-icon v-if="scope.row.isFavorite == 'N'" @click.stop="collectByStar(scope.row,false)">
                                                 <Star />
                                             </el-icon>
                                             <img v-else @click.stop="delCollect(scope.row,false)" src="../../assets/images/yellowstar.png" alt="" class="juli">
-                                            <img :src="getImage(scope.row.fileType)" alt="" class="juli">
+                                            <img :src="setImg(scope.row.fileType)" style="width:22px;height:22px;" alt="" class="juli">
                                                 <el-tooltip
                                                         class="box-item"
                                                         effect="dark"
@@ -506,6 +506,7 @@ import { listInfo,selectInfo ,getFileByScanerId} from '@/api/scanner/info.js';
 import Cookies from "js-cookie";
 import elTableInfiniteScroll from 'el-table-infinite-scroll'
 import { getConfigKey } from "@/api/system/config.js"
+import { setIcon } from "@/utils/index.js";
 
 export default {
     directives: {
@@ -1705,6 +1706,9 @@ export default {
             console.log('levelList',levelList.value);
             }
         }
+        const setImg = (type)=>{
+           return setIcon(type)
+        }
         const setTablelevel = (level)=>{
             const thisItem = levelList.value.find(item=>item.levelCode == level)
             if(thisItem){
@@ -2148,7 +2152,8 @@ export default {
             saveScanFile,
             openScanMove,
             closeOpenScanMove,
-            scanFileArr
+            scanFileArr,
+            setImg
 
         }
     },

+ 6 - 1
src/views/department/components/PalaceGridFile.vue

@@ -7,7 +7,7 @@
                 <div class="flexBox" @contextmenu="rightClick(item, $event)">
                     <!-- 图片 -->
                     <div class="imgBox">
-                        <img :src="getImage(item.fileType)" alt="" style="vertical-align: middle;cursor: pointer;">
+                        <img :src="setImg(item.fileType)" alt="" style="vertical-align: middle;cursor: pointer;">
                     </div>
                     <!-- 名称 -->
                     <div class="nameBox">
@@ -78,6 +78,7 @@ import ImgFile from "../jsComponents/ImgFile";
 import { canPreviewFile } from "@/utils/index.js"
 import { preview } from "@/api/common/common.js";
 import { listVersion } from "@/api/biz/version";
+import { setIcon } from "@/utils/index.js";
 export default {
     props: {
         getAllTop: {
@@ -422,6 +423,9 @@ export default {
         function getCollects(data) {
             collects.value = false
         }
+        const setImg = (type)=>{
+           return setIcon(type)
+        }
         // 归档
         function goLock() {
             fileCount.lockActor(clickRowId.value).then(res => {
@@ -491,6 +495,7 @@ export default {
             fileNameChange,
             editOnline,
             goLock,
+            setImg
         }
     },
     components: {

+ 1 - 1
src/views/department/modalComponebts/CreateFloder.vue

@@ -4,7 +4,7 @@
             <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" maxlength='32'/>
+                        <el-input v-model="boserForm.dirName" placeholder="请输入不多于32位字符" maxlength='32'/>
                     </el-form-item>
                     <el-form-item label="目录分类" v-if="free || (!free && thisType.dirType != '2' )">
                         <el-radio-group :disabled="upFolderData" v-model="boserForm.dirType">

+ 9 - 4
src/views/myfile/MyFile.vue

@@ -242,7 +242,7 @@
                                     @selection-change="handleSelectionChange1" :single-select="true" @row-click="folderClick"
                                     @row-contextmenu="folderRClick" ref="taskTableRef">
                                     <el-table-column type="selection" width="55" />
-                                    <el-table-column label="名称" :show-overflow-tooltip="true" width="500">
+                                    <el-table-column label="名称" :show-overflow-tooltip="true" width="600">
                                         <template #default="scope">
                                             <span style="display: flex;align-items: center;">
                                                 <el-icon v-if="scope.row.isFavorite == 'N'" @click.stop="collectByStar(scope.row,true)" style="margin-right: 7px;">
@@ -299,7 +299,7 @@
                                         @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="500">
+                                        <el-table-column label="名称" width="600">
                                             <template #default="scope">
                                                 <span
                                                     style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;display: flex;align-items: center;">
@@ -311,7 +311,7 @@
                                                     <img v-else @click.stop="delCollect(scope.row, false)"
                                                         src="../../assets/images/yellowstar.png" alt=""
                                                         style="margin-right: 5px;">
-                                                    <img :src="getImage(scope.row.fileType)" alt="">
+                                                    <img :src="setImg(scope.row.fileType)" style="width:22px;height:22px;" alt="">
                                                     <el-tooltip class="box-item" effect="dark" placement="top"
                                                         :show-after="1000" :content="scope.row.fileName">
                                                         <!-- <template #content> {{ scope.row.encryptLevel == 'L1'?'敏感':(scope.row.encryptLevel == 'L2'?'涉密':(scope.row.encryptLevel == 'L3'?'机密':'绝密')) }} </template> -->
@@ -522,6 +522,7 @@ import { canPreviewFile, rightMenuRole } from "@/utils/index.js"
 import fileSpace from '../../api/filespace/fileSpace';
 import { getLeveldetail } from '../../api/level/level';
 import { encrypt, decrypt } from "@/utils/jsencrypt";
+import { setIcon } from "@/utils/index.js";
 import Cookies from "js-cookie";
 import elTableInfiniteScroll from 'el-table-infinite-scroll'
 import { getLevel } from '@/api/level/level.js';
@@ -1969,6 +1970,9 @@ export default {
             openScanMove.value = false
             refreshFile()
         }
+        const setImg = (type)=>{
+           return setIcon(type)
+        }
         onMounted(() => {
             // if(!thisFolder.value){
             getAllTop()
@@ -2249,7 +2253,8 @@ export default {
             saveScanFile,
             openScanMove,
             closeOpenScanMove,
-            scanFileArr
+            scanFileArr,
+            setImg
         }
     },
     watch: {

+ 6 - 1
src/views/myfile/components/PalaceGridFile.vue

@@ -7,7 +7,7 @@
                 <div class="flexBox" @contextmenu="rightClick(item, $event)">
                     <!-- 图片 -->
                     <div class="imgBox">
-                        <img :src="getImage(item.fileType)" alt="" style="vertical-align: middle;cursor: pointer;">
+                        <img :src="setImg(item.fileType)" alt="" style="vertical-align: middle;cursor: pointer;">
                     </div>
                     <!-- 名称 -->
                     <div class="nameBox">
@@ -78,6 +78,7 @@ import ImgFile from "../jsComponents/ImgFile";
 import { canPreviewFile } from "@/utils/index.js"
 import { preview } from "@/api/common/common.js";
 import { listVersion } from "@/api/biz/version";
+import { setIcon } from "@/utils/index.js";
 export default {
     props: {
         getAllTop: {
@@ -425,6 +426,9 @@ export default {
         function getCollects(data) {
             collects.value = false
         }
+        const setImg = (type)=>{
+           return setIcon(type)
+        }
         // 归档
         function goLock() {
             fileCount.lockActor(clickRowId.value).then(res => {
@@ -494,6 +498,7 @@ export default {
             fileNameChange,
             editOnline,
             goLock,
+            setImg
         }
     },
     components: {

+ 9 - 4
src/views/publicment/MyFile.vue

@@ -213,7 +213,7 @@
                                 @selection-change="handleSelectionChange1" :single-select="true" @row-click="folderClick"
                                 @row-contextmenu="folderRClick" ref="taskTableRef">
                                 <el-table-column type="selection" width="55" />
-                                <el-table-column label="名称" :show-overflow-tooltip="true" width="500">
+                                <el-table-column label="名称" :show-overflow-tooltip="true" width="600">
                                     <template #default="scope">
                                         <span class="juzhong">
                                             <el-icon v-if="scope.row.isFavorite == 'N'" @click.stop="collectByStar(scope.row,true)" class="juli">
@@ -279,14 +279,14 @@
                                     @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="500">
+                                    <el-table-column label="名称" width="600">
                                         <template #default="scope">
                                             <span style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;" class="juzhong">
                                             <el-icon v-if="scope.row.isFavorite == 'N'" @click.stop="collectByStar(scope.row,false)" class="juli">
                                                 <Star />
                                             </el-icon>
                                             <img v-else @click.stop="delCollect(scope.row,false)" src="../../assets/images/yellowstar.png" alt="" class="juli">
-                                            <img :src="getImage(scope.row.fileType)" alt="" class="juli">
+                                            <img :src="setImg(scope.row.fileType)" style="width:22px;height:22px;" alt="" class="juli">
                                                   <el-tooltip
                                                         class="box-item"
                                                         effect="dark"
@@ -503,6 +503,7 @@ import { listInfo,selectInfo ,getFileByScanerId} from '@/api/scanner/info.js';
 import { getLevel } from '@/api/level/level.js';
 import elTableInfiniteScroll from 'el-table-infinite-scroll'
 import { getConfigKey } from "@/api/system/config.js"
+import { setIcon } from "@/utils/index.js";
 
 export default {
     directives: {
@@ -1457,6 +1458,9 @@ export default {
             historyTotal.value = row
             fileUserTreeData.data = num
         }
+        const setImg = (type)=>{
+           return setIcon(type)
+        }
         //对mouseCli数组进行筛选,实现菜单的区分显示
         const filterMouseCli = () => {
             const canPreviewArray = ['.doc','.dps','.et','.wps', '.docm', '.docx', '.dot', '.dotm', '.dotx', '.epub', '.fodt', '.htm', '.html', '.mht', '.odt', '.ott', '.pdf', '.rtf', '.txt', '.djvu', '.xps', '.csv', '.fods', '.ods', '.ots', '.xls', '.xlsm', '.xlsx', '.xlt', '.xltm', '.xltx', '.fodp', '.odp', '.otp', '.pot', '.potm', '.potx', '.pps', '.ppsm', '.ppsx', '.ppt', '.pptm', '.pptx']
@@ -2162,7 +2166,8 @@ export default {
             saveScanFile,
             openScanMove,
             closeOpenScanMove,
-            scanFileArr
+            scanFileArr,
+            setImg
         }
     },
     watch: {

+ 6 - 1
src/views/publicment/components/PalaceGridFile.vue

@@ -7,7 +7,7 @@
                 <div class="flexBox" @contextmenu="rightClick(item, $event)">
                     <!-- 图片 -->
                     <div class="imgBox">
-                        <img :src="getImage(item.fileType)" alt="" style="vertical-align: middle;cursor: pointer;">
+                        <img :src="setImg(item.fileType)" alt="" style="vertical-align: middle;cursor: pointer;">
                     </div>
                     <!-- 名称 -->
                     <div class="nameBox">
@@ -78,6 +78,7 @@ import ImgFile from "../jsComponents/ImgFile";
 import { canPreviewFile } from "@/utils/index.js"
 import { preview } from "@/api/common/common.js";
 import { listVersion } from "@/api/biz/version";
+import { setIcon } from "@/utils/index.js";
 export default {
     props: {
         getAllTop: {
@@ -421,6 +422,9 @@ export default {
         function getCollects(data) {
             collects.value = false
         }
+        const setImg = (type)=>{
+           return setIcon(type)
+        }
         // 归档
         function goLock() {
             fileCount.lockActor(clickRowId.value).then(res => {
@@ -490,6 +494,7 @@ export default {
             fileNameChange,
             editOnline,
             goLock,
+            setImg
         }
     },
     components: {