import { download, post, upload } from '@/api/request';

const env = import.meta.env;
const PREFIX = env.VITE_API_PREFIX_PROJECT;

/**
 * 获取项目任务下的算例信息
 * @param params
 * @returns
 */
export const getTaskRunTreeApi = (params: any) => {
    return post(`${PREFIX}run/getTaskRunTree`, params);
};

/**
 * 新建算例
 * @param params
 * @returns
 */
export const addTaskRunApi = (params: any) => {
    return post(`${PREFIX}run/addTaskRun`, params);
};

/**
 * 查询算例信息
 * @param params
 * @returns
 */
export const queryTaskRunApi = (params: any) => {
    return post(`${PREFIX}run/queryTaskRun`, params);
};

/**
   * 创建算例下的结果文件夹
   * @param params dirName文件夹名称 dirType文件夹类型默认2 uuId算例的uuid
   * @returns
   */
export const createRunDirApi = (params: any) => {
    return post(`${PREFIX}run/createRunDir`, params);
};

/**
   * 查询算例结果文件夹及文件
   * @param params uuId算例的uuid size 10 current 1
   * @returns
   */
export const queryRunDirApi = (params: any) => {
    return post(`${PREFIX}run/queryRunDir`, params);
};

/**
   * 上传算例结果文件
   * @param params file文件 dirId文件夹id fileName文件名称 fileType 1：模型文件 2：仿真报告 3：计算文件 4：曲线文件 5：云图文件
   * @returns
   */
export const uploadRunFilesApi = (params: any) => {
    return upload(`${PREFIX}run/uploadRunFiles`, params);
};

/**
   * 删除算例
   * @param params runId 算例的id
   * @returns
   */
export const deleteTaskRunApi = (params: any) => {
    return post(`${PREFIX}run/deleteTaskRun`, params);
};

/**
   * 查询任务下的算例版本树
   * @param params taskId算例uuid
   * @returns
   */
export const getTaskRunVersionApi = (params: any) => {
    return post(`${PREFIX}run/getTaskRunVersion`, params);
};

/**
   * 查询算例版本树
   * @param params runId算例的uuid
   * @returns
   */
export const getRunVersionApi = (params: any) => {
    return post(`${PREFIX}run/getRunVersion`, params);
};

/**
 *算例录入关键结果
 * @param params
 * @returns
 */
export const addSimulationKeyResultApi = (params: any) => {
    return upload(`${PREFIX}run/addSimulationKeyResult`, params);
};

/**
 * 查询算例关键结果列表
 * @param params runId  keyResultType size current
 * @returns
 */
export const listSimulationKeyResultApi = (params: any) => {
    return post(`${PREFIX}run/listSimulationKeyResult`, params);

};

/**
 *删除算例关键结果列表
 * @param params
 * @returns
 */
export const deleteSimulationKeyResultApi = (params: any) => {
    return post(`${PREFIX}run/deleteSimulationKeyResult`, params);

};

/**
 * 生成自动化报告
 * @param params imageFileIdList 图片文件id列表 performanceList 性能指标列表 parentNodeInfoList
 * @returns
 */
export const generateReportApi = (params: any) => {
    return download(`${PREFIX}run/generateReport`, params, params.fileName);
};

/**
 * 上传交付物第一步 keyResultList uploadTaskId runId templateId templateName type 0
 * @param params
 */
export const batchAddSimulationKeyResultApi = (params: any) => {
    return post(`${PREFIX}run/batchAddSimulationKeyResult`, params);
};

/**
 * 根据交付物文件id查询相关属性和任务信息
 * @param params fileId 文件id
 * @returns
 */
export const queryKeyResultAndTaskInfoApi = (params: any) => {
    return post(`${PREFIX}run/queryKeyResultAndTaskInfo`, params);

};

