import request from '@/utils/request'; import { AxiosPromise } from 'axios'; const BASE_URL = '/web/supervision/report/statistics-inspection-plan'; /** 查询参数 */ export interface InspectionPlanQuery { pageNum?: number; pageSize?: number; /** 执法单位(模糊搜索) */ bureauDeptName?: string; /** 局级部门ID(明细查询用) */ bureauDeptId?: string; /** 时段类型:year/quarter/month/day */ dateSearch?: string; /** 年 */ year?: string; /** 报表搜索用季度 */ reportQuarter?: string; /** 月 */ month?: string; /** 自定义开始时间 */ beginTime?: string; /** 自定义结束时间 */ endTime?: string; /** 明细弹窗时的计划类型(year/quarter/month) */ reportTimeType?: string; } /** 概览VO */ export interface InspectionPlanOverviewVo { total: number; yearTotal: number; quarterTotal: number; monthTotal: number; } /** 分组统计VO */ export interface InspectionPlanGroupVo { bureauDeptName: string; bureauDeptId: string; total: number; yearTotal: number; quarterTotal: number; monthTotal: number; } /** 明细VO */ export interface InspectionPlanDetailVo { id: string; planName: string; bureauDeptName: string; enforcementArea: string; enforcementTime: string; } /** 排行VO */ export interface InspectionPlanRankVo { bureauDeptName: string; total: number; quarterTotal1?: number; quarterTotal2?: number; quarterTotal3?: number; quarterTotal4?: number; monthTotal1?: number; monthTotal2?: number; monthTotal3?: number; monthTotal4?: number; monthTotal5?: number; monthTotal6?: number; monthTotal7?: number; monthTotal8?: number; monthTotal9?: number; monthTotal10?: number; monthTotal11?: number; monthTotal12?: number; } /** Tab1概览 */ export const getOverview = (params: InspectionPlanQuery): AxiosPromise => { return request({ url: `${BASE_URL}/overview`, method: 'get', params }); }; /** Tab1分组列表 */ export const getGroupList = (params: InspectionPlanQuery): AxiosPromise => { return request({ url: `${BASE_URL}/groupList`, method: 'get', params }); }; /** Tab1明细列表 */ export const getDetailList = (params: InspectionPlanQuery): AxiosPromise => { return request({ url: `${BASE_URL}/detailList`, method: 'get', params }); }; /** Tab2-年度排行TOP10 */ export const getRankByYear = (params: InspectionPlanQuery): AxiosPromise => { return request({ url: `${BASE_URL}/rankByYear`, method: 'get', params }); }; /** Tab2-季度排行TOP10 */ export const getRankByQuarter = (params: InspectionPlanQuery): AxiosPromise => { return request({ url: `${BASE_URL}/rankByQuarter`, method: 'get', params }); }; /** Tab2-月度排行TOP10 */ export const getRankByMonth = (params: InspectionPlanQuery): AxiosPromise => { return request({ url: `${BASE_URL}/rankByMonth`, method: 'get', params }); }; /** Tab1导出 */ export const exportGroupList = (data: InspectionPlanQuery): AxiosPromise => { return request({ url: `${BASE_URL}/exportGroupList`, method: 'post', data, responseType: 'blob' }); };