app-base-web
Version:
web development common base package.
125 lines (122 loc) • 5.61 kB
JavaScript
import React from 'react';
import { Form, Row, Col, Button, Input, message } from 'antd';
import api from '../../../library/util-axios';
// 系统配置-数字字典
const title = "数字字典";
const url = "CfgDictionary/";
export default class FormEditBatch extends React.Component {
constructor(props) {
super(props);
this.state = {
...props.values
};
this.formRef = React.createRef();
}
onSave = (values) => {
let me = this;
values.id = this.state.id;
api.post(url + "saveBatch", values).then(function (rs) {
if (rs.success) {
message.info(rs.msg);
me.props.onSave(values);
} else { message.error(rs.msg); }
});
}
render() {
return (
<Form ref={this.formRef} className="form-edit" layout="vertical" onFinish={this.onSave}>
<div className="form-title">
<i> {title} - {"批量录入"}</i>
{this.state.id ? <span><Button className="btn-return" onClick={this.props.onEditReturn}><i className="iconfont icon-return"></i>返回</Button></span> : ""}
</div>
<div className="form-content" style={{ height: this.props.height }}>
<Row>
<Col xs={24}>
<Form.Item
name="app"
label="所属应用"
initialValue={this.state.app}
rules={[{
required: true,
message: '请输入所属应用'
}]}
>
<Input />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={12}>
<Form.Item
name="type"
label="字典分类"
initialValue={this.state.type}
rules={[{
required: true,
message: '请输入字典分类'
}]} >
<Input onChange={(e) => {
this.formRef.current.setFieldsValue({
memo: e.target.value,
});
}} />
</Form.Item>
</Col>
<Col xs={12}>
<Form.Item
name="subType"
label="二级分类"
initialValue={this.state.subType}>
<Input />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={24}>
<Form.Item
name="zh_CN"
label="中文字典"
initialValue={this.state.zh_CN}
rules={[{
required: true,
message: '请输入中文字典'
}]}>
<Input.TextArea rows={6} onChange={(e) => {
let _value = e.target.value;
_value = _value.replace(new RegExp("\n", "gm"), ",");
_value = _value.replace(new RegExp(" ", "gm"), ",");
_value = _value.replace(new RegExp(" ", "gm"), ",");
_value = _value.replace(new RegExp(",", "gm"), ",");
let valuesArr = _value.split(",");
let value = valuesArr.map((item, index) => (index + 1));
this.formRef.current.setFieldsValue({
value: value.join(","),
zh_CN: _value
});
}} />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={24}>
<Form.Item
name="value"
label="字典值"
initialValue={this.state.value || "1"}
rules={[{
required: true,
message: '请输入字典值'
}]}>
<Input />
</Form.Item>
</Col>
</Row>
</div>
<div className="form-toolbar">
<Button className="btn-cancel" onClick={this.props.onCancel}><i className="iconfont icon-cancel"></i>取消</Button>
<Button className="btn-submit" htmlType="submit"><i className="iconfont icon-submit"></i>提交</Button>
</div>
</Form >
);
}
}