import { get, post, put, del } from "@/utils/requestMethod";

/**
 * 获取报表列表
 * @param {*} page
 * @param {*} page_size
 * @param {*} template_type
 * @param {*} template_name
 * @param {*} template_format
 * @returns
 */
const getTableTemplateList = (
  page,
  page_size = 10,
  template_type = 0,
  template_name = "",
  template_format = ""
) => {
  return get(`/data/template_list?page=${page}&page_size=${page_size}&template_type=${template_type}&template_name=${template_name}&template_format=${template_format}`);
};

/**
 * 添加报表报告模板
 * @param {*} options
 */
const addReportTemplate = (options) => {
  let params = new FormData();
  params.append("template_type", options.templateType);
  options.templateName !== "" &&
    params.append("template_name", options.templateName);
  options.templateFormat !== "" &&
    params.append("template_format", options.templateFormat);
  options.introduction !== "" &&
    params.append("introduction", options.introduction);
  if (options.templateType === 1 && options.reportType !== "") {
    params.append("report_type", options.reportType);
  }
  return post("/data/template", params);
};

/**
 * 获取报告列表
 * @param {*} page
 * @param {*} page_size
 * @param {*} template_type
 * @param {*} template_name
 * @param {*} template_format
 * @returns
 */
const getReportTemplateList = (
  page,
  page_size = 10,
  template_type = 1,
  template_name = "",
  template_format = "",
  report_type = ""
) => {
  return get(
    `/data/template_list?page=${page}&page_size=${page_size}&template_type=${template_type}&template_name=${template_name}&template_format=${template_format}&report_type=${report_type}`
  );
};

/**
 * 删除单个模板
 * @param {*} id
 * @returns
 */
const deleteSingleTemplate = (id) => {
  let params = new FormData();
  params.append("template_id", id);
  return del("/data/template", params);
};

/**
 * 修改模板
 * @param {*} options
 */
const modifySingleTemplate = (options) => {
  let params = new FormData();
  params.append("template_type", options.templateType);
  options.id !== "" && params.append("template_id", options.id);
  options.templateName !== "" &&
    params.append("template_name", options.templateName);
  options.templateFormat !== "" &&
    params.append("template_format", options.templateFormat);
  options.introduction !== "" &&
    params.append("introduction", options.introduction);
  // options.file !== "" &&
  // params.append("template_file", options.file);
  if (options.templateType === 1 && options.reportType !== "") {
    params.append("report_type", options.reportType);
  }
  return put("/data/template", params);
};

/**
 * 删除多个模板
 * @param {*} templateIds
 */
const deleteMultipleTemplates = (templateIds) => {
  let params = new FormData();
  params.append("template_ids", templateIds);
  return del("/data/batch_delete_template", params);
};

export {
  // addReportTemplate,
  addReportTemplate,
  getTableTemplateList,
  getReportTemplateList,
  modifySingleTemplate,
  deleteSingleTemplate,
  deleteMultipleTemplates,
};
