import * as api from '@/api/system/customer.js'; import { ElMessage } from '@/plugins/element-plus'; const state = () => ({ code: 'CustomerManagement', condition: {}, list: [], total: 0, opts: { init: false, gender: [ { label: '男', value: 1 }, { label: '女', value: 2 }, ], }, }); const getters = {}; const mutations = { setCode: (state, data) => (state.code = data), setCondition: (state, data) => (state.condition = data), setList: (state, data) => (state.list = data), setTotal: (state, data) => (state.total = data), setOpts: (state, data) => (state.opts = data), }; const actions = { search: async ({ state, commit, rootGetters }) => { let data = { ...state.condition }; if (data.dateRange?.length) { data.registeredStartTime = data.dateRange[0]; data.registeredEndTime = data.dateRange[1]; } delete data.dateRange; let res = await api.search({ ...rootGetters['local/page'](state.code), ...data }); if (res) { commit('setList', res.records); commit('setTotal', res.total); } else { ElMessage.error('查询失败'); commit('setList', []); } return res; }, load: async ({ state, commit }) => { commit('setOpts', { ...state.opts, init: true, }); }, enable: async ({ dispatch }, data) => { let res = await api.enable(data); if (res) { ElMessage.success((data.isEnable ? '启用' : '禁用') + '成功'); dispatch('search'); } else { ElMessage.error((data.isEnable ? '启用' : '禁用') + '失败'); } }, }; export default { state, getters, mutations, actions, };