Procházet zdrojové kódy

添加进度时间
添加班长中组员扣分明细

温红权 před 8 roky
rodič
revize
3f4429204d

+ 47 - 4
VisualInspection/js/mytask/check.js

@@ -5,6 +5,24 @@ function initCheck() {
         setVideoProcess(slideEvt.value);
     });
 
+    $("#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();
+
+
+        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 ($.checkTask) {
+
+            var time = moment($.checkTask.start_time);
+            var c_time = time.add(sender.value.newValue, "s");
+            $("#ex1_span").html(c_time.format("YYYY-MM-DD HH:mm:ss"))
+        }
+    });
+
+
 
     $("#tabcontent").css("height", ($("#video_content").height() - 80) + "px");
 
@@ -46,6 +64,9 @@ function initCheck() {
         initCheckAppealBtns();
         setFeSelect("#fsList", $.checkTask.checked_dept);
 
+        $("#ex1_span").html($.checkTask.start_time)
+        $("#full_ex1_span").html($.checkTask.start_time)
+
         $("#lane").val($.checkTask.checked_location);
         $("#check_time").val($.checkTask.check_period);
         // setLaneSelect("#lane", $.checkTask.checked_location);
@@ -72,6 +93,8 @@ function initCheck() {
         playVideo($(this).val());
     });
 
