import React from 'react'; import { Form, Input, InputNumber, Card, Icon, Button, Row, Col, Upload, Affix } from 'antd'; import './index.less'; import Page from '@src/containers/Page'; import Block from '@src/components/Block'; // import FileUpload from '@src/components/FileUpload'; 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.getIndex().then(result => { const { form } = this.props; 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].splite(start, length); this.setState({ data }); } submit() { const { form } = this.props; form.validateFields((err) => { if (!err) { const data = form.getFieldsValue(); data.class = Object.keys(data.class).map((key) => data.class[key]); data.activity = Object.keys(data.activity).map((key) => data.activity[key]); data.evaluation = Object.keys(data.evaluation).map((key) => data.evaluation[key]); System.setIndex(data) .then(() => { this.setState(data); asyncSMessage('保存成功'); }).catch((e) => { form.setFields(formatFormError(data, e.result)); }); } }); } renderPrepare() { const { getFieldDecorator } = this.props.form; return

备考攻略

{getFieldDecorator('prepare.first', { rules: [ { required: false, message: '请输入跳转地址' }, ], })( , )} {getFieldDecorator('prepare.continue', { rules: [ { required: false, message: '请输入跳转地址' }, ], })( , )} {getFieldDecorator('prepare.classJunior', { rules: [ { required: false, message: '请输入跳转地址' }, ], })( , )} {getFieldDecorator('prepare.classMiddle', { rules: [ { required: false, message: '请输入跳转地址' }, ], })( , )} {getFieldDecorator('prepare.classSenior', { rules: [ { required: false, message: '请输入跳转地址' }, ], })( , )}
; } renderUser() { const { getFieldDecorator } = this.props.form; return

用户数据

{getFieldDecorator('user.numberOffline', { rules: [ { required: false, message: '' }, ], })( , )} {getFieldDecorator('user.number700', { rules: [ { required: false, message: '' }, ], })( , )} {getFieldDecorator('user.numberScore', { rules: [ { required: false, message: '' }, ], })( , )}
; } renderClass() { const { getFieldDecorator, getFieldValue, setFieldsValue } = this.props.form; const { data } = this.state; const classes = data.class || []; return

千行课堂

{classes.map((row, index) => { const image = getFieldValue(`class.${index}.image`) || null; return {getFieldDecorator(`class.${index}.title`, { rules: [ { required: true, message: '输入课程名称' }, ], initialValue: row.title, })( , )} {getFieldDecorator(`class.${index}.link`, { rules: [ { required: true, message: '输入跳转链接' }, ], initialValue: row.link, })( , )} {getFieldDecorator(`class.${index}.image`, { rules: [ { required: true, message: '上传图片' }, ], })( System.uploadImage(file).then((result) => { setFieldsValue({ [`class.${index}.image`]: result }); return Promise.reject(); })} > {image ? avatar :
Upload
}
, // System.uploadImage(file).then((result) => { // setFieldsValue({ [`class.${index}.image`]: result }); // })} // />, )}
; })} { this.addLength('class', { title: '', link: '', image: '' }); }}>
; } renderActivity() { const { getFieldDecorator, getFieldValue, setFieldsValue } = this.props.form; const { data } = this.state; const activity = data.activity || []; return

活动信息

{activity.map((row, index) => { const image = getFieldValue(`activity.${index}.image`) || null; return {getFieldDecorator(`activity.${index}.link`, { rules: [ { required: true, message: '输入跳转链接' }, ], initialValue: row.link, })( , )} {getFieldDecorator(`activity.${index}.image`, { rules: [ { required: true, message: '上传图片' }, ], })( System.uploadImage(file).then((result) => { setFieldsValue({ [`claactivityss.${index}.image`]: result }); return Promise.reject(); })} > {image ? avatar :
Upload
}
, // System.uploadImage(file).then((result) => { // setFieldsValue({ [`class.${index}.image`]: result }); // })} // />, )}
; })} { this.addLength('activity', { link: '', image: '' }); }}>
; } renderEvaluation() { const { getFieldDecorator, getFieldValue, setFieldsValue } = this.props.form; const { data } = this.state; const evaluation = data.evaluation || []; return

学员评价

{evaluation.map((row, index) => { const avatar = getFieldValue(`evaluation.${index}.avatar`) || null; return {getFieldDecorator(`evaluation.${index}.nickname`, { rules: [ { required: true, message: '输入学员昵称' }, ], initialValue: row.nickname, })( , )} {getFieldDecorator(`evaluation.${index}.avatar`, { rules: [ { required: true, message: '上传图片' }, ], })( System.uploadImage(file).then((result) => { setFieldsValue({ [`evaluation.${index}.avatar`]: result }); return Promise.reject(); })} > {avatar ? avatar :
Upload
}
, // System.uploadImage(file).then((result) => { // setFieldsValue({ [`class.${index}.image`]: result }); // })} // />, )}
{getFieldDecorator(`evaluation.${index}.content`, { rules: [ { required: true, message: '输入评价内容' }, ], initialValue: row.content, })( , )}
; })} { this.addLength('evaluation', { title: '', link: '', image: '' }); }}>
; } renderContact() { const { getFieldDecorator, setFieldsValue, getFieldValue } = this.props.form; const wechatImage = getFieldValue('contact.wechatImage'); const weiboImage = getFieldValue('contacct.weiboImage'); return

联系方式

{getFieldDecorator('contact.phone', { rules: [ { required: false, message: '请输入电话' }, ], })( , )} {getFieldDecorator('contact.email', { rules: [ { required: false, message: '请输入邮箱' }, ], })( , )} {getFieldDecorator('contact.wechat', { rules: [ { required: false, message: '请输入微信号' }, ], })( , )} {getFieldDecorator('contact.wechatImage')( { System.uploadImage(file).then((result) => { setFieldsValue({ 'contact.wechatImage': result }); return Promise.reject(); }); } } > {wechatImage ? avatar :
Upload
}
, )}
{getFieldDecorator('contact.weiboImage')( System.uploadImage(file).then((result) => { setFieldsValue({ 'contact.weiboImage': result }); return Promise.reject(); })} > {weiboImage ? avatar :
Upload
}
, )}
; } renderView() { return
{this.renderPrepare()} {this.renderUser()} {this.renderClass()} {this.renderActivity()} {this.renderEvaluation()} {this.renderContact()}
; } }