调整目录结构

This commit is contained in:
zlwu committed 2025-06-30 21:16:32 +08:00
1 parent 4db7c70511
commit 7a5b9d1bea
112 files changed
+863 -376

No files matched your search

+12
View File
@@ -0,0 +1,12 @@
/**
* 物业报修模块 API 接口入口
*/
// 报修工单相关接口
export * from './repairOrder';
// 维修类型相关接口
export * from './repairCategory';
// 类型定义
export * from './types';
+81
View File
@@ -0,0 +1,81 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { RepairCategoryVO, RepairCategoryForm, RepairCategoryQuery } from '@/api/hq/hq/pm/types';
/**
* 查询维修类型列表
* @param query 查询参数
*/
export const listRepairCategory = (query?: RepairCategoryQuery) => {
return request({
url: '/hq/pm/repairCategory/list',
method: 'get',
params: query
});
};
/**
* 查询维修类型详细信息
* @param id 类型ID
*/
export const getRepairCategory = (id: string | number): AxiosPromise<RepairCategoryVO> => {
return request({
url: `/hq/pm/repairCategory/${id}`,
method: 'get'
});
};
/**
* 新增维修类型
* @param data 类型数据
*/
export const addRepairCategory = (data: RepairCategoryForm) => {
return request({
url: '/hq/pm/repairCategory',
method: 'post',
data: data
});
};
/**
* 修改维修类型
* @param data 类型数据
*/
export const updateRepairCategory = (data: RepairCategoryForm) => {
return request({
url: '/hq/pm/repairCategory',
method: 'put',
data: data
});
};
/**
* 删除维修类型
* @param id 类型ID
*/
export const delRepairCategory = (id: string | number | Array<string | number>) => {
return request({
url: `/hq/pm/repairCategory/${id}`,
method: 'delete'
});
};
/**
* 获取维修类型树形结构
*/
export const getRepairCategoryTree = (): AxiosPromise<RepairCategoryVO[]> => {
return request({
url: '/hq/pm/repairCategory/tree',
method: 'get'
});
};
/**
* 获取维修类型下拉选项
*/
export const getRepairCategoryOptions = (): AxiosPromise<Array<{value: string | number, label: string}>> => {
return request({
url: '/hq/pm/repairCategory/options',
method: 'get'
});
};
+295
View File
@@ -0,0 +1,295 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import {
RepairOrderVO,
RepairOrderForm,
RepairOrderQuery,
RepairAttachmentVO,
RepairProgressVO,
AssignOrderForm,
ProgressUpdateForm,
RepairStatisticsVO,
ServiceEvaluationForm,
ServiceEvaluationVO
} from '@/api/hq/hq/pm/types';
/**
* 查询报修工单列表
* @param query 查询参数
*/
export const listRepairOrder = (query?: RepairOrderQuery): AxiosPromise<RepairOrderVO[]> => {
return request({
url: '/hq/pm/repairOrder/list',
method: 'get',
params: query
});
};
/**
* 查询报修工单详细信息
* @param id 工单ID
*/
export const getRepairOrder = (id: string | number): AxiosPromise<RepairOrderVO> => {
return request({
url: `/hq/pm/repairOrder/${id}`,
method: 'get'
});
};
/**
* 生成工单编号
*/
export const generateOrderNo = () => {
return request({
url: '/hq/pm/repairOrder/generateOrderNo',
method: 'get'
});
};
/**
* 新增报修工单
* @param data 工单数据
*/
export const addRepairOrder = (data: RepairOrderForm) => {
return request({
url: '/hq/pm/repairOrder',
method: 'post',
data: data
});
};
/**
* 修改报修工单
* @param data 工单数据
*/
export const updateRepairOrder = (data: RepairOrderForm) => {
return request({
url: '/hq/pm/repairOrder',
method: 'put',
data: data
});
};
/**
* 删除报修工单
* @param id 工单ID
*/
export const delRepairOrder = (id: string | number | Array<string | number>) => {
return request({
url: `/hq/pm/repairOrder/${id}`,
method: 'delete'
});
};
/**
* 分派工单
* @param data 分派数据
*/
export const assignRepairOrder = (data: AssignOrderForm) => {
return request({
url: `/hq/pm/repairOrder/${data.orderId}/assign`,
method: 'put',
params: {
assigneeId: data.assigneeId,
assignRemark: data.assignRemark
}
});
};
/**
* 开始维修
* @param id 工单ID
* @param data 开始维修数据
*/
export const startRepairOrder = (id: string | number, data?: any) => {
return request({
url: `/hq/pm/repairOrder/${id}/start`,
method: 'put',
data: data
});
};
/**
* 完成工单
* @param id 工单ID
* @param data 完成数据
*/
export const finishRepairOrder = (id: string | number, data: any) => {
return request({
url: `/hq/pm/repairOrder/${id}/complete`,
method: 'put',
data: data
});
};
/**
* 取消工单
* @param id 工单ID
* @param data 取消数据
*/
export const cancelRepairOrder = (id: string | number, data: { cancelReason: string }) => {
return request({
url: `/hq/pm/repairOrder/${id}/cancel`,
method: 'put',
data: data
});
};
/**
* 获取工单附件列表
* @param orderId 工单ID
*/
export const getRepairAttachments = (orderId: string | number): AxiosPromise<RepairAttachmentVO[]> => {
return request({
url: `/hq/pm/repairOrder/${orderId}/attachments`,
method: 'get'
});
};
/**
* 上传附件文件
* @param orderId 工单ID
* @param uploadStage 上传阶段
* @param file 文件
* @param description 描述
*/
export const uploadAttachment = (orderId: string | number, uploadStage: string, file: File, description?: string): AxiosPromise<RepairAttachmentVO> => {
const formData = new FormData();
formData.append('orderId', orderId.toString());
formData.append('uploadStage', uploadStage);
formData.append('file', file);
if (description) {
formData.append('description', description);
}
return request({
url: '/hq/pm/attachment/upload',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
/**
* 批量上传附件文件
* @param orderId 工单ID
* @param uploadStage 上传阶段
* @param files 文件列表
* @param descriptions 描述列表
*/
export const uploadAttachments = (orderId: string | number, uploadStage: string, files: File[], descriptions?: string[]): AxiosPromise<RepairAttachmentVO[]> => {
const formData = new FormData();
formData.append('orderId', orderId.toString());
formData.append('uploadStage', uploadStage);
files.forEach((file, index) => {
formData.append('files', file);
});
if (descriptions) {
descriptions.forEach((desc, index) => {
formData.append('descriptions', desc);
});
}
return request({
url: '/hq/pm/attachment/upload/batch',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
/**
* 删除附件
* @param id 附件ID
*/
export const deleteAttachment = (id: string | number): AxiosPromise<any> => {
return request({
url: `/hq/pm/attachment/file/${id}`,
method: 'delete'
});
};
/**
* 获取工单进度列表
* @param orderId 工单ID
*/
export const getRepairProgress = (orderId: string | number): AxiosPromise<RepairProgressVO[]> => {
return request({
url: `/hq/pm/repairOrder/${orderId}/progress`,
method: 'get'
});
};
/**
* 更新维修进度
* @param data 进度数据
*/
export const updateRepairProgress = (data: ProgressUpdateForm) => {
return request({
url: '/hq/pm/repairOrder/progress',
method: 'post',
data: data
});
};
/**
* 获取报修统计数据
*/
export const getRepairStatistics = (): AxiosPromise<RepairStatisticsVO> => {
return request({
url: '/hq/pm/repairOrder/statistics',
method: 'get'
});
};
/**
* 获取维修人员选项
* 返回拥有"维修人员"角色的用户列表
*/
export const getMaintenanceWorkers = (): AxiosPromise<Array<{ value: string | number; label: string; userName?: string; deptName?: string }>> => {
return request({
url: '/hq/pm/repairOrder/maintenance-workers',
method: 'get'
});
};
/**
* 导出报修工单
* @param query 查询参数
*/
export const exportRepairOrders = (query?: RepairOrderQuery) => {
return request({
url: '/hq/pm/repairOrder/export',
method: 'post',
data: query
});
};
/**
* 创建服务评价
* @param data 评价数据
*/
export const createServiceEvaluation = (data: ServiceEvaluationForm) => {
return request({
url: '/hq/pm/repairOrder/evaluation',
method: 'post',
data: data
});
};
/**
* 获取工单的服务评价
* @param orderId 工单ID
*/
export const getServiceEvaluation = (orderId: string | number): AxiosPromise<ServiceEvaluationVO> => {
return request({
url: `/hq/pm/repairOrder/${orderId}/evaluation`,
method: 'get'
});
};
File diff suppressed because it is too large. Load diff