react_hsbc_teller 1.4.4 → 1.4.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react_hsbc_teller",
3
- "version": "1.4.4",
3
+ "version": "1.4.7",
4
4
  "description": "React",
5
5
  "private": false,
6
6
  "main": "lib/hsbc.js",
@@ -1,6 +1,26 @@
1
1
  import Server from './server';
2
2
 
3
3
  class API extends Server{
4
+
5
+ async rateAll(params = {}){
6
+ // return this.axios('get', '/lang/select/2', params);
7
+ try{
8
+ let result = await this.axios('get', '/hsbc/rate/all', params);
9
+ if(result && (result.data instanceof Object) && result.code === 200){
10
+ return result||[];
11
+ }else{
12
+ let err = {
13
+ tip: '服务异常',
14
+ response: result,
15
+ data: params,
16
+ // url: 'https://api.cangdu.org/shopro/data/products',
17
+ }
18
+ throw err;
19
+ }
20
+ }catch(err){
21
+ throw err;
22
+ }
23
+ }
4
24
  async getBase64Image(params = {}){
5
25
  // return this.axios('get', '/lang/select/2', params);
6
26
  try{
@@ -4,17 +4,22 @@ import Pdf from './pdf.js'
4
4
 
5
5
  class Demo extends Component {
6
6
  state = {
7
- // imRoomId: "9K9ea1vOM@conference.ls-im-xmpp.chinawp.dev.ali.cloud.cn.hsbc",
8
- // sessionId: "9K9ea1vOM",
9
- // mtoken: "d4e648858b03",
10
- // roomId: "645110140224386",
11
- roomId: '',
12
- mtoken: '',
13
- imRoomId: '',
14
- sessionId: '',
7
+ shareMask: false,
8
+ mtoken: "84d0410ab406",
9
+
10
+ roomId: "651114052525526",
11
+
12
+ imRoomId: "VPP0Ejwae@conference.openfire2.leimondata.cn",
13
+
14
+ sessionId: "VPP0Ejwae",
15
+ // roomId: '',
16
+ // mtoken: '',
17
+ // imRoomId: '',
18
+ // sessionId: '',
15
19
  isVideo: false,
16
20
  tellerAccount: '00000000',
17
21
  callbackUrl: 'http://182.92.184.31:8720/hsbc/callback',
22
+ // callbackUrl: 'https://aag.wealth-platform.uat.ali.cloud.cn.hsbc/nosaml/api/appointment/wealth/api/v1/appointment/ali/createMeetingRoom',
18
23
  businessNumber: '',
19
24
  lang: 'zh',
20
25
  roomServerUrl: 'wss://mrtc.mpaas.cn-hangzhou.aliyuncs.com/ws',
@@ -29,7 +34,7 @@ class Demo extends Component {
29
34
  microphoneSize: 50,
30
35
  fontSize: 14,
31
36
  fontFamily: 'auto',
32
- isTranscribing: false
37
+ isTranscribing: true
33
38
  }
34
39
  componentWillMount() {
35
40
  // if(window.localStorage.getItem('roomId')) {
@@ -111,7 +116,25 @@ handleResourcePath = (event) => {
111
116
  })
112
117
  }
113
118
  imgCallback=(file)=>{
114
- console.log(file)
119
+ console.log('errorType',file)
120
+ }
121
+ shareMaskClick=()=>{
122
+ console.log(this.state.shareMask)
123
+
124
+ if(this.state.shareMask) {
125
+ this.setState({
126
+ shareMask: false
127
+ }, ()=>{
128
+ console.log(this.state.shareMask)
129
+ })
130
+ } else {
131
+ this.setState({
132
+ shareMask: true
133
+ }, ()=>{
134
+ console.log(this.state.shareMask)
135
+ })
136
+ }
137
+
115
138
  }
116
139
  createRoomCallback=(data)=>{
117
140
  console.log('createRoomCallback', data)
@@ -143,7 +166,9 @@ joinRoomCallback=(data)=>{
143
166
  <div className="test">
144
167
  {
145
168
  this.state.isVideo ?
169
+ <div>
146
170
  <HSBC
171
+ shareMask={this.state.shareMask}
147
172
  roomId={this.state.roomId}
148
173
  mtoken={this.state.mtoken}
149
174
  sessionId={this.state.sessionId}
@@ -171,6 +196,8 @@ joinRoomCallback=(data)=>{
171
196
 
172
197
  <Pdf></Pdf>
173
198
  </HSBC>
199
+ <button onClick={this.shareMaskClick.bind(this)}>遮罩层</button>
200
+ </div>
174
201
  :
175
202
  <div>
176
203
  坐席账号:<input placeholder="请输入坐席账号" value={this.state.tellerAccount} onChange={e => this.handleChangeTeller(e)}></input>
@@ -38,6 +38,7 @@ let streamShare
38
38
  let muteJson = new Map()
39
39
  let dateTime = 0
40
40
  let messageValue = ''
41
+ let rateList = []
41
42
  var os = function() {
42
43
  var ua = navigator.userAgent,
43
44
  isWindowsPhone = /(?:Windows Phone)/.test(ua),
@@ -68,6 +69,7 @@ class Video extends Component {
68
69
  cancel = axios.CancelToken.source()
69
70
  signCanvas = React.createRef();
70
71
  state = {
72
+ signNoClick: false,
71
73
  listVideoPicture: [],
72
74
  isScreenSwitching: false,
73
75
  whiteboardWidth: '',
@@ -204,11 +206,11 @@ class Video extends Component {
204
206
  {
205
207
  type: false
206
208
  }
207
- ]
209
+ ],
210
+ shareMaskState: false,
208
211
  };
209
212
  // eslint-disable-next-line no-undef
210
213
  test_controller = '';
211
-
212
214
  /**
213
215
  * 创建房间成功后回调后台
214
216
  * @param {JSON} data 数据类型
@@ -278,9 +280,11 @@ class Video extends Component {
278
280
  try {
279
281
  let result = await API.getBase64Image({ fileName: data});
280
282
  console.log('getBase64Image',result)
283
+ this.tabTitlesClick('customerScreen', 'delect')
281
284
  this.props.imgCallback({
282
285
  type: result.data.type + '',
283
- file: result.data.base64Image}
286
+ file: result.data.base64Image,
287
+ errorType: 0}
284
288
  )
285
289
  } catch (err) {
286
290
  console.error(err);
@@ -397,132 +401,168 @@ class Video extends Component {
397
401
  ];
398
402
  this.test_controller.InitRoomConfig(config_param)
399
403
  };
404
+ rateAll = async() =>{
405
+ let data = ''
406
+ try {
407
+ let result = await API.rateAll();
408
+ console.log(result)
409
+
410
+ if (result.code == 200) {
411
+ data = result.data ? result.data : ''
412
+ }
413
+ return data
414
+ }catch (err) {
415
+ return data
416
+ }
417
+ }
400
418
  // 开启录制
401
419
  enableServerRecording = () => {
402
- const filePath = 'recordId_' + new Date().valueOf();
403
- const recordParam = {};
404
- recordParam.width = 1920;
405
- recordParam.height = 1080;
406
- recordParam.recordTotalStream = 0;
407
- recordParam.startTimeout = 10;
408
- recordParam.splitType = 0;
409
- recordParam.endType = 1;
410
- recordParam.crf = 26
411
- recordParam.overlaps = [
412
- {
413
- tag: '', // 流 tag,如果不设置或为空,则为全局⽔印
414
- type: 1, // 1 为时间戳⽔印;2 为⽂字⽔印;3 为图⽚⽔印
415
- id: 1, // ⽔印 ID
416
- enable: true,
417
- xPosition: 10, // x 轴位置
418
- yPosition: 10, // y 轴位置
419
- text: '', // ⽔印⽂字
420
- fontSize: 16, // 字体⼤⼩
421
- url: '' // ⽔印图⽚ HTTP 地址
422
- },
423
- ];
424
- recordParam.tagPositions = [
425
- {
426
- tag: 'projectionWhiteboard',
427
- xPosition: 0,
428
- yPosition: 270,
429
- width: 1280,
430
- height: 720
431
- },
432
- {
433
- tag: 'VIDEO_SOURCE_SCREEN',
434
- xPosition: 1290,
435
- yPosition: 640,
436
- width: 630,
437
- height: 350
438
- },
439
- {
440
- tag: 'tag1',
441
- xPosition: 0,
442
- yPosition: 0,
443
- width: 310,
444
- height: 180
445
- },
446
- {
447
- tag: 'customer1',
448
- xPosition: 320,
449
- yPosition: 0,
450
- width: 310,
451
- height: 180
452
- },
453
- {
454
- tag: 'customer2',
455
- xPosition: 640,
456
- yPosition: 0,
457
- width: 310,
458
- height: 180
459
- },
460
- {
461
- tag: 'customer3',
462
- xPosition: 960,
463
- yPosition: 0,
464
- width: 310,
465
- height: 180
466
- },
467
- {
468
- tag: 'customer4',
469
- xPosition: 1280,
470
- yPosition: 0,
471
- width: 310,
472
- height: 180
473
- },
474
- {
475
- tag: 'customer5',
476
- xPosition: 1600,
477
- yPosition: 0,
478
- width: 310,
479
- height: 180
480
- },
481
- // {
482
- // tag: 'customer6',
483
- // xPosition: 1440,
484
- // yPosition: 0,
485
- // width: 240,
486
- // height: 180
487
- // },
488
- // {
489
- // tag: 'customer7',
490
- // xPosition: 1680,
491
- // yPosition: 0,
492
- // width: 240,
493
- // height: 180
494
- // },
495
- // {
496
- // tag: 'customer8',
497
- // xPosition: 1680,
498
- // yPosition: 180,
499
- // width: 240,
500
- // height: 180
501
- // },
502
- // {
503
- // tag: 'customer9',
504
- // xPosition: 1680,
505
- // yPosition: 360,
506
- // width: 240,
507
- // height: 180
508
- // },
509
- // {
510
- // tag: 'customer10',
511
- // xPosition: 1680,
512
- // yPosition: 540,
513
- // width: 240,
514
- // height: 180
515
- // },
516
- // {
517
- // tag: 'customer11',
518
- // xPosition: 1680,
519
- // yPosition: 720,
520
- // width: 240,
521
- // height: 180
522
- // }
523
- ]
524
- console.log('recordParam', recordParam);
525
- this.test_controller.StartRemoteRecord(filePath, recordParam, '')
420
+ const that = this
421
+ this.rateAll().then((res)=>{
422
+ console.log('退出房间者',res)
423
+ let list = [
424
+ {
425
+ tag: 'projectionWhiteboard',
426
+ xPosition: 0,
427
+ yPosition: 270,
428
+ width: 1280,
429
+ height: 720
430
+ },
431
+ // {
432
+ // tag: 'VIDEO_SOURCE_SCREEN_ONE',
433
+ // xPosition: 1290,
434
+ // yPosition: 724,
435
+ // width: 570,
436
+ // height: 270
437
+ // },
438
+ // {
439
+ // tag: 'VIDEO_SOURCE_SCREEN',
440
+ // xPosition: 1290,
441
+ // yPosition: 640,
442
+ // width: 630,
443
+ // height: 350
444
+ // },
445
+ {
446
+ tag: 'tag1',
447
+ xPosition: 0,
448
+ yPosition: 0,
449
+ width: 310,
450
+ height: 180
451
+ },
452
+ {
453
+ tag: 'customer1',
454
+ xPosition: 320,
455
+ yPosition: 0,
456
+ width: 310,
457
+ height: 180
458
+ },
459
+ {
460
+ tag: 'customer2',
461
+ xPosition: 640,
462
+ yPosition: 0,
463
+ width: 310,
464
+ height: 180
465
+ },
466
+ {
467
+ tag: 'customer3',
468
+ xPosition: 960,
469
+ yPosition: 0,
470
+ width: 310,
471
+ height: 180
472
+ },
473
+ {
474
+ tag: 'customer4',
475
+ xPosition: 1280,
476
+ yPosition: 0,
477
+ width: 310,
478
+ height: 180
479
+ },
480
+ {
481
+ tag: 'customer5',
482
+ xPosition: 1600,
483
+ yPosition: 0,
484
+ width: 310,
485
+ height: 180
486
+ },
487
+ // {
488
+ // tag: 'customer6',
489
+ // xPosition: 1440,
490
+ // yPosition: 0,
491
+ // width: 240,
492
+ // height: 180
493
+ // },
494
+ // {
495
+ // tag: 'customer7',
496
+ // xPosition: 1680,
497
+ // yPosition: 0,
498
+ // width: 240,
499
+ // height: 180
500
+ // },
501
+ // {
502
+ // tag: 'customer8',
503
+ // xPosition: 1680,
504
+ // yPosition: 180,
505
+ // width: 240,
506
+ // height: 180
507
+ // },
508
+ // {
509
+ // tag: 'customer9',
510
+ // xPosition: 1680,
511
+ // yPosition: 360,
512
+ // width: 240,
513
+ // height: 180
514
+ // },
515
+ // {
516
+ // tag: 'customer10',
517
+ // xPosition: 1680,
518
+ // yPosition: 540,
519
+ // width: 240,
520
+ // height: 180
521
+ // },
522
+ // {
523
+ // tag: 'customer11',
524
+ // xPosition: 1680,
525
+ // yPosition: 720,
526
+ // width: 240,
527
+ // height: 180
528
+ // }
529
+ ]
530
+ res.map((item)=>{
531
+ list.push({
532
+ tag: item.tag,
533
+ xPosition: item.xaxis,
534
+ yPosition: item.yaxis,
535
+ width: item.width,
536
+ height: item.height
537
+ })
538
+ })
539
+ const filePath = 'recordId_' + new Date().valueOf();
540
+ const recordParam = {};
541
+ recordParam.width = 1920;
542
+ recordParam.height = 1080;
543
+ recordParam.recordTotalStream = 0;
544
+ recordParam.startTimeout = 10;
545
+ recordParam.splitType = 0;
546
+ recordParam.endType = 1;
547
+ recordParam.crf = 26
548
+ recordParam.overlaps = [
549
+ {
550
+ tag: '', // 流 tag,如果不设置或为空,则为全局⽔印
551
+ type: 1, // 1 为时间戳⽔印;2 为⽂字⽔印;3 为图⽚⽔印
552
+ id: 1, // ⽔印 ID
553
+ enable: true,
554
+ xPosition: 10, // x 轴位置
555
+ yPosition: 10, // y 轴位置
556
+ text: '', // ⽔印⽂字
557
+ fontSize: 16, // 字体⼤⼩
558
+ url: '' // ⽔印图⽚ HTTP 地址
559
+ },
560
+ ];
561
+ recordParam.tagPositions = list
562
+ console.log('recordParam', recordParam);
563
+ that.test_controller.StartRemoteRecord(filePath, recordParam, '')
564
+
565
+ })
526
566
 
527
567
  };
528
568
  // 结束会话
@@ -1451,19 +1491,24 @@ class Video extends Component {
1451
1491
  }
1452
1492
  }
1453
1493
  else if (Mival.typeId == 1220) {
1454
- // 一炒多的图片
1494
+ // 一炒多的图片 1214
1455
1495
  if (Mival.sessionId == this.state.sessionId) {
1496
+ this.tabTitlesClick('customerScreen', 'delect')
1456
1497
  this.props.imgCallback({
1457
1498
  type: Mival.data.type + '',
1458
- file: Mival.data.file}
1499
+ file: Mival.data.file,
1500
+ errerrorTypeorType: 0}
1459
1501
  ) // 文字抄录和风险抄录,3--风险,,2--文字
1460
1502
  }
1461
1503
  } else if (Mival.typeId == 1321) {
1462
1504
  this.getBase64Image(Mival.fileName)
1463
1505
  } else if (Mival.typeId == 1216) {
1464
- // 签字回调
1506
+ // 签字回调 1213
1465
1507
  if (Mival.sessionId == this.state.sessionId) {
1466
- this.props.signatureCallback()
1508
+ this.tabTitlesClick('customerScreen', 'delect')
1509
+ this.props.signatureCallback({
1510
+ errorType: 0
1511
+ })
1467
1512
  }
1468
1513
  } else if (Mival.typeId == 1218) {
1469
1514
  if (Mival.sessionId == this.state.sessionId) {
@@ -1653,6 +1698,21 @@ class Video extends Component {
1653
1698
 
1654
1699
  }
1655
1700
  }
1701
+ } else if (Mival.typeId == 121305) {
1702
+ if (Mival.sessionId == this.state.sessionId) {
1703
+ this.props.signatureCallback({
1704
+ errorType: -1
1705
+ })
1706
+ }
1707
+ } else if (Mival.typeId == 121405) {
1708
+ if (Mival.sessionId == this.state.sessionId) {
1709
+ console.log('imgCallback')
1710
+ this.props.imgCallback({
1711
+ type: '',
1712
+ file: '',
1713
+ errorType: -1
1714
+ })
1715
+ }
1656
1716
  }
1657
1717
  };
1658
1718
  window.IMOpenfire = msg =>{
@@ -1687,6 +1747,13 @@ class Video extends Component {
1687
1747
  sigType: 1
1688
1748
  };
1689
1749
  this.workerClick()
1750
+ rateList = []
1751
+ this.rateAll().then((res)=>{
1752
+ res.map((item)=>{
1753
+ rateList.push(item.tag)
1754
+ })
1755
+ console.log('rateList',rateList)
1756
+ })
1690
1757
  this.test_controller.GetDevices();
1691
1758
  // 获取设备成功
1692
1759
  this.test_controller.OnGetDevicesSuccess = (devicesInfo) => {
@@ -2382,6 +2449,7 @@ class Video extends Component {
2382
2449
  }, function (code, message, data) {
2383
2450
  console.log(data)
2384
2451
  })
2452
+ this.sendNotification()
2385
2453
  let array = this.state.roomCustomerList;
2386
2454
  let newArray = [...array];
2387
2455
  newArray.push({
@@ -2393,7 +2461,8 @@ class Video extends Component {
2393
2461
  this.state.roomCustomerList = newArray
2394
2462
  let config_param
2395
2463
  if (feed.uid != this.state.tellerAccount) {
2396
- if (feed.tag == 'VIDEO_SOURCE_SCREEN') {
2464
+ if (rateList.indexOf(feed.tag) > -1) {
2465
+ // if (feed.tag == 'VIDEO_SOURCE_SCREEN') {
2397
2466
  config_param = {
2398
2467
  subscribe_video_id: 'video21',
2399
2468
  subscribe_audio_id: 'audio21',
@@ -4017,11 +4086,30 @@ class Video extends Component {
4017
4086
  }
4018
4087
  }
4019
4088
  handleOkSign = () => {
4089
+ console.log(this.signCanvas.current.canvas.drawing.toDataURL('image/png'))
4020
4090
  this.props.imgRMCallback(
4021
4091
  this.signCanvas.current.canvas.drawing.toDataURL('image/png').replace(/data.+?;base64,/, "")
4022
4092
  )
4023
4093
  }
4094
+ onCancelSign=()=>{
4095
+ this.setState({
4096
+ signNoClick: false
4097
+ })
4098
+ this.props.onCancelSign()
4099
+ }
4100
+ signImage=()=>{
4101
+ if(!this.state.signNoClick) {
4102
+ this.setState({
4103
+ signNoClick: true
4104
+ })
4105
+ }
4106
+ }
4024
4107
  handleCancelSign=()=>{
4108
+ if(this.state.signNoClick) {
4109
+ this.setState({
4110
+ signNoClick: false
4111
+ })
4112
+ }
4025
4113
  this.signCanvas.current.clear()
4026
4114
  }
4027
4115
 
@@ -4343,6 +4431,43 @@ class Video extends Component {
4343
4431
  }
4344
4432
 
4345
4433
  }
4434
+ sendNotification = () =>{
4435
+ console.log(this.props.shareMask,this.state.shareMaskState)
4436
+ this.state.shareMaskState = this.props.shareMask
4437
+ callNimIM('sendCustomCmdMsg', {
4438
+ customId: this.state.imRoomId,
4439
+ content: JSON.stringify({
4440
+ 'typeId': 1230,
4441
+ 'sessionId': this.state.sessionId,
4442
+ 'type': this.state.shareMaskState ? 1 : 2
4443
+ })
4444
+ });
4445
+ }
4446
+ componentDidUpdate(prevProps){
4447
+ console.log('componentDidUpdate',prevProps,prevProps.shareMask,this.props.shareMask)
4448
+ if(this.props.shareMask != prevProps.shareMask) {
4449
+ this.sendNotification()
4450
+ }
4451
+ }
4452
+ // shouldComponentUpdate(nextProps,nextState){
4453
+ // console.log('componentDidUpdate',nextProps,nextState)
4454
+ // if(nextProps.shareMask != nextState.shareMaskState){
4455
+ // this.state.shareMaskState = nextProps.shareMask
4456
+ // this.sendNotification()
4457
+ // }
4458
+ // }
4459
+ // static getDerivedStateFromProps(props, state) {
4460
+ // console.log('getDerivedStateFromProps',props,state,props.shareMask)
4461
+ // if(props.shareMask!==state.shareMaskState){
4462
+ // // this.sendNotification()
4463
+ // return {
4464
+
4465
+ // shareMaskState:shareMask,
4466
+
4467
+ // }
4468
+ // }
4469
+ // return null
4470
+ // }
4346
4471
  render() {
4347
4472
  const { meetingInfo,isTranscribing } = this.props
4348
4473
  var pdfChildren
@@ -5034,15 +5159,25 @@ class Video extends Component {
5034
5159
 
5035
5160
 
5036
5161
  </Modal>
5037
- <Modal title="签字白板" width={600} destroyOnClose={true} closable={false} centered={true} visible={isTranscribing} footer={
5162
+ <Modal title="签字白板" width={600} destroyOnClose={true} centered={true} visible={isTranscribing} onCancel={this.onCancelSign} footer={
5038
5163
  [
5039
5164
  <div key='okSign'>
5040
- <Button className="modelButtonCancel" onClick={this.handleCancelSign}>清除</Button>
5041
- <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkSign}>确定</Button>
5165
+ {
5166
+ !this.state.signNoClick && <Button className="modelButtonCancelNo">清除</Button>
5167
+ }
5168
+ {
5169
+ this.state.signNoClick && <Button className="modelButtonCancel" onClick={this.handleCancelSign}>清除</Button>
5170
+ }
5171
+ {
5172
+ this.state.signNoClick && <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkSign}>确定</Button>
5173
+ }
5174
+ {
5175
+ !this.state.signNoClick && <Button className="modelButtonCancelNo" type="primary" danger >确定</Button>
5176
+ }
5042
5177
  </div>
5043
5178
  ]
5044
5179
  }>
5045
- <div className="content">
5180
+ <div className="content" onClick={this.signImage}>
5046
5181
  <CanvasDraw
5047
5182
  ref={this.signCanvas}
5048
5183
  brushColor="#000"
@@ -5051,6 +5186,7 @@ class Video extends Component {
5051
5186
  canvasWidth="100%"
5052
5187
  canvasHeight="100%"
5053
5188
  hideGrid={true}
5189
+
5054
5190
  ></CanvasDraw>
5055
5191
  </div>
5056
5192
  </Modal>
@@ -5113,6 +5249,7 @@ sessionId: "",
5113
5249
  otherAttendees: undefined
5114
5250
  },
5115
5251
  isTranscribing: false,
5252
+ shareMask: false,
5116
5253
  internalUrl: 'https://wp-staff-gateway.wealth-platform.uat.ali.cloud.cn.hsbc/meeting-ui/OHB/CN/HSBC?chnlID=OHB&locale=zh_CN&chnlCC=CN&chnlGMC=HSBC&targetFunc=supervisorMeeting&sourceFunc=rmMeeting'
5117
5254
  }
5118
5255
  export default Video
@@ -320,12 +320,22 @@
320
320
  margin-top: 50px!important;
321
321
  padding: 20px 30px 30px!important;
322
322
  }
323
- .modelButtonCancel{
323
+ .modelButtonCancelNo{
324
324
  width: 100px!important;
325
325
  height: 40px!important;
326
326
  font-size: 16px!important;
327
327
  color: #5C5C5C!important;
328
328
  border: 1px #5C5C5C solid!important;
329
+ background: #d9d9d9!important;
330
+ border-spacing: 20px!important;
331
+ }
332
+ .modelButtonCancel{
333
+ width: 100px!important;
334
+ height: 40px!important;
335
+ font-size: 16px!important;
336
+ color: #333!important;
337
+ border: 1px #333 solid!important;
338
+ background: #fff!important;
329
339
  border-spacing: 20px!important;
330
340
  }
331
341
  .modelButtonCancelOne{