From bb3bd278c3494a3242629464b8b83ee2e96c203c Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 17 九月 2025 16:01:28 +0800
Subject: [PATCH] 部署修改
---
src/views/procurementManagement/procurementReport/index.vue | 31 ++++--
src/views/procurementManagement/index.vue | 42 ++++++++
src/router/index.js | 198 ++++++++++++++++++---------------------
3 files changed, 154 insertions(+), 117 deletions(-)
diff --git a/src/router/index.js b/src/router/index.js
index 437e523..9c5a968 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,6 +1,6 @@
-import { createWebHistory, createRouter } from 'vue-router'
+import { createWebHistory, createRouter } from "vue-router";
/* Layout */
-import Layout from '@/layout'
+import Layout from "@/layout";
/**
* Note: 璺敱閰嶇疆椤�
@@ -16,85 +16,80 @@
* roles: ['admin', 'common'] // 璁块棶璺敱鐨勮鑹叉潈闄�
* permissions: ['a:a:a', 'b:b:b'] // 璁块棶璺敱鐨勮彍鍗曟潈闄�
* meta : {
- noCache: true // 濡傛灉璁剧疆涓簍rue锛屽垯涓嶄細琚� <keep-alive> 缂撳瓨(榛樿 false)
- title: 'title' // 璁剧疆璇ヨ矾鐢卞湪渚ц竟鏍忓拰闈㈠寘灞戜腑灞曠ず鐨勫悕瀛�
- icon: 'svg-name' // 璁剧疆璇ヨ矾鐢辩殑鍥炬爣锛屽搴旇矾寰剆rc/assets/icons/svg
- breadcrumb: false // 濡傛灉璁剧疆涓篺alse锛屽垯涓嶄細鍦╞readcrumb闈㈠寘灞戜腑鏄剧ず
- activeMenu: '/system/user' // 褰撹矾鐢辫缃簡璇ュ睘鎬э紝鍒欎細楂樹寒鐩稿搴旂殑渚ц竟鏍忋��
- }
+ noCache: true // 濡傛灉璁剧疆涓簍rue锛屽垯涓嶄細琚� <keep-alive> 缂撳瓨(榛樿 false)
+ title: 'title' // 璁剧疆璇ヨ矾鐢卞湪渚ц竟鏍忓拰闈㈠寘灞戜腑灞曠ず鐨勫悕瀛�
+ icon: 'svg-name' // 璁剧疆璇ヨ矾鐢辩殑鍥炬爣锛屽搴旇矾寰剆rc/assets/icons/svg
+ breadcrumb: false // 濡傛灉璁剧疆涓篺alse锛屽垯涓嶄細鍦╞readcrumb闈㈠寘灞戜腑鏄剧ず
+ activeMenu: '/system/user' // 褰撹矾鐢辫缃簡璇ュ睘鎬э紝鍒欎細楂樹寒鐩稿搴旂殑渚ц竟鏍忋��
+ }
*/
// 鍏叡璺敱
export const constantRoutes = [
{
- path: '/redirect',
+ path: "/redirect",
component: Layout,
hidden: true,
children: [
{
- path: '/redirect/:path(.*)',
- component: () => import('@/views/redirect/index.vue')
- }
- ]
+ path: "/redirect/:path(.*)",
+ component: () => import("@/views/redirect/index.vue"),
+ },
+ ],
},
{
- path: '/login',
- component: () => import('@/views/login'),
- hidden: true
- },
- {
- path: "/callbacklccpn",
- component: () => import("@/views/tideLogin.vue"),
+ path: "/login",
+ component: () => import("@/views/login"),
hidden: true,
},
{
- path: '/register',
- component: () => import('@/views/register'),
- hidden: true
+ path: "/register",
+ component: () => import("@/views/register"),
+ hidden: true,
},
{
path: "/:pathMatch(.*)*",
- component: () => import('@/views/error/404'),
- hidden: true
+ component: () => import("@/views/error/404"),
+ hidden: true,
},
{
- path: '/401',
- component: () => import('@/views/error/401'),
- hidden: true
+ path: "/401",
+ component: () => import("@/views/error/401"),
+ hidden: true,
},
{
- path: '',
+ path: "",
component: Layout,
- redirect: '/index',
+ redirect: "/index",
children: [
{
- path: '/index',
- component: () => import('@/views/index'),
- name: 'Index',
- meta: { title: '棣栭〉', icon: 'dashboard', affix: true }
- }
- ]
+ path: "/index",
+ component: () => import("@/views/index"),
+ name: "Index",
+ meta: { title: "棣栭〉", icon: "dashboard", affix: true },
+ },
+ ],
},
- // {
- // path: '/main/MobileChat',
- // component: Layout,
- // redirect: '',
- // hidden: true,
- // children: [
- // {
- // path: '',
- // component: () => import('@/views/chatHome/chatHomeIndex/MobileChat'),
- // name: 'MobileChat',
- // meta: { title: 'AI瀵硅瘽', icon: 'dashboard', affix: true}
- // }
- // ]
- // },
{
- path: '/user',
+ path: "/main/MobileChat",
+ component: Layout,
+ redirect: "",
+ hidden: true,
+ children: [
+ {
+ path: "",
+ component: () => import("@/views/chatHome/chatHomeIndex/MobileChat"),
+ name: "MobileChat",
+ meta: { title: "AI瀵硅瘽", icon: "dashboard", affix: true },
+ },
+ ],
+ },
+ {
+ path: "/user",
component: Layout,
hidden: true,
- redirect: 'noredirect',
+ redirect: "noredirect",
children: [
{
path: "profile",
@@ -111,98 +106,91 @@
name: "DeviceInfo",
meta: { title: "璁惧淇℃伅", icon: "monitor" },
},
- {
- path: "/data-dashboard",
- component: () => import("@/views/reportAnalysis/dataDashboard/index.vue"),
- hidden: true,
- name: "DataDashboard",
- meta: { title: "鏁版嵁澶у睆", icon: "dashboard" },
- },
];
// 鍔ㄦ�佽矾鐢憋紝鍩轰簬鐢ㄦ埛鏉冮檺鍔ㄦ�佸幓鍔犺浇
export const dynamicRoutes = [
{
- path: '/system/user-auth',
+ path: "/system/user-auth",
component: Layout,
hidden: true,
- permissions: ['system:user:edit'],
+ permissions: ["system:user:edit"],
children: [
{
- path: 'role/:userId(\\d+)',
- component: () => import('@/views/system/user/authRole'),
- name: 'AuthRole',
- meta: { title: '鍒嗛厤瑙掕壊', activeMenu: '/system/user' }
- }
- ]
+ path: "role/:userId(\\d+)",
+ component: () => import("@/views/system/user/authRole"),
+ name: "AuthRole",
+ meta: { title: "鍒嗛厤瑙掕壊", activeMenu: "/system/user" },
+ },
+ ],
},
{
- path: '/system/role-auth',
+ path: "/system/role-auth",
component: Layout,
hidden: true,
- permissions: ['system:role:edit'],
+ permissions: ["system:role:edit"],
children: [
{
- path: 'user/:roleId(\\d+)',
- component: () => import('@/views/system/role/authUser'),
- name: 'AuthUser',
- meta: { title: '鍒嗛厤鐢ㄦ埛', activeMenu: '/system/role' }
- }
- ]
+ path: "user/:roleId(\\d+)",
+ component: () => import("@/views/system/role/authUser"),
+ name: "AuthUser",
+ meta: { title: "鍒嗛厤鐢ㄦ埛", activeMenu: "/system/role" },
+ },
+ ],
},
{
- path: '/system/dict-data',
+ path: "/system/dict-data",
component: Layout,
hidden: true,
- permissions: ['system:dict:list'],
+ permissions: ["system:dict:list"],
children: [
{
- path: 'index/:dictId(\\d+)',
- component: () => import('@/views/system/dict/data'),
- name: 'Data',
- meta: { title: '瀛楀吀鏁版嵁', activeMenu: '/system/dict' }
- }
- ]
+ path: "index/:dictId(\\d+)",
+ component: () => import("@/views/system/dict/data"),
+ name: "Data",
+ meta: { title: "瀛楀吀鏁版嵁", activeMenu: "/system/dict" },
+ },
+ ],
},
{
- path: '/monitor/job-log',
+ path: "/monitor/job-log",
component: Layout,
hidden: true,
- permissions: ['monitor:job:list'],
+ permissions: ["monitor:job:list"],
children: [
{
- path: 'index/:jobId(\\d+)',
- component: () => import('@/views/monitor/job/log'),
- name: 'JobLog',
- meta: { title: '璋冨害鏃ュ織', activeMenu: '/monitor/job' }
- }
- ]
+ path: "index/:jobId(\\d+)",
+ component: () => import("@/views/monitor/job/log"),
+ name: "JobLog",
+ meta: { title: "璋冨害鏃ュ織", activeMenu: "/monitor/job" },
+ },
+ ],
},
{
- path: '/tool/gen-edit',
+ path: "/tool/gen-edit",
component: Layout,
hidden: true,
- permissions: ['tool:gen:edit'],
+ permissions: ["tool:gen:edit"],
children: [
{
- path: 'index/:tableId(\\d+)',
- component: () => import('@/views/tool/gen/editTable'),
- name: 'GenEdit',
- meta: { title: '淇敼鐢熸垚閰嶇疆', activeMenu: '/tool/gen' }
- }
- ]
- }
-]
+ path: "index/:tableId(\\d+)",
+ component: () => import("@/views/tool/gen/editTable"),
+ name: "GenEdit",
+ meta: { title: "淇敼鐢熸垚閰嶇疆", activeMenu: "/tool/gen" },
+ },
+ ],
+ },
+];
const router = createRouter({
history: createWebHistory(),
routes: constantRoutes,
scrollBehavior(to, from, savedPosition) {
if (savedPosition) {
- return savedPosition
+ return savedPosition;
}
- return { top: 0 }
+ return { top: 0 };
},
-})
+});
-export default router
+export default router;
diff --git a/src/views/procurementManagement/index.vue b/src/views/procurementManagement/index.vue
index dd7c3c4..bf54384 100644
--- a/src/views/procurementManagement/index.vue
+++ b/src/views/procurementManagement/index.vue
@@ -101,6 +101,26 @@
</el-col>
<el-col :span="8">
+ <el-card class="module-card" shadow="hover" @click="navigateTo('/procurementManagement/procurementPlan')">
+ <div class="card-content">
+ <div class="card-icon">
+ <el-icon size="48" color="#9C27B0"><Calendar /></el-icon>
+ </div>
+ <div class="card-info">
+ <h3>閲囪喘璁″垝</h3>
+ <p>鏅鸿兘閲囪喘璁″垝閰嶇疆锛岃嚜鍔ㄨ绠楅噰璐渶姹傦紝鑰冭檻搴撳瓨鍜屽畨鍏ㄥ簱瀛�</p>
+ <div class="card-stats">
+ <span>娲昏穬璁″垝: {{ stats.activePlans }}</span>
+ <span>寰呰绠�: {{ stats.pendingCalculations }}</span>
+ </div>
+ </div>
+ </div>
+ </el-card>
+ </el-col>
+ </el-row>
+
+ <el-row :gutter="20" class="module-cards">
+ <el-col :span="8">
<el-card class="module-card" shadow="hover" @click="navigateTo('/procurementManagement/procurementLedger')">
<div class="card-content">
<div class="card-icon">
@@ -112,6 +132,24 @@
<div class="card-stats">
<span>鎬昏鍗�: {{ stats.totalOrders }}</span>
<span>鎬婚噾棰�: 楼{{ stats.totalAmount.toFixed(2) }}</span>
+ </div>
+ </div>
+ </div>
+ </el-card>
+ </el-col>
+
+ <el-col :span="8">
+ <el-card class="module-card" shadow="hover" @click="navigateTo('/procurementManagement/procurementReport')">
+ <div class="card-content">
+ <div class="card-icon">
+ <el-icon size="48" color="#FF6B6B"><TrendCharts /></el-icon>
+ </div>
+ <div class="card-info">
+ <h3>閲囪喘鎶ヨ〃</h3>
+ <p>閲囪喘璁㈠崟鎵ц姹囨�汇�佹槑缁嗗垎鏋愩�佷笟鍔$粺璁°�佷緵搴斿晢渚涜揣姹囨��</p>
+ <div class="card-stats">
+ <span>鎶ヨ〃绫诲瀷: 4绉�</span>
+ <span>鏁版嵁鏇存柊: 瀹炴椂</span>
</div>
</div>
</div>
@@ -179,7 +217,7 @@
<script setup>
import { ref, onMounted } from 'vue'
import { useRouter } from 'vue-router'
-import { Document, Box, Search, RefreshLeft, Money, List } from '@element-plus/icons-vue'
+import { Document, Box, Search, RefreshLeft, Money, List, Calendar, TrendCharts } from '@element-plus/icons-vue'
const router = useRouter()
@@ -195,6 +233,8 @@
approvedReturns: 3,
activePrices: 45,
pendingPrices: 2,
+ activePlans: 8,
+ pendingCalculations: 3,
totalOrders: 30,
totalAmount: 125.8,
avgDeliveryTime: 7,
diff --git a/src/views/procurementManagement/procurementReport/index.vue b/src/views/procurementManagement/procurementReport/index.vue
index a12b4ba..33a0e91 100644
--- a/src/views/procurementManagement/procurementReport/index.vue
+++ b/src/views/procurementManagement/procurementReport/index.vue
@@ -112,9 +112,9 @@
</div>
</div>
- <el-table :data="orderSummaryData" border v-loading="loading" stripe>
+ <el-table :data="orderSummaryData" border v-loading="loading" stripe style="width: 100%">
<el-table-column label="璁㈠崟缂栧彿" prop="orderNo" width="180" fixed="left" />
- <el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" width="150" />
+ <el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" min-width="150" />
<el-table-column label="璁㈠崟鏃ユ湡" prop="orderDate" width="120" />
<el-table-column label="璁″垝浜ゆ湡" prop="plannedDelivery" width="120" />
<el-table-column label="瀹為檯浜ゆ湡" prop="actualDelivery" width="120" />
@@ -160,11 +160,11 @@
</div>
</div>
- <el-table :data="orderDetailData" border v-loading="loading" stripe>
+ <el-table :data="orderDetailData" border v-loading="loading" stripe style="width: 100%">
<el-table-column label="璁㈠崟缂栧彿" prop="orderNo" width="150" fixed="left" />
<el-table-column label="鍟嗗搧缂栫爜" prop="productCode" width="120" />
- <el-table-column label="鍟嗗搧鍚嶇О" prop="productName" width="200" />
- <el-table-column label="瑙勬牸鍨嬪彿" prop="specification" width="150" />
+ <el-table-column label="鍟嗗搧鍚嶇О" prop="productName" min-width="200" />
+ <el-table-column label="瑙勬牸鍨嬪彿" prop="specification" min-width="150" />
<el-table-column label="鍗曚綅" prop="unit" width="80" />
<el-table-column label="璁″垝鏁伴噺" prop="plannedQuantity" width="100" />
<el-table-column label="宸叉敹璐ф暟閲�" prop="receivedQuantity" width="120" />
@@ -204,11 +204,11 @@
</div>
</div>
- <el-table :data="businessSummaryData" border v-loading="loading" stripe>
+ <el-table :data="businessSummaryData" border v-loading="loading" stripe style="width: 100%">
<el-table-column label="鍟嗗搧绫诲埆" prop="category" width="150" fixed="left" />
<el-table-column label="鍟嗗搧缂栫爜" prop="productCode" width="120" />
- <el-table-column label="鍟嗗搧鍚嶇О" prop="productName" width="200" />
- <el-table-column label="瑙勬牸鍨嬪彿" prop="specification" width="150" />
+ <el-table-column label="鍟嗗搧鍚嶇О" prop="productName" min-width="200" />
+ <el-table-column label="瑙勬牸鍨嬪彿" prop="specification" min-width="150" />
<el-table-column label="閲囪喘鏁伴噺" prop="purchaseQuantity" width="120" />
<el-table-column label="閲囪喘閲戦" prop="purchaseAmount" width="120">
<template #default="{ row }">楼{{ row.purchaseAmount.toLocaleString() }}</template>
@@ -217,7 +217,7 @@
<template #default="{ row }">楼{{ row.avgPrice.toFixed(2) }}</template>
</el-table-column>
<el-table-column label="閲囪喘娆℃暟" prop="purchaseCount" width="100" />
- <el-table-column label="涓昏渚涘簲鍟�" prop="mainSupplier" width="150" />
+ <el-table-column label="涓昏渚涘簲鍟�" prop="mainSupplier" min-width="150" />
<el-table-column label="鏈�鍚庨噰璐棩鏈�" prop="lastPurchaseDate" width="120" />
</el-table>
</div>
@@ -242,9 +242,9 @@
</div>
</div>
- <el-table :data="supplierSummaryData" border v-loading="loading" stripe>
+ <el-table :data="supplierSummaryData" border v-loading="loading" stripe style="width: 100%">
<el-table-column label="渚涘簲鍟嗙紪鐮�" prop="supplierCode" width="120" fixed="left" />
- <el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" width="200" />
+ <el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" min-width="200" />
<el-table-column label="鑱旂郴浜�" prop="contactPerson" width="120" />
<el-table-column label="鑱旂郴鐢佃瘽" prop="phone" width="130" />
<el-table-column label="渚涜揣璁㈠崟鏁�" prop="orderCount" width="120" />
@@ -805,6 +805,15 @@
:deep(.el-table) {
border-radius: 8px;
overflow: hidden;
+ width: 100% !important;
+}
+
+:deep(.el-table__body-wrapper) {
+ width: 100% !important;
+}
+
+:deep(.el-table__header-wrapper) {
+ width: 100% !important;
}
:deep(.el-table th) {
--
Gitblit v1.9.3