From 755836d52073f31670ccfa7fb5ad3d999e037184 Mon Sep 17 00:00:00 2001 From: mayiming <1627832236@qq.com> Date: Wed, 10 Dec 2025 18:34:41 +0800 Subject: [PATCH] Implement ISRM and SRM management views, including internal demand, purchase, inventory, supplier, contract, evaluation, and report functionalities. Update router configuration to support new views and enhance layout with appropriate icons and styles. --- src/layouts/Layout.vue | 68 +++++++ src/router/index.ts | 87 ++++++++- src/views/isrm/InternalContractView.vue | 177 +++++++++++++++++++ src/views/isrm/InternalDemandView.vue | 214 +++++++++++++++++++++++ src/views/isrm/InternalInventoryView.vue | 208 ++++++++++++++++++++++ src/views/isrm/InternalPurchaseView.vue | 186 ++++++++++++++++++++ src/views/isrm/InternalReportView.vue | 201 +++++++++++++++++++++ src/views/isrm/InternalSupplierView.vue | 183 +++++++++++++++++++ src/views/srm/ContractView.vue | 173 ++++++++++++++++++ src/views/srm/EvaluationView.vue | 210 ++++++++++++++++++++++ src/views/srm/InquiryView.vue | 178 +++++++++++++++++++ src/views/srm/PerformanceView.vue | 165 +++++++++++++++++ src/views/srm/PurchaseView.vue | 182 +++++++++++++++++++ src/views/srm/ReportView.vue | 200 +++++++++++++++++++++ src/views/srm/SupplierView.vue | 197 +++++++++++++++++++++ 15 files changed, 2627 insertions(+), 2 deletions(-) create mode 100644 src/views/isrm/InternalContractView.vue create mode 100644 src/views/isrm/InternalDemandView.vue create mode 100644 src/views/isrm/InternalInventoryView.vue create mode 100644 src/views/isrm/InternalPurchaseView.vue create mode 100644 src/views/isrm/InternalReportView.vue create mode 100644 src/views/isrm/InternalSupplierView.vue create mode 100644 src/views/srm/ContractView.vue create mode 100644 src/views/srm/EvaluationView.vue create mode 100644 src/views/srm/InquiryView.vue create mode 100644 src/views/srm/PerformanceView.vue create mode 100644 src/views/srm/PurchaseView.vue create mode 100644 src/views/srm/ReportView.vue create mode 100644 src/views/srm/SupplierView.vue diff --git a/src/layouts/Layout.vue b/src/layouts/Layout.vue index c0f2735..a5ee180 100644 --- a/src/layouts/Layout.vue +++ b/src/layouts/Layout.vue @@ -20,6 +20,10 @@ import { List, ChatLineRound, DataAnalysis, + Box, + Connection, + Star, + Search, } from '@element-plus/icons-vue' const router = useRouter() @@ -163,6 +167,70 @@ const handleCommand = (command: string) => { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/router/index.ts b/src/router/index.ts index 33eb124..8c091bd 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -3,6 +3,7 @@ import Layout from '@/layouts/Layout.vue' import DashboardView from '@/views/DashboardView.vue' import UserManagementView from '@/views/UserManagementView.vue' import SettingsView from '@/views/SettingsView.vue' +// CRM import CustomerListView from '@/views/crm/CustomerListView.vue' import OpportunityView from '@/views/crm/OpportunityView.vue' import FunnelView from '@/views/crm/FunnelView.vue' @@ -12,7 +13,22 @@ import ProductView from '@/views/crm/ProductView.vue' import ContractView from '@/views/crm/ContractView.vue' import TaskView from '@/views/crm/TaskView.vue' import CommunicationView from '@/views/crm/CommunicationView.vue' -import ReportView from '@/views/crm/ReportView.vue' +import ReportView as CrmReportView from '@/views/crm/ReportView.vue' +// ISRM +import InternalDemandView from '@/views/isrm/InternalDemandView.vue' +import InternalPurchaseView from '@/views/isrm/InternalPurchaseView.vue' +import InternalInventoryView from '@/views/isrm/InternalInventoryView.vue' +import InternalSupplierView from '@/views/isrm/InternalSupplierView.vue' +import InternalContractView from '@/views/isrm/InternalContractView.vue' +import InternalReportView from '@/views/isrm/InternalReportView.vue' +// SRM +import SupplierView from '@/views/srm/SupplierView.vue' +import PurchaseView from '@/views/srm/PurchaseView.vue' +import InquiryView from '@/views/srm/InquiryView.vue' +import ContractView as SrmContractView from '@/views/srm/ContractView.vue' +import EvaluationView from '@/views/srm/EvaluationView.vue' +import PerformanceView from '@/views/srm/PerformanceView.vue' +import ReportView as SrmReportView from '@/views/srm/ReportView.vue' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -75,7 +91,74 @@ const router = createRouter({ { path: 'reports', name: 'reports', - component: ReportView, + component: CrmReportView, + }, + // ISRM + { + path: 'isrm/demand', + name: 'isrm-demand', + component: InternalDemandView, + }, + { + path: 'isrm/purchase', + name: 'isrm-purchase', + component: InternalPurchaseView, + }, + { + path: 'isrm/inventory', + name: 'isrm-inventory', + component: InternalInventoryView, + }, + { + path: 'isrm/supplier', + name: 'isrm-supplier', + component: InternalSupplierView, + }, + { + path: 'isrm/contract', + name: 'isrm-contract', + component: InternalContractView, + }, + { + path: 'isrm/report', + name: 'isrm-report', + component: InternalReportView, + }, + // SRM + { + path: 'srm/supplier', + name: 'srm-supplier', + component: SupplierView, + }, + { + path: 'srm/purchase', + name: 'srm-purchase', + component: PurchaseView, + }, + { + path: 'srm/inquiry', + name: 'srm-inquiry', + component: InquiryView, + }, + { + path: 'srm/contract', + name: 'srm-contract', + component: SrmContractView, + }, + { + path: 'srm/evaluation', + name: 'srm-evaluation', + component: EvaluationView, + }, + { + path: 'srm/performance', + name: 'srm-performance', + component: PerformanceView, + }, + { + path: 'srm/report', + name: 'srm-report', + component: SrmReportView, }, { path: 'users', diff --git a/src/views/isrm/InternalContractView.vue b/src/views/isrm/InternalContractView.vue new file mode 100644 index 0000000..f398817 --- /dev/null +++ b/src/views/isrm/InternalContractView.vue @@ -0,0 +1,177 @@ + + + + + + diff --git a/src/views/isrm/InternalDemandView.vue b/src/views/isrm/InternalDemandView.vue new file mode 100644 index 0000000..6d2ac45 --- /dev/null +++ b/src/views/isrm/InternalDemandView.vue @@ -0,0 +1,214 @@ + + + + + + diff --git a/src/views/isrm/InternalInventoryView.vue b/src/views/isrm/InternalInventoryView.vue new file mode 100644 index 0000000..37e20be --- /dev/null +++ b/src/views/isrm/InternalInventoryView.vue @@ -0,0 +1,208 @@ + + + + + + diff --git a/src/views/isrm/InternalPurchaseView.vue b/src/views/isrm/InternalPurchaseView.vue new file mode 100644 index 0000000..9422daf --- /dev/null +++ b/src/views/isrm/InternalPurchaseView.vue @@ -0,0 +1,186 @@ + + + + + + diff --git a/src/views/isrm/InternalReportView.vue b/src/views/isrm/InternalReportView.vue new file mode 100644 index 0000000..5864fc3 --- /dev/null +++ b/src/views/isrm/InternalReportView.vue @@ -0,0 +1,201 @@ + + + + + + diff --git a/src/views/isrm/InternalSupplierView.vue b/src/views/isrm/InternalSupplierView.vue new file mode 100644 index 0000000..e6223ac --- /dev/null +++ b/src/views/isrm/InternalSupplierView.vue @@ -0,0 +1,183 @@ + + + + + + diff --git a/src/views/srm/ContractView.vue b/src/views/srm/ContractView.vue new file mode 100644 index 0000000..837bb00 --- /dev/null +++ b/src/views/srm/ContractView.vue @@ -0,0 +1,173 @@ + + + + + + diff --git a/src/views/srm/EvaluationView.vue b/src/views/srm/EvaluationView.vue new file mode 100644 index 0000000..1a5de02 --- /dev/null +++ b/src/views/srm/EvaluationView.vue @@ -0,0 +1,210 @@ + + + + + + diff --git a/src/views/srm/InquiryView.vue b/src/views/srm/InquiryView.vue new file mode 100644 index 0000000..08be4a5 --- /dev/null +++ b/src/views/srm/InquiryView.vue @@ -0,0 +1,178 @@ + + + + + + diff --git a/src/views/srm/PerformanceView.vue b/src/views/srm/PerformanceView.vue new file mode 100644 index 0000000..54590f2 --- /dev/null +++ b/src/views/srm/PerformanceView.vue @@ -0,0 +1,165 @@ + + + + + + diff --git a/src/views/srm/PurchaseView.vue b/src/views/srm/PurchaseView.vue new file mode 100644 index 0000000..cc6f44d --- /dev/null +++ b/src/views/srm/PurchaseView.vue @@ -0,0 +1,182 @@ + + + + + + diff --git a/src/views/srm/ReportView.vue b/src/views/srm/ReportView.vue new file mode 100644 index 0000000..becdfab --- /dev/null +++ b/src/views/srm/ReportView.vue @@ -0,0 +1,200 @@ + + + + + + diff --git a/src/views/srm/SupplierView.vue b/src/views/srm/SupplierView.vue new file mode 100644 index 0000000..891022d --- /dev/null +++ b/src/views/srm/SupplierView.vue @@ -0,0 +1,197 @@ + + + + + +