调整目录结构
This commit is contained in:
1 parent
4db7c70511
commit
7a5b9d1bea
112 files changed
+863
-376
No files matched your search
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* 物业报修模块 API 接口入口
|
||||
*/
|
||||
|
||||
// 报修工单相关接口
|
||||
export * from './repairOrder';
|
||||
|
||||
// 维修类型相关接口
|
||||
export * from './repairCategory';
|
||||
|
||||
// 类型定义
|
||||
export * from './types';
|
||||
@@ -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'
|
||||
});
|
||||
};
|
||||
@@ -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
Reference in new issue
Block a user