Przeglądaj źródła

清障队视屏稽查视屏截屏等功能

温红权 7 lat temu
rodzic
commit
9075291d5c
28 zmienionych plików z 1257 dodań i 308 usunięć
  1. 5 5
      VisualInspection/fwq/view/main.html
  2. 2 2
      VisualInspection/js/config.js
  3. 73 0
      VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.js
  4. 73 0
      VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.min.js
  5. BIN
      VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.swf
  6. 71 0
      VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.xml
  7. 44 0
      VisualInspection/js/lib/ckplayer/ckplayer/language.xml
  8. 111 0
      VisualInspection/js/lib/ckplayer/ckplayer/style.xml
  9. 4 0
      VisualInspection/js/lib/ckplayer/crossdomain.xml
  10. 33 0
      VisualInspection/js/lib/ckplayer/definition.html
  11. 31 0
      VisualInspection/js/lib/ckplayer/flashplayer.html
  12. 15 0
      VisualInspection/js/lib/ckplayer/iframe.html
  13. 561 0
      VisualInspection/js/lib/ckplayer/index.html
  14. BIN
      VisualInspection/js/lib/ckplayer/material/logo.png
  15. BIN
      VisualInspection/js/lib/ckplayer/material/mydream_en1800_1010_01.png
  16. BIN
      VisualInspection/js/lib/ckplayer/material/mydream_en1800_1010_02.png
  17. BIN
      VisualInspection/js/lib/ckplayer/material/poster.jpg
  18. 16 0
      VisualInspection/js/lib/ckplayer/material/srt.srt
  19. 41 0
      VisualInspection/js/util/service.js
  20. 3 3
      VisualInspection/qzd/js/task/add.js
  21. 99 188
      VisualInspection/qzd/js/task/check.js
  22. 14 3
      VisualInspection/qzd/view/main.html
  23. 7 8
      VisualInspection/qzd/view/record/record_list.html
  24. 44 40
      VisualInspection/qzd/view/task/check.html
  25. 6 7
      VisualInspection/qzd/view/task/new.html
  26. 0 50
      VisualInspection_server/visual/visual.log
  27. 1 0
      Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/bean/QzdCheckTask.java
  28. 3 2
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/mapper/master/TaskMapper.xml

+ 5 - 5
VisualInspection/fwq/view/main.html

@@ -8,7 +8,7 @@
 
 
     <link rel="import" href="/view/common/commoncsslink.html?__inline">
     <link rel="import" href="/view/common/commoncsslink.html?__inline">
     <link rel="stylesheet" type="text/css" href="/css/main.css">
     <link rel="stylesheet" type="text/css" href="/css/main.css">
-    <link rel="import" href="/view/common/commonscriptlink.html?__inline">
+
     <!--<link rel="stylesheet" type="text/css" href="/js/lib/jedate/skin/jedate.css">
     <!--<link rel="stylesheet" type="text/css" href="/js/lib/jedate/skin/jedate.css">
     <script src="/js/lib/jedate/jedate.js"></script>-->
     <script src="/js/lib/jedate/jedate.js"></script>-->
     <style>
     <style>
@@ -41,9 +41,7 @@
             background-color: #2B7EB3;
             background-color: #2B7EB3;
         }*/
         }*/
     </style>
     </style>
-    <script src="/fwq/js/task/check.js"></script>
-    <!--<script src="/js/teamClass/check_team_schedule.js"></script>-->
-    <script src="/js/teamClass/charge_team_schedule.js"></script>
+
 </head>
 </head>
 
 
 <body>
 <body>
@@ -82,8 +80,10 @@
 
 
         </div>
         </div>
     </div>
     </div>
-
+    <link rel="import" href="/view/common/commonscriptlink.html?__inline">
     <script src="/js/main.js"></script>
     <script src="/js/main.js"></script>
+    <script src="/fwq/js/task/check.js"></script>
+
 </body>
 </body>
 
 
 
 

+ 2 - 2
VisualInspection/js/config.js

