From 8ebd1ca15776afb47d6a00871b34b7bd27431267 Mon Sep 17 00:00:00 2001 From: gitea-publish Date: Sun, 9 Aug 2026 12:36:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=89=8D=E7=AB=AF=E8=B4=A6=E6=9D=83?= =?UTF-8?q?=E5=89=A5=E7=A6=BB=E5=AE=8C=E6=88=90=20=E2=80=94=20=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E4=B8=9A=E5=8A=A1=E6=A8=A1=E5=9D=97=EF=BC=8C=E4=BF=9D?= =?UTF-8?q?=E7=95=99=E8=B4=A6=E6=9D=83=20+=20=E7=B3=BB=E7=BB=9F=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=20+=20AI/LLM?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 删除 82 个业务页面(fei/trace/weight/tracing/irrigation/huoban 等 18 目录) - 删除 30+ 个业务 API 文件 - 删除业务组件(brain/tracing/MarkdownContent 原版) - 删除业务 Utils(ezviz/tracing/huoban/markdown/wangEdit) - 修改 8 个框架文件(router/main.js/request.js/store/vue.config.js/package.json/index.html/.gitignore) - 修复 9 个残留引用(TopHeader/iframeView/menuApi/permissionApi/home/login/customer/uiConfig) - 新建简化版 MarkdownContent.vue(使用 marked + highlight.js) - 保留 monaco-editor 依赖(AI 工具编辑器需要) - 添加 README.md - npm run build:prod 验证通过 --- .gitignore | 7 +- README.md | 105 + docs/AIHelp表单集成.md | 618 --- docs/Agent调用文档.md | 40 - docs/proxy-config.md | 83 - docs/solenoid-valve-api.md | 202 - docs/solenoid-valve-insert.sql | 32 - docs/solenoid-valve-log-ddl.sql | 23 - package.json | 17 +- public/index.html | 12 +- publish.sh | 56 - src/api/cameraInfo.js | 40 - src/api/extLink.js | 26 - src/api/farmPlan.js | 47 - src/api/fei/crop.js | 39 - src/api/fei/cropPhenology.js | 33 - src/api/fei/deviceDataReport.js | 60 - src/api/fei/fertilizationFormula.js | 45 - src/api/fei/inputMaterialStockLog.js | 36 - src/api/fei/marketDevice.js | 70 - src/api/fei/plotInfo.js | 81 - src/api/fei/repairRecord.js | 46 - src/api/fei/solenoidValve.js | 81 - src/api/fertigationDevice.js | 55 - src/api/huobanTableApi.js | 126 - src/api/inputMaterial.js | 36 - src/api/inspection.js | 69 - src/api/irrigation.js | 88 - src/api/menuApi.js | 43 +- src/api/n8nApi.js | 16 - src/api/park.js | 36 - src/api/permissionApi.js | 9 - src/api/trace/warehouseFloorPlan.js | 30 - src/api/traceabilityApi.js | 627 --- src/api/trackingConfigApi.js | 48 - src/api/userPreference.js | 31 - src/api/weightApi.js | 282 -- src/components/MarkdownContent.vue | 171 +- src/components/brain/OrchardDetailModal.vue | 475 -- src/components/brain/RightChartPanel.vue | 493 --- src/components/iframeView.vue | 21 +- src/components/tracing/BatchDetailModal.vue | 3871 ----------------- src/components/tracing/screen/CenterPanel.vue | 35 - .../tracing/screen/ColdStorageDetails.vue | 813 ---- .../tracing/screen/ColdStorageHumidity.vue | 328 -- .../tracing/screen/ColdStorageStockModal.vue | 573 --- .../tracing/screen/ColdStorageTemperature.vue | 298 -- .../tracing/screen/ColdStorageUtilization.vue | 134 - .../tracing/screen/ExportOrchard.vue | 232 - .../tracing/screen/ExportOrders.vue | 426 -- .../tracing/screen/FruitSizeChart.vue | 338 -- .../tracing/screen/GradingChart.vue | 471 -- .../tracing/screen/HarvestProgress.vue | 178 - src/components/tracing/screen/Header.vue | 70 - src/components/tracing/screen/LeftPanel.vue | 41 - .../tracing/screen/LogisticsMapZXNY.vue | 1101 ----- .../tracing/screen/LogisticsTrack.vue | 109 - src/components/tracing/screen/MapView.vue | 768 ---- src/components/tracing/screen/MonitorGrid.vue | 140 - .../tracing/screen/ProductionBatchModal.vue | 701 --- .../tracing/screen/ProductionStats.vue | 287 -- src/components/tracing/screen/RightPanel.vue | 341 -- .../screen/ScreenProductionBatchModal.vue | 626 --- .../tracing/screen/SoilHistoryTrendDialog.vue | 551 --- .../tracing/screen/WarehouseMonitor.vue | 81 - .../tracing/screen/players/EzvizFlvPlayer.vue | 282 -- .../screen/players/EzvizUIKitPlayer.vue | 138 - .../screen/players/ZLMediaKitPlayer.vue | 306 -- src/config/ezviz.example.js | 26 - src/config/ezviz.js | 27 - src/config/tracingOpenKey.js | 5 - src/layout/components/TopHeader.vue | 11 - src/main.js | 42 +- src/router/index.js | 197 +- src/store/getters.js | 17 +- src/store/modules/user.js | 10 +- src/styles/tracing-screen.scss | 76 - src/utils/ezvizConfig.js | 34 - src/utils/ezvizStream.js | 25 - src/utils/huobanAuth.js | 105 - src/utils/markdown.js | 60 - src/utils/request.js | 39 +- src/utils/tracingDisplay.js | 91 - src/utils/tracingPermission.js | 206 - src/utils/tracingQualPermission.js | 26 - src/utils/tracingTestCertificate.js | 79 - src/utils/wangEditConfig.js | 51 - src/views/PAGECODE.md | 72 - src/views/agreement/index.vue | 138 - src/views/brain/index.vue | 570 --- src/views/certify/index.vue | 723 --- src/views/certifyAgreement/index.vue | 139 - src/views/customer/index.vue | 11 +- src/views/customer/uiConfig.vue | 26 +- src/views/extLink/index.vue | 385 -- src/views/fei/cropAdd.vue | 438 -- src/views/fei/cropManagement.vue | 383 -- src/views/fei/cropPhenology.vue | 449 -- src/views/fei/deviceControl.vue | 294 -- src/views/fei/deviceControl/index.vue | 1371 ------ src/views/fei/deviceDataList.vue | 271 -- src/views/fei/deviceDataReport.vue | 227 - src/views/fei/dosingLog/index.vue | 239 - src/views/fei/farmCalendar/index.vue | 571 --- src/views/fei/farmPlan/index.vue | 474 -- src/views/fei/fertilizationFormula.vue | 792 ---- src/views/fei/inputMaterial/index.vue | 570 --- src/views/fei/inputMaterialStockLog.vue | 467 -- src/views/fei/inspectionItem.vue | 367 -- src/views/fei/inspectionRecord.vue | 771 ---- src/views/fei/irrigationRecord/index.vue | 242 -- src/views/fei/marketDevice.vue | 897 ---- src/views/fei/plotInfo.vue | 889 ---- src/views/fei/repairRecord.vue | 336 -- src/views/fei/screen/index.vue | 2660 ----------- src/views/fei/simulateData.vue | 319 -- src/views/fei/solenoidValve/index.vue | 744 ---- src/views/fertigationDevice/index.vue | 778 ---- src/views/home/index.vue | 14 +- src/views/huoban/dynamicForm.vue | 1682 ------- src/views/huoban/huobanFormList.vue | 131 - src/views/huoban/huobanFormRender.vue | 662 --- src/views/huoban/index.vue | 95 - src/views/huoban/spaceList.vue | 111 - src/views/huoban/tableColumn.vue | 417 -- src/views/huoban/tableInfo.vue | 275 -- src/views/irrigation/exec.vue | 311 -- src/views/irrigation/plan.vue | 741 ---- src/views/login/index.vue | 7 - src/views/park/index.vue | 749 ---- src/views/payment/index.vue | 106 - src/views/preference/index.vue | 74 - src/views/trace/category/index.vue | 189 - src/views/trace/certificate/index.vue | 285 -- src/views/trace/code/audit.vue | 118 - src/views/trace/code/bind.vue | 257 -- src/views/trace/code/exception.vue | 236 - src/views/trace/code/list.vue | 175 - src/views/trace/code/relation.vue | 175 - src/views/trace/code/task.vue | 266 -- src/views/trace/feedback/index.vue | 248 -- src/views/trace/harvest/index.vue | 273 -- src/views/trace/land/index.vue | 274 -- src/views/trace/process/index.vue | 288 -- src/views/trace/product/index.vue | 244 -- src/views/trace/qualification/index.vue | 240 - src/views/trace/quality/index.vue | 316 -- src/views/trace/recall/index.vue | 244 -- src/views/trace/warehouse/in.vue | 395 -- src/views/trace/warehouse/inventory.vue | 246 -- src/views/trace/warehouse/logistics.vue | 281 -- src/views/trace/warehouse/out.vue | 399 -- src/views/trace/warehouseLayout/index.vue | 933 ---- src/views/tracing/production-batch.vue | 675 --- src/views/tracing/route.vue | 946 ---- src/views/tracing/routeH5.vue | 868 ---- .../tracing/screen/LogisticsScreenZXNY.vue | 1458 ------- src/views/tracing/screen/index.vue | 59 - src/views/tracing/trace-detail-h5.vue | 3690 ---------------- src/views/tracking/configList.vue | 325 -- src/views/waterFertilizer/cameraInfo.vue | 580 --- src/views/web/index.vue | 69 - src/views/weight/alarmRule.vue | 321 -- src/views/weight/beidouAlarmRecord.vue | 158 - src/views/weight/beidouBorrowRecord.vue | 137 - src/views/weight/beidouBorrowRecordDetail.vue | 200 - src/views/weight/beidouCardManage.vue | 487 --- src/views/weight/beidouTrackingDetail.vue | 98 - src/views/weight/cardManage.vue | 216 - src/views/weight/deviceManage.vue | 410 -- src/views/weight/driverManage.vue | 172 - src/views/weight/receiptPrint.vue | 331 -- src/views/weight/ticket.vue | 1096 ----- src/views/weight/vehicleRecord.vue | 251 -- src/views/weight/workstation.vue | 831 ---- vue.config.js | 42 +- 176 files changed, 220 insertions(+), 60091 deletions(-) create mode 100644 README.md delete mode 100644 docs/AIHelp表单集成.md delete mode 100644 docs/Agent调用文档.md delete mode 100644 docs/proxy-config.md delete mode 100644 docs/solenoid-valve-api.md delete mode 100644 docs/solenoid-valve-insert.sql delete mode 100644 docs/solenoid-valve-log-ddl.sql delete mode 100644 publish.sh delete mode 100644 src/api/cameraInfo.js delete mode 100644 src/api/extLink.js delete mode 100644 src/api/farmPlan.js delete mode 100644 src/api/fei/crop.js delete mode 100644 src/api/fei/cropPhenology.js delete mode 100644 src/api/fei/deviceDataReport.js delete mode 100644 src/api/fei/fertilizationFormula.js delete mode 100644 src/api/fei/inputMaterialStockLog.js delete mode 100644 src/api/fei/marketDevice.js delete mode 100644 src/api/fei/plotInfo.js delete mode 100644 src/api/fei/repairRecord.js delete mode 100644 src/api/fei/solenoidValve.js delete mode 100644 src/api/fertigationDevice.js delete mode 100644 src/api/huobanTableApi.js delete mode 100644 src/api/inputMaterial.js delete mode 100644 src/api/inspection.js delete mode 100644 src/api/irrigation.js delete mode 100644 src/api/n8nApi.js delete mode 100644 src/api/park.js delete mode 100644 src/api/trace/warehouseFloorPlan.js delete mode 100644 src/api/traceabilityApi.js delete mode 100644 src/api/trackingConfigApi.js delete mode 100644 src/api/userPreference.js delete mode 100644 src/api/weightApi.js delete mode 100644 src/components/brain/OrchardDetailModal.vue delete mode 100644 src/components/brain/RightChartPanel.vue delete mode 100644 src/components/tracing/BatchDetailModal.vue delete mode 100644 src/components/tracing/screen/CenterPanel.vue delete mode 100644 src/components/tracing/screen/ColdStorageDetails.vue delete mode 100644 src/components/tracing/screen/ColdStorageHumidity.vue delete mode 100644 src/components/tracing/screen/ColdStorageStockModal.vue delete mode 100644 src/components/tracing/screen/ColdStorageTemperature.vue delete mode 100644 src/components/tracing/screen/ColdStorageUtilization.vue delete mode 100644 src/components/tracing/screen/ExportOrchard.vue delete mode 100644 src/components/tracing/screen/ExportOrders.vue delete mode 100644 src/components/tracing/screen/FruitSizeChart.vue delete mode 100644 src/components/tracing/screen/GradingChart.vue delete mode 100644 src/components/tracing/screen/HarvestProgress.vue delete mode 100644 src/components/tracing/screen/Header.vue delete mode 100644 src/components/tracing/screen/LeftPanel.vue delete mode 100644 src/components/tracing/screen/LogisticsMapZXNY.vue delete mode 100644 src/components/tracing/screen/LogisticsTrack.vue delete mode 100644 src/components/tracing/screen/MapView.vue delete mode 100644 src/components/tracing/screen/MonitorGrid.vue delete mode 100644 src/components/tracing/screen/ProductionBatchModal.vue delete mode 100644 src/components/tracing/screen/ProductionStats.vue delete mode 100644 src/components/tracing/screen/RightPanel.vue delete mode 100644 src/components/tracing/screen/ScreenProductionBatchModal.vue delete mode 100644 src/components/tracing/screen/SoilHistoryTrendDialog.vue delete mode 100644 src/components/tracing/screen/WarehouseMonitor.vue delete mode 100644 src/components/tracing/screen/players/EzvizFlvPlayer.vue delete mode 100644 src/components/tracing/screen/players/EzvizUIKitPlayer.vue delete mode 100644 src/components/tracing/screen/players/ZLMediaKitPlayer.vue delete mode 100644 src/config/ezviz.example.js delete mode 100644 src/config/ezviz.js delete mode 100644 src/config/tracingOpenKey.js delete mode 100644 src/styles/tracing-screen.scss delete mode 100644 src/utils/ezvizConfig.js delete mode 100644 src/utils/ezvizStream.js delete mode 100644 src/utils/huobanAuth.js delete mode 100644 src/utils/markdown.js delete mode 100644 src/utils/tracingDisplay.js delete mode 100644 src/utils/tracingPermission.js delete mode 100644 src/utils/tracingQualPermission.js delete mode 100644 src/utils/tracingTestCertificate.js delete mode 100644 src/utils/wangEditConfig.js delete mode 100644 src/views/PAGECODE.md delete mode 100644 src/views/agreement/index.vue delete mode 100644 src/views/brain/index.vue delete mode 100644 src/views/certify/index.vue delete mode 100644 src/views/certifyAgreement/index.vue delete mode 100644 src/views/extLink/index.vue delete mode 100644 src/views/fei/cropAdd.vue delete mode 100644 src/views/fei/cropManagement.vue delete mode 100644 src/views/fei/cropPhenology.vue delete mode 100644 src/views/fei/deviceControl.vue delete mode 100644 src/views/fei/deviceControl/index.vue delete mode 100644 src/views/fei/deviceDataList.vue delete mode 100644 src/views/fei/deviceDataReport.vue delete mode 100644 src/views/fei/dosingLog/index.vue delete mode 100644 src/views/fei/farmCalendar/index.vue delete mode 100644 src/views/fei/farmPlan/index.vue delete mode 100644 src/views/fei/fertilizationFormula.vue delete mode 100644 src/views/fei/inputMaterial/index.vue delete mode 100644 src/views/fei/inputMaterialStockLog.vue delete mode 100644 src/views/fei/inspectionItem.vue delete mode 100644 src/views/fei/inspectionRecord.vue delete mode 100644 src/views/fei/irrigationRecord/index.vue delete mode 100644 src/views/fei/marketDevice.vue delete mode 100644 src/views/fei/plotInfo.vue delete mode 100644 src/views/fei/repairRecord.vue delete mode 100644 src/views/fei/screen/index.vue delete mode 100644 src/views/fei/simulateData.vue delete mode 100644 src/views/fei/solenoidValve/index.vue delete mode 100644 src/views/fertigationDevice/index.vue delete mode 100644 src/views/huoban/dynamicForm.vue delete mode 100644 src/views/huoban/huobanFormList.vue delete mode 100644 src/views/huoban/huobanFormRender.vue delete mode 100644 src/views/huoban/index.vue delete mode 100644 src/views/huoban/spaceList.vue delete mode 100644 src/views/huoban/tableColumn.vue delete mode 100644 src/views/huoban/tableInfo.vue delete mode 100644 src/views/irrigation/exec.vue delete mode 100644 src/views/irrigation/plan.vue delete mode 100644 src/views/park/index.vue delete mode 100644 src/views/payment/index.vue delete mode 100644 src/views/preference/index.vue delete mode 100644 src/views/trace/category/index.vue delete mode 100644 src/views/trace/certificate/index.vue delete mode 100644 src/views/trace/code/audit.vue delete mode 100644 src/views/trace/code/bind.vue delete mode 100644 src/views/trace/code/exception.vue delete mode 100644 src/views/trace/code/list.vue delete mode 100644 src/views/trace/code/relation.vue delete mode 100644 src/views/trace/code/task.vue delete mode 100644 src/views/trace/feedback/index.vue delete mode 100644 src/views/trace/harvest/index.vue delete mode 100644 src/views/trace/land/index.vue delete mode 100644 src/views/trace/process/index.vue delete mode 100644 src/views/trace/product/index.vue delete mode 100644 src/views/trace/qualification/index.vue delete mode 100644 src/views/trace/quality/index.vue delete mode 100644 src/views/trace/recall/index.vue delete mode 100644 src/views/trace/warehouse/in.vue delete mode 100644 src/views/trace/warehouse/inventory.vue delete mode 100644 src/views/trace/warehouse/logistics.vue delete mode 100644 src/views/trace/warehouse/out.vue delete mode 100644 src/views/trace/warehouseLayout/index.vue delete mode 100644 src/views/tracing/production-batch.vue delete mode 100644 src/views/tracing/route.vue delete mode 100644 src/views/tracing/routeH5.vue delete mode 100644 src/views/tracing/screen/LogisticsScreenZXNY.vue delete mode 100644 src/views/tracing/screen/index.vue delete mode 100644 src/views/tracing/trace-detail-h5.vue delete mode 100644 src/views/tracking/configList.vue delete mode 100644 src/views/waterFertilizer/cameraInfo.vue delete mode 100644 src/views/web/index.vue delete mode 100644 src/views/weight/alarmRule.vue delete mode 100644 src/views/weight/beidouAlarmRecord.vue delete mode 100644 src/views/weight/beidouBorrowRecord.vue delete mode 100644 src/views/weight/beidouBorrowRecordDetail.vue delete mode 100644 src/views/weight/beidouCardManage.vue delete mode 100644 src/views/weight/beidouTrackingDetail.vue delete mode 100644 src/views/weight/cardManage.vue delete mode 100644 src/views/weight/deviceManage.vue delete mode 100644 src/views/weight/driverManage.vue delete mode 100644 src/views/weight/receiptPrint.vue delete mode 100644 src/views/weight/ticket.vue delete mode 100644 src/views/weight/vehicleRecord.vue delete mode 100644 src/views/weight/workstation.vue diff --git a/.gitignore b/.gitignore index 838009c..87f9d47 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,7 @@ .DS_Store -src/config/ezviz.local.js node_modules/ dist/ -saas-web/ +authon-web/ npm-debug.log* yarn-debug.log* yarn-error.log* @@ -17,7 +16,3 @@ tests/**/coverage/ *.ntvs* *.njsproj *.sln -.idea -/dist/ -/manager/ -manager.zip diff --git a/README.md b/README.md new file mode 100644 index 0000000..6f36105 --- /dev/null +++ b/README.md @@ -0,0 +1,105 @@ +# apes-Authon-Web + +> 纯净账权管理前端 — 从 saas-web 单体应用中剥离的账权模块前端,与后端 [apes-Authon](https://gitea.apescale.com/figmar/apes-Authon) 配合使用。 + +## 技术栈 + +- Vue 2.7 + Element UI 2.15 +- Vuex 3 + Vue Router 3 +- Axios + SCSS +- Monaco Editor (AI 工具编辑器) + +## 功能模块 + +| 模块 | 页面 | 说明 | +|------|------|------| +| 登录注册 | login, register | 短信登录 + 密码登录 + SSO | +| 用户管理 | user/ | 账号列表、编辑、信息、改密、SSO 配置 | +| 客户管理 | customer/ | 客户列表、详情、编辑、员工、套餐、配额 | +| 权限管理 | permission/ | 菜单管理、权限项、角色管理 | +| 应用管理 | app/ | 应用列表、详情 | +| 系统配置 | system/ | 组织架构、操作日志、配额、套餐方案 | +| AI/LLM | system/llmModel/, system/llmAgent/, system/aiHelper/, ai/ | 模型配置、Agent 管理、工具管理、对话、日志 | +| AccessToken | customer/accessToken | API 令牌管理 | + +## 项目结构 + +``` +apes-Authon-Web/ +├── docs/ # 方案文档 +├── public/ # 静态资源 +├── src/ +│ ├── api/ # API 接口(19 个) +│ ├── assets/ # 图片资源 +│ ├── components/ # 公共组件(含 AI 助手) +│ ├── layout/ # 布局组件(侧栏、顶栏、标签页) +│ ├── router/ # 路由配置 +│ ├── store/ # Vuex 状态管理 +│ ├── styles/ # 全局样式 +│ ├── utils/ # 工具函数 +│ └── views/ # 页面 +│ ├── login/ # 登录 +│ ├── register/ # 注册 +│ ├── user/ # 用户管理 +│ ├── permission/ # 权限管理 +│ ├── customer/ # 客户管理 +│ ├── app/ # 应用管理 +│ ├── system/ # 系统配置 + AI/LLM 配置 +│ ├── ai/ # AI 工具管理 +│ ├── home/ # 首页看板 +│ └── 404.vue # 404 页面 +├── package.json +├── vue.config.js +└── README.md +``` + +## 开发 + +```bash +# 安装依赖 +npm install + +# 启动开发服务器 +npm run dev + +# 构建生产版本 +npm run build:prod +``` + +## 与后端对应关系 + +| 后端 (apes-Authon) | 前端 (apes-Authon-Web) | +|---|---| +| UserController | views/user/ | +| PermissionController | views/permission/ | +| CustomerController | views/customer/ | +| AppController | views/app/ | +| AccessTokenController | views/customer/accessToken.vue | +| SSOController | views/user/sso.vue, views/login/ | +| CustomerPackageController | views/customer/packages.vue | +| SysOrganizationController | views/system/organization/ | +| SysOperationLogController | views/system/operationlog/ | +| SysQuotaController | views/system/quota/ | +| SysPackagePlanController | views/system/packagePlan/ | +| LlmModelConfigController | views/system/llmModel/ | +| LlmAgentConfigController | views/system/llmAgent/ | +| AiController | views/system/aiHelper/ | +| LlmToolController | views/ai/tool.vue | +| LlmChatController | views/ai/chat.vue | +| LlmConversationController | views/ai/conversationHistory.vue | + +## 剥离说明 + +本项目从 saas-web 单体前端中剥离,移除了以下业务模块: +- 智慧农业大屏 (fei) +- 溯源管理 (trace, tracing) +- 自助过磅 (weight) +- 灌溉管理 (irrigation) +- 伙伴云表单 (huoban) — 后续 Phase 5C 代办 +- 其他业务页面 (brain, certify, payment, park 等) + +详细方案见 `docs/apes-Authon-Web-剥离方案.md` + +## License + +MIT diff --git a/docs/AIHelp表单集成.md b/docs/AIHelp表单集成.md deleted file mode 100644 index 820b112..0000000 --- a/docs/AIHelp表单集成.md +++ /dev/null @@ -1,618 +0,0 @@ -# AI Helper 表单集成文档 - -## 概述 - -AI Helper 是一个可全局集成的 AI 对话组件,支持两种展示模式: - -- **图标模式(icon)**:悬浮图标 + 可拖拽弹框,默认展示在页面右下角 -- **输入框模式(input)**:将对话输入框直接嵌入到页面指定位置,无弹框、无关闭按钮 - -两种模式均支持文本输入、图片上传、视频上传,输入框会根据内容自动调整高度。 - ---- - -## 快速开始 - -### 1. 引入组件 - -```vue - - - -``` - ---- - -## Props 参数 - -| 参数 | 类型 | 必填 | 默认值 | 说明 | -|------|------|------|--------|------| -| agent_id | String/Number | 是 | - | Agent 配置 ID,用于加载对应的 Agent 配置 | -| user_prompt | String | 否 | '' | 用户提示词,提供上下文数据,调用大模型时作为额外上下文传递 | -| display | String | 否 | 'icon' | 展示模式:`icon`(悬浮图标+弹框)/ `input`(嵌入式输入框) | -| input_title | String | 否 | '' | 输入框标题,显示在输入框上方,用于说明输入内容的用途 | -| default_input | String | 否 | '' | 默认的用户输入文案,组件初始化时自动填充到输入框中 | - ---- - -## Events 事件 - -| 事件名 | 参数 | 说明 | -|--------|------|------| -| result | Object | 大模型返回结果时触发 | - -### result 事件数据结构 - -```javascript -{ - content: '返回的文本内容', // String - 原始返回内容 - tokens: { // Object - Token 统计 - total: 150, - prompt: 100, - completion: 50 - }, - contentObject: {}, // Object - JSON 格式返回内容(仅 outputType 为 json 时) - agentId: '1', // String/Number - 当前 Agent ID - timestamp: '2026-06-26T17:00:00.000Z' // String - 时间戳 -} -``` - ---- - -## 展示模式说明 - -### 模式 1:图标模式(display="icon") - -默认模式。页面右下角显示一个悬浮图标,点击后弹出可拖拽的对话弹框。 - -- 悬浮图标可拖拽移动 -- 弹框可拖拽移动,带标题栏和关闭按钮 -- 弹框内包含统一输入框(文本 + 上传) - -```vue - - - - -``` - -### 模式 2:输入框模式(display="input") - -将对话输入框直接嵌入到页面中组件放置的位置,没有悬浮图标、没有弹框、没有关闭按钮。 - -- 组件挂载后自动加载 Agent 信息(无需点击) -- 统一输入框直接显示在页面中 -- 文本输入区域根据内容自动增高(最小 3 行,最大 200px 后滚动) -- 支持图片/视频上传图标(根据 Agent 配置自动显示) - -```vue - -``` - -### 统一输入框结构 - -两种模式共用同一个输入框设计,将文本输入、图片上传、视频上传整合为一个区域: - -``` -┌─────────────────────────────────┐ -│ [已上传的图片/视频预览] │ -│ │ -│ 请输入内容... │ -│ │ -│ 📷 🎬 [发送] │ -└─────────────────────────────────┘ -``` - -- 文本区域:自动高度,最小 3 行(66px),最大 200px 后出现滚动条 -- 左下角:图片上传 📷 和视频上传 🎬 图标按钮(根据 Agent 配置显示) -- 右下角:发送按钮 -- 已上传文件在输入框顶部以缩略图形式预览,支持点击删除 - ---- - -## 基础集成示例 - -### 示例 1:最简集成(图标模式) - -```vue - - - -``` - -### 示例 2:监听返回结果 - -```vue - - - -``` - -### 示例 3:传递上下文数据 - -```vue - - - -``` - -### 示例 4:输入框模式嵌入表单 - -将 AI 输入框直接嵌入到表单页面中,作为页面的一部分,而非悬浮弹框: - -```vue - - - -``` - -### 示例 5:表单场景完整集成(图标模式) - -```vue - - - -``` - -### 示例 6:使用输入框标题和默认文案 - -在 input 模式下,可以使用 `input_title` 和 `default_input` 参数来优化用户体验: - -```vue - - - -``` - -**参数说明:** -- `input_title="智能施肥方案生成"`:在输入框上方显示标题,帮助用户理解该输入框的用途 -- `default_input="请根据选择的作物和物候期,制定科学的施肥方案"`:组件初始化时自动填充到输入框,用户可以在此基础上修改或直接发送 - ---- - -## 组件功能说明 - -| 功能 | 说明 | -|------|------| -| 悬浮图标 | icon 模式下显示在页面右下角,可拖拽移动 | -| 对话弹框 | icon 模式下点击图标打开,可拖拽移动,无遮罩层 | -| 嵌入式输入框 | input 模式下直接嵌入页面,无弹框无关闭按钮 | -| 统一输入框 | 文本输入 + 图片上传 + 视频上传整合为一个输入区域 | -| 自动高度 | 文本输入区域根据内容自动增高,最小 3 行,最大 200px | -| 图片上传 | 根据 Agent 配置 `supportImage` 自动显示上传图标 | -| 视频上传 | 根据 Agent 配置 `supportVideo` 自动显示上传图标 | -| 文件预览 | 已上传的图片/视频在输入框顶部以缩略图预览,支持删除 | -| 结果输出 | 调用成功后通过 `@result` 事件抛出 | - ---- - -## 表单快速填充场景 - -### 场景说明 - -在业务系统中,很多表单需要用户手动填写大量字段。通过集成 AI Helper(Agent ID = 4),可以实现表单快速填充: - -1. 用户通过 AI 对话描述需求(如"帮我填一个客户信息,张三,电话 13800138000") -2. AI 分析用户输入,返回 JSON 格式的表单数据 -3. 前端监听 `@result` 事件,将返回的 JSON 数据自动回填到表单中 - -### 接入步骤 - -#### 步骤 1:整理表单字段信息 - -整理目标表单的所有字段,包含以下信息: - -| 属性名 | 类型 | 含义 | -|--------|------|------| -| 字段名 | 数据类型 | 字段说明 | - -例如: -| 属性名 | 类型 | 含义 | -|--------|------|------| -| plateNumber | String | 车牌号 | -| vehicleType | String | 车型 | -| driverId | Long | 司机ID | - -#### 步骤 2:构建 user_prompt - -将字段信息告诉 AI,让它知道需要返回什么格式: - -```javascript -computed: { - aiPrompt() { - return `请根据用户描述填充表单,返回 JSON 格式: -{ - "plateNumber": "车牌号", - "vehicleType": "车型", - "driverId": 司机ID -} -只返回 JSON,不要其他内容。` - } -} -``` - -#### 步骤 3:集成组件并处理回调 - -```vue - - - -``` - -### 关键点 - -1. **Agent ID = 4**:表单快速填充固定使用 -2. **字段说明要清晰**:告诉 AI 字段名、类型、含义 -3. **返回 JSON 格式**:Agent 的 outputType 必须配置为 json -4. **自动回填**:根据返回的 JSON key 匹配表单字段名 - ---- - -## 注意事项 - -1. **Agent ID 必须有效**:确保传入的 `agent_id` 在后端 `llm_agent_config` 表中存在且状态为启用 -2. **user_prompt 为可选**:不传则仅使用 Agent 配置的系统提示词和用户提示词模板 -3. **结果格式**:根据 Agent 的 `outputType` 配置,`contentObject` 仅在 `outputType=json` 时有值 -4. **组件位置**: - - icon 模式:建议放在页面模板的最外层或 `page-box` 内部,确保悬浮层级正确 - - input 模式:放在表单或内容区域中需要嵌入输入框的位置即可 -5. **Token 统计**:每次调用会返回 Token 消耗统计,可用于成本监控 -6. **display 模式选择**: - - icon 模式适合全局辅助工具,用户按需打开 - - input 模式适合 AI 驱动的业务页面,输入框作为页面核心功能的一部分 - ---- - -## 前置条件 - -- 需要在后台 Agent 管理中配置好对应的 Agent(系统提示词、模型等) -- 确保 `/static/ai_helper.png` 和 `/static/ai_helper_bai.png` 图标文件存在 diff --git a/docs/Agent调用文档.md b/docs/Agent调用文档.md deleted file mode 100644 index 1a07b3d..0000000 --- a/docs/Agent调用文档.md +++ /dev/null @@ -1,40 +0,0 @@ -# Agent 调用文档 - -## 调用 Agent - -```javascript -import llmAgentApi from '@/api/llmAgentApi' - -llmAgentApi.callAgent(agentId, { - userParams: { - input: '用户输入内容', - imageUrls: ['https://example.com/img1.jpg'], // 可选,图片 URL 列表 - videoUrls: ['https://example.com/video1.mp4'] // 可选,视频 URL 列表 - } -}) -``` - -### 返回 - -```javascript -{ - code: 1, - data: { - content: '模型输出内容', - tokens: { prompt: 100, completion: 200, total: 300 } - } -} -``` - ---- - -## 图片/视频上传 - -先通过公共接口上传文件获取 URL: - -```javascript -// 上传接口:POST /api/user-service/common/upload -// 返回:{ code: 1, data: 'https://oss.example.com/file.jpg' } -``` - -再将 URL 放入 `imageUrls` 或 `videoUrls` 数组传给 `callAgent`。 diff --git a/docs/proxy-config.md b/docs/proxy-config.md deleted file mode 100644 index 85e23f6..0000000 --- a/docs/proxy-config.md +++ /dev/null @@ -1,83 +0,0 @@ -# 前端代理配置说明 - -## 当前 Vue 开发环境代理配置 - -```javascript -// vue.config.js -devServer: { - proxy: { - '/api/user-service': { - target: 'https://cloud.zhangquyun.com/api/user-service', - changeOrigin: true, - pathRewrite: { - '^/api/user-service': '/' - } - }, - '/n8n': { - target: 'https://n8n.ccoop.cc', - changeOrigin: true, - pathRewrite: { - '^/n8n': '' - } - } - } -} -``` - -## Nginx 代理配置 - -```nginx -server { - listen 80; - server_name your-domain.com; - - # 前端静态资源 - root /path/to/saas-web/dist; - index index.html; - - # API 代理 - 用户服务 - location /api/user-service/ { - proxy_pass https://cloud.zhangquyun.com/; - proxy_set_header Host cloud.zhangquyun.com; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - # SSL 相关 - proxy_ssl_server_name on; - proxy_ssl_name cloud.zhangquyun.com; - } - - # n8n 工作流代理 - location /n8n/ { - proxy_pass https://n8n.ccoop.cc/; - proxy_set_header Host n8n.ccoop.cc; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - # SSL 相关 - proxy_ssl_server_name on; - proxy_ssl_name n8n.ccoop.cc; - } - - # 前端路由 - SPA 模式 - location / { - try_files $uri $uri/ /index.html; - } -} -``` - -## 代理规则说明 - -| 前端请求路径 | 代理目标 | 重写后路径 | -|------------|---------|-----------| -| `/api/user-service/customer/getCurrentUser` | `https://cloud.zhangquyun.com` | `/customer/getCurrentUser` | -| `/n8n/api/v1/workflows` | `https://n8n.ccoop.cc` | `/api/v1/workflows` | - -## 注意事项 - -1. **路径重写**:Vue 的 `pathRewrite: { '^/api/user-service': '/' }` 会把 `/api/user-service/xxx` 变成 `/xxx` -2. **SSL 代理**:目标地址是 HTTPS,需要配置 `proxy_ssl_server_name on` -3. **Host 头**:必须设置正确的 Host 头,否则后端可能拒绝请求 -4. **CORS**:如果前端和 API 不在同一域名,需要配置 CORS 或使用代理 diff --git a/docs/solenoid-valve-api.md b/docs/solenoid-valve-api.md deleted file mode 100644 index d8fdc25..0000000 --- a/docs/solenoid-valve-api.md +++ /dev/null @@ -1,202 +0,0 @@ -# 电磁阀管理接口文档 - -## 接口前缀 -`/api/user-service/fei/solenoid/valve` - -## 1. 分页查询电磁阀列表 - -**请求方式**: POST -**请求路径**: `/page` - -### 请求参数 -```json -{ - "pageIndex": 1, // 页码(必填) - "pageSize": 10, // 每页数量(必填) - "valveName": "电磁阀A", // 阀门名称(模糊查询,可选) - "valveCode": "SV-001", // 阀门编号(精确查询,可选) - "parkId": 1, // 园区ID(可选) - "plotId": 1, // 地块ID(可选) - "valveStatus": 0, // 阀门状态 0-关闭 1-开启(可选) - "onlineStatus": 1 // 在线状态 0-离线 1-在线(可选) -} -``` - -### 响应示例 -```json -{ - "code": 1, - "msg": "ok", - "data": { - "records": [ - { - "id": 1, - "valveName": "电磁阀A01", - "valveCode": "SV-2026-001", - "parkId": 1, - "plotId": 1, - "longitude": 108.365432, - "latitude": 22.842156, - "installLocation": "A区1号地块入口", - "valveStatus": 0, - "onlineStatus": 1, - "lastActionTime": null, - "remark": "测试数据1", - "parkName": "示例园区", - "plotName": "A3", - "createTime": "2026-07-07 20:52:25", - "updateTime": "2026-07-07 20:52:25", - "isDel": 0 - } - ], - "total": 2, - "size": 10, - "current": 1, - "pages": 1 - } -} -``` - -## 2. 查询电磁阀详情 - -**请求方式**: POST -**请求路径**: `/detail` - -### 请求参数 -```json -{ - "id": 1 // 电磁阀ID(必填) -} -``` - -### 响应示例 -```json -{ - "code": 1, - "msg": "ok", - "data": { - "id": 1, - "valveName": "电磁阀A01", - "valveCode": "SV-2026-001", - "parkId": 1, - "plotId": 1, - "longitude": 108.365432, - "latitude": 22.842156, - "installLocation": "A区1号地块入口", - "valveStatus": 0, - "onlineStatus": 1, - "lastActionTime": null, - "remark": "测试数据1", - "parkName": "示例园区", - "plotName": "A3", - "createTime": "2026-07-07 20:52:25", - "updateTime": "2026-07-07 20:52:25", - "isDel": 0 - } -} -``` - -## 3. 新增电磁阀 - -**请求方式**: POST -**请求路径**: `/add` - -### 请求参数 -```json -{ - "valveName": "电磁阀A01", // 阀门名称(必填) - "valveCode": "SV-2026-001", // 阀门编号(必填,唯一) - "parkId": 1, // 园区ID(必填) - "plotId": 1, // 地块ID(可选) - "longitude": 108.365432, // 经度(可选) - "latitude": 22.842156, // 纬度(可选) - "installLocation": "A区1号地块入口", // 安装位置描述(可选) - "valveStatus": 0, // 阀门状态 0-关闭 1-开启(可选,默认0) - "onlineStatus": 1, // 在线状态 0-离线 1-在线(可选,默认0) - "remark": "备注信息" // 备注(可选) -} -``` - -### 响应示例 -```json -{ - "code": 1, - "msg": "ok", - "data": null -} -``` - -## 4. 更新电磁阀 - -**请求方式**: POST -**请求路径**: `/update` - -### 请求参数 -```json -{ - "id": 1, // 电磁阀ID(必填) - "valveName": "电磁阀A01-修改", // 阀门名称(可选) - "valveCode": "SV-2026-001", // 阀门编号(可选,唯一) - "parkId": 1, // 园区ID(可选) - "plotId": 1, // 地块ID(可选) - "longitude": 108.365500, // 经度(可选) - "latitude": 22.842200, // 纬度(可选) - "installLocation": "新位置", // 安装位置描述(可选) - "valveStatus": 1, // 阀门状态 0-关闭 1-开启(可选) - "onlineStatus": 1, // 在线状态 0-离线 1-在线(可选) - "remark": "更新后的备注" // 备注(可选) -} -``` - -### 响应示例 -```json -{ - "code": 1, - "msg": "ok", - "data": null -} -``` - -## 5. 删除电磁阀 - -**请求方式**: POST -**请求路径**: `/delete` - -### 请求参数 -```json -{ - "id": 1 // 电磁阀ID(必填) -} -``` - -### 响应示例 -```json -{ - "code": 1, - "msg": "ok", - "data": null -} -``` - -## 字段说明 - -### 电磁阀字段 -| 字段名 | 类型 | 说明 | -|--------|------|------| -| id | Long | 主键ID | -| valveName | String | 阀门名称 | -| valveCode | String | 阀门编号(唯一) | -| parkId | Long | 园区ID | -| plotId | Long | 地块ID | -| longitude | BigDecimal | 经度 | -| latitude | BigDecimal | 纬度 | -| installLocation | String | 安装位置描述 | -| valveStatus | Integer | 阀门状态 0-关闭 1-开启 | -| onlineStatus | Integer | 在线状态 0-离线 1-在线 | -| lastActionTime | Date | 最后操作时间 | -| remark | String | 备注 | -| parkName | String | 园区名称(非数据库字段,用于展示) | -| plotName | String | 地块名称(非数据库字段,用于展示) | -| createTime | Date | 创建时间 | -| updateTime | Date | 更新时间 | -| isDel | Integer | 逻辑删除 0-正常 1-删除 | diff --git a/docs/solenoid-valve-insert.sql b/docs/solenoid-valve-insert.sql deleted file mode 100644 index 7870038..0000000 --- a/docs/solenoid-valve-insert.sql +++ /dev/null @@ -1,32 +0,0 @@ --- 电磁阀数据批量插入 --- 生成时间: 2026-07-07 21:13 --- 数据来源: 设备接口返回的26个电磁阀 --- 说明: did 为控制器设备ID(全部相同), valve_code 使用 did-index 组合保证唯一 - -INSERT INTO fei_solenoid_valve (valve_name, valve_code, park_id, plot_id, longitude, latitude, install_location, valve_status, online_status, last_action_time, remark, is_del, create_time, update_time) VALUES -('电磁阀-1', '864865086276673-1', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-2', '864865086276673-2', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-3', '864865086276673-3', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-4', '864865086276673-4', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-5', '864865086276673-5', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-6', '864865086276673-6', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-7', '864865086276673-7', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-8', '864865086276673-8', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-9', '864865086276673-9', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-10', '864865086276673-10', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-11', '864865086276673-11', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-12', '864865086276673-12', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-13', '864865086276673-13', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-14', '864865086276673-14', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-15', '864865086276673-15', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-16', '864865086276673-16', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-17', '864865086276673-17', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-18', '864865086276673-18', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-19', '864865086276673-19', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-20', '864865086276673-20', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-21', '864865086276673-21', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-22', '864865086276673-22', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-23', '864865086276673-23', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-24', '864865086276673-24', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-25', '864865086276673-25', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()), -('电磁阀-26', '864865086276673-26', 1, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL, 0, NOW(), NOW()); diff --git a/docs/solenoid-valve-log-ddl.sql b/docs/solenoid-valve-log-ddl.sql deleted file mode 100644 index f2b94b0..0000000 --- a/docs/solenoid-valve-log-ddl.sql +++ /dev/null @@ -1,23 +0,0 @@ --- 电磁阀灌溉记录表 -CREATE TABLE `fei_solenoid_valve_log` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `valve_id` bigint(20) NOT NULL COMMENT '电磁阀ID', - `valve_code` varchar(64) DEFAULT NULL COMMENT '阀门编号', - `park_id` bigint(20) DEFAULT NULL COMMENT '所属园区ID', - `plot_id` bigint(20) DEFAULT NULL COMMENT '所属地块ID', - `flow_rate` decimal(10,2) DEFAULT NULL COMMENT '流量(立方米/小时)', - `start_time` datetime NOT NULL COMMENT '开始灌溉时间', - `end_time` datetime DEFAULT NULL COMMENT '结束灌溉时间', - `duration_minutes` int(11) DEFAULT NULL COMMENT '灌溉时长(分钟)', - `total_water` decimal(10,2) DEFAULT NULL COMMENT '总灌溉量(立方米)', - `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态 0-未关阀 1-已关阀', - `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `is_del` tinyint(1) DEFAULT '0' COMMENT '逻辑删除 0-正常 1-删除', - PRIMARY KEY (`id`), - KEY `idx_valve_id` (`valve_id`), - KEY `idx_park_id` (`park_id`), - KEY `idx_plot_id` (`plot_id`), - KEY `idx_status` (`status`), - KEY `idx_start_time` (`start_time`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='电磁阀灌溉记录表'; diff --git a/package.json b/package.json index 4207dc2..484499e 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { - "name": "saas-web", + "name": "apes-Authon-Web", "version": "1.0.0", - "description": "", - "author": "zhangqu group", + "description": "apes-Authon 纯净账权管理前端", + "author": "apescale", "scripts": { "dev": "vue-cli-service serve ", "build:prod": "vue-cli-service build", @@ -10,27 +10,16 @@ "preview": "node build/index.js --preview" }, "dependencies": { - "@amap/amap-jsapi-loader": "^1.0.1", - "@wangeditor/editor": "^5.1.23", - "@wangeditor/editor-for-vue": "^1.0.2", "animate.css": "^4.1.1", "axios": "0.18.1", "core-js": "3.6.5", - "echarts": "^5.4.1", "element-ui": "^2.15.13", - "fix": "0.0.6", "highlight.js": "^11.11.1", - "html2canvas": "^1.4.1", - "jspdf": "^2.5.1", "marked": "^4.3.0", "monaco-editor": "^0.30.1", - "monaco-editor-webpack-plugin": "^6.0.0", "normalize.css": "7.0.0", "nprogress": "0.2.0", "path-to-regexp": "2.4.0", - "qrcodejs2": "^0.0.2", - "them": "0.0.4", - "to": "^0.2.9", "vue": "^2.7.14", "vue-monaco": "^1.1.0", "vue-router": "^3.5.2", diff --git a/public/index.html b/public/index.html index 789dba2..e7acf34 100644 --- a/public/index.html +++ b/public/index.html @@ -6,11 +6,11 @@ - <%= webpackConfig.name %> + apes-Authon
@@ -18,14 +18,6 @@ - - - - - diff --git a/publish.sh b/publish.sh deleted file mode 100644 index 912f703..0000000 --- a/publish.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash -set -e - -export NODE_HOME=/data/tools/node-16 -export PATH=$NODE_HOME/bin:$PATH - -cd /data/saas-web || exit - -# ========== 更新最新代码(先检查冲突,无冲突才更新) ========== -echo "检查最新代码更新..." -BRANCH=$(git rev-parse --abbrev-ref HEAD) -if ! git fetch origin "$BRANCH"; then - echo "拉取远程分支失败,终止部署" - exit 1 -fi -LOCAL_HEAD=$(git rev-parse HEAD) -REMOTE_HEAD=$(git rev-parse "origin/$BRANCH") -if [ "$LOCAL_HEAD" = "$REMOTE_HEAD" ]; then - echo "本地代码已是最新,无需更新" -else - echo "本地与远程不一致,先进行冲突检测..." - if git merge --no-commit --no-ff "origin/$BRANCH" > /tmp/git_merge_check.log 2>&1; then - git merge --abort >/dev/null 2>&1 || true - echo "无冲突,开始更新代码..." - if ! git pull origin "$BRANCH"; then - echo "代码更新失败,终止部署" - exit 1 - fi - echo "代码更新完成" - else - echo "!!! 检测到冲突(或本地未提交修改阻止更新),详情:" - cat /tmp/git_merge_check.log - CONFLICT_FILES=$(git diff --name-only --diff-filter=U 2>/dev/null) - if [ -n "$CONFLICT_FILES" ]; then - echo "冲突文件列表:" - echo "$CONFLICT_FILES" - fi - git merge --abort >/dev/null 2>&1 || true - echo "存在冲突,终止更新并退出部署" - exit 1 - fi -fi - -echo '开始安装依赖' -/data/tools/node-16/bin/npm --registry=http://registry.npmmirror.com install -echo '开始构建' -/data/tools/node-16/bin/npm --registry=http://registry.npmmirror.com run build:prod -zip -r saas-web.zip saas-web -echo '开始传输..' -scp -P 22 -o "ProxyCommand ssh -W %h:%p root@47.115.213.168" saas-web.zip root@192.168.1.158:/data/services/saas-web.zip -echo "开始替换..." -ssh -p 22 -o "ProxyCommand ssh -W %h:%p root@47.115.213.168" root@192.168.1.158 "cd /data/services; unzip -o saas-web.zip" -echo "上线成功...." -rm -rf saas-web -rm -rf saas-web.zip -echo "上线完毕...." diff --git a/src/api/cameraInfo.js b/src/api/cameraInfo.js deleted file mode 100644 index 488acef..0000000 --- a/src/api/cameraInfo.js +++ /dev/null @@ -1,40 +0,0 @@ -import request from '@/utils/request' - -const BASE_URL = '/api/user-service' - -export default { - // 分页查询 - getPage(params) { - return request.apiGet(`${BASE_URL}/cameraInfo/page`, params) - }, - - // 查询详情 - getDetail(id) { - return request.apiGet(`${BASE_URL}/cameraInfo/detail`, { id }) - }, - - // 新增 - add(data) { - return request.apiPost(`${BASE_URL}/cameraInfo/add`, data) - }, - - // 编辑 - update(data) { - return request.apiPost(`${BASE_URL}/cameraInfo/update`, data) - }, - - // 删除 - delete(id) { - return request.apiPost(`${BASE_URL}/cameraInfo/delete?id=${id}`) - }, - - // 抓图 - capture(id) { - return request.apiPost(`${BASE_URL}/cameraInfo/capture?id=${id}`) - }, - - // 查询抓拍记录 - getCaptureLogs(cameraId, pageIndex, pageSize) { - return request.apiGet(`/api/user-service/cameraCaptureLog/page`, { cameraId, pageIndex, pageSize }) - } -} diff --git a/src/api/extLink.js b/src/api/extLink.js deleted file mode 100644 index 8365532..0000000 --- a/src/api/extLink.js +++ /dev/null @@ -1,26 +0,0 @@ -import request from '@/utils/request' - -const BASE_URL = '/api/user-service/extLink' - -export default { - // 分页查询 - getPage(params) { - return request.apiGet(`${BASE_URL}/page`, params) - }, - // 查询详情 - getDetail(id) { - return request.apiGet(`${BASE_URL}/detail`, { id }) - }, - // 新增 - add(data) { - return request.apiPost(`${BASE_URL}/add`, data) - }, - // 编辑 - update(data) { - return request.apiPost(`${BASE_URL}/update`, data) - }, - // 删除 - delete(id) { - return request.apiPost(`${BASE_URL}/delete?id=${id}`) - } -} diff --git a/src/api/farmPlan.js b/src/api/farmPlan.js deleted file mode 100644 index 3fc31f6..0000000 --- a/src/api/farmPlan.js +++ /dev/null @@ -1,47 +0,0 @@ -import request from '@/utils/request' - -const BASE_URL = '/api/user-service/farm-plan' - -export default { - // 分页查询 - getPage(params) { - return request.apiGet(`${BASE_URL}/page`, params) - }, - - // 查询详情 - getDetail(id) { - return request.apiGet(`${BASE_URL}/detail`, { id }) - }, - - // 新增 - add(data) { - return request.apiPost(`${BASE_URL}/add`, data) - }, - - // 编辑 - update(data) { - return request.apiPost(`${BASE_URL}/update`, data) - }, - - // 删除 - delete(id) { - return request.apiPost(`${BASE_URL}/delete`, null, { params: { id } }) - }, - - // 查询今日生效的农事计划 - getToday(parkId) { - return request.apiGet(`${BASE_URL}/today`, { parkId }) - }, - - // 更新农事计划状态 - updateStatus(id, status) { - return request.apiPost(`${BASE_URL}/updateStatus?id=${id}&status=${status}`) - }, - - // 按月查询农事计划(日历视图) - getMonth(year, month, parkId) { - const params = { year, month } - if (parkId) params.parkId = parkId - return request.apiGet(`${BASE_URL}/month`, params) - } -} diff --git a/src/api/fei/crop.js b/src/api/fei/crop.js deleted file mode 100644 index 33486ba..0000000 --- a/src/api/fei/crop.js +++ /dev/null @@ -1,39 +0,0 @@ -import request from '@/utils/request' - -class cropApi { - // 分页查询作物列表 - static page(pageIndex = 1, pageSize = 20, name, categoryId, status) { - let url = `/api/user-service/fei/crop/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (name) url += '&name=' + name - if (categoryId) url += '&categoryId=' + categoryId - if (status !== null && status !== undefined) url += '&status=' + status - return request.apiPost(url) - } - - // 获取作物详情 - static detail(id) { - return request.apiGet(`/api/user-service/fei/crop/detail?id=${id}`) - } - - // 新增作物 - static add(data) { - return request.apiPost('/api/user-service/fei/crop/add', data) - } - - // 修改作物 - static update(data) { - return request.apiPost('/api/user-service/fei/crop/update', data) - } - - // 删除作物 - static delete(id) { - return request.apiPost(`/api/user-service/fei/crop/delete?id=${id}`) - } - - // 获取所有启用作物(下拉选择用) - static list() { - return request.apiGet('/api/user-service/fei/crop/list') - } -} - -export default cropApi diff --git a/src/api/fei/cropPhenology.js b/src/api/fei/cropPhenology.js deleted file mode 100644 index 86cb44a..0000000 --- a/src/api/fei/cropPhenology.js +++ /dev/null @@ -1,33 +0,0 @@ -import request from '@/utils/request' - -class cropPhenologyApi { - static page(pageIndex = 1, pageSize = 20, cropId, phenologyName, status) { - let url = `/api/user-service/fei/crop/phenology/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (cropId) url += `&cropId=${cropId}` - if (phenologyName) url += `&phenologyName=${encodeURIComponent(phenologyName)}` - if (status !== undefined && status !== null) url += `&status=${status}` - return request.apiPost(url) - } - - static listByCropId(cropId) { - return request.apiGet(`/api/user-service/fei/crop/phenology/list?cropId=${cropId}`) - } - - static detail(id) { - return request.apiGet(`/api/user-service/fei/crop/phenology/detail?id=${id}`) - } - - static add(data) { - return request.apiPost('/api/user-service/fei/crop/phenology/add', data) - } - - static update(data) { - return request.apiPost('/api/user-service/fei/crop/phenology/update', data) - } - - static delete(id) { - return request.apiPost(`/api/user-service/fei/crop/phenology/delete?id=${id}`) - } -} - -export default cropPhenologyApi diff --git a/src/api/fei/deviceDataReport.js b/src/api/fei/deviceDataReport.js deleted file mode 100644 index e26c38e..0000000 --- a/src/api/fei/deviceDataReport.js +++ /dev/null @@ -1,60 +0,0 @@ -import request from '@/utils/request' - -export default { - /** - * 分页查询数据上报列表 - */ - page(pageIndex, pageSize, params) { - const data = { pageIndex, pageSize, ...params } - return request.apiPost('/api/user-service/fei/device/data/report/page', data) - }, - - /** - * 查询数据上报详情 - */ - detail(id) { - return request.apiPost('/api/user-service/fei/device/data/report/detail', { id }) - }, - - /** - * 新增数据上报记录 - */ - add(data) { - return request.apiPost('/api/user-service/fei/device/data/report/add', data) - }, - - /** - * 更新数据上报记录 - */ - update(data) { - return request.apiPost('/api/user-service/fei/device/data/report/update', data) - }, - - /** - * 删除数据上报记录 - */ - delete(id) { - return request.apiPost('/api/user-service/fei/device/data/report/delete', { id }) - }, - - /** - * 根据设备ID查询数据列表(图表展示) - */ - chartData(deviceId, limit) { - return request.apiPost('/api/user-service/fei/device/data/report/chart', { deviceId, limit }) - }, - - /** - * 批量查询设备最新上报数据 - */ - getLatest(deviceIds) { - return request.apiGet('/api/user-service/fei/device/data/report/latest', { deviceIds }) - }, - - /** - * 生成模拟数据 - */ - simulate(data) { - return request.apiPost('/api/user-service/fei/device/data/report/simulate', data) - } -} diff --git a/src/api/fei/fertilizationFormula.js b/src/api/fei/fertilizationFormula.js deleted file mode 100644 index 7e91d5f..0000000 --- a/src/api/fei/fertilizationFormula.js +++ /dev/null @@ -1,45 +0,0 @@ -import request from '@/utils/request' - -class fertilizationFormulaApi { - // 分页查询 - static page(pageIndex = 1, pageSize = 20, cropId, phenologyId, formulaName, status) { - let url = `/api/user-service/fei/fertilization/formula/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (cropId) url += `&cropId=${cropId}` - if (phenologyId) url += `&phenologyId=${phenologyId}` - if (formulaName) url += `&formulaName=${encodeURIComponent(formulaName)}` - if (status !== undefined && status !== null) url += `&status=${status}` - return request.apiPost(url) - } - - // 查询详情(含明细) - static detail(id) { - return request.apiGet(`/api/user-service/fei/fertilization/formula/detail?id=${id}`) - } - - // 根据配方ID查询明细列表 - static details(formulaId) { - return request.apiGet(`/api/user-service/fei/fertilization/formula/details?formulaId=${formulaId}`) - } - - // 新增(含明细) - static add(data) { - return request.apiPost('/api/user-service/fei/fertilization/formula/add', data) - } - - // 编辑(含明细) - static update(data) { - return request.apiPost('/api/user-service/fei/fertilization/formula/update', data) - } - - // 删除 - static delete(id) { - return request.apiPost(`/api/user-service/fei/fertilization/formula/delete?id=${id}`) - } - - // 根据作物和物候期查询配方列表 - static listByCropAndPhenology(cropId, phenologyId) { - return request.apiGet(`/api/user-service/fei/fertilization/formula/list?cropId=${cropId}&phenologyId=${phenologyId}`) - } -} - -export default fertilizationFormulaApi diff --git a/src/api/fei/inputMaterialStockLog.js b/src/api/fei/inputMaterialStockLog.js deleted file mode 100644 index a508534..0000000 --- a/src/api/fei/inputMaterialStockLog.js +++ /dev/null @@ -1,36 +0,0 @@ -import request from '@/utils/request' - -const BASE_URL = '/api/user-service' - -class InputMaterialStockLogApi { - // 分页查询 - static getPage(params) { - return request.apiGet(`${BASE_URL}/input-material-stock-log/page`, params) - } - - // 查询详情 - static getDetail(id) { - return request.apiGet(`${BASE_URL}/input-material-stock-log/detail`, { id }) - } - - // 新增 - static add(data) { - return request.apiPost(`${BASE_URL}/input-material-stock-log/add`, data) - } - - // 删除 - static delete(id) { - return request.apiPost(`${BASE_URL}/input-material-stock-log/delete`, null, { params: { id } }) - } - - // 审核 - static review(params) { - const queryString = Object.keys(params) - .filter(key => params[key] !== null && params[key] !== undefined && params[key] !== '') - .map(key => `${key}=${encodeURIComponent(params[key])}`) - .join('&') - return request.apiPost(`${BASE_URL}/input-material-stock-log/review?${queryString}`, null) - } -} - -export default InputMaterialStockLogApi diff --git a/src/api/fei/marketDevice.js b/src/api/fei/marketDevice.js deleted file mode 100644 index 8d53516..0000000 --- a/src/api/fei/marketDevice.js +++ /dev/null @@ -1,70 +0,0 @@ -import request from '@/utils/request' - -/** - * 商情检测设备 API - */ -export default { - /** - * 分页查询设备列表 - * @param {Object} params 查询参数 - * @param {number} params.pageIndex 页码 - * @param {number} params.pageSize 每页数量 - * @param {string} params.deviceName 设备名称(模糊查询) - * @param {string} params.deviceCode 设备编号 - * @param {number} params.deviceType 设备类型 1-五层设备 2-三层设备 - * @param {string} params.installLocation 安装位置(模糊查询) - * @param {number} params.onlineStatus 设备状态 0-离线 1-在线 - */ - page(pageIndex, pageSize, deviceName, deviceCode, deviceType, installLocation, onlineStatus) { - const params = { pageIndex, pageSize } - if (deviceName) params.deviceName = deviceName - if (deviceCode) params.deviceCode = deviceCode - if (deviceType !== null && deviceType !== undefined) params.deviceType = deviceType - if (installLocation) params.installLocation = installLocation - if (onlineStatus !== null && onlineStatus !== undefined) params.onlineStatus = onlineStatus - return request.apiPost('/api/user-service/fei/market/device/page', params) - }, - - /** - * 查询设备详情 - * @param {number} id 设备ID - */ - detail(id) { - return request.apiPost('/api/user-service/fei/market/device/detail', { id }) - }, - - /** - * 新增设备 - * @param {Object} data 设备数据 - * @param {string} data.deviceName 设备名称 - * @param {string} data.deviceCode 设备编号 - * @param {number} data.deviceType 设备类型 1-五层设备 2-三层设备 - * @param {string} data.installLocation 安装位置 - * @param {number} data.onlineStatus 设备状态 0-离线 1-在线 - */ - add(data) { - return request.apiPost('/api/user-service/fei/market/device/add', data) - }, - - /** - * 更新设备 - * @param {Object} data 设备数据 - * @param {number} data.id 设备ID - * @param {string} data.deviceName 设备名称 - * @param {string} data.deviceCode 设备编号 - * @param {number} data.deviceType 设备类型 1-五层设备 2-三层设备 - * @param {string} data.installLocation 安装位置 - * @param {number} data.onlineStatus 设备状态 0-离线 1-在线 - */ - update(data) { - return request.apiPost('/api/user-service/fei/market/device/update', data) - }, - - /** - * 删除设备 - * @param {number} id 设备ID - */ - delete(id) { - return request.apiPost('/api/user-service/fei/market/device/delete', { id }) - } -} diff --git a/src/api/fei/plotInfo.js b/src/api/fei/plotInfo.js deleted file mode 100644 index fa481bd..0000000 --- a/src/api/fei/plotInfo.js +++ /dev/null @@ -1,81 +0,0 @@ -import request from '@/utils/request' - -/** - * 地块信息 API - */ -export default { - /** - * 分页查询地块列表 - * @param {number} pageIndex 页码 - * @param {number} pageSize 每页数量 - * @param {Object} params 查询参数 - * @param {string} params.plotName 地块名称(模糊查询) - * @param {string} params.plotCode 地块编号 - * @param {string} params.location 所在地方(模糊查询) - * @param {number} params.plotType 地块类型 1-农田 2-果园 3-林地 4-建设用地 5-其他 - * @param {number} params.status 地块状态 0-废弃 1-正常 2-使用中 - * @param {string} params.owner 负责人(模糊查询) - */ - page(pageIndex, pageSize, params = {}) { - return request.apiPost('/api/user-service/fei/plot/page', { - pageIndex, - pageSize, - ...params - }) - }, - - /** - * 查询地块详情 - * @param {number} id 地块ID - */ - detail(id) { - return request.apiPost('/api/user-service/fei/plot/detail', { id }) - }, - - /** - * 新增地块 - * @param {Object} data 地块数据 - * @param {string} data.plotName 地块名称 - * @param {string} data.plotCode 地块编号 - * @param {number} data.area 面积(亩) - * @param {string} data.location 所在地方 - * @param {string} data.coordinates 地块坐标点(JSON格式) - * @param {number} data.plotType 地块类型 - * @param {string} data.soilType 土壤类型 - * @param {number} data.status 地块状态 - * @param {string} data.owner 负责人 - * @param {string} data.contactPhone 联系电话 - * @param {string} data.remark 备注 - */ - add(data) { - return request.apiPost('/api/user-service/fei/plot/add', data) - }, - - /** - * 更新地块 - * @param {Object} data 地块数据 - * @param {number} data.id 地块ID - * @param {string} data.plotName 地块名称 - * @param {string} data.plotCode 地块编号 - * @param {number} data.area 面积 - * @param {string} data.location 所在地方 - * @param {string} data.coordinates 地块坐标点 - * @param {number} data.plotType 地块类型 - * @param {string} data.soilType 土壤类型 - * @param {number} data.status 地块状态 - * @param {string} data.owner 负责人 - * @param {string} data.contactPhone 联系电话 - * @param {string} data.remark 备注 - */ - update(data) { - return request.apiPost('/api/user-service/fei/plot/update', data) - }, - - /** - * 删除地块 - * @param {number} id 地块ID - */ - delete(id) { - return request.apiPost('/api/user-service/fei/plot/delete', { id }) - } -} diff --git a/src/api/fei/repairRecord.js b/src/api/fei/repairRecord.js deleted file mode 100644 index 9504e0f..0000000 --- a/src/api/fei/repairRecord.js +++ /dev/null @@ -1,46 +0,0 @@ -import request from '@/utils/request' - -/** - * 设备维修记录 API - */ -export default { - /** - * 分页查询维修记录列表 - * @param {Object} params 查询参数 - */ - page(params) { - return request.apiPost('/api/user-service/fei/repair/record/page', params) - }, - - /** - * 查询维修记录详情 - * @param {number} id 记录ID - */ - detail(id) { - return request.apiPost('/api/user-service/fei/repair/record/detail', { id }) - }, - - /** - * 新增维修记录 - * @param {Object} data 维修记录数据 - */ - add(data) { - return request.apiPost('/api/user-service/fei/repair/record/add', data) - }, - - /** - * 更新维修记录 - * @param {Object} data 维修记录数据 - */ - update(data) { - return request.apiPost('/api/user-service/fei/repair/record/update', data) - }, - - /** - * 删除维修记录 - * @param {number} id 记录ID - */ - delete(id) { - return request.apiPost('/api/user-service/fei/repair/record/delete', { id }) - } -} diff --git a/src/api/fei/solenoidValve.js b/src/api/fei/solenoidValve.js deleted file mode 100644 index ec222ba..0000000 --- a/src/api/fei/solenoidValve.js +++ /dev/null @@ -1,81 +0,0 @@ -import request from '@/utils/request' - -export default { - /** - * 分页查询电磁阀列表 - */ - page(pageIndex, pageSize, params) { - const data = { pageIndex, pageSize, ...params } - return request.apiPost('/api/user-service/fei/solenoid/valve/page', data) - }, - - /** - * 查询电磁阀详情 - */ - detail(id) { - return request.apiPost('/api/user-service/fei/solenoid/valve/detail', { id }) - }, - - /** - * 新增电磁阀 - */ - add(data) { - return request.apiPost('/api/user-service/fei/solenoid/valve/add', data) - }, - - /** - * 更新电磁阀 - */ - update(data) { - return request.apiPost('/api/user-service/fei/solenoid/valve/update', data) - }, - - /** - * 删除电磁阀 - */ - delete(id) { - return request.apiPost('/api/user-service/fei/solenoid/valve/delete', { id }) - }, - - /** - * 开阀 - */ - openValve(id) { - return request.apiPost('/api/user-service/fei/solenoid/valve/open', { id }) - }, - - /** - * 关阀 - */ - closeValve(id) { - return request.apiPost('/api/user-service/fei/solenoid/valve/close', { id }) - }, - - /** - * 灌溉记录分页查询 - */ - logPage(params) { - return request.apiGet('/api/user-service/fei/solenoid/valve/log/page', params) - }, - - /** - * 删除灌溉记录 - */ - deleteLog(id) { - return request.apiPost('/api/user-service/fei/solenoid/valve/log/delete', { id }) - }, - - /** - * 查询今日灌溉记录(大屏专用) - */ - getTodayIrrigation(parkId) { - return request.apiGet('/api/user-service/fei/solenoid/valve/log/today', { parkId }) - }, - - /** - * 查询最近30天灌溉趋势(大屏专用) - */ - getIrrigationTrend(parkId) { - return request.apiGet('/api/user-service/fei/solenoid/valve/log/trend', { parkId }) - } -} diff --git a/src/api/fertigationDevice.js b/src/api/fertigationDevice.js deleted file mode 100644 index 9fed043..0000000 --- a/src/api/fertigationDevice.js +++ /dev/null @@ -1,55 +0,0 @@ -import request from '@/utils/request' - -const BASE_URL = '/api/user-service' - -export default { - // 分页查询设备列表 - getPage(params) { - return request.apiGet(`${BASE_URL}/fertigation-device/page`, params) - }, - - // 查询设备详情 - getDetail(id) { - return request.apiGet(`${BASE_URL}/fertigation-device/detail`, { id }) - }, - - // 新增设备 - add(data) { - return request.apiPost(`${BASE_URL}/fertigation-device/add`, data) - }, - - // 编辑设备 - update(data) { - return request.apiPost(`${BASE_URL}/fertigation-device/update`, data) - }, - - // 删除设备 - delete(id) { - return request.apiPost(`${BASE_URL}/fertigation-device/delete`, { id }) - }, - - // 加药操作 - dosing(data) { - return request.apiPost(`${BASE_URL}/fertigation-device/dosing`, data) - }, - - // 查询加药日志 - getDosingLog(params) { - return request.apiGet(`${BASE_URL}/fertigation-device/dosing-log`, params) - }, - - // 查询所有加药日志(包含设备和园区信息) - getAllDosingLog(params) { - return request.apiGet(`${BASE_URL}/fertigation-device/dosing-log/all`, params) - }, - - // 查询园区当天操作记录 - getTodayLogs(parkId, limit = 10) { - return request.apiGet(`${BASE_URL}/fertigation-device/today-logs`, { parkId, limit }) - }, - - // 保存设备页面布局配置(JSON) - saveLayout(data) { - return request.apiPost(`${BASE_URL}/fertigation-device/save-layout`, data) - } -} diff --git a/src/api/huobanTableApi.js b/src/api/huobanTableApi.js deleted file mode 100644 index b192583..0000000 --- a/src/api/huobanTableApi.js +++ /dev/null @@ -1,126 +0,0 @@ -import request from '@/utils/request' - -class huobanTableApi { - - // Table Info CRUD - async pageTableInfo(pageIndex, pageSize, name, tableId, spaceId) { - let url = `/api/user-service/huoban/tableInfo/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (name) url += '&name=' + encodeURIComponent(name) - if (tableId) url += '&tableId=' + tableId - if (spaceId) url += '&spaceId=' + encodeURIComponent(spaceId) - return await request.apiPost(url) - } - - async saveTableInfo(data) { - return await request.apiPost('/api/user-service/huoban/tableInfo/save', data) - } - - async deleteTableInfo(tableId) { - return await request.apiPost(`/api/user-service/huoban/tableInfo/delete?tableId=${tableId}`) - } - - async listAllTableInfo() { - return await request.apiGet('/api/user-service/huoban/tableInfo/listAll') - } - - // Table Column CRUD - async pageTableColumn(pageIndex, pageSize, tableId, name) { - let url = `/api/user-service/huoban/tableColumn/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (tableId) url += '&tableId=' + tableId - if (name) url += '&name=' + name - return await request.apiPost(url) - } - - async saveTableColumn(data) { - return await request.apiPost('/api/user-service/huoban/tableColumn/save', data) - } - - async deleteTableColumn(fieldId) { - return await request.apiPost(`/api/user-service/huoban/tableColumn/delete?fieldId=${fieldId}`) - } - - async listTableColumnByTable(tableId) { - return await request.apiGet(`/api/user-service/huoban/tableColumn/listByTable?tableId=${tableId}`) - } - - async spaceList() { - return await request.apiGet('/api/user-service/huoban2/spaceList') - } - - async syncTables(spaceId) { - let url = '/api/user-service/huoban2/syncTables' - if (spaceId) url += '?spaceId=' + spaceId - return await request.apiGet(url) - } - - async syncTableConfig(tableId) { - return await request.apiGet('/api/user-service/huoban2/syncTableConfig?tableId=' + tableId) - } - - // Huoban data query (POST /huoban2/data) - async queryData(dataFilter) { - return await request.apiPost('/api/user-service/huoban2/data', dataFilter) - } - - // ========== Huoban Web API (带 token) ========== - - async webLogin(phone) { - return await request.apiGet(`/api/user-service/huoban2/webLogin?phone=${encodeURIComponent(phone)}`) - } - - async webData(dataFilter) { - return await request.apiPost('/api/user-service/huoban2/webData', dataFilter) - } - - async detail(itemId, tableId, tableName = '', relations = []) { - let url = `/api/user-service/huoban2/detail?itemId=${itemId}&tableId=${tableId}` - if (tableName) url += `&tableName=${encodeURIComponent(tableName)}` - if (relations && relations.length) url += `&relations=${encodeURIComponent(JSON.stringify(relations))}` - return await request.apiGet(url) - } - - async webDetail({ itemId, tableId, tableName, relations }) { - return await request.apiGet('/api/user-service/huoban2/webDetail', { itemId, tableId, tableName, relations }) - } - - // ========== Huoban Partner Cloud Data Operations ========== - async create(data) { - return await request.apiPost('/api/user-service/huoban2/create', data) - } - - async update(data) { - return await request.apiPost('/api/user-service/huoban2/update', data) - } - - async upsetOne(data) { - return await request.apiPost('/api/user-service/huoban2/upsetOne', data) - } - - // ========== Huoban Form CRUD ========== - async pageHuobanForm(pageIndex, pageSize, name, tableId, spaceId) { - let url = `/api/user-service/huoban/form/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (name) url += '&name=' + name - if (tableId) url += '&tableId=' + tableId - if (spaceId) url += '&spaceId=' + spaceId - return await request.apiPost(url) - } - - async listAllHuobanForm() { - return await request.apiGet('/api/user-service/huoban/form/listAll') - } - - async saveHuobanForm(data) { - return await request.apiPost('/api/user-service/huoban/form/save', data) - } - - async deleteHuobanForm(id) { - return await request.apiPost(`/api/user-service/huoban/form/delete?id=${id}`) - } - - async detailHuobanForm(id) { - return await request.apiGet(`/api/user-service/huoban/form/detail?id=${id}`) - } -} - -const target = new huobanTableApi() -export default target diff --git a/src/api/inputMaterial.js b/src/api/inputMaterial.js deleted file mode 100644 index 1a67c24..0000000 --- a/src/api/inputMaterial.js +++ /dev/null @@ -1,36 +0,0 @@ -import request from '@/utils/request' - -// 接口前缀:/api/user-service(通过代理已处理,前端直接添加即可) -const BASE_URL = '/api/user-service' - -export default { - // 分页查询 - getPage(params) { - return request.apiGet(`${BASE_URL}/input-material/page`, params) - }, - - // 查询详情 - getDetail(id) { - return request.apiGet(`${BASE_URL}/input-material/detail`, { id }) - }, - - // 新增 - add(data) { - return request.apiPost(`${BASE_URL}/input-material/add`, data) - }, - - // 编辑 - update(data) { - return request.apiPost(`${BASE_URL}/input-material/update`, data) - }, - - // 删除 - delete(id) { - return request.apiPost(`${BASE_URL}/input-material/delete`, null, { params: { id } }) - }, - - // 查询在用的投入品列表 - getActiveList() { - return request.apiGet(`${BASE_URL}/input-material/active-list`) - } -} diff --git a/src/api/inspection.js b/src/api/inspection.js deleted file mode 100644 index 4231655..0000000 --- a/src/api/inspection.js +++ /dev/null @@ -1,69 +0,0 @@ -import request from '@/utils/request' - -const BASE_URL = '/api/user-service/inspection' - -export default { - // ========== 巡查项目配置 ========== - - // 分页查询巡查项目 - getItemPage(params) { - return request.apiGet(`${BASE_URL}/item/page`, params) - }, - - // 查询巡查项目详情 - getItemDetail(id) { - return request.apiGet(`${BASE_URL}/item/detail`, { id }) - }, - - // 新增巡查项目 - addItem(data) { - return request.apiPost(`${BASE_URL}/item/add`, data) - }, - - // 编辑巡查项目 - updateItem(data) { - return request.apiPost(`${BASE_URL}/item/update`, data) - }, - - // 删除巡查项目 - deleteItem(id) { - return request.apiPost(`${BASE_URL}/item/delete`, null, { params: { id } }) - }, - - // 获取启用的巡查项目列表 - listItemEnabled() { - return request.apiGet(`${BASE_URL}/item/listEnabled`) - }, - - // ========== 巡查记录 ========== - - // 分页查询巡查记录 - getRecordPage(params) { - return request.apiGet(`${BASE_URL}/record/page`, params) - }, - - // 查询巡查记录详情 - getRecordDetail(id) { - return request.apiGet(`${BASE_URL}/record/detail`, { id }) - }, - - // 新增巡查记录 - addRecord(data) { - return request.apiPost(`${BASE_URL}/record/add`, data) - }, - - // 编辑巡查记录 - updateRecord(data) { - return request.apiPost(`${BASE_URL}/record/update`, data) - }, - - // 删除巡查记录 - deleteRecord(id) { - return request.apiPost(`${BASE_URL}/record/delete`, null, { params: { id } }) - }, - - // 确认巡查记录 - confirmRecord(id, confirmBy) { - return request.apiPost(`${BASE_URL}/record/confirm`, { id, confirmBy }) - } -} diff --git a/src/api/irrigation.js b/src/api/irrigation.js deleted file mode 100644 index 0a2b215..0000000 --- a/src/api/irrigation.js +++ /dev/null @@ -1,88 +0,0 @@ -import request from '@/utils/request' - -const BASE_URL = '/api/user-service' - -export default { - // ==================== 灌溉计划管理 ==================== - - // 分页查询灌溉计划列表 - getPlanPage(params) { - return request.apiGet(`${BASE_URL}/irrigation/plan/page`, params) - }, - - // 查询灌溉计划详情 - getPlanDetail(id) { - return request.apiGet(`${BASE_URL}/irrigation/plan/detail`, { id }) - }, - - // 新增灌溉计划 - addPlan(data) { - return request.apiPost(`${BASE_URL}/irrigation/plan/add`, data) - }, - - // 修改灌溉计划 - updatePlan(data) { - return request.apiPost(`${BASE_URL}/irrigation/plan/update`, data) - }, - - // 删除灌溉计划 - deletePlan(id) { - return request.apiPost(`${BASE_URL}/irrigation/plan/delete?id=${id}`) - }, - - // 启用/暂停灌溉计划 - togglePlan(id, status) { - return request.apiPost(`${BASE_URL}/irrigation/plan/toggle`, null, { params: { id, status } }) - }, - - // 根据园区ID查询灌溉计划列表 - listPlanByPark(parkId) { - return request.apiGet(`${BASE_URL}/irrigation/plan/listByPark`, { parkId }) - }, - - // ==================== 执行记录管理 ==================== - - // 分页查询执行记录列表 - getExecPage(params) { - return request.apiGet(`${BASE_URL}/irrigation/exec/page`, params) - }, - - // 查询执行记录详情(含阀门明细) - getExecDetail(id) { - return request.apiGet(`${BASE_URL}/irrigation/exec/detail`, { id }) - }, - - // 创建执行记录 - createExec(data) { - return request.apiPost(`${BASE_URL}/irrigation/exec/create`, data) - }, - - // 更新执行状态 - updateExecStatus(id, status, failReason) { - return request.apiPost(`${BASE_URL}/irrigation/exec/updateStatus`, null, { - params: { id, status, failReason } - }) - }, - - // 完成执行记录 - completeExec(id, actualWater, actualDuration) { - return request.apiPost(`${BASE_URL}/irrigation/exec/complete`, null, { - params: { id, actualWater, actualDuration } - }) - }, - - // 取消执行记录 - cancelExec(id) { - return request.apiPost(`${BASE_URL}/irrigation/exec/cancel`, null, { params: { id } }) - }, - - // 根据计划ID查询执行记录列表 - listExecByPlan(planId) { - return request.apiGet(`${BASE_URL}/irrigation/exec/listByPlan`, { planId }) - }, - - // 查询待执行的记录列表 - listPendingExec() { - return request.apiGet(`${BASE_URL}/irrigation/exec/pending`) - } -} diff --git a/src/api/menuApi.js b/src/api/menuApi.js index 4ff6a66..9f84ba7 100644 --- a/src/api/menuApi.js +++ b/src/api/menuApi.js @@ -6,56 +6,27 @@ import store from '@/store/index' const viewsRequire = require.context('@/views', true, /\.vue$/) const viewPathMap = {} viewsRequire.keys().forEach(key => { - // key 形如 './system/llmModel/index.vue' const normalized = key.replace(/^\.\//, '').replace(/\.vue$/, '').toLowerCase() viewPathMap[normalized] = key }) class menuApi { - /** - * 初始化路由(不再加载全局菜单,菜单由各应用切换时按需加载) - */ async initMenu() { return router } - /** - * 注册应用菜单的动态路由 - * @param {Array} menuList - 菜单树 - */ handleMenu(menuList) { menuList.forEach(menu => { - // Use a separate field for route registration so we don't mutate the original menuPath - // which is needed for pathMap matching in main.js and sidebar navigation - if (menu.menuType === 4) { + // menuType 2/3/4: iframe-type menus, use generic iframeView component + if (menu.menuType === 4 || menu.menuType === 3 || menu.menuType === 2) { menu.frameUrl = menu.menuPath - menu.menuRoutePath = '/common/web/' + menu.id + const typePrefix = menu.menuType === 4 ? 'web' : menu.menuType === 3 ? 'payment' : 'huoban' + menu.menuRoutePath = '/common/' + typePrefix + '/' + menu.id router.addRoute('common', { - path: 'web/' + menu.id, - name: 'web_' + menu.id, + path: typePrefix + '/' + menu.id, + name: typePrefix + '_' + menu.id, frameUrl: menu.frameUrl, - component: () => import('@/views/web/index'), - meta: { title: menu.menuTitle, icon: '', keepAlive: true, menu: menu } - }) - } - if (menu.menuType === 3) { - menu.frameUrl = menu.menuPath - menu.menuRoutePath = '/common/payment/' + menu.id - router.addRoute('common', { - path: 'payment/' + menu.id, - name: 'payment_' + menu.id, - component: () => import('@/views/payment/index'), - meta: { title: menu.menuTitle, icon: '', keepAlive: true, menu: menu } - }) - } - if (menu.menuType === 2) { - menu.frameUrl = menu.menuPath - menu.menuRoutePath = '/common/huoban/' + menu.id - router.addRoute('common', { - path: 'huoban/' + menu.id, - name: 'huoban_' + menu.id, - frameUrl: menu.frameUrl, - component: () => import('@/views/huoban/index'), + component: () => import('@/components/iframeView'), meta: { title: menu.menuTitle, icon: '', keepAlive: true, menu: menu } }) } diff --git a/src/api/n8nApi.js b/src/api/n8nApi.js deleted file mode 100644 index 1e6b08f..0000000 --- a/src/api/n8nApi.js +++ /dev/null @@ -1,16 +0,0 @@ -import request from '@/utils/request' - -class n8nApi { - /** - * 调用 n8n webhook:伙伴表数据同步+填充 - * @param {string} spaceId - 空间ID - * @param {string} tableId - 表格ID - */ - async huobanTableSyncAndFill(spaceId, tableId) { - const url = `/n8n/webhook/4dad745d-c71d-4668-81a3-33bf350730ff?spaceId=${encodeURIComponent(spaceId)}&tableId=${encodeURIComponent(tableId)}` - return await request.apiGet(url) - } -} - -const target = new n8nApi() -export default target diff --git a/src/api/park.js b/src/api/park.js deleted file mode 100644 index a540520..0000000 --- a/src/api/park.js +++ /dev/null @@ -1,36 +0,0 @@ -import request from '@/utils/request' - -// 接口前缀:/api/user-service(通过代理已处理,前端直接添加即可) -const BASE_URL = '/api/user-service' - -export default { - // 分页查询园区列表 - getPage(params) { - return request.apiGet(`${BASE_URL}/park/page`, params) - }, - - // 查询园区详情 - getDetail(id) { - return request.apiGet(`${BASE_URL}/park/detail`, { id }) - }, - - // 新增园区 - add(data) { - return request.apiPost(`${BASE_URL}/park/add`, data) - }, - - // 编辑园区 - update(data) { - return request.apiPost(`${BASE_URL}/park/update`, data) - }, - - // 删除园区 - delete(id) { - return request.apiPost(`${BASE_URL}/park/delete`, { id }) - }, - - // 查询所有园区列表(用于下拉选择) - getAllParks() { - return request.apiGet(`${BASE_URL}/park/list`, {}) - } -} diff --git a/src/api/permissionApi.js b/src/api/permissionApi.js index 7500212..b557d9b 100644 --- a/src/api/permissionApi.js +++ b/src/api/permissionApi.js @@ -1,5 +1,4 @@ import request from '@/utils/request' -import { TRACING_OPEN_KEY } from '@/config/tracingOpenKey' class permissionApi { @@ -91,14 +90,6 @@ class permissionApi { return await request.apiGet('/api/user-service/permission/getHuobanToken') } - /** 开放平台:按企业 ID 查询溯源追踪配置(无需登录,使用 open-key) */ - async getTrackingConfigByCustomerId(customerId) { - return await request.apiGet( - '/api/user-service/open/trackingConfig/getByCustomerId', - { customerId }, - { 'open-key': TRACING_OPEN_KEY } - ) - } } const target = new permissionApi() diff --git a/src/api/trace/warehouseFloorPlan.js b/src/api/trace/warehouseFloorPlan.js deleted file mode 100644 index 3bcdabe..0000000 --- a/src/api/trace/warehouseFloorPlan.js +++ /dev/null @@ -1,30 +0,0 @@ -import request from '@/utils/request' - -const BASE_URL = '/api/user-service/trace/floorPlan' - -export default { - // 分页查询 - getPage(params) { - return request.apiGet(`${BASE_URL}/page`, params) - }, - - // 查询详情 - getDetail(id) { - return request.apiGet(`${BASE_URL}/detail`, { id }) - }, - - // 新增 - add(data) { - return request.apiPost(`${BASE_URL}/add`, data) - }, - - // 更新 - update(data) { - return request.apiPost(`${BASE_URL}/update`, data) - }, - - // 删除 - delete(id) { - return request.apiPost(`${BASE_URL}/delete`, { id }) - } -} diff --git a/src/api/traceabilityApi.js b/src/api/traceabilityApi.js deleted file mode 100644 index 890713a..0000000 --- a/src/api/traceabilityApi.js +++ /dev/null @@ -1,627 +0,0 @@ -import request from '@/utils/request' - -class traceabilityApi { - - // ========== 品类管理 ========== - - static pageCategories(pageIndex = 1, pageSize = 20, categoryName) { - let url = `/api/user-service/trace/category/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (categoryName) url += '&categoryName=' + categoryName - return request.apiPost(url) - } - - static getCategoryDetail(id) { - return request.apiGet(`/api/user-service/trace/category/detail?id=${id}`) - } - - static addCategory(data) { - return request.apiPost('/api/user-service/trace/category/add', data) - } - - static updateCategory(data) { - return request.apiPost('/api/user-service/trace/category/update', data) - } - - static deleteCategory(id) { - return request.apiPost(`/api/user-service/trace/category/delete?id=${id}`) - } - - static enableCategory(id) { - return request.apiPost(`/api/user-service/trace/category/enable?id=${id}`) - } - - static disableCategory(id) { - return request.apiPost(`/api/user-service/trace/category/disable?id=${id}`) - } - - static listAllCategories() { - return request.apiGet('/api/user-service/trace/category/listAll') - } - - // ========== 产品管理 ========== - - static pageProducts(pageIndex = 1, pageSize = 20, categoryId, productName) { - let url = `/api/user-service/trace/category/product/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (categoryId) url += '&categoryId=' + categoryId - if (productName) url += '&productName=' + productName - return request.apiPost(url) - } - - static getProductDetail(id) { - return request.apiGet(`/api/user-service/trace/category/product/detail?id=${id}`) - } - - static addProduct(data) { - return request.apiPost('/api/user-service/trace/category/product/add', data) - } - - static updateProduct(data) { - return request.apiPost('/api/user-service/trace/category/product/update', data) - } - - static deleteProduct(id) { - return request.apiPost(`/api/user-service/trace/category/product/delete?id=${id}`) - } - - static enableProduct(id) { - return request.apiPost(`/api/user-service/trace/category/product/enable?id=${id}`) - } - - static disableProduct(id) { - return request.apiPost(`/api/user-service/trace/category/product/disable?id=${id}`) - } - - static listProductsByCategory(categoryId) { - let url = '/api/user-service/trace/category/product/listByCategory' - if (categoryId) url += '?categoryId=' + categoryId - return request.apiGet(url) - } - - // ========== 地块管理 ========== - - static pageLands(pageIndex = 1, pageSize = 20, landName, status) { - let url = `/api/user-service/trace/land/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (landName) url += '&landName=' + landName - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getLandDetail(id) { - return request.apiGet(`/api/user-service/trace/land/detail?id=${id}`) - } - - static addLand(data) { - return request.apiPost('/api/user-service/trace/land/add', data) - } - - static updateLand(data) { - return request.apiPost('/api/user-service/trace/land/update', data) - } - - static deleteLand(id) { - return request.apiPost(`/api/user-service/trace/land/delete?id=${id}`) - } - - static listAllLands() { - return request.apiGet('/api/user-service/trace/land/listAll') - } - - // ========== 采收批次 ========== - - static pageHarvests(pageIndex = 1, pageSize = 20, batchCode, landId, status) { - let url = `/api/user-service/trace/harvest/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (batchCode) url += '&batchCode=' + batchCode - if (landId) url += '&landId=' + landId - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getHarvestDetail(id) { - return request.apiGet(`/api/user-service/trace/harvest/detail?id=${id}`) - } - - static addHarvest(data) { - return request.apiPost('/api/user-service/trace/harvest/add', data) - } - - static updateHarvest(data) { - return request.apiPost('/api/user-service/trace/harvest/update', data) - } - - static deleteHarvest(id) { - return request.apiPost(`/api/user-service/trace/harvest/delete?id=${id}`) - } - - static updateHarvestStatus(id, status) { - return request.apiPost(`/api/user-service/trace/harvest/updateStatus?id=${id}&status=${status}`) - } - - // ========== 加工记录 ========== - - static pageProcesses(pageIndex = 1, pageSize = 20, processCode, status) { - let url = `/api/user-service/trace/process/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (processCode) url += '&processCode=' + processCode - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getProcessDetail(id) { - return request.apiGet(`/api/user-service/trace/process/detail?id=${id}`) - } - - static addProcess(data) { - return request.apiPost('/api/user-service/trace/process/add', data) - } - - static updateProcess(data) { - return request.apiPost('/api/user-service/trace/process/update', data) - } - - static completeProcess(id) { - return request.apiPost(`/api/user-service/trace/process/complete?id=${id}`) - } - - static discardProcess(id) { - return request.apiPost(`/api/user-service/trace/process/discard?id=${id}`) - } - - static deleteProcess(id) { - return request.apiPost(`/api/user-service/trace/process/delete?id=${id}`) - } - - // ========== 质量检测 ========== - - static pageQualities(pageIndex = 1, pageSize = 20, testCode, batchType, status) { - let url = `/api/user-service/trace/quality/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (testCode) url += '&testCode=' + testCode - if (batchType != null) url += '&batchType=' + batchType - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getQualityDetail(id) { - return request.apiGet(`/api/user-service/trace/quality/detail?id=${id}`) - } - - static addQuality(data) { - return request.apiPost('/api/user-service/trace/quality/add', data) - } - - static updateQuality(data) { - return request.apiPost('/api/user-service/trace/quality/update', data) - } - - static deleteQuality(id) { - return request.apiPost(`/api/user-service/trace/quality/delete?id=${id}`) - } - - static reviewQuality(id, comprehensiveResult, reviewComment) { - return request.apiPost(`/api/user-service/trace/quality/review?id=${id}&comprehensiveResult=${comprehensiveResult}&reviewComment=${reviewComment || ''}`) - } - - // ========== 溯源码生成任务 ========== - - static pageCodeTasks(pageIndex = 1, pageSize = 20, batchCode, status) { - let url = `/api/user-service/trace/code/task/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (batchCode) url += '&batchCode=' + batchCode - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getCodeTaskDetail(id) { - return request.apiGet(`/api/user-service/trace/code/task/detail?id=${id}`) - } - - static addCodeTask(data) { - return request.apiPost('/api/user-service/trace/code/task/add', data) - } - - static generateBatchCode() { - return request.apiPost('/api/user-service/trace/code/task/generateBatchCode') - } - - static updateCodeTask(data) { - return request.apiPost('/api/user-service/trace/code/task/update', data) - } - - static deleteCodeTask(id) { - return request.apiPost(`/api/user-service/trace/code/task/delete?id=${id}`) - } - - static generateCodes(id) { - return request.apiPost(`/api/user-service/trace/code/task/generate?taskId=${id}`) - } - - // ========== 溯源码列表 ========== - - static pageCodes(pageIndex = 1, pageSize = 20, codeValue, batchCode, status) { - let url = `/api/user-service/trace/code/list/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (codeValue) url += '&codeValue=' + codeValue - if (batchCode) url += '&batchCode=' + batchCode - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getCodeDetail(id) { - return request.apiGet(`/api/user-service/trace/code/list/detail?id=${id}`) - } - - static voidCode(id, reason) { - return request.apiPost(`/api/user-service/trace/code/list/void?id=${id}&reason=${reason || ''}`) - } - - // ========== 码货绑定 ========== - - static pageBinds(pageIndex = 1, pageSize = 20, codeValue, batchCode, packageNo) { - let url = `/api/user-service/trace/code/bind/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (codeValue) url += '&codeValue=' + codeValue - if (batchCode) url += '&batchCode=' + batchCode - if (packageNo) url += '&packageNo=' + packageNo - return request.apiPost(url) - } - - static getBindDetail(id) { - return request.apiGet(`/api/user-service/trace/code/bind/detail?id=${id}`) - } - - static addBind(data) { - return request.apiPost('/api/user-service/trace/code/bind/add', data) - } - - static listUnboundCodes(batchCode) { - return request.apiPost(`/api/user-service/trace/code/bind/unboundList${batchCode ? '?batchCode=' + batchCode : ''}`) - } - - static unbind(id) { - return request.apiPost(`/api/user-service/trace/code/bind/unbind?id=${id}`) - } - - static batchImportBind(data) { - return request.apiPost('/api/user-service/trace/code/bind/batchImport', data) - } - - // ========== 父子码关联 ========== - - static pageRelations(pageIndex = 1, pageSize = 20, parentCode, childCode) { - let url = `/api/user-service/trace/code/relation/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (parentCode) url += '&parentCode=' + parentCode - if (childCode) url += '&childCode=' + childCode - return request.apiPost(url) - } - - static getRelationDetail(id) { - return request.apiGet(`/api/user-service/trace/code/relation/detail?id=${id}`) - } - - static addRelation(data) { - return request.apiPost('/api/user-service/trace/code/relation/add', data) - } - - static deleteRelation(id) { - return request.apiPost(`/api/user-service/trace/code/relation/delete?id=${id}`) - } - - // ========== 赋码审计 ========== - - static pageAudits(pageIndex = 1, pageSize = 20, batchCode, auditType) { - let url = `/api/user-service/trace/code/audit/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (batchCode) url += '&batchCode=' + batchCode - if (auditType != null) url += '&auditType=' + auditType - return request.apiPost(url) - } - - static getAuditDetail(id) { - return request.apiGet(`/api/user-service/trace/code/audit/detail?id=${id}`) - } - - // ========== 废码异常 ========== - - static pageExceptions(pageIndex = 1, pageSize = 20, codeValue, status) { - let url = `/api/user-service/trace/code/exception/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (codeValue) url += '&codeValue=' + codeValue - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getExceptionDetail(id) { - return request.apiGet(`/api/user-service/trace/code/exception/detail?id=${id}`) - } - - static addException(data) { - return request.apiPost('/api/user-service/trace/code/exception/add', data) - } - - static handleException(id, handleMethod, handleRemark) { - return request.apiPost(`/api/user-service/trace/code/exception/handle?id=${id}&handleMethod=${handleMethod}&handleRemark=${handleRemark || ''}`) - } - - static deleteException(id) { - return request.apiPost(`/api/user-service/trace/code/exception/delete?id=${id}`) - } - - // ========== 入库管理 ========== - - static pageInRecords(pageIndex = 1, pageSize = 20, inCode, inType, warehouse, status) { - let url = `/api/user-service/trace/warehouse/in/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (inCode) url += '&inCode=' + inCode - if (inType != null) url += '&inType=' + inType - if (warehouse) url += '&warehouse=' + warehouse - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getInDetail(id) { - return request.apiGet(`/api/user-service/trace/warehouse/in/detail?id=${id}`) - } - - static addInRecord(data) { - return request.apiPost('/api/user-service/trace/warehouse/in/add', data) - } - - static updateInRecord(data) { - return request.apiPost('/api/user-service/trace/warehouse/in/update', data) - } - - static deleteInRecord(id) { - return request.apiPost(`/api/user-service/trace/warehouse/in/delete?id=${id}`) - } - - static confirmIn(id) { - return request.apiPost(`/api/user-service/trace/warehouse/in/confirm?id=${id}`) - } - - static generateInBatchCode() { - return request.apiGet('/api/user-service/trace/warehouse/in/generateBatchCode') - } - - static listInDetails(inId) { - return request.apiGet(`/api/user-service/trace/warehouse/in/detail/list?inId=${inId}`) - } - - static addInDetail(data) { - return request.apiPost('/api/user-service/trace/warehouse/in/detail/add', data) - } - - static updateInDetail(data) { - return request.apiPost('/api/user-service/trace/warehouse/in/detail/update', data) - } - - static deleteInDetail(id) { - return request.apiPost(`/api/user-service/trace/warehouse/in/detail/delete?id=${id}`) - } - - // ========== 出库管理 ========== - - static pageOutRecords(pageIndex = 1, pageSize = 20, outCode, outType, destination, status) { - let url = `/api/user-service/trace/warehouse/out/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (outCode) url += '&outCode=' + outCode - if (outType != null) url += '&outType=' + outType - if (destination) url += '&destination=' + destination - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getOutDetail(id) { - return request.apiGet(`/api/user-service/trace/warehouse/out/detail?id=${id}`) - } - - static addOutRecord(data) { - return request.apiPost('/api/user-service/trace/warehouse/out/add', data) - } - - static updateOutRecord(data) { - return request.apiPost('/api/user-service/trace/warehouse/out/update', data) - } - - static deleteOutRecord(id) { - return request.apiPost(`/api/user-service/trace/warehouse/out/delete?id=${id}`) - } - - static confirmOut(id) { - return request.apiPost(`/api/user-service/trace/warehouse/out/confirm?id=${id}`) - } - - static generateOutBatchCode() { - return request.apiGet('/api/user-service/trace/warehouse/out/generateBatchCode') - } - - static listOutDetails(outId) { - return request.apiGet(`/api/user-service/trace/warehouse/out/detail/list?outId=${outId}`) - } - - static addOutDetail(data) { - return request.apiPost('/api/user-service/trace/warehouse/out/detail/add', data) - } - - static updateOutDetail(data) { - return request.apiPost('/api/user-service/trace/warehouse/out/detail/update', data) - } - - static deleteOutDetail(id) { - return request.apiPost(`/api/user-service/trace/warehouse/out/detail/delete?id=${id}`) - } - - // ========== 库存管理 ========== - - static pageInventory(pageIndex = 1, pageSize = 20, batchCode, productName, warehouse) { - let url = `/api/user-service/trace/warehouse/inventory/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (batchCode) url += '&batchCode=' + batchCode - if (productName) url += '&productName=' + productName - if (warehouse) url += '&warehouse=' + warehouse - return request.apiPost(url) - } - - static getInventoryDetail(id) { - return request.apiGet(`/api/user-service/trace/warehouse/inventory/detail?id=${id}`) - } - - static adjustInventory(id, adjustQuantity, reason) { - return request.apiPost(`/api/user-service/trace/warehouse/inventory/adjust?id=${id}&adjustQuantity=${adjustQuantity}&reason=${reason || ''}`) - } - - static lockInventory(id, lockQty) { - return request.apiPost(`/api/user-service/trace/warehouse/inventory/lock?id=${id}&lockQty=${lockQty}`) - } - - static unlockInventory(id, unlockQty) { - return request.apiPost(`/api/user-service/trace/warehouse/inventory/unlock?id=${id}&unlockQty=${unlockQty}`) - } - - static listAvailableBatchCodes() { - return request.apiGet('/api/user-service/trace/warehouse/inventory/batchCodes') - } - - // ========== 物流管理 ========== - - static pageLogistics(pageIndex = 1, pageSize = 20, waybillCode, carrier, vehiclePlate, status) { - let url = `/api/user-service/trace/warehouse/logistics/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (waybillCode) url += '&waybillCode=' + waybillCode - if (carrier) url += '&carrier=' + carrier - if (vehiclePlate) url += '&vehiclePlate=' + vehiclePlate - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getLogisticsDetail(id) { - return request.apiGet(`/api/user-service/trace/warehouse/logistics/detail?id=${id}`) - } - - static addLogistics(data) { - return request.apiPost('/api/user-service/trace/warehouse/logistics/add', data) - } - - static updateLogistics(data) { - return request.apiPost('/api/user-service/trace/warehouse/logistics/update', data) - } - - static deleteLogistics(id) { - return request.apiPost(`/api/user-service/trace/warehouse/logistics/delete?id=${id}`) - } - - static updateLogisticsStatus(id, status) { - return request.apiPost(`/api/user-service/trace/warehouse/logistics/updateStatus?id=${id}&status=${status}`) - } - - // ========== 合格证 ========== - - static pageCertificates(pageIndex = 1, pageSize = 20, certCode, batchCode, productName, status) { - let url = `/api/user-service/trace/common/certificate/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (certCode) url += '&certCode=' + certCode - if (batchCode) url += '&batchCode=' + batchCode - if (productName) url += '&productName=' + productName - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getCertificateDetail(id) { - return request.apiGet(`/api/user-service/trace/common/certificate/detail?id=${id}`) - } - - static addCertificate(data) { - return request.apiPost('/api/user-service/trace/common/certificate/add', data) - } - - static updateCertificate(data) { - return request.apiPost('/api/user-service/trace/common/certificate/update', data) - } - - static deleteCertificate(id) { - return request.apiPost(`/api/user-service/trace/common/certificate/delete?id=${id}`) - } - - static generateCertificate(data) { - return request.apiPost('/api/user-service/trace/common/certificate/generate', data) - } - - static printCertificate(id) { - return request.apiPost(`/api/user-service/trace/common/certificate/print?id=${id}`) - } - - // ========== 资质证书 ========== - - static pageQualifications(pageIndex = 1, pageSize = 20, qualName, qualType, status) { - let url = `/api/user-service/trace/common/qualification/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (qualName) url += '&qualName=' + qualName - if (qualType != null) url += '&qualType=' + qualType - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getQualificationDetail(id) { - return request.apiGet(`/api/user-service/trace/common/qualification/detail?id=${id}`) - } - - static addQualification(data) { - return request.apiPost('/api/user-service/trace/common/qualification/add', data) - } - - static updateQualification(data) { - return request.apiPost('/api/user-service/trace/common/qualification/update', data) - } - - static deleteQualification(id) { - return request.apiPost(`/api/user-service/trace/common/qualification/delete?id=${id}`) - } - - // ========== 消费者反馈 ========== - - static pageFeedbacks(pageIndex = 1, pageSize = 20, feedbackCode, feedbackType, status) { - let url = `/api/user-service/trace/common/feedback/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (feedbackCode) url += '&feedbackCode=' + feedbackCode - if (feedbackType != null) url += '&feedbackType=' + feedbackType - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getFeedbackDetail(id) { - return request.apiGet(`/api/user-service/trace/common/feedback/detail?id=${id}`) - } - - static addFeedback(data) { - return request.apiPost('/api/user-service/trace/common/feedback/add', data) - } - - static handleFeedback(id, handler, handleOpinion) { - return request.apiPost(`/api/user-service/trace/common/feedback/handle?id=${id}&handler=${handler}&handleOpinion=${handleOpinion || ''}`) - } - - static replyFeedback(id, replyContent, replyMethod) { - return request.apiPost(`/api/user-service/trace/common/feedback/reply?id=${id}&replyContent=${replyContent}&replyMethod=${replyMethod || 1}`) - } - - static closeFeedback(id) { - return request.apiPost(`/api/user-service/trace/common/feedback/close?id=${id}`) - } - - // ========== 召回管理 ========== - - static pageRecalls(pageIndex = 1, pageSize = 20, recallCode, batchCode, status) { - let url = `/api/user-service/trace/common/recall/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (recallCode) url += '&recallCode=' + recallCode - if (batchCode) url += '&batchCode=' + batchCode - if (status != null) url += '&status=' + status - return request.apiPost(url) - } - - static getRecallDetail(id) { - return request.apiGet(`/api/user-service/trace/common/recall/detail?id=${id}`) - } - - static addRecall(data) { - return request.apiPost('/api/user-service/trace/common/recall/add', data) - } - - static executeRecall(id) { - return request.apiPost(`/api/user-service/trace/common/recall/execute?id=${id}`) - } - - static completeRecall(id) { - return request.apiPost(`/api/user-service/trace/common/recall/complete?id=${id}`) - } - - static cancelRecall(id) { - return request.apiPost(`/api/user-service/trace/common/recall/cancel?id=${id}`) - } -} - -export default traceabilityApi diff --git a/src/api/trackingConfigApi.js b/src/api/trackingConfigApi.js deleted file mode 100644 index 2ebd83d..0000000 --- a/src/api/trackingConfigApi.js +++ /dev/null @@ -1,48 +0,0 @@ -import request from '@/utils/request' - -class trackingConfigApi { - /** - * 分页列表 - */ - async list(params = {}) { - const { pageNum = 1, pageSize = 20, keyword = '' } = params - return await request.apiGet(`/api/user-service/trackingConfig/list?pageNum=${pageNum}&pageSize=${pageSize}&keyword=${keyword}`) - } - - /** - * 根据企业ID获取配置 - */ - async getByCustomerId(customerId) { - return await request.apiGet(`/api/user-service/trackingConfig/getByCustomerId?customerId=${customerId}`) - } - - /** - * 获取当前登录企业的配置 - */ - async getCurrent() { - return await request.apiGet('/api/user-service/trackingConfig/current') - } - - /** - * 新增或更新 - */ - async save(params) { - return await request.apiPost('/api/user-service/trackingConfig/save', params) - } - - /** - * 删除 - */ - async delete(id) { - return await request.apiPost('/api/user-service/trackingConfig/delete', { id }) - } - - /** - * 获取企业下拉列表 - */ - async listCustomers(keyword = '') { - return await request.apiGet(`/api/user-service/trackingConfig/customers?keyword=${keyword}`) - } -} - -export default new trackingConfigApi() diff --git a/src/api/userPreference.js b/src/api/userPreference.js deleted file mode 100644 index 1735cfd..0000000 --- a/src/api/userPreference.js +++ /dev/null @@ -1,31 +0,0 @@ -import request from '@/utils/request' - -// 用户个性化配置接口(后端 UserPreferenceController) -const BASE_URL = '/api/user-service/userPreference' - -export default { - // 查询当前登录用户的个性化配置(未配置时后端返回默认值 uiSize=2) - mine() { - return request.apiPost(`${BASE_URL}/mine`) - }, - // 保存当前登录用户的个性化配置(不存在则新增,已存在则更新) - save(data) { - return request.apiPost(`${BASE_URL}/save`, data) - }, - // 查询指定用户的个性化配置(userId 走 URL 参数) - get(userId) { - return request.apiPost(`${BASE_URL}/get?userId=${userId}`) - }, - // 新增用户个性化配置 - add(data) { - return request.apiPost(`${BASE_URL}/add`, data) - }, - // 更新用户个性化配置 - update(data) { - return request.apiPost(`${BASE_URL}/update`, data) - }, - // 删除用户个性化配置(userId 走 URL 参数) - delete(userId) { - return request.apiPost(`${BASE_URL}/delete?userId=${userId}`) - } -} diff --git a/src/api/weightApi.js b/src/api/weightApi.js deleted file mode 100644 index 517b025..0000000 --- a/src/api/weightApi.js +++ /dev/null @@ -1,282 +0,0 @@ -import request from '@/utils/request' - -class weightApi { - - // ========== 车辆管理 ========== - - async pageVehicleRecords(pageIndex, pageSize, plateNumber) { - let url = `/api/user-service/weight/vehicle/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (plateNumber) url += '&plateNumber=' + plateNumber - return await request.apiPost(url) - } - - async vehicleEntry(data) { - return await request.apiPost('/api/user-service/weight/vehicle/entry', data) - } - - async updateVehicleRecord(data) { - return await request.apiPost('/api/user-service/weight/vehicle/update', data) - } - - async listAllVehicles(plateNumber) { - let url = '/api/user-service/weight/vehicle/listAll' - if (plateNumber) url += '?plateNumber=' + plateNumber - return await request.apiGet(url) - } - - // ========== 磅单 ========== - - async pageTickets(pageIndex, pageSize, plateNumber, ticketNo) { - let url = `/api/user-service/weight/ticket/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (plateNumber) url += '&plateNumber=' + plateNumber - if (ticketNo) url += '&ticketNo=' + ticketNo - return await request.apiPost(url) - } - - async firstWeigh(data) { - return await request.apiPost('/api/user-service/weight/ticket/firstWeigh', data) - } - - async secondWeigh(data) { - return await request.apiPost('/api/user-service/weight/ticket/secondWeigh', data) - } - - async editTicket(data) { - return await request.apiPost('/api/user-service/weight/ticket/edit', data) - } - - async getTicketLogs(ticketId) { - return await request.apiGet(`/api/user-service/weight/ticket/logs?ticketId=${ticketId}`) - } - - async printTicket(id) { - return await request.apiPost(`/api/user-service/weight/ticket/print?id=${id}`) - } - - async ticketDetail(id) { - return await request.apiGet(`/api/user-service/weight/ticket/detail?id=${id}`) - } - - // ========== 智能称重设备 ========== - - async pageDevices(pageIndex, pageSize, deviceName, deviceNo) { - let url = `/api/user-service/weight/device/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (deviceName) url += '&deviceName=' + deviceName - if (deviceNo) url += '&deviceNo=' + deviceNo - return await request.apiPost(url) - } - - async addDevice(data) { - return await request.apiPost('/api/user-service/weight/device/add', data) - } - - async updateDevice(data) { - return await request.apiPost('/api/user-service/weight/device/update', data) - } - - async deleteDevice(id) { - return await request.apiPost(`/api/user-service/weight/device/delete?id=${id}`) - } - - // ========== 司机管理 ========== - - async pageDrivers(pageIndex, pageSize, driverName, phone) { - let url = `/api/user-service/weight/driver/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (driverName) url += '&driverName=' + driverName - if (phone) url += '&phone=' + phone - return await request.apiPost(url) - } - - async addDriver(data) { - return await request.apiPost('/api/user-service/weight/driver/add', data) - } - - async updateDriver(data) { - return await request.apiPost('/api/user-service/weight/driver/update', data) - } - - async deleteDriver(id) { - return await request.apiPost(`/api/user-service/weight/driver/delete?id=${id}`) - } - - async listAllDrivers() { - return await request.apiGet('/api/user-service/weight/driver/listAll') - } - - // ========== 过磅卡 ========== - - async pageCards(pageIndex, pageSize, cardNo, cardType) { - let url = `/api/user-service/weight/card/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (cardNo) url += '&cardNo=' + cardNo - if (cardType) url += '&cardType=' + cardType - return await request.apiPost(url) - } - - async getByCardNo(cardNo) { - return await request.apiGet(`/api/user-service/weight/card/getByCardNo?cardNo=${cardNo}`) - } - - async addCard(data) { - return await request.apiPost('/api/user-service/weight/card/add', data) - } - - async updateCard(data) { - return await request.apiPost('/api/user-service/weight/card/update', data) - } - - async deleteCard(id) { - return await request.apiPost(`/api/user-service/weight/card/delete?id=${id}`) - } - - // ========== 北斗卡 ========== - - async pageBeidouCards(pageIndex, pageSize, deviceNo, cardType) { - let url = `/api/user-service/weight/beidou/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (deviceNo) url += '&deviceNo=' + deviceNo - if (cardType) url += '&cardType=' + cardType - return await request.apiPost(url) - } - - async addBeidouCard(data) { - return await request.apiPost('/api/user-service/weight/beidou/add', data) - } - - async updateBeidouCard(data) { - return await request.apiPost('/api/user-service/weight/beidou/update', data) - } - - async deleteBeidouCard(id) { - return await request.apiPost(`/api/user-service/weight/beidou/delete?id=${id}`) - } - - async borrowBeidouCard(cardId, vehicleId, plateNumber) { - let url = `/api/user-service/weight/beidou/borrow?cardId=${cardId}&vehicleId=${vehicleId}` - if (plateNumber) url += '&plateNumber=' + plateNumber - return await request.apiPost(url) - } - - async returnBeidouCard(cardId) { - return await request.apiPost(`/api/user-service/weight/beidou/return?cardId=${cardId}`) - } - - async pageBorrowRecords(pageIndex, pageSize, deviceNo, plateNumber, status) { - let url = `/api/user-service/weight/beidou/borrowRecord/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (deviceNo) url += '&deviceNo=' + deviceNo - if (plateNumber) url += '&plateNumber=' + plateNumber - if (status !== undefined && status !== null) url += '&status=' + status - return await request.apiPost(url) - } - - async getBorrowRecordDetail(id) { - return await request.apiGet(`/api/user-service/weight/beidou/borrowRecord/detail?id=${id}`) - } - - async listAvailableBeidouCards(limit, deviceNo) { - let url = `/api/user-service/weight/beidou/availableList?limit=${limit || 10}` - if (deviceNo) url += '&deviceNo=' + deviceNo - return await request.apiGet(url) - } - - async listBorrowedBeidouCards(limit, deviceNo) { - let url = `/api/user-service/weight/beidou/borrowedList?limit=${limit || 10}` - if (deviceNo) url += '&deviceNo=' + deviceNo - return await request.apiGet(url) - } - - async listPendingSecondWeigh(limit) { - let url = `/api/user-service/weight/ticket/pendingSecondWeigh?limit=${limit || 20}` - return await request.apiGet(url) - } - - // ========== 北斗卡跟踪记录 ========== - - async pageBeidouTracking(pageIndex, pageSize, trackingNo, cardId, deviceNo) { - let url = `/api/user-service/weight/beidou/tracking/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (trackingNo) url += '&trackingNo=' + trackingNo - if (cardId) url += '&cardId=' + cardId - if (deviceNo) url += '&deviceNo=' + deviceNo - return await request.apiPost(url) - } - - async beidouTrackingDetail(id) { - return await request.apiGet(`/api/user-service/weight/beidou/tracking/detail?id=${id}`) - } - - async beidouTrackingLatest(trackingNo) { - return await request.apiGet(`/api/user-service/weight/beidou/tracking/latest?trackingNo=${trackingNo}`) - } - - async beidouTrackingListByNo(trackingNo) { - return await request.apiGet(`/api/user-service/weight/beidou/tracking/listByNo?trackingNo=${trackingNo}`) - } - - async generateMockBeidouData(data) { - let url = `/api/user-service/weight/beidou/tracking/generateMock?cardId=${data.cardId}` + - `&tempMin=${data.tempMin}&tempMax=${data.tempMax}` + - `&humidityMin=${data.humidityMin}&humidityMax=${data.humidityMax}` + - `&count=${data.count}&startTime=${data.startTime}` - return await request.apiPost(url) - } - - // ========== 报警规则管理 ========== - - async pageAlarmRules(pageIndex, pageSize, ruleName) { - let url = `/api/user-service/weight/alarmRule/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (ruleName) url += '&ruleName=' + ruleName - return await request.apiPost(url) - } - - async getAlarmRuleDetail(id) { - return await request.apiGet(`/api/user-service/weight/alarmRule/detail?id=${id}`) - } - - async saveAlarmRule(data) { - return await request.apiPost('/api/user-service/weight/alarmRule/save', data) - } - - async deleteAlarmRule(id) { - return await request.apiPost(`/api/user-service/weight/alarmRule/delete?id=${id}`) - } - - async listAllAlarmRules() { - return await request.apiGet('/api/user-service/weight/alarmRule/listAll') - } - - async bindAlarmRule(cardId, alarmRuleId) { - let url = `/api/user-service/weight/beidou/bindAlarmRule?cardId=${cardId}` - if (alarmRuleId !== null && alarmRuleId !== undefined) url += '&alarmRuleId=' + alarmRuleId - return await request.apiPost(url) - } - - // ========== 报警记录 ========== - - async pageAlarmRecords(pageIndex, pageSize, deviceNo, trackingNo, plateNumber, ruleName) { - let url = `/api/user-service/weight/alarmRecord/page?pageIndex=${pageIndex}&pageSize=${pageSize}` - if (deviceNo) url += '&deviceNo=' + deviceNo - if (trackingNo) url += '&trackingNo=' + trackingNo - if (plateNumber) url += '&plateNumber=' + plateNumber - if (ruleName) url += '&ruleName=' + ruleName - return await request.apiPost(url) - } - - // ========== 企业UI个性化配置 ========== - - async getUiConfig() { - return await request.apiGet('/api/user-service/weight/uiConfig/get') - } - - async saveUiConfig(data) { - return await request.apiPost('/api/user-service/weight/uiConfig/save', data) - } - - async resetUiConfig() { - return await request.apiPost('/api/user-service/weight/uiConfig/reset') - } - - async getUiConfigByCustomer(customerId) { - return await request.apiGet(`/api/user-service/common/uiConfig/getByCustomer?customerId=${customerId}`) - } -} - -const target = new weightApi() -export default target diff --git a/src/components/MarkdownContent.vue b/src/components/MarkdownContent.vue index 8603b66..85a2d15 100644 --- a/src/components/MarkdownContent.vue +++ b/src/components/MarkdownContent.vue @@ -1,9 +1,21 @@ - diff --git a/src/components/brain/OrchardDetailModal.vue b/src/components/brain/OrchardDetailModal.vue deleted file mode 100644 index d2e5259..0000000 --- a/src/components/brain/OrchardDetailModal.vue +++ /dev/null @@ -1,475 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/brain/RightChartPanel.vue b/src/components/brain/RightChartPanel.vue deleted file mode 100644 index 62754c1..0000000 --- a/src/components/brain/RightChartPanel.vue +++ /dev/null @@ -1,493 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/iframeView.vue b/src/components/iframeView.vue index 8844678..e8aab70 100644 --- a/src/components/iframeView.vue +++ b/src/components/iframeView.vue @@ -1,23 +1,11 @@ - @@ -52,4 +35,4 @@ export default { width: 100%; height: 100%; } - \ No newline at end of file + diff --git a/src/components/tracing/BatchDetailModal.vue b/src/components/tracing/BatchDetailModal.vue deleted file mode 100644 index 2258dac..0000000 --- a/src/components/tracing/BatchDetailModal.vue +++ /dev/null @@ -1,3871 +0,0 @@ - - - - - - - diff --git a/src/components/tracing/screen/CenterPanel.vue b/src/components/tracing/screen/CenterPanel.vue deleted file mode 100644 index 55a029e..0000000 --- a/src/components/tracing/screen/CenterPanel.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/components/tracing/screen/ColdStorageDetails.vue b/src/components/tracing/screen/ColdStorageDetails.vue deleted file mode 100644 index 91c0fdc..0000000 --- a/src/components/tracing/screen/ColdStorageDetails.vue +++ /dev/null @@ -1,813 +0,0 @@ - - - - - diff --git a/src/components/tracing/screen/ColdStorageHumidity.vue b/src/components/tracing/screen/ColdStorageHumidity.vue deleted file mode 100644 index f1c6713..0000000 --- a/src/components/tracing/screen/ColdStorageHumidity.vue +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - diff --git a/src/components/tracing/screen/ColdStorageStockModal.vue b/src/components/tracing/screen/ColdStorageStockModal.vue deleted file mode 100644 index fac5181..0000000 --- a/src/components/tracing/screen/ColdStorageStockModal.vue +++ /dev/null @@ -1,573 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/tracing/screen/ColdStorageTemperature.vue b/src/components/tracing/screen/ColdStorageTemperature.vue deleted file mode 100644 index 21cc6d3..0000000 --- a/src/components/tracing/screen/ColdStorageTemperature.vue +++ /dev/null @@ -1,298 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/tracing/screen/ColdStorageUtilization.vue b/src/components/tracing/screen/ColdStorageUtilization.vue deleted file mode 100644 index eee5c7f..0000000 --- a/src/components/tracing/screen/ColdStorageUtilization.vue +++ /dev/null @@ -1,134 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/tracing/screen/ExportOrchard.vue b/src/components/tracing/screen/ExportOrchard.vue deleted file mode 100644 index d5ed657..0000000 --- a/src/components/tracing/screen/ExportOrchard.vue +++ /dev/null @@ -1,232 +0,0 @@ - - - - - diff --git a/src/components/tracing/screen/ExportOrders.vue b/src/components/tracing/screen/ExportOrders.vue deleted file mode 100644 index da820a5..0000000 --- a/src/components/tracing/screen/ExportOrders.vue +++ /dev/null @@ -1,426 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/tracing/screen/FruitSizeChart.vue b/src/components/tracing/screen/FruitSizeChart.vue deleted file mode 100644 index 1dbb239..0000000 --- a/src/components/tracing/screen/FruitSizeChart.vue +++ /dev/null @@ -1,338 +0,0 @@ - - - - - diff --git a/src/components/tracing/screen/GradingChart.vue b/src/components/tracing/screen/GradingChart.vue deleted file mode 100644 index 7756519..0000000 --- a/src/components/tracing/screen/GradingChart.vue +++ /dev/null @@ -1,471 +0,0 @@ - - - - - diff --git a/src/components/tracing/screen/HarvestProgress.vue b/src/components/tracing/screen/HarvestProgress.vue deleted file mode 100644 index d0d103d..0000000 --- a/src/components/tracing/screen/HarvestProgress.vue +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/components/tracing/screen/Header.vue b/src/components/tracing/screen/Header.vue deleted file mode 100644 index 8d16c97..0000000 --- a/src/components/tracing/screen/Header.vue +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/components/tracing/screen/LeftPanel.vue b/src/components/tracing/screen/LeftPanel.vue deleted file mode 100644 index ae1e1bb..0000000 --- a/src/components/tracing/screen/LeftPanel.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/components/tracing/screen/LogisticsMapZXNY.vue b/src/components/tracing/screen/LogisticsMapZXNY.vue deleted file mode 100644 index d39b970..0000000 --- a/src/components/tracing/screen/LogisticsMapZXNY.vue +++ /dev/null @@ -1,1101 +0,0 @@ - - - - - diff --git a/src/components/tracing/screen/LogisticsTrack.vue b/src/components/tracing/screen/LogisticsTrack.vue deleted file mode 100644 index f03d798..0000000 --- a/src/components/tracing/screen/LogisticsTrack.vue +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/components/tracing/screen/MapView.vue b/src/components/tracing/screen/MapView.vue deleted file mode 100644 index d03d5ac..0000000 --- a/src/components/tracing/screen/MapView.vue +++ /dev/null @@ -1,768 +0,0 @@ - - - - - diff --git a/src/components/tracing/screen/MonitorGrid.vue b/src/components/tracing/screen/MonitorGrid.vue deleted file mode 100644 index 8dded36..0000000 --- a/src/components/tracing/screen/MonitorGrid.vue +++ /dev/null @@ -1,140 +0,0 @@ - - - - - diff --git a/src/components/tracing/screen/ProductionBatchModal.vue b/src/components/tracing/screen/ProductionBatchModal.vue deleted file mode 100644 index dc5b432..0000000 --- a/src/components/tracing/screen/ProductionBatchModal.vue +++ /dev/null @@ -1,701 +0,0 @@ - - - - - diff --git a/src/components/tracing/screen/ProductionStats.vue b/src/components/tracing/screen/ProductionStats.vue deleted file mode 100644 index f0cb7b5..0000000 --- a/src/components/tracing/screen/ProductionStats.vue +++ /dev/null @@ -1,287 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/tracing/screen/RightPanel.vue b/src/components/tracing/screen/RightPanel.vue deleted file mode 100644 index f045044..0000000 --- a/src/components/tracing/screen/RightPanel.vue +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - diff --git a/src/components/tracing/screen/ScreenProductionBatchModal.vue b/src/components/tracing/screen/ScreenProductionBatchModal.vue deleted file mode 100644 index 754be97..0000000 --- a/src/components/tracing/screen/ScreenProductionBatchModal.vue +++ /dev/null @@ -1,626 +0,0 @@ - - - - - diff --git a/src/components/tracing/screen/SoilHistoryTrendDialog.vue b/src/components/tracing/screen/SoilHistoryTrendDialog.vue deleted file mode 100644 index c1e52ed..0000000 --- a/src/components/tracing/screen/SoilHistoryTrendDialog.vue +++ /dev/null @@ -1,551 +0,0 @@ - - - - - diff --git a/src/components/tracing/screen/WarehouseMonitor.vue b/src/components/tracing/screen/WarehouseMonitor.vue deleted file mode 100644 index 8a84107..0000000 --- a/src/components/tracing/screen/WarehouseMonitor.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - diff --git a/src/components/tracing/screen/players/EzvizFlvPlayer.vue b/src/components/tracing/screen/players/EzvizFlvPlayer.vue deleted file mode 100644 index a4752da..0000000 --- a/src/components/tracing/screen/players/EzvizFlvPlayer.vue +++ /dev/null @@ -1,282 +0,0 @@ - - - - - diff --git a/src/components/tracing/screen/players/EzvizUIKitPlayer.vue b/src/components/tracing/screen/players/EzvizUIKitPlayer.vue deleted file mode 100644 index cb7d706..0000000 --- a/src/components/tracing/screen/players/EzvizUIKitPlayer.vue +++ /dev/null @@ -1,138 +0,0 @@ - - - - - diff --git a/src/components/tracing/screen/players/ZLMediaKitPlayer.vue b/src/components/tracing/screen/players/ZLMediaKitPlayer.vue deleted file mode 100644 index 7cb2832..0000000 --- a/src/components/tracing/screen/players/ZLMediaKitPlayer.vue +++ /dev/null @@ -1,306 +0,0 @@ - - - - - diff --git a/src/config/ezviz.example.js b/src/config/ezviz.example.js deleted file mode 100644 index 4561885..0000000 --- a/src/config/ezviz.example.js +++ /dev/null @@ -1,26 +0,0 @@ -export default { - accessToken: '', - cameras: [ - { - name: 'BK2163416', - deviceSerial: 'BK2163416', - channelNo: 1, - stream: 'hd', - enabled: true - }, - { - name: 'BK2163935', - deviceSerial: 'BK2163935', - channelNo: 1, - stream: 'sd', - enabled: true - }, - { - name: 'A3地块', - deviceSerial: 'BK2162699', - channelNo: 1, - stream: 'hd', - enabled: false - } - ] -} diff --git a/src/config/ezviz.js b/src/config/ezviz.js deleted file mode 100644 index 8770e1b..0000000 --- a/src/config/ezviz.js +++ /dev/null @@ -1,27 +0,0 @@ -// 部署环境可填写 accessToken;本地密钥请用 ezviz.local.js(已 gitignore) -export default { - accessToken: '', - cameras: [ - { - name: 'BK2163416', - deviceSerial: 'BK2163416', - channelNo: 1, - stream: 'hd', - enabled: true - }, - { - name: 'BK2163935', - deviceSerial: 'BK2163935', - channelNo: 1, - stream: 'sd', - enabled: true - }, - { - name: 'A3地块', - deviceSerial: 'BK2162699', - channelNo: 1, - stream: 'hd', - enabled: false - } - ] -} diff --git a/src/config/tracingOpenKey.js b/src/config/tracingOpenKey.js deleted file mode 100644 index 3e80a07..0000000 --- a/src/config/tracingOpenKey.js +++ /dev/null @@ -1,5 +0,0 @@ -/** 账权开放平台 open-key,用于溯源追踪配置查询 */ -export const TRACING_OPEN_KEY = process.env.VUE_APP_TRACING_OPEN_KEY - || '221533b6c4951ec7cd2e64241de6de08' - -export default TRACING_OPEN_KEY diff --git a/src/layout/components/TopHeader.vue b/src/layout/components/TopHeader.vue index fdb5167..41243c8 100644 --- a/src/layout/components/TopHeader.vue +++ b/src/layout/components/TopHeader.vue @@ -76,9 +76,6 @@ - - diff --git a/src/views/brain/index.vue b/src/views/brain/index.vue deleted file mode 100644 index 2377f64..0000000 --- a/src/views/brain/index.vue +++ /dev/null @@ -1,570 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/certify/index.vue b/src/views/certify/index.vue deleted file mode 100644 index e0a4b6a..0000000 --- a/src/views/certify/index.vue +++ /dev/null @@ -1,723 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/certifyAgreement/index.vue b/src/views/certifyAgreement/index.vue deleted file mode 100644 index 6500c9e..0000000 --- a/src/views/certifyAgreement/index.vue +++ /dev/null @@ -1,139 +0,0 @@ - - - - - diff --git a/src/views/customer/index.vue b/src/views/customer/index.vue index fadf9e4..332c754 100644 --- a/src/views/customer/index.vue +++ b/src/views/customer/index.vue @@ -485,7 +485,6 @@ import msgUtil from '@/utils/msgUtil' import PageBox from '@/components/pageBox.vue' import AiHelper from '@/components/ai/ai_helper.vue' import userApi from '@/api/user' -import huobanTableApi from '@/api/huobanTableApi' import llmAgentApi from '@/api/llmAgentApi' export default { @@ -1613,13 +1612,9 @@ export default { updateFields: ['saasId'], action: 'one_update' } - const res = await huobanTableApi.upsetOne(payload) - if (res && res.code === 1) { - item.status = 'success' - } else { - item.status = 'fail' - item.reason = res.msg || '未知' - } + // huobanTableApi removed in apes-Authon-Web + item.status = 'skip' + item.reason = 'huoban sync not available' } catch (e) { item.status = 'fail' item.reason = e.message || '异常' diff --git a/src/views/customer/uiConfig.vue b/src/views/customer/uiConfig.vue index a338921..c12c6b1 100644 --- a/src/views/customer/uiConfig.vue +++ b/src/views/customer/uiConfig.vue @@ -63,7 +63,6 @@ - - diff --git a/src/views/fei/cropAdd.vue b/src/views/fei/cropAdd.vue deleted file mode 100644 index a68aa78..0000000 --- a/src/views/fei/cropAdd.vue +++ /dev/null @@ -1,438 +0,0 @@ - - - - - diff --git a/src/views/fei/cropManagement.vue b/src/views/fei/cropManagement.vue deleted file mode 100644 index 86ffdd5..0000000 --- a/src/views/fei/cropManagement.vue +++ /dev/null @@ -1,383 +0,0 @@ - - - - - diff --git a/src/views/fei/cropPhenology.vue b/src/views/fei/cropPhenology.vue deleted file mode 100644 index 952bad1..0000000 --- a/src/views/fei/cropPhenology.vue +++ /dev/null @@ -1,449 +0,0 @@ - - - - - diff --git a/src/views/fei/deviceControl.vue b/src/views/fei/deviceControl.vue deleted file mode 100644 index 103dd4d..0000000 --- a/src/views/fei/deviceControl.vue +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - diff --git a/src/views/fei/deviceControl/index.vue b/src/views/fei/deviceControl/index.vue deleted file mode 100644 index 4c55be4..0000000 --- a/src/views/fei/deviceControl/index.vue +++ /dev/null @@ -1,1371 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/views/fei/deviceDataList.vue b/src/views/fei/deviceDataList.vue deleted file mode 100644 index 6fe0631..0000000 --- a/src/views/fei/deviceDataList.vue +++ /dev/null @@ -1,271 +0,0 @@ - - - - - diff --git a/src/views/fei/deviceDataReport.vue b/src/views/fei/deviceDataReport.vue deleted file mode 100644 index ccb3e4e..0000000 --- a/src/views/fei/deviceDataReport.vue +++ /dev/null @@ -1,227 +0,0 @@ - - - - - diff --git a/src/views/fei/dosingLog/index.vue b/src/views/fei/dosingLog/index.vue deleted file mode 100644 index f1ab2da..0000000 --- a/src/views/fei/dosingLog/index.vue +++ /dev/null @@ -1,239 +0,0 @@ - - - - - diff --git a/src/views/fei/farmCalendar/index.vue b/src/views/fei/farmCalendar/index.vue deleted file mode 100644 index 1363574..0000000 --- a/src/views/fei/farmCalendar/index.vue +++ /dev/null @@ -1,571 +0,0 @@ - - - - - diff --git a/src/views/fei/farmPlan/index.vue b/src/views/fei/farmPlan/index.vue deleted file mode 100644 index 698bc51..0000000 --- a/src/views/fei/farmPlan/index.vue +++ /dev/null @@ -1,474 +0,0 @@ - - - diff --git a/src/views/fei/fertilizationFormula.vue b/src/views/fei/fertilizationFormula.vue deleted file mode 100644 index e8e0c42..0000000 --- a/src/views/fei/fertilizationFormula.vue +++ /dev/null @@ -1,792 +0,0 @@ - - - - - diff --git a/src/views/fei/inputMaterial/index.vue b/src/views/fei/inputMaterial/index.vue deleted file mode 100644 index a62304a..0000000 --- a/src/views/fei/inputMaterial/index.vue +++ /dev/null @@ -1,570 +0,0 @@ - - - diff --git a/src/views/fei/inputMaterialStockLog.vue b/src/views/fei/inputMaterialStockLog.vue deleted file mode 100644 index 8de2f92..0000000 --- a/src/views/fei/inputMaterialStockLog.vue +++ /dev/null @@ -1,467 +0,0 @@ - - - - - diff --git a/src/views/fei/inspectionItem.vue b/src/views/fei/inspectionItem.vue deleted file mode 100644 index 76673be..0000000 --- a/src/views/fei/inspectionItem.vue +++ /dev/null @@ -1,367 +0,0 @@ - - - diff --git a/src/views/fei/inspectionRecord.vue b/src/views/fei/inspectionRecord.vue deleted file mode 100644 index e97f3c2..0000000 --- a/src/views/fei/inspectionRecord.vue +++ /dev/null @@ -1,771 +0,0 @@ - - - - - diff --git a/src/views/fei/irrigationRecord/index.vue b/src/views/fei/irrigationRecord/index.vue deleted file mode 100644 index 2a33616..0000000 --- a/src/views/fei/irrigationRecord/index.vue +++ /dev/null @@ -1,242 +0,0 @@ - - - - - diff --git a/src/views/fei/marketDevice.vue b/src/views/fei/marketDevice.vue deleted file mode 100644 index 7a93a8e..0000000 --- a/src/views/fei/marketDevice.vue +++ /dev/null @@ -1,897 +0,0 @@ - - - - - diff --git a/src/views/fei/plotInfo.vue b/src/views/fei/plotInfo.vue deleted file mode 100644 index 2efa1e0..0000000 --- a/src/views/fei/plotInfo.vue +++ /dev/null @@ -1,889 +0,0 @@ - - - diff --git a/src/views/fei/repairRecord.vue b/src/views/fei/repairRecord.vue deleted file mode 100644 index 4c8d943..0000000 --- a/src/views/fei/repairRecord.vue +++ /dev/null @@ -1,336 +0,0 @@ - - - diff --git a/src/views/fei/screen/index.vue b/src/views/fei/screen/index.vue deleted file mode 100644 index 092dc99..0000000 --- a/src/views/fei/screen/index.vue +++ /dev/null @@ -1,2660 +0,0 @@ - - - - - diff --git a/src/views/fei/simulateData.vue b/src/views/fei/simulateData.vue deleted file mode 100644 index 8ae4808..0000000 --- a/src/views/fei/simulateData.vue +++ /dev/null @@ -1,319 +0,0 @@ - - - - - diff --git a/src/views/fei/solenoidValve/index.vue b/src/views/fei/solenoidValve/index.vue deleted file mode 100644 index 006e5c5..0000000 --- a/src/views/fei/solenoidValve/index.vue +++ /dev/null @@ -1,744 +0,0 @@ - - - diff --git a/src/views/fertigationDevice/index.vue b/src/views/fertigationDevice/index.vue deleted file mode 100644 index e6e5636..0000000 --- a/src/views/fertigationDevice/index.vue +++ /dev/null @@ -1,778 +0,0 @@ - - - diff --git a/src/views/home/index.vue b/src/views/home/index.vue index 60e87b8..e8ff0c8 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -130,7 +130,6 @@ import PageBox from '@/components/pageBox.vue' import customerApi from '@/api/customerApi' import userApi from '@/api/user' -import extLinkApi from '@/api/extLink' export default { name: 'Workbench', @@ -268,18 +267,7 @@ export default { } }, async loadExtLinks() { - try { - const res = await extLinkApi.getPage({ - status: 1, - pageIndex: 1, - pageSize: 100 - }) - if (res.code === 1) { - this.extLinkList = res.data.records || [] - } - } catch (e) { - console.error('loadExtLinks error:', e) - } + // extLink feature removed in apes-Authon-Web }, getCardStyle(link) { if (link.thumbnail) { diff --git a/src/views/huoban/dynamicForm.vue b/src/views/huoban/dynamicForm.vue deleted file mode 100644 index d4e37c7..0000000 --- a/src/views/huoban/dynamicForm.vue +++ /dev/null @@ -1,1682 +0,0 @@ - - - - - diff --git a/src/views/huoban/huobanFormList.vue b/src/views/huoban/huobanFormList.vue deleted file mode 100644 index 6b75856..0000000 --- a/src/views/huoban/huobanFormList.vue +++ /dev/null @@ -1,131 +0,0 @@ - - - - - diff --git a/src/views/huoban/huobanFormRender.vue b/src/views/huoban/huobanFormRender.vue deleted file mode 100644 index f3b3746..0000000 --- a/src/views/huoban/huobanFormRender.vue +++ /dev/null @@ -1,662 +0,0 @@ - - - - - diff --git a/src/views/huoban/index.vue b/src/views/huoban/index.vue deleted file mode 100644 index d20d515..0000000 --- a/src/views/huoban/index.vue +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - diff --git a/src/views/huoban/spaceList.vue b/src/views/huoban/spaceList.vue deleted file mode 100644 index 8e1dd6d..0000000 --- a/src/views/huoban/spaceList.vue +++ /dev/null @@ -1,111 +0,0 @@ - - - - - diff --git a/src/views/huoban/tableColumn.vue b/src/views/huoban/tableColumn.vue deleted file mode 100644 index e408e56..0000000 --- a/src/views/huoban/tableColumn.vue +++ /dev/null @@ -1,417 +0,0 @@ - - - - - diff --git a/src/views/huoban/tableInfo.vue b/src/views/huoban/tableInfo.vue deleted file mode 100644 index 691de34..0000000 --- a/src/views/huoban/tableInfo.vue +++ /dev/null @@ -1,275 +0,0 @@ - - - - - diff --git a/src/views/irrigation/exec.vue b/src/views/irrigation/exec.vue deleted file mode 100644 index 7a73260..0000000 --- a/src/views/irrigation/exec.vue +++ /dev/null @@ -1,311 +0,0 @@ - - - diff --git a/src/views/irrigation/plan.vue b/src/views/irrigation/plan.vue deleted file mode 100644 index 46e7899..0000000 --- a/src/views/irrigation/plan.vue +++ /dev/null @@ -1,741 +0,0 @@ - - - \ No newline at end of file diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 2d80d47..ba11c65 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -126,9 +126,7 @@ diff --git a/src/views/payment/index.vue b/src/views/payment/index.vue deleted file mode 100644 index c760e4a..0000000 --- a/src/views/payment/index.vue +++ /dev/null @@ -1,106 +0,0 @@ - - - - - diff --git a/src/views/preference/index.vue b/src/views/preference/index.vue deleted file mode 100644 index fb723a1..0000000 --- a/src/views/preference/index.vue +++ /dev/null @@ -1,74 +0,0 @@ - - - diff --git a/src/views/trace/category/index.vue b/src/views/trace/category/index.vue deleted file mode 100644 index 5456e84..0000000 --- a/src/views/trace/category/index.vue +++ /dev/null @@ -1,189 +0,0 @@ - - - diff --git a/src/views/trace/certificate/index.vue b/src/views/trace/certificate/index.vue deleted file mode 100644 index 3ac0d56..0000000 --- a/src/views/trace/certificate/index.vue +++ /dev/null @@ -1,285 +0,0 @@ - - - - - diff --git a/src/views/trace/code/audit.vue b/src/views/trace/code/audit.vue deleted file mode 100644 index bf9de2c..0000000 --- a/src/views/trace/code/audit.vue +++ /dev/null @@ -1,118 +0,0 @@ - - - diff --git a/src/views/trace/code/bind.vue b/src/views/trace/code/bind.vue deleted file mode 100644 index 3bc6ff1..0000000 --- a/src/views/trace/code/bind.vue +++ /dev/null @@ -1,257 +0,0 @@ - - - diff --git a/src/views/trace/code/exception.vue b/src/views/trace/code/exception.vue deleted file mode 100644 index 74f8e50..0000000 --- a/src/views/trace/code/exception.vue +++ /dev/null @@ -1,236 +0,0 @@ - - - diff --git a/src/views/trace/code/list.vue b/src/views/trace/code/list.vue deleted file mode 100644 index 7ae4ae1..0000000 --- a/src/views/trace/code/list.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - diff --git a/src/views/trace/code/relation.vue b/src/views/trace/code/relation.vue deleted file mode 100644 index 7f5f219..0000000 --- a/src/views/trace/code/relation.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - diff --git a/src/views/trace/code/task.vue b/src/views/trace/code/task.vue deleted file mode 100644 index 2b6a7db..0000000 --- a/src/views/trace/code/task.vue +++ /dev/null @@ -1,266 +0,0 @@ - - - diff --git a/src/views/trace/feedback/index.vue b/src/views/trace/feedback/index.vue deleted file mode 100644 index 58ab8c5..0000000 --- a/src/views/trace/feedback/index.vue +++ /dev/null @@ -1,248 +0,0 @@ - - - diff --git a/src/views/trace/harvest/index.vue b/src/views/trace/harvest/index.vue deleted file mode 100644 index a705b0d..0000000 --- a/src/views/trace/harvest/index.vue +++ /dev/null @@ -1,273 +0,0 @@ - - - - - diff --git a/src/views/trace/land/index.vue b/src/views/trace/land/index.vue deleted file mode 100644 index c1dc67e..0000000 --- a/src/views/trace/land/index.vue +++ /dev/null @@ -1,274 +0,0 @@ - - - - - diff --git a/src/views/trace/process/index.vue b/src/views/trace/process/index.vue deleted file mode 100644 index 23ab012..0000000 --- a/src/views/trace/process/index.vue +++ /dev/null @@ -1,288 +0,0 @@ - - - - - diff --git a/src/views/trace/product/index.vue b/src/views/trace/product/index.vue deleted file mode 100644 index 184ad82..0000000 --- a/src/views/trace/product/index.vue +++ /dev/null @@ -1,244 +0,0 @@ - - - - - diff --git a/src/views/trace/qualification/index.vue b/src/views/trace/qualification/index.vue deleted file mode 100644 index 9046fc9..0000000 --- a/src/views/trace/qualification/index.vue +++ /dev/null @@ -1,240 +0,0 @@ - - - diff --git a/src/views/trace/quality/index.vue b/src/views/trace/quality/index.vue deleted file mode 100644 index 4ca802e..0000000 --- a/src/views/trace/quality/index.vue +++ /dev/null @@ -1,316 +0,0 @@ - - - - - diff --git a/src/views/trace/recall/index.vue b/src/views/trace/recall/index.vue deleted file mode 100644 index 87775f7..0000000 --- a/src/views/trace/recall/index.vue +++ /dev/null @@ -1,244 +0,0 @@ - - - diff --git a/src/views/trace/warehouse/in.vue b/src/views/trace/warehouse/in.vue deleted file mode 100644 index e34db53..0000000 --- a/src/views/trace/warehouse/in.vue +++ /dev/null @@ -1,395 +0,0 @@ - - - diff --git a/src/views/trace/warehouse/inventory.vue b/src/views/trace/warehouse/inventory.vue deleted file mode 100644 index 7e04cd3..0000000 --- a/src/views/trace/warehouse/inventory.vue +++ /dev/null @@ -1,246 +0,0 @@ - - - - - diff --git a/src/views/trace/warehouse/logistics.vue b/src/views/trace/warehouse/logistics.vue deleted file mode 100644 index bc6b39c..0000000 --- a/src/views/trace/warehouse/logistics.vue +++ /dev/null @@ -1,281 +0,0 @@ - - - - - diff --git a/src/views/trace/warehouse/out.vue b/src/views/trace/warehouse/out.vue deleted file mode 100644 index d87cc39..0000000 --- a/src/views/trace/warehouse/out.vue +++ /dev/null @@ -1,399 +0,0 @@ - - - - - diff --git a/src/views/trace/warehouseLayout/index.vue b/src/views/trace/warehouseLayout/index.vue deleted file mode 100644 index 0e4b631..0000000 --- a/src/views/trace/warehouseLayout/index.vue +++ /dev/null @@ -1,933 +0,0 @@ - - - - - diff --git a/src/views/tracing/production-batch.vue b/src/views/tracing/production-batch.vue deleted file mode 100644 index f429ab4..0000000 --- a/src/views/tracing/production-batch.vue +++ /dev/null @@ -1,675 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/tracing/route.vue b/src/views/tracing/route.vue deleted file mode 100644 index dfb5ee4..0000000 --- a/src/views/tracing/route.vue +++ /dev/null @@ -1,946 +0,0 @@ - - - - - - - diff --git a/src/views/tracing/routeH5.vue b/src/views/tracing/routeH5.vue deleted file mode 100644 index 474b1c1..0000000 --- a/src/views/tracing/routeH5.vue +++ /dev/null @@ -1,868 +0,0 @@ - - - - - diff --git a/src/views/tracing/screen/LogisticsScreenZXNY.vue b/src/views/tracing/screen/LogisticsScreenZXNY.vue deleted file mode 100644 index beedca6..0000000 --- a/src/views/tracing/screen/LogisticsScreenZXNY.vue +++ /dev/null @@ -1,1458 +0,0 @@ - - - - - - - diff --git a/src/views/tracing/screen/index.vue b/src/views/tracing/screen/index.vue deleted file mode 100644 index f9fe7d8..0000000 --- a/src/views/tracing/screen/index.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - - - diff --git a/src/views/tracing/trace-detail-h5.vue b/src/views/tracing/trace-detail-h5.vue deleted file mode 100644 index dc5c0df..0000000 --- a/src/views/tracing/trace-detail-h5.vue +++ /dev/null @@ -1,3690 +0,0 @@ - - - - - diff --git a/src/views/tracking/configList.vue b/src/views/tracking/configList.vue deleted file mode 100644 index 2d4d10e..0000000 --- a/src/views/tracking/configList.vue +++ /dev/null @@ -1,325 +0,0 @@ - - - - - diff --git a/src/views/waterFertilizer/cameraInfo.vue b/src/views/waterFertilizer/cameraInfo.vue deleted file mode 100644 index afcbf45..0000000 --- a/src/views/waterFertilizer/cameraInfo.vue +++ /dev/null @@ -1,580 +0,0 @@ - - - - - diff --git a/src/views/web/index.vue b/src/views/web/index.vue deleted file mode 100644 index 3f2c6b9..0000000 --- a/src/views/web/index.vue +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - diff --git a/src/views/weight/alarmRule.vue b/src/views/weight/alarmRule.vue deleted file mode 100644 index c602824..0000000 --- a/src/views/weight/alarmRule.vue +++ /dev/null @@ -1,321 +0,0 @@ - - - - - diff --git a/src/views/weight/beidouAlarmRecord.vue b/src/views/weight/beidouAlarmRecord.vue deleted file mode 100644 index de3fddf..0000000 --- a/src/views/weight/beidouAlarmRecord.vue +++ /dev/null @@ -1,158 +0,0 @@ - - - diff --git a/src/views/weight/beidouBorrowRecord.vue b/src/views/weight/beidouBorrowRecord.vue deleted file mode 100644 index 401cdea..0000000 --- a/src/views/weight/beidouBorrowRecord.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - diff --git a/src/views/weight/beidouBorrowRecordDetail.vue b/src/views/weight/beidouBorrowRecordDetail.vue deleted file mode 100644 index a9280ad..0000000 --- a/src/views/weight/beidouBorrowRecordDetail.vue +++ /dev/null @@ -1,200 +0,0 @@ - - - diff --git a/src/views/weight/beidouCardManage.vue b/src/views/weight/beidouCardManage.vue deleted file mode 100644 index 6ed8aae..0000000 --- a/src/views/weight/beidouCardManage.vue +++ /dev/null @@ -1,487 +0,0 @@ - - - diff --git a/src/views/weight/beidouTrackingDetail.vue b/src/views/weight/beidouTrackingDetail.vue deleted file mode 100644 index eaa198a..0000000 --- a/src/views/weight/beidouTrackingDetail.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - diff --git a/src/views/weight/cardManage.vue b/src/views/weight/cardManage.vue deleted file mode 100644 index f7cb1c5..0000000 --- a/src/views/weight/cardManage.vue +++ /dev/null @@ -1,216 +0,0 @@ - - - diff --git a/src/views/weight/deviceManage.vue b/src/views/weight/deviceManage.vue deleted file mode 100644 index 0550018..0000000 --- a/src/views/weight/deviceManage.vue +++ /dev/null @@ -1,410 +0,0 @@ - - - diff --git a/src/views/weight/driverManage.vue b/src/views/weight/driverManage.vue deleted file mode 100644 index 84e0483..0000000 --- a/src/views/weight/driverManage.vue +++ /dev/null @@ -1,172 +0,0 @@ - - - diff --git a/src/views/weight/receiptPrint.vue b/src/views/weight/receiptPrint.vue deleted file mode 100644 index cc4a97b..0000000 --- a/src/views/weight/receiptPrint.vue +++ /dev/null @@ -1,331 +0,0 @@ - - - - - diff --git a/src/views/weight/ticket.vue b/src/views/weight/ticket.vue deleted file mode 100644 index 190e252..0000000 --- a/src/views/weight/ticket.vue +++ /dev/null @@ -1,1096 +0,0 @@ - - - - - diff --git a/src/views/weight/vehicleRecord.vue b/src/views/weight/vehicleRecord.vue deleted file mode 100644 index edc3ede..0000000 --- a/src/views/weight/vehicleRecord.vue +++ /dev/null @@ -1,251 +0,0 @@ - - - - - diff --git a/src/views/weight/workstation.vue b/src/views/weight/workstation.vue deleted file mode 100644 index 63d23d7..0000000 --- a/src/views/weight/workstation.vue +++ /dev/null @@ -1,831 +0,0 @@ - - - - - diff --git a/vue.config.js b/vue.config.js index 3b39740..878cacc 100644 --- a/vue.config.js +++ b/vue.config.js @@ -5,17 +5,14 @@ function resolve(dir) { return path.join(__dirname, dir) } -const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin') - module.exports = { publicPath: process.env.NODE_ENV === 'production' ? '/' : '/', - outputDir: "saas-web", + outputDir: "authon-web", lintOnSave: false, productionSourceMap: false, devServer: { host: '0.0.0.0', port: 8201, - public: 'saas.ape.ccoop.cc:99', open: 'http://localhost:8201/', disableHostCheck: true, compress: true, @@ -24,35 +21,25 @@ module.exports = { errors: true }, proxy: { - '/api/user-service': { target: 'http://localhost:8202', changeOrigin: true, pathRewrite: { '^/api/user-service': '/' } - }, - '/n8n': { - target: 'https://n8n.ccoop.cc', - changeOrigin: true, - pathRewrite: { - '^/n8n': '' - } } } }, - + configureWebpack: { externals: { 'vue': 'Vue', 'vue-router': 'VueRouter', 'vuex': 'Vuex', 'element-ui': 'ELEMENT', - 'echarts': 'echarts', - 'axios': 'axios', - 'monaco-editor': 'monaco' + 'axios': 'axios' }, - name: '账权云平台 ', + name: 'apes-Authon', resolve: { alias: { '@': resolve('src') @@ -64,30 +51,12 @@ module.exports = { maxInitialRequests: Infinity, minSize: 20000, cacheGroups: { - monaco: { - name: 'chunk-monaco', - test: /[\\/]node_modules[\\/](monaco-editor|vue-monaco)[\\/]/, - priority: 40, - reuseExistingChunk: true - }, elementUI: { name: 'chunk-element-ui', test: /[\\/]node_modules[\\/]element-ui[\\/]/, priority: 30, reuseExistingChunk: true }, - echarts: { - name: 'chunk-echarts', - test: /[\\/]node_modules[\\/]echarts[\\/]/, - priority: 30, - reuseExistingChunk: true - }, - wangEditor: { - name: 'chunk-wang-editor', - test: /[\\/]node_modules[\\/]@wangeditor[\\/]/, - priority: 30, - reuseExistingChunk: true - }, vue: { name: 'chunk-vue', test: /[\\/]node_modules[\\/](vue|vue-router|vuex)[\\/]/, @@ -114,7 +83,6 @@ module.exports = { chainWebpack(config) { config.plugins.delete('preload') config.plugins.delete('prefetch') - config.plugins.delete('optimize-css'); - + config.plugins.delete('optimize-css'); } }