index.ts 2.97 KB
import {
  AddDataBoardParams,
  AddDataComponentParams,
  DataBoardList,
  DataComponentRecord,
  GetDataBoardParams,
  Layout,
  UpdateDataBoardLayoutParams,
  UpdateDataBoardParams,
  UpdateDataComponentParams,
} from './model';
import { defHttp } from '/@/utils/http/axios';

enum DataBoardUrl {
  GET_DATA_BOARD = '/data_board',
  ADD_DATA_BOARD = '/data_board/add',
  DELETE_DATA_BOARD = '/data_board',
  UPDATE_DATA_BOARD = '/data_board/update',
  UPDATE_DATA_BOARD_LAYOUT = '/data_board',
}

enum DataComponentUrl {
  GET_DATA_COMPONENT = '/data_component',
  ADD_DATA_COMPONENT = '/data_component',
  DELETE_DATA_COMPONENT = '/data_component',
  UPDATE_DATA_COMPONENT = '/data_component',
}

/**
 * @description 获取数据看板
 * @param params
 * @returns
 */
export const getDataBoardList = (params: GetDataBoardParams) => {
  return defHttp.get<DataBoardList>({
    url: DataBoardUrl.GET_DATA_BOARD,
    params,
  });
};

/**
 * @description 新增数据看板
 * @param params
 * @returns
 */
export const addDataBoard = (params: AddDataBoardParams) => {
  return defHttp.post({
    url: DataBoardUrl.ADD_DATA_BOARD,
    params,
  });
};

/**
 * @description 编辑数据看吧
 * @param params
 * @returns
 */
export const updateDataBoard = (params: UpdateDataBoardParams) => {
  return defHttp.post({
    url: DataBoardUrl.UPDATE_DATA_BOARD,
    params,
  });
};

/**
 * @description 删除数据看板
 * @param params
 * @returns
 */
export const deleteDataBoard = (params: string[]) => {
  return defHttp.delete({
    url: DataBoardUrl.DELETE_DATA_BOARD,
    params: { ids: params },
  });
};

/**
 * @description 更新数据组件位置
 * @param params
 * @returns
 */
export const updateDataBoardLayout = (params: UpdateDataBoardLayoutParams) => {
  return defHttp.post({
    url: `${DataBoardUrl.UPDATE_DATA_BOARD_LAYOUT}/${params.boardId}/layout/`,
    params: params.layout,
  });
};

/**
 * @description 获取数据组件
 * @param params
 * @returns
 */
export const getDataComponent = (params: string) => {
  return defHttp.get<{ data: { componentData: DataComponentRecord[]; componentLayout: Layout[] } }>(
    {
      url: `${DataComponentUrl.GET_DATA_COMPONENT}/${params}`,
      // params: { boardId: params },
    }
  );
};

export const addDataComponent = (params: AddDataComponentParams) => {
  return defHttp.post<{ data: DataComponentRecord }>({
    url: `${DataComponentUrl.ADD_DATA_COMPONENT}/${params.boardId}/add`,
    params: params.record,
  });
};

/**
 * @description 删除数据组件
 * @param params
 * @returns
 */
export const deleteDataComponent = (params: string[]) => {
  return defHttp.delete({
    url: DataComponentUrl.DELETE_DATA_COMPONENT,
    params: {
      ids: params,
    },
  });
};

/**
 * @description 更新数据组件
 * @param params
 * @returns
 */
export const updateDataComponent = (params: UpdateDataComponentParams) => {
  return defHttp.post({
    url: `${DataComponentUrl.UPDATE_DATA_COMPONENT}/${params.boardId}/update`,
    params: params.record,
  });
};