import { defHttp } from '#/api/request';

enum Api {
  Prefix = '/api/extend/lims/biz/huanjing/jiance/kanban',
  Qushi = '/api/extend/lims/biz/huanjing/jiance/qushi',
}

export interface HuanjingKanbanQuery {
  end_date?: string;
  jiance_quyu?: string;
  jiejing_jibie?: string;
  start_date?: string;
  weizhi_bianhao?: string;
}

export interface HuanjingKanbanRow {
  caiyangdian_id: string;
  jiance_quyu: string;
  jiance_quyu_mingcheng: string;
  jiejing_jibie: string;
  weizhi_bianhao: string;
  weizhi_mingcheng: string;
}

export interface HuanjingKanbanItem {
  biz_status: string;
  can_delete: boolean;
  jiance_quyu: string;
  jiance_quyu_mingcheng: string;
  jiance_xiangmu: string;
  jiance_zhuangtai: string;
  jiejing_jibie: string;
  jihua_id: string;
  jihua_leixing: string;
  jihua_mingcheng: string;
  jihua_riqi: string;
  jilu_id: string;
  weizhi_bianhao: string;
  weizhi_mingcheng: string;
  zixiang_id: string;
}

export interface HuanjingQushiQuery {
  end_date: string;
  jiance_pinci: string;
  jiance_quyu: string;
  jiance_xiangmu: string[];
  jiance_zhuangtai: string;
  jiejing_jibie: string;
  start_date: string;
  weizhi_bianhao: string;
}

export interface HuanjingQushiRecord {
  ceshi_jieguo: string;
  ceshi_jieguo_lijing: string;
  jiance_quyu: string;
  jiance_riqi: string;
  jiance_xiangmu: string;
  jiejing_jibie: string;
  quyangdian_mingcheng: string;
  weizhi_bianhao: string;
  weizhi_mingcheng: string;
}

export interface HuanjingQushiStandard {
  biaozhun_guiding: string;
  biaozhun_shangxian: number | string;
  jiance_xiangmu: string;
  jiance_zhuangtai: string;
  jiejing_jibie: string;
  lijing: string;
  moren_danwei: string;
}

export interface HuanjingQushiData {
  records: HuanjingQushiRecord[];
  standards: HuanjingQushiStandard[];
}

export function getHuanjingKanbanRows(data: HuanjingKanbanQuery) {
  return defHttp.get({ url: `${Api.Prefix}/rows`, data });
}

export function getHuanjingKanbanItems(data: HuanjingKanbanQuery) {
  return defHttp.get({ url: `${Api.Prefix}/items`, data });
}

export function deleteHuanjingKanbanItem(id: string) {
  return defHttp.delete({ url: `${Api.Prefix}/zixiang/${id}` });
}

export function getHuanjingQushiData(data: HuanjingQushiQuery) {
  return defHttp.post({ url: `${Api.Qushi}/data`, data });
}
