react_hsbc_teller 0.3.0 → 0.3.4

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": "0.3.0",
3
+ "version": "0.3.4",
4
4
  "description": "React",
5
5
  "private": false,
6
6
  "main": "lib/hsbc.js",
@@ -105,12 +105,12 @@ export default class foot extends Component {
105
105
  {screenName}
106
106
  </div>
107
107
  </div>
108
- <div className="one" onClick={this.suspend.bind(this)}>
108
+ {/* <div className="one" onClick={this.suspend.bind(this)}>
109
109
  <img className="imgClass" src={require("../../assets/img/icon_suspend.png").default} alt="" />
110
110
  <div className="text">
111
111
  {suspendName}
112
112
  </div>
113
- </div>
113
+ </div> */}
114
114
  <Popover content={content} trigger="click" visible={this.state.clicked}>
115
115
  <div className="one" onClick={this.facialRecognition.bind(this)}>
116
116
  <img className="imgClass" src={require("../../assets/img/Face_recognition.png").default} alt="" />
@@ -1,11 +1,11 @@
1
1
  .foot{
2
2
  background: #fff;
3
- height: 80px;
3
+ height: 78px;
4
4
  display: inline-flex;
5
5
  width: 100%;
6
- position: absolute;
7
- bottom: 0;
8
- left: 0;
6
+ // position: absolute;
7
+ // bottom: 0;
8
+ // left: 0;
9
9
  }
10
10
  .total{
11
11
  display: inline-flex;
@@ -25,6 +25,7 @@ const LEAVE_TYPE = {
25
25
  TELLER_EXIT: '1', // 坐席退出
26
26
  ROOM_DESTROYED: '-1', // 房间异常
27
27
  }
28
+ let pictureInPictureVideo = ''
28
29
  @injectIntl
29
30
  class Video extends Component {
30
31
  signCanvas = React.createRef();
@@ -67,6 +68,7 @@ class Video extends Component {
67
68
  rtoken: this.props.mtoken,
68
69
  sessionId: this.props.sessionId,
69
70
  imRoomId: this.props.imRoomId,
71
+ isPictureInPicture: false,
70
72
  };
71
73
  // eslint-disable-next-line no-undef
72
74
  test_controller = '';
@@ -434,27 +436,12 @@ class Video extends Component {
434
436
  };
435
437
  // 画中画
436
438
  pictureInPicture = () => {
437
- // const publish_config = {};
438
- // publish_config.media_type = 1;
439
- // publish_config.publish_device = 4;
440
- // publish_config.need_volume_analyser = true;
441
- // publish_config.video_profile_type = 3;
442
- // publish_config.part_of_screen_id = 'touBoxItem';
443
- // publish_config.publish_video_id = 'video3';
444
- // publish_config.publish_streamId_id = 'subscribe_streamId3';
445
- // // publish_config.publish_tag = 'sharedScreen'
446
- // this.test_controller.Publish(publish_config);
447
- // callNimIM('sendCustomCmdMsg', {
448
- // customId: this.state.imRoomId,
449
- // content: JSON.stringify({
450
- // 'typeId': 2030,
451
- // 'sessionId': this.state.sessionId,
452
- // 'sharedScreen': 1,
453
- // 'tellerId': this.props.tellerAccount
454
- // })
455
- // });
439
+ let interval
456
440
  if (this.isFileSuccuse()) {
457
- const list = []
441
+ if(this.state.isPictureInPicture){
442
+ document.exitPictureInPicture()
443
+ } else {
444
+ const list = []
458
445
  if(document.getElementById('video1').name) {
459
446
  list.push('video1')
460
447
  }
@@ -486,7 +473,7 @@ class Video extends Component {
486
473
  const cobj = canvas.getContext('2d'); // 获取绘图环境
487
474
  canvas.width = width;
488
475
  canvas.height = height;
489
- let interval = setInterval(() => {
476
+ interval = setInterval(() => {
490
477
  cobj.clearRect(0, 0, width, height);
491
478
  for(let i=0;i<list.length;i++){
492
479
 
@@ -501,54 +488,35 @@ class Video extends Component {
501
488
  } else {
502
489
  newVideoHeight = videoHeight * 320 / videoWidth;
503
490
  }
504
- cobj.drawImage(videoDiv, 320 * i, 480 - newVideoHeight, 320, newVideoHeight);
491
+ cobj.drawImage(videoDiv, 320 * i, (480 - newVideoHeight)/2, 320, newVideoHeight);
505
492
  }
506
- // cobj.clearRect(0, 0, width, height);
507
- // let videoId = 'publish_video1';
508
- // let videoDiv = document.getElementById(videoId);
509
- // let videoWidth = videoDiv.videoWidth;
510
- // let videoHeight = videoDiv.videoHeight;
511
- // let newVideoWidth = 320;
512
- // let newVideoHeight = 480;
513
- // if (videoHeight * 320 / videoWidth > 480) {
514
- // newVideoWidth = videoWidth * 480 / videoHeight;
515
- // } else {
516
- // newVideoHeight = videoHeight * 320 / videoWidth;
517
- // }
518
- // cobj.drawImage(videoDiv, 0, 480 - newVideoHeight, newVideoWidth, newVideoHeight);
519
-
520
- // let subscribeVideo = 'video1';
521
- // let subscribeVideoDiv = document.getElementById(subscribeVideo);
522
- // let subscribeVideoDivWidth = subscribeVideoDiv.videoWidth;
523
- // let subscribeVideoDivHeight = subscribeVideoDiv.videoHeight;
524
- // let newVideoWidth1 = 320;
525
- // let newVideoHeight1 = 480;
526
- // if (subscribeVideoDivHeight * 320 / subscribeVideoDivWidth > 480) {
527
- // newVideoWidth1 = subscribeVideoDivWidth * 480 / subscribeVideoDivHeight;
528
- // } else {
529
- // newVideoHeight1 = subscribeVideoDivHeight * 320 / subscribeVideoDivWidth;
530
- // }
531
- // cobj.drawImage(subscribeVideoDiv, 320, 480 - newVideoHeight1, newVideoWidth1, newVideoHeight1);
532
-
533
493
  }, 100);
534
494
  const captureStream = canvas.captureStream();
535
495
  const mix_stream = new MediaStream(captureStream);
536
- let video = document.getElementById('mixedvideo');
537
- video.srcObject = mix_stream;
538
- video.onloadedmetadata = () => {
539
- video.requestPictureInPicture();
496
+ pictureInPictureVideo = document.getElementById('mixedvideo');
497
+ pictureInPictureVideo.srcObject = mix_stream;
498
+ pictureInPictureVideo.onloadedmetadata = () => {
499
+ pictureInPictureVideo.requestPictureInPicture();
540
500
  };
501
+ }
502
+
541
503
 
542
- video.addEventListener('enterpictureinpicture', (event) => {
504
+ pictureInPictureVideo.addEventListener('enterpictureinpicture', (event) => {
543
505
  //可获取画中画窗口的一些数据,如宽高等
544
- video.style.display = 'block';
545
- video.play();
506
+ pictureInPictureVideo.style.display = 'block';
507
+ pictureInPictureVideo.play();
508
+ this.setState({
509
+ isPictureInPicture: true
510
+ })
546
511
  });
547
512
 
548
- video.addEventListener('leavepictureinpicture', (event) => {
549
- video.srcObject = null;
550
- video.style.display = "none";
513
+ pictureInPictureVideo.addEventListener('leavepictureinpicture', (event) => {
514
+ pictureInPictureVideo.srcObject = null;
515
+ pictureInPictureVideo.style.display = "none";
551
516
  clearInterval(interval);
517
+ this.setState({
518
+ isPictureInPicture: false
519
+ })
552
520
  });
553
521
  }
554
522
  };
@@ -759,6 +727,17 @@ class Video extends Component {
759
727
  // 发布媒体流成功
760
728
  this.test_controller.OnPublishSucc = (sid) => {
761
729
  console.log('发布媒体流成功', sid)
730
+ if(sid == document.getElementById('video10').name) {
731
+ callNimIM('sendCustomCmdMsg', {
732
+ customId: this.state.imRoomId,
733
+ content: JSON.stringify({
734
+ 'typeId': 2030,
735
+ 'sessionId': this.state.sessionId,
736
+ 'sharedScreen': 1,
737
+ 'tellerId': this.props.tellerAccount
738
+ })
739
+ });
740
+ }
762
741
  };
763
742
  // 发布媒体流失败
764
743
  this.test_controller.OnPublishFailed = (sid, err_code, err_msg) => {
@@ -810,7 +789,18 @@ class Video extends Component {
810
789
  };
811
790
  // 取消发布成功
812
791
  this.test_controller.OnUnPublishSucc = (sid) => {
813
- console.log('取消发布成功', sid)
792
+ console.log('取消发布成功', sid,document.getElementById('publish_video1').name)
793
+ if(sid != document.getElementById('publish_video1').name) {
794
+ callNimIM('sendCustomCmdMsg', {
795
+ customId: this.state.imRoomId,
796
+ content: JSON.stringify({
797
+ 'typeId': 2030,
798
+ 'sessionId': this.state.sessionId,
799
+ 'sharedScreen': 0,
800
+ 'tellerId': this.props.tellerAccount
801
+ })
802
+ })
803
+ }
814
804
  };
815
805
  // 取消订阅媒体流成功
816
806
  this.test_controller.OnUnSubscribeSucc = (sid) => {
@@ -997,36 +987,6 @@ class Video extends Component {
997
987
  // 切流成功通知
998
988
  this.test_controller.OnChangeMediaStreamSuccess = (sid) => {
999
989
  console.log('切流成功通知', sid);
1000
- if (this.state.publishDevic == 2) {
1001
- // 打开共享
1002
- callNimIM('sendCustomCmdMsg', {
1003
- customId: this.state.imRoomId,
1004
- content: JSON.stringify({
1005
- 'typeId': 2030,
1006
- 'sessionId': this.state.sessionId,
1007
- 'sharedScreen': 1,
1008
- 'tellerId': this.props.tellerAccount
1009
- })
1010
- });
1011
- this.setState({
1012
- isSharedScreen: true,
1013
- screenName: '取消共享'
1014
- });
1015
- } else {
1016
- this.setState({
1017
- isSharedScreen: false,
1018
- screenName: '投屏'
1019
- });
1020
- callNimIM('sendCustomCmdMsg', {
1021
- customId: this.state.imRoomId,
1022
- content: JSON.stringify({
1023
- 'typeId': 2030,
1024
- 'sessionId': this.state.sessionId,
1025
- 'sharedScreen': 0,
1026
- 'tellerId': this.props.tellerAccount
1027
- })
1028
- })
1029
- }
1030
990
  };
1031
991
  // 切流失败通知
1032
992
  this.test_controller.OnChangeMediaStreamFailed = (
@@ -1085,14 +1045,14 @@ class Video extends Component {
1085
1045
  let outcanvas = document.createElement("canvas");
1086
1046
  outcanvas.width = canvas.width;
1087
1047
  outcanvas.height = canvas.height;
1088
- ctx.strokeStyle = "#00847F";
1048
+ ctx.strokeStyle = "#db0011";
1089
1049
  ctx.lineWidth = 2;
1090
1050
  ctx.clearRect(0, 0, canvas.width, canvas.height); //清理画布
1091
1051
  let dataArray = new Uint8Array(analyser.frequencyBinCount);
1092
1052
  analyser.getByteFrequencyData(dataArray);
1093
1053
  let step = Math.round(dataArray.length / 60); //采样步长
1094
1054
  for (var i = 0; i < 40; i++) {
1095
- let energy = (dataArray[step * i] / 256.0) * 50;
1055
+ let energy = (dataArray[step * i] / 256.0) * 80;
1096
1056
  for (var j = 0; j < energy; j++) {
1097
1057
  ctx.beginPath();
1098
1058
  ctx.moveTo(20 * i + 2, 200 + 4 * j);
@@ -1113,7 +1073,7 @@ class Video extends Component {
1113
1073
  function draw() {
1114
1074
  ctx.drawImage(outcanvas, 0, 0);
1115
1075
  ctx.save();
1116
- ctx.translate(canvas.width / 2, canvas.height / 2);
1076
+ ctx.translate(canvas.width / 4, canvas.height / 2);
1117
1077
  ctx.rotate(Math.PI);
1118
1078
  ctx.scale(-1, 1);
1119
1079
  ctx.drawImage(outcanvas, -canvas.width / 2, -canvas.height / 2);
@@ -1159,6 +1119,7 @@ class Video extends Component {
1159
1119
  this.setState({
1160
1120
  isCustomer: false,
1161
1121
  isWhiteboard: false,
1122
+ isPictureInPicture: false,
1162
1123
  });
1163
1124
  this.props.onLeaveRoom({
1164
1125
  code: LEAVE_TYPE.TELLER_EXIT,
@@ -1176,7 +1137,7 @@ class Video extends Component {
1176
1137
  let result = await API.getRoomStatus({
1177
1138
  sessionId: data.sessionId
1178
1139
  });
1179
- if (result.code == 200 && result.data.roomStatu == 1) {
1140
+ if (result.code == 200 && result.data.roomStatus == 1) {
1180
1141
  this.addToScript()
1181
1142
  } else {
1182
1143
  message.success('当前房间状态异常')
@@ -1262,7 +1223,7 @@ class Video extends Component {
1262
1223
  }
1263
1224
  componentWillMount() {
1264
1225
  if (this.props.sessionId) {
1265
- thid.getRoomStatus({
1226
+ this.getRoomStatus({
1266
1227
  sessionId: this.props.sessionId
1267
1228
  })
1268
1229
  } else {
@@ -1411,6 +1372,10 @@ class Video extends Component {
1411
1372
 
1412
1373
  screenName: '投屏'
1413
1374
  });
1375
+ console.log(pictureInPictureVideo)
1376
+ if(this.state.isPictureInPicture) {
1377
+ document.exitPictureInPicture()
1378
+ }
1414
1379
  } else {
1415
1380
  if (document.getElementById('video10').name) {
1416
1381
  publish_config.media_type = 1;
@@ -1425,7 +1390,7 @@ class Video extends Component {
1425
1390
  publish_config.video_profile_type = 5
1426
1391
  publish_config.publish_video_id = 'video10'
1427
1392
  publish_config.publish_streamId_id = 'subscribe_streamId10'
1428
- publish_config.publish_tag = ''
1393
+ publish_config.publish_tag = 'projectionWhiteboard'
1429
1394
  this.test_controller.Publish(publish_config)
1430
1395
  }
1431
1396
 
@@ -1442,6 +1407,10 @@ class Video extends Component {
1442
1407
  screenName: '取消共享',
1443
1408
  isPDF: false
1444
1409
  })
1410
+ if(!this.state.isPictureInPicture) {
1411
+ this.pictureInPicture()
1412
+ }
1413
+
1445
1414
  }
1446
1415
  }
1447
1416
  };
@@ -1701,7 +1670,7 @@ class Video extends Component {
1701
1670
  publish_config.part_of_screen_id = 'touBoxItem';
1702
1671
  publish_config.publish_video_id = 'video10'
1703
1672
  publish_config.publish_streamId_id = 'subscribe_streamId10'
1704
- publish_config.publish_tag = ''
1673
+ publish_config.publish_tag = 'projectionWhiteboard'
1705
1674
  this.test_controller.Publish(publish_config)
1706
1675
  }
1707
1676
  } else{
@@ -1736,7 +1705,7 @@ class Video extends Component {
1736
1705
  <Spin spinning={this.state.loading} tip="视频初始化中...">
1737
1706
  <Header></Header>
1738
1707
  <div className="health">
1739
- <div className="projection">
1708
+ <div className="projection" style={{ display: (this.state.isCustomer) ? '' : 'none', }}>
1740
1709
  <div className="button">
1741
1710
  <div className={`${this.state.isSelect == 'video' ? 'selectSee' : "noSelest"}`} onClick={this.switchSelect.bind(this)}>视频画面</div>
1742
1711
  <div className={`${this.state.isSelect == 'noVideo' ? 'selectSee' : "noSelest"}`} onClick={this.switchSelect.bind(this)}>投屏白板</div>
@@ -1764,14 +1733,14 @@ class Video extends Component {
1764
1733
  <div
1765
1734
  className={`itemed ${this.state.isBigVideo == 'video1' ? 'item1' : ""}`}
1766
1735
  // className="itemed item1"
1767
- style={{ position: "relative" }}
1736
+ style={{ position: "relative",'margin-right': '5px', }}
1768
1737
  onClick={this.enlargeClick.bind(this, 'isLangVideo1')}
1769
1738
  >
1770
1739
  {
1771
1740
  this.state.customAudioed && <img
1772
1741
  alt=""
1773
1742
  src={require("../../assets/img/yingpin.png").default}
1774
- style={{ width: "100%", height: "100%" }}
1743
+ style={{ width: "100%", height: "100%",}}
1775
1744
  ></img>
1776
1745
  }
1777
1746
  <div className="video1Div" style={{ display: (!this.state.customAudioed) ? '' : 'none', }}>
@@ -1783,7 +1752,8 @@ class Video extends Component {
1783
1752
  />
1784
1753
  <audio id="audio1" autoPlay />
1785
1754
  <label style={{ display: 'none' }} id="feedId1" type="text" />
1786
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView1" width="20" height="50"></canvas>
1755
+ <div style={{ display: (this.state.isCustomer) ? '' : 'none', }} className='customerTitle'>客户</div>
1756
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClassOne" id="subscribe_volumeView1" width="40" height="70"></canvas>
1787
1757
  </div>
1788
1758
  </div>
1789
1759
  <div
@@ -1822,13 +1792,12 @@ class Video extends Component {
1822
1792
  />
1823
1793
  <audio id="audio1" autoPlay />
1824
1794
  <label style={{ display: 'none' }} id="publish_streamId1" type="text" />
1825
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="publish_volumeView" width="20" height="50"></canvas>
1795
+ <div style={{ display: (this.state.isCustomer) ? '' : 'none', }} className='tellerTitle'>坐席</div>
1796
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="publish_volumeView" width="40" height="70"></canvas>
1826
1797
  </div>
1827
1798
 
1828
1799
  </div>
1829
- <div className={`itemed ${this.state.isBigVideo == 'video2' ? 'item1' : ""}`}>
1830
-
1831
- <div onClick={this.enlargeClick.bind(this, 'isLangVideo2')}>
1800
+ <div className={`itemed ${this.state.isBigVideo == 'video2' ? 'item1' : ""}`} style={{'margin-top': '5px', }} onClick={this.enlargeClick.bind(this, 'isLangVideo2')}>
1832
1801
  <video
1833
1802
  id="video2"
1834
1803
  autoPlay
@@ -1837,10 +1806,11 @@ class Video extends Component {
1837
1806
  />
1838
1807
  <audio id="audio2" autoPlay />
1839
1808
  <label style={{ display: 'none' }} id="feedId2" type="text" />
1840
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView2" width="20" height="50"></canvas>
1841
- </div>
1809
+ {/* <div className='customerTitle'>客户</div> */}
1810
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClassOne" id="subscribe_volumeView2" width="40" height="70"></canvas>
1842
1811
  </div>
1843
1812
  <div className={`itemed ${this.state.isBigVideo == 'video3' ? 'item1' : ""}`}
1813
+ style={{'margin-top': '5px', }}
1844
1814
  onClick={this.enlargeClick.bind(this, 'isLangVideo3')}>
1845
1815
  <video
1846
1816
  id="video3"
@@ -1850,9 +1820,11 @@ class Video extends Component {
1850
1820
  />
1851
1821
  <audio id="audio3" autoPlay />
1852
1822
  <label style={{ display: 'none' }} id="feedId3" type="text" />
1853
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView3" width="20" height="50"></canvas>
1823
+ {/* <div style={{ display: (this.state.isCustomer) ? '' : 'none', }} className='customerTitle'>客户</div> */}
1824
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClassOne" id="subscribe_volumeView3" width="40" height="70"></canvas>
1854
1825
  </div>
1855
1826
  <div className={`itemed ${this.state.isBigVideo == 'video4' ? 'item1' : ""}`}
1827
+ style={{'margin-right': '5px', }}
1856
1828
  onClick={this.enlargeClick.bind(this, 'isLangVideo4')}>
1857
1829
  <video
1858
1830
  id="video4"
@@ -1862,9 +1834,11 @@ class Video extends Component {
1862
1834
  />
1863
1835
  <audio id="audio4" autoPlay />
1864
1836
  <label style={{ display: 'none' }} id="feedId4" type="text" />
1865
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView4" width="20" height="50"></canvas>
1837
+ {/* <div style={{ display: (this.state.isCustomer) ? '' : 'none', }} className='customerTitle'>客户</div> */}
1838
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClassOne" id="subscribe_volumeView4" width="40" height="70"></canvas>
1866
1839
  </div>
1867
1840
  <div className={`itemed ${this.state.isBigVideo == 'video5' ? 'item1' : ""}`}
1841
+ style={{'margin-top': '5px', }}
1868
1842
  onClick={this.enlargeClick.bind(this, 'isLangVideo5')}>
1869
1843
  <video
1870
1844
  id="video5"
@@ -1874,23 +1848,20 @@ class Video extends Component {
1874
1848
  />
1875
1849
  <audio id="audio5" autoPlay />
1876
1850
  <label style={{ display: 'none' }} id="feedId5" type="text" />
1877
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView5" width="20" height="50"></canvas>
1851
+ {/* <div style={{ display: (this.state.isCustomer) ? '' : 'none', }} className='customerTitle'>客户</div> */}
1852
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClassOne" id="subscribe_volumeView5" width="40" height="70"></canvas>
1878
1853
  </div>
1879
- <div onClick={this.enlargeClick.bind(this, 'isLangVideo6')} className={`${this.state.isBigVideo == 'video6' ? 'item1' : "itemed"}`}>
1880
- {/* <div style={{ display: (this.state.isPDF) ? '' : 'none', }} id="touBoxItem">
1881
- {pdfChildren}
1882
- </div> */}
1883
- {/* <div style={this.state.isPDF ? {display: 'none'}: {}}> */}
1854
+ <div onClick={this.enlargeClick.bind(this, 'isLangVideo6')} style={{'margin-top': '5px', }} className={`${this.state.isBigVideo == 'video6' ? 'item1' : "itemed"}`}>
1884
1855
  <video
1885
1856
  id="video6"
1886
1857
  autoPlay
1887
- muted={true}
1858
+ muted={true}
1888
1859
  className="video"
1889
1860
  />
1890
1861
  <audio id="audio6" autoPlay />
1891
1862
  <label style={{ display: 'none' }} id="feedId6" type="text" />
1892
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView6" width="20" height="50"></canvas>
1893
- {/* </div> */}
1863
+ {/* <div style={{ display: (this.state.isCustomer) ? '' : 'none', }} className='customerTitle'>客户</div> */}
1864
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClassOne" id="subscribe_volumeView6" width="40" height="70"></canvas>
1894
1865
 
1895
1866
  </div>
1896
1867
  </div>
@@ -1967,7 +1938,7 @@ class Video extends Component {
1967
1938
  ></CanvasDraw>
1968
1939
  </div>
1969
1940
  </Modal>
1970
- <video className="mixedvideo" id="mixedvideo" autoPlay muted={true} width="400" height="400"
1941
+ <video className="mixedvideo" id="mixedvideo" autoPlay muted={true} width="0" height="0"
1971
1942
  webkit-playsinline="true" playsInline={true} x5-playsinline="x5-playsinline"
1972
1943
  x-webkit-airplay="true"></video>
1973
1944
  </Spin>
@@ -35,6 +35,7 @@
35
35
  color: #fff;
36
36
  font-weight: bold;
37
37
  line-height: 150px;
38
+ position: relative;
38
39
  }
39
40
  .item1 {
40
41
  grid-column-start: 1;
@@ -78,8 +79,8 @@
78
79
  height: 100%;
79
80
  }
80
81
  .health{
81
- margin: 20px;
82
- height: ~"calc(100vh - 60px)";
82
+ margin: 20px 20px 0 20px;
83
+ height: ~"calc(100vh - 130px)";
83
84
  }
84
85
  .all{
85
86
  height: 100%;
@@ -126,6 +127,11 @@
126
127
  bottom: 0;
127
128
  left: 0;
128
129
  }
130
+ .canvasClassOne{
131
+ position: absolute;
132
+ bottom: 0;
133
+ right: 0;
134
+ }
129
135
  .content{
130
136
  height: 654px;
131
137
  border-radius: 4px;
@@ -138,7 +144,7 @@
138
144
  }
139
145
  .projection{
140
146
  width: 80%;
141
- height: 88%;
147
+ height: ~"calc(100vh - 130px)";
142
148
  position: absolute;
143
149
  z-index: 1;
144
150
  // background: #fff;
@@ -147,6 +153,8 @@
147
153
  width: 100%;
148
154
  position: absolute;
149
155
  z-index: 1;
156
+ top: 0;
157
+ left: 80px;
150
158
  .selectSee{
151
159
  background: #00847F;
152
160
  border-radius: 0px 0px 2px 2px;
@@ -158,7 +166,7 @@ border-radius: 0px 0px 2px 2px;
158
166
  }
159
167
  div{
160
168
  font-size: 16px;
161
- margin: 15px;
169
+ margin: 0 15px;
162
170
  color: #FFFFFF;
163
171
  padding: 6px 13px;
164
172
  }
@@ -172,4 +180,30 @@ border-radius: 0px 0px 2px 2px;
172
180
  background: #333;
173
181
  }
174
182
  }
183
+ }
184
+ .customerTitle{
185
+ position: absolute;
186
+ top: 0;
187
+ left: 0px;
188
+ width: 80px;
189
+ line-height: 30px;
190
+ height: 30px;
191
+ background: rgba(219, 0, 17, 0.1);
192
+ border-radius: 4px 0px 2px 0px;
193
+ color: #DB0011;
194
+ font-size: 14px;
195
+ }
196
+ .tellerTitle{
197
+ position: absolute;
198
+ top: 0;
199
+ right: 0px;
200
+ width: 80px;
201
+ line-height: 30px;
202
+ height: 30px;
203
+ background: rgba(219, 0, 17, 0.1);
204
+ border-radius: 4px 0px 2px 0px;
205
+ transform: rotateY(
206
+ 180deg);
207
+ color: #DB0011;
208
+ font-size: 14px;
175
209
  }