import React from 'react';
import { Form, Row, Col, Input, Button, Icon } from 'antd';
import './index.less';
import Page from '@src/containers/Page';
import Block from '@src/components/Block';
import { flattenObject, formatFormError } from '@src/services/Tools';
import { asyncSMessage } from '@src/services/AsyncTools';
import { System } from '../../../stores/system';
export default class extends Page {
initData() {
System.getCoursePromote().then(result => {
const { form } = this.props;
(result.video_list || []).forEach((row, index) => {
form.getFieldDecorator(`video_list[${index}].number`);
form.getFieldDecorator(`video_list[${index}].percent`);
});
(result['1v1_list'] || []).forEach((row, index) => {
form.getFieldDecorator(`1v1_list[${index}].number`);
form.getFieldDecorator(`1v1_list[${index}].percent`);
});
(result.gifts || []).forEach((row, index) => {
form.getFieldDecorator(`gifts[${index}].money`);
form.getFieldDecorator(`gifts[${index}].hour`);
});
form.setFieldsValue(flattenObject(result));
this.setState({ load: true, data: result });
});
}
addLength(field, info) {
let { data } = this.state;
data = data || {};
data[field] = data[field] || [];
data[field].push(info);
this.setState({ data });
}
deleteLength(field, start, length) {
let { data } = this.state;
data = data || {};
data[field] = data[field] || [];
data[field].splice(start, length);
this.setState({ data });
}
changeMapValue(field, index, key, value) {
const { data } = this.state;
data[field] = data[field] || {};
data[field][index] = data[field][index] || {};
data[field][index][key] = value;
this.setState({ data });
}
changeValue(field, key, value) {
const { data } = this.state;
data[field] = data[field] || {};
data[field][key] = value;
this.setState({ data });
}
submit() {
const { form } = this.props;
form.validateFields((err) => {
if (!err) {
const data = form.getFieldsValue();
data.video_list = (data.video_list || []).map(row => {
return { number: Number(row.number), percent: Number(row.percent) };
});
data['1v1_list'] = (data['1v1_list'] || []).map(row => {
return { number: Number(row.number), percent: Number(row.percent) };
});
data.gifts = (data.gifts || []).map(row => {
return { money: Number(row.money), hour: Number(row.hour) };
});
System.setCoursePromote(data)
.then(() => {
this.setState(data);
asyncSMessage('保存成功');
}).catch((e) => {
form.setFields(formatFormError(data, e.result));
});
}
});
}
renderVideo() {
const { getFieldDecorator } = this.props.form;
const { data } = this.state;
const videos = data.video_list || [];
return 视频课折扣
1v1课折扣
课程赠品