-
-
- RuoYi-Vue-Plus后台管理框架
-
- RuoYi-Vue-Plus 是基于 RuoYi-Vue 针对 分布式集群 场景升级(不兼容原框架)
-
- * 前端开发框架 Vue、Element UI
- * 后端开发框架 Spring Boot
- * 容器框架 Undertow 基于 XNIO 的高性能容器
- * 权限认证框架 Sa-Token、Jwt 支持多终端认证系统
- * 关系数据库 MySQL 适配 8.X 最低 5.7
- * 关系数据库 Oracle 适配 11g 12c
- * 关系数据库 PostgreSQL 适配 13 14
- * 关系数据库 SQLServer 适配 2017 2019
- * 缓存数据库 Redis 适配 6.X 最低 4.X
- * 数据库框架 Mybatis-Plus 快速 CRUD 增加开发效率
- * 数据库框架 p6spy 更强劲的 SQL 分析
- * 多数据源框架 dynamic-datasource 支持主从与多种类数据库异构
- * 序列化框架 Jackson 统一使用 jackson 高效可靠
- * Redis客户端 Redisson 性能强劲、API丰富
- * 分布式限流 Redisson 全局、请求IP、集群ID 多种限流
- * 分布式锁 Lock4j 注解锁、工具锁 多种多样
- * 分布式幂等 Redisson 拦截重复提交
- * 分布式链路追踪 SkyWalking 支持链路追踪、网格分析、度量聚合、可视化
- * 分布式任务调度 Xxl-Job 高性能 高可靠 易扩展
- * 分布式文件存储 Minio 本地存储
- * 分布式云存储 七牛、阿里、腾讯 云存储
- * 监控框架 SpringBoot-Admin 全方位服务监控
- * 校验框架 Validation 增强接口安全性 严谨性
- * Excel框架 Alibaba EasyExcel 性能优异 扩展性强
- * 文档框架 SpringDoc、javadoc 无注解零入侵基于java注释
- * 工具类框架 Hutool、Lombok 减少代码冗余 增加安全性
- * 代码生成器 适配MP、SpringDoc规范化代码 一键生成前后端代码
- * 部署方式 Docker 容器编排 一键部署业务集群
- * 国际化 SpringMessage Spring标准国际化方案
-
-
- 当前版本: v{{ version }}
-
-
- ¥免费开源
-
-
- 访问码云
- 访问GitHub
- 更新日志
-
-
+
-
-
-
- 技术选型
-
-
-
-
- 后端技术
-
- - SpringBoot
- - Sa-Token
- - JWT
- - MyBatis
- - Druid
- - Jackson
- - ...
-
-
-
- 前端技术
-
- - Vue
- - Vuex
- - Element-ui
- - Axios
- - Sass
- - Quill
- - ...
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
最近操作记录
+
+
+
+
+
+
+
{{ record.action }}
+
{{ record.time }}
+
+
+
+
+
-
diff --git a/klp-ui/src/views/wms/order/components/CustomerCluster.vue b/klp-ui/src/views/wms/order/components/CustomerCluster.vue
new file mode 100644
index 00000000..cc443f4a
--- /dev/null
+++ b/klp-ui/src/views/wms/order/components/CustomerCluster.vue
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
diff --git a/klp-ui/src/views/wms/order/components/OrderCompletion.vue b/klp-ui/src/views/wms/order/components/OrderCompletion.vue
new file mode 100644
index 00000000..1c65754e
--- /dev/null
+++ b/klp-ui/src/views/wms/order/components/OrderCompletion.vue
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+
diff --git a/klp-ui/src/views/wms/order/components/OrderMaterialAnalysis.vue b/klp-ui/src/views/wms/order/components/OrderMaterialAnalysis.vue
new file mode 100644
index 00000000..2944ddab
--- /dev/null
+++ b/klp-ui/src/views/wms/order/components/OrderMaterialAnalysis.vue
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/klp-ui/src/views/wms/order/components/OrderSummary.vue b/klp-ui/src/views/wms/order/components/OrderSummary.vue
new file mode 100644
index 00000000..a46079be
--- /dev/null
+++ b/klp-ui/src/views/wms/order/components/OrderSummary.vue
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
总订单数
+
+
{{ dataInfo.totalOrders.toLocaleString() }}
+
+
+ 12.5%
+
+
+
+
+
+
+
+
+
+
本月完成订单
+
+
{{ dataInfo.completedThisMonth.toLocaleString() }}
+
+
+ 8.3%
+
+
+
+
+
+
+
+
+
+
订单完成度
+
+
{{ dataInfo.completionRate.toFixed(1) }}%
+
+
+ 2.1%
+
+
+
+
+
+
+
+
+
+
+
diff --git a/klp-ui/src/views/wms/order/components/ProductSales.vue b/klp-ui/src/views/wms/order/components/ProductSales.vue
new file mode 100644
index 00000000..30e0bead
--- /dev/null
+++ b/klp-ui/src/views/wms/order/components/ProductSales.vue
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
diff --git a/klp-ui/src/views/wms/order/dashboard.vue b/klp-ui/src/views/wms/order/dashboard.vue
new file mode 100644
index 00000000..a3010b8b
--- /dev/null
+++ b/klp-ui/src/views/wms/order/dashboard.vue
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/klp-ui/src/views/wms/order/index.vue b/klp-ui/src/views/wms/order/index.vue
index f640df07..fa84827b 100644
--- a/klp-ui/src/views/wms/order/index.vue
+++ b/klp-ui/src/views/wms/order/index.vue
@@ -71,8 +71,17 @@
icon="el-icon-download"
size="mini"
@click="handleExport"
-
>导出
+
+
+
+ 订单分析
@@ -231,6 +240,9 @@ export default {
this.loading = false;
});
},
+ goDashboard() {
+ this.$router.push('/wms/order/dashboard');
+ },
/** 推荐采购计划确认 */
handleRecommendConfirm(data) {
console.log('推荐采购计划数据:', data);
diff --git a/klp-ui/src/views/wms/product/index.vue b/klp-ui/src/views/wms/product/index.vue
index 07a397cf..ca38ee91 100644
--- a/klp-ui/src/views/wms/product/index.vue
+++ b/klp-ui/src/views/wms/product/index.vue
@@ -17,13 +17,8 @@
@keyup.enter.native="handleQuery"
/>
-
-
+
+
@@ -177,8 +172,8 @@
-
-
+
+
@@ -255,12 +250,14 @@
import { listProduct, getProduct, delProduct, addProduct, updateProduct } from "@/api/wms/product";
import CategorySelect from '@/components/KLPService/CategorySelect';
import CategoryRenderer from '@/components/KLPService/Renderer/CategoryRenderer.vue';
+import UserSelect from '@/components/KLPService/UserSelect';
export default {
name: "Product",
components: {
CategorySelect,
- CategoryRenderer
+ CategoryRenderer,
+ UserSelect
},
dicts: ['common_swicth'],
data() {
diff --git a/klp-ui/src/views/wms/purchasePlan/index.vue b/klp-ui/src/views/wms/purchasePlan/index.vue
index 4f8cdd0a..ddc565d2 100644
--- a/klp-ui/src/views/wms/purchasePlan/index.vue
+++ b/klp-ui/src/views/wms/purchasePlan/index.vue
@@ -10,12 +10,7 @@
/>
-
+
-
+
@@ -163,12 +158,7 @@
/>
-
+
@@ -268,13 +258,15 @@ import PurchasePlanClac from "./panels/clac.vue";
import PurchasePlanDetail from "./panels/detail.vue";
import CreatePurchasePanel from "./panels/CreatePurchasePanel.vue";
import { EOrderStatus } from "../../../utils/enums";
+import UserSelect from '@/components/KLPService/UserSelect'
export default {
name: "PurchasePlan",
components: {
PurchasePlanClac,
PurchasePlanDetail,
- CreatePurchasePanel
+ CreatePurchasePanel,
+ UserSelect
},
dicts: ['order_status'],
data() {
diff --git a/klp-ui/src/views/wms/purchasePlan/panels/CreatePurchasePanel.vue b/klp-ui/src/views/wms/purchasePlan/panels/CreatePurchasePanel.vue
index 0ab03932..7b4f39f1 100644
--- a/klp-ui/src/views/wms/purchasePlan/panels/CreatePurchasePanel.vue
+++ b/klp-ui/src/views/wms/purchasePlan/panels/CreatePurchasePanel.vue
@@ -8,7 +8,7 @@
-
+
@@ -77,7 +77,7 @@
-
+
@@ -97,9 +97,11 @@