import React from 'react';
import moment from 'moment';
import { Form, Select, Input, Button, Row, Col, notification, DatePicker, Table } from 'antd';
import { formItemLayout, formLayout } from '../../../constants/formItemLayout';
import PSelect from '../../../components/Pro/PSelect';
import { getCompanyShareHolder, publicCommonDictGetDictByCodeTypes } from '../../../services/api';
const { RangePicker } = DatePicker;
// const warnColor = '#F59A23';
// const okColor = '#4B7902';
const errColor = '#D9001B';
const dateFormat = 'YYYY-MM-DD';
// const code = {
// 1: '0',
// 2: '5',
// 3: '6',
// 4: '7',
// 5: '7',
// 6: ' 9',
// 8: ' 12',
// }
@Form.create()
export default class BusinessWallet extends React.Component {
constructor(props, context) {
super(props, context);
this.state = {
shareholders: [],
beneficiarys: []
};
}
componentWillMount() {
this.props.getAddFun((cb) => {
const { shareholders, beneficiarys } = this.state;
this.props.form.validateFields((err) => {
cb && cb(err, { shareholders, beneficiarys });
});
});
}
componentDidMount() {
// this.__getCompanyShareHolder()
}
// //获取股东列表信息
// __getCompanyShareHolder() {
// getCompanyShareHolder({ pageSize: "10", pageNumber: "1" }).then(result => {
// if (result.data.data.length > 0) {
// let shareholders = result.data.data.filter(item => {
// return item.idCardType
// }).map((list, index) => {
// console.log(code[list.idCardType])
// return {
// cerNo: list.cerNo,
// name: list.name,
// cerType: code[list.idCardType],
// key: index,
// endDate: "",
// startDate: "",
// }
// })
// this.setState({
// shareholders
// })
// }
// });
// }
// componentWillReceiveProps(props) {
// }
_addItem = type => {
const { shareholders, beneficiarys } = this.state;
switch (true) {
case type === 's':
// shareholders.push(item);
this.setState({
shareholders: [
...shareholders,
{
"cerNo": "",
"endDate": "",
"name": "",
"cerType": "0",
"startDate": "",
key: moment().valueOf()
}
]
});
break;
case type === 'b':
// beneficiarys.push(item);
this.setState({
beneficiarys: [
...beneficiarys,
{
"contractPhone": "",
"cerNo": "",
"endDate": "",
"name": "",
"contractAddress": "",
"cerType": "0",
"startDate": "",
key: moment().valueOf()
}
]
});
break;
}
}
// _get
_deleteItem = (type, index) => {
const { shareholders, beneficiarys } = this.state;
switch (true) {
case type === 's':
shareholders.splice(index, 1);
this.setState({
shareholders
});
break;
case type === 'b':
beneficiarys.splice(index, 1);
this.setState({
beneficiarys
});
break;
}
}
render() {
const { shareholders, beneficiarys } = this.state;
const { getFieldDecorator } = this.props.form;
// 股东信息
const shareholdersColumns = [
{
title: '股东名称',
dataIndex: 'name',
key: 'name',
// width: 120,
// fixed: 'left',
render: (text, record, index) => {
return (
{getFieldDecorator('name' + '-' + index + '-s', {
initialValue: text,
rules: [
{
required: true,
message: '请输入股东名称'
},
{
validator: (rule, value, callback) => {
if (value && !/^\S{0,50}$/.test(value)) {
callback('请输入正确的股东名称');
} else {
callback();
}
}
}
]
})(
{
shareholders[index].name = e.target.value;
this.setState({
shareholders
});
}} placeholder="输入股东名称" />
)}
);
}
},
{
title: '证件类型',
dataIndex: 'cerType',
key: 'cerType',
render: (text, record, index) => {
return (
{
getFieldDecorator('cerType' + '-' + index + '-s', {
// initialValue: '1',
initialValue: shareholders[index].cerType,
rules: [
{
required: true,
message: '请选择证件类型'
},
]
})(
// {
// shareholders[index].cerType = value;
// this.setState({
// shareholders
// });
// }}
// />
// 暂时支持统一信用代码
)
}
);
}
},
{
title: '证件号码',
dataIndex: 'cerNo',
key: 'cerNo',
render: (text, record, index) => {
return (
{getFieldDecorator('cerNo' + '-' + index + '-s', {
initialValue: text,
rules: [
{
required: true,
message: '请输入证件号码'
},
// {
// pattern:
// record.idCardType === '1'
// ? /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
// : null,
// message: '证件格式错误'
// }
]
})(
{
shareholders[index].cerNo = e.target.value;
this.setState({
shareholders
});
}} placeholder="输入证件号码" />
)}
);
}
},
{
title: '证件有效期',
dataIndex: 'date',
key: 'date',
render: (text, record, index) => {
return (
{getFieldDecorator('date' + '-' + index + '-s', {
initialValue: [],
rules: [
{
required: true,
message: '请选择证件有效期'
}
]
})(
{
return current > moment('2100/1/1');
}}
onChange={(date, strs) => {
shareholders[index].startDate = strs[0];
shareholders[index].endDate = strs[1];
this.setState({
shareholders
});
}}
/>
)}
);
}
},
{
title: '操作',
dataIndex: 'operation',
key: 'operation',
width: 100,
fixed: 'right',
render: (text, record, index) => {
return (
);
}
}
];
// 受益人信息
const beneficiarysColumns = [
{
title: '受益人名称',
dataIndex: 'name',
key: 'name',
width: 120,
fixed: 'left',
render: (text, record, index) => {
return (
{getFieldDecorator('name' + '-' + index + '-b', {
initialValue: text,
rules: [
{
required: true,
message: '请输入受益人名称'
},
{
validator: (rule, value, callback) => {
if (value && !/^\S{0,50}$/.test(value)) {
callback('请输入正确的受益人名称');
} else {
callback();
}
}
}
]
})(
{
beneficiarys[index].name = e.target.value;
this.setState({
beneficiarys
});
}} placeholder="输入股东名称" />
)}
);
}
},
{
title: '证件类型',
dataIndex: 'cerType',
key: 'cerType',
render: (text, record, index) => {
return (
{
getFieldDecorator('cerType' + '-' + index + '-b', {
initialValue: '1',
rules: [
{
required: true,
message: '请选择证件类型'
},
]
})(
{
beneficiarys[index].cerType = value;
this.setState({
beneficiarys
});
}}
/>
)
}
);
}
},
{
title: '证件号码',
dataIndex: 'cerNo',
key: 'cerNo',
render: (text, record, index) => {
return (
{getFieldDecorator('cerNo' + '-' + index + '-b', {
initialValue: text,
rules: [
{
required: true,
message: '请输入证件号码'
},
// {
// pattern:
// record.idCardType === '1'
// ? /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
// : null,
// message: '证件格式错误'
// }
]
})(
{
beneficiarys[index].cerNo = e.target.value;
this.setState({
beneficiarys
});
}} placeholder="输入证件号码" />
)}
);
}
},
{
title: '证件有效期',
dataIndex: 'date',
key: 'date',
render: (text, record, index) => {
return (
{getFieldDecorator('date' + '-' + index + '-b', {
initialValue: [],
rules: [
{
required: true,
message: '请选择证件有效期'
}
]
})(
{
return current > moment('2100/1/1');
}}
onChange={(date, strs) => {
beneficiarys[index].startDate = strs[0];
beneficiarys[index].endDate = strs[1];
this.setState({
beneficiarys
});
}}
/>
)}
);
}
},
{
title: '联系电话',
dataIndex: 'contractPhone',
key: 'contractPhone',
render: (text, record, index) => {
return (
{getFieldDecorator('contractPhone' + '-' + index + '-b', {
initialValue: text,
rules: [
{
required: true,
message: '请输入联系电话'
}
]
})(
{
beneficiarys[index].contractPhone = e.target.value;
this.setState({
beneficiarys
});
}} placeholder="输入联系电话" />
)}
);
}
},
{
title: '联系地址',
dataIndex: 'contractAddress',
key: 'contractAddress',
render: (text, record, index) => {
return (
{getFieldDecorator('contractAddress' + '-' + index + '-b', {
initialValue: text,
rules: [
{
// required: true,
message: '请输入联系地址'
}
]
})(
{
beneficiarys[index].contractAddress = e.target.value;
this.setState({
beneficiarys
});
}} placeholder="输入联系地址" />
)}
);
}
},
{
title: '操作',
dataIndex: 'operation',
key: 'operation',
width: 100,
fixed: 'right',
render: (text, record, index) => {
return (
);
}
}
];
return (
*股东信息:}>
{
this._addItem('s');
}}>+添加一条记录
注:若无股东,则填写本企业信息;最多录入5跳记录即可;若为永久证件,到期日期请选择2099-12-31。
*受益人信息:}>
{
this._addItem('b');
}}>+添加一条记录
注:最多录入5条记录即可;若为永久证件,到期日期请选择2099-12-31。
);
}
}