table.ts 1.86 KB
import { defHttp } from '/@/utils/http/axios';
import { DemoParams, DemoListGetResultModel } from './model/tableModel';
import { find } from 'lodash-es';
import { FIELDS_BASE_INFO } from '../../views/project/order/constant';

enum Api {
  DEMO_LIST = '/table/getDemoList',
  ORDER = '/order/erp/order/list_by_page',
  DICT_INIT = '/order/erp/dictionary/get_all',
  APPROVE = '/order/erp/audit/list_by_page',
  CHECK = '/order/erp/audit/do_audit',
}

/**
 * @description: Get sample list value
 */

export const demoListApi = async (params: DemoParams) => {
  const res = await defHttp.post<DemoListGetResultModel>({
    url: Api.ORDER,
    params,
    headers: {
      // @ts-ignore
      ignoreCancelToken: true,
    },
  });
  return new Promise((resolve) => {
    resolve(res.records);
  });
};

export const demoApproveListApi = async (params: DemoParams) => {
  const res = await defHttp.post<DemoListGetResultModel>({
    url: Api.APPROVE,
    params,
  });

  res.records = res.records.map((item) => {
    item.fields = [];
    Object.entries(item.fieldInfos.baseFields).map(([key, value]) => {
      if (value === 'UN_LOCKED') {
        const obj = find(FIELDS_BASE_INFO, { field: key });
        item.fields.push(obj?.label);
      }
    });
    item.fields = item.fields.join(',');
    return item;
  });

  return new Promise((resolve) => {
    resolve(res.records);
  });
};

export const demoApproveCheckApi = async (params: DemoParams) => {
  const res = await defHttp.post<DemoListGetResultModel>({
    url: Api.CHECK,
    params,
    headers: {
      // @ts-ignore
      ignoreCancelToken: true,
    },
  });
  return new Promise((resolve) => {
    resolve(res);
  });
};

export const getInitDictData = async () => {
  const res = await defHttp.post({
    url: Api.DICT_INIT,
    params: {},
    headers: {
      // @ts-ignore
      ignoreCancelToken: true,
    },
  });

  return res;
};