Commit 9b7f953a authored by 前端-黄佳鑫's avatar 前端-黄佳鑫

合同模板申请接口接入

parent f8b4f4d9
...@@ -120,7 +120,7 @@ const AddContract: React.FC<{}> = (props) => { ...@@ -120,7 +120,7 @@ const AddContract: React.FC<{}> = (props) => {
} }
/**预览 */ /**预览 */
const onView = (file: any) => { const onView = (file: any) => {
window.location.href = `/api/order/contractTemplate/preview?contractName=${file.name}&contractUrl=${file.file}`
} }
return ( return (
...@@ -165,8 +165,8 @@ const AddContract: React.FC<{}> = (props) => { ...@@ -165,8 +165,8 @@ const AddContract: React.FC<{}> = (props) => {
<span>{uploadFile.name}</span> <span>{uploadFile.name}</span>
</div> </div>
<div className={styles.upload_right}> <div className={styles.upload_right}>
<span>预览</span> <span onClick={()=> onView(uploadFile)}>预览</span>
<DeleteOutlined onClick={delectContract} /> {type && <DeleteOutlined onClick={delectContract} />}
</div> </div>
</div> </div>
} }
......
...@@ -50,6 +50,7 @@ const Apply = () => { ...@@ -50,6 +50,7 @@ const Apply = () => {
if(vaildDetail) { if(vaildDetail) {
await PublicApi.postOrderSignatureAuthApply({}).then(res => { await PublicApi.postOrderSignatureAuthApply({}).then(res => {
setSignatureAuthLogId(res.data.signatureAuthLogId); setSignatureAuthLogId(res.data.signatureAuthLogId);
sessionStorage.setItem('signatureAuthLogId', res.data.signatureAuthLogId.toString())
history.push(`/memberCenter/tranactionAbility/electronicContracts/enterpriseCertified?authTypeEdit=${authType}`) history.push(`/memberCenter/tranactionAbility/electronicContracts/enterpriseCertified?authTypeEdit=${authType}`)
}) })
} }
...@@ -88,10 +89,10 @@ const Apply = () => { ...@@ -88,10 +89,10 @@ const Apply = () => {
<div className={styles.apply_item}> <div className={styles.apply_item}>
<Descriptions title="申请信息" column={1}> <Descriptions title="申请信息" column={1}>
<Descriptions.Item label="公司名称">{data.orgName}</Descriptions.Item> <Descriptions.Item label="公司名称">{data.orgName}</Descriptions.Item>
<Descriptions.Item label="统一社会信用代码">{data.orgIdNumber}</Descriptions.Item> <Descriptions.Item label="统一社会信用代码">{data.orgCode}</Descriptions.Item>
<Descriptions.Item label="法人姓名">{data.proposerName}</Descriptions.Item> <Descriptions.Item label="法人姓名">{data.legalRepName}</Descriptions.Item>
<Descriptions.Item label="法人手机号">{data.proposerMobile}</Descriptions.Item> <Descriptions.Item label="法人手机号">{data.legalRepMobile}</Descriptions.Item>
<Descriptions.Item label="法人身份证号">{data.proposerIdNumber}</Descriptions.Item> <Descriptions.Item label="法人身份证号">{data.legalRepIdNo}</Descriptions.Item>
<Descriptions.Item label="认证方式">-</Descriptions.Item> <Descriptions.Item label="认证方式">-</Descriptions.Item>
<Descriptions.Item label="验证方式">-</Descriptions.Item> <Descriptions.Item label="验证方式">-</Descriptions.Item>
</Descriptions> </Descriptions>
...@@ -104,9 +105,9 @@ const Apply = () => { ...@@ -104,9 +105,9 @@ const Apply = () => {
{authType === 3 && {authType === 3 &&
<div className={styles.apply_item}> <div className={styles.apply_item}>
<Descriptions title="申请信息" column={1}> <Descriptions title="申请信息" column={1}>
<Descriptions.Item label="姓名">{data.proposerName}</Descriptions.Item> <Descriptions.Item label="姓名">{data.legalRepName}</Descriptions.Item>
<Descriptions.Item label="手机号">{data.proposerMobile}</Descriptions.Item> <Descriptions.Item label="手机号">{data.legalRepMobile}</Descriptions.Item>
<Descriptions.Item label="身份证号">{data.proposerIdNumber}</Descriptions.Item> <Descriptions.Item label="身份证号">{data.legalRepIdNo}</Descriptions.Item>
<Descriptions.Item label="验证方式">-</Descriptions.Item> <Descriptions.Item label="验证方式">-</Descriptions.Item>
</Descriptions> </Descriptions>
</div> </div>
......
import React, { useState } from 'react' import React, { useState, useEffect } from 'react'
import { Button, Row, Col, Form, Input, Select } from 'antd' import { Button, Row, Col, Form, Input, Select } from 'antd'
import styles from '../index.less' import styles from '../index.less'
import cx from 'classnames' import cx from 'classnames'
import { QuestionCircleOutlined } from '@ant-design/icons'; import { QuestionCircleOutlined } from '@ant-design/icons';
import { PublicApi } from '@/services/api';
interface queryProps { interface queryProps {
authType: number, authType: number,
authTypeFn: Function, authTypeFn: Function,
checkPayWayFn: Function, checkPayWayFn: Function,
updateData: Function,
data: any data: any
} }
const Corporate: React.FC<queryProps> = (props) => { const Corporate: React.FC<queryProps> = (props) => {
const { Option } = Select; const { Option } = Select;
const { authType, authTypeFn, checkPayWayFn, data } = props; const { authType, authTypeFn, checkPayWayFn, data , updateData} = props;
const [options,setOptions] = useState<any>([])
const [form] = Form.useForm(); const [form] = Form.useForm();
const [payWay, setPayWay] = useState<number>(1); // 1.支付宝, 2.对公, 3.短信 const [payWay, setPayWay] = useState<number>(1); // 1.支付宝, 2.对公, 3.短信
// 手机号码验证
const userPhoneRule = (rule, value) => {
const RegExp = /^1[345678]\d{9}$/gi;
if (!value) {
return Promise.reject(new Error('请输入您的手机号'))
}
if (!RegExp.test(value)) {
return Promise.reject(new Error('手机号码格式不正确'))
}
return Promise.resolve();
}
// 测试表当提交效果 // 测试表当提交效果
const onSubmit = async () => { const onSubmit = async () => {
const value = await form.validateFields(); const value = await form.validateFields();
console.log(value) if (value) {
const query: any = {
signatureAuthLogId: Number(sessionStorage.getItem('signatureAuthLogId')),
authType: authType,
...data
};
delete value.code;
const parmas = Object.assign(query, value);
updateData(parmas)
PublicApi.postOrderSignatureAuthAgentAuth(parmas).then(res => {
if (res.code === 1000) {
authTypeFn(2, 2, 'company')
setPayWay(3)
checkPayWayFn(3)
}
})
}
} }
// 切换支付认证方式 // 切换支付认证方式
const CheckPayWay = (type: number) => { const CheckPayWay = (type: number) => {
...@@ -29,6 +59,13 @@ const Corporate: React.FC<queryProps> = (props) => { ...@@ -29,6 +59,13 @@ const Corporate: React.FC<queryProps> = (props) => {
checkPayWayFn(type) checkPayWayFn(type)
} }
useEffect(() => {
CheckPayWay(1);
PublicApi.getManageGetTelCode().then(res => {
setOptions(res.data)
})
}, [])
return ( return (
<> <>
{/**企业认证方式*/} {/**企业认证方式*/}
...@@ -40,16 +77,16 @@ const Corporate: React.FC<queryProps> = (props) => { ...@@ -40,16 +77,16 @@ const Corporate: React.FC<queryProps> = (props) => {
<div className={styles.item_label}>认证方式 <QuestionCircleOutlined style={{ color: '#C0C4CC' }} /></div> <div className={styles.item_label}>认证方式 <QuestionCircleOutlined style={{ color: '#C0C4CC' }} /></div>
<div className={styles.item_control}> <div className={styles.item_control}>
<Row className={styles.card_checkbox}> <Row className={styles.card_checkbox}>
<Col className={cx(styles.card_checkbox_item, payWay===1&&styles.active)} onClick={()=>CheckPayWay(1)}>支付宝验证</Col> <Col className={cx(styles.card_checkbox_item, payWay === 1 && styles.active)} onClick={() => CheckPayWay(1)}>支付宝验证</Col>
<Col className={cx(styles.card_checkbox_item, payWay===2&&styles.active)} onClick={()=>CheckPayWay(2)}>对公账户验证</Col> <Col className={cx(styles.card_checkbox_item, payWay === 2 && styles.active)} onClick={() => CheckPayWay(2)}>对公账户验证</Col>
</Row> </Row>
</div> </div>
</div> </div>
<div className={styles.item_con}> <div className={styles.item_con}>
<div className={styles.item_label}></div> <div className={styles.item_label}></div>
<div className={styles.item_control}> <div className={styles.item_control}>
<Button type='primary' onClick={()=>authTypeFn('', 2)}>下一步</Button> <Button type='primary' onClick={() => authTypeFn('', 2, 'company')}>下一步</Button>
<Button onClick={()=>authTypeFn('', 0)}>上一步</Button> <Button onClick={() => authTypeFn('', 0, 'stepUp')}>上一步</Button>
</div> </div>
</div> </div>
</div> </div>
...@@ -64,11 +101,11 @@ const Corporate: React.FC<queryProps> = (props) => { ...@@ -64,11 +101,11 @@ const Corporate: React.FC<queryProps> = (props) => {
<div className={styles.info_item_con}> <div className={styles.info_item_con}>
<div className={styles.item_con}> <div className={styles.item_con}>
<div className={styles.item_label}>公司名称:</div> <div className={styles.item_label}>公司名称:</div>
<div className={styles.item_control}>温州市隆昌皮业有限公司</div> <div className={styles.item_control}>{data.orgName}</div>
</div> </div>
<div className={styles.item_con}> <div className={styles.item_con}>
<div className={styles.item_label}>统一社会信用代码:</div> <div className={styles.item_label}>统一社会信用代码:</div>
<div className={styles.item_control}>4324324325425435</div> <div className={styles.item_control}>{data.orgCode}</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -76,10 +113,10 @@ const Corporate: React.FC<queryProps> = (props) => { ...@@ -76,10 +113,10 @@ const Corporate: React.FC<queryProps> = (props) => {
<div className={styles.info_item_title}>经办人信息核验</div> <div className={styles.info_item_title}>经办人信息核验</div>
<div className={styles.info_item_con}> <div className={styles.info_item_con}>
<Form form={form}> <Form form={form}>
<Form.Item label='经办人' name='name' colon={false} rules={[{ required: true, message: '请输入经办人' }]}> <Form.Item label='经办人' name='transactorName' colon={false} rules={[{ required: true, message: '请输入经办人' }]}>
<Input /> <Input />
</Form.Item> </Form.Item>
<Form.Item label='身份证号码' name='num' colon={false} rules={[{ required: true, message: '请输入身份证号码' }]}> <Form.Item label='身份证号码' name='transactorIdNumber' colon={false} rules={[{ required: true, message: '请输入身份证号码' }]}>
<Input /> <Input />
</Form.Item> </Form.Item>
<Form.Item label='手机号码' colon={false} required={true}> <Form.Item label='手机号码' colon={false} required={true}>
...@@ -87,13 +124,14 @@ const Corporate: React.FC<queryProps> = (props) => { ...@@ -87,13 +124,14 @@ const Corporate: React.FC<queryProps> = (props) => {
<Col span={7}> <Col span={7}>
<Form.Item style={{ width: '150px' }} name='code' rules={[{ required: true, message: '请选择区号' }]}> <Form.Item style={{ width: '150px' }} name='code' rules={[{ required: true, message: '请选择区号' }]}>
<Select style={{ width: '100%' }}> <Select style={{ width: '100%' }}>
<Option value="Zhejiang">Zhejiang</Option> {options.map(v => (
<Option value="Jiangsu">Jiangsu</Option> <Option key={v} value={v}>{v}</Option>
))}
</Select> </Select>
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={17}> <Col span={17}>
<Form.Item style={{ width: '398px' }} name='phone' rules={[{ required: true, message: '请输入手机号码' }]}> <Form.Item style={{ width: '398px' }} name='transactorMobile' rules={[{ required: true, validator: userPhoneRule, }]}>
<Input /> <Input />
</Form.Item> </Form.Item>
</Col> </Col>
......
...@@ -32,7 +32,7 @@ const EnterpriseInfoCheck: React.FC<queryProps> = (props) => { ...@@ -32,7 +32,7 @@ const EnterpriseInfoCheck: React.FC<queryProps> = (props) => {
</div> </div>
<div className={styles.item_con}> <div className={styles.item_con}>
<div className={styles.item_label}>统一社会信用代码:</div> <div className={styles.item_label}>统一社会信用代码:</div>
<div className={styles.item_control}>{data.orgIdNumber}</div> <div className={styles.item_control}>{data.orgCode}</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -41,15 +41,15 @@ const EnterpriseInfoCheck: React.FC<queryProps> = (props) => { ...@@ -41,15 +41,15 @@ const EnterpriseInfoCheck: React.FC<queryProps> = (props) => {
<div className={styles.info_item_con}> <div className={styles.info_item_con}>
<div className={styles.item_con}> <div className={styles.item_con}>
<div className={styles.item_label}>法人姓名:</div> <div className={styles.item_label}>法人姓名:</div>
<div className={styles.item_control}>{data.proposerName}</div> <div className={styles.item_control}>{data.legalRepName}</div>
</div> </div>
<div className={styles.item_con}> <div className={styles.item_con}>
<div className={styles.item_label}>法人手机号:</div> <div className={styles.item_label}>法人手机号:</div>
<div className={styles.item_control}>+{data.code} {data.proposerMobile}</div> <div className={styles.item_control}>+{data.code} {data.legalRepMobile}</div>
</div> </div>
<div className={styles.item_con}> <div className={styles.item_con}>
<div className={styles.item_label}>法人身份证号:</div> <div className={styles.item_label}>法人身份证号:</div>
<div className={styles.item_control}>{data.proposerIdNumber}</div> <div className={styles.item_control}>{data.legalRepIdNo}</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -67,7 +67,7 @@ const EnterpriseInfoCheck: React.FC<queryProps> = (props) => { ...@@ -67,7 +67,7 @@ const EnterpriseInfoCheck: React.FC<queryProps> = (props) => {
<div className={styles.item_con}> <div className={styles.item_con}>
<div className={styles.item_label}></div> <div className={styles.item_label}></div>
<div className={styles.item_control}> <div className={styles.item_control}>
<Button type='primary' onClick={()=>authTypeFn(authTypeBtn, 1)}>下一步</Button> <Button type='primary' onClick={()=>authTypeFn(authTypeBtn, 1, 'company')}>下一步</Button>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
justify-content: center; justify-content: center;
border: 1px solid #EBECF0; border: 1px solid #EBECF0;
box-sizing: border-box; box-sizing: border-box;
overflow: hidden;
} }
.alipay_wran { .alipay_wran {
......
...@@ -65,10 +65,10 @@ const Test:React.FC<queryProps> = (props) => { ...@@ -65,10 +65,10 @@ const Test:React.FC<queryProps> = (props) => {
<Form.Item label='公司名称' name='orgName' colon={false} rules={[{ required: true, message: '请输入经办人' }]}> <Form.Item label='公司名称' name='orgName' colon={false} rules={[{ required: true, message: '请输入经办人' }]}>
<Input /> <Input />
</Form.Item> </Form.Item>
<Form.Item label='统一社会信用代码' name='orgIdNumber' colon={false} rules={[{ required: true, message: '统一社会信用代码' }]}> <Form.Item label='统一社会信用代码' name='orgCode' colon={false} rules={[{ required: true, message: '统一社会信用代码' }]}>
<Input /> <Input />
</Form.Item> </Form.Item>
<Form.Item label='法人姓名' name='proposerName' colon={false} rules={[{ required: true, message: '法人姓名' }]}> <Form.Item label='法人姓名' name='legalRepName' colon={false} rules={[{ required: true, message: '法人姓名' }]}>
<Input /> <Input />
</Form.Item> </Form.Item>
<Form.Item label='法人手机号' colon={false} required={true} style={{marginBottom: '0px'}}> <Form.Item label='法人手机号' colon={false} required={true} style={{marginBottom: '0px'}}>
...@@ -83,13 +83,13 @@ const Test:React.FC<queryProps> = (props) => { ...@@ -83,13 +83,13 @@ const Test:React.FC<queryProps> = (props) => {
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={17}> <Col span={17}>
<Form.Item style={{ width: '398px' }} name='proposerMobile' rules={[{ required: true, validator: userPhoneRule, }]}> <Form.Item style={{ width: '398px' }} name='legalRepMobile' rules={[{ required: true, validator: userPhoneRule, }]}>
<Input /> <Input />
</Form.Item> </Form.Item>
</Col> </Col>
</Row> </Row>
</Form.Item> </Form.Item>
<Form.Item label='法人身份证号' name='proposerIdNumber' colon={false} rules={[{ required: true, message: '请输入身份证号码' }]}> <Form.Item label='法人身份证号' name='legalRepIdNo' colon={false} rules={[{ required: true, message: '请输入身份证号码' }]}>
<Input /> <Input />
</Form.Item> </Form.Item>
</Form> </Form>
......
...@@ -17,17 +17,28 @@ const EnterpriseCertified = () => { ...@@ -17,17 +17,28 @@ const EnterpriseCertified = () => {
/**电子签章认证查询 */ /**电子签章认证查询 */
useEffect(() => { useEffect(() => {
// PublicApi.getOrderSignatureAuthGet({}).then((res:any) => {
// setData(res.data)
// })
const formdata = JSON.parse(sessionStorage.getItem('formdata')); const formdata = JSON.parse(sessionStorage.getItem('formdata'));
setData(formdata) setData(formdata)
},[]) },[])
//认证方式切换Fn //认证方式切换Fn
const authTypeFn = (type: number, steps: number) => { const authTypeFn = (type: number, steps: number, name: string) => {
if (type) { setAuthType(type); } if (type) { setAuthType(type); }
setStep(steps) if(name === 'company' && type === 1) {
delete data.code;
const parmas = {
signatureAuthLogId: Number(sessionStorage.getItem('signatureAuthLogId')),
authType,
...data
}
PublicApi.postOrderSignatureAuthLegalRepAuth(parmas).then(res => {
if(res.code === 1000) {
setStep(steps)
}
})
} else if(name === 'stepUp' || (name === 'company' && type === 2) || name === 'company') {
setStep(steps)
}
} }
//切换支付方式 //切换支付方式
...@@ -35,6 +46,11 @@ const EnterpriseCertified = () => { ...@@ -35,6 +46,11 @@ const EnterpriseCertified = () => {
setPayWay(type) setPayWay(type)
} }
/**更新选择法人认证的时候更新data */
const updateData = (parmas: any) => {
setData(parmas)
}
return ( return (
<PageHeaderWrapper <PageHeaderWrapper
onBack={() => history.goBack()} onBack={() => history.goBack()}
...@@ -54,12 +70,15 @@ const EnterpriseCertified = () => { ...@@ -54,12 +70,15 @@ const EnterpriseCertified = () => {
data={data} data={data}
checkPayWayFn={checkPayWayFn} checkPayWayFn={checkPayWayFn}
authTypeFn={authTypeFn} authTypeFn={authTypeFn}
updateData={updateData}
/> />
} }
{step === 2 && {step === 2 &&
<PublicAccount <PublicAccount
authType={authType} authType={authType}
authTypeFn={authTypeFn}
payWay={payWay} payWay={payWay}
data={data}
/>} />}
</PageHeaderWrapper> </PageHeaderWrapper>
) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment