diff --git a/web/package.json b/web/package.json index 61c7bd29..9c26581e 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 ff2738b7..80d1e123 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 00000000..2a166c28 --- /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 00000000..ae8cbd71 --- /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 9bb4f47a..372b491f 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 78d6ae85..33cd6e1e 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 96ffbe50..e99c82af 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 00000000..8fd92267 --- /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 1e349480..eae676a0 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(() => {