You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

156 lines
3.4 KiB

import request from '@/utils/request';
import { AxiosPromise } from 'axios';
const BASE_URL = '/web/supervision/report/statistics-complaint';
/** 查询参数 */
export interface ComplaintQuery {
pageNum?: number;
pageSize?: number;
/** 被投诉对象(模糊搜索) */
complaintDepartment?: string;
/** 投诉类型(字典 caseType) */
enforceType?: number | string;
/** 涉事地址(模糊搜索) */
enterpriseAddress?: string;
/** 被投诉部门ID(明细查询用) */
complaintDepartmentId?: string;
/** 年 */
year?: string;
/** 季度 */
quarter?: string;
/** 月 */
month?: string;
/** 自定义开始时间 */
beginTime?: string;
/** 自定义结束时间 */
endTime?: string;
/** 时段类型:year/quarter/month/day */
timeType?: string;
/** Tab2类型切换:type/空/区域dict_value */
type?: string;
}
/** 概览VO */
export interface ComplaintOverviewVo {
complaintCount: number;
complaintDeptCount: number;
}
/** 分组统计VO */
export interface ComplaintGroupVo {
complaintDepartment: string;
complaintDepartmentId: string;
total: number;
}
/** 明细VO */
export interface ComplaintDetailVo {
id: number;
cid: string;
complaintDepartment: string;
enforceType: number;
enforceTypeText: string;
complaintTime: string;
}
/** Tab2 类型统计VO */
export interface ComplaintTypeStatVo {
name: string;
count: number;
percentage: string;
}
/** Tab1概览 */
export const getOverview = (params: ComplaintQuery): AxiosPromise => {
return request({
url: `${BASE_URL}/overview`,
method: 'get',
params
});
};
/** Tab1分组列表 */
export const getGroupList = (params: ComplaintQuery): AxiosPromise => {
return request({
url: `${BASE_URL}/groupList`,
method: 'get',
params
});
};
/** Tab1明细列表 */
export const getDetailList = (params: ComplaintQuery): AxiosPromise => {
return request({
url: `${BASE_URL}/detailList`,
method: 'get',
params
});
};
/** Tab2-投诉类型统计 */
export const getTypeStatList = (params: ComplaintQuery): AxiosPromise => {
return request({
url: `${BASE_URL}/typeStatList`,
method: 'get',
params
});
};
/** Tab2-区域统计 */
export const getAreaStatList = (params: ComplaintQuery): AxiosPromise => {
return request({
url: `${BASE_URL}/areaStatList`,
method: 'get',
params
});
};
/** Tab2-街道统计 */
export const getStreetStatList = (params: ComplaintQuery): AxiosPromise => {
return request({
url: `${BASE_URL}/streetStatList`,
method: 'get',
params
});
};
/** Tab1导出 */
export const exportGroupList = (data: ComplaintQuery): AxiosPromise<Blob> => {
return request({
url: `${BASE_URL}/exportGroupList`,
method: 'post',
data,
responseType: 'blob'
});
};
/** Tab2投诉类型导出 */
export const exportTypeStat = (data: ComplaintQuery): AxiosPromise<Blob> => {
return request({
url: `${BASE_URL}/exportTypeStat`,
method: 'post',
data,
responseType: 'blob'
});
};
/** Tab2区域导出 */
export const exportAreaStat = (data: ComplaintQuery): AxiosPromise<Blob> => {
return request({
url: `${BASE_URL}/exportAreaStat`,
method: 'post',
data,
responseType: 'blob'
});
};
/** Tab2街道导出 */
export const exportStreetStat = (data: ComplaintQuery): AxiosPromise<Blob> => {
return request({
url: `${BASE_URL}/exportStreetStat`,
method: 'post',
data,
responseType: 'blob'
});
};