超市会议
This commit is contained in:
1 parent
30e3bf6655
commit
0ebd6737fe
16 files changed
+1397
-162
No files matched your search
@@ -39,3 +39,12 @@ export function putObj(obj?: Object) {
|
||||
})
|
||||
}
|
||||
|
||||
// 获取会议室预约详情页面数据
|
||||
export function getBookingDetailPage(roomId: string, date: string) {
|
||||
return request({
|
||||
url: `integrated/meetingRoom/app/booking-detail-page/${roomId}`,
|
||||
method: 'get',
|
||||
params: { date }
|
||||
})
|
||||
}
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
import request from '/@/utils/request';
|
||||
|
||||
// 会议室预约统计查询参数
|
||||
export interface MeetingStatsQuery {
|
||||
startDate?: string; // 开始日期,格式:yyyy-MM-dd
|
||||
endDate?: string; // 结束日期,格式:yyyy-MM-dd
|
||||
dimension?: string; // 统计维度:dept-按部门统计,assignee-按负责人统计,time-按时间统计
|
||||
timeGranularity?: string; // 时间粒度:day-按天,week-按周,month-按月
|
||||
deptId?: number; // 部门ID,用于筛选特定部门
|
||||
roomId?: number; // 会议室ID,用于筛选特定会议室
|
||||
}
|
||||
|
||||
// 总体统计数据
|
||||
export interface OverallStats {
|
||||
totalBookings: number; // 总预约数
|
||||
approvedBookings: number; // 审核通过数
|
||||
pendingBookings: number; // 审核中数
|
||||
rejectedBookings: number; // 审核拒绝数
|
||||
cancelledBookings: number; // 已取消数
|
||||
approvalRate: number; // 通过率(百分比)
|
||||
avgDuration: number; // 平均会议时长(分钟)
|
||||
totalDuration: number; // 总会议时长(分钟)
|
||||
}
|
||||
|
||||
// 部门统计数据
|
||||
export interface DeptStats {
|
||||
deptId: number; // 部门ID
|
||||
deptName: string; // 部门名称(通过部门微服务获取)
|
||||
bookingCount: number; // 预约数量
|
||||
approvedCount: number; // 通过数量
|
||||
approvalRate: number; // 通过率
|
||||
totalDuration: number; // 总会议时长
|
||||
}
|
||||
|
||||
// 负责人统计数据
|
||||
export interface AssigneeStats {
|
||||
assigneeName: string; // 负责人姓名
|
||||
bookingCount: number; // 预约数量
|
||||
approvedCount: number; // 通过数量
|
||||
approvalRate: number; // 通过率
|
||||
totalDuration: number; // 总会议时长
|
||||
}
|
||||
|
||||
// 时间统计数据
|
||||
export interface TimeStats {
|
||||
timeLabel: string; // 时间标签(格式化后的时间显示)
|
||||
date?: string; // 日期(仅按天统计时有值)
|
||||
bookingCount: number; // 预约数量
|
||||
approvedCount: number; // 通过数量
|
||||
totalDuration: number; // 总会议时长
|
||||
}
|
||||
|
||||
// 状态统计数据
|
||||
export interface StatusStats {
|
||||
status: string; // 状态码(1-审核中,2-审核通过,3-审核拒绝,4-已取消,5-取消,0-已到访)
|
||||
statusName: string; // 状态名称
|
||||
count: number; // 数量
|
||||
percentage: number; // 占比(百分比)
|
||||
}
|
||||
|
||||
// 会议室统计数据
|
||||
export interface RoomStats {
|
||||
roomId: number; // 会议室ID
|
||||
roomName: string; // 会议室名称
|
||||
bookingCount: number; // 预约数量
|
||||
approvedCount: number; // 通过数量
|
||||
usageRate: number; // 使用率
|
||||
totalDuration: number; // 总会议时长
|
||||
}
|
||||
|
||||
// 统计结果数据
|
||||
export interface MeetingStatsData {
|
||||
overallStats: OverallStats; // 总体统计
|
||||
deptStats: DeptStats[]; // 部门统计
|
||||
assigneeStats: AssigneeStats[]; // 负责人统计
|
||||
timeStats: TimeStats[]; // 时间统计
|
||||
statusStats: StatusStats[]; // 状态统计
|
||||
roomStats: RoomStats[]; // 会议室统计
|
||||
}
|
||||
|
||||
// 统计结果响应
|
||||
export interface MeetingStatsResponse {
|
||||
code: number;
|
||||
msg: string;
|
||||
data: MeetingStatsData;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取会议室预约统计信息
|
||||
* @param params 查询参数
|
||||
* @returns 统计结果
|
||||
*/
|
||||
export function getMeetingStats(params?: MeetingStatsQuery): Promise<MeetingStatsResponse> {
|
||||
return request({
|
||||
url: '/integrated/meetingBooking/stats',
|
||||
method: 'get',
|
||||
params
|
||||
});
|
||||
}
|
||||
@@ -89,3 +89,5 @@ export function exportProfitMarginReport(params?: object) {
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user