From 6bb174643d547471cd189bd49f44a04a79fdd4ff Mon Sep 17 00:00:00 2001 From: task <121913992@qq.com> Date: Wed, 19 Feb 2025 16:53:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AA=92=E4=BD=93=E5=BA=93=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=A3=81=E5=89=AA=E4=B8=8A=E4=BC=A0=EF=BC=8C=E6=89=AB=E7=A0=81?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/package.json | 3 +- .../components/selectImage/selectImage.vue | 21 +- web/src/components/upload/QR-code.vue | 65 +++++ web/src/components/upload/cropper.vue | 235 +++++++++++++++++ web/src/main.js | 2 - web/src/permission.js | 2 +- web/src/router/index.js | 8 + web/src/view/example/upload/scanUpload.vue | 244 ++++++++++++++++++ web/src/view/example/upload/upload.vue | 7 +- 9 files changed, 572 insertions(+), 15 deletions(-) create mode 100644 web/src/components/upload/QR-code.vue create mode 100644 web/src/components/upload/cropper.vue create mode 100644 web/src/view/example/upload/scanUpload.vue diff --git a/web/package.json b/web/package.json index 61c7bd29e8..9c26581ec6 100644 --- a/web/package.json +++ b/web/package.json @@ -24,7 +24,6 @@ "axios": "^1.7.7", "chokidar": "^4.0.0", "core-js": "^3.38.1", - "default-passive-events": "^2.0.0", "echarts": "5.5.1", "element-plus": "^2.8.5", "highlight.js": "^11.10.0", @@ -43,7 +42,9 @@ "vform3-builds": "^3.0.10", "vite-auto-import-svg": "^1.1.0", "vue": "^3.5.7", + "vue-cropper": "^1.1.4", "vue-echarts": "^7.0.3", + "vue-qr": "^4.0.9", "vue-router": "^4.4.3", "vue3-ace-editor": "^2.2.4", "vuedraggable": "^4.1.0" diff --git a/web/src/components/selectImage/selectImage.vue b/web/src/components/selectImage/selectImage.vue index ff2738b780..80d1e1234d 100644 --- a/web/src/components/selectImage/selectImage.vue +++ b/web/src/components/selectImage/selectImage.vue @@ -10,7 +10,7 @@ /> - +
@@ -39,14 +39,17 @@
-
- +
- 确认所选 + + +
+
+ 选定 + + - - 查询
@@ -144,6 +147,8 @@ import { } from '@element-plus/icons-vue' import selectComponent from '@/components/selectImage/selectComponent.vue' import { addCategory, deleteCategory, getCategoryList } from '@/api/attachmentCategory' +import CropperImage from "@/components/upload/cropper.vue"; +import QRCodeUpload from "@/components/upload/QR-code.vue"; const imageUrl = ref('') const imageCommon = ref('') @@ -425,10 +430,6 @@ const useSelectedImages = () => { border: 3px solid #409eff; } -.image-library { - width: 605px; -} - .selected:before { content: ""; position: absolute; diff --git a/web/src/components/upload/QR-code.vue b/web/src/components/upload/QR-code.vue new file mode 100644 index 0000000000..2a166c2872 --- /dev/null +++ b/web/src/components/upload/QR-code.vue @@ -0,0 +1,65 @@ + + + diff --git a/web/src/components/upload/cropper.vue b/web/src/components/upload/cropper.vue new file mode 100644 index 0000000000..ae8cbd71de --- /dev/null +++ b/web/src/components/upload/cropper.vue @@ -0,0 +1,235 @@ + + + + + diff --git a/web/src/main.js b/web/src/main.js index 9bb4f47a0b..372b491f17 100644 --- a/web/src/main.js +++ b/web/src/main.js @@ -13,8 +13,6 @@ import run from '@/core/gin-vue-admin.js' import auth from '@/directive/auth' import { store } from '@/pinia' import App from './App.vue' -// 消除警告 -import 'default-passive-events' const app = createApp(App) app.config.productionTip = false diff --git a/web/src/permission.js b/web/src/permission.js index 78d6ae858c..33cd6e1e2a 100644 --- a/web/src/permission.js +++ b/web/src/permission.js @@ -13,7 +13,7 @@ Nprogress.configure({ }) // 白名单路由 -const WHITE_LIST = ['Login', 'Init'] +const WHITE_LIST = ['Login', 'Init', 'ScanUpload'] // 处理路由加载 const setupRouter = async (userStore) => { diff --git a/web/src/router/index.js b/web/src/router/index.js index 96ffbe5027..e99c82af31 100644 --- a/web/src/router/index.js +++ b/web/src/router/index.js @@ -15,6 +15,14 @@ const routes = [ name: 'Login', component: () => import('@/view/login/index.vue') }, + { + path: '/scanUpload', + name: 'ScanUpload', + meta: { + title: '扫码上传' + }, + component: () => import('@/view/example/upload/scanUpload.vue') + }, { path: '/:catchAll(.*)', meta: { diff --git a/web/src/view/example/upload/scanUpload.vue b/web/src/view/example/upload/scanUpload.vue new file mode 100644 index 0000000000..8fd9226736 --- /dev/null +++ b/web/src/view/example/upload/scanUpload.vue @@ -0,0 +1,244 @@ + + + + + + + diff --git a/web/src/view/example/upload/upload.vue b/web/src/view/example/upload/upload.vue index 1e34948007..eae676a0eb 100644 --- a/web/src/view/example/upload/upload.vue +++ b/web/src/view/example/upload/upload.vue @@ -33,6 +33,8 @@
+ + { if (tableData.value.length === 1 && page.value > 1) { page.value-- } - getTableData() + await getTableData() } }) .catch(() => {