react_hsbc_teller 2.0.54 → 2.0.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +39 -39
- package/README.en.md +36 -36
- package/README.md +323 -323
- package/config/webpack.config.js +119 -119
- package/config/webpack.dev.js +108 -108
- package/config/webpack.prod.js +104 -104
- package/lib/hsbc.js +1 -1
- package/lib/hsbc.js.LICENSE.txt +13 -16
- package/package.json +110 -110
- package/packages/api/api.js +818 -818
- package/packages/api/server.js +50 -50
- package/packages/common/index.esm.js +374 -374
- package/packages/demo/demo.js +306 -306
- package/packages/demo/index.js +3 -3
- package/packages/demo/pdf.js +94 -94
- package/packages/envconfig/envconfig.js +12 -12
- package/packages/index.js +2 -2
- package/packages/pages/components/step/step.jsx +32 -31
- package/packages/pages/foot/foot.jsx +235 -235
- package/packages/pages/foot/foot.less +85 -85
- package/packages/pages/header/header.jsx +15 -15
- package/packages/pages/header/header.less +51 -51
- package/packages/pages/index.jsx +52 -52
- package/packages/pages/multiModule/components/copy/agree.jsx +115 -115
- package/packages/pages/multiModule/components/copy/agree.less +105 -105
- package/packages/pages/multiModule/components/copy/copyTwo.jsx +682 -682
- package/packages/pages/multiModule/components/copy/copyTwo.less +180 -180
- package/packages/pages/multiModule/components/copy/copy_en.jsx +368 -368
- package/packages/pages/multiModule/components/copy/copy_en.less +145 -145
- package/packages/pages/multiModule/components/copy/copylist.jsx +291 -291
- package/packages/pages/multiModule/components/copy/copylist.less +83 -83
- package/packages/pages/multiModule/components/copy/risk.jsx +296 -296
- package/packages/pages/multiModule/components/copy/risk.less +123 -123
- package/packages/pages/multiModule/components/sign/signMy.jsx +308 -308
- package/packages/pages/multiModule/components/sign/signMy.less +127 -127
- package/packages/pages/multiModule/components/subscribe/subscribe.jsx +113 -113
- package/packages/pages/multiModule/components/subscribe/subscribe.less +82 -82
- package/packages/pages/multiModule/multiModule.jsx +26 -26
- package/packages/pages/multiModule/multiModule.less +19 -19
- package/packages/pages/sign/signMy.jsx +223 -223
- package/packages/pages/sign/signMy.less +129 -129
- package/packages/pages/video/video.jsx +7746 -7745
- package/packages/pages/video/video.less +715 -715
- package/packages/style/index.less +1 -1
- package/packages/style/reset.less +345 -345
- package/packages/utils/asrController.js +259 -259
- package/packages/utils/asyncComponent.jsx +26 -26
- package/packages/utils/mixin.js +27 -27
- package/packages/utils/setRem.js +10 -10
- package/packages/utils/utils.js +199 -199
- package/public/index.html +77 -77
- package/src/index.js +11 -11
- package/src/index.less +5 -5
- package/tsconfig.json +11 -11
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import React, { Component } from 'react';
|
|
2
|
-
import './header.less'
|
|
3
|
-
export default class header extends Component {
|
|
4
|
-
goOut=()=>{
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
render(){
|
|
8
|
-
return(
|
|
9
|
-
<div className="Hamburger">
|
|
10
|
-
<div className="left-header">
|
|
11
|
-
<div className="title">汇丰银行{this.props.recordMode==2?'分行':'远程'}会议</div>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
)
|
|
15
|
-
}
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import './header.less'
|
|
3
|
+
export default class header extends Component {
|
|
4
|
+
goOut=()=>{
|
|
5
|
+
|
|
6
|
+
}
|
|
7
|
+
render(){
|
|
8
|
+
return(
|
|
9
|
+
<div className="Hamburger">
|
|
10
|
+
<div className="left-header">
|
|
11
|
+
<div className="title">汇丰银行{this.props.recordMode==2?'分行':'远程'}会议</div>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
)
|
|
15
|
+
}
|
|
16
16
|
}
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
.Hamburger {
|
|
2
|
-
width: 100%;
|
|
3
|
-
height: 32px;
|
|
4
|
-
background: #FFFFFF;
|
|
5
|
-
box-shadow: 0px -1px 4px 0px #E6F0FF;
|
|
6
|
-
border-radius: 0px 0px 4px 4px;
|
|
7
|
-
display: flex;
|
|
8
|
-
justify-content: space-between;
|
|
9
|
-
align-items: center;
|
|
10
|
-
color: #185e75;
|
|
11
|
-
.left-header {
|
|
12
|
-
width: 100%;
|
|
13
|
-
display: inline-flex;
|
|
14
|
-
.title{
|
|
15
|
-
margin-left: 20px;
|
|
16
|
-
font-size: 16px;
|
|
17
|
-
font-family: PingFangSC-Regular, PingFang SC;
|
|
18
|
-
font-weight: 400;
|
|
19
|
-
color: #333333;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
.right-header {
|
|
23
|
-
height: 32px;
|
|
24
|
-
margin-right:3px;
|
|
25
|
-
display: inline-flex;
|
|
26
|
-
text-align: end;
|
|
27
|
-
.one{
|
|
28
|
-
display: flex;
|
|
29
|
-
height: 32px;
|
|
30
|
-
flex-direction: column;
|
|
31
|
-
align-items: center;
|
|
32
|
-
flex-wrap: nowrap;
|
|
33
|
-
-webkit-app-region: no-drag;
|
|
34
|
-
}
|
|
35
|
-
.text{
|
|
36
|
-
margin-top: 2px;
|
|
37
|
-
text-align: center;
|
|
38
|
-
width: 32px;
|
|
39
|
-
height: 11px;
|
|
40
|
-
font-size: 14px;
|
|
41
|
-
font-family: PingFangSC-Regular, PingFang SC;
|
|
42
|
-
font-weight: 400;
|
|
43
|
-
color: #666666;
|
|
44
|
-
line-height: 11px;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
// img {
|
|
49
|
-
// pointer-events: none;
|
|
50
|
-
// width: 17px;
|
|
51
|
-
// margin-top: 2px;
|
|
1
|
+
.Hamburger {
|
|
2
|
+
width: 100%;
|
|
3
|
+
height: 32px;
|
|
4
|
+
background: #FFFFFF;
|
|
5
|
+
box-shadow: 0px -1px 4px 0px #E6F0FF;
|
|
6
|
+
border-radius: 0px 0px 4px 4px;
|
|
7
|
+
display: flex;
|
|
8
|
+
justify-content: space-between;
|
|
9
|
+
align-items: center;
|
|
10
|
+
color: #185e75;
|
|
11
|
+
.left-header {
|
|
12
|
+
width: 100%;
|
|
13
|
+
display: inline-flex;
|
|
14
|
+
.title{
|
|
15
|
+
margin-left: 20px;
|
|
16
|
+
font-size: 16px;
|
|
17
|
+
font-family: PingFangSC-Regular, PingFang SC;
|
|
18
|
+
font-weight: 400;
|
|
19
|
+
color: #333333;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
.right-header {
|
|
23
|
+
height: 32px;
|
|
24
|
+
margin-right:3px;
|
|
25
|
+
display: inline-flex;
|
|
26
|
+
text-align: end;
|
|
27
|
+
.one{
|
|
28
|
+
display: flex;
|
|
29
|
+
height: 32px;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
align-items: center;
|
|
32
|
+
flex-wrap: nowrap;
|
|
33
|
+
-webkit-app-region: no-drag;
|
|
34
|
+
}
|
|
35
|
+
.text{
|
|
36
|
+
margin-top: 2px;
|
|
37
|
+
text-align: center;
|
|
38
|
+
width: 32px;
|
|
39
|
+
height: 11px;
|
|
40
|
+
font-size: 14px;
|
|
41
|
+
font-family: PingFangSC-Regular, PingFang SC;
|
|
42
|
+
font-weight: 400;
|
|
43
|
+
color: #666666;
|
|
44
|
+
line-height: 11px;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// img {
|
|
49
|
+
// pointer-events: none;
|
|
50
|
+
// width: 17px;
|
|
51
|
+
// margin-top: 2px;
|
|
52
52
|
// }
|
package/packages/pages/index.jsx
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import React, { Component } from 'react';
|
|
2
|
-
import API from '@/api/api';
|
|
3
|
-
import Video from "@/pages/video/video";
|
|
4
|
-
import { IntlProvider } from 'react-intl';
|
|
5
|
-
|
|
6
|
-
class Main extends Component {
|
|
7
|
-
state = {
|
|
8
|
-
langPackage: {
|
|
9
|
-
en: {},
|
|
10
|
-
zh: {},
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
// 获取语言包
|
|
15
|
-
updateLanguage = async () => {
|
|
16
|
-
let res = await API.selectLang()
|
|
17
|
-
this.setState({
|
|
18
|
-
langPackage: {
|
|
19
|
-
en: res.en,
|
|
20
|
-
zh: res.cn,
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
// console.log(res)
|
|
24
|
-
window.localStorage.setItem("langData", JSON.stringify(Object.assign(res)));
|
|
25
|
-
}
|
|
26
|
-
componentWillMount() {
|
|
27
|
-
window.sessionStorage.setItem('baseURL',this.props.baseURL)
|
|
28
|
-
localStorage.setItem("a_lang", this.props.lang)
|
|
29
|
-
if (localStorage.getItem("langData")){
|
|
30
|
-
this.setState({langPackage: JSON.parse(localStorage.getItem("langData"))})
|
|
31
|
-
}
|
|
32
|
-
// console.log(JSON.parse(localStorage.getItem("langData")))
|
|
33
|
-
this.updateLanguage()
|
|
34
|
-
}
|
|
35
|
-
render() {
|
|
36
|
-
const lang = this.props.lang
|
|
37
|
-
|
|
38
|
-
// console.log(this.state.langPackage[lang])
|
|
39
|
-
return (
|
|
40
|
-
<IntlProvider locale={lang} messages={this.state.langPackage[lang]}>
|
|
41
|
-
<Video {...this.props}></Video>
|
|
42
|
-
</IntlProvider>
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
Main.defaultProps = {
|
|
47
|
-
lang: 'zh',
|
|
48
|
-
// baseURL: 'https://zuul.uat.dsp.hsbcfts.com.cn/wealth/zuul/api/leimon-counter-api',
|
|
49
|
-
baseURL:'https://counter-web.leimondata.cn:18082/api/leimon-counter-api/',
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
export default Main
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import API from '@/api/api';
|
|
3
|
+
import Video from "@/pages/video/video";
|
|
4
|
+
import { IntlProvider } from 'react-intl';
|
|
5
|
+
|
|
6
|
+
class Main extends Component {
|
|
7
|
+
state = {
|
|
8
|
+
langPackage: {
|
|
9
|
+
en: {},
|
|
10
|
+
zh: {},
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
// 获取语言包
|
|
15
|
+
updateLanguage = async () => {
|
|
16
|
+
let res = await API.selectLang()
|
|
17
|
+
this.setState({
|
|
18
|
+
langPackage: {
|
|
19
|
+
en: res.en,
|
|
20
|
+
zh: res.cn,
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
// console.log(res)
|
|
24
|
+
window.localStorage.setItem("langData", JSON.stringify(Object.assign(res)));
|
|
25
|
+
}
|
|
26
|
+
componentWillMount() {
|
|
27
|
+
window.sessionStorage.setItem('baseURL',this.props.baseURL)
|
|
28
|
+
localStorage.setItem("a_lang", this.props.lang)
|
|
29
|
+
if (localStorage.getItem("langData")){
|
|
30
|
+
this.setState({langPackage: JSON.parse(localStorage.getItem("langData"))})
|
|
31
|
+
}
|
|
32
|
+
// console.log(JSON.parse(localStorage.getItem("langData")))
|
|
33
|
+
this.updateLanguage()
|
|
34
|
+
}
|
|
35
|
+
render() {
|
|
36
|
+
const lang = this.props.lang
|
|
37
|
+
|
|
38
|
+
// console.log(this.state.langPackage[lang])
|
|
39
|
+
return (
|
|
40
|
+
<IntlProvider locale={lang} messages={this.state.langPackage[lang]}>
|
|
41
|
+
<Video {...this.props}></Video>
|
|
42
|
+
</IntlProvider>
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
Main.defaultProps = {
|
|
47
|
+
lang: 'zh',
|
|
48
|
+
// baseURL: 'https://zuul.uat.dsp.hsbcfts.com.cn/wealth/zuul/api/leimon-counter-api',
|
|
49
|
+
baseURL:'https://counter-web.leimondata.cn:18082/api/leimon-counter-api/',
|
|
50
|
+
|
|
51
|
+
}
|
|
52
|
+
export default Main
|
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
import React, { Component } from 'react';
|
|
2
|
-
import { Checkbox, message } from 'antd';
|
|
3
|
-
import { FormattedMessage, injectIntl } from 'react-intl';
|
|
4
|
-
import './agree.less'
|
|
5
|
-
import Modal from "antd/lib/modal";
|
|
6
|
-
import 'antd/lib/modal/style'
|
|
7
|
-
import { Button } from '../../../../../node_modules/antd/lib/index';
|
|
8
|
-
@injectIntl
|
|
9
|
-
class Agree extends Component {
|
|
10
|
-
state = {
|
|
11
|
-
isModalVisibleEnd: false,
|
|
12
|
-
// item: {
|
|
13
|
-
// "type":"1",
|
|
14
|
-
// "sequence":"2",
|
|
15
|
-
// "subContent":[
|
|
16
|
-
// {
|
|
17
|
-
// "desc":"描述1",
|
|
18
|
-
// "option":false
|
|
19
|
-
// },
|
|
20
|
-
// {
|
|
21
|
-
// "desc":"描述2",
|
|
22
|
-
// "option":false
|
|
23
|
-
// }
|
|
24
|
-
// ]
|
|
25
|
-
// },
|
|
26
|
-
list: []
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
componentDidMount() {
|
|
30
|
-
this.setState({
|
|
31
|
-
list: this.props.item.subContent
|
|
32
|
-
})
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
onChange = (e) => {
|
|
36
|
-
this.state.list[e.target.index].option = e.target.checked;
|
|
37
|
-
this.setState({
|
|
38
|
-
list: this.state.list
|
|
39
|
-
})
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
commit = () => {
|
|
43
|
-
if(!this.state.list.every((item)=> item.option)) {
|
|
44
|
-
message.warning(this.props.intl.formatMessage({id: 'plzCheckAgree'})); // 请先勾选同意
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
this.props.next({
|
|
48
|
-
...this.props.item,
|
|
49
|
-
subContent: this.state.list
|
|
50
|
-
})
|
|
51
|
-
}
|
|
52
|
-
exit = () => {
|
|
53
|
-
this.setState({
|
|
54
|
-
isModalVisibleEnd: true
|
|
55
|
-
})
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
handleCancelEnd = () => {
|
|
59
|
-
this.setState({
|
|
60
|
-
isModalVisibleEnd: false
|
|
61
|
-
})
|
|
62
|
-
}
|
|
63
|
-
handleOkEnd = () => {
|
|
64
|
-
this.setState({
|
|
65
|
-
isModalVisibleEnd: false
|
|
66
|
-
})
|
|
67
|
-
this.props.exit()
|
|
68
|
-
}
|
|
69
|
-
render() {
|
|
70
|
-
const { item } = this.props;
|
|
71
|
-
return (
|
|
72
|
-
<div className="agree">
|
|
73
|
-
<div className="thehead">
|
|
74
|
-
<div className="title">
|
|
75
|
-
<div className="title-color"></div>
|
|
76
|
-
<div className="title-text">{this.props.title}</div>
|
|
77
|
-
</div>
|
|
78
|
-
<div className='thehead'>
|
|
79
|
-
<div className="reset" onClick={this.exit}><FormattedMessage id="exit" /></div>
|
|
80
|
-
<div className="qianshu" onClick={this.commit}><FormattedMessage id="commit" /></div>
|
|
81
|
-
</div>
|
|
82
|
-
</div>
|
|
83
|
-
<div className="contents">
|
|
84
|
-
{
|
|
85
|
-
this.state.list.map((obj, index) => {
|
|
86
|
-
return (
|
|
87
|
-
<div key={index} className={`item-panel ${obj.option?'checked':''}`}>
|
|
88
|
-
<div>{obj.desc}</div>
|
|
89
|
-
<div><Checkbox index={index} checked={obj.option} onChange={this.onChange}> <FormattedMessage id="agree" /></Checkbox></div>
|
|
90
|
-
</div>
|
|
91
|
-
)
|
|
92
|
-
})
|
|
93
|
-
}
|
|
94
|
-
</div>
|
|
95
|
-
<Modal transitionName="" maskTransitionName="" getContainer={document.getElementById('multiModule')} destroyOnClose={true} closable={false} centered={true} visible={this.state.isModalVisibleEnd} footer={[<div key='end'>
|
|
96
|
-
<Button className="modelButtonCancel" onClick={this.handleCancelEnd}><FormattedMessage id="cancel" /></Button>
|
|
97
|
-
<Button className="modelButtonOk" type="primary" danger onClick={this.handleOkEnd}><FormattedMessage id="ok" /></Button>
|
|
98
|
-
</div>
|
|
99
|
-
]}>
|
|
100
|
-
<div className='endModal'>
|
|
101
|
-
<div className='modalEndTitle'>
|
|
102
|
-
<FormattedMessage id="whether" />
|
|
103
|
-
</div>
|
|
104
|
-
<div className='modalEnd'>
|
|
105
|
-
<FormattedMessage id="progress" />
|
|
106
|
-
</div>
|
|
107
|
-
</div>
|
|
108
|
-
</Modal>
|
|
109
|
-
</div>
|
|
110
|
-
);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export default Agree;
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import { Checkbox, message } from 'antd';
|
|
3
|
+
import { FormattedMessage, injectIntl } from 'react-intl';
|
|
4
|
+
import './agree.less'
|
|
5
|
+
import Modal from "antd/lib/modal";
|
|
6
|
+
import 'antd/lib/modal/style'
|
|
7
|
+
import { Button } from '../../../../../node_modules/antd/lib/index';
|
|
8
|
+
@injectIntl
|
|
9
|
+
class Agree extends Component {
|
|
10
|
+
state = {
|
|
11
|
+
isModalVisibleEnd: false,
|
|
12
|
+
// item: {
|
|
13
|
+
// "type":"1",
|
|
14
|
+
// "sequence":"2",
|
|
15
|
+
// "subContent":[
|
|
16
|
+
// {
|
|
17
|
+
// "desc":"描述1",
|
|
18
|
+
// "option":false
|
|
19
|
+
// },
|
|
20
|
+
// {
|
|
21
|
+
// "desc":"描述2",
|
|
22
|
+
// "option":false
|
|
23
|
+
// }
|
|
24
|
+
// ]
|
|
25
|
+
// },
|
|
26
|
+
list: []
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
componentDidMount() {
|
|
30
|
+
this.setState({
|
|
31
|
+
list: this.props.item.subContent
|
|
32
|
+
})
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
onChange = (e) => {
|
|
36
|
+
this.state.list[e.target.index].option = e.target.checked;
|
|
37
|
+
this.setState({
|
|
38
|
+
list: this.state.list
|
|
39
|
+
})
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
commit = () => {
|
|
43
|
+
if(!this.state.list.every((item)=> item.option)) {
|
|
44
|
+
message.warning(this.props.intl.formatMessage({id: 'plzCheckAgree'})); // 请先勾选同意
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
this.props.next({
|
|
48
|
+
...this.props.item,
|
|
49
|
+
subContent: this.state.list
|
|
50
|
+
})
|
|
51
|
+
}
|
|
52
|
+
exit = () => {
|
|
53
|
+
this.setState({
|
|
54
|
+
isModalVisibleEnd: true
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
handleCancelEnd = () => {
|
|
59
|
+
this.setState({
|
|
60
|
+
isModalVisibleEnd: false
|
|
61
|
+
})
|
|
62
|
+
}
|
|
63
|
+
handleOkEnd = () => {
|
|
64
|
+
this.setState({
|
|
65
|
+
isModalVisibleEnd: false
|
|
66
|
+
})
|
|
67
|
+
this.props.exit()
|
|
68
|
+
}
|
|
69
|
+
render() {
|
|
70
|
+
const { item } = this.props;
|
|
71
|
+
return (
|
|
72
|
+
<div className="agree">
|
|
73
|
+
<div className="thehead">
|
|
74
|
+
<div className="title">
|
|
75
|
+
<div className="title-color"></div>
|
|
76
|
+
<div className="title-text">{this.props.title}</div>
|
|
77
|
+
</div>
|
|
78
|
+
<div className='thehead'>
|
|
79
|
+
<div className="reset" onClick={this.exit}><FormattedMessage id="exit" /></div>
|
|
80
|
+
<div className="qianshu" onClick={this.commit}><FormattedMessage id="commit" /></div>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
<div className="contents">
|
|
84
|
+
{
|
|
85
|
+
this.state.list.map((obj, index) => {
|
|
86
|
+
return (
|
|
87
|
+
<div key={index} className={`item-panel ${obj.option?'checked':''}`}>
|
|
88
|
+
<div>{obj.desc}</div>
|
|
89
|
+
<div><Checkbox index={index} checked={obj.option} onChange={this.onChange}> <FormattedMessage id="agree" /></Checkbox></div>
|
|
90
|
+
</div>
|
|
91
|
+
)
|
|
92
|
+
})
|
|
93
|
+
}
|
|
94
|
+
</div>
|
|
95
|
+
<Modal transitionName="" maskTransitionName="" getContainer={document.getElementById('multiModule')} destroyOnClose={true} closable={false} centered={true} visible={this.state.isModalVisibleEnd} footer={[<div key='end'>
|
|
96
|
+
<Button className="modelButtonCancel" onClick={this.handleCancelEnd}><FormattedMessage id="cancel" /></Button>
|
|
97
|
+
<Button className="modelButtonOk" type="primary" danger onClick={this.handleOkEnd}><FormattedMessage id="ok" /></Button>
|
|
98
|
+
</div>
|
|
99
|
+
]}>
|
|
100
|
+
<div className='endModal'>
|
|
101
|
+
<div className='modalEndTitle'>
|
|
102
|
+
<FormattedMessage id="whether" />
|
|
103
|
+
</div>
|
|
104
|
+
<div className='modalEnd'>
|
|
105
|
+
<FormattedMessage id="progress" />
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
</Modal>
|
|
109
|
+
</div>
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export default Agree;
|