You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.8 KiB
64 lines
1.8 KiB
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,
|
|
};
|