feat(hall-audit): improve time conflict detection

- Use PUT method for audit API to match backend
- Detect internal conflicts among selected records only when multiple selected
- Differentiate conflict origin with tags (本次批次 / 已审批)
- Format time with dayjs for backend checkTimeConflict API
- Fix rotate-loading icon class and layout styles
This commit is contained in:
zlwu committed 2025-07-10 08:28:46 +08:00
1 parent d2781d4470
commit 8675ef4581
2 files changed
+453 -73

No files matched your search

+23 -68
View File
@@ -1,84 +1,39 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { HallReservationVO, HallReservationForm, HallReservationQuery } from '@/api/hq/hallReservation/types';
import { HallReservationVO, HallReservationQuery } from '../hallReservation/types';
import { HallReservationAuditForm, TimeCheckParams, TimeCheckResult } from './types';
import { TableDataInfo, R } from '@/api/types';
/**
* 查询报告厅预约列表
* @param query
* @returns {*}
*/
export const listHallReservation = (query?: HallReservationQuery): AxiosPromise<HallReservationVO[]> => {
return request({
// 查询报告厅预约列表
export function listHallReservation(query: HallReservationQuery) {
return request<TableDataInfo<HallReservationVO>>({
url: '/hq/hallReservation/list',
method: 'get',
params: query
});
};
}
/**
* 查询报告厅预约详细
* @param id
*/
export const getHallReservation = (id: string | number): AxiosPromise<HallReservationVO> => {
return request({
// 获取报告厅预约详细信息
export function getHallReservation(id: string | number) {
return request<R<HallReservationVO>>({
url: '/hq/hallReservation/' + id,
method: 'get'
});
};
/**
* 新增报告厅预约
* @param data
*/
export const addHallReservation = (data: HallReservationForm) => {
return request({
url: '/hq/hallReservation',
method: 'post',
data: data
});
};
/**
* 修改报告厅预约
* @param data
*/
export const updateHallReservation = (data: HallReservationForm) => {
return request({
url: '/hq/hallReservation',
method: 'put',
data: data
});
};
/**
* 删除报告厅预约
* @param id
*/
export const delHallReservation = (id: string | number | Array<string | number>) => {
return request({
url: '/hq/hallReservation/' + id,
method: 'delete'
});
};
/**
* 审核报告厅预约(批准/拒绝)
* @param data
*/
export interface HallReservationAuditForm {
/** 预约记录ID列表 */
ids: Array<string | number>;
/** 审核状态:1-批准,2-拒绝 */
status: string;
/** 审核备注 */
auditRemark?: string;
}
export const auditHallReservation = (data: HallReservationAuditForm) => {
return request({
// 审核报告厅预约
export function auditHallReservation(data: HallReservationAuditForm) {
return request<R<any>>({
url: '/hq/hallReservation/audit',
method: 'put',
data: data
});
};
}
// 检查报告厅预约时间是否存在冲突
export function checkTimeConflict(data: TimeCheckParams) {
return request<R<TimeCheckResult>>({
url: '/hq/hallReservation/checkTimeConflict',
method: 'post',
data: data
});
}