2019-04-04 19:03:46 +08:00
|
|
|
import {message} from 'antd';
|
|
|
|
import {
|
|
|
|
deleteProductRecommend,
|
|
|
|
updateProductRecommend,
|
|
|
|
updateProductRecommendStatus,
|
|
|
|
addCouponCardTemplate,
|
2019-04-05 22:27:57 +08:00
|
|
|
getCouponCardTemplatePage,
|
2019-04-04 19:03:46 +08:00
|
|
|
} from '../../services/promotion';
|
|
|
|
import PaginationHelper from '../../../helpers/PaginationHelper';
|
|
|
|
|
|
|
|
const SEARCH_PARAMS_DEFAULT = {
|
2019-04-05 22:27:57 +08:00
|
|
|
// type: 1,
|
2019-04-04 19:03:46 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
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,
|
|
|
|
});
|
|
|
|
|
|
|
|
// 请求
|
2019-04-05 22:27:57 +08:00
|
|
|
const response = yield call(getCouponCardTemplatePage, {
|
|
|
|
...payload,
|
|
|
|
type: 1
|
|
|
|
});
|
2019-04-04 19:03:46 +08:00
|
|
|
// 响应
|
|
|
|
yield put({
|
|
|
|
type: 'setAll',
|
|
|
|
payload: {
|
|
|
|
list: response.data.list,
|
|
|
|
pagination: PaginationHelper.formatPagination(response.data, payload),
|
|
|
|
searchParams: {
|
2019-04-05 22:27:57 +08:00
|
|
|
// type: payload.type
|
2019-04-04 19:03:46 +08:00
|
|
|
}
|
|
|
|
},
|
|
|
|
});
|
|
|
|
|
|
|
|
// 隐藏加载中
|
|
|
|
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(updateProductRecommend, 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(updateProductRecommendStatus, 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,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
},
|
|
|
|
};
|