/*
  @description:招标模块-项目信息设置
  @Modifier:肖文龙
  @routerPath:
  @date: 2020/08/08
  * */
/* api*/
import { getSystemConfigValueByConfigType, getSystemSource } from '@/api/common/systemConfigCenter'

const bidConfig = {
  state: {
    // 平台制作模式/工具制作模式
    systemSourceVo: {
      systemSourceCode: '' // 系统来源  01 工具制作模式 00 平台制作模式
    },
    // 系统总来源
    systemConfigSourceVo: {
      systemSource: '', // 系统来源 00:产品 01:华能 02:能交
      systemSourceType: '' // 系统来源  华能true  产品false
    },
    // 根据键获取正式配置
    systemConfigVo: {
      systemConfigValue: '', // 直接审核00 工作流审核01 平台审核02
      configType: false // 系统来源 布尔值 true 平台审核 false 不使用工作流
    }
  },
  mutations: {
    // 获取系统平台制作模式/工具制作模式
    SET_SYSTEMSOURCE(state, data) {
      const { systemSource } = data
      state.systemSourceVo.systemSourceCode = systemSource
    },
    // 系统总来源 00:新产品 01:华能 02:智链
    SET_SYSTEMSOURE(state, systemSource) {
      switch (systemSource) {
        case '00':// 产品
          state.systemConfigSourceVo.systemSourceType = false
          state.systemConfigSourceVo.systemSource = '00'
          break
        case '01': // 华能
          state.systemConfigSourceVo.systemSourceType = true
          state.systemConfigSourceVo.systemSource = '01'
          break
        case '02': // 智链
          state.systemConfigSourceVo.systemSourceType = false
          state.systemConfigSourceVo.systemSource = '02'
          break
      }
    },
    // 获取根据键获取正式配置（直接审核00 工作流审核01 平台审核02）
    SET_SYSTEMCONFIG(state, systemConfigValue) {
      state.systemConfigVo = {
        systemConfigValue
      }
      // 系统来源
      switch (systemConfigValue) {
        case '00':// 直接审核
          state.systemConfigVo.configType = false
          break
        case '01':// 工作流审核
          state.systemConfigVo.configType = true
          break
        case '02':// 平台审核
          state.systemConfigVo.configType = false
          break
        default:
      }
    }
  },
  actions: {
    // 获取系统工具制作，平台制作配置
    getSystemSource({ commit }, requestType) {
      return new Promise((resolve, reject) => {
        getSystemSource(requestType).then(res => {
          commit('SET_SYSTEMSOURCE', res.data)
          resolve(res.data.systemSource)
        }).catch(error => {
          reject(error)
        })
      })
    },
    // 根据键获取正式配置 （直接审核00 工作流审核01 平台审核02）
    getSystemConfigValue({ commit }, configType) {
      return new Promise((resolve, reject) => {
        getSystemConfigValueByConfigType(configType).then(res => {
          commit('SET_SYSTEMCONFIG', res.data)
          resolve()
        }).catch(error => {
          reject(error)
        })
      })
    },
    // 系统总来源 00:新产品 01:华能 02:智链
    getSystemSourceConfig({ commit }) {
      return new Promise((resolve, reject) => {
        getSystemConfigValueByConfigType('systemSource').then(res => {
          commit('SET_SYSTEMSOURE', res.data)
          resolve()
        }).catch(error => {
          reject(error)
        })
      })
    }
  }
}
export default bidConfig
