From 3f4004c349d7193f8d32a3bc9bd9cb9a21b45f9f Mon Sep 17 00:00:00 2001 From: chenhao Date: Fri, 14 Nov 2025 15:17:45 +0800 Subject: [PATCH] =?UTF-8?q?feat(project):=20=E6=B7=BB=E5=8A=A0=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E9=A1=B9=E7=9B=AE=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?-=20=E5=9C=A8=E9=A1=B9=E7=9B=AE=E4=BF=A1=E6=81=AF=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=A2=9E=E5=8A=A0=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E5=AF=B9=E8=AF=9D=E6=A1=86=E6=94=AF=E6=8C=81=20-=20=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E8=AE=A2=E5=8D=95=E6=9F=A5=E7=9C=8B=E5=92=8C=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=8C=85=E6=8B=AC=E4=BB=8E?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B7=B3=E8=BD=AC=E5=88=B0=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=20-=20=E5=A2=9E=E5=8A=A0=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E6=8A=BD=E5=B1=89=E7=BB=84=E4=BB=B6=E7=94=A8=E4=BA=8E=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E8=AE=A2=E5=8D=95=E4=BF=A1=E6=81=AF=20-=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E4=BA=A7=E5=93=81=E9=85=8D=E7=BD=AE=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E4=BB=A5=E6=94=AF=E6=8C=81=E9=A1=B9=E7=9B=AE=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E5=90=8E=E7=9A=84=E6=95=B0=E6=8D=AE=E5=A1=AB=E5=85=85=20-=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E9=80=BB=E8=BE=91=EF=BC=8C=E5=A2=9E=E5=BC=BA=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E4=B8=8E=E8=AE=A2=E5=8D=95=E5=85=B3=E8=81=94=E6=80=A7?= =?UTF-8?q?-=20=E6=94=B9=E8=BF=9B=E5=90=88=E5=90=8C=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=8E=A7=E5=88=B6=EF=BC=8C=E7=A1=AE=E4=BF=9D?= =?UTF-8?q?=E5=8F=AA=E6=9C=89=E5=9C=A8=E8=AE=A2=E5=8D=95=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E5=90=8E=E6=89=8D=E5=85=81=E8=AE=B8=E4=B8=8A=E4=BC=A0=20-=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=8F=96=E6=B6=88=E6=8C=89=E9=92=AE=E8=A1=8C=E4=B8=BA?= =?UTF-8?q?=EF=BC=8C=E4=BD=BF=E5=85=B6=E8=83=BD=E6=AD=A3=E7=A1=AE=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E4=B8=8A=E4=B8=80=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oms_web/oms_vue/src/router/index.js | 13 ++ .../src/views/project/info/ProductConfig.vue | 1 - .../oms_vue/src/views/project/info/index.vue | 21 ++- .../src/views/project/order/OrderDetail.vue | 149 ++++++++++++++---- .../oms_vue/src/views/project/order/index.vue | 26 ++- 5 files changed, 175 insertions(+), 35 deletions(-) diff --git a/oms_web/oms_vue/src/router/index.js b/oms_web/oms_vue/src/router/index.js index bbfd2374..77bf1a70 100644 --- a/oms_web/oms_vue/src/router/index.js +++ b/oms_web/oms_vue/src/router/index.js @@ -87,6 +87,19 @@ export const constantRoutes = [ meta: { title: '个人中心', icon: 'user' } } ] + }, + { + path: '/project/order', + component: Layout, + hidden: true, + children: [ + { + path: '', + component: () => import('@/views/project/order/index'), + name: 'ProjectOrder', + meta: { title: '订单管理', icon: 'order' } + } + ] } ] diff --git a/oms_web/oms_vue/src/views/project/info/ProductConfig.vue b/oms_web/oms_vue/src/views/project/info/ProductConfig.vue index 8b9e250a..d4aebb76 100644 --- a/oms_web/oms_vue/src/views/project/info/ProductConfig.vue +++ b/oms_web/oms_vue/src/views/project/info/ProductConfig.vue @@ -520,7 +520,6 @@ export default { })) }; this.$emit('input', data); - this.$emit('change', data); }, getData() { return { diff --git a/oms_web/oms_vue/src/views/project/info/index.vue b/oms_web/oms_vue/src/views/project/info/index.vue index 4d3c72e3..e8970013 100644 --- a/oms_web/oms_vue/src/views/project/info/index.vue +++ b/oms_web/oms_vue/src/views/project/info/index.vue @@ -235,6 +235,9 @@ :project-id="selectedProjectId" @success="handleFormSuccess" /> + + + @@ -242,12 +245,14 @@ import { listProject, delProject, exportProject } from "@/api/project/info"; import ProjectDetailDrawer from "./ProjectDetailDrawer.vue"; import ProjectForm from "./ProjectForm.vue"; +import OrderDetail from "../order/OrderDetail.vue"; export default { name: "Project", components: { ProjectDetailDrawer, ProjectForm, + OrderDetail, }, dicts: ['bg_type', 'bg_yys', 'bg_hysy', 'project_stage'], data() { @@ -269,9 +274,15 @@ export default { // 抽屉可见性 drawerVisible: false, currentProjectId: null, + currentProjectIdForOrder: null, // 项目表单可见性 projectFormVisible: false, selectedProjectId: null, + // 订单对话框可见性 + openOrderDialog: false, + orderDialogTitle: "", + currentOrderIdForDialog: null, + currentProjectIdForDialog: null, // 查询参数 queryParams: { pageNum: 1, @@ -433,7 +444,15 @@ export default { this.$modal.alertWarning("该项目已存在订单"); return; } - this.$modal.alert("生成订单,项目ID: " + id); + this.currentOrderIdForDialog = null; + this.currentProjectIdForDialog = id; + this.orderDialogTitle = "添加订单"; + this.openOrderDialog = true; + }, + /** 订单表单提交成功 */ + handleOrderFormSuccess() { + this.openOrderDialog = false; + this.getList(); }, } }; diff --git a/oms_web/oms_vue/src/views/project/order/OrderDetail.vue b/oms_web/oms_vue/src/views/project/order/OrderDetail.vue index 92a16915..890cbf89 100644 --- a/oms_web/oms_vue/src/views/project/order/OrderDetail.vue +++ b/oms_web/oms_vue/src/views/project/order/OrderDetail.vue @@ -9,7 +9,7 @@ - + @@ -218,7 +218,7 @@
- +
@@ -302,15 +302,14 @@ @@ -373,12 +373,14 @@ diff --git a/oms_web/oms_vue/src/views/project/order/index.vue b/oms_web/oms_vue/src/views/project/order/index.vue index 12ef255d..c4c1169d 100644 --- a/oms_web/oms_vue/src/views/project/order/index.vue +++ b/oms_web/oms_vue/src/views/project/order/index.vue @@ -76,7 +76,7 @@ @@ -127,23 +127,28 @@ - + + + + -