import { defHttp } from '/@/utils/http/axios';
import { Modal } from 'ant-design-vue';

enum Api {

  save = '/dkgl/gWrdkjbxxb/add',
  edit = '/dkgl/gWrdkjbxxb/edit',
  deleteOne = '/dkgl/gWrdkjbxxb/delete',
  deleteBatch = '/dkgl/gWrdkjbxxb/deleteBatch',
  importExcel = '/dkgl/gWrdkjbxxb/importExcel',
  exportXls = '/dkgl/gWrdkjbxxb/exportXls',

  list = '/xccy/getDkhcyList',//现场采样地块列表 
  getCyList = '/xccy/getCyList',//现场采样列表
  szzs = '/xccy/szzs',//设置总数
  getCyxxList =  '/xccy/getCyxxList',//采样样点列表
  getYdxxXq = '/xccy/getYdxxXq',//采样样点详情
  addXccyYdxx = '/xccy/addXccyYdxx',//新增采样样点详情
  deleteYdxx = '/xccy/deleteYdxx', // 删除采样样点
  addSuccess = '/xccy/addSuccess', // 成功提交更新接口
  
}
/**
 * 导出api
 * @param params
 */
export const getExportUrl = Api.exportXls;
/**
 * 导入api
 */
export const getImportUrl = Api.importExcel;

export const setSzzs = (params) => defHttp.post({ url: Api.szzs,params });
export const getYdxxXq = (params) => defHttp.get({ url: Api.getYdxxXq, params });
export const SetDel = (params) => defHttp.post({ url: `${Api.deleteYdxx}?ydxxId=${params.id}` });
export const getCyxxList = (params) => defHttp.get({ url: Api.getCyxxList, params });
export const getCyList = (params) => defHttp.get({ url: Api.getCyList, params });
export const getDkhcyList = (params) => defHttp.get({ url: Api.list, params });
export const setAdd = (params) => defHttp.post({ url: Api.addXccyYdxx,params });
export const addSuccess = (params) => defHttp.get({ url: Api.addSuccess,params });

/**
 * 删除单个
 * @param params
 * @param handleSuccess
 */
export const deleteOne = (params, handleSuccess) => {
  return defHttp.delete({ url: Api.deleteOne, params }, { joinParamsToUrl: true }).then(() => {
    handleSuccess();
  });
};
/**
 * 批量删除
 * @param params
 * @param handleSuccess
 */
export const batchDelete = (params, handleSuccess) => {
  Modal.confirm({
    title: '确认删除',
    content: '是否删除选中数据',
    okText: '确认',
    cancelText: '取消',
    onOk: () => {
      return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => {
        handleSuccess();
      });
    },
  });
};
/**
 * 保存或者更新
 * @param params
 * @param isUpdate 是否是更新数据
 */
export const saveOrUpdate = (params, isUpdate) => {
  let url = isUpdate ? Api.edit : Api.save;
  return defHttp.post({ url: url, params });
};
