UNPKG

app-base-web

Version:
118 lines (115 loc) 3.4 kB
import React from 'react'; import { Form, Row, Col, Button, Input, message } from 'antd'; import api from '../../../library/util-axios'; import Dic from '../../../library/dic'; import UtilDic from '../../../library/util-dic' // 配置管理-数据库配置 const title = "数据库配置"; const url = "CfgDatabase/"; export default class FormEdit 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 + "save", values).then(function (rs) { if (rs.success) { message.info(rs.msg); me.props.onSave(values); } else { message.error(rs.msg); } }); } onChange = (e) => { this.formRef.current.setFieldsValue({ cls: UtilDic.json('ts', '数据库链接类')[e], url: UtilDic.json('ts', '数据库链接')[e] }) } render() { return ( <Form ref={this.formRef} className="form-edit" layout="vertical" onFinish={this.onSave}> <div className="form-title"> <i> {title} - {this.state.id ? "编辑" : "录入"}</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={12}> <Form.Item name="name" label="数据库名称" initialValue={this.state.name} rules={[{ required: true, message: '请输入数据库名称' }]} > <Input /> </Form.Item> </Col> <Col xs={12}> <Form.Item name="type" label="数据库类型" initialValue={String(this.state.type || "")} rules={[{ required: true, message: '请输入数据库类型' }]} > <Dic params={{ app: "ts", type: "数据库类型" }} onChange={e => this.onChange(e)}/> </Form.Item> </Col> </Row> <Row> <Col xs={12}> <Form.Item name="cls" label="数据库链接类" initialValue={this.state.cls} rules={[{ required: true, message: '请输入数据库链接类' }]} > <Input /> </Form.Item> </Col> <Col xs={12}> <Form.Item name="url" label="数据库链接" initialValue={this.state.url} rules={[{ required: true, message: '请输入数据库链接' }]} > <Input /> </Form.Item> </Col> </Row> <Row> <Col xs={12}> <Form.Item name="userName" label="用户名" initialValue={this.state.userName} rules={[{ required: true, message: '请输入用户名' }]} > <Input /> </Form.Item> </Col> <Col xs={12}> <Form.Item name="password" label="密码" initialValue={this.state.password} 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-sumit"></i>提交</Button> </div> </Form> ); } }