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) => { 报表统计 + + + + ISRM管理 + + + + 内部需求 + + + + 内部采购 + + + + 内部库存 + + + + 内部供应商 + + + + 内部合同 + + + + ISRM报表 + + + + + + SRM管理 + + + + 供应商管理 + + + + 采购管理 + + + + 询价管理 + + + + 合同管理 + + + + 供应商评估 + + + + 供应商绩效 + + + + SRM报表 + + 用户管理 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 @@ + + + + + + + 内部合同管理 + + + + + + + + + + + + + + + + + + + + + + + 搜索 + 重置 + + + 创建合同 + + + + + + + + + ¥{{ scope.row.amount.toLocaleString() }} + + + + + + + {{ scope.row.status }} + + + + + + 查看 + 编辑 + 删除 + + + + + + + + + + + + + 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 @@ + + + + + + + 内部需求管理 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 搜索 + 重置 + + + 创建需求 + + + + + + + + + {{ scope.row.quantity }} {{ scope.row.unit }} + + + + + {{ scope.row.priority }} + + + + + {{ scope.row.status }} + + + + + + + 编辑 + 删除 + + + + + + + + + + + + + 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 @@ + + + + + + + 内部库存管理 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 搜索 + 重置 + + + 添加库存 + + + + + + + + + {{ scope.row.quantity }} {{ scope.row.unit }} + + + + + + {{ scope.row.minStock }}-{{ scope.row.maxStock }} {{ scope.row.unit }} + + + + + + + + + {{ getStockStatusText(scope.row) }} + + + + + + 编辑 + 删除 + + + + + + + + + + + + + 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 @@ + + + + + + + 内部采购管理 + + + + + + + + + + + + + + + + + + + + + + + 搜索 + 重置 + + + 创建采购单 + + + + + + + + + + + ¥{{ scope.row.unitPrice }} + + + + + ¥{{ scope.row.totalAmount.toLocaleString() }} + + + + + {{ scope.row.status }} + + + + + + 查看 + 编辑 + 删除 + + + + + + + + + + + + + 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 @@ + + + + + + + ISRM 报表统计 + + + + + + + + + + + + 需求总数 + {{ reportData.demands.total }} + 待审批 {{ reportData.demands.pending }} + + + + + + + + + + + + 采购总额 + ¥{{ (reportData.purchases.amount / 10000).toFixed(0) }}万 + 本月 ¥{{ (reportData.purchases.monthly / 10000).toFixed(0) }}万 + + + + + + + + + + + + 库存物品 + {{ reportData.inventory.total }} + 库存不足 {{ reportData.inventory.lowStock }} + + + + + + + + + + + + 内部供应商 + {{ reportData.suppliers.total }} + 启用 {{ reportData.suppliers.active }} + + + + + + + + + + + + 月度统计 + + + + + + + + + ¥{{ (scope.row.amount / 10000).toFixed(0) }}万 + + + + + + + + + + + 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 @@ + + + + + + + 内部供应商管理 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 搜索 + 重置 + + + 添加供应商 + + + + + + + + + + + + {{ scope.row.phone }} + + + + + + + + {{ scope.row.status }} + + + + + + 编辑 + 删除 + + + + + + + + + + + + + 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 @@ + + + + + + + 合同管理 + + + + + + + + + + + + + + + + + + + + + + + 搜索 + 重置 + + + 创建合同 + + + + + + + + ¥{{ scope.row.amount.toLocaleString() }} + + + + + + + {{ scope.row.status }} + + + + + + 查看 + 编辑 + 删除 + + + + + + + + + + + + + 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 @@ + + + + + + + 供应商评估 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 搜索 + 重置 + + + 创建评估 + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ scope.row.total.toFixed(2) }} + + + + + + + {{ scope.row.level }} + + + + + + + + 编辑 + + + + + + + + + + + + + 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 @@ + + + + + + + 询价管理 + + + + + + + + + + + + + + + + + + + + + + 搜索 + 重置 + + + 创建询价单 + + + + + + + + + + {{ supplier }} + + + + + + {{ scope.row.status }} + + + + + + + 查看报价 + 编辑 + 删除 + + + + + + + + + + + + + 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 @@ + + + + + + + 供应商绩效 + + + + + + + + + + + + + + + 搜索 + 重置 + + + + + + + + + {{ scope.row.ranking }} + + + + + + + + ¥{{ (scope.row.totalAmount / 10000).toFixed(0) }}万 + + + + + + + + + + + + + + + + + + + + 详情 + + + + + + + + + + + + + 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 @@ + + + + + + + 采购管理 + + + + + + + + + + + + + + + + + + + + + + + 搜索 + 重置 + + + 创建采购单 + + + + + + + + + + ¥{{ scope.row.unitPrice }} + + + + + ¥{{ scope.row.totalAmount.toLocaleString() }} + + + + + {{ scope.row.status }} + + + + + + 查看 + 编辑 + 删除 + + + + + + + + + + + + + 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 @@ + + + + + + + SRM 报表统计 + + + + + + + + + + + + 供应商总数 + {{ reportData.suppliers.total }} + 合作中 {{ reportData.suppliers.active }} + + + + + + + + + + + + 采购总额 + ¥{{ (reportData.purchases.amount / 10000).toFixed(0) }}万 + 本月 ¥{{ (reportData.purchases.monthly / 10000).toFixed(0) }}万 + + + + + + + + + + + + 合同总数 + {{ reportData.contracts.total }} + 执行中 {{ reportData.contracts.active }} + + + + + + + + + + + + 评估总数 + {{ reportData.evaluations.total }} + 优秀 {{ reportData.evaluations.excellent }} + + + + + + + + + + + + 月度统计 + + + + + + + + ¥{{ (scope.row.amount / 10000).toFixed(0) }}万 + + + + + + + + + + + + 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 @@ + + + + + + + 供应商管理 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 搜索 + 重置 + + + 添加供应商 + + + + + + + + + + + + {{ scope.row.phone }} + + + + + + + + + + + + + {{ scope.row.status }} + + + + + + 编辑 + 删除 + + + + + + + + + + + + +