@@ -54,8 +54,8 @@ function getImageaddr() {
         return "http://file_release_yanhai.jsxt.jsjtyxt.com:8283/";
         return "http://file_release_yanhai.jsxt.jsjtyxt.com:8283/";
     } else if (base_ui_url.indexOf("localhost") != -1) {
     } else if (base_ui_url.indexOf("localhost") != -1) {
         // return "http://10.112.0.199:7000/"
         // return "http://10.112.0.199:7000/"
-        return "http://file_release_yanhai.jsxt.jsjtyxt.com:8283/";
-        // return "http://localhost:8081/";
+        // return "http://file_release_yanhai.jsxt.jsjtyxt.com:8283/";
+        return "http://localhost:8081/";
     } else if (base_ui_url.indexOf("192.168.8.236") != -1) {
     } else if (base_ui_url.indexOf("192.168.8.236") != -1) {
         return "http://192.168.8.236/"
         return "http://192.168.8.236/"
     } else if (base_ui_url.indexOf("200.200.19.126") != -1) {
     } else if (base_ui_url.indexOf("200.200.19.126") != -1) {

Plik diff jest za duży
+ 73 - 0
VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.js


Plik diff jest za duży
+ 73 - 0
VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.min.js


BIN
VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.swf


Plik diff jest za duży
+ 71 - 0
VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.xml


+ 44 - 0
VisualInspection/js/lib/ckplayer/ckplayer/language.xml

@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+	<language>
+		<adCountdown>[$second]</adCountdown><!--广告播放结束倒计时-->
+		<skipDelay>[$second]</skipDelay>
+		<buttonOver>
+			<play>点击播放</play>
+			<pause>暂停播放</pause>
+			<mute>静音</mute>
+			<escMute>恢复音量</escMute>
+			<full>全屏</full>
+			<escFull>退出全屏</escFull>
+			<previousPage>上一集</previousPage>
+			<nextPage>下一集</nextPage>
+			<definition>点击选择清晰度</definition>
+		</buttonOver>
+		<volumeSliderOver>
+			音量:[$volume]%
+		</volumeSliderOver>
+		<buffer>[$percentage]%</buffer>
+		<timeSliderOver><!--鼠标经过进度条显示的时间格式-->
+			[$timeh]:[$timei]:[$times]
+		</timeSliderOver>
+		<liveAndVod>
+			[$timeh]:[$timei]:[$times]
+		</liveAndVod>
+		<live>
+			直播中 [$liveTimeY]-[$liveTimem]-[$liveTimed] [$liveTimeh]:[$liveTimei]:[$liveTimes]
+		</live>
+		<m3u8Definition>
+			<name>流畅</name>
+			<name>低清</name>
+			<name>标清</name>
+			<name>高清</name>
+			<name>超清</name>
+			<name>蓝光</name>
+			<name>未知</name>
+		</m3u8Definition>
+		<error>
+			<cannotFindUrl>视频地址不存在</cannotFindUrl>
+			<streamNotFound>加载失败</streamNotFound>
+			<formatError>视频格式错误</formatError>
+		</error>
+		<definition>自动</definition>
+	</language>

Plik diff jest za duży
+ 111 - 0
VisualInspection/js/lib/ckplayer/ckplayer/style.xml


+ 4 - 0
VisualInspection/js/lib/ckplayer/crossdomain.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<cross-domain-policy> 
+	<allow-access-from domain="*"/>  
+</cross-domain-policy> 

+ 33 - 0
VisualInspection/js/lib/ckplayer/definition.html

@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>ckplayer</title>
+		
+		<style type="text/css">body{margin:0;padding:0px;font-family:"Microsoft YaHei",YaHei,"微软雅黑",SimHei,"黑体";font-size:14px}</style>
+
+	</head>
+
+	<body>
+		<script type="text/javascript" src="ckplayer/ckplayer.js"></script>
+		<div id="video" style="width: 100%; height: 400px;"></div>
+		<script type="text/javascript">
+			var videoObject = {
+				container: '#video', //容器的ID或className
+				variable: 'player',//播放函数名称
+				poster:'material/poster.jpg',//封面图片
+				//flashplayer:true,
+				video: [//视频地址列表形式
+					['http://img.ksbbs.com/asset/Mon_1703/05cacb4e02f9d9e.mp4', 'video/mp4', '中文标清', 0],
+					['http://img.ksbbs.com/asset/Mon_1703/d0897b4e9ddd9a5.mp4', 'video/mp4', '中文高清', 0],
+					['http://img.ksbbs.com/asset/Mon_1703/eb048d7839442d0.mp4', 'video/mp4', '英文高清', 10],
+					['http://img.ksbbs.com/asset/Mon_1703/d30e02a5626c066.mp4', 'video/mp4', '英文超清', 0],
+				]
+			};
+			var player = new ckplayer(videoObject);
+		</script>
+		<div id="aa"></div>
+	</body>
+
+</html>

+ 31 - 0
VisualInspection/js/lib/ckplayer/flashplayer.html

@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>ckplayer</title>
+		<script type="text/javascript" src="ckplayer/ckplayer.js"></script>
+		<style type="text/css">body{margin:0;padding:0px;font-family:"Microsoft YaHei",YaHei,"微软雅黑",SimHei,"黑体";font-size:14px}</style>
+
+	</head>
+
+	<body>
+		<div id="video" style="width: 600px; height: 400px;"></div>
+		<script type="text/javascript">
+			var videoObject = {
+				container: '#video', //容器的ID或className
+				variable: 'player',//播放函数名称
+				flashplayer:true,
+				poster:'material/poster.jpg',//封面图片
+				video: [//视频地址列表形式
+					['http://img.ksbbs.com/asset/Mon_1703/05cacb4e02f9d9e.mp4', 'video/mp4', '中文标清', 0],
+					['http://img.ksbbs.com/asset/Mon_1703/d0897b4e9ddd9a5.mp4', 'video/mp4', '中文高清', 0],
+					['http://img.ksbbs.com/asset/Mon_1703/eb048d7839442d0.mp4', 'video/mp4', '英文高清', 10],
+					['http://img.ksbbs.com/asset/Mon_1703/d30e02a5626c066.mp4', 'video/mp4', '英文超清', 0],
+				]
+			};
+			var player = new ckplayer(videoObject);
+		</script>
+	</body>
+
+</html>

+ 15 - 0
VisualInspection/js/lib/ckplayer/iframe.html

@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>ckplayer</title>
+		<style type="text/css">body{margin:0;padding:0px;font-family:"Microsoft YaHei",YaHei,"微软雅黑",SimHei,"黑体";font-size:14px}</style>
+
+	</head>
+
+	<body>
+		<iframe src="definition.html" height="500" width="600" frameborder="0" allowfullscreen></iframe>
+	</body>
+
+</html>

+ 561 - 0
VisualInspection/js/lib/ckplayer/index.html

@@ -0,0 +1,561 @@
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>ckplayer</title>
+		<script type="text/javascript" src="ckplayer/ckplayer.js" charset="UTF-8"></script>
+		<style type="text/css">
+			body {
+				margin: 0;
+				padding: 0px;
+				font-family: "Microsoft YaHei", YaHei, "微软雅黑", SimHei, "黑体";
+				font-size: 14px
+			}
+		</style>
+
+	</head>
+
+	<body>
+		<div id="video" style="width: 600px; height: 400px;"></div>
+		<script type="text/javascript">
+			var videoObject = {
+				//playerID:'ckplayer01',//播放器ID,第一个字符不能是数字,用来在使用多个播放器时监听到的函数将在所有参数最后添加一个参数用来获取播放器的内容
+				container: '#video', //容器的ID或className
+				variable: 'player', //播放函数名称
+				loaded: 'loadedHandler', //当播放器加载后执行的函数
+				loop: true, //播放结束是否循环播放
+				//autoplay: true, //是否自动播放
+				//duration: 500, //设置视频总时间
+				cktrack: 'material/srt.srt', //字幕文件
+				poster: 'material/poster.jpg', //封面图片
+				preview: { //预览图片
+					file: ['material/mydream_en1800_1010_01.png', 'material/mydream_en1800_1010_02.png'],
+					scale: 2
+				},
+				config: '', //指定配置函数
+				debug: true, //是否开启调试模式
+				//flashplayer: true, //强制使用flashplayer
+				drag: 'start', //拖动的属性
+				seek: 0, //默认跳转的时间
+				//playbackrate:1,//默认速度的编号,只对html5有效,设置成-1则不显示倍速
+				//advertisements:'website:ad.json',
+				//front:'frontFun',//上一集的操作函数
+				//next:'nextFun',//下一集的操作函数
+				//广告部分开始
+				adfront: 'http://www.ckplayer.com/yytf/swf/front001.swf,http://www.ckplayer.com/yytf/swf/front002.swf', //前置广告
+				adfronttime: '15,15',
+				adfrontlink: '',
+				adpause: 'http://www.ckplayer.com/yytf/swf/pause001.swf,http://www.ckplayer.com/yytf/swf/pause002.swf',
+				adpausetime: '5,5',
+				adpauselink: '',
+				adinsert: 'http://www.ckplayer.com/yytf/swf/insert001.swf,http://www.ckplayer.com/yytf/swf/insert002.swf',
+				adinserttime: '10,10',
+				adinsertlink: '',
+				inserttime: '10,80',
+				adend: 'http://www.ckplayer.com/yytf/swf/end001.swf,http://www.ckplayer.com/yytf/swf/end002.swf',
+				adendtime: '15,15',
+				adendlink: '',
+				//广告部分结束
+				promptSpot: [ //提示点
+					{
+						words: '提示点文字01',
+						time: 30
+					},
+					{
+						words: '提示点文字02',
+						time: 150
+					}
+				],
+				//mobileCkControls:true,//是否在移动端(包括ios)环境中显示控制栏
+				//live:true,//是否是直播视频,true=直播,false=点播
+				video: [
+			        ['http://img.ksbbs.com/asset/Mon_1703/05cacb4e02f9d9e.mp4', 'video/mp4', '中文标清', 0],
+			        ['http://img.ksbbs.com/asset/Mon_1703/d0897b4e9ddd9a5.mp4', 'video/mp4', '中文高清', 0],
+			        ['http://img.ksbbs.com/asset/Mon_1703/eb048d7839442d0.mp4', 'video/mp4', '英文高清', 10],
+			        ['http://img.ksbbs.com/asset/Mon_1703/d30e02a5626c066.mp4', 'video/mp4', '英文超清', 0]
+			    ]
+			};
+			var player = new ckplayer(videoObject);
+			function loadedHandler() {
+				player.addListener('error', errorHandler); //监听视频加载出错
+				player.addListener('loadedmetadata', loadedMetaDataHandler); //监听元数据
+				player.addListener('duration', durationHandler); //监听播放时间
+				player.addListener('time', timeHandler); //监听播放时间
+				player.addListener('play', playHandler); //监听暂停播放
+				player.addListener('pause', pauseHandler); //监听暂停播放
+				player.addListener('buffer', bufferHandler); //监听缓冲状态
+				player.addListener('seek', seekHandler); //监听跳转播放完成
+				player.addListener('seekTime', seekTimeHandler); //监听跳转播放完成
+				player.addListener('volume', volumeChangeHandler); //监听音量改变
+				player.addListener('full', fullHandler); //监听全屏/非全屏切换
+				player.addListener('ended', endedHandler); //监听播放结束
+				player.addListener('screenshot', screenshotHandler); //监听截图功能
+				player.addListener('mouse', mouseHandler); //监听鼠标坐标
+				player.addListener('frontAd', frontAdHandler); //监听前置广告的动作
+				player.addListener('wheel', wheelHandler); //监听视频放大缩小
+				player.addListener('controlBar', controlBarHandler); //监听控制栏显示隐藏事件
+				player.addListener('clickEvent', clickEventHandler); //监听点击事件
+				player.addListener('definitionChange', definitionChangeHandler); //监听清晰度切换事件
+				player.addListener('speed', speedHandler); //监听加载速度
+			}
+			function errorHandler() {
+				console.log('出错')
+				changeText('.playerstate', '状态:视频加载错误,停止执行其它动作,等待其它操作');
+			}
+
+			function loadedMetaDataHandler() {
+				var metaData = player.getMetaDate();
+				//console.log(metaData)
+				var html = ''
+				//console.log(metaData);
+				if(parseInt(metaData['videoWidth']) > 0) {
+					changeText('.playerstate', '状态:获取到元数据信息,如果数据错误,可以使用延迟获取');
+					html += '总时间:' + metaData['duration'] + '秒,';
+					html += '音量:' + metaData['volume'] + '(范围0-1),';
+					html += '播放器的宽度:' + metaData['width'] + 'px,';
+					html += '播放器的高度:' + metaData['height'] + 'px,';
+					html += '视频宽度:' + metaData['videoWidth'] + 'px,';
+					html += '视频高度:' + metaData['videoHeight'] + 'px,';
+					html += '视频原始宽度:' + metaData['streamWidth'] + 'px,';
+					html += '视频原始高度:' + metaData['streamHeight'] + 'px,';
+					html += '是否暂停状态:' + metaData['paused'];
+				} else {
+					changeText('.playerstate', '状态:未正确获取到元数据信息');
+					html = '没有获取到元数据';
+				}
+				changeText('.metadata', html);
+			}
+			function playHandler() {
+				//player.animateResume();//继续播放所有弹幕
+				changeText('.playstate', getHtml('.playstate') + ' 播放');
+				window.setTimeout(function() {
+					loadedMetaDataHandler();
+				}, 1000);
+				loadedMetaDataHandler();
+			}
+
+			function pauseHandler() {
+				//player.animatePause();//暂停所有弹幕
+				changeText('.playstate', getHtml('.playstate') + ' 暂停');
+				loadedMetaDataHandler();
+			}
+
+			function timeHandler(time) {
+				changeText('.currenttimestate', '当前播放时间(秒):' + time);
+			}
+
+			function durationHandler(duration) {
+				changeText('.duration', '总时间(秒):' + duration);
+			}
+
+			function seekHandler(state) {
+				changeText('.seekstate', getHtml('.seekstate') + ' ' + state);
+			}
+
+			function seekTimeHandler(time) {
+				changeText('.seekstate', getHtml('.seekstate') + ' seekTime:' + time);
+			}
+
+			function bufferHandler(buffer) {
+				//console.log(buffer);
+				changeText('.bufferstate', '缓冲:' + buffer);
+			}
+
+			function volumeChangeHandler(vol) {
+				changeText('.volumechangestate', '当前音量:' + vol);
+			}
+			function speedHandler(n) {
+				changeText('.speed', '当前加载速率:' + n);
+			}
+			function screenshotHandler(obj) {
+				changeText('.screenshot', '图片名称:' + obj['name'] + ',截图对象:' + obj['object'] + ',是否用户保存:' + obj['save'] + ',图片:<img src="' + obj['base64'] + '">');
+			}
+
+			function fullHandler(b) {
+				if(b) {
+					html = ' 全屏';
+				} else {
+					html = ' 否';
+				}
+				changeText('.fullstate', getHtml('.fullstate') + html);
+				
+			}
+
+			function endedHandler() {
+				changeText('.endedstate', '播放结束');
+			}
+
+			function mouseHandler(obj) {
+				changeText('.mouse', '鼠标位置,x:' + obj['x'] + ',y:' + obj['y']);
+			}
+
+			function frontAdHandler(status) {
+				changeText('.frontad', getHtml('.frontad') + ' ' + status);
+			}
+			var zoomNow = 1;
+
+			function wheelHandler(n) {
+				if(n > 0) {
+					if(zoomNow < 5) {
+						zoomNow += 0.1;
+					}
+				} else {
+					if(zoomNow > 0) {
+						zoomNow -= 0.1;
+					}
+				}
+				player.videoZoom(zoomNow);//支持鼠标滚轮控制放大缩小
+			}
+			function controlBarHandler(show){
+				if(show) {
+					html = ' 显示';
+				} else {
+					html = ' 隐藏';
+				}
+				changeText('.controlBar', getHtml('.controlBar') + html);
+			}
+			function clickEventHandler(eve){
+				changeText('.clickEvent', getHtml('.clickEvent') + ' '+eve);
+			}
+			function definitionChangeHandler(num){
+				changeText('.definitionChange', getHtml('.definitionChange') + ',切换清晰度编号'+num);
+			}
+			var videoChangeNum = 0;
+
+			function seekTime() {
+				var time = parseInt(player.getByElement('.seektime').value);
+				var metaData = player.getMetaDate();
+				var duration = metaData['duration'];
+				if(time < 0) {
+					alert('请填写大于0的数字');
+					return;
+				}
+				if(time > duration) {
+					alert('请填写小于' + duration + '的数字');
+					return;
+				}
+				player.videoSeek(time);
+			}
+
+			function changeVolume() {
+				var volume = player.getByElement('.changevolume').value;
+				volume = Math.floor(volume * 100) / 100
+				if(volume < 0) {
+					alert('请填写大于0的数字');
+					return;
+				}
+				if(volume > 1) {
+					alert('请填写小于1的数字');
+					return;
+				}
+				player.changeVolume(volume);
+			}
+
+			function changeSize() {
+				player.changeSize(w, h)
+			}
+
+			function frontFun() {
+				alert('点击了前一集');
+			}
+
+			function nextFun() {
+				alert('点击了下一集');
+			}
+
+			function adjump() {
+				alert('点击了跳过广告按钮');
+			}
+
+			function newVideo() {
+				var videoUrl = player.getByElement('.videourl').value;
+				changeVideo(videoUrl);
+			}
+
+			function newVideo2() {
+				var videoUrl = player.getByElement('.videourl2').value;
+				changeVideo(videoUrl);
+			}
+
+			function changeVideo(videoUrl) {
+				if(player == null) {
+					return;
+				}
+
+				var newVideoObject = {
+					container: '#video', //容器的ID
+					variable: 'player',
+					autoplay: true, //是否自动播放
+					loaded: 'loadedHandler', //当播放器加载后执行的函数
+					video: videoUrl
+				}
+				//判断是需要重新加载播放器还是直接换新地址
+
+				if(player.playerType == 'html5video') {
+					if(player.getFileExt(videoUrl) == '.flv' || player.getFileExt(videoUrl) == '.m3u8' || player.getFileExt(videoUrl) == '.f4v' || videoUrl.substr(0, 4) == 'rtmp') {
+						player.removeChild();
+
+						player = null;
+						player = new ckplayer();
+						player.embed(newVideoObject);
+					} else {
+						player.newVideo(newVideoObject);
+					}
+				} else {
+					if(player.getFileExt(videoUrl) == '.mp4' || player.getFileExt(videoUrl) == '.webm' || player.getFileExt(videoUrl) == '.ogg') {
+						player = null;
+						player = new ckplayer();
+						player.embed(newVideoObject);
+					} else {
+						player.newVideo(newVideoObject);
+					}
+				}
+			}
+			var elementTemp = null; //保存元件
+			function newElement() {
+				if(elementTemp != null) {
+					alert('为了演示的简单性,本实例只能建立一个元件');
+					return;
+				}
+				var attribute = {
+					list: [ //list=定义元素列表
+						{
+							type: 'png', //定义元素类型:只有二种类型,image=使用图片,text=文本
+							file: 'material/logo.png', //图片地址
+							radius: 30, //图片圆角弧度
+							width: 30, //定义图片宽,必需要定义
+							height: 30, //定义图片高,必需要定义
+							alpha: 0.9, //图片透明度(0-1)
+							marginLeft: 10, //图片离左边的距离
+							marginRight: 10, //图片离右边的距离
+							marginTop: 10, //图片离上边的距离
+							marginBottom: 10, //图片离下边的距离
+							clickEvent: "link->http://www.ckplayer.com"
+						}, {
+							type: 'text', //说明是文本
+							text: '演示弹幕内容,弹幕只支持普通文本,不支持HTML', //文本内容
+							color: '0xFFDD00', //文本颜色
+							size: 14, //文本字体大小,单位:px
+							font: '"Microsoft YaHei", YaHei, "微软雅黑", SimHei,"\5FAE\8F6F\96C5\9ED1", "黑体",Arial', //文本字体
+							leading: 30, //文字行距
+							alpha: 1, //文本透明度(0-1)
+							paddingLeft: 10, //文本内左边距离
+							paddingRight: 10, //文本内右边距离
+							paddingTop: 0, //文本内上边的距离
+							paddingBottom: 0, //文本内下边的距离
+							marginLeft: 0, //文本离左边的距离
+							marginRight: 10, //文本离右边的距离
+							marginTop: 10, //文本离上边的距离
+							marginBottom: 0, //文本离下边的距离
+							backgroundColor: '0xFF0000', //文本的背景颜色
+							backAlpha: 0.5, //文本的背景透明度(0-1)
+							backRadius: 30, //文本的背景圆角弧度
+							clickEvent: "actionScript->videoPlay"
+						}
+					],
+					x: 10, //元件x轴坐标,注意,如果定义了position就没有必要定义x,y的值了,x,y支持数字和百分比,使用百分比时请使用单引号,比如'50%'
+					y: 50, //元件y轴坐标
+					//position:[1,1],//位置[x轴对齐方式(0=左,1=中,2=右),y轴对齐方式(0=上,1=中,2=下),x轴偏移量(不填写或null则自动判断,第一个值为0=紧贴左边,1=中间对齐,2=贴合右边),y轴偏移量(不填写或null则自动判断,0=紧贴上方,1=中间对齐,2=紧贴下方)]
+					alpha: 1, //元件的透明度
+					backgroundColor: '0xFFDD00', //元件的背景色
+					backAlpha: 0.5, //元件的背景透明度(0-1)
+					backRadius: 60, //元件的背景圆角弧度
+					clickEvent: "actionScript->videoPlay"
+				}
+				elementTemp = player.addElement(attribute);
+			}
+
+			function deleteElement() {
+				if(elementTemp != null) {
+					player.deleteElement(elementTemp);
+					elementTemp = null;
+				} else {
+					alert('演示删除元件需要先添加');
+				}
+			}
+
+			function newDanmu() {
+				//弹幕说明
+
+				var danmuObj = {
+					list: [{
+						type: 'image', //定义元素类型:只有二种类型,image=使用图片,text=文本
+						file: 'material/logo.png', //图片地址
+						radius: 30, //图片圆角弧度
+						width: 30, //定义图片宽,必需要定义
+						height: 30, //定义图片高,必需要定义
+						alpha: 0.9, //图片透明度(0-1)
+						marginLeft: 10, //图片离左边的距离
+						marginRight: 10, //图片离右边的距离
+						marginTop: 10, //图片离上边的距离
+						marginBottom: 10, //图片离下边的距离
+						clickEvent: "link->http://"
+					}, {
+						type: 'text', //说明是文本
+						text: '演示弹幕内容,弹幕只支持普通文本,不支持HTML', //文本内容
+						color: '0xFFDD00', //文本颜色
+						size: 14, //文本字体大小,单位:px
+						font: '"Microsoft YaHei", YaHei, "微软雅黑", SimHei,"\5FAE\8F6F\96C5\9ED1", "黑体",Arial', //文本字体
+						leading: 30, //文字行距
+						alpha: 1, //文本透明度(0-1)
+						paddingLeft: 10, //文本内左边距离
+						paddingRight: 10, //文本内右边距离
+						paddingTop: 0, //文本内上边的距离
+						paddingBottom: 0, //文本内下边的距离
+						marginLeft: 0, //文本离左边的距离
+						marginRight: 10, //文本离右边的距离
+						marginTop: 10, //文本离上边的距离
+						marginBottom: 0, //文本离下边的距离
+						backgroundColor: '0xFF0000', //文本的背景颜色
+						backAlpha: 0.5, //文本的背景透明度(0-1)
+						backRadius: 30, //文本的背景圆角弧度
+						clickEvent: "actionScript->videoPlay"
+					}],
+					x: '100%', //x轴坐标
+					y: "50%", //y轴坐标
+					//position:[2,1,0],//位置[x轴对齐方式(0=左,1=中,2=右),y轴对齐方式(0=上,1=中,2=下),x轴偏移量(不填写或null则自动判断,第一个值为0=紧贴左边,1=中间对齐,2=贴合右边),y轴偏移量(不填写或null则自动判断,0=紧贴上方,1=中间对齐,2=紧贴下方)]
+					alpha: 1,
+					//backgroundColor:'#FFFFFF',
+					backAlpha: 0.8,
+					backRadius: 30 //背景圆角弧度
+				}
+				var danmu = player.addElement(danmuObj);
+				var danmuS = player.getElement(danmu);
+				var obj = {
+					element: danmu,
+					parameter: 'x',
+					static: true, //是否禁止其它属性,true=是,即当x(y)(alpha)变化时,y(x)(x,y)在播放器尺寸变化时不允许变化
+					effect: 'None.easeOut',
+					start: null,
+					end: -danmuS['width'],
+					speed: 10,
+					overStop: true,
+					pauseStop: true,
+					callBack: 'deleteChild'
+				};
+				var danmuAnimate = player.animate(obj);
+			}
+
+			function deleteChild(ele) {
+				if(player) {
+					player.deleteElement(ele);
+				}
+			}
+
+			function changeText(div, text) {
+				player.getByElement(div).innerHTML = text;
+			}
+
+			function getHtml(div) {
+				return player.getByElement(div).innerHTML;
+			}
+			var zoom = 1;
+		</script>
+		<p>
+			<a href="http://www.ckplayer.com/" target="_blank">官网:http://www.ckplayer.com</a>,版本号:X</p>
+		<p>以下仅列出部分功能,全部功能请至官网
+			<a href="http://www.ckplayer.com/manualX/" target="_blank">《手册》</a>查看</p>
+		<p>
+			<button type="button" onclick="player.videoPlay()">播放</button>
+			<button type="button" onclick="player.videoPause()">暂停</button>
+			<button type="button" onclick="player.playOrPause()">播放/暂停</button>
+			<button type="button" onclick="player.videoMute()">静音</button>
+			<button type="button" onclick="player.videoEscMute()">取消静音</button>
+			<button type="button" onclick="player.videoClear()">清除视频(仅flashplayer)</button>
+			<button type="button" onclick="loadedMetaDataHandler()">获取元数据</button>
+			<button type="button" onclick="newElement()">添加元件</button>
+			<button type="button" onclick="deleteElement()">删除元件</button>
+			<button type="button" onclick="newDanmu()">添加弹幕</button>
+			<button type="button" onclick="player.screenshot('video',false,'视频截图')">视频截图(需要视频权限)</button>
+			<button type="button" onclick="player.screenshot('player',false,'播放器截图')">播放器截图(需要视频权限)</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.adPause()">暂停广告(仅flashplayer)</button>
+			<button type="button" onclick="player.adPlay()">继续播放广告(仅flashplayer)</button>
+			<button type="button" onclick="player.videoPlay()">关闭(结束)广告(仅flashplayer)</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.changeControlBarShow(true)">显示控制栏</button>
+			<button type="button" onclick="player.changeControlBarShow(false)">隐藏控制栏</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.videoRotation()">默认角度</button>
+			<button type="button" onclick="player.videoRotation(1)">顺时针旋转</button>
+			<button type="button" onclick="player.videoRotation(-1)">逆时针旋转</button>
+			<button type="button" onclick="player.videoRotation(90)">旋转90</button>
+			<button type="button" onclick="player.videoRotation(180)">旋转180</button>
+			<button type="button" onclick="player.videoRotation(270)">旋转270</button>
+			<button type="button" onclick="player.videoRotation(-90)">旋转-90</button>
+			<button type="button" onclick="player.videoRotation(-180)">旋转-180</button>
+			<button type="button" onclick="player.videoRotation(-270)">旋转-270</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.videoZoom(1)">默认大小</button>
+			<button type="button" onclick="player.videoZoom(zoom+=0.1)">放大</button>
+			<button type="button" onclick="player.videoZoom(zoom-=0.1)">缩小</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.changePlaybackRate(1)">默认速度(仅H5)</button>
+			<button type="button" onclick="player.changePlaybackRate(0)">0.5倍(仅H5)</button>
+			<button type="button" onclick="player.changePlaybackRate(3)">1.5倍(仅H5)</button>
+			<button type="button" onclick="player.changePlaybackRate(4)">2倍(仅H5)</button>
+			
+		</p>
+		<p>
+			<button type="button" onclick="player.changeConfig('config','timeScheduleAdjust',1)">正常拖动</button>
+			<button type="button" onclick="player.changeConfig('config','timeScheduleAdjust',0)">不能拖动</button>
+			<button type="button" onclick="player.changeConfig('config','timeScheduleAdjust',2)">只能前进(向右拖动)</button>
+			<button type="button" onclick="player.changeConfig('config','timeScheduleAdjust',3)">只能后退</button>
+			<button type="button" onclick="player.changeConfig('config','timeScheduleAdjust',4)">能回到第一次拖动时的位置</button>
+			<button type="button" onclick="player.changeConfig('config','timeScheduleAdjust',5)">看过的地方可以随意拖动</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.videoProportion()">原始比例(仅flashplayer)</button>
+			<button type="button" onclick="player.videoProportion(4,3)">4:3(仅flashplayer)</button>
+			<button type="button" onclick="player.videoProportion(16,9)">16:9(仅flashplayer)</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.videoBrightness(100)">调整亮度(仅flashplayer)</button>
+			<button type="button" onclick="player.videoBrightness(0)">恢复亮度(仅flashplayer)</button>
+			<button type="button" onclick="player.videoContrast(200)">调整对比度(仅flashplayer)</button>
+			<button type="button" onclick="player.videoContrast(127.5)">恢复对比度(仅flashplayer)</button>
+			<button type="button" onclick="player.videoSaturation(0)">调整饱和度(仅flashplayer)</button>
+			<button type="button" onclick="player.videoSaturation(1)">恢复饱和度(仅flashplayer)</button>
+			<button type="button" onclick="player.videoHue(-90)">调整色相(仅flashplayer)</button>
+			<button type="button" onclick="player.videoHue(0)">恢复色相(仅flashplayer)</button>
+		</p>
+		<p>
+			<input type="text" class="videourl" style="width: 500px;" placeholder="视频地址" value="http://www.flashls.org/playlists/test_001/stream_1000k_48k_640x360.m3u8">
+
+			<button type="button" onclick="newVideo()">播放</button>
+		</p>
+		<p>
+			<input type="text" class="videourl2" style="width: 500px;" placeholder="视频地址" value="http://img.ksbbs.com/asset/Mon_1703/d30e02a5626c066.mp4">
+
+			<button type="button" onclick="newVideo2()">播放</button>
+
+		</p>
+		<p class="metadata"></p>
+		<p>单独监听功能:</p>
+		<p class="handler">
+			<span class="duration"></span><br />
+			<span class="playstate">播放状态:</span><br />
+			<span class="seekstate">跳转状态:无</span><br />
+			<span class="bufferstate">缓冲:100</span><br />
+			<span class="speed">加载速率:0</span><br />
+			<span class="volumechangestate">当前音量:0.8</span><br />
+			<span class="fullstate">是否全屏:否</span><br />
+			<span class="controlBar">控制栏:显示</span><br />
+			<span class="endedstate">还未结束</span><br />
+			<span class="currenttimestate">当前播放时间(秒):0</span><br />
+			<span class="frontad">前置广告状态:</span><br />
+			<span class="mouse">鼠标位置</span><br />
+			<span class="definitionChange">切换清晰度:</span><br />
+			<span class="clickEvent">点击监听:</span><br />
+			<span class="screenshot">监听截图功能(截图功能需要视频权限)</span>
+
+		</p>
+	</body>
+
+</html>

BIN
VisualInspection/js/lib/ckplayer/material/logo.png


BIN
VisualInspection/js/lib/ckplayer/material/mydream_en1800_1010_01.png


BIN
VisualInspection/js/lib/ckplayer/material/mydream_en1800_1010_02.png


BIN
VisualInspection/js/lib/ckplayer/material/poster.jpg


+ 16 - 0
VisualInspection/js/lib/ckplayer/material/srt.srt

@@ -0,0 +1,16 @@
+1
+00:00:01,210 --> 00:00:10,400
+-=字幕效果=-
+支持多行
+
+2
+00:00:11,210 --> 00:00:30,400
+编码需要使用UTF-8
+
+3
+00:00:31,210 --> 00:01:00,400
+格式是.srt
+
+4
+00:01:01,210 --> 00:01:55,400
+感谢您对ckplayer的支持

+ 41 - 0
VisualInspection/js/util/service.js

@@ -369,6 +369,47 @@ function post_common_service(url, param, success, fail) {
     });
     });
 }
 }
 
 
