|
@@ -1,173 +1,244 @@
|
|
import React from 'react';
|
|
import React from 'react';
|
|
-import { Radio, Select, Input, Upload, Button } from 'antd';
|
|
|
|
|
|
+import { Radio, Select, Input, Upload, Button , Checkbox } from 'antd';
|
|
import { UploadOutlined } from '@ant-design/icons';
|
|
import { UploadOutlined } from '@ant-design/icons';
|
|
|
|
+import axios from "axios";
|
|
// import { $Axios } from '../../common/publish';
|
|
// import { $Axios } from '../../common/publish';
|
|
|
|
+import select_data from '../../common/ssq';
|
|
import '../center-w/centerW.scss'
|
|
import '../center-w/centerW.scss'
|
|
|
|
|
|
export default class centerW extends React.Component {
|
|
export default class centerW extends React.Component {
|
|
constructor(props) {
|
|
constructor(props) {
|
|
super(props)
|
|
super(props)
|
|
this.state = {
|
|
this.state = {
|
|
- contract : [
|
|
|
|
- // { txt : '请选择商户签约性质', value : 0 },
|
|
|
|
- { txt : '个体工商户',value : 1 },
|
|
|
|
- { txt : '事业单位',value : 2 },
|
|
|
|
- { txt : '民办非企业组织',value : 3 },
|
|
|
|
- { txt : '社会团体',value : 4 },
|
|
|
|
- { txt : '非法人企业',value : 5 },
|
|
|
|
- { txt : '自然人',value : 6 },
|
|
|
|
- { txt : '政府机关',value : 7 },
|
|
|
|
- { txt : '其他',value : 8 },
|
|
|
|
- ],
|
|
|
|
- certificate : [
|
|
|
|
- { txt : '统一社会信用代码证',value : 1 },
|
|
|
|
- { txt : '民办非企业单位登记证书',value : 2 },
|
|
|
|
- { txt : '个体工商户营业执照',value : 3 },
|
|
|
|
- { txt : '社会团体法人登记证书',value : 4 },
|
|
|
|
- { txt : '事业单位法人证书',value : 5 },
|
|
|
|
- { txt : '基金法人登记证书',value : 6 },
|
|
|
|
- { txt : '营业执照',value : 7 },
|
|
|
|
- { txt : '其他',value : 8 },
|
|
|
|
- ],
|
|
|
|
|
|
+ selectData : select_data,
|
|
fileList : [[],[],[],[],[],[],[],[],[],[],[],[]],
|
|
fileList : [[],[],[],[],[],[],[],[],[],[],[],[]],
|
|
|
|
+ fileList_t : null,
|
|
headerProps : {
|
|
headerProps : {
|
|
- action: '',
|
|
|
|
|
|
+ action: 'http://paytest.zhongsou.com/payment/file.upload.groovy',
|
|
multiple: false,
|
|
multiple: false,
|
|
},
|
|
},
|
|
imgType : null,
|
|
imgType : null,
|
|
- rightArray : [
|
|
|
|
- { txt : '营业执照照片路径',value : 0 , type:'.jpg, .jpeg, .png, .pdf'},
|
|
|
|
- { txt : '开户许可证招聘路径',value : 1 , type:'.jpg, .jpeg, .png, .pdf'},
|
|
|
|
- { txt : '法人证件人面像路径',value : 2 , type:'.jpg, .jpeg, .png, .pdf'},
|
|
|
|
- { txt : '法人证件国徽面路径',value : 3 , type:'.jpg, .jpeg, .png, .pdf'},
|
|
|
|
- { txt : '确认入网意愿视频路径',value : 4 , type:'.AVI, .mov, .rmvb, .rm, .FLV, .mp4, .3gp'},
|
|
|
|
- { txt : '法人手持证件影印件路径',value : 5 , type:'.jpg, .jpeg, .png, .pdf'},
|
|
|
|
- { txt : '商户网址截图影印件路径',value : 6 , type:'.jpg, .jpeg, .png, .pdf'},
|
|
|
|
- { txt : '公众号/小程序/生活号影印件路径',value : 7 , type:'.jpg, .jpeg, .png, .pdf'},
|
|
|
|
- { txt : 'APP首页截图影印件路径',value : 8 , type:'.jpg, .jpeg, .png, .pdf'},
|
|
|
|
- { txt : '法人银行卡图影印件路径',value : 9 , type:'.jpg, .jpeg, .png, .pdf'},
|
|
|
|
- { txt : '确认入网意愿其他方式验证路径',value : 10 , type:'.jpg, .jpeg, .png, .pdf'},
|
|
|
|
- { txt : '其他资质文件路径',value : 11 , type:'.jpg, .jpeg, .png, .pdf'},
|
|
|
|
- ]
|
|
|
|
|
|
+ Params : this.props.arr,
|
|
|
|
+ tradingScenarios : [],
|
|
|
|
+ datas : {},
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
componentDidMount() {
|
|
componentDidMount() {
|
|
-
|
|
|
|
|
|
+ this.props.onRef(this)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ toParent = (data) => {
|
|
|
|
+ this.props.parent.getParams_w(this, data)
|
|
}
|
|
}
|
|
|
|
|
|
- selectChange(value) {
|
|
|
|
- console.log(`Selected: ${value}`);
|
|
|
|
|
|
+ InputWdata(e){
|
|
|
|
+ let Params = {
|
|
|
|
+ legalPersonName : document.getElementById("legalPersonName").value,//法人姓名
|
|
|
|
+ profession : this.state.Params.profession, //法人职业
|
|
|
|
+ legalPersonIdType : this.state.Params.legalPersonIdType,//法人证件类型
|
|
|
|
+ legalPersonIdNo : document.getElementById("legalPersonIdNo").value, //证件号码
|
|
|
|
+ idEffectiveDateStart : '',//法人证件有效期开始日期
|
|
|
|
+ idEffectiveDateEnd : '',//法人证件有效期结束日期
|
|
|
|
+ cerNoType : this.state.Params.cerNoType,//企业证件类型
|
|
|
|
+ cerNo : document.getElementById("cerNo").value,//企业资质证书编号
|
|
|
|
+ sellingArea : document.getElementById("sellingArea").value,//营业面积
|
|
|
|
+ staffSize : document.getElementById("staffSize").value,//公司员工规模
|
|
|
|
+ tradingScenarios : this.state.Params.tradingScenarios,//交易场景说明
|
|
|
|
+ webSite : document.getElementById("webSite").value,//网站网址
|
|
|
|
+ webSiteName : document.getElementById("webSiteName").value,//网站名称
|
|
|
|
+ icp : document.getElementById("icp").value,//ICP备案号
|
|
|
|
+ appName : document.getElementById("appName").value,//APP名称
|
|
|
|
+ wechatAppletName : document.getElementById("wechatAppletName").value,//公众号/小程序/生活号
|
|
|
|
+ testAccountInfo : '',//测试账户信息
|
|
|
|
+ businessLicensePath : '',//营业执照照片路径
|
|
|
|
+ openAccountPath : '',//开户许可证照片路径
|
|
|
|
+ legalIdCardProsPath : '',//法人证件人像面路径
|
|
|
|
+ legalIdCardConsPath : '',//法人证件国徽面路径
|
|
|
|
+ desireAuthPath : '',//确认入网意愿视频路径
|
|
|
|
+ holdingIdCardPath : '',//法人手持证件影印件路径
|
|
|
|
+ webSitePath : '',//商户网址截图影印件路径
|
|
|
|
+ wechatAppletPath : '',//公众号/小程序/生活号业务流程截图影印件路径
|
|
|
|
+ appPath : '',//APP首页截图影印件路径
|
|
|
|
+ legalPersonBankCardPath : '',//法人银行卡图影印件路径
|
|
|
|
+ desireAuthOtherPath : '',//确认入网意愿其他验证方式路径
|
|
|
|
+ otherCerPath : '',//其他资质文件路径
|
|
|
|
+ }
|
|
|
|
+ return Params
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ childMethod () { //暴露给父组件的方法,集合当前页面拿到的参数存入缓存
|
|
|
|
+ let data = this.InputWdata();
|
|
|
|
+ // console.log(data)
|
|
|
|
+ this.toParent(data)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ btnClick(e){ //区分上传图片类型
|
|
|
|
+ this.setState({
|
|
|
|
+ imgType : e
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ selectChange_1(value) { //法人职业类型选择
|
|
|
|
+ console.log(value)
|
|
|
|
+ this.state.Params.profession = value;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ selectChange_2(value) { //法人证件类型选择
|
|
|
|
+ this.state.Params.legalPersonIdType = value;
|
|
}
|
|
}
|
|
- handleChange = info => {
|
|
|
|
|
|
+
|
|
|
|
+ selectChange_3(value) { // 企业证件类型选择
|
|
|
|
+ this.state.Params.cerNoType = value;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ CheckChange(e){
|
|
|
|
+ this.state.Params.tradingScenarios = e.toString()
|
|
|
|
+ console.log(e)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ onChangeUpload(info){
|
|
let fileList = [...info.fileList];
|
|
let fileList = [...info.fileList];
|
|
- let imgType = this.state.imgType;
|
|
|
|
|
|
+ this.state.fileList = fileList
|
|
|
|
+ }
|
|
|
|
+ UploadImgstate(){ //修改上传图片状态
|
|
|
|
+ let fileList = this.state.fileList;
|
|
|
|
+ let imgType = this.state.imgType; //当前上传图片点击的Index
|
|
fileList[0].status = 'done' //上传成功之后的状态 自动修改
|
|
fileList[0].status = 'done' //上传成功之后的状态 自动修改
|
|
fileList[0].response = fileList[0].name //图片上传成功之后展示的TIP
|
|
fileList[0].response = fileList[0].name //图片上传成功之后展示的TIP
|
|
let arr = this.state.fileList;
|
|
let arr = this.state.fileList;
|
|
arr[imgType] = fileList
|
|
arr[imgType] = fileList
|
|
- this.setState({ arr });
|
|
|
|
- };
|
|
|
|
- btnClick(e){ //区分上传图片类型
|
|
|
|
- this.setState({
|
|
|
|
- imgType : e
|
|
|
|
|
|
+ console.log(arr)
|
|
|
|
+ this.setState({
|
|
|
|
+ fileList : arr
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ handleChange(e){
|
|
|
|
+ let file = e.file;
|
|
|
|
+ let that_ = this;
|
|
|
|
+ console.log(file)
|
|
|
|
+ const formData = new FormData();
|
|
|
|
+ formData.append('file', file)
|
|
|
|
+ formData.append('merchantSerialNumber', 'MCT_202106262257460929210')
|
|
|
|
+ let config = {
|
|
|
|
+ method: 'post',
|
|
|
|
+ headers: { 'Content-Type': 'multipart/form-data' }
|
|
|
|
+ }
|
|
|
|
+ axios.post('http://paytest.zhongsou.com/payment/file.upload.groovy',formData, config).then((res) => {
|
|
|
|
+ let status = res.data.status;
|
|
|
|
+ let fileList = that_.state.fileList;
|
|
|
|
+ that_.setState({
|
|
|
|
+ fileList_t : fileList
|
|
|
|
+ })
|
|
|
|
+ if(status == 200){
|
|
|
|
+ // that_.UploadImgstate()
|
|
|
|
+ }
|
|
|
|
+ }).catch((error) => { //上传失败后设置回之前的上前数量与状态
|
|
|
|
+ // let fileList_t = that_.state.fileList_t;
|
|
|
|
+ // that_.setState({
|
|
|
|
+ // fileList : fileList_t
|
|
|
|
+ // })
|
|
|
|
+ console.log(error);
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
|
|
+ // defaultValue={Params.signedName}
|
|
render() {
|
|
render() {
|
|
- const { contract, certificate, headerProps, fileList , rightArray } = this.state;
|
|
|
|
|
|
+ const { selectData, headerProps, fileList ,Params , } = this.state;
|
|
const { Option } = Select;
|
|
const { Option } = Select;
|
|
|
|
|
|
return(
|
|
return(
|
|
<div className='center_up'>
|
|
<div className='center_up'>
|
|
<div className='center_left'>
|
|
<div className='center_left'>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
- <div className='titles'> 法人姓名 : </div>
|
|
|
|
- <div className='inputs'><Input placeholder="请输入法人姓名" /></div>
|
|
|
|
|
|
+ <div className='titles'> 法人姓名<i className='label_x'>*</i> : </div>
|
|
|
|
+ <div className='inputs'><Input id='legalPersonName' placeholder="请输入法人姓名" defaultValue={Params.legalPersonName} /></div>
|
|
</div>
|
|
</div>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
<div className='titles'> 法人职业 : </div>
|
|
<div className='titles'> 法人职业 : </div>
|
|
- <Select size='default' placeholder="请选择法人职业" onChange={ this.selectChange } style={{ width: 200 }}>
|
|
|
|
- {contract.map((item,index) => (
|
|
|
|
|
|
+ <Select size='default' placeholder="请选择法人职业" defaultValue={Params.profession} onChange={ this.selectChange_1.bind(this) } style={{ width: 200 }}>
|
|
|
|
+ {selectData.contractW.map((item,index) => (
|
|
<Option key={index} value={item.value}>{item.txt}</Option>
|
|
<Option key={index} value={item.value}>{item.txt}</Option>
|
|
))}
|
|
))}
|
|
</Select>
|
|
</Select>
|
|
</div>
|
|
</div>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
- <div className='titles'> 法人证件类型 : </div>
|
|
|
|
- <Select size='default' placeholder="请选择证件类型" onChange={ this.selectChange } style={{ width: 200 }}>
|
|
|
|
- {certificate.map((item,index) => (
|
|
|
|
|
|
+ <div className='titles'> 法人证件类型<i className='label_x'>*</i> : </div>
|
|
|
|
+ <Select size='default' placeholder="请选择证件类型" defaultValue={Params.legalPersonIdType} onChange={ this.selectChange_2.bind(this) } style={{ width: 200 }}>
|
|
|
|
+ {selectData.certificateW.map((item,index) => (
|
|
<Option key={index} value={item.value}>{item.txt}</Option>
|
|
<Option key={index} value={item.value}>{item.txt}</Option>
|
|
))}
|
|
))}
|
|
</Select>
|
|
</Select>
|
|
</div>
|
|
</div>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
- <div className='titles'> 法人证件号码 : </div>
|
|
|
|
- <div className='inputs'><Input placeholder="请输入证件号码" /></div>
|
|
|
|
|
|
+ <div className='titles'> 法人证件号码<i className='label_x'>*</i> : </div>
|
|
|
|
+ <div className='inputs'><Input id='legalPersonIdNo' placeholder="请输入证件号码" defaultValue={Params.legalPersonIdNo} /></div>
|
|
</div>
|
|
</div>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
<div className='titles'> 企业证件类型 : </div>
|
|
<div className='titles'> 企业证件类型 : </div>
|
|
- <Select size='default' placeholder="请选择证件类型" onChange={ this.selectChange } style={{ width: 200 }}>
|
|
|
|
- {contract.map((item,index) => (
|
|
|
|
|
|
+ <Select size='default' placeholder="请选择证件类型" defaultValue={Params.cerNoType} onChange={ this.selectChange_3.bind(this) } style={{ width: 200 }}>
|
|
|
|
+ {selectData.cerNoTypeW.map((item,index) => (
|
|
<Option key={index} value={item.value}>{item.txt}</Option>
|
|
<Option key={index} value={item.value}>{item.txt}</Option>
|
|
))}
|
|
))}
|
|
</Select>
|
|
</Select>
|
|
</div>
|
|
</div>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
<div className='titles'> 资质证书编号 : </div>
|
|
<div className='titles'> 资质证书编号 : </div>
|
|
- <div className='inputs'><Input placeholder="请输入证书编号" /></div>
|
|
|
|
|
|
+ <div className='inputs'><Input id='cerNo' placeholder="请输入证书编号" defaultValue={Params.cerNo}/></div>
|
|
</div>
|
|
</div>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
<div className='titles'> 营业面积 : </div>
|
|
<div className='titles'> 营业面积 : </div>
|
|
- <div className='inputs'><Input placeholder="A 500平以上" /></div>
|
|
|
|
|
|
+ <div className='inputs'><Input id='sellingArea' placeholder="A 500平以上" defaultValue={Params.sellingArea} /></div>
|
|
</div>
|
|
</div>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
<div className='titles'> 公司员工规模 : </div>
|
|
<div className='titles'> 公司员工规模 : </div>
|
|
- <div className='inputs'><Input placeholder="A 100人以上" /></div>
|
|
|
|
|
|
+ <div className='inputs'><Input id='staffSize' placeholder="A 100人以上" defaultValue={Params.staffSize} /></div>
|
|
</div>
|
|
</div>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
<div className='titles'> 交易场景说明 : </div>
|
|
<div className='titles'> 交易场景说明 : </div>
|
|
- <Radio.Group name="radiogroup" defaultValue={1}>
|
|
|
|
- <Radio value={1}>网站</Radio>
|
|
|
|
- <Radio value={1}>APP</Radio>
|
|
|
|
- <Radio value={1}>公众号</Radio>
|
|
|
|
- </Radio.Group>
|
|
|
|
|
|
+ <Checkbox.Group options={selectData.options} defaultValue={['WEBSITE']} onChange={this.CheckChange.bind(this)} />
|
|
</div>
|
|
</div>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
<div className='titles'> 网站网址 : </div>
|
|
<div className='titles'> 网站网址 : </div>
|
|
- <div className='inputs'><Input placeholder="请输入网站网址" /></div>
|
|
|
|
|
|
+ <div className='inputs'><Input id='webSite' placeholder="请输入网站网址" defaultValue={Params.webSite}/></div>
|
|
</div>
|
|
</div>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
<div className='titles'> 网站名称 : </div>
|
|
<div className='titles'> 网站名称 : </div>
|
|
- <div className='inputs'><Input placeholder="请输入网站名称" /></div>
|
|
|
|
|
|
+ <div className='inputs'><Input id='webSiteName' placeholder="请输入网站名称" defaultValue={Params.webSiteName} /></div>
|
|
</div>
|
|
</div>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
<div className='titles'> ICP备案号 : </div>
|
|
<div className='titles'> ICP备案号 : </div>
|
|
- <div className='inputs'><Input placeholder="请输入ICP备案号" /></div>
|
|
|
|
|
|
+ <div className='inputs'><Input id='icp' placeholder="请输入ICP备案号" defaultValue={Params.icp}/></div>
|
|
</div>
|
|
</div>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
<div className='titles'> APP名称 : </div>
|
|
<div className='titles'> APP名称 : </div>
|
|
- <div className='inputs'><Input placeholder="请输入APP名称" /></div>
|
|
|
|
|
|
+ <div className='inputs'><Input id='appName' placeholder="请输入APP名称" defaultValue={Params.appName}/></div>
|
|
</div>
|
|
</div>
|
|
<div className='c-l'>
|
|
<div className='c-l'>
|
|
<div className='titles'> 公众号/小程序/生活号 : </div>
|
|
<div className='titles'> 公众号/小程序/生活号 : </div>
|
|
- <div className='inputs'><Input placeholder="请输入名称" /></div>
|
|
|
|
|
|
+ <div className='inputs'><Input id='wechatAppletName' placeholder="请输入名称" defaultValue={Params.wechatAppletName}/></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div className='center_right'>
|
|
<div className='center_right'>
|
|
- {rightArray.map((item,index) => (
|
|
|
|
|
|
+ {selectData.rightArray.map((item,index) => (
|
|
<div className='c-l' key = {index}>
|
|
<div className='c-l' key = {index}>
|
|
<div className='titles'> {item.txt} : </div>
|
|
<div className='titles'> {item.txt} : </div>
|
|
<div className='Upload_wrap'>
|
|
<div className='Upload_wrap'>
|
|
<Upload
|
|
<Upload
|
|
- className='Upload'
|
|
|
|
- {...headerProps}
|
|
|
|
- fileList={this.state.fileList[item.value]}
|
|
|
|
- accept={item.type}
|
|
|
|
- maxCount={1}
|
|
|
|
- onChange = {this.handleChange}
|
|
|
|
|
|
+ // {...headerProps}
|
|
|
|
+ name="files"
|
|
|
|
+ className="Upload"
|
|
|
|
+ maxCount={1}
|
|
|
|
+ showUploadList={false}
|
|
|
|
+ accept = {item.type}
|
|
|
|
+ customRequest={this.handleChange.bind(this)}
|
|
|
|
+ onChange={this.onChangeUpload.bind(this)}
|
|
>
|
|
>
|
|
<Button icon={<UploadOutlined />} onClick={() =>this.btnClick(index)}>选择文件</Button>
|
|
<Button icon={<UploadOutlined />} onClick={() =>this.btnClick(index)}>选择文件</Button>
|
|
</Upload>
|
|
</Upload>
|