forked from nsjcy/frontEnd/nsjcy

Mr Ke
2020-05-27 6816393fbfa11ce67088832b45399a52a961586a
Merge branch 'master' of http://120.79.193.119:9090/r/nsjcy/frontEnd/nsjcy

# Conflicts:
# SunshineIns/src/copy/fingerprint/js/main.js
# SunshineIns/src/page/CriminalExecution.jsx
5 files modified
421 ■■■■■ changed files
SunshineIns/src/copy/fingerprint/css/box.css 4 ●●●● patch | view | raw | blame | history
SunshineIns/src/copy/fingerprint/js/fingerprint.js 2 ●●●●● patch | view | raw | blame | history
SunshineIns/src/copy/fingerprint/js/main.js 302 ●●●●● patch | view | raw | blame | history
SunshineIns/src/fetch/_fetch.js 4 ●●●● patch | view | raw | blame | history
SunshineIns/src/page/CriminalExecution.jsx 109 ●●●●● patch | view | raw | blame | history
SunshineIns/src/copy/fingerprint/css/box.css
@@ -1,6 +1,6 @@
@CHARSET "UTF-8";
a{text-decoration: none;}
.box{position:absolute;width:450px;left:50%;height:auto;z-index:100;border:1px #ddd solid;padding:1px;}
.box{position:absolute;width:450px;left:50%;height:auto;z-index:100;border:1px #ddd solid;padding:1px;background: #ccc;}
.box h2{height:10px;font-size:14px;position:relative;padding-left:10px;line-height:10px;color:#fff;}
.box h2 a{position:absolute;right:5px;font-size:12px;color:#fff;}
.box .list{padding:10px;}
@@ -8,4 +8,4 @@
.box .list li a{color:#aaa;}
.box .list li span{margin:0 5px 0 0;font-family:"宋体";font-size:12px;font-weight:400;color:#ddd;}
.showbtn {font:bold 24px '微软雅黑';}
#bg{background-color:#000000;position:absolute;z-index:99;left:0;top:0;display:none;width:100%;height:100%;opacity:0.3;filter: alpha(opacity=50);-moz-opacity: 0.3;}
#bg{position:absolute;z-index:99;left:0;top:0;display:none;width:100%;height:100%;opacity:0.3;filter: alpha(opacity=50);-moz-opacity: 0.3;}
SunshineIns/src/copy/fingerprint/js/fingerprint.js
@@ -1374,9 +1374,11 @@
{
    var ret = "";
    var templates = templateArray.toString();
    console.log('fpTemplate',fpTemplate)
    //特殊字符转义
    fpTemplate = transferredMeaning(fpTemplate);
    templates = transferredMeaning(templates);
    console.log('fpTemplate',fpTemplate)
    $.ajax( {
        type : "POST",
        url : "baseBioVerifyAction!fpComparison.action",
SunshineIns/src/copy/fingerprint/js/main.js
@@ -38,8 +38,7 @@
 * @param x, y 椭圆定位的坐标
 * @param width, height 椭圆的宽度和高度
 */
CanvasRenderingContext2D.prototype.oval = function(x, y, width, height)
{
CanvasRenderingContext2D.prototype.oval = function (x, y, width, height) {
    var k = (width/0.75)/2,w = width/2,h = height/2;
    this.strokeStyle = bgColor;
    this.beginPath();
@@ -58,10 +57,8 @@
 * @create 2013-05-15 17:12:21 pm
 * @param ${pers_person_templateCount}:指纹数
 */
function getDLLConnectCallBack(result,isComp)
{
    if(globalContext == null)
    {
function getDLLConnectCallBack(result, isComp) {
    if (globalContext == null) {
        if(isComp==true){
            globalContext = document.getElementById("canvasComp").getContext("2d");
        }else{
@@ -72,13 +69,11 @@
    var ret = null;
    ret = result.ret;
    //接口调用成功返回时
    if(ret == 0)
    {
    if (ret == 0) {
        //${base_fp_connectFail}:连接指纹采集器失败
        collectTips(globalContext, "未检测到指纹采集器.", "verification");
    }
    else
    {
    else {
        //${base_fp_loadFail}:加载ZKFinger10失败
        collectTips(globalContext, "加载动态库失败.", "verification");
    }
@@ -89,45 +84,38 @@
 * @create 2013-06-24 10:11:21 am
 * @param context 2d画布上下文
 */
function beginCapture(context)
{
function beginCapture(context) {
    $.ajax( {
        type : "GET",
        url : issOnlineUrl+"/fingerprint/beginCapture?type=2&FakeFunOn=0&random="+getRandomNum(),
        dataType : "json",
        async: true,
        success : function(result)
        {
        success: function (result) {
            //返回码
            var ret = null;
            ret = result.ret;
            //接口调用成功返回时
            if(ret == 0)
            {
            if (ret == 0) {
                verifyFlag = true;
                //检查采集、显示图像
                checkColl();
            }
            else if(ret == -2001)
            {
            else if (ret == -2001) {
                //${base_fp_connectFail}:连接指纹采集器失败
                //显示框--采集提示
                collectTips(context, "未检测到指纹采集器.", "verification");
            }
            else if(ret == -2002)
            {
            else if (ret == -2002) {
                getWebServerInfo(null, null, "1");
            }
            else if(ret == -2005)
            {
            else if (ret == -2005) {
                //取消采集
                cancelCapture();
                //开始采集
                beginCapture(globalContext);
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown)
        {
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert("请安装指纹驱动或启动该服务!");
            //messageBox({messageType: "alert", title: "${common_prompt_title}", text: "${base_fp_connectPrompt}"});
        }
@@ -138,8 +126,7 @@
 * @author wenxin
 * @create 2013-06-24 10:11:21 am
 */
function checkColl()
{
function checkColl() {
    var base64FPImg = "";
    //返回码
    var ret = null;
@@ -148,24 +135,21 @@
        url : issOnlineUrl+"/fingerprint/getImage?random="+getRandomNum(),
        dataType : "json",
        async: true,
        success : function(result)
        {debugger;
        success: function (result) {
            debugger;
            //alert(objToStr(data));
            //指纹采集次数
            var collCount = 0;
            ret = result.ret;
            if(ret == 0)
            {
            if (ret == 0) {
                collCount = result.data.enroll_index;
                base64FPImg = result.data.jpg_base64;
            }
            if(collCount == 0)
            {
            if (collCount == 0) {
                //定时器
                timer = setTimeout("checkColl()", 200);//比对失败重新开始
            }
            else
            {
            else {
                //将定时器关闭
                clearTimeout(verifyTimer);
                //显示指纹图像
@@ -180,10 +164,13 @@
                $("#oneToMany").attr("disabled", false);
                $("#oneToOne").attr("disabled", false);
                setTimeout("beginCapture(null)", 200);
                console.log('1', getFPTemplate(paramArray, "verification"))
                console.log('2', $("#oneToMany").attr("disabled", false))
                console.log('3', $("#oneToOne").attr("disabled", false))
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown)
        {
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert("请安装指纹驱动或启动该服务!");
            //messageBox({messageType: "alert", title: "${common_prompt_title}", text: "${base_fp_connectPrompt}"});
        }
@@ -195,12 +182,9 @@
 * @create 2013-06-24 17:41:21 pm
 * @param fpTemplate 指纹模板
 */
function fpComparison(fpTemplate)
{
    if(model == "1")
    {
        if($("#persNumText").val() != "${pers_person_pin}")
        {
function fpComparison(fpTemplate) {
    if (model == "1") {
        if ($("#persNumText").val() != "${pers_person_pin}") {
            $("#pin").val($("#persNumText").val());
        }
    }
@@ -215,8 +199,7 @@
 * @author wenxin
 * @create 2013-06-24 19:57:11 pm
 */
function cancelCapture()
{
function cancelCapture() {
    //将定时器的递归调用关闭
    clearTimeout(timer);
    //取消采集
@@ -225,12 +208,10 @@
        url : issOnlineUrl+"/fingerprint/cancelCapture?random="+getRandomNum(),
        dataType : "json",
        async: true,
        success : function(result)
        {
        success: function (result) {
            verifyFlag = false;
        },
        error : function(XMLHttpRequest, textStatus, errorThrown)
        {
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert("请安装指纹驱动或启动该服务!");
            //messageBox({messageType: "alert", title: "${common_prompt_title}", text: "${base_fp_connectPrompt}"});
        }
@@ -241,17 +222,14 @@
 * @author wenxin
 * @create 2013-06-26 16:57:11 pm
 */
function beginVerify()
{
    if($("#persNumText").val() == "${pers_person_pin}" && model == "1")
    {
function beginVerify() {
    if ($("#persNumText").val() == "${pers_person_pin}" && model == "1") {
        //${base_fp_enterPin}:请输入人员编号
        //显示框--采集提示
        collectTips(globalContext, "请输入人员编号", "verification");
        return;
    }
    else
    {
    else {
        //${base_fp_verifyInfo}:请水平按压手指验证
        //显示框--采集提示
        collectTips(globalContext, "请水平按压手指验证", "verification");
@@ -270,8 +248,7 @@
 * @author wenxin
 * @create 2013-09-05 16:57:11 pm
 */
function clearImageData()
{
function clearImageData() {
    
    if(isComp){
        //清空指纹图像
@@ -288,22 +265,19 @@
 * @author wenxin
 * @create 2013-06-26 16:57:11 pm
 */
function callBackFormSubmit(msg)
{
function callBackFormSubmit(msg) {
    if(msg.ret == "ok")//成功
    {
        collectTips(globalContext, "验证通过", "verification");
        setTimeout("closeVerify()", 1000);
        setTimeout(_callBackFunction("dashboard.action"), 1000);
    }
    else if(msg.msg == "disabled")
    {
    else if (msg.msg == "disabled") {
        collectTips(globalContext, "${auth_login_disabled}", "verification");
        setTimeout("closeVerify()", 1000);
        $(".errorTip").html("${auth_login_disabled}");
        $(".errorTip").show();
    }else if(msg.msg == "notExist")
    {
    } else if (msg.msg == "notExist") {
        collectTips(globalContext, "验证失败", "verification");
        setTimeout("clearImageData()", 1000);
        beginCapture(globalContext);
@@ -316,11 +290,9 @@
 * @author wenxin
 * @create 2013-06-21 14:57:11 pm
 */
function closeVerify()
{
function closeVerify() {
    //正在进行验证,还没有关闭指纹采集
    if(verifyFlag)
    {
    if (verifyFlag) {
        //取消采集
        cancelCapture();
    }
@@ -331,8 +303,7 @@
 * @author wenxin
 * @create 2013-07-09 15:18:31 pm
 */
function dataInitComp()
{
function dataInitComp() {
    var canvas = document.getElementById("canvasComp");
    var context = canvas.getContext("2d");
    globalContext = context;
@@ -356,15 +327,25 @@
 * @create 2013-05-15 17:12:21 pm
 * @param ${pers_person_templateCount}:指纹数
 */
function submitEvent(event)
{
    console.log('event', event);
function submitEvent() {
    storeDataToHtml();
    console.log('storeDataToHtml()', storeDataToHtml());
    window.top.postMessage('message from iframe1');
    showFPCount('指纹数:');
    //closeWindow();
    close();
    $.ajax({
        type: "GET",
        url: issOnlineUrl + "/fingerprint/getTemplate?random=" + getRandomNum(),
        dataType: "json",
        async: false,
        success: function (result) {
            //返回码
            var ret = null;
            ret = result.ret;
            console.log('template',result.data.template)
        }
    })
}
 /**
@@ -373,36 +354,30 @@
  * @create 2013-05-13 10:18:31 am
  * @param context 2d画布上下文
  */
 function fpCollection(context)
 {
function fpCollection(context) {
     $.ajax( {
         type : "GET",
         url : issOnlineUrl+"/fingerprint/beginCapture?type=1&FakeFunOn=0&random="+getRandomNum(),
         dataType : "json",
         async: true,
         success : function(result)
         {
        success: function (result) {
             //返回码
             var ret = null;
             ret = result.ret;
             //接口调用成功返回时
             if(ret == 0)
             {
            if (ret == 0) {
                 //检查采集次数、显示图像
                 checkCollCount();
             }
             else if(ret == -2001)
             {
            else if (ret == -2001) {
                 //${base_fp_connectFail}:连接指纹采集器失败
                 //显示框--采集提示
                 collectTips(globalContext, "未检测到指纹采集器.", "html5");
             }
             else if(ret == -2002)
             {
            else if (ret == -2002) {
                 getWebServerInfo(null, null, "1");
             }
             else if(ret == -2005)
             {
            else if (ret == -2005) {
                 //取消采集
                 cancelRegister();
                 //切换手指后,渲染手指(消除原来手指的颜色)
@@ -412,8 +387,7 @@
                 collectTips(globalContext, "请选择手指.", "html5");
             }
         },
         error : function(XMLHttpRequest, textStatus, errorThrown)
         {
        error: function (XMLHttpRequest, textStatus, errorThrown) {
             alert("请安装指纹驱动或启动该服务!");
             //messageBox({messageType: "alert", title: "提示", text: "请安装指纹驱动或启动该服务!"});
         }
@@ -425,8 +399,7 @@
  * @create 2013-05-22 09:24:31 am
  * @param collCount 采集次数
  */
 function checkCollCount()
 {
function checkCollCount() {
     var base64FPImg = "";
     //返回码
     var ret = null;
@@ -435,22 +408,18 @@
         url : issOnlineUrl+"/fingerprint/getImage?random="+getRandomNum(),
         dataType : "json",
         async: false,
         success : function(result)
         {
        success: function (result) {
             //alert(objToStr(data));
             //指纹采集次数
             var collCount = 0;
             ret = result.ret;
             if(ret == 0)
             {
            if (ret == 0) {
                 collCount = result.data.enroll_index;
                 base64FPImg = result.data.jpg_base64;
             }
             if(collCount != 3)
             {
            if (collCount != 3) {
                 //第一次和第二次采集,显示采集次数、指纹图像、进度条
                 if(collCount == 1 || collCount == 2)
                 {
                if (collCount == 1 || collCount == 2) {
                     //${base_fp_collCount}:按压指纹剩余次数:
                     var text = "按压剩余次数:"+(FINGERPRINT_NUMBER - collCount);
                     //显示框--采集提示
@@ -465,8 +434,7 @@
                 //定时器
                 timer = setTimeout("checkCollCount()", 200);
             }
             else
             {
            else {
                 //显示指纹图像
                 showImage(globalContext, base64FPImg, "html5");
                 //清空图像
@@ -479,15 +447,14 @@
                 paramArray[3] = "请安装指纹驱动或启动该服务!";//base_fp_connectPrompt:请检查网络连接
                 //进度条
                 drawProgressBar(globalContext, collCount);
                console.log('paramArray', paramArray)
                 //获取指纹模板
                 if(!getFPTemplate(paramArray, "register"))
                 {
                if (!getFPTemplate(paramArray, "register")) {
                     drawProgressBar(globalContext, 0);//进度条灰显
                 }
                 
                 //如果胁迫指纹选中,则取消选中
                 if(duressFingerFlag)
                 {
                if (duressFingerFlag) {
                     $("#duressFinger").attr("checked", false);
                 }
                 $("#duressFinger").attr("disabled", false);
@@ -497,8 +464,7 @@
                 return collCount;
             }
         },
         error : function(XMLHttpRequest, textStatus, errorThrown)
         {
        error: function (XMLHttpRequest, textStatus, errorThrown) {
             alert("请安装指纹驱动或启动该服务!");
             //messageBox({messageType: "alert", title: "提示", text: "请安装指纹驱动或启动该服务!"});
         }
@@ -511,11 +477,9 @@
  * @author wenxin
  * @create 2013-05-27 17:46:31 pm
  */
 function cancelRegister()
 {
function cancelRegister() {
     //当前有手指在采集指纹
     if(collectFlag)
     {
    if (collectFlag) {
         //将定时器的递归调用关闭
         clearTimeout(timer);
         //取消采集
@@ -524,28 +488,23 @@
             url : issOnlineUrl+"/fingerprint/cancelCapture?random="+getRandomNum(),
             dataType : "json",
             async: false,
             success : function(result)
             {
            success: function (result) {
                 //如果胁迫指纹选中,则取消选中
                 if(duressFingerFlag)
                 {
                if (duressFingerFlag) {
                     $("#duressFinger").attr("checked", false);
                 }
                 if(fpModifyFlag)
                 {
                if (fpModifyFlag) {
                     $("#submitButtonId").attr("disabled", false);
                 }
                 $("#duressFinger").attr("disabled", false);
                 if(fpIdNum != null)
                 {
                if (fpIdNum != null) {
                     //消除原来手指的颜色
                     
                     renderAfterColl(globalContext, lastFPIdNum, bgColor, false);
                 }
                 collectFlag = false;
             },
             error : function(XMLHttpRequest, textStatus, errorThrown)
             {
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                 alert("请安装指纹驱动或启动该服务!");
                 //messageBox({messageType: "alert", title: "提示", text: "请安装指纹驱动或启动该服务!"});
             }
@@ -561,13 +520,11 @@
  * @param x, y 绘画左手掌的第一个点的坐标,后面的绘画手指和右手掌的坐标都是相对于此点坐标来计算
  * @param color 绘画手指和手掌的边框颜色
  */
 function draw(context, x, y, color)
 {
function draw(context, x, y, color) {
     var coordArray = new Array();
     //初始化起始坐标,并返回json格式数据 
     var coordJson = initCoordJson();
     for(var i=0; i<coordJson.length; i++)
     {
    for (var i = 0; i < coordJson.length; i++) {
         //绘画双手和圆弧
         drawHandAndArc(context, coordArray, color, coordJson[i].coord.x, coordJson[i].coord.y, coordJson[i].num);
//          drawHandAndArc(context, coordArray, color, coordJson[i].coord.x, coordJson[i].coord.y, i);
@@ -600,28 +557,24 @@
  * @param color 绘画手指和手掌的边框颜色
  * @param num 当前会话对象编号
  */
 function drawHandAndArc(context, coordArray, color, x, y, num)
 {
function drawHandAndArc(context, coordArray, color, x, y, num) {
     //初始化坐标
     coordArray = initCoordArray(coordArray, x, y, num);
     var drawObj = null;
     //绘画手指
     if(num < 10)
     {
    if (num < 10) {
         drawObj = "finger"+num;
         drawObj = new renderFinger(context, coordArray);
         drawObj.drawFinger(strokeStyle, color);
         //初始化时,渲染手指
         renderInit(context, num, "html5");
         //将绘画的手指实例放入数组,方便重画时用
         if(fingerList.length < 10)
         {
        if (fingerList.length < 10) {
             fingerList.push(drawObj);
         }
     }
     //绘画双手掌心
     else if(num < 12)
     {
    else if (num < 12) {
         new renderHand(context, coordArray).drawHand(color);
     }
     //绘画圆圈
@@ -638,35 +591,28 @@
  * @create 2013-05-13 10:18:31 am
  * @param x, y 鼠标点击处的坐标
  */
 function redraw(x, y)
 {
function redraw(x, y) {
     var canvas = document.getElementById("canvas");
     if (canvas.getContext)
     {
    if (canvas.getContext) {
         var context = canvas.getContext("2d");
         
         //是否点击在手指区域
         var isInFingerArea = false;
         //判断当前点击是否在手指区域
         for ( var i = 0; i < fingerList.length; i++)
         {
        for (var i = 0; i < fingerList.length; i++) {
             var finger = fingerList[i];
             finger.drawFinger(strokeStyle, fingerBorderColor);
             if (context.isPointInPath(x, y))
             {
            if (context.isPointInPath(x, y)) {
                 isInFingerArea = true;
                 break;
             }
         }
         
         outerloop:
         for ( var i = 0; i < fingerList.length; i++)
         {
             if(collectFlag)
             {
        for (var i = 0; i < fingerList.length; i++) {
            if (collectFlag) {
                 //当点击的是同一个手指时,如何判断?(编辑指纹时,有问题)
                 if(fpIdNum == i)
                 {
                if (fpIdNum == i) {
                     //切换手指后,渲染手指(消除原来手指的颜色)
                     renderAfterColl(globalContext, fpIdNum, bgColor, false);
                 }
@@ -674,13 +620,11 @@
             var finger = fingerList[i];
             finger.drawFinger(strokeStyle, fingerBorderColor);
             //currentContext = context;
             if (context.isPointInPath(x, y))
             {
            if (context.isPointInPath(x, y)) {
                 globalContext = context;
                 //两次是否点击的同一个手指进行采集。如果是,则第二次点击时取消采集。
                 var iaSameFinger = false;
                 if(fpIdNum == i && collectFlag)
                 {
                if (fpIdNum == i && collectFlag) {
                     iaSameFinger = true;
                 }
                 var fingerId;
@@ -688,14 +632,12 @@
                 var isCollected = false;
                 isCollected = isContains(fingerIdArray, i);
                 fpIdNum = i;
                 if(!isCollected)
                 {
                if (!isCollected) {
                     //保存当前正在采集的手指标记
                     lastFPIdNum = fpIdNum;
                 }
                 //如果已经有指纹
                 if(isCollected)
                 {
                if (isCollected) {
                     //取消采集
                     cancelRegister();
                     var flag=confirm("删除当前选中的指纹吗?");
@@ -708,11 +650,9 @@
                 
                     break outerloop;
                 }
                 else
                 {
                else {
                     //两次点击的同一个手指进行采集,则第二次取消采集。
                     if(iaSameFinger)
                     {
                    if (iaSameFinger) {
                         //取消采集
                         cancelRegister();
                         //取消采集后重新提示请选择手指
@@ -721,8 +661,7 @@
                         drawProgressBar(context, 0);
                         fpIdNum = -1;
                     }
                     else
                     {
                    else {
                         //取消采集
                         cancelRegister();
                         context.fillStyle = fillFingerColor;
@@ -742,15 +681,12 @@
                     }
                 }
             } 
             else
             {
            else {
                 context.fillStyle = bgColor;
                 context.fill(); 
                 renderInit(context, i, "html5");
                 if(collectFlag)
                 {
                     if(fpIdNum == i && !isInFingerArea)
                     {
                if (collectFlag) {
                    if (fpIdNum == i && !isInFingerArea) {
                         context.fillStyle = fillFingerColor;
                         context.fill();
                     }
@@ -765,10 +701,8 @@
  * @author wenxin
  * @create 2013-07-09 15:18:31 pm
  */
 function dataInitReg()
 {
     if(!duressFingerShowFlag)
     {
function dataInitReg() {
    if (!duressFingerShowFlag) {
         $("#duressFingerDiv").hide();
     }
     var canvas = document.getElementById("canvas");
@@ -784,8 +718,7 @@
     //鼠标事件
     canvas.onmousedown = function(event){
         //event.which == 1--鼠标左键
         if(event.which == 1)
         {
        if (event.which == 1) {
             var pageInfo = canvas.getBoundingClientRect();
             var x = event.clientX - pageInfo.left;
             var y = event.clientY - pageInfo.top;
@@ -811,7 +744,7 @@
    paramArray[0] = '指纹';
    paramArray[1] = '指纹数:';
    paramArray[2] = '确认保存当前修改吗?';
    paramArray[3] = '登记';
    paramArray[3] = '录入指纹';
    paramArray[4] = '请安装指纹驱动或启动该服务!';
    paramArray[5] = '0';
    paramArray[6] = '指纹数:';
@@ -820,16 +753,14 @@
    checkDriver(paramArray, browserFlag, false);
}
function closeCompa()
{
function closeCompa() {
    $("#bg").css("display", "none");
    $("#box").css("display", "none");
    $("#comparisonDiv").css("display", "none");
}
//初始化界面数据,即清除指纹记录。
function cleanData()
{
function cleanData() {
    var canvas = document.getElementById("canvas");
    var context = canvas.getContext("2d");
    fpIdNum = null;
@@ -839,34 +770,31 @@
    redraw(x, y);
}
function doVerify()
{
function doVerify() {
    var regTemplate = "TVFTUjIyAAAEEhAFBQUHCc7QAAAcE2kAAAAAgyEgiBKiAacPlQABAIIdnAHcAH4PagBlEmYN6ACJAA0PLhKrAaoPSADAAZcdEQGWACsONgA8EqwMzQAYAEYPZBJMAIMOhAB3AJodXgGdALIPeAB5EmQPqQBZADAMNxKXAbMPRACKAMIdAABwAM4PYQAbEvkOoQA9Ab0PAhMXAFMOtQCeAfAdlwGIAM0PZABvEucMcgDfAEoPyBJqAUgOngDAAX0dcAEyANkPUAAnE/cOIwBXAH8PAxMHAFMMGQDiAMEdLAmp3xIhWOopGLPgtfpCBkfzxGWAgSogmv2fgkJ1qPtygM/6FgYnAf6ecoBWeeZzdz8K4i9neo/e2VeB9g7jj7PzfPgBCHvu5hdWAxMP/QzLAbaAsJMYEaa8IAtOidYD9w2j/FoCFgk3ia4jhmX6I8cHuYf3hcMQ8AG335Nj830/ERZyASuC6G9qhZJs8OoY8hMfC8filOfG4M5Wk4TO7EYDExab4gbnvZFXfbcHvvW69PsZcAGv37/XMgzfEcLuzLf4/cQJBBIDMVlMFw+e9VYh1l1f/06bOqskIQADRB4qBMUsBEicDQA4AFoBwIJDgiUARABXVXhw7cCVw4DDb0fAf9CGxRQAVACnosXSwkSEwsDCBosDEmABXpNcDsWHBHvCgWd4eAbFngRlx8HAwwUAHwAN7P7ZDAAOAoZ4+9FSbgMAGQWJwwgSYhNTwVyABYgZEswVj6lpwkl6ldSDocPBSQnF1R0dwf/9/f4kwQDJCIGOBAAbLviECxMNL6mZfsUFwcDSwcMRAO83WcPFgJONkMQLAKs4SNLDcMHClhbFp0r7/P3A+fjAm/767PzB/f/9wOMDBNtTgcMJAJmlU6XUyMLDDQELoEkyVMHB+10GAMtrOYHBDQAUazAFc4BuBQG8b3Cn3gDPYEf//vz9/D76+u38//7///w7/vns//v9wP3A3gEPb0j///9HwDhU++3+/ztE/0beAQiBSP/+PlP+Ov/7UsH8///AwDv/xewLARSXKXivhQ4SNp0peIOJzgEPvVIqV8AzDsUMvznDdcFsb8HdARSuXVVTPsDA7v867f9LBwAMyvWZaB4ADsta/0eQ/kkeABDZXP/COcFP0zMHAAveJwbAxNECAZ3fdP3QAQTsZUZM//5bBf/60j/BChAXC9N0emUGEZ8Icf6F/w0DAgtiPkr/yBEGC2ZL/8D+wzr+XRYRWVt9MgrUAiJ1RcH/ZAwQyynz63PD/8PAasIQED0XwMDCagjVDjU7n8GNBRChhXTEKgQR5kNtRcEQ511sRVJCABmGAQYTAccAWl8AxACmEoXUAAAZRZcAQFAAAAAAABbFAAQSAzIAAAAAxQBBUA==";
    var fpTemplate = "TVFTUjIyAAAEEhAFBQUHCc7QAAAcE2kAAAAAgyEgiBKiAacPlQABAIIdnAHcAH4PagBlEmYN6ACJAA0PLhKrAaoPSADAAZcdEQGWACsONgA8EqwMzQAYAEYPZBJMAIMOhAB3AJodXgGdALIPeAB5EmQPqQBZADAMNxKXAbMPRACKAMIdAABwAM4PYQAbEvkOoQA9Ab0PAhMXAFMOtQCeAfAdlwGIAM0PZABvEucMcgDfAEoPyBJqAUgOngDAAX0dcAEyANkPUAAnE/cOIwBXAH8PAxMHAFMMGQDiAMEdLAmp3xIhWOopGLPgtfpCBkfzxGWAgSogmv2fgkJ1qPtygM/6FgYnAf6ecoBWeeZzdz8K4i9neo/e2VeB9g7jj7PzfPgBCHvu5hdWAxMP/QzLAbaAsJMYEaa8IAtOidYD9w2j/FoCFgk3ia4jhmX6I8cHuYf3hcMQ8AG335Nj830/ERZyASuC6G9qhZJs8OoY8hMfC8filOfG4M5Wk4TO7EYDExab4gbnvZFXfbcHvvW69PsZcAGv37/XMgzfEcLuzLf4/cQJBBIDMVlMFw+e9VYh1l1f/06bOqskIQADRB4qBMUsBEicDQA4AFoBwIJDgiUARABXVXhw7cCVw4DDb0fAf9CGxRQAVACnosXSwkSEwsDCBosDEmABXpNcDsWHBHvCgWd4eAbFngRlx8HAwwUAHwAN7P7ZDAAOAoZ4+9FSbgMAGQWJwwgSYhNTwVyABYgZEswVj6lpwkl6ldSDocPBSQnF1R0dwf/9/f4kwQDJCIGOBAAbLviECxMNL6mZfsUFwcDSwcMRAO83WcPFgJONkMQLAKs4SNLDcMHClhbFp0r7/P3A+fjAm/767PzB/f/9wOMDBNtTgcMJAJmlU6XUyMLDDQELoEkyVMHB+10GAMtrOYHBDQAUazAFc4BuBQG8b3Cn3gDPYEf//vz9/D76+u38//7///w7/vns//v9wP3A3gEPb0j///9HwDhU++3+/ztE/0beAQiBSP/+PlP+Ov/7UsH8///AwDv/xewLARSXKXivhQ4SNp0peIOJzgEPvVIqV8AzDsUMvznDdcFsb8HdARSuXVVTPsDA7v867f9LBwAMyvWZaB4ADsta/0eQ/kkeABDZXP/COcFP0zMHAAveJwbAxNECAZ3fdP3QAQTsZUZM//5bBf/60j/BChAXC9N0emUGEZ8Icf6F/w0DAgtiPkr/yBEGC2ZL/8D+wzr+XRYRWVt9MgrUAiJ1RcH/ZAwQyynz63PD/8PAasIQED0XwMDCagjVDjU7n8GNBRChhXTEKgQR5kNtRcEQ511sRVJCABmGAQYTAccAWl8AxACmEoXUAAAZRZcAQFAAAAAAABbFAAQSAzIAAAAAxQBBUA==";
    $.ajax( {
        type : "POST",
        url : "http://127.0.0.1:22001/ZKBIOOnline/fingerprint/verify",
        dataType : "json",
        data:JSON.stringify({'reg':regTemplate,
            'ver':fpTemplate}),
        data: JSON.stringify({
            'reg': regTemplate,
            'ver': fpTemplate
        }),
        async: true,
        success : function(data)
        {
        success: function (data) {
            //返回码
            var ret = null;
             ret = data.ret;
             //接口调用成功返回时
             if(ret == 0)
            {
            if (ret == 0) {
                alert("score:" + data.score);
            }
            else
            {
            else {
                alert("ret:" + data.ret);
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown)
        {
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert("请安装指纹驱动或启动该服务!");
        }
    });
SunshineIns/src/fetch/_fetch.js
@@ -1,8 +1,8 @@
import fetch from 'hife/fetch';
export const base = 'http://xnwj.gznsjc.gov.cn';
// export const base = 'http://xnwj.gznsjc.gov.cn';
// export const base = 'http://nsjc.vaiwan.com';
//export const base = 'http://120.79.193.119:9021/';
export const base = 'http://120.79.193.119:9021/';
// export const base = 'http://localhost:6060';
export const domain = base + '/nsjc-charge/';
SunshineIns/src/page/CriminalExecution.jsx
@@ -3,7 +3,7 @@
import HeadView from '../view/HeadView';
import TableBtnView from '../view/TableBtnView';
import CommonSearchForm from '../view/CommonSearchForm';
import { Input, Button, DatePicker, Divider, message, Popconfirm, Select, Badge, Modal } from 'antd';
import { Input, Button, DatePicker, Divider, message, Popconfirm, Select, Badge, Modal, Row, Col } from 'antd';
import moment from 'moment';
import Fetch from '../fetch';
import TableView from '../view/TableView';
@@ -65,7 +65,9 @@
            },
            resetKey: Date.now(),
            loading: false,
            zIndex: '-1'
            zIndex: '-1',
            savedate: {},
            display: 'none'
        };
    }
@@ -85,7 +87,7 @@
        });
    }
    confirm = (e) => {
    deleteItems = (e) => {
        console.log(e);
        this.setState({ loading: true })
        Fetch.socialDelete(e).then(res => {
@@ -114,75 +116,46 @@
        //   })
    }
    saveInputChange = ({ target: { value, name } }) => {
        this.setState(({ savedate }) => ({
            savedate: {
                ...savedate,
                [name]: value
            }
        }))
    }
    renderColumns = () => {
        return [{
            title: '任务标题',
            dataIndex: 'taskTitle',
            key: 'taskTitle'
            title: '编号',
            dataIndex: 'index',
            key: 'index',
            render: (text, item, index) => <span>{index}</span>
        }, {
            title: '任务类型',
            dataIndex: 'taskType',
            key: 'taskType',
            render: text => <span>{typeOfName(text)}</span>
            title: ' 姓名',
            dataIndex: 'name',
            key: 'name',
        }, {
            title: '状态',
            dataIndex: 'status',
            key: 'status',
            render: text => (
                text == 0 ?
                    <Badge style={{ backgroundColor: '#6C757C' }} count={'未开始'} /> : text == 1 ? <Badge count={'进行中'} style={{ backgroundColor: '#F1C40F' }} /> : text == 2 ? <Badge count={'已结束'} style={{ backgroundColor: '#2ECC71' }} /> : <Badge count={'暂停'} style={{ backgroundColor: '#2ECC71' }} />
            )
            title: '牢房号',
            dataIndex: 'number',
            key: 'number',
        }, {
            title: '创建时间',
            title: '指纹唯一识别',
            dataIndex: 'shibie',
            key: 'shibie',
        }, {
            title: '录入时间',
            dataIndex: 'createTime',
            key: 'createTime',
            render: text => <span>{moment(text).format("YYYY-MM-DD HH:mm")}</span>
        }, {
            title: '开始时间',
            dataIndex: 'startTime',
            key: 'startTime',
            render: text => <span>{moment(text).format("YYYY-MM-DD HH:mm")}</span>
        }, {
            title: '结束时间',
            dataIndex: 'endTime',
            key: 'endTime',
            render: text => <span>{moment(text).format("YYYY-MM-DD HH:mm")}</span>
            render: text => <span>{moment(text).format("YYYY-MM-DD")}</span>
        }, {
            title: '操作',
            key: 'action',
            render: (text, record) => (
                <span>
                    {
                        record.status == 0 ?
                            <React.Fragment>
                                <a onClick={() => this.showModal(record.id)}>编辑</a>
                    <label onClick={() => this.showModal(record.id)} className='theme-color' style={{ cursor: 'pointer' }}>编辑</label>
                                <Divider type="vertical" />
                                <Popconfirm
                                    title="确认删除任务吗?"
                                    id={record.id}
                                    onConfirm={e => this.confirm(record.id)}
                                    okText="确定"
                                    cancelText="取消"
                                >
                                    <a href="#">删除</a>
                                    <Divider type="vertical" />
                                </Popconfirm>
                                <a onClick={() => this.reboot(record.id, 99)}>暂停</a>
                            </React.Fragment> :
                            record.status == 1 ?
                                <React.Fragment>
                                    <a onClick={() => this.showModal(record.id)}>查看</a>
                                    <Divider type="vertical" />
                                    <a onClick={() => this.showModal(record.id)}>结束任务</a>
                                    <Divider type="vertical" />
                                    <a onClick={() => this.reboot(record.id, 99)}>暂停</a>
                                </React.Fragment> :
                                <React.Fragment>
                                    <a onClick={() => this.showModal(record.id)}>查看</a>
                                    <Divider type="vertical" />
                                    <a onClick={() => this.reboot(record.id, 0)}>重启</a>
                                </React.Fragment>
                    }
                    <label onClick={() => this.deleteItems(record.id)} className='theme-color' style={{ cursor: 'pointer' }}>删除</label>
                </span>
            ),
        }]
@@ -208,7 +181,7 @@
    }
    render() {
        const { data, resetKey, visible, loading, savedate, closeKey, formData, zIndex } = this.state;
        const { data, resetKey, visible, loading, savedate, closeKey, formData, zIndex, display } = this.state;
        return (
            <div className="app-page">
                <HeadView history={this.props.history} />
@@ -243,12 +216,20 @@
                    title="指纹录入"
                    onCancel={() => { this.setState({ visible: false, zIndex: '-1',  }) }}
                    bodyStyle={{ lineHeight: 4 }}
                    footer={null}
                    width={'80%'}
                    bodyStyle={{ height: '600px' }}
                    // footer={null}
                    width={'60%'}
                    bodyStyle={{ lineHeight: 4 }}
                >
                    <Input addonBefore="姓名" name='name' onChange={this.saveInputChange} value={savedate.name || ''} />
                    <Input addonBefore="牢房号" name='lnumber' onChange={this.saveInputChange} value={savedate.lnumber || ''} />
                    <Input addonBefore="指纹唯一标识" name='bianshi' onChange={this.saveInputChange} value={savedate.bianshi || ''} addonAfter={<Row type="flex" style={{ flexWrap: 'nowrap' }}>
                        <Col style={{ cursor: 'pointer' }} onClick={() => this.setState({ display: 'block'})}>
                            录入指纹
                        </Col>
                    </Row>} />
                    <Divider style={{ margin: '2px 0' }} />
                    <iframe
                        style={{ width: '100%', height: '100%' }}
                        style={{ width: '100%', height: '550px', display: display }}
                        onLoad={() => { }}
                        ref="iframe"
                        src='./fingerprint/指纹登记.html'