liuQiang 1 year ago
parent
commit
2e1cc42333
2 changed files with 115 additions and 14 deletions
  1. 114 14
      src/layout/components/DefaultPage/DefaultPage.vue
  2. 1 0
      src/router/index.js

+ 114 - 14
src/layout/components/DefaultPage/DefaultPage.vue

@@ -4,7 +4,7 @@
       <input type="text" class="search_input" placeholder="请输入关键字" />
       <div class="searchBtn">
         <img src="@/assets/images/newIndex/search.png" alt="" />
-        <span>全局搜索</span>
+        <span>全域瞬搜</span>
       </div>
     </div>
     <div class="btmBox">
@@ -37,7 +37,7 @@
         </el-upload>
         <p class="text2">将文件拖到此处或 <span>选择文件</span></p>
         <div class="line"></div>
-        <img src="@/assets/images/newIndex/scan.png" class="scanImg" alt="" />
+        <img src="@/assets/images/newIndex/scan.png" @click="scannerFile" class="scanImg" alt="" />
         <div class="text3">扫描文件</div>
       </div>
       <div class="recent">
@@ -74,6 +74,45 @@
     :showPreview="showPreview"
     @closeImgPreview="closeImgPreview"
   ></ImgPreview>
+  <!-- 扫描文档 -->
+  <ScanFile
+    v-if="openScan"
+    :openScan="openScan"
+    :scannerFiles="scannerFiles"
+    @saveScanFile="saveScanFile"
+    @closeOpen="closeOpen"
+  ></ScanFile>
+  <!-- 可用扫描仪信息 -->
+  <div>
+    <el-dialog v-model="checkScanner" title="扫描仪" width="30%">
+      <div
+        v-for="item in scannerList"
+        :key="item.scannerId"
+        @click="checkScanFn(item)"
+        id="Onescan"
+        :class="{ checkScan: item.scannerId == checkScanId }"
+      >
+        <img src="@/assets/images/scanImg.png" alt="" />
+        {{ item.scannerName }}
+      </div>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="closeCheckScanner">取消</el-button>
+          <el-button type="primary" @click="sureScaner">确认</el-button>
+        </span>
+      </template>
+    </el-dialog>
+  </div>
+  <!-- 扫描文件移动到 -->
+  <MoveTo
+    v-if="openScanMove"
+    :spaceType="3"
+    :scanFileArr="scanFileArr"
+    :thisFolder="thisFolder"
+    :openScanMove="openScanMove"
+    :spaceId="spaceId"
+    @closeOpenScanMove="closeOpenScanMove"
+  ></MoveTo>
   <div
     v-loading.fullscreen="loadingPreview"
     v-if="loadingPreview"
@@ -90,9 +129,12 @@ import { preview } from "@/api/common/common.js";
 import { ElMessage, ElLoading, ElMessageBox } from "element-plus";
 import ImgPreview from "@/components/ImgPreview/ImgPreview.vue";
 import { getConfigKey } from "@/api/system/config.js";
+import ScanFile from "@/components/ScanFile/ScanFile.vue";
+import MoveTo from "@/components/MoveTo/MoveTo.vue";
 import myfile from "@/api/myfile/myfile";
-import documents from '@/api/document/document'
-import uploadApi from '@/api/upload/upload'
+import { listInfo, selectInfo, getFileByScanerId } from "@/api/scanner/info.js";
+import documents from "@/api/document/document";
+import uploadApi from "@/api/upload/upload";
 const tableFileData = ref([]);
 const copyFileType = ref();
 const previewData = ref();
@@ -104,8 +146,15 @@ let fileBig = ref(0);
 const allSpace = ref();
 const maxFileSize = ref(); //能上传的最大size
 const loadingUpload = ref(false);
-const topDirId = ref();//我的文件顶层的目录id
-const topSpaceId = ref();//我的文件顶层的目录id
+const topDirId = ref(); //我的文件顶层的目录id
+const topSpaceId = ref(); //我的文件顶层的目录id
+const scannerList = ref(); // 扫描仪数据
+const checkScanId = ref(); // 选中的scan的id
+const checkScanner = ref(false); //显示扫描仪选择框
+const scannerFiles = ref([]); //选择的扫描仪的文件
+const openScanMove = ref(false);
+const openScan = ref(false); //控制扫描文档显示
+const scanFileArr = ref([]); //认领的扫描文件数组
 const emit = defineEmits(["openMaxmin"]);
 // 获取数据
 const getList = async () => {
@@ -172,19 +221,19 @@ function getSpaceList() {
   });
 }
 //获取我的文件顶层的目录id
-const getDirId = ()=>{
-  documents.getTop(3).then(res => {
-    topDirId.value = res.dirId
-    topSpaceId.value = res.spaceId
-  })
-}
+const getDirId = () => {
+  documents.getTop(3).then((res) => {
+    topDirId.value = res.dirId;
+    topSpaceId.value = res.spaceId;
+  });
+};
 function onSuccess(files, val) {
   // console.log('suFiles',files);
   const maxSize = (maxFileSize.value - 0) * 1024 * 1024;
   if (files.file.size < maxSize) {
     fileArr.value.push(files.file);
   }
-  sureUpload()
+  sureUpload();
 }
 // 确认上传
 function sureUpload() {
@@ -235,10 +284,50 @@ function sureUpload() {
     }
   }
 }
+//获取扫描仪列表
+const scannerFile = async () => {
+  const res = await selectInfo();
+  scannerList.value = res.rows;
+  checkScanner.value = true;
+  checkScanId.value = null;
+  // console.log('scanner',res);
+};
+// 选择扫描仪
+const checkScanFn = (item) => {
+  checkScanId.value = item.scannerId;
+};
+// 确认选择扫描仪 获取扫描仪下文件列表
+const sureScaner = async () => {
+  if (!checkScanId.value) return;
+  const res = await getFileByScanerId(checkScanId.value);
+  // console.log("sureScanerres", res);
+  scannerFiles.value = res.data;
+  checkScanner.value = false;
+  openScan.value = true;
+};
+// 关闭窗口
+const closeCheckScanner = () => {
+  checkScanner.value = false;
+};
+const closeOpen = () => {
+  openScan.value = false;
+};
+// 移动到事件
+const saveScanFile = (arr) => {
+  // console.log("arr", arr);
+  openScan.value = false;
+  scanFileArr.value = arr;
+  openScanMove.value = true;
+};
+// 关闭窗口
+const closeOpenScanMove = () => {
+  openScanMove.value = false;
+  // refreshFile();
+};
 onMounted(() => {
   getList();
   getSpaceList();
-  getDirId()
+  getDirId();
   getConfigKey("file.size.limit").then((response) => {
     // console.log('response',response);
     maxFileSize.value = response.msg;
@@ -337,6 +426,7 @@ onMounted(() => {
       width: 32px;
       height: 32px;
       margin-top: 16px;
+      cursor: pointer;
     }
   }
   .recent {
@@ -413,6 +503,16 @@ onMounted(() => {
     }
   }
 }
+.checkScan {
+  background-color: #f5f7f9;
+}
+#Onescan {
+  height: 48px;
+  line-height: 48px;
+  font-size: 14px;
+  display: flex;
+  align-items: center;
+}
 ::v-deep .el-upload-dragger {
   display: flex;
   flex-direction: column;

+ 1 - 0
src/router/index.js

@@ -320,6 +320,7 @@ export const constantRoutes = [{
 	path: '/chat',
 	component: () => import('@/views/liveChat/index.vue'),
 	name: 'chat',
+	hidden: true,
 	meta: {
 		title: '会话消息',
 		icon: 'dashboard',