import { queryDictData, queryLogo } from '@/api/dict' import { queryPotocolManage } from '@/api/management' import { getToken } from '@/utils/auth' import store from '../index' const getDefaultState = () => { return { dictionary: { // 个人证件类型 certType: [ { 'label': '居民身份证', 'value': 'IDCARD' }, { 'label': '户口簿', 'value': 'HOUSEHOLD' }, { 'label': '中国人民武装警察身份证件', 'value': 'POLICEPAPER' }, { 'label': '中国人民解放军军人身份证件', 'value': 'PLAIDCARD' }, { 'label': '港澳居民来往内地通行证', 'value': 'HKIDCARD' }, { 'label': '台湾居民来往大陆通行证', 'value': 'TAIBAOZHENG' }, { 'label': '外国公民护照', 'value': 'PASSPORT' }, { 'label': '港澳居民居住证', 'value': 'HKRESIDENCECARD' }, { 'label': '台湾居民居住证', 'value': 'TWRESIDENCECARD' } ], // 企业证件类型 companyCertType: [ { 'label': '统一社会信用代码', 'value': '0' }, { 'label': '组织机构代码证', 'value': '1' }, { 'label': '营业执照', 'value': '2' }, { 'label': '事业单位法人证书或者社会团体法人登记证书', 'value': '3' } ], // 企业性质 companyType: [ { 'label': '国有企业', 'value': '0' }, { 'label': '集体所有制', 'value': '1' }, { 'label': '私营企业', 'value': '2' }, { 'label': '有限责任公司', 'value': '3' }, { 'label': '股份有限公司', 'value': '4' }, { 'label': '有限合伙企业', 'value': '5' }, { 'label': '联营企业', 'value': '6' }, { 'label': '外商投资企业', 'value': '7' }, { 'label': '个人独资企业', 'value': '8' }, { 'label': '其他', 'value': '9' } ], // 行业类型 industryType: [ { 'label': '农、林、牧、渔业', 'value': '0' }, { 'label': '采矿业', 'value': '1' }, { 'label': '制造业', 'value': '2' }, { 'label': '电力、热力、燃气及水生产和供应业', 'value': '3' }, { 'label': '建筑业', 'value': '4' }, { 'label': '批发和零售业', 'value': '5' }, { 'label': '交通运输、仓储和邮政业', 'value': '6' }, { 'label': '住宿和餐饮业', 'value': '7' }, { 'label': '信息传输、软件和信息技术服务业', 'value': '8' }, { 'label': '金融业', 'value': '9' }, { 'label': '房地产业', 'value': '10' }, { 'label': '租赁和商务服务业', 'value': '11' }, { 'label': '科学研究和技术服务业', 'value': '12' }, { 'label': '水利、环境和公共设施管理业', 'value': '13' }, { 'label': '居民服务、修理和其他服务业', 'value': '14' }, { 'label': '教育', 'value': '15' }, { 'label': '卫生和社会工作', 'value': '16' }, { 'label': '文化、体育和娱乐业', 'value': '17' }, { 'label': '公共管理、社会保障和社会组织', 'value': '18' }, { 'label': '国际组织', 'value': '19' }, { 'label': '其他', 'value': '20' } ], // 企业实名认证步骤 enterpriseRealnameSteps: ['车卡信息录入', '填写企业信息', '填写责任人信息', '完成人脸识别'], // 企业责任人变更步骤 personChangeSteps: ['变更责任人信息', '完成人脸识别'], // 车企二次实名步骤 carEnterpriseRealnameSteps: ['车卡信息录入', '填写企业信息', '填写责任人信息'], // 业务类型 businessType: [ { label: '自然人新车实名认证', value: '1' }, // 自然人 { label: '自然人二手车实名认证', value: '2' }, // 自然人 { label: '企业新车实名认证', value: '3' }, // 企业实名 { label: '车企新车实名认证', value: '4' }, // 企业实名 { label: '企业责任人变更', value: '5' }, // 企业负责人变更 { label: '车主解绑', value: '6' }, // 自然人 { label: '二手车主解绑', value: '7' }, // 自然人 { label: '车企实名解绑', value: '8' }, { label: '设备更换', value: '9' }, { label: '一车多卡绑定', value: '10' }, { label: '重新绑定', value: '11' }, { label: '企业解绑', value: '12' } ], livenessType: [ { 'label': '唇语验证码', 'value': 'LIP' }, { 'label': '动作序列', 'value': 'ACTION' } ], livenessActionSeq: [ { 'label': '张嘴', 'value': '1' }, { 'label': '闭眼', 'value': '2' } ], userType: [ { label: '车企用户', value: 1 }, { label: '经销商用户', value: 2 } ], logType: [ { label: '登录日志', value: 1 }, { label: '管理日志', value: 2 }, { label: '实名日志', value: 3 }, { label: '其他日志', value: 4 } ] }, model: { pad: ['X960_6762_66_P', 'ST010-A', 'ST020'], aio: ['UW-M358', 'ST213-B'] }, logo: '', companyName: '', agreements: {}, isInitLogo: false, logoExpires: 0 } } const state = getDefaultState() const mutations = { RESET_STATE: (state) => { Object.assign(state, getDefaultState()) }, SET_DICT: (state, dict) => { if (dict) { Object.keys(dict).forEach(key => { state.dictionary[key] = dict[key] }) } // state.dictionary = dict }, CHANGE_DICT: (state, { key, value }) => { // eslint-disable-next-line no-prototype-builtins if (state.dictionary.hasOwnProperty(key)) { state.dictionary[key] = value } }, SET_LOGO(state, payload) { state.logo = payload }, SET_COMPANY_NAME(state, payload) { state.companyName = payload }, SET_AGREEMENT(state, payload) { state.agreements = payload } } const actions = { // get dict getDictionary({ commit, state }) { return new Promise((resolve, reject) => { queryDictData(state.token).then(response => { const data = response || {} commit('SET_DICT', data) resolve(data) }).catch(error => { reject(error) }) }) }, // remove dict resetDict({ commit }) { return new Promise(resolve => { commit('RESET_STATE') resolve() }) }, changeDict({ commit }, data) { commit('CHANGE_DICT', data) }, /** * 获取logo */ async getLogo({ commit, state }, data) { // 如果当前查询过 if (state.isInitLogo) { return } try { const respData = await (getToken() ? queryPotocolManage({ orgId: store.getters.organId }) : queryLogo(data)) commit('SET_COMPANY_NAME', respData.organName || store.getters.organName) commit('SET_LOGO', respData.logoPc.fileUrl) commit('SET_AGREEMENT', respData) state.isInitLogo = true } catch (error) { console.error(error) } } } export default { namespaced: true, state, mutations, actions }