import { otherHttp } from '/@/utils/http/axios'
import { postFormData } from '/@/utils/http/formDataRequest'

enum Api {
    zoneList = '/online/cgform/api/getData/01fd687ecb164aea914e92047e144d66', // 功能菜单数据
    farmsList = '/farm/list', // 农场列表
    farmsAdd = '/farm/add', // 添加农场
    agricultureModelsList = '/online/cgform/api/getData/7b2983df6ddf416aba68db8b0ab234ab', // 农业模型数据
    baseManagementList = '/online/cgform/api/getData/e4e4e6c901254b60b1e7a005097999ec', // 基地管理数据
    commonToolsList = '/online/cgform/api/getData/3a7fbb877f304b7d83935caa454859c4', // 常用工具数据
    getFarmBaseList = '/farmbase/getFarmBaseList',
}
export function queryByType(data = {}) {
    return postFormData('/device/queryByType', data).then((res) => res.data)
}
/**
 * 删除设备
 * @param id
 * @returns
 */
export function delDevice(id) {
    return otherHttp.post({
        url: `/device/delete?id=${id}`,
    })
}
/**
 * 编辑设备
 * @param params
 * @returns
 */
export function editDevice(params = {}) {
    return otherHttp.post({
        url: '/device/edit',
        params,
    })
}

/**
 * 添加设备
 * @param params
 * @returns
 */
export function addDevice(params = {}) {
    return otherHttp.post({
        url: '/device/add',
        params,
    })
}
/**
 * 设备列表
 * @param params
 * @returns
 */
export function getDeviceList(params: any = {}) {
    return otherHttp.get({
        url: '/device/list',
        params,
    })
}
/**
 * 农场基地管理-通过id查询
 * @param params
 * @returns
 */
export function getFarmbaseInfoById(params: any = {}) {
    return otherHttp.get({
        url: '/farmbase/queryById',
        params,
    })
}
/**
 * 删除基地
 * @param id
 * @returns
 */
export function delFarmbase(id) {
    return otherHttp.delete({
        url: `/farmbase/delete?id=${id}`,
    })
}
/**
 * 添加基地
 * @param params
 * @returns
 */
export function addFarmbase(params = {}) {
    return otherHttp.post({
        url: '/farmbase/add',
        params,
    })
}
/**
 * 编辑基地
 * @param params
 * @returns
 */
export function editFarmbase(params = {}) {
    return otherHttp.post({
        url: '/farmbase/edit',
        params,
    })
}

export function getFarmbaseDetail(params: any = {}) {
    return getFarmbaseInfoById(params)
}

export function saveFarmbase(params: any = {}) {
    return params?.id ? editFarmbase(params) : addFarmbase(params)
}
/**
 * 基地列表
 * @param {any} params
 * @return
 */
export function getFarmbaseList(params: any = {}) {
    return otherHttp.get({
        url: '/farmbase/list',
        params,
    })
}
export function AllFarms(params = {}) {
    return otherHttp.get({
        url: '/farm/getAllFarms',
        params,
    })
}
/**
 * 获取基地数量
 * @param params
 * @return
 */
export function getFarmBaseList(params = {}) {
    return otherHttp.get({
        url: Api.getFarmBaseList,
        params,
    })
}
/**
 * @param params 请求参数
 * @description: 金刚区菜单数据
 */
export function zoneList(params = {}) {
    return otherHttp.get({
        url: Api.zoneList,
        params,
    })
}

/**
 * @param params 请求参数
 * @description: 农场列表
 */
export function farmsList(params = {}) {
    return otherHttp.get({
        url: Api.farmsList,
        params,
    })
}

/**
 * @param params 请求参数
 * @description: 添加农场
 */
export function farmsAdd(params = {}) {
    return otherHttp.post({
        url: Api.farmsAdd,
        params,
    })
}
/**
 * @param params
 * @description: 编辑农场
 * @returns
 */
export function farmsEdit(params = {}) {
    return otherHttp.post({
        url: '/farm/edit',
        params,
    })
}
/**
 * @param params 请求参数
 * @description: id查询农场
 */
export function farmsGet(params = {}) {
    return otherHttp.get({
        url: '/farm/queryById',
        params,
    })
}
/**
 * @param params 请求参数
 * @description: 农业模型数据
 */
export function agricultureModelsList(params = {}) {
    return otherHttp.get({
        url: Api.agricultureModelsList,
        params,
    })
}

/**
 * @param params 请求参数
 * @description: 基地管理数据
 */
export function baseManagementList(params = {}) {
    return otherHttp.get({
        url: Api.baseManagementList,
        params,
    })
}

/**
 * @param params 请求参数
 * @description: 常用工具数据
 */
export function commonToolsList(params = {}) {
    return otherHttp.get({
        url: Api.commonToolsList,
        params,
    })
}
