import request from '/@/utils/request';
import { AxiosPromise } from 'axios';
import type { IDrugTemplate, IDrugTemplateListRes, IDrugTemplateGetDurgDescsParams } from './types';
import type { ICommonListParams } from '../common.type';


/**
 * 新增处置模板
 * @param data 
 * @returns 
 */
export function drugTemplateAddApi(data: IDrugTemplate) {
    return request({
        url: 'drug/template/add',
        method: 'post',
        data
    })
}


/**
 * 更新处置模板
 * @param data 
 * @returns 
 */
export function drugTemplateUpdateApi(data: IDrugTemplate) {
    return request({
        url: 'drug/template/update',
        method: 'post',
        data
    })
}


/**
 * 保存处置模板
 * @param data 
 * @returns 
 */
export function drugTemplateSaveApi(data: IDrugTemplate) {
    return request({
        url: 'drug/template/save',
        method: 'post',
        data
    })
}

/**
 * 根据code获取处置模板详情
 * @param code 
 * @returns 
 */
export function drugTemplateDetailByCodeApi(code: string) {
    return request({
        url: 'drug/template/detail2',
        method: 'post',
        params: { code }
    })
}


/**
 * 根据id获取处置模板详情
 * @param id 
 * @returns 
 */
export function drugTemplateDetailByIdApi(id: number) {
    return request({
        url: 'drug/template/detail',
        method: 'post',
        params: { id }
    })
}

/**
 * 获取处置模板列表
 * @param params 
 * @returns 
 */
export function drugTemplateListApi(params: ICommonListParams) :AxiosPromise<IDrugTemplateListRes> {
    return request({
        url: 'drug/template/list',
        method: 'post',
        params
    })
}


/**
 * 删除处置模板
 * @param id 
 * @returns 
 */
export function drugTemplateDelApi(id: number) {
    return request({
        url: 'drug/template/delete',
        method: 'post',
        params: { id }
    })
}


/**
 * 获取患者指定日期默认处置
 * @param params 
 * @returns 
 */
export function drugTemplateGetDurgDescsApi(params: IDrugTemplateGetDurgDescsParams) :AxiosPromise<string> {
    return request({
        url: 'drug/template/getDurgDescs',
        method: 'post',
        params
    })
}