import request from "@/utils/request";
import { AxiosPromise } from "axios";
// import {} from "./types";

/**
 * 测试仪器配置分页查询接口
 *
 * @param queryParams - 查询参数对象，可选
 * @returns AxiosPromise<any> - 返回一个 AxiosPromise 对象，包含分页查询的结果
 */
//测试仪器配置分页查询
export function instrumentConfigPage(queryParams?: object): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/engrInstrumentConfig/page",
    method: "post",
    data: queryParams,
  });
}

/**
 * 更新仪器配置
 *
 * @param queryParams - 可选的查询参数对象，包含要更新的配置数据。
 * @returns 返回一个 AxiosPromise 对象，表示更新请求的结果。
 */
export function configUpdate(queryParams?: object): AxiosPromise<any> {
  return request({
    url: "/api/v1/instrumentConfig/update",
    method: "post",
    data: queryParams,
  });
}

/**
 * 添加仪器配置
 *
 * @param queryParams - 要添加的仪器配置参数，默认为空对象。
 * @returns 返回一个 AxiosPromise 对象，表示添加仪器配置的请求结果。
 */
export function configAdd(queryParams?: object): AxiosPromise<any> {
  return request({
    url: "/api/v1/instrumentConfig/add",
    method: "post",
    data: queryParams,
  });
}

/**
 * 删除仪器配置
 *
 * @param queryParams - 可选的查询参数对象，包含要删除的仪器配置数据。
 * @returns 返回一个 AxiosPromise 对象，表示删除操作的结果。
 */
export function configDel(queryParams?: object): AxiosPromise<any> {
  return request({
    url: "/api/v1/instrumentConfig/del",
    method: "post",
    data: queryParams,
  });
}

/**
 * 发送全局数据分页查询请求
 *
 * @param queryParams - 查询参数对象，可选
 * @returns AxiosPromise<any> - 返回一个 AxiosPromise 对象，包含请求的响应数据
 */
//测试全局数据分页查询
export function globalDataPage(queryParams?: object): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/engrGlobalData/page",
    method: "post",
    data: queryParams,
  });
}
/**
 * 向全局数据新增接口发送请求
 *
 * @param queryParams - 可选的查询参数对象，包含要新增的全局数据
 * @returns AxiosPromise<any> - 返回一个 AxiosPromise 对象，表示请求的结果
 */
//全局数据新增
export function globalDataAdd(queryParams?: object): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/engrGlobalData/add", //api/v1/test/engrGlobalData/add
    method: "post",
    data: queryParams,
  });
}
export function globalDataDel(queryParams?: object): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/engrGlobalData/del",
    method: "post",
    data: queryParams,
  });
}
export function globalDataUpdate(queryParams?: object): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/engrGlobalData/update",
    method: "post",
    data: queryParams,
  });
}

//查询仪器类型
export function selectInstrumentType(queryParams?: object): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/engrInstrumentConfig/selectInstrumentType",
    method: "post",
    data: queryParams,
  });
}

//新增测试仪器配置
export function engrInstrumentConfigAdd(
  queryParams?: object
): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/engrInstrumentConfig/add",
    method: "post",
    data: queryParams,
  });
}

//更新测试仪器配置
export function engrInstrumentConfigUpdate(
  queryParams?: object
): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/engrInstrumentConfig/update",
    method: "post",
    data: queryParams,
  });
}
//删除测试仪器配置
export function engrInstrumentConfigDel(
  queryParams?: object
): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/engrInstrumentConfig/del",
    method: "post",
    data: queryParams,
  });
}

// 查询通讯类型
export function selectCommunicateType(queryParams?: object): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/instrument/selectCommType",
    method: "post",
    data: queryParams,
  });
}

// 仪器资源查询
export function selectInstrumentResource(
  queryParams?: object
): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/instrument/list",
    method: "post",
    data: queryParams,
  });
}

// 仪器资源删除
export function delInstrumentResource(id: string): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/instrument/del",
    method: "post",
    data: {
      id: id,
    },
  });
}

// 仪器资源新增
export function addInstrumentResource(queryParams?: object): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/instrument/add",
    method: "post",
    data: queryParams,
  });
}

// 仪器资源更新
export function updateInstrumentResource(
  queryParams?: object
): AxiosPromise<any> {
  return request({
    url: "/api/v1/test/instrument/update",
    method: "post",
    data: queryParams,
  });
}
