From fa0c718c8ba41851c4bfa53463d791ccbffea4d1 Mon Sep 17 00:00:00 2001 From: GiveMePast <1248298477@qq.com> Date: Thu, 14 May 2026 15:41:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=8F=E5=B0=91=E5=86=97=E4=BD=99=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jsconfig.json | 1 - src/api/ticket.js | 66 +++--- src/components/ticket/TicketFilter.vue | 72 +++++- src/components/ticket/TicketForm.vue | 92 ++++---- src/components/ticket/TicketList.vue | 170 ++++++++++----- src/layouts/MainLayout.vue | 49 ++++- src/router/index.js | 291 +++++++++++++++++-------- src/utils/format.js | 49 +++++ src/utils/request.js | 92 +++----- src/views/404View.vue | 37 ++++ src/views/ClientView.vue | 27 +-- src/views/LoginView.vue | 68 ++---- src/views/TicketManagement.vue | 178 +++++++++------ src/views/UserView.vue | 46 ++-- vite.config.js | 3 +- 15 files changed, 802 insertions(+), 439 deletions(-) create mode 100644 src/utils/format.js create mode 100644 src/views/404View.vue diff --git a/jsconfig.json b/jsconfig.json index 8e8440b..877fd65 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -1,6 +1,5 @@ { "compilerOptions": { - "baseUrl": ".", "paths": { "@/*": [ "./src/*" diff --git a/src/api/ticket.js b/src/api/ticket.js index 15cfa56..00538a2 100644 --- a/src/api/ticket.js +++ b/src/api/ticket.js @@ -1,78 +1,80 @@ -import request from '@/utils/request' +import { adminRequest, indexRequest } from '@/utils/request' +// ==================== 前台接口(/api/index) ==================== export const userApi = { - // 登录接口 login(username, password) { - // 这里的 data 会被 axios 放在请求体 (Body) 中发送 - return request.post('/login', { - username, - password - }) + return indexRequest.post('/login', { username, password }) }, - // 退出登录 logout() { - return request.post('/logout') + return indexRequest.post('/logout') } } +// ==================== 后台接口(/api/admin) ==================== export const ticketApi = { - //获取工单各个完成状态的统计数量 - getticketsstatuscount(){ - return request.get('/getticketstatuscount') + // 获取工单各完成状态的统计数量 + getticketdashboardstats() { + return adminRequest.get('/getticketdashboardstats') }, // 获取工单列表 getTickets(params) { - return request.get('/ticketsfind', { params }) + return adminRequest.get('/ticketsfind', { params }) }, // 新增工单 addTicket(data) { - return request.post('/addticket', data) + return adminRequest.post('/addticket', data) }, // 更新工单 updateTicket(id, data) { - return request.put(`/ticket/${id}`, data) + return adminRequest.put(`/ticket/${id}`, data) }, // 删除工单 deleteTicket(id) { - return request.delete(`/ticket/${id}`) + return adminRequest.delete(`/ticket/${id}`) }, - // 获取运营人员列表 - getOperators() { - return request.get('/operators') + // 获取运营人员列表(按公司分组) + getOperatorsNew() { + return adminRequest.get('/getOperatorList') }, + // 获取员工列表 - getStaffs(params) { - return request.get('/getStaffList', { params }) - } + getUserStaffs() { + return adminRequest.get('/getUserStaffList') + }, + + // 批量更新工单 + batchUpdateTicket(data) { + return adminRequest.put('/tickets/batch-update', data) + }, } export const customerApi = { getCustomers() { - return request.get('/customers') + return adminRequest.get('/customers') }, - // 添加客户,data 结构应为 { company_name: 'xxx' } addCustomerName(data) { - return request.post('/addcustomername', data) + return adminRequest.post('/addcustomername', data) }, addEmployee(data) { - return request.post('/addemployee', data) // 对应后端新增员工 + return adminRequest.post('/addemployee', data) }, - deleteEmployee(empId) { - return request.delete(`/deleteemployee/${empId}`) // 对应后端删除员工 - }, - deleteCustomer(customerId) { - return request.delete(`/deletecustomer/${customerId}`) // 删除客户单位 - } + deleteEmployee(empId) { + return adminRequest.delete(`/deleteemployee/${empId}`) + }, + + deleteCustomer(customerId) { + return adminRequest.delete(`/deletecustomer/${customerId}`) + } } \ No newline at end of file diff --git a/src/components/ticket/TicketFilter.vue b/src/components/ticket/TicketFilter.vue index 4db594e..d8eb496 100644 --- a/src/components/ticket/TicketFilter.vue +++ b/src/components/ticket/TicketFilter.vue @@ -15,24 +15,26 @@
- - + + +
/
- - + - + - \ No newline at end of file + +.update-label { + color: #909399; +} + +:deep(.table-header) { + background-color: #fafafa !important; + font-weight: 600; +} + diff --git a/src/layouts/MainLayout.vue b/src/layouts/MainLayout.vue index 28511b1..4ee874b 100644 --- a/src/layouts/MainLayout.vue +++ b/src/layouts/MainLayout.vue @@ -3,25 +3,36 @@