{
this.changeHistory('content', record.id, v);
}} />;
},
}];
Exercise.courseStruct().then((result) => {
const list = result.map(row => { row.title = `${row.titleZh}`; row.value = row.id; return row; });
const tree = formatTreeData(list, 'id', 'title', 'parentId');
this.exerciseMap = getMap(result.map(row => {
row.title = `${row.titleZh}`;
row.value = row.id;
return row;
}), 'id');
this.setState({ exercise: tree });
});
}
initData() {
const { id } = this.params;
let handler;
if (id) {
handler = Course.getData({ id });
} else {
handler = Promise.resolve({ structId: 0 });
}
handler
.then(result => {
const { setFieldsValue } = this.props.form;
result.structId = `${result.structId}`;
// getFieldDecorator('id');
// getFieldDecorator('structId');
// getFieldDecorator('dataType');
// getFieldDecorator('isNovice');
// getFieldDecorator('isOriginal');
// getFieldDecorator('title');
// getFieldDecorator('price');
// getFieldDecorator('pages');
// getFieldDecorator('content');
// getFieldDecorator('content');
// getFieldDecorator('authorContent');
// getFieldDecorator('methondContent');
setFieldsValue(result);
this.setState({ data: result });
if (result.dataType === 'electron') {
this.refreshHistory();
}
});
}
refreshHistory() {
const { id } = this.params;
Course.listDataHistory({ dataId: id }).then(result => {
this.setState({ list: result.list, total: result.total, history: true });
});
}
changeHistory(field, id, value) {
Course.editDataHistory({ id, [field]: value }).then(() => {
this.refreshHistory();
});
}
submit() {
const { form } = this.props;
form.validateFields((err) => {
if (!err) {
const data = form.getFieldsValue();
data.parentStructId = this.exerciseMap[data.structId] ? this.exerciseMap[data.structId].parentId : 0;
Course.editData(data).then(() => {
asyncSMessage('保存成功');
}).catch((e) => {
if (e.result) form.setFields(formatFormError(data, e.result));
});
}
});
}
renderBase() {
const { exercise, data } = this.state;
const { getFieldDecorator } = this.props.form;
return
基本信息
{getFieldDecorator('structId', {
rules: [{
required: true, message: '请选择学科',
}],
initialValue: data.structId,
})(
,
)}
}
{getFieldDecorator('dataType', {
rules: [{
required: true, message: '请选择类型',
}],
})(
{
if (e.target.value === 'electron') {
this.refreshHistory();
} else {
this.setState({ history: false });
}
}} />,
)}
{getFieldDecorator('isNovice', {
rules: [{
required: true, message: '请选择',
}],
})(
,
)}
{getFieldDecorator('isOriginal', {
rules: [{
required: true, message: '请选择',
}],
})(
,
)}
{getFieldDecorator('title', {
rules: [{
required: true, message: '请输入名称',
}],
})(
,
)}
{getFieldDecorator('price', {
rules: [{
required: true, message: '请输入价格',
}],
})(
,
)}
{getFieldDecorator('pages', {
rules: [{
required: true, message: '请输入页数',
}],
})(
,
)}
{getFieldDecorator('link', {
rules: [{
required: true, message: '请输入地址',
}],
})(
,
)}
;
}
renderInfo() {
const { getFieldDecorator, setFieldsValue, getFieldValue } = this.props.form;
const cover = getFieldValue('cover');
return
宣传信息
{getFieldDecorator('cover', {
rules: [
{ required: true, message: '上传图片' },
],
})(
System.uploadImage(file).then((result) => {
setFieldsValue({ cover: result.url });
return Promise.reject();
})}
>
{cover ?
: }
,
)}
{getFieldDecorator('description', {
rules: [{
required: true, message: '请输入摘要',
}],
})(
,
)}
;
}
renderHistory() {
return
资料版本
this.onAction(key)}
/>
this.tableChange(pagination, filters, sorter)}
onSelect={(keys, rows) => this.tableSelect(keys, rows)}
selectedKeys={this.state.selectedKeys}
/>
;
}
renderContent() {
const { getFieldDecorator } = this.props.form;
return
{getFieldDecorator('content', {
})(
,
)}
;
}
renderAuthor() {
const { getFieldDecorator } = this.props.form;
return
{getFieldDecorator('authorContent', {
})(
,
)}
;
}
renderMethod() {
const { getFieldDecorator } = this.props.form;
return
{getFieldDecorator('methodContent', {
})(
,
)}
;
}
renderView() {
const { history } = this.state;
return
{this.renderBase()}
{this.renderInfo()}
{history && this.renderHistory()}
{this.renderContent()}
{this.renderAuthor()}
{this.renderMethod()}
;
}
}