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.
157 lines
3.4 KiB
157 lines
3.4 KiB
|
5 months ago
|
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'
|
||
|
|
});
|
||
|
|
};
|