api.ts 2.12 KB
import request from "@/utils/request";
import { BACKLOG } from "@/utils/host";
import { http } from "@/typing/http";
import { PaginationParam } from "@/typing/common";
import { NumberTypeEnum, SymbolDescEnum } from "@/pages/backlog/entity";

export interface Params extends PaginationParam {
  sysId?: number;
  configId?: number;
  keywords?: string;
}

export interface ListVO {
  id: number;
  /** 干预事项编码 */
  code: string;
  /** 干预事项名称 */
  name: string;
  /** 待办配置id */
  configId: number;
  /** 待办编码 */
  itemCode: string;
  /** 待办名称 */
  itemName: string;
  /** 适用系统 */
  applySysId: number;
  /** 系统名称 */
  applySysName: string;
  /** 状态 0 禁用 1生效 */
  status: number;
  /** 干预阀值描述 */
  valueDesc: string;
  /** 干预阀值单位 */
  valueUnit: string;
  /** 数据类型 */
  numberType: NumberTypeEnum;
  /** 运算符类型 */
  symbolType: SymbolDescEnum;
}

export function querySettingList(params: Params): http.PromisePageResp<ListVO> {
  return request.get(`${BACKLOG}/intervene/list`, { params });
}

export function switchStatus(id: number, disable: boolean): http.PromisePageResp<void> {
  let uri = `${BACKLOG}/intervene/enable`;
  if (disable) {
    uri = `${BACKLOG}/intervene/disable`;
  }
  return request.post(uri, { id }, { contentType: "form-urlencoded" });
}

interface SavaParams {
  id?: number;
  name?: string;
  configId?: number;
  applySysId?: number;
  valueDesc?: string;
  valueUnit?: string;
}

export function save(params: SavaParams): http.PromisePageResp<void> {
  return request.post(`${BACKLOG}/intervene/save`, { ...params });
}

export interface BacklogItemVO {
  id: number;
  itemCode: string;
  itemName: string;
}

export function queryBacklogList(): http.PromiseRespA<BacklogItemVO> {
  return request.get<any>(`${BACKLOG}/config/list`, { params: { current: 1, pageSize: 5000 } }).then((res) => {
    const data = res?.data?.data || [];
    res.data = data;
    return res;
  });
}

export function deleteSetting(id: number): http.PromisePageResp<ListVO> {
  return request.get(`${BACKLOG}/intervene/delete`, { params: { id } });
}