+function post_common_service_nohead(url, param, successfunc, errorfunc) {
+
+
+    $.ajax({
+        url: url,
+        type: "POST",
+        cache: false,
+        contentType: "application/json",
+        processData: false,
+        dataType: "json",
+        data: JSON.stringify(param),
+        success: function(response) {
+            var data = response;
+            if (data.result_code == 0) {
+                successfunc(data.result_data)
+            } else {
+                errorfunc(data.result_desc);
+            }
+        },
+        error: function(error) {
+            errorfunc("网络错误");
+        }
+    });
+    // ajaxPost(url, param, function(response) {
+    //     var data = response;
+    //     if (data.result_code == 0) {
+    //         success(data.result_data)
+    //     } else {
+    //         if (fail)
+    //             fail(data.result_desc);
+    //         else
+    //             console.log(data.result_desc);
+    //     }
+    // }, function(error) {
+    //     if (fail)
+    //         fail("网络错误");
+    //     else
+    //         console.log("网络错误");
+    // });
+}
+
 function get_common_service(url, param, success, fail) {
 function get_common_service(url, param, success, fail) {
     var url = base_server_url + url;
     var url = base_server_url + url;
     ajaxGet(url, param, function(response) {
     ajaxGet(url, param, function(response) {

+ 3 - 3
VisualInspection/qzd/js/task/add.js

@@ -76,7 +76,7 @@ function inittAreaable(time, dept) {
     //获取排班情况
     //获取排班情况
     post_common_service("/q/record/getall/0/0", param1, function(redatatemp) {
     post_common_service("/q/record/getall/0/0", param1, function(redatatemp) {
 
 
-        console.log(redatatemp)
+        // console.log(redatatemp)
         var recodedata = redatatemp.records;
         var recodedata = redatatemp.records;
 
 
         //获取任务情况
         //获取任务情况
@@ -296,7 +296,7 @@ function addlisttable(record, id) {
 
 
 function removelisttable(record) {
 function removelisttable(record) {
 
 
-    console.log(record)
+    // console.log(record)
 
 
     for (var index in selectedData.array) {
     for (var index in selectedData.array) {
         var o = selectedData.array[index];
         var o = selectedData.array[index];
@@ -352,7 +352,7 @@ function addTask() {
     tasklist.forEach(t => {
     tasklist.forEach(t => {
         plist.push(t.recordInfo);
         plist.push(t.recordInfo);
     });
     });
-    console.log(plist)
+    // console.log(plist)
     var param = { "userids": check_user_list, "qzdRecord": plist };
     var param = { "userids": check_user_list, "qzdRecord": plist };
 
 
     post_common_service('/q/task/add', param, function(redata) {
     post_common_service('/q/task/add', param, function(redata) {

+ 99 - 188
VisualInspection/qzd/js/task/check.js

@@ -1,62 +1,88 @@
-function becomebig(){
-   
-}
+var videoPlayer;
+var isfullscreen = false;
+var videoids;
 
 
-function initCheck() {
-    addBreadMenu("/qzd/view/task/check.html", "清障队视频稽查");
-    // $('#ex1').slider({ tooltip: 'hide' });
-    // $("#ex1").on("slideStop", function(slideEvt) {
-    //     setVideoProcess(slideEvt.value);
-    // });
+function dbclick() {
+
+    if (isfullscreen) {
+        if (layer_full) {
+            layer.close(layer_full)
+        }
+        isfullscreen = false;
+        $("#tabcontent").css("height", '400px');
+    } else {
+        fullscreen();
+    }
 
 
+}
+
+var startTimec = 0;
+var endTimec = 0;
 
 
-    //滑动快进
-    // $("#ex1").on("change", function(sender) {
-    //     var width = $("#ex1").siblings(".slider").children(".slider-track").children(".slider-selection").width();
-    //     var total_width = $("#ex1").siblings(".slider").children(".slider-track").width();
-    //     var sp_width = $("#ex1_span").width();
+function videorecordstart(type) {
 
 
+    if (type == "video_start") {
+        $("#video_btn_start").addClass("hidden");
+        $("#video_btn_stop").removeClass("hidden");
+        startTimec = currentTime;
 
 
-    //     var left = ((total_width - width) < (sp_width / 2.0)) ? (total_width - sp_width / 2.0 - 25) : (width - sp_width / 2.0) + 25
-    //     $("#ex1_span").css("left", ((left > 25 ? left : 25)) + "px")
+    }
+    if (type == "video_stop") {
+        $("#video_btn_stop").addClass("hidden");
+        $("#video_btn_start").removeClass("hidden");
+        endTimec = currentTime;
+
+        //开始截取视屏
+        post_common_service_nohead(base_image_server_url + 'fileServer/file/videocut', {
+            "targetfilename": videoids,
+            "filename": videoids.split(".")[0],
+            "startTime": startTimec,
+            "endtime": endTimec
+        }, function(data) {
+            addPic(data.path)
+        });
+    }
+    if (type == "screenshot") {
+
+        //开始截取视屏
+        post_common_service_nohead(base_image_server_url + 'fileServer/file/videopiccut', {
+            "targetfilename": videoids,
+            "filename": videoids.split(".")[0],
+            "startTime": currentTime,
+        }, function(data) {
+            addPic(data.path)
+        });
+    }
+}
 
 
-    //     if ($.checkTask) {
-    //         var time = moment($.checkTask.start_time);
-    //         var pos = $("#video_pos").val();
-    //         if ($("#full_video_pos").length > 0) {
-    //             pos = $("#full_video_pos").val();
-    //         }
-    //         var c_time = time.add(sender.value.newValue, "s");
-    //         if (/^(\+|-)?\d+($|\.\d+$)/.test(pos)) {
-    //             if (pos > 0) {
-    //                 c_time = time.add(Math.abs(pos), "s");
-    //             } else {
-    //                 c_time = time.subtract(Math.abs(pos), "s");
-    //             }
-    //         }
+var currentTime = 0;
 
 
-    //         $("#ex1_span").html(c_time.format("YYYY-MM-DD HH:mm:ss"))
-    //     }
-    // });
+function timeHandler(time) {
+    //'当前播放时间(秒):' + time;
+    // console.log(time)
+    currentTime = time;
+}
 
 
+function initCheck() {
+    addBreadMenu("/qzd/view/task/check.html", "清障队视频稽查");
 
 
 
 
     $("#tabcontent").css("height", ($("#video_content").height() - 80) + "px");
     $("#tabcontent").css("height", ($("#video_content").height() - 80) + "px");
     $("#score_datatable").css("height", ($("#video_content").height() - 120) + "px");
     $("#score_datatable").css("height", ($("#video_content").height() - 120) + "px");
     //设置视屏位置
     //设置视屏位置
-    if (ISCLIENT) {
-        event = document.createEvent('MessageEvent');
-        var origin = window.location.protocol + '//' + window.location.host;
-        event.initMessageEvent('setvideoposition', true, true, getVideoPosition(null), origin, 1234, window, null);
-        document.dispatchEvent(event);
-    }
+    // if (ISCLIENT) {
+    //     event = document.createEvent('MessageEvent');
+    //     var origin = window.location.protocol + '//' + window.location.host;
+    //     event.initMessageEvent('setvideoposition', true, true, getVideoPosition(null), origin, 1234, window, null);
+    //     document.dispatchEvent(event);
+    // }
 
 
 
 
 
 
 
 
 
 
     if ($.checkTask) {
     if ($.checkTask) {
-        console.log($.checkTask);
+        // console.log($.checkTask);
         getAreaCheckCount();
         getAreaCheckCount();
         initCheckAppealBtns();
         initCheckAppealBtns();
 
 
@@ -72,43 +98,17 @@ function initCheck() {
         //TODO 获取分数
         //TODO 获取分数
         queryCheckScores();
         queryCheckScores();
 
 
-        var videoids = $.checkTask.videos;
-        var videoPlayer;
-        console.log(videoids);
-        if (1 == 1) {
-            // videojs("example_video_1");
-            videoPlayer=  videojs('example_video_1',{
-                "autoplay" : false,
-                "controls" : true,
-                // "techOrder" : [ "html5", "flash" ],
-                 "width":$("#tabcontent").width(),
-                 "height":$("#tabcontent").height(),
-                "sources" : [ {
-                    src : 'http://yun.it7090.com/video/XHLaunchAd/video01.mp4',
-                    type :"video/mp4"
-                } ]
-
-            },function () {
-                $(".vjs-control-bar").append('<button class="vjs-control " id="danmu_send_opt"><u>按钮1</u></button>')
-            }); 
-            var videohtml ='<video id="example_video_2" class="video-js vjs-default-skin vjs-big-play-centered" controls >'+
-                        '<source src="'+videoids+'" type="video/mp4"/>' +
-                           "</video>";
-            videoPlayer.on('dblclick',function(){
-              
-            });
-            
-            // queryVideoList(videoids);
-        } else {
-            callFunc("showvideoview", "false");
-            layer.msg('该处暂无视屏!', {
-                offset: 'r',
-                time: 2000, //20s后自动关闭
-            });
-            callFunc("stop", "");
-        }
+        videoids = $.checkTask.recordVideos;
 
 
 
 
+        var videoObject = {
+            container: '.video', //“#”代表容器的ID,“.”或“”代表容器的class
+            variable: 'player', //该属性必需设置,值等于下面的new chplayer()的对象
+            //poster: 'pic/wdm.jpg', //封面图片
+            video: base_image_server_url + 'file/' + videoids //视频地址
+        };
+        videoPlayer = new ckplayer(videoObject);
+        videoPlayer.addListener('time', timeHandler);
 
 
     }
     }
 
 
@@ -155,35 +155,7 @@ var layer_full = null;
 function fullscreen() {
 function fullscreen() {
     var height = window.innerWidth * 0.8 * 1 / 2.0 + 110
     var height = window.innerWidth * 0.8 * 1 / 2.0 + 110
 
 
-    var contenthtml = ' <div class="tab-content" id="full_tabcontent" style="height:400px;text-align: center;background:black;">' +
-        '                                    <p style="padding-top:180px;font-size:20px">加载中...</p>' +
-        '                                    <!--<i class="icon icon-spin icon-spinner  icon-5x" style="margin-top:100px"></i>-->' +
-        '                                </div>' +
-        '                                <div class="row" class="col-md-12" style="padding:5px 10px 25px 10px;text-align:center;margin:0px">' +
-        '                                    <input id="full_ex1" class="col-md-12" type="text" data-slider-min="0" data-slider-max="100" data-slider-step="1" data-slider-value="0"/>' +
-        '                                   <br/> <span id="full_ex1_span" style="position: absolute;left: 25px;">2017-06-12 23:00:00</span>' +
-        '                                    ' +
-        '                                </div>' +
-        '                                <div class="row" style="padding:0px 5px 0px 5px;text-align:center;margin:0px">' +
-        '                                    <select class="form-control" id="full_video_list" style="width:200px;float:left;display:none;"></select>' +
-        '                                      <div class="col-md-4 " style="padding-left:0">' +
-        '                                                                      <div class="input-group" style="padding-left:0">' +
-        '                                                                          <input type="text" id="full_video_pos" style="height:42px" class="form-control" placeholder="时间偏移值">' +
-        '                                                                         <span class="input-group-btn">' +
-        '                                                                              <button class="btn btn-default" onclick="setVideoPos()" style="height:42px" type="button">校正</button>' +
-        '                                                                          </span>' +
-        '                                                                      </div>' +
-        '                                                                     </div>' +
-        '                                    <div class="btn-group1" style="float:right;">' +
-        '                                        <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction(\'start\')"><i class="icon icon-play-circle icon-2x"></i></button>' +
-        '                                        <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction(\'stop\')"><i class="icon icon-pause icon-2x"></i></button>' +
-        '                                        <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction(\'fast\')"><i class="icon icon-forward icon-2x"></i><span id=\"full_fast_info\"></span></button>' +
-        '                                        <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction(\'slow\')"><span id=\"full_slow_info\"></span><i class="icon icon-backward icon-2x"></i></button>' +
-        '                                        <button type="button" class="btn btn-info1" style="width:41px;height:41px" style="width:51px;height:42px" id="full_video_btn_start" onclick="doAction(\'video_start\')"><img id="full_video_btn_start_img" style="width:30px" src="/images/video.png"></img></i></button>' +
-        '                                        <button type="button" class="btn btn-info1 hidden" style="width:41px;height:41px" id="full_video_btn_stop" onclick="doAction(\'video_stop\')"><i class="icon icon-stop icon-2x"></i></button>' +
-        '                                        <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction(\'screenshot\')"><i class="icon icon-camera icon-2x"></i></button>' +
-        '                                    </div>' +
-        '                                </div>';
+    var contenthtml = $('#video_content');
 
 
 
 
     layer_full = layer.open({
     layer_full = layer.open({
@@ -193,71 +165,10 @@ function fullscreen() {
         anim: -1,
         anim: -1,
         closeBtn: 0,
         closeBtn: 0,
         shadeClose: false,
         shadeClose: false,
-        content: "<div id='layer_content' style='padding-bottom:10px' >" + contenthtml + "</div>",
+        content: contenthtml,
         success: function(layero, index) {
         success: function(layero, index) {
-
-            // slider_current_value = 90;
-            $("#full_video_pos").val($("#video_pos").val());
-
-            $('#full_ex1').slider({ tooltip: 'hide' });
-            $("#full_ex1").on("slideStop", function(slideEvt) {
-                setVideoProcess(slideEvt.value);
-            });
-
-            $("#full_video_btn_start").mouseover(function() {
-                $("#full_video_btn_start_img").attr("src", "/images/movie.png");
-            });
-            $("#full_video_btn_start").mouseout(function() {
-                $("#full_video_btn_start_img").attr("src", "/images/video.png");
-            });
-
-            $("#full_ex1").on("change", function(sender) {
-                var width = $("#full_ex1").siblings(".slider").children(".slider-track").children(".slider-selection").width();
-                var total_width = $("#full_ex1").siblings(".slider").children(".slider-track").width();
-
-                var sp_width = $("#full_ex1_span").width();
-
-
-                var left = ((total_width - width) < (sp_width / 2.0)) ? (total_width - sp_width + 10) : (width - sp_width / 2.0) + 10
-                $("#full_ex1_span").css("left", ((left > 0 ? left : 10)) + "px")
-
-                if ($.checkTask) {
-                    var time = moment($.checkTask.start_time);
-                    var pos = $("#video_pos").val();
-                    if ($("#full_video_pos").length > 0) {
-                        pos = $("#full_video_pos").val();
-                    }
-                    var c_time = time.add(sender.value.newValue, "s");
-                    if (/^(\+|-)?\d+($|\.\d+$)/.test(pos)) {
-                        if (pos > 0) {
-                            c_time = time.add(Math.abs(pos), "s");
-                        } else {
-                            c_time = time.subtract(Math.abs(pos), "s");
-                        }
-                    }
-
-
-
-                    $("#full_ex1_span").html(c_time.format("YYYY-MM-DD HH:mm:ss"))
-                }
-            });
-
-            $("#full_ex1").slider({ step: 5, min: 0, max: maxVV });
-
-            $("#full_ex1").slider('setValue', slider_current_value);
-
-
-
-            $("#full_fast_info").html($("#fast_info").html());
-            $("#full_slow_info").html($("#slow_info").html());
-
-
-            $("#full_tabcontent").css("height", (height - 110) + "px");
-            $("#full_tabcontent").css("width", "100%");
-            setTimeout(function() {
-                callFunc("setvideoposition", getVideoPosition($("#full_tabcontent")))
-            }, 800)
-
+            isfullscreen = true;
+            $("#tabcontent").css("height", (height - 60) + 'px');
         }
         }
     });
     });
 
 
@@ -273,12 +184,12 @@ function getAreaCheckCount() {
     };
     };
     post_common_service("/q/task/getall/0/0", param, function(userList) {
     post_common_service("/q/task/getall/0/0", param, function(userList) {
         console.log(userList);
         console.log(userList);
-            $("#checked_area").html($.checkTask.checked_users_name);
-            if (userList) {
-                $("#checked_count").html(userList.length);
-            } else {
-                $("#checked_count").html(0);
-            }
+        $("#checked_area").html($.checkTask.checked_users_name);
+        if (userList) {
+            $("#checked_count").html(userList.length);
+        } else {
+            $("#checked_count").html(0);
+        }
     });
     });
 }
 }
 
 
@@ -295,7 +206,7 @@ function showCheckDetailCount() {
     var cols = [
     var cols = [
         { width: 40, text: '序号', type: 'number', flex: true, colClass: 'text-center', field: 'num' },
         { width: 40, text: '序号', type: 'number', flex: true, colClass: 'text-center', field: 'num' },
         { width: 80, text: '任务名称', type: 'string', flex: true, sort: 'down', field: 'name' },
         { width: 80, text: '任务名称', type: 'string', flex: true, sort: 'down', field: 'name' },
-        { width: 50, text: '考核对象', type: 'string', flex: true, colClass: '', field: 'checked_users_name'  },
+        { width: 50, text: '考核对象', type: 'string', flex: true, colClass: '', field: 'checked_users_name' },
         { width: 80, text: '扣分情况', type: 'string', flex: true, sort: 'down', field: 'score_details' },
         { width: 80, text: '扣分情况', type: 'string', flex: true, sort: 'down', field: 'score_details' },
         { width: 70, text: '稽查时间段', type: 'string', flex: true, sort: 'down', field: 'check_period' }
         { width: 70, text: '稽查时间段', type: 'string', flex: true, sort: 'down', field: 'check_period' }
     ];
     ];
@@ -690,13 +601,13 @@ function changePersonContent(data) {
 var scoreLayer;
 var scoreLayer;
 
 
 function showScore() {
 function showScore() {
-    scoreLayer = showPopup4Common('选择考核项', function(data){
+    scoreLayer = showPopup4Common('选择考核项', function(data) {
         var nodes = check_item_tree.getSelectedNodes()[0];
         var nodes = check_item_tree.getSelectedNodes()[0];
         console.log(nodes);
         console.log(nodes);
-        var data ={
-            "content":nodes.value,
-            "check_item_score":nodes.score,
-            "checked_person_name":$.checkTask.checkman_name
+        var data = {
+            "content": nodes.value,
+            "check_item_score": nodes.score,
+            "checked_person_name": $.checkTask.checkman_name
         }
         }
         console.log(data);
         console.log(data);
     }, ['400px', '500px'], '#items-div', 'r');
     }, ['400px', '500px'], '#items-div', 'r');
@@ -955,14 +866,14 @@ function agreeApply() {
 }
 }
 
 
 
 
-function getVideoPosition(obj) {
-    if (obj == null) obj = $('#tabcontent');
-    var X = obj.offset().top;
-    var Y = obj.offset().left;
-    var width = obj.width();
-    var height = obj.height();
-    return parseInt(Y) + "|" + parseInt(X) + "|" + parseInt(width) + "|" + parseInt(height);
-}
+// function getVideoPosition(obj) {
+//     if (obj == null) obj = $('#tabcontent');
+//     var X = obj.offset().top;
+//     var Y = obj.offset().left;
+//     var width = obj.width();
+//     var height = obj.height();
+//     return parseInt(Y) + "|" + parseInt(X) + "|" + parseInt(width) + "|" + parseInt(height);
+// }
 
 
 function initUpLoad() {
 function initUpLoad() {
 
 

+ 14 - 3
VisualInspection/qzd/view/main.html

@@ -8,9 +8,11 @@
 
 
     <link rel="import" href="/view/common/commoncsslink.html?__inline">
     <link rel="import" href="/view/common/commoncsslink.html?__inline">
     <link rel="stylesheet" type="text/css" href="/css/main.css">
     <link rel="stylesheet" type="text/css" href="/css/main.css">
-    <link rel="import" href="/view/common/commonscriptlink.html?__inline">
+
     <!--<link rel="stylesheet" type="text/css" href="/js/lib/jedate/skin/jedate.css">
     <!--<link rel="stylesheet" type="text/css" href="/js/lib/jedate/skin/jedate.css">
     <script src="/js/lib/jedate/jedate.js"></script>-->
     <script src="/js/lib/jedate/jedate.js"></script>-->
+    <link rel="import" href="/view/common/commonscriptlink.html?__inline">
+
     <style>
     <style>
         html {
         html {
             overflow: auto;
             overflow: auto;
@@ -37,13 +39,17 @@
             font-family: 'Microsoft Yahei';
             font-family: 'Microsoft Yahei';
             overflow: hidden
             overflow: hidden
         }
         }
+        
+        .fullxtwen-canvas {
+            display: none;
+        }
         /*.mum_left {
         /*.mum_left {
             background-color: #2B7EB3;
             background-color: #2B7EB3;
         }*/
         }*/
     </style>
     </style>
-    <script src="/qzd/js/task/check.js"></script>
+
     <!--<script src="/js/teamClass/check_team_schedule.js"></script>-->
     <!--<script src="/js/teamClass/check_team_schedule.js"></script>-->
-    <script src="/js/teamClass/charge_team_schedule.js"></script>
+
 </head>
 </head>
 
 
 <body>
 <body>
@@ -83,8 +89,13 @@
         </div>
         </div>
     </div>
     </div>
 
 
+    <script type="text/javascript" src="/js/lib/ckplayer/ckplayer/ckplayer.js"></script>
+    <script src="/js/teamClass/charge_team_schedule.js"></script>
     <script src="/js/main.js"></script>
     <script src="/js/main.js"></script>
+    <script src="/qzd/js/task/check.js"></script>
+
 </body>
 </body>
 
 
 
 
+
 </html>
 </html>

+ 7 - 8
VisualInspection/qzd/view/record/record_list.html

@@ -1,22 +1,21 @@
 <script src="/js/statistics/common_statistic.js?__inline"></script>
 <script src="/js/statistics/common_statistic.js?__inline"></script>
 <script src="/qzd/js/task/new.js"></script>
 <script src="/qzd/js/task/new.js"></script>
 <style>
 <style>
-   .button_new{
-           width: 50px
-   }
-
+    .button_new {
+        width: 50px
+    }
 </style>
 </style>
 <div class="container-fluid ">
 <div class="container-fluid ">
     <div class="row">
     <div class="row">
         <form class="form-horizontal" style="margin:0px;">
         <form class="form-horizontal" style="margin:0px;">
             <div class="form-group" style="margin:0px;">
             <div class="form-group" style="margin:0px;">
-                <div class="form-group col-sm-2">
+                <div class="form-group col-sm-3">
                     <label for="exampleInputAccount1" class="col-sm-4" style="text-align: left;padding-right:0">时间:</label>
                     <label for="exampleInputAccount1" class="col-sm-4" style="text-align: left;padding-right:0">时间:</label>
                     <div class="col-sm-8">
                     <div class="col-sm-8">
                         <input type="text" id="start_time" class="form-control form-date" placeholder="选择周期">
                         <input type="text" id="start_time" class="form-control form-date" placeholder="选择周期">
                     </div>
                     </div>
                 </div>
                 </div>
-                <div class="form-group col-sm-2">
+                <div class="form-group col-sm-3">
                     <label for="exampleInputAccount1" class="col-sm-4">部门:</label>
                     <label for="exampleInputAccount1" class="col-sm-4">部门:</label>
                     <div class="col-sm-8">
                     <div class="col-sm-8">
                         <select class="form-control" id="deptlist">
                         <select class="form-control" id="deptlist">
@@ -29,9 +28,9 @@
                     <button class="btn btn-info2 col-sm-1" style="width:80px;" type="button" onclick="queryTask()" style="">查询</button>
                     <button class="btn btn-info2 col-sm-1" style="width:80px;" type="button" onclick="queryTask()" style="">查询</button>
                 </div>
                 </div>
                 <div class="form-group col-sm-2" style="float: right">
                 <div class="form-group col-sm-2" style="float: right">
-                <button id="saveButton" class="btn btn-info2 col-sm-1" style="height:40px;width:90px;display: none" type="button" onclick="addTask()" >新增</button>
+                    <button id="saveButton" class="btn btn-info2 col-sm-1" style="height:40px;width:90px;display: none" type="button" onclick="addTask()">新增</button>
                 </div>
                 </div>
-            </div>  
+            </div>
         </form>
         </form>
     </div>
     </div>
     <hr style="margin-top:0px;">
     <hr style="margin-top:0px;">

+ 44 - 40
VisualInspection/qzd/view/task/check.html

@@ -31,33 +31,34 @@
 
 
 
 
                                 <div id="video_content">
                                 <div id="video_content">
-                                        <div class="tab-content" id="tabcontent" style="height:400px;text-align: center;background:black;" ondblclick="becomebig()">
-                                                <video id="example_video_1" class="video-js vjs-default-skin vjs-big-play-centered" controls >
-                                                        <!-- <source src="http://yun.it7090.com/video/XHLaunchAd/video01.mp4" type='video/mp4' /> -->
-                                                       </video> 
-                                            </div>
-                                    <div class="row" class="col-md-12" style="padding:5px 10px 25px 10px;text-align:center;margin:0px">
-                                        <!-- <input id="ex1" class="col-md-12" type="text" data-slider-min="0" data-slider-max="100" data-slider-step="1" data-slider-value="0" />
-                                        <br/> -->
-                                        <!-- <span id="ex1_span" style="position: absolute;left: 25px;">2017-06-12 23:00:00</span> -->
+                                    <div class="tab-content" id="tabcontent" style="height:400px;text-align: center;background:black;" ondblclick="dbclick()">
+                                        <div class="video" style="width:100%;height:100%;"></div>
+                                        <!-- <video id="example_video_1" class="video-js vjs-default-skin vjs-big-play-centered" preload="auto"> -->
+                                        <!-- <source src="http://yun.it7090.com/video/XHLaunchAd/video01.mp4" type='video/mp4' /> -->
+                                        <!-- </video> -->
                                     </div>
                                     </div>
-                                    <div class="row" style="padding:0px 5px 0px 5px;text-align:center;margin:0px">
-                                        <!-- <div class="col-md-4 " style="padding-left:0">
-                                            <div class="input-group" style="padding-left:0">
+                                    <!-- <div class="row" class="col-md-12" style="padding:5px 10px 25px 10px;text-align:center;margin:0px">
+                                        <input id="ex1" class="col-md-12" type="text" data-slider-min="0" data-slider-max="100" data-slider-step="1" data-slider-value="0" />
+                                        <br/>
+                                        <span id="ex1_span" style="position: absolute;left: 25px;">23:00:00</span>
+                                    </div> -->
+                                    <div class="row" style="padding:10px 5px 0px 5px;text-align:center;margin:0px">
+                                        <div class="col-md-4 " style="padding-left:0">
+                                            <!-- <div class="input-group" style="padding-left:0">
                                                 <input type="text" id="video_pos" style="height:42px" class="form-control" placeholder="时间偏移值">
                                                 <input type="text" id="video_pos" style="height:42px" class="form-control" placeholder="时间偏移值">
                                                 <span class="input-group-btn">
                                                 <span class="input-group-btn">
                                                 <button class="btn btn-default" style="height:42px" onclick="setVideoPos()" type="button">校正</button>
                                                 <button class="btn btn-default" style="height:42px" onclick="setVideoPos()" type="button">校正</button>
-                                             </span>
-                                            </div>
-                                        </div> -->
+                                             </span> -->
+                                            <!-- </div> -->
+                                        </div>
                                         <div class="btn-group1" style="float:right;">
                                         <div class="btn-group1" style="float:right;">
                                             <!-- <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('start')"><i class="icon icon-play-circle icon-2x"></i></button>
                                             <!-- <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('start')"><i class="icon icon-play-circle icon-2x"></i></button>
                                             <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('stop')"><i class="icon icon-pause icon-2x"></i></button>
                                             <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('stop')"><i class="icon icon-pause icon-2x"></i></button>
                                             <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('fast')"><i class="icon icon-forward icon-2x"></i><span id="fast_info"></span></button>
                                             <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('fast')"><i class="icon icon-forward icon-2x"></i><span id="fast_info"></span></button>
                                             <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('slow')"><span id="slow_info"></span><i class="icon icon-backward icon-2x"></i></button> -->
                                             <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('slow')"><span id="slow_info"></span><i class="icon icon-backward icon-2x"></i></button> -->
-                                            <button type="button" class="btn btn-info1 " style="width:41px;height:41px" id="video_btn_start" onclick="doAction('video_start')"><img id="video_btn_start_img" style="width:30px" src="/images/video.png"></img></button>
-                                            <button type="button" class="btn btn-info1 hidden" style="width:41px;height:41px" id="video_btn_stop" onclick="doAction('video_stop')"><i class="icon icon-stop icon-2x"></i></button>
-                                            <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('screenshot')"><i class="icon icon-camera icon-2x"></i></button>
+                                            <button type="button" class="btn btn-info1 " style="width:41px;height:41px" id="video_btn_start" onclick="videorecordstart('video_start')"><img id="video_btn_start_img" style="width:30px" src="/images/video.png"></img></button>
+                                            <button type="button" class="btn btn-info1 hidden" style="width:41px;height:41px" id="video_btn_stop" onclick="videorecordstart('video_stop')"><i class="icon icon-stop icon-2x"></i></button>
+                                            <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="videorecordstart('screenshot')"><i class="icon icon-camera icon-2x"></i></button>
 
 
 
 
                                         </div>
                                         </div>
@@ -187,12 +188,12 @@
 
 
 <script>
 <script>
     $(document).ready(function() {
     $(document).ready(function() {
-        // $("#video_btn_start").mouseover(function() {
-        //     $("#video_btn_start_img").attr("src", "/images/movie.png");
-        // });
-        // $("#video_btn_start").mouseout(function() {
-        //     $("#video_btn_start_img").attr("src", "/images/video.png");
-        // });
+        $("#video_btn_start").mouseover(function() {
+            $("#video_btn_start_img").attr("src", "/images/movie.png");
+        });
+        $("#video_btn_start").mouseout(function() {
+            $("#video_btn_start_img").attr("src", "/images/video.png");
+        });
         // if ($.checkTask.checked_location_type == 1) {
         // if ($.checkTask.checked_location_type == 1) {
         //     $("li.tab_lane").hide();
         //     $("li.tab_lane").hide();
         //     $("li.tab_not_lane").show();
         //     $("li.tab_not_lane").show();
@@ -204,12 +205,12 @@
         // }
         // }
         initCheck();
         initCheck();
     });
     });
-    
-    $(".vjs-control-bar").change(function(){
+
+    $(".vjs-control-bar").change(function() {
         alert(1);
         alert(1);
     });
     });
 
 
-    function boxclick(){
+    function boxclick() {
         $("#_f").click();
         $("#_f").click();
     }
     }
     //文件上传
     //文件上传
@@ -237,20 +238,23 @@
         }, "task");
         }, "task");
     }
     }
 
 
-      var player = videojs('example-video', {"poster": "","controls": "true"}, function(){this.on('play',function(){
-            console.log('正在播放');
-          }); 
+    // var player = videojs('example-video', {
+    //     "poster": "",
+    //     "controls": "true"
+    // }, function() {
+    //     this.on('play', function() {
+    //         console.log('正在播放');
+    //     });
 
 
-         //暂停--播放完毕后也会暂停
-          this.on('pause',function(){
-                       console.log("暂停中")
-                  }); 
+    //     //暂停--播放完毕后也会暂停
+    //     this.on('pause', function() {
+    //         console.log("暂停中")
+    //     });
 
 
-          // 结束
-          this.on('ended', function() {
-            console.log('结束');
-          })
-        
-    });
+    //     // 结束
+    //     this.on('ended', function() {
+    //         console.log('结束');
+    //     })
 
 
+    // });
 </script>
 </script>

+ 6 - 7
VisualInspection/qzd/view/task/new.html

@@ -1,10 +1,9 @@
 <script src="/js/statistics/common_statistic.js?__inline"></script>
 <script src="/js/statistics/common_statistic.js?__inline"></script>
 <script src="/qzd/js/task/new.js"></script>
 <script src="/qzd/js/task/new.js"></script>
 <style>
 <style>
-   .button_new{
-           width: 50px
-   }
-
+    .button_new {
+        width: 50px
+    }
 </style>
 </style>
 <div class="container-fluid ">
 <div class="container-fluid ">
     <div class="row">
     <div class="row">
@@ -16,7 +15,7 @@
                         <input type="text" id="start_time" class="form-control form-date" placeholder="选择周期">
                         <input type="text" id="start_time" class="form-control form-date" placeholder="选择周期">
                     </div>
                     </div>
                 </div>
                 </div>
-                <div class="form-group col-sm-2">
+                <div class="form-group col-sm-">
                     <label for="exampleInputAccount1" class="col-sm-4">部门:</label>
                     <label for="exampleInputAccount1" class="col-sm-4">部门:</label>
                     <div class="col-sm-8">
                     <div class="col-sm-8">
                         <select class="form-control" id="deptlist">
                         <select class="form-control" id="deptlist">
@@ -29,9 +28,9 @@
                     <button class="btn btn-info2 col-sm-1" style="width:80px;" type="button" onclick="queryTask()" style="">查询</button>
                     <button class="btn btn-info2 col-sm-1" style="width:80px;" type="button" onclick="queryTask()" style="">查询</button>
                 </div>
                 </div>
                 <div class="form-group col-sm-2" style="float: right">
                 <div class="form-group col-sm-2" style="float: right">
-                <button class="btn btn-info2 col-sm-1" style="height:40px;width:90px;" type="button" onclick="addTask()" >新增</button>
+                    <button class="btn btn-info2 col-sm-1" style="height:40px;width:90px;" type="button" onclick="addTask()">新增</button>
                 </div>
                 </div>
-            </div>  
+            </div>
         </form>
         </form>
     </div>
     </div>
     <hr style="margin-top:0px;">
     <hr style="margin-top:0px;">

Plik diff jest za duży
+ 0 - 50
VisualInspection_server/visual/visual.log


+ 1 - 0
Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/bean/QzdCheckTask.java

@@ -55,6 +55,7 @@ public class QzdCheckTask implements Serializable {
 
 
     private Integer invalidFrom;
     private Integer invalidFrom;
 
 
+    private String recordVideos;
 
 
     private Long[] dispatch_ids;
     private Long[] dispatch_ids;
 
 

+ 3 - 2
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/mapper/master/TaskMapper.xml

@@ -30,10 +30,11 @@
         ORDER BY start_time DESC
         ORDER BY start_time DESC
     </select>
     </select>
 
 
-    <select id="getall" parameterType="com.xintong.visualinspection.bean.FwqCheckTask" resultType="com.xintong.visualinspection.bean.QzdCheckTask">
+    <select id="getall" parameterType="com.xintong.visualinspection.bean.QzdCheckTask" resultType="com.xintong.visualinspection.bean.QzdCheckTask">
         select t.*,CONCAT(substr(t.start_time,1,16),'-',substr(t.end_time,12,5)) as check_period
         select t.*,CONCAT(substr(t.start_time,1,16),'-',substr(t.end_time,12,5)) as check_period
-        ,ca.appeal_result as appeal_result
+        ,ca.appeal_result as appeal_result,r.videos as recordVideos
         from check_task t
         from check_task t
+        left join record_info r on  t.record_id = r.id
         left join check_appeal ca on t.id=ca.task_id
         left join check_appeal ca on t.id=ca.task_id
         where 1=1
         where 1=1
         <if test="period_id != null">AND t.period_id = #{period_id}</if>
         <if test="period_id != null">AND t.period_id = #{period_id}</if>

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików