import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { InfoVO, InfoForm, InfoQuery } from './model';
import { UserImportParam } from '@/api/system/user/model';
import { ContentTypeEnum } from '@/enums/httpEnum';
/**
 * 从excel导入用户
 * @param data
 * @returns
 */
export function evaImportData(data: UserImportParam) {
  return defHttp.post(
    {
      url: '/elevator/info/importData',
      data,
      headers: {
        'Content-Type': ContentTypeEnum.FORM_DATA,
      },
    },
    {
      // 返回的msg包含<br> 用modal显示
      successMessageMode: 'modal',
      errorMessageMode: 'modal',
    },
  );
}
/**
 * 下载用户导入模板
 * @returns
 */
export function downloadImportTemplate() {
  return defHttp.post<Blob>(
    { url: '/elevator/info/importTemplate', responseType: 'blob' },
    { isTransformResponse: false },
  );
}
/**
 * 查询电梯基础信息;列表
 * @param params
 * @returns
 */
export function infoList(params) {
  console.log(params,'ppppp');
  return defHttp.get<InfoVO[]>({ url: '/elevator/info/list', params });
}

/**
 * 困人排行
 * @param params
 * @returns
 */
export function kurenList(params?: InfoQuery) {
  return defHttp.get<InfoVO[]>({ url: '/home/trapped/list', params });
}
/**
 * 电梯状况统计
 * @param params
 * @returns
 */
export function infoConditionList(params?: InfoQuery) {
  return defHttp.get<InfoVO[]>({ url: '/elevator/info/state/statistics/list', params });
}
/**
 * 查询电梯维保统计列表
 * @param params
 * @returns
 */
export function evaMaintanceList(params) {
  return defHttp.get({ url: '/maintenancePlan/maintenancePlan/statistics/list', params });
}
/**
 * 查询综合统计
 * @param params
 * @returns
 */
export function evaAllList(params) {
  return defHttp.get({ url: '/elevator/info/comprehensive/statistics/list', params });
}
/**
 * 查询电梯维保统计列表
 * @param params
 * @returns
 */
export function evaMaintancesList(params) {
  return defHttp.get({ url: '/maintenance/maintenanceInfo/statistics/list', params });
}
/**
 * 查询物业统计列表
 * @param params
 * @returns
 */
export function evaTenementList(params) {
  return defHttp.get({ url: '/tenement/info/statistics/list', params });
}
/**
 * 查询电梯故障列表
 * @param params
 * @returns
 */
export function evaBadadList(params) {
  return defHttp.get({ url: '/elevator/faultStatistics/chart/list', params });
}
/**
 * 查询维保状态统计列表
 * @param params
 * @returns
 */
export function evaMaintenanceAList(params) {
  return defHttp.get({ url: '/maintenancePlan/maintenancePlan/statistics/list', params });
}

/**
 * 首页查询
 * @param params
 * @returns
 */
export function homeList(params) {
  return defHttp.get({ url: '/home/info', params });
}
/**
 * 电梯故障分布
 * @param params
 * @returns
 */
export function elevatorFaultList(params) {
  return defHttp.get({ url: '/home/fault/list', params });
}
/**
 * 救援次数分布
 * @param params
 * @returns
 */
export function elevatorRescueList(params) {
  return defHttp.get({ url: '/home/rescue/list', params });
}

/**
 * 超期未检验
 * @param params
 * @returns
 */
export function elevatorOverList(params) {
  return defHttp.get({ url: '/home/overdue/elevator/list', params });
}
/**
 * 查询电梯品牌列表
 * @param params
 * @returns
 */
export function evaBrandList(params) {
  return defHttp.get({ url: '/elevator/info/brand/statistics/chart/list', params });
}
/**
 * 查询电梯运行数据列表
 * @param params
 * @returns
 */
export function evaRunDataList(params) {
  return defHttp.get({ url: '/elevator/behaviorStatistics/list', params });
}
/**
 * 查询电梯故障数据列表
 * @param params
 * @returns
 */
export function evaBadDataEList(params) {
  return defHttp.get({ url: '/elevator/faultStatistics/list', params });
}

/**
 * 查询电梯故障数据列表
 * @param params
 * @returns
 */
export function evaBadDataList(params) {
  return defHttp.get({ url: '/elevator/faultStatistics/list', params });
}
/**
 * 导出电梯基础信息;列表
 * @param params
 * @returns
 */
export function infoExport(params?: InfoQuery) {
  return commonExport('/elevator/info/export', params ?? {});
}
/**
 * 导出物业基础信息;列表
 * @param params
 * @returns
 */
export function infoTenementExport(params?: InfoQuery) {
  return commonExport('/tenement/info/export', params ?? {});
}
/**
 * 导出物业基础信息;列表
 * @param params
 * @returns
 */
export function infoMaintenanceExport(params?: InfoQuery) {
  return commonExport('/maintenance/maintenanceInfo/export', params ?? {});
}
/**
 * 查询电梯基础信息;详细
 * @param id id
 * @returns
 */
export function infoInfo(id: ID) {
  return defHttp.get<InfoVO>({ url: '/elevator/info/' + id });
}
/**
 * 查询电梯运行数据
 * @param id id
 * @returns
 */
export function infoRunDataInfo(id: ID) {
  return defHttp.get<InfoVO>({ url: '/elevator/behaviorStatistics/' + id });
}
/**
 * 查询电梯故障数据
 * @param id id
 * @returns
 */
export function infoBadDataInfo(id: ID) {
  return defHttp.get<InfoVO>({ url: '/elevator/faultStatistics/' + id });
}
/**
 * 新增电梯基础信息;
 * @param data
 * @returns
 */
export function infoAdd(data: InfoForm) {
  return defHttp.postWithMsg<void>({ url: '/elevator/info', data });
}

/**
 * 更新电梯基础信息;
 * @param data
 * @returns
 */
export function infoUpdate(data: InfoForm) {
  return defHttp.putWithMsg<void>({ url: '/elevator/info', data });
}

/**
 * 删除电梯基础信息;
 * @param id id
 * @returns
 */
export function infoRemove(id: ID | IDS) {
  return defHttp.deleteWithMsg<void>({ url: '/elevator/info/' + id });
}
