jiaxing.zhou

feat(frontend): 添加异常工单页面及路由配置

- 在路由中新增异常工单页面路径 /main/exception-workorder
- 在主布局菜单中添加异常工单入口
- 引入 Element Plus 的 ElCard 和 ElIcon 组件类型声明
- 重构异常工单页面 UI,替换原有 element 组件为原生 HTML 元素
- 新增表格、分页、搜索区域的自定义样式和交互逻辑
- 添加全选、跳转页码、页面大小切换等功能
- 优化状态和严重程度的展示样式及分类逻辑
...@@ -8,12 +8,14 @@ export {} ...@@ -8,12 +8,14 @@ export {}
8 declare module 'vue' { 8 declare module 'vue' {
9 export interface GlobalComponents { 9 export interface GlobalComponents {
10 ElButton: typeof import('element-plus/es')['ElButton'] 10 ElButton: typeof import('element-plus/es')['ElButton']
11 + ElCard: typeof import('element-plus/es')['ElCard']
11 ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] 12 ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
12 ElDescriptions: typeof import('element-plus/es')['ElDescriptions'] 13 ElDescriptions: typeof import('element-plus/es')['ElDescriptions']
13 ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem'] 14 ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem']
14 ElDialog: typeof import('element-plus/es')['ElDialog'] 15 ElDialog: typeof import('element-plus/es')['ElDialog']
15 ElForm: typeof import('element-plus/es')['ElForm'] 16 ElForm: typeof import('element-plus/es')['ElForm']
16 ElFormItem: typeof import('element-plus/es')['ElFormItem'] 17 ElFormItem: typeof import('element-plus/es')['ElFormItem']
18 + ElIcon: typeof import('element-plus/es')['ElIcon']
17 ElInput: typeof import('element-plus/es')['ElInput'] 19 ElInput: typeof import('element-plus/es')['ElInput']
18 ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] 20 ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
19 ElOption: typeof import('element-plus/es')['ElOption'] 21 ElOption: typeof import('element-plus/es')['ElOption']
......
...@@ -147,6 +147,7 @@ const menuItems = ref([ ...@@ -147,6 +147,7 @@ const menuItems = ref([
147 { name: '产品管理', path: '/main/product', icon: '📦' }, 147 { name: '产品管理', path: '/main/product', icon: '📦' },
148 { name: '经销商管理', path: '/main/dealer', icon: '🏢' }, 148 { name: '经销商管理', path: '/main/dealer', icon: '🏢' },
149 { name: '返利管理', path: '/main/rebate', icon: '💰' }, 149 { name: '返利管理', path: '/main/rebate', icon: '💰' },
150 + { name: '异常工单', path: '/main/exception-workorder', icon: '⚠️' },
150 { 151 {
151 name: '系统设置', 152 name: '系统设置',
152 icon: '⚙️', 153 icon: '⚙️',
......
...@@ -153,6 +153,24 @@ const staticRoutes: RouteRecordRaw[] = [ ...@@ -153,6 +153,24 @@ const staticRoutes: RouteRecordRaw[] = [
153 } 153 }
154 }, 154 },
155 { 155 {
156 + path: 'exception-workorder',
157 + name: 'ExceptionWorkorder',
158 + component: () => import('@/views/exceptionWorkorder/index.vue'),
159 + meta: {
160 + title: '异常工单',
161 + requiresAuth: true
162 + }
163 + },
164 + {
165 + path: 'test-menu',
166 + name: 'TestMenu',
167 + component: () => import('@/views/test-menu.vue'),
168 + meta: {
169 + title: '菜单测试',
170 + requiresAuth: true
171 + }
172 + },
173 + {
156 path: 'settings', 174 path: 'settings',
157 name: 'Settings', 175 name: 'Settings',
158 component: () => import('@/views/settings/index.vue'), 176 component: () => import('@/views/settings/index.vue'),
......