import request from '@/utils/request'

// ==================== 组件类型 ====================

/**
 * 查询组件类型下拉
 */
export function listComponentTypeOptions() {
  return request({
    url: '/decoration/componentType/options',
    method: 'get'
  })
}

// ==================== 组件管理 ====================

/**
 * 查询组件列表
 */
export function listDecorationComponent(query) {
  return request({
    url: '/decoration/component/list',
    method: 'get',
    params: query
  })
}

/**
 * 查询组件详情
 */
export function getDecorationComponent(id) {
  return request({
    url: '/decoration/component/' + id,
    method: 'get'
  })
}

/**
 * 新增/修改组件
 */
export function saveDecorationComponent(data) {
  return request({
    url: '/decoration/component/save',
    method: 'post',
    data: data
  })
}

/**
 * 删除组件
 */
export function delDecorationComponent(id) {
  return request({
    url: '/decoration/component/' + id,
    method: 'delete'
  })
}

/**
 * 修改组件状态
 */
export function changeDecorationComponentStatus(data) {
  return request({
    url: '/decoration/component/changeStatus',
    method: 'post',
    data: data
  })
}

// ==================== 模板管理 ====================

/**
 * 查询模板列表
 */
export function listDecorationTemplate() {
  return request({
    url: '/decoration/template/list',
    method: 'get'
  })
}

/**
 * 查询模板详情
 */
export function getDecorationTemplate(id) {
  return request({
    url: '/decoration/template/' + id,
    method: 'get'
  })
}

/**
 * 新增/修改模板
 */
export function saveDecorationTemplate(data) {
  return request({
    url: '/decoration/template/save',
    method: 'post',
    data: data
  })
}

/**
 * 删除模板
 */
export function delDecorationTemplate(id) {
  return request({
    url: '/decoration/template/' + id,
    method: 'delete'
  })
}

// 当前公司使用某个模板
export function useDecorationTemplate(data) {
  return request({
    url: '/decoration/companyTemplate/use',
    method: 'post',
    data: data
  })
}

// 查询当前公司某个类型正在使用的模板
export function getCurrentCompanyTemplate(query) {
  return request({
    url: '/decoration/companyTemplate/current',
    method: 'get',
    params: query
  })
}