+    fullscreen()
+
 }
 
 function setfastorslow(type, speed) {
@@ -111,14 +134,15 @@ function normalscreen() {
 var layer_full = null;
 
 function fullscreen() {
-    var height = window.innerWidth * 0.8 * 1 / 2.0 + 90
+    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 5px 10px;text-align:center;margin:0px">' +
+        '                                <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"/>' +
+        '                                    <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">' +
@@ -150,7 +174,7 @@ function fullscreen() {
         anim: -1,
         closeBtn: 0,
         shadeClose: false,
-        content: "<div id='layer_content' >" + contenthtml + "</div>",
+        content: "<div id='layer_content' style='padding-bottom:10px' >" + contenthtml + "</div>",
         success: function(layero, index) {
 
             // slider_current_value = 90;
@@ -160,6 +184,25 @@ function fullscreen() {
             $("#full_ex1").on("slideStop", function(slideEvt) {
                 setVideoProcess(slideEvt.value);
             });
+
+            $("#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 c_time = time.add(sender.value.newValue, "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);
@@ -170,7 +213,7 @@ function fullscreen() {
             $("#full_slow_info").html($("#slow_info").html());
 
 
-            $("#full_tabcontent").css("height", (height - 90) + "px");
+            $("#full_tabcontent").css("height", (height - 110) + "px");
             $("#full_tabcontent").css("width", "100%");
             setTimeout(function() {
                 callFunc("setvideoposition", getVideoPosition($("#full_tabcontent")))

+ 2 - 1
VisualInspection/js/statistics/personal_data_statistics.js

@@ -108,7 +108,8 @@ $(function() {
         var cols = [
             { width: 50, text: '序号', flex: true, colClass: 'text-center', field: 'num' },
             { width: 100, text: '时间段', flex: true, colClass: 'text-center', field: 'check_task_time_name' },
-            { width: 60, text: '扣分数', flex: true, colClass: 'text-center', field: 'score', nullvalue: '0' },
+            { width: 80, text: '扣分人', flex: true, colClass: 'text-center', field: 'checked_name' },
+            { width: 40, text: '扣分数', flex: true, colClass: 'text-center', field: 'score', nullvalue: '0' },
             { width: 100, text: '考核类型', flex: true, colClass: 'text-center', sort: 'down', field: 'parent_name' },
             { width: 100, text: '考核项', flex: true, colClass: 'text-center', sort: 'down', field: 'name' },
             { width: 100, text: '扣分凭证', type: 'imagedd', flex: true, hide: hide, field: 'pics' },

+ 73 - 69
VisualInspection/js/util/video.js

@@ -1,130 +1,134 @@
-
-function setProgress(percent){
+function setProgress(percent) {
     $('input[type="range"]').val(percent).change();
 }
 
-function doAction(func){
-    if(func.indexOf("video")!=-1){
-       if(func.indexOf("start")!=-1){
+function doAction(func) {
+    if (func.indexOf("video") != -1) {
+        if (func.indexOf("start") != -1) {
             $("#video_btn_start").addClass("hidden");
             $("#video_btn_stop").removeClass("hidden");
-            if($("#full_video_btn_start").length>0){
-               $("#full_video_btn_start").addClass("hidden");
-               $("#full_video_btn_stop").removeClass("hidden");
+            if ($("#full_video_btn_start").length > 0) {
+                $("#full_video_btn_start").addClass("hidden");
+                $("#full_video_btn_stop").removeClass("hidden");
             }
-       }
-        if(func.indexOf("stop")!=-1){
+        }
+        if (func.indexOf("stop") != -1) {
             $("#video_btn_start").removeClass("hidden");
             $("#video_btn_stop").addClass("hidden");
-            if($("#full_video_btn_start").length>0){
-               $("#full_video_btn_stop").addClass("hidden");
-               $("#full_video_btn_start").removeClass("hidden");
+            if ($("#full_video_btn_start").length > 0) {
+                $("#full_video_btn_stop").addClass("hidden");
+                $("#full_video_btn_start").removeClass("hidden");
             }
-       }
-       callFunc(func, '');
-    }else{
-       callFunc(func, '');
+        }
+        callFunc(func, '');
+    } else {
+        callFunc(func, '');
     }
-   
+
 }
 
-function setVideoPos(){
+function setVideoPos() {
+
+    var pos = $("#video_pos").val();
+    if ($("#full_video_pos").length > 0) {
+        pos = $("#full_video_pos").val();
+    }
+
 
-   var pos = $("#video_pos").val();
-   if($("#full_video_pos").length >0){
-       pos = $("#full_video_pos").val();
-   }
-  
-   
-   if(/^(\+|-)?\d+($|\.\d+$)/.test(pos)){
-       slider_current_value = pos;
-       callFunc("video_pos", pos);
-   }
+    if (/^(\+|-)?\d+($|\.\d+$)/.test(pos)) {
+        slider_current_value = pos;
+        callFunc("video_pos", pos);
+    }
 
 }
 
-function queryVideoList(){
+function queryVideoList() {
 
     var videos = $.checkTask.video_id.split(',');
 
-    if(curVideo) {
-        s1 = $.checkTask.start_time.replace(/-/g,"/");
-        var startTime = new Date(s1).getTime()/1000;
-        s1 = $.checkTask.end_time.replace(/-/g,"/");
-        var endTime = new Date(s1).getTime()/1000;
+    if (curVideo) {
+        s1 = $.checkTask.start_time.replace(/-/g, "/");
+        var startTime = new Date(s1).getTime() / 1000;
+        s1 = $.checkTask.end_time.replace(/-/g, "/");
+        var endTime = new Date(s1).getTime() / 1000;
         //获取当前的index
         var index = 0;
 
-        for(var i = 0;i<videos.length;i++){
-              
-             if(parseInt(videos[i])==parseInt(curVideo)){
+        for (var i = 0; i < videos.length; i++) {
+
+            if (parseInt(videos[i]) == parseInt(curVideo)) {
                 index = i;
                 break;
-             }
+            }
         }
-      
+
         //获取摄像头信息
-        VideoGetById(curVideo,function(data){
-            if(data!=null && typeof(data)!="undefined"){
-                var str = curVideo+'|'+startTime+'|'+endTime+'|'+data.cameratype+'|'+data.playtype+'|'+index;
-                callFunc("findvideolist",str);
+        VideoGetById(curVideo, function(data) {
+            if (data != null && typeof(data) != "undefined") {
+                var str = curVideo + '|' + startTime + '|' + endTime + '|' + data.cameratype + '|' + data.playtype + '|' + index;
+                callFunc("findvideolist", str);
             }
-        },function(error){
+        }, function(error) {
 
         });
 
         // alert(curVideo);
-        
-    }else{
+
+    } else {
 
     }
 }
 
-function playVideo(id){
+function playVideo(id) {
     callFunc("playvideo", id);
 }
 var maxVV;
-function setProcessValue(maxValue){
-     //alert(maxValue);
+
+function setProcessValue(maxValue) {
+    //alert(maxValue);
     // console.log(max);
     maxVV = maxValue;
-    $("#ex1").slider({step: 5, min: 0, max: maxValue});
-    if($("#full_ex1").length>0){
-         $("#full_ex1").slider({step: 5, min: 0, max: maxValue});
+    $("#ex1").slider({ step: 5, min: 0, max: maxValue });
+    if ($("#full_ex1").length > 0) {
+        $("#full_ex1").slider({ step: 5, min: 0, max: maxValue });
     }
 }
 
 var slider_current_value = 0;
-function setCurrentProcessValue(value){
+
+function setCurrentProcessValue(value) {
     // alert("ddd"+value);
     // console.log(value);
-    
-    var vv =maxVV*(value/100)
+
+    var vv = maxVV * (value / 100)
     slider_current_value = parseInt(vv);
-    $("#ex1").slider('setValue',parseInt(vv));
-     if($("#full_ex1").length>0){
-         $("#full_ex1").slider('setValue',parseInt(vv));
+    $("#ex1").slider('setValue', parseInt(vv));
+    if ($("#full_ex1").length > 0) {
+        $("#full_ex1").slider('setValue', parseInt(vv));
     }
 }
 
-function setVideoProcess(value){
+function setVideoProcess(value) {
+
+
+
     // console.log(value);
-    var vv = value*100/maxVV;
-    if(!isNaN(vv) && parseInt(vv).toString() != "NaN") {
-          callFunc("setcurrenplayttime", parseInt(vv)); 
-    }else{
+    var vv = value * 100 / maxVV;
+    if (!isNaN(vv) && parseInt(vv).toString() != "NaN") {
+        callFunc("setcurrenplayttime", parseInt(vv));
+    } else {
 
     }
-    
+
 }
 
-function callFunc(func, param){
+function callFunc(func, param) {
     var event = document.createEvent('MessageEvent');
     var origin = window.location.protocol + '//' + window.location.host;
-    event.initMessageEvent (func, true, true, param, origin, 1234, window, null);
-    document.dispatchEvent (event);
+    event.initMessageEvent(func, true, true, param, origin, 1234, window, null);
+    document.dispatchEvent(event);
 }
 
-function playNext(index){
+function playNext(index) {
     $("#video_list").val(index);
 }

+ 269 - 267
VisualInspection/view/mytask/check.html

@@ -1,268 +1,270 @@
-<script type="text/javascript" src="/js/lib/sonic.js?__inline"></script>
-<div class="container-fluid ">
-    <div class="row">
-        <form class="form-horizontal">
-            <div class="form-group">
-                <div class="form-group col-sm-3">
-                    <label for="exampleInputAccount1"  class="col-sm-3">收费站</label>
-                    <div class="col-sm-9">
-                        <select class="form-control col-sm-7" id="fsList" disabled="disabled">                       
-                        </select>
-                    </div>
-                </div>
-                <div class="form-group col-sm-1">
-                    <div class="col-sm-12">
-                        <!--<select class="form-control" id="lane" disabled="disabled"></select>-->
-                        <input type="text" class="form-control" id="lane" disabled="disabled" />
-                    </div>
-                </div>
-                <div class="form-group col-sm-3">
-                    <label for="exampleInputAccount1"  class="col-sm-3">时间</label>
-                    <div class="col-sm-9">
-                        <!--<select class="form-control" id="lane" disabled="disabled"></select>-->
-                        <input type="text" class="form-control" id="check_time" disabled="disabled" />
-                    </div>
-                </div>
-                <div class="form-group col-sm-4">
-                    <label class="col-sm-3">考核人员</label>
-                    <div class="col-sm-9" id="user_img_container">
-                        <!-- 使用图片 -->
-                        <a id="person_img" href="../../images/img4.jpg" class="lightbox-toggle"><img src="../../images/img4.jpg" class="img-thumbnail" style="width:50px;height:50px;margin-top:-10px;"></a>
-                        <label id="checked_person"></label>
-                        <a href="javascript:void(0)" onclick="showCheckDetailCount()">次数<label id="checked_count"></label></a>
-                    </div>
-                </div>
-                <div class="col-sm-1">
-                    <button class="btn btn-primary " type="button" onclick="showChangeUser()">更改考核人员</button>
-                </div>
-
-            </div>
-        </form>
-    </div>
-
-    <div class="row">
-        <div class="col-sm-6">
-            <div id="dashboard" class="dashboard dashboard-draggable" data-height="300">
-                <section class="row">
-                    <div class="col-md-12">
-                        <div class="panel" data-id="1">
-
-                            <div class="panel-body" style="padding:5px;">
-                                <ul class="nav nav-secondary">
-                                    <li class="tab_lane" class="active"><a data-tab href="#tabContent1" bbb="0">收费亭</a></li>
-                                    <li class="tab_lane"><a data-tab href="#tabContent2" bbb="1">车道</a></li>
-                                    <li class="tab_lane"><a data-tab href="#tabContent3" bbb="2">广场</a></li>
-                                    <li class="tab_not_lane"><a data-tab href="#tabContent4" bbb="3">值机室</a></li>
-                                </ul>
-
-
-                                <div id="video_content">
-                                    <div class="tab-content" id="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 5px 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" />
-                                    </div>
-                                    <div class="row" style="padding:0px 5px 0px 5px;text-align:center;margin:0px">
-                                        <select class="form-control" id="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="video_pos" style="height:42px" class="form-control" placeholder="时间偏移值">
-                                                <span class="input-group-btn">
-                                                <button class="btn btn-default" style="height:42px" onclick="setVideoPos()" type="button">校正</button>
-                                             </span>
-                                            </div>
-                                        </div>
-                                        <div class="btn-group" style="float:right;">
-                                            <button type="button" class="btn btn-info" style="width:51px;height:42px" onclick="doAction('start')"><i class="icon icon-play-circle icon-2x"></i></button>
-                                            <button type="button" class="btn btn-info" style="width:51px;height:42px" onclick="doAction('stop')"><i class="icon icon-pause icon-2x"></i></button>
-                                            <button type="button" class="btn btn-info" style="width:51px;height:42px" onclick="doAction('fast')"><i class="icon icon-forward icon-2x"></i><span id="fast_info"></span></button>
-                                            <button type="button" class="btn btn-info" style="width:51px;height:42px" onclick="doAction('slow')"><span id="slow_info"></span><i class="icon icon-backward icon-2x"></i></button>
-                                            <button type="button" class="btn btn-danger " style="width:51px;height:42px" id="video_btn_start" onclick="doAction('video_start')"><img style="width:30px" src="/images/movie.png"></img></i></button>
-                                            <button type="button" class="btn btn-danger hidden" style="width:51px;height:42px" id="video_btn_stop" onclick="doAction('video_stop')"><i class="icon icon-stop icon-2x"></i></button>
-                                            <button type="button" class="btn btn-success" style="width:51px;height:42px" onclick="doAction('screenshot')"><i class="icon icon-camera icon-2x"></i></button>
-
-
-                                        </div>
-
-                                    </div>
-                                    <!--<hr>-->
-
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                </section>
-
-
-            </div>
-
-        </div>
-        <div class="col-sm-6">
-            <div id="score_datatable" style="height:350px;" data-checkable="true" data-sortable="true"></div>
-            <div class="row">
-                <div id="dashboard" class="dashboard dashboard-draggable" data-height="300">
-
-                    <div class="row" class="col-sm-11" style="margin:5px;">
-                        <button class="btn btn-primary" type="button" onclick="clearAllImg()" style="margin-right:10px;">清空</button>
-                        <button class="btn btn-danger" type="button" onclick="showScore()" style="margin-right:10px;">评分</button>
-                        <button id="saveEditBtn" class="btn btn-warning" type="button" onclick="saveEdit()" style="margin-right:10px;display:none;">保存修改</button>
-                        <form id="form1" runat="server" method="post" enctype="multipart/form-data" style="float:left;margin-right:10px;">
-                            <div>
-                                <button id="box" class="btn btn-primary" type="button">上传</button>
-                                <div style="display:none;">
-                                    <input type="file" name="_f" id="_f" />
-                                </div>
-                            </div>
-                        </form>
-                    </div>
-                    <div class="panel">
-                        <div class="panel-body" style="padding:5px;" class="col-sm-12">
-                            <div id="img_container" class="cards cards-borderless col-sm-12" style="height:100px;overflow:auto;">
-                            </div>
-                        </div>
-                    </div>
-                </div>
-
-            </div>
-            <div class="row" style="margin-top:5px;">
-                <div class="col-sm-10" id="btn_task">
-                    <button class="btn btn-primary" type="button" onclick="submitCheck()">直接提交</button>
-                    <button class="btn btn-primary" type="button" onclick="showPre()">预览提交</button>
-                    <button class="btn btn-danger" type="button" onclick="showInvalid()">申请无效</button>
-                    <!--<button class="btn btn-primary" type="button" data-toggle="modal" data-target="#refuseApplyWin">拒绝申请</button>
-                    <button class="btn btn-primary" type="button" onclick="agreeApply()">同意申请</button>-->
-                </div>
-                <div class="col-sm-10" id="btn_appeal_task">
-                    <button class="btn btn-primary" type="button" onclick="submitCheck4Appeal()">直接提交</button>
-                    <button class="btn btn-primary" type="button" onclick="showPre4Appeal()">预览提交</button>
-                    <!--<button class="btn btn-primary" type="button" data-toggle="modal" data-target="#refuseApplyWin">拒绝申请</button>
-                    <button class="btn btn-primary" type="button" onclick="agreeApply()">同意申请</button>-->
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-<div id="appeal_div" style="display:none;">
-    <link rel="import" href="/view/mytask/appealDetail.html?__inline">
-</div>
-<div id="form-div" style="display:none;text-align:center;">
-    <link rel="import" href="/view/mytask/changePerson.html?__inline">
-</div>
-<div id="items-div" style="display:none;text-align:center;">
-    <ul id="items_tree" class="ztree"></ul>
-</div>
-<div id="score-detail-div" style="display:none;text-align:center;">
-    <link rel="import" href="/view/mytask/scoreDetail.html?__inline">
-</div>
-<!-- 对话框HTML -->
-<div class="modal fade" id="validSubmitWin">
-    <div class="modal-dialog">
-        <div class="modal-content">
-            <div class="modal-header">
-                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">关闭</span></button>
-                <h4 class="modal-title">无效申请</h4>
-            </div>
-            <div class="modal-body">
-                <form class="form-horizontal">
-                    <label for="exampleInputAccount1" class="col-sm-2">无效原因</label>
-                    <div class="form-group">
-                        <input class="col-sm-3" type="text" id="valid-reason" class="form-control" placeholder="原因">
-                    </div>
-                </form>
-            </div>
-            <div class="modal-footer">
-                <button type="button" class="btn btn-primary" onclick="saveValidReason()">保存</button>
-            </div>
-        </div>
-    </div>
-</div>
-<!-- 对话框HTML -->
-<div id="invalid_div" style="display:none;text-align:center;">
-    <div class="container-fluid" style="overflow: hidden">
-        <div class="cards">
-            <div class="form-group">
-                <div class="col-md-6 col-sm-10">
-                    <input type="text" name="tags" class="form-control" id="apply_reason" placeholder="">
-                </div>
-            </div>
-            <br>
-            <div class="row" style="clear:both;height:100%;">
-            </div>
-            <div class="row" id="top_reason_div" style="padding:15px;">
-            </div>
-        </div>
-    </div>
-</div>
-<div id="checked_task_list_div" style="display:none;text-align:center;">
-    <div class="datatable" id="checked_user_task_datatable"></div>
-</div>
-<!-- 对话框HTML -->
-<div id="hide_div" style="display:none;text-align:center;">
-</div>
-<img id="userBigImg" style="display:none;margin-right:20px;" />
-<script>
-    var curVideo;
-    $(document).ready(function() {
-        if ($.checkTask.checked_location_type == 1) {
-            $("li.tab_lane").hide();
-            $("li.tab_not_lane").show();
-            $("li.tab_not_lane").addClass("active");
-        } else {
-            $("li.tab_lane").show();
-            $("li.tab_not_lane").hide();
-            $("li.tab_lane:first").addClass("active");
-        }
-        initCheck();
-
-        $('[data-tab]').on('shown.zui.tab', function(e) {
-            // console.log('当前被激活的标签页', $(e.target).attr('bbb'));
-            // console.log('上一个标签页', e.relatedTarget);
-            var i = $(e.target).attr('bbb');
-            var showVideo;
-            if (i == 3) {
-                showVideo = $.checkTask.video_id;
-            } else {
-                var videos = $.checkTask.video_id.split(',');
-                showVideo = videos[i];
-            }
-
-            if (showVideo != "" && showVideo && showVideo != "undefined") {
-                curVideo = showVideo;
-                queryVideoList();
-            } else {
-                callFunc("showvideoview", "false");
-                layer.msg('暂无视屏!', {
-                    time: 2000, //20s后自动关闭
-                });
-                callFunc("stop", "");
-            }
-
-        });
-
-
-    });
-
-    $("#box").click(function() {
-        return $("#_f").click();
-    });
-
-    $("#_f").change(function() {
-        UpladFile();
-    });
-
-    function UpladFile() {
-        var fileObj = document.getElementById("_f").files[0]; // 获取文件对象
-        // var FileController = base_image_server_url +'fileServer/file/upload';// 接收上传文件的后台地址
-        // FormData 对象
-        // var form = new FormData();
-        // form.append("name", "hooyes");                        // 可以增加表单数据
-        // form.append("file", fileObj);                           // 文件对象
-        uploadFile(fileObj, "file", function(data) {
-            addPic(base_image_server_url + data.path);
-        }, function(error) {
-            console.log(error)
-        }, "task");
-    }
+<script type="text/javascript" src="/js/lib/sonic.js?__inline"></script>
+<div class="container-fluid ">
+    <div class="row">
+        <form class="form-horizontal">
+            <div class="form-group">
+                <div class="form-group col-sm-3">
+                    <label for="exampleInputAccount1" class="col-sm-3">收费站</label>
+                    <div class="col-sm-9">
+                        <select class="form-control col-sm-7" id="fsList" disabled="disabled">
+                        </select>
+                    </div>
+                </div>
+                <div class="form-group col-sm-1">
+                    <div class="col-sm-12">
+                        <!--<select class="form-control" id="lane" disabled="disabled"></select>-->
+                        <input type="text" class="form-control" id="lane" disabled="disabled" />
+                    </div>
+                </div>
+                <div class="form-group col-sm-3">
+                    <label for="exampleInputAccount1" class="col-sm-3">时间</label>
+                    <div class="col-sm-9">
+                        <!--<select class="form-control" id="lane" disabled="disabled"></select>-->
+                        <input type="text" class="form-control" id="check_time" disabled="disabled" />
+                    </div>
+                </div>
+                <div class="form-group col-sm-4">
+                    <label class="col-sm-3">考核人员</label>
+                    <div class="col-sm-9" id="user_img_container">
+                        <!-- 使用图片 -->
+                        <a id="person_img" href="../../images/img4.jpg" class="lightbox-toggle"><img src="../../images/img4.jpg" class="img-thumbnail" style="width:50px;height:50px;margin-top:-10px;"></a>
+                        <label id="checked_person"></label>
+                        <a href="javascript:void(0)" onclick="showCheckDetailCount()">次数<label id="checked_count"></label></a>
+                    </div>
+                </div>
+                <div class="col-sm-1">
+                    <button class="btn btn-primary " type="button" onclick="showChangeUser()">更改考核人员</button>
+                </div>
+
+            </div>
+        </form>
+    </div>
+
+    <div class="row">
+        <div class="col-sm-6">
+            <div id="dashboard" class="dashboard dashboard-draggable" data-height="300">
+                <section class="row">
+                    <div class="col-md-12">
+                        <div class="panel" data-id="1">
+
+                            <div class="panel-body" style="padding:5px;">
+                                <ul class="nav nav-secondary">
+                                    <li class="tab_lane" class="active"><a data-tab href="#tabContent1" bbb="0">收费亭</a></li>
+                                    <li class="tab_lane"><a data-tab href="#tabContent2" bbb="1">车道</a></li>
+                                    <li class="tab_lane"><a data-tab href="#tabContent3" bbb="2">广场</a></li>
+                                    <li class="tab_not_lane"><a data-tab href="#tabContent4" bbb="3">值机室</a></li>
+                                </ul>
+
+
+                                <div id="video_content">
+                                    <div class="tab-content" id="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="ex1" class="col-md-12" type="text" data-slider-min="0" data-slider-max="100" data-slider-step="1" data-slider-value="0" />
+
+                                        <span id="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="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="video_pos" style="height:42px" class="form-control" placeholder="时间偏移值">
+                                                <span class="input-group-btn">
+                                                <button class="btn btn-default" style="height:42px" onclick="setVideoPos()" type="button">校正</button>
+                                             </span>
+                                            </div>
+                                        </div>
+                                        <div class="btn-group" style="float:right;">
+                                            <button type="button" class="btn btn-info" style="width:51px;height:42px" onclick="doAction('start')"><i class="icon icon-play-circle icon-2x"></i></button>
+                                            <button type="button" class="btn btn-info" style="width:51px;height:42px" onclick="doAction('stop')"><i class="icon icon-pause icon-2x"></i></button>
+                                            <button type="button" class="btn btn-info" style="width:51px;height:42px" onclick="doAction('fast')"><i class="icon icon-forward icon-2x"></i><span id="fast_info"></span></button>
+                                            <button type="button" class="btn btn-info" style="width:51px;height:42px" onclick="doAction('slow')"><span id="slow_info"></span><i class="icon icon-backward icon-2x"></i></button>
+                                            <button type="button" class="btn btn-danger " style="width:51px;height:42px" id="video_btn_start" onclick="doAction('video_start')"><img style="width:30px" src="/images/movie.png"></img></i></button>
+                                            <button type="button" class="btn btn-danger hidden" style="width:51px;height:42px" id="video_btn_stop" onclick="doAction('video_stop')"><i class="icon icon-stop icon-2x"></i></button>
+                                            <button type="button" class="btn btn-success" style="width:51px;height:42px" onclick="doAction('screenshot')"><i class="icon icon-camera icon-2x"></i></button>
+
+
+                                        </div>
+
+                                    </div>
+                                    <!--<hr>-->
+
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </section>
+
+
+            </div>
+
+        </div>
+        <div class="col-sm-6">
+            <div id="score_datatable" style="height:350px;" data-checkable="true" data-sortable="true"></div>
+            <div class="row">
+                <div id="dashboard" class="dashboard dashboard-draggable" data-height="300">
+
+                    <div class="row" class="col-sm-11" style="margin:5px;">
+                        <button class="btn btn-primary" type="button" onclick="clearAllImg()" style="margin-right:10px;">清空</button>
+                        <button class="btn btn-danger" type="button" onclick="showScore()" style="margin-right:10px;">评分</button>
+                        <button id="saveEditBtn" class="btn btn-warning" type="button" onclick="saveEdit()" style="margin-right:10px;display:none;">保存修改</button>
+                        <form id="form1" runat="server" method="post" enctype="multipart/form-data" style="float:left;margin-right:10px;">
+                            <div>
+                                <button id="box" class="btn btn-primary" type="button">上传</button>
+                                <div style="display:none;">
+                                    <input type="file" name="_f" id="_f" />
+                                </div>
+                            </div>
+                        </form>
+                    </div>
+                    <div class="panel">
+                        <div class="panel-body" style="padding:5px;" class="col-sm-12">
+                            <div id="img_container" class="cards cards-borderless col-sm-12" style="height:100px;overflow:auto;">
+                            </div>
+                        </div>
+                    </div>
+                </div>
+
+            </div>
+            <div class="row" style="margin-top:5px;">
+                <div class="col-sm-10" id="btn_task">
+                    <button class="btn btn-primary" type="button" onclick="submitCheck()">直接提交</button>
+                    <button class="btn btn-primary" type="button" onclick="showPre()">预览提交</button>
+                    <button class="btn btn-danger" type="button" onclick="showInvalid()">申请无效</button>
+                    <!--<button class="btn btn-primary" type="button" data-toggle="modal" data-target="#refuseApplyWin">拒绝申请</button>
+                    <button class="btn btn-primary" type="button" onclick="agreeApply()">同意申请</button>-->
+                </div>
+                <div class="col-sm-10" id="btn_appeal_task">
+                    <button class="btn btn-primary" type="button" onclick="submitCheck4Appeal()">直接提交</button>
+                    <button class="btn btn-primary" type="button" onclick="showPre4Appeal()">预览提交</button>
+                    <!--<button class="btn btn-primary" type="button" data-toggle="modal" data-target="#refuseApplyWin">拒绝申请</button>
+                    <button class="btn btn-primary" type="button" onclick="agreeApply()">同意申请</button>-->
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<div id="appeal_div" style="display:none;">
+    <link rel="import" href="/view/mytask/appealDetail.html?__inline">
+</div>
+<div id="form-div" style="display:none;text-align:center;">
+    <link rel="import" href="/view/mytask/changePerson.html?__inline">
+</div>
+<div id="items-div" style="display:none;text-align:center;">
+    <ul id="items_tree" class="ztree"></ul>
+</div>
+<div id="score-detail-div" style="display:none;text-align:center;">
+    <link rel="import" href="/view/mytask/scoreDetail.html?__inline">
+</div>
+<!-- 对话框HTML -->
+<div class="modal fade" id="validSubmitWin">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">关闭</span></button>
+                <h4 class="modal-title">无效申请</h4>
+            </div>
+            <div class="modal-body">
+                <form class="form-horizontal">
+                    <label for="exampleInputAccount1" class="col-sm-2">无效原因</label>
+                    <div class="form-group">
+                        <input class="col-sm-3" type="text" id="valid-reason" class="form-control" placeholder="原因">
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-primary" onclick="saveValidReason()">保存</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!-- 对话框HTML -->
+<div id="invalid_div" style="display:none;text-align:center;">
+    <div class="container-fluid" style="overflow: hidden">
+        <div class="cards">
+            <div class="form-group">
+                <div class="col-md-6 col-sm-10">
+                    <input type="text" name="tags" class="form-control" id="apply_reason" placeholder="">
+                </div>
+            </div>
+            <br>
+            <div class="row" style="clear:both;height:100%;">
+            </div>
+            <div class="row" id="top_reason_div" style="padding:15px;">
+            </div>
+        </div>
+    </div>
+</div>
+<div id="checked_task_list_div" style="display:none;text-align:center;">
+    <div class="datatable" id="checked_user_task_datatable"></div>
+</div>
+<!-- 对话框HTML -->
+<div id="hide_div" style="display:none;text-align:center;">
+</div>
+<img id="userBigImg" style="display:none;margin-right:20px;" />
+<script>
+    var curVideo;
+    $(document).ready(function() {
+        if ($.checkTask.checked_location_type == 1) {
+            $("li.tab_lane").hide();
+            $("li.tab_not_lane").show();
+            $("li.tab_not_lane").addClass("active");
+        } else {
+            $("li.tab_lane").show();
+            $("li.tab_not_lane").hide();
+            $("li.tab_lane:first").addClass("active");
+        }
+        initCheck();
+
+        $('[data-tab]').on('shown.zui.tab', function(e) {
+            // console.log('当前被激活的标签页', $(e.target).attr('bbb'));
+            // console.log('上一个标签页', e.relatedTarget);
+            var i = $(e.target).attr('bbb');
+            var showVideo;
+            if (i == 3) {
+                showVideo = $.checkTask.video_id;
+            } else {
+                var videos = $.checkTask.video_id.split(',');
+                showVideo = videos[i];
+            }
+
+            if (showVideo != "" && showVideo && showVideo != "undefined") {
+                curVideo = showVideo;
+                queryVideoList();
+            } else {
+                callFunc("showvideoview", "false");
+                layer.msg('暂无视屏!', {
+                    time: 2000, //20s后自动关闭
+                });
+                callFunc("stop", "");
+            }
+
+        });
+
+
+    });
+
+    $("#box").click(function() {
+        return $("#_f").click();
+    });
+
+    $("#_f").change(function() {
+        UpladFile();
+    });
+
+    function UpladFile() {
+        var fileObj = document.getElementById("_f").files[0]; // 获取文件对象
+        // var FileController = base_image_server_url +'fileServer/file/upload';// 接收上传文件的后台地址
+        // FormData 对象
+        // var form = new FormData();
+        // form.append("name", "hooyes");                        // 可以增加表单数据
+        // form.append("file", fileObj);                           // 文件对象
+        uploadFile(fileObj, "file", function(data) {
+            addPic(base_image_server_url + data.path);
+        }, function(error) {
+            console.log(error)
+        }, "task");
+    }
 </script>

+ 10 - 1
VisualInspection/view/statistics/personal_data_statistics.html

@@ -70,7 +70,16 @@
         <div class="row-7">
             <div class="col-1"><span style="font-family: '宋体';font-size:15px;">个人得分统计</span></div>
             <div class="line-2"></div>
-            <div class="col-1"><span style="font-family: '宋体';font-size:15px;">个人温馨服务检查问题类别占比</span></div>
+            <div class="col-1"><span style="font-family: '宋体';font-size:15px;">个人温馨服务检查问题类别占比</span>
+                <!-- <select style="float: right;margin-top: 3px;display: inline;width: 80px;" data-placeholder="选择一个宠物..." class="chosen-select form-control" tabindex="2">
+                     <option value=""></option>
+                     <option value="cat">小猫</option>
+                     <option value="fish">金鱼</option>
+                     <option value="dragon">龙</option>
+                     <option value="mammoth">猛犸</option>
+                     <option value="gollum">咕噜</option>
+                </select> -->
+            </div>
         </div>
         <div class="row-8">
             <div id="personal-score-statistics" style="width:49%;height:400px;float:left;"></div>

+ 1 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/StatisticsMapper.xml

@@ -320,7 +320,7 @@
      		LEFT JOIN (SELECT ci.* ,cp.name AS parent_name FROM check_item  ci LEFT JOIN check_item cp ON ci.parent_id = cp.id) ci ON ci.id = cs.check_item_id  
      		where   t.check_status !=22
      		<if test="queryType!=null and queryType==0">
-     			AND   cs.checked_person = #{user_id}
+     			AND (cs.checked_person = #{user_id} OR t.monitor_user_id = #{user_id}  )
      		</if>
      		<if test="queryType!=null and queryType==1 and user_id!=null and user_id!=''">
      			AND  cs.checkman = #{user_id}

+ 10 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/StatisticsServiceImpl.java

@@ -1202,6 +1202,11 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 				SimpleDateFormat formatter2 = new SimpleDateFormat("- HH:mm");
 				sta.setCheck_task_time_name(
 						formatter.format(sta.getStart_date()) + formatter2.format(sta.getEnd_date()));
+
+				if(sta.getUser_id()!=null && obj.getUser_id()!=null) {
+                    sta.setChecked_name(CacheUtil.getUserFromMap(sta.getUser_id()).getTruename() + (obj.getUser_id().intValue() == sta.getUser_id().intValue() ? "" : "(组员)"));
+
+                }
 			}
 		} else {
 			for (StatisticsBean sta : list) {
@@ -1209,6 +1214,11 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 				SimpleDateFormat formatter2 = new SimpleDateFormat("- HH:mm");
 				sta.setCheck_task_time_name(
 						formatter.format(sta.getStart_date()) + formatter2.format(sta.getEnd_date()));
+
+                if(sta.getUser_id()!=null && obj.getUser_id()!=null) {
+                    sta.setChecked_name(CacheUtil.getUserFromMap(sta.getUser_id()).getTruename() + (obj.getUser_id().intValue() == sta.getUser_id().intValue() ? "" : "(组员)"));
+
+                }
 			}
 		}
 		return list;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 4559 - 21
VisualInspection_server/visual/visual.log


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů