import { axios } from '@/utils/request'
import { stringify } from 'qs'

/**
 * page func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function getDesignFormPage (parameter) {
    return axios({
        url: '/design/design-forms/page?' + stringify(parameter),
        method: 'get',
        headers: {
            'Content-Type': 'application/json;charset=UTF-8'
        }
    })
}

/**
 * add func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function addDesignForm (parameter) {
    return axios({
        url: '/design/design-forms',
        method: 'POST',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json;charset=UTF-8'
        },
        data: parameter
    })
}

/**
 * update func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function updateDesignForm (parameter) {
    return axios({
        url: '/design/design-forms/' + parameter.id,
        method: 'PUT',
        data: parameter
    })
}

/**
 * update func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function updateDesignFormDesignData (parameter) {
  return axios({
    url: '/design/design-forms/design/' + parameter.id,
    method: 'PUT',
    data: parameter
  })
}

/**
 * fetch single func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function fetchDesignForm (parameter) {
    return axios({
        url: '/design/design-forms/' + parameter.id,
        method: 'get',
        headers: {
            'Content-Type': 'application/json;charset=UTF-8'
        }
    })
}

/**
 * query list func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function queryDesignForm (parameter) {
    return axios({
        url: '/design/design-forms?' + stringify(parameter),
        method: 'get',
        headers: {
            'Content-Type': 'application/json;charset=UTF-8'
        }
    })
}

/**
 * delete batch func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function deleteDesignForms (parameter) {
    return axios({
        url: '/design/design-forms',
        method: 'DELETE',
        data: parameter
    })
}

/**
 * delete single func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function deleteDesignForm (parameter) {
    return axios({
        url: '/design/design-forms/' + parameter.id,
        method: 'DELETE',
        data: parameter
    })
}


/**
 * export file
 * parameter: { }
 * @param parameter :
 * @returns {*}
 */
export function exportDesignForm (parameter) {
    return axios({
        url: '/design/design-forms/export?' + stringify(parameter),
        method: 'get',
        headers: {
            'Content-Type': 'application/json;charset=UTF-8'
        },
        responseType: 'blob'
    })
}
