From 5ac365b45e329578e2035a5da80bd4802270ed98 Mon Sep 17 00:00:00 2001 From: GiveMePast <1248298477@qq.com> Date: Tue, 3 Feb 2026 15:30:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9=E5=90=8E?= =?UTF-8?q?=E7=9A=84=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 1 + package.json | 1 + src/assets/main.css | 61 +++--- src/components/TicketFilter.vue | 196 ++++++++++-------- src/components/TicketForm.vue | 290 ++++++++++++++++----------- src/components/TicketList.vue | 273 +++++++++++++++++-------- src/main.js | 16 +- src/views/TicketManagement.vue | 344 ++++++++++++++------------------ 8 files changed, 664 insertions(+), 518 deletions(-) diff --git a/package-lock.json b/package-lock.json index d3d7259..a43e831 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "vue_tickets", "version": "0.0.0", "dependencies": { + "@element-plus/icons-vue": "^2.3.2", "axios": "^1.13.2", "element-plus": "^2.11.8", "vue": "^3.5.22" diff --git a/package.json b/package.json index b6d99f4..8977dff 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "preview": "vite preview" }, "dependencies": { + "@element-plus/icons-vue": "^2.3.2", "axios": "^1.13.2", "element-plus": "^2.11.8", "vue": "^3.5.22" diff --git a/src/assets/main.css b/src/assets/main.css index 114e537..32fc0a3 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -1,37 +1,44 @@ -@import './base.css'; - -/* 重置全局默认边距 */ +/* 重置基础样式 */ +html, +body { + margin: 0; + padding: 0; + width: 100%; + height: 100%; + background-color: #f5f7fa; + /* 给背景一个淡灰色,更有后台质感 */ + font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif; +} #app { - max-width: 1280px; + /* 移除原有的 grid 和 center 布局 */ + width: 100%; + margin: 0; + padding: 0; + display: block; + /* 恢复块级布局 */ +} + +/* 如果你希望内容有一个最大宽度并居中,可以这样写 */ +.ticket-management { + max-width: 1440px; + /* 常见的管理后台舒适宽度 */ margin: 0 auto; - padding: 2rem; - font-weight: normal; + /* 水平居中 */ + padding: 20px; + box-sizing: border-box; } -a, -.green { +/* 链接样式微调 */ +a { text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; - padding: 3px; + color: #409eff; + transition: 0.3s; } -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; +/* 针对移动端的小适配 */ +@media (max-width: 768px) { + .ticket-management { + padding: 10px; } } \ No newline at end of file diff --git a/src/components/TicketFilter.vue b/src/components/TicketFilter.vue index 7132165..8691d93 100644 --- a/src/components/TicketFilter.vue +++ b/src/components/TicketFilter.vue @@ -1,94 +1,64 @@ + + 排序 + + + + + + + \ No newline at end of file + + + \ No newline at end of file diff --git a/src/components/TicketList.vue b/src/components/TicketList.vue index 079cc32..d443cef 100644 --- a/src/components/TicketList.vue +++ b/src/components/TicketList.vue @@ -1,106 +1,205 @@ - - \ No newline at end of file diff --git a/src/main.js b/src/main.js index 76b5a77..8f785b4 100644 --- a/src/main.js +++ b/src/main.js @@ -4,7 +4,19 @@ import { createApp } from 'vue' import App from './App.vue' import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' +import zhCn from 'element-plus/dist/locale/zh-cn.mjs' + +import * as ElementPlusIconsVue from '@element-plus/icons-vue' const app = createApp(App) -app.use(ElementPlus) -app.mount('#app') + +app.use(ElementPlus, { + locale: zhCn, +}) + +// 注册所有图标 +for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) +} + +app.mount('#app') \ No newline at end of file diff --git a/src/views/TicketManagement.vue b/src/views/TicketManagement.vue index f16a72b..df9d098 100644 --- a/src/views/TicketManagement.vue +++ b/src/views/TicketManagement.vue @@ -1,61 +1,66 @@ \ No newline at end of file