import { request } from '../request';

// 定义 API URL 常量
const BASE_URL = 'http://localhost:58926/api';

// 声明接口 URL 变量
const GET_CODELIST = `${BASE_URL}/Plan/GetAllTodoWorkList`;
const GET_GOODSTYPELIST = `${BASE_URL}/Plan/GetAllGoodsTypeList`;
const GET_GOODSCATEGORYLIST = `${BASE_URL}/Plan/GetAllGoodsCategoryList`;
const GET_GOODSPROPERTYLIST = `${BASE_URL}/Plan/GetAllGoodsPropertyList`;

const GET_ADDGOODSTYPE = `${BASE_URL}/Plan/AddGoodsType`;
const GET_UPDATEGOODSTYPE = `${BASE_URL}/Plan/UpDateGoodsType`;
const GET_DELETEGOODSTYPE = `${BASE_URL}/Plan/DeleteGoodsType`;

const GET_ADDGOODSPROPERTY = `${BASE_URL}/Plan/AddGoodsProperty`;
const GET_UPDATEGOODSPROPERTY = `${BASE_URL}/Plan/UpDateGoodsProperty`;
const GET_DELETEGOODSPROPERTY = `${BASE_URL}/Plan/DeleteGoodsProperty`;

const GET_ADDGOODSCLASS = `${BASE_URL}/Plan/AddGoodsCLASS`;
const GET_UPDATEGOODSCLASS = `${BASE_URL}/Plan/UpDateGoodsCLASS`;
const GET_DELETEGOODSCLASS = `${BASE_URL}/Plan/DeleteGoodsCLASS`;

/** 获取所有待办工作 */
export function fetchGetPlanList(params?: Api.PlanManage.PlanSearchParams) {
  return request<Api.PlanManage.PlanList>({
    url: GET_CODELIST,
    method: 'post',
    data: params
  });
}

/** 获取所有物料类型 */
export function fetchGetGoodsTypeList(params?: Api.Material.GoodsTypeSearchParams) {
  return request<Api.Material.GoodsTypeList>({
    url: GET_GOODSTYPELIST,
    method: 'post',
    data: params
  });
}

/** 新增物料类型 */
export function AddGoodsTypeInfo(data: object) {
  return request<Api.Material.GoodsTypeDelInfo>({
    url: GET_ADDGOODSTYPE,
    method: 'post',
    data: {
      data
    }
  });
}

/** 修改物料类型 */
export function UpDateGoodsTypeInfo(data: object) {
  return request<Api.Material.GoodsTypeInfoData>({
    url: GET_UPDATEGOODSTYPE,
    method: 'post',
    data: {
      data
    }
  });
}
/** 删除物料类型 */
export async function DeleteGoodsType(idList: number[]) {
  return request<Api.Material.GoodsTypeInfo>({
    url: GET_DELETEGOODSTYPE,
    method: 'post',
    data: {
      idList
    }
  });
}

/** 获取所有物料类别 */
export function fetchGetGoodsCategoryList(params?: Api.Material.GoodsCategorySearchParams) {
  return request<Api.Material.GoodsCategoryList>({
    url: GET_GOODSCATEGORYLIST,
    method: 'post',
    data: params
  });
}
/** 新增物料类别 */
export function AddGoodsCategoryInfo(data: object) {
  return request<Api.Material.GoodsTypeDelInfo>({
    url: GET_ADDGOODSCLASS,
    method: 'post',
    data: {
      data
    }
  });
}

/** 修改物料类别 */
export function UpDateGoodsCategoryInfo(data: object) {
  return request<Api.Material.GoodsTypeInfoData>({
    url: GET_UPDATEGOODSCLASS,
    method: 'post',
    data: {
      data
    }
  });
}
/** 删除物料类别 */
export async function DeleteGoodsCategory(idList: number[]) {
  return request<Api.Material.GoodsTypeInfo>({
    url: GET_DELETEGOODSCLASS,
    method: 'post',
    data: {
      idList
    }
  });
}

/** 获取所有物料属性 */
export function fetchGetGoodsPropertyList(params?: Api.Material.GoodsPropertySearchParams) {
  return request<Api.Material.GoodsPropertyList>({
    url: GET_GOODSPROPERTYLIST,
    method: 'post',
    data: params
  });
}

/** 新增物料属性 */
export function AddGoodsPropertyInfo(data: object) {
  return request<Api.Material.GoodsTypeDelInfo>({
    url: GET_ADDGOODSPROPERTY,
    method: 'post',
    data: {
      data
    }
  });
}

/** 修改物料属性 */
export function UpDateGoodsPropertyInfo(data: object) {
  return request<Api.Material.GoodsTypeInfoData>({
    url: GET_UPDATEGOODSPROPERTY,
    method: 'post',
    data: {
      data
    }
  });
}
/** 删除物料属性 */
export async function DeleteGoodsProperty(idList: number[]) {
  return request<Api.Material.GoodsTypeInfo>({
    url: GET_DELETEGOODSPROPERTY,
    method: 'post',
    data: {
      idList
    }
  });
}
