181 lines
4.0 KiB
JavaScript
181 lines
4.0 KiB
JavaScript
import {message} from 'antd';
|
|
import {
|
|
addCouponCardTemplate,
|
|
updateCouponCardTemplate,
|
|
updateCouponCardTemplateStatus,
|
|
getCouponCardTemplatePage,
|
|
} from '../../services/promotion';
|
|
import PaginationHelper from '../../../helpers/PaginationHelper';
|
|
|
|
const SEARCH_PARAMS_DEFAULT = {
|
|
title: '',
|
|
};
|
|
|
|
export default {
|
|
namespace: 'couponCardTemplateList',
|
|
|
|
state: {
|
|
// 分页列表相关
|
|
list: [],
|
|
listLoading: false,
|
|
pagination: PaginationHelper.defaultPaginationConfig,
|
|
searchParams: SEARCH_PARAMS_DEFAULT,
|
|
|
|
// 添加 or 修改表单相关
|
|
modalVisible: false,
|
|
modalType: undefined, // 'add' or 'update' 表单
|
|
formVals: {}, // 当前表单值
|
|
modalLoading: false,
|
|
},
|
|
|
|
effects: {
|
|
// 查询列表
|
|
* query({ payload }, { call, put }) {
|
|
// 显示加载中
|
|
yield put({
|
|
type: 'changeListLoading',
|
|
payload: true,
|
|
});
|
|
|
|
// 请求
|
|
const response = yield call(getCouponCardTemplatePage, {
|
|
...payload,
|
|
type: 1
|
|
});
|
|
// 响应
|
|
yield put({
|
|
type: 'setAll',
|
|
payload: {
|
|
list: response.data.list,
|
|
pagination: PaginationHelper.formatPagination(response.data, payload),
|
|
searchParams: {
|
|
title: payload.title
|
|
}
|
|
},
|
|
});
|
|
|
|
// 隐藏加载中
|
|
yield put({
|
|
type: 'changeListLoading',
|
|
payload: false,
|
|
});
|
|
},
|
|
* add({ payload }, { call, put }) {
|
|
const { callback, body } = payload;
|
|
// 显示加载中
|
|
yield put({
|
|
type: 'changeModalLoading',
|
|
payload: true,
|
|
});
|
|
|
|
// 请求
|
|
const response = yield call(addCouponCardTemplate, body);
|
|
// 响应
|
|
if (response.code === 0) {
|
|
if (callback) {
|
|
callback(response);
|
|
}
|
|
// 刷新列表
|
|
yield put({
|
|
type: 'query',
|
|
payload: {
|
|
...PaginationHelper.defaultPayload
|
|
},
|
|
});
|
|
}
|
|
|
|
// 隐藏加载中
|
|
yield put({
|
|
type: 'changeModalLoading',
|
|
payload: false,
|
|
});
|
|
},
|
|
* update({ payload }, { call, put }) {
|
|
const { callback, body } = payload;
|
|
// 显示加载中
|
|
yield put({
|
|
type: 'changeModalLoading',
|
|
payload: true,
|
|
});
|
|
|
|
// 请求
|
|
const response = yield call(updateCouponCardTemplate, body);
|
|
// 响应
|
|
if (response.code === 0) {
|
|
if (callback) {
|
|
callback(response);
|
|
}
|
|
// 刷新列表
|
|
yield put({
|
|
type: 'query',
|
|
payload: {
|
|
...PaginationHelper.defaultPayload
|
|
},
|
|
});
|
|
}
|
|
|
|
// 隐藏加载中
|
|
yield put({
|
|
type: 'changeModalLoading',
|
|
payload: false,
|
|
});
|
|
},
|
|
|
|
* updateStatus({ payload }, { call, put }) {
|
|
// 请求
|
|
const response = yield call(updateCouponCardTemplateStatus, payload);
|
|
// 响应
|
|
if (response.code === 0) {
|
|
message.info('更新状态成功!');
|
|
// 刷新列表
|
|
yield put({
|
|
type: 'query',
|
|
payload: {
|
|
...PaginationHelper.defaultPayload
|
|
},
|
|
});
|
|
}
|
|
},
|
|
|
|
// * delete({ payload }, { call, put }) {
|
|
// // 请求
|
|
// const response = yield call(deleteProductRecommend, payload);
|
|
// // 响应
|
|
// if (response.code === 0) {
|
|
// message.info('删除成功!');
|
|
// // 刷新列表
|
|
// yield put({
|
|
// type: 'query',
|
|
// payload: {
|
|
// ...PaginationHelper.defaultPayload
|
|
// },
|
|
// });
|
|
// }
|
|
// },
|
|
|
|
},
|
|
|
|
reducers: {
|
|
// 修改加载中的状态
|
|
changeModalLoading(state, { payload }) {
|
|
return {
|
|
...state,
|
|
modalLoading: payload,
|
|
};
|
|
},
|
|
changeListLoading(state, { payload }) {
|
|
return {
|
|
...state,
|
|
listLoading: payload,
|
|
};
|
|
},
|
|
// 设置所有属性
|
|
setAll(state, { payload }) {
|
|
return {
|
|
...state,
|
|
...payload,
|
|
};
|
|
}
|
|
},
|
|
};
|