forked from nsjcy/frontEnd/nsjcy

liuwh
2020-05-29 2fdc3dc444a2f8199866780205c0fa4b5ac40522
指纹登记与对比
1 files deleted
7 files added
1 files renamed
13 files modified
1 files copied
1165 ■■■■■ changed files
SunshineIns/src/asset/image/bg_ns.jpg patch | view | raw | blame | history
SunshineIns/src/conf/reset.scss 8 ●●●●● patch | view | raw | blame | history
SunshineIns/src/copy/fingerprint/bidui.html 25 ●●●● patch | view | raw | blame | history
SunshineIns/src/copy/fingerprint/dengji.html 2 ●●● patch | view | raw | blame | history
SunshineIns/src/copy/fingerprint/js/fingerprint.js 645 ●●●●● patch | view | raw | blame | history
SunshineIns/src/copy/fingerprint/js/main.js 10 ●●●●● patch | view | raw | blame | history
SunshineIns/src/copy/fingerprint/指纹比对.html 72 ●●●●● patch | view | raw | blame | history
SunshineIns/src/data/menu.js 11 ●●●●● patch | view | raw | blame | history
SunshineIns/src/fetch/_fetch.js 1 ●●●● patch | view | raw | blame | history
SunshineIns/src/fetch/criminalCompare.js 9 ●●●●● patch | view | raw | blame | history
SunshineIns/src/fetch/criminalDelete.js 9 ●●●●● patch | view | raw | blame | history
SunshineIns/src/fetch/criminalFind.js 6 ●●●●● patch | view | raw | blame | history
SunshineIns/src/fetch/criminalQuery.js 9 ●●●●● patch | view | raw | blame | history
SunshineIns/src/fetch/criminalSave.js 7 ●●●●● patch | view | raw | blame | history
SunshineIns/src/fetch/index.js 10 ●●●●● patch | view | raw | blame | history
SunshineIns/src/index.jsx 4 ●●● patch | view | raw | blame | history
SunshineIns/src/page/CareList.jsx 10 ●●●● patch | view | raw | blame | history
SunshineIns/src/page/CareListEdit.jsx 87 ●●●● patch | view | raw | blame | history
SunshineIns/src/page/CriminalExecution.jsx 141 ●●●● patch | view | raw | blame | history
SunshineIns/src/page/CriminalExecutionManager.jsx 93 ●●●●● patch | view | raw | blame | history
SunshineIns/src/page/UnderAgeList.jsx 2 ●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/index/index.js 2 ●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/index/index.wxml 2 ●●● patch | view | raw | blame | history
SunshineIns/src/asset/image/bg_ns.jpg
SunshineIns/src/conf/reset.scss
@@ -23,6 +23,14 @@
  margin: 0;
}
/* 禁止换行 */
.nowrap {
  max-width: 250px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#root {
  height: 100%;
  overflow-x: hidden;
SunshineIns/src/copy/fingerprint/bidui.html
copy from "SunshineIns/src/copy/fingerprint/\346\214\207\347\272\271\347\231\273\350\256\260.html" copy to SunshineIns/src/copy/fingerprint/bidui.html
File was copied from SunshineIns/src/copy/fingerprint/指纹登记.html
@@ -2,7 +2,7 @@
<html>
<head>
    <title>指纹登记</title>
    <title>指纹比对</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" href="css/box.css" type="text/css">
    <script type="text/javascript" src="js/main.js"></script>
@@ -12,28 +12,32 @@
    <script type="text/javascript" src="js/dhtmlxCommon.js"></script>
</head>
<body>
<body onload="myfunction()">
    <form method="post" id="fpVerifyForm" name="fpVerifyForm" action="authLoginAction!login.do?fpLogin=fpLogin"
        enctype="multipart/form-data" style="display: none">
        <input type="hidden" id="verifyModel" name="verifyModel" /> <input type="hidden" id="verifyTemplate"
            name="verifyTemplate" />
    </form>
    <div id="fpRegisterDiv" style="display: inline; height: do">
    <div id="fpRegisterDiv" style="display: none; height: do">
        <a id="fpRegister" onclick='submitRegister("指纹", "指纹数:", "确认保存当前修改吗?", "驱动下载", false)' title="请安装指纹驱动或启动该服务"
            class="showGray" onmouseover="this.className='showGray'">注册</a>
    </div>
    <div id="driverDownload" style="display: inline; margin: 0 0 0 5px;">
        <a id='downloadDriver' href='middleware/zkbioonline.exe' title='驱动下载'>驱动下载</a>
    </div>
    <div id="comparison" style="display: none" onclick='fpVerification("指纹比对","请安装指纹驱动或启动服务",true,globalContext)'>比对
    </div>
    <button id="comparison" style="display: inline"
        onclick='fpVerification("指纹比对","请安装指纹驱动或启动服务",true,globalContext)'>比对
    </button>
    <div id="comparisonDiv" class="box" style="display: none">
        <h2>指纹比对</h2>
        <div class="list">
            <canvas id="canvasComp" width="430" height="320"
                style="background: url('image/base_fpVerify.jpg') rgb(243, 245, 240);"></canvas>
            <input type="button" value="关闭" onclick='closeCompa()' />
            <input type="button" value="确认" onclick='submitLick()' />
        </div>
    </div>
@@ -45,7 +49,7 @@
            <input type="hidden" id="whetherModify" name="whetherModify" alt="" value="111" />
            <div style="position: absolute; left: 310px; top: 325px; width: 70px; height: 28px;">
                <button type="button" id="submitButtonId" name="makeSureName" onclick="submitEvent(event)"
                <button type="button" id="submitButtonId" name="makeSureName" onclick="submitEvent()"
                    class="button-form">确定</button>
                <!-- ${common_edit_ok}:确定 -->
            </div>
@@ -69,6 +73,15 @@
            false
        );
    }
    function submitLick() {
        window.top.postMessage({
            submitstatus: true,
        });
        $("#bg").css("display", "none");
        $("#box").css("display", "none");
        $("#comparisonDiv").css("display", "none");
    }
</script>
</html>
SunshineIns/src/copy/fingerprint/dengji.html
File was renamed from SunshineIns/src/copy/fingerprint/指纹登记.html
@@ -42,7 +42,7 @@
        <h2>指纹登记</h2>
        <div class="list">
            <canvas id="canvas" width="430" height="450" style="background: rgb(243, 245, 240)"></canvas>
            <input type="hidden" id="whetherModify" name="whetherModify" alt="" value="111" />
            <button type="hidden" id="whetherModify" name="whetherModify" alt="" value="111" />
            <div style="position: absolute; left: 310px; top: 325px; width: 70px; height: 28px;">
                <button type="button" id="submitButtonId" name="makeSureName" onclick="submitEvent(event)"
SunshineIns/src/copy/fingerprint/js/fingerprint.js
@@ -41,23 +41,20 @@
 * @create 2013-06-15 15:01:31 pm
 * @param url 加载xml的url
 */
function loadXml(url)
{
function loadXml(url) {
    $.ajax( {
        type : "GET",
        url : url,
        dataType : "xml",
        async: false,
        success : function(xml)
        {
        success: function (xml) {
            $(xml).find('service').each(function(){
                var service = $(this);
                serverIp = service.find('ISSOnline_serverIp').text(); 
                serverPort = service.find('ISSOnline_serverPort').text();
            })
        },
        error : function(XMLHttpRequest, textStatus, errorThrown)
        {
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            //如果取配置文件出错,则设置默认
            serverIp = "127.0.0.1";
            serverPort = "22001";
@@ -74,22 +71,17 @@
 * @param fingerIdList 数据库查询的指纹标记
 * @param templateList 数据库查询的指纹模板
 */
function loadFPDataTemplate(fingerIdList, templateList)
{
    if(fingerIdList == "[]")
    {
function loadFPDataTemplate(fingerIdList, templateList) {
    if (fingerIdList == "[]") {
        $("#fingerId").val(" ");
    } 
    else
    {
    else {
        $("#fingerId").val(fingerIdList);
    }
    if(templateList == "[]")
    {
    if (templateList == "[]") {
        $("#fingerTemplate10").val(" ");
    } 
    else
    {
    else {
        $("#fingerTemplate10").val(templateList);
    }
}
@@ -100,21 +92,17 @@
 * @author wenxin
 * @create 2013-08-09 17:24:31 pm
 */
function getBrowserType()
{
function getBrowserType() {
    var browserFlag = "";
     //是否支持html5的cors跨域
    if (typeof(Worker) !== "undefined")
    {
    if (typeof (Worker) !== "undefined") {
        browserFlag = "html5";
    }
    //此处判断ie8、ie9
    else if(navigator.userAgent.indexOf("MSIE 8.0")>0 || navigator.userAgent.indexOf("MSIE 9.0")>0)
    {
    else if (navigator.userAgent.indexOf("MSIE 8.0") > 0 || navigator.userAgent.indexOf("MSIE 9.0") > 0) {
        browserFlag = "simple";
    }
    else
    {
    else {
        browserFlag = "upgradeBrowser";//当前浏览器不支持该功能,请升级浏览器
    }
    return browserFlag;
@@ -128,28 +116,22 @@
 * @param paramArray 存放国际化元素的数组
 * @param isFPLogin 是否是指纹登录 true:是;false:否
 */
function checkDriver(paramArray, browserFlag, isFPLogin)
{
function checkDriver(paramArray, browserFlag, isFPLogin) {
    var hrefStr = "";
    if(browserFlag == "html5")
    {
    if (browserFlag == "html5") {
        // 发送一个请求,检查是否安装驱动
        getWebServerInfo(paramArray, isFPLogin, "0");
    }
    else if(browserFlag == "simple")
    {
    else if (browserFlag == "simple") {
        //发送一个请求,检查是否安装驱动
        getWebServerInfoForSimple(paramArray, isFPLogin, "0");
    }
    else if(browserFlag == "upgradeBrowser")
    {
        if($("#userLoginForm [name='fingerLogin']").val() != undefined)
        {
    else if (browserFlag == "upgradeBrowser") {
        if ($("#userLoginForm [name='fingerLogin']").val() != undefined) {
            $("#userLoginForm [name='fingerLogin']").attr("onclick", "");
            $("#userLoginForm [name='fingerLogin']").attr("title", "当前浏览器不支持改功能,请升级浏览器!");
        }
        if($("#fpRegister").val() != undefined)
        {
        if ($("#fpRegister").val() != undefined) {
            $("#fpRegister").attr("onclick", "");
            $("#fpRegister").attr("title", "当前浏览器不支持改功能,请升级浏览器!");
        }
@@ -165,30 +147,25 @@
 * @param type 0 表示发送完请求后,还有别的操作。1 表示发送完请求后,没有其余的操作了
 * @create 2013-08-09 17:24:31 pm
 */
function getWebServerInfo(paramArray, isFPLogin, type)
{
function getWebServerInfo(paramArray, isFPLogin, type) {
    $.ajax( {
        type : "GET",
        url : issOnlineUrl+"/info",
        dataType : "json",
        async: true,
        //timeout:1000,
        success : function(result)
        {
        success: function (result) {
            //检查驱动
            if(type == "0")
            {
            if (type == "0") {
                getWebServerInfoCallBack(result, paramArray, isFPLogin);
            }
            //检查动态库连接
            else if(type == "1")
            {
            else if (type == "1") {
                getDLLConnectCallBack(result,isComp);
            }
            
        },
        error : function(XMLHttpRequest, textStatus, errorThrown)
        {
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            
        }
    });
@@ -202,29 +179,23 @@
 * @param type 0 表示发送完请求后,还有别的操作。1 表示发送完请求后,没有其余的操作了
 * @create 2013-08-09 17:24:31 pm
 */
function getWebServerInfoForSimple(paramArray, isFPLogin, type)
{
function getWebServerInfoForSimple(paramArray, isFPLogin, type) {
    //创建XDomainRequest实例,用于ie8和ie9跨域访问
    var xDomainRequest = new XDomainRequest();
    //如果xDomainRequest存在,则可以使用xDomainRequest函数,否则,说明不是ie浏览器
    if (xDomainRequest)
    {
    if (xDomainRequest) {
        xDomainRequest.open('GET', issOnlineUrl+"/info?random="+getRandomNum());  
        xDomainRequest.onload = function()
        {
        xDomainRequest.onload = function () {
            //检查驱动
            if(type == "0")
            {
            if (type == "0") {
                getInfoForSimpleCallBack(xDomainRequest, paramArray, isFPLogin);
            }
            //检查动态库连接
            else if(type == "1")
            {
            else if (type == "1") {
                getDLLConnectCallBack(xDomainRequest,isComp);
            }
        };  
        xDomainRequest.onerror = function()
        {
        xDomainRequest.onerror = function () {
            //用完后,将对象置为空
            xDomainRequest = null;
        };
@@ -238,21 +209,17 @@
 * @author wenxin
 * @create 2013-08-09 17:24:31 pm
 */
function getWebServerInfoCallBack(result, paramArray, isFPLogin)
{
function getWebServerInfoCallBack(result, paramArray, isFPLogin) {
    //返回码
    var ret = null;
    ret = result.ret;
    //接口调用成功返回时
    if(ret == 0)
    {
        if(isFPLogin)
        {
    if (ret == 0) {
        if (isFPLogin) {
            //显示指纹登录
            showFPVerify(paramArray);
        }
        else
        {
        else {
            //显示登记--可以点击采集指纹
            showRegister(paramArray);
            //计算指纹数量${pers_person_templateCount}:指纹数
@@ -274,8 +241,7 @@
 * @create 2013-06-14 10:09:20 am
 * @param paramArray 存放国际化元素的数组
 */
function showFPVerify(paramArray)
{
function showFPVerify(paramArray) {
    $("#userLoginForm .but_fing_disabled").hide();
    $("#userLoginForm .but_fing").show();
}
@@ -286,14 +252,13 @@
 * @create 2013-06-14 10:09:20 am
 * @param paramArray 存放国际化元素的数组
 */
function showRegister(paramArray)
{
function showRegister(paramArray) {
    var hrefStr = "";
    var param = '"'+paramArray[0]+'", "'+paramArray[1]+'", "'+paramArray[2]+'", '+null+'';
    $("#fpRegister").remove();
    $("#downloadDriver").remove();
    //webservice接口调用成功,说明驱动已经安装
    hrefStr = "<a id='fpRegister' onclick='submitRegister("+param+", true"+")' title='"+paramArray[3]+"' class='linkStyle'>"+paramArray[3]+"</a>";
    hrefStr = "<button id='fpRegister' onclick='submitRegister(" + param + ", true" + ")' title='" + paramArray[3] + "' class='linkStyle'>" + paramArray[3] + "</button>";
    $("#fpRegisterDiv").append(hrefStr);
}
@@ -303,8 +268,7 @@
 * @create 2013-04-25 11:31:20 am
 * 
 */
function showFPCountInit(fingerIdCount, text)
{
function showFPCountInit(fingerIdCount, text) {
    $("#fpCountMessage").text(text +" "+ fingerIdCount);
}
@@ -314,28 +278,23 @@
 * @param oldVersion 旧驱动版本
 * @create 2015-01-28 17:24:31 pm
 */
function compareFPDriver(oldVersion)
{
function compareFPDriver(oldVersion) {
    var existVersion = fpDriverVersion
    var curVersion = oldVersion;//3.5.2
    var existVersionArr = existVersion.split(".");
    var curVersionArr = curVersion.split(".");
    var isLast = true;
    var len = existVersionArr.length;
    for(var i=len;i>0;i--)
    {
    for (var i = len; i > 0; i--) {
        var existVersionTemp = parseInt(existVersionArr[i-1]);
        var curVersionTemp = parseInt(curVersionArr[i-1]);
        if(existVersionTemp<curVersionTemp)
        {
        if (existVersionTemp < curVersionTemp) {
            isLast = false;
        }
        else if(existVersionTemp>curVersionTemp)
        {
        else if (existVersionTemp > curVersionTemp) {
            isLast = true;
        }
        else
        {
        else {
            //等于 忽略
        }
    }
@@ -357,28 +316,23 @@
 * @param isFPLogin 是否是指纹登录 true:是;false:否
 * @create 2013-08-09 17:43:31 pm
 */
function getInfoForSimpleCallBack(xDomainRequest, paramArray, isFPLogin)
{
function getInfoForSimpleCallBack(xDomainRequest, paramArray, isFPLogin) {
    //获取接口返回值
    var resultData = xDomainRequest.responseText;
    //转化为json对象
    var obj = jQuery.parseJSON(resultData);
    //返回码
    var ret = null;
    if(obj != null && obj.ret != undefined)
    {
    if (obj != null && obj.ret != undefined) {
        ret = obj.ret;
    }
    //接口调用成功返回时
    if(ret == 0)
    {
        if(isFPLogin)
        {
    if (ret == 0) {
        if (isFPLogin) {
            //显示指纹比对
            showFPVerify(paramArray);
        }
        else
        {
        else {
            //显示登记--点击采集指纹
            showRegister(paramArray);
            //计算指纹数量${pers_person_templateCount}:指纹数
@@ -402,11 +356,9 @@
 * @param downloadText 驱动安装国际化内容
 * @param isDriverInstall 是否安装了驱动
 */
function submitRegister(title, fpCount, saveText, downloadText, isDriverInstall)
{
function submitRegister(title, fpCount, saveText, downloadText, isDriverInstall) {
    //支持html5
    if (typeof(Worker) !== "undefined" && isDriverInstall)
    {
    if (typeof (Worker) !== "undefined" && isDriverInstall) {
        var box=document.getElementById("box");
        var bg=document.getElementById("bg");
           box.style.display="block";//显示内容层,显示覆盖层
@@ -419,19 +371,16 @@
        //关闭页面时,提示保存数据
        //storeBeforeClose(fpCount, saveText);
    } 
    else if(typeof(Worker) == "undefined" && isDriverInstall)
    {
    else if (typeof (Worker) == "undefined" && isDriverInstall) {
        //createWindow('base_baseFPRegisterSimple.action?random=' + getRandomNum() + '^0^0^465^460^' + title);//public/html/applet.html
        showModalDialog('webapp/html/baseFPRegisterSimple.html',title,'dialogWidth:465px;dialogHeight:460px;dialogLeft:600px;dialogTop:150px;center:yes;resizable:no;status:yes');
        //关闭页面时,提示保存数据
        //storeBeforeClose(fpCount, saveText);
    }  
    else if(!isDriverInstall)
    {
    else if (!isDriverInstall) {
        alert("请安装指纹驱动或启动该服务!");
        //messageBox({messageType: "alert", title: "提示", text: "请安装指纹驱动或启动该服务!"});
        if(typeof($("#downloadDriver").val()) == "undefined")
        {
        if (typeof ($("#downloadDriver").val()) == "undefined") {
            var hrefStr = "<a id='downloadDriver' href='webapp/middleware/zkbioonline.exe' title='" + downloadText + "'>"+downloadText+"</a>";
            $("#driverDownload").append(hrefStr);
        }
@@ -446,13 +395,11 @@
 * @param fpCount 指纹数国际化内容
 * @param saveText 提示:是否保存国际化内容
 */
function storeBeforeClose(fpCount, saveText)
{
function storeBeforeClose(fpCount, saveText) {
     //关闭页面时,监听关闭的onclick事件
    getCurrentWindow().button("close").attachEvent("onClick", function(){
        //判断是否修改了数据(包括新增和删除)
        if ($("#whetherModify").val() != undefined && (fpModifyFlag != undefined && fpModifyFlag))
        {
        if ($("#whetherModify").val() != undefined && (fpModifyFlag != undefined && fpModifyFlag)) {
            //获取指纹标记数据
            var fingerIdData = fingerIdArray;
            //获取指纹模板数据
@@ -460,8 +407,7 @@
            var flag=confirm(saveText);
            saveFPData(flag, fpCount);
        }
        else
        {
        else {
            //取消采集 
            cancelRegister();
            //将定时器的递归调用关闭
@@ -478,13 +424,11 @@
 * @create 2013-05-13 10:18:31 am
 * @param 
 */
function getDataFromPage()
{
function getDataFromPage() {
    var fingerId = $("#fingerId").val();
    var fingerTemplate = $("#fingerTemplate10").val();
    //如果有数据
    if($.trim(fingerId) != "")
    {
    if ($.trim(fingerId) != "") {
        fingerId = fingerId.substr(1, fingerId.length-2);
        fingerTemplate = fingerTemplate.substr(1, fingerTemplate.length-2);
        fingerIdArray = fingerId.split(",");
@@ -500,8 +444,7 @@
 * @author wenxin
 * @create 2013-06-15 15:40:31 pm
 */
function initCoordJson()
{
function initCoordJson() {
    var coordJson = [{"num" : 0, "coord" : {"x" : x + 3, "y" : y - 37}},
                     {"num" : 1, "coord" : {"x" : x + 25, "y" : y - 37}},
                     {"num" : 2, "coord" : {"x" : x + 47, "y" : y - 34}},
@@ -526,10 +469,8 @@
 * @param x, y 绘画手指的起点的坐标
 * @param num 手指、手掌编号0-9:手指编号;10:左手掌,11:右手掌,12:圆弧。
 */
function initCoordArray(coordArray, x, y, num)
{
    if(num == 0)
    {
function initCoordArray(coordArray, x, y, num) {
    if (num == 0) {
        coordArray[0] = new Coord(x, y);
        coordArray[1] = new Coord(x + 2, y - 35);
        coordArray[2] = new Coord(x + 5, y - 40);
@@ -542,8 +483,7 @@
        coordArray[9] = new Coord(x + 3, y + 5);
        coordArray[10] = new Coord(x, y);
    }
    else if(num == 1)
    {
    else if (num == 1) {
        coordArray[0] = new Coord(x, y);
        coordArray[1] = new Coord(x + 8, y - 50);
        coordArray[2] = new Coord(x + 12, y - 54);
@@ -556,8 +496,7 @@
        coordArray[9] = new Coord(x + 3, y + 4);
        coordArray[10] = new Coord(x, y);
    }
    else if(num == 2)
    {
    else if (num == 2) {
        coordArray[0] = new Coord(x, y);
        coordArray[1] = new Coord(x + 14, y - 54);
        coordArray[2] = new Coord(x + 16, y - 57);
@@ -570,8 +509,7 @@
        coordArray[9] = new Coord(x + 1, y + 5);
        coordArray[10] = new Coord(x, y);
    }
    else if(num == 3)
    {
    else if (num == 3) {
        coordArray[0] = new Coord(x, y);
        coordArray[1] = new Coord(x + 19, y - 37);
        coordArray[2] = new Coord(x + 21, y - 39);
@@ -598,8 +536,7 @@
        coordArray[10] = new Coord(x - 2, y + 8);
        coordArray[11] = new Coord(x, y);
    }
    else if(num == 5)
    {
    else if (num == 5) {
        coordArray[0] = new Coord(x, y);
        coordArray[1] = new Coord(x - 26, y - 21);
        coordArray[2] = new Coord(x - 27, y - 24);
@@ -612,8 +549,7 @@
        coordArray[9] = new Coord(x + 7, y + 1);
        coordArray[10] = new Coord(x, y);
    }
    else if(num == 6)
    {
    else if (num == 6) {
        coordArray[0] = new Coord(x, y);
        coordArray[1] = new Coord(x - 17, y - 46);
        coordArray[2] = new Coord(x - 17, y - 50);
@@ -626,8 +562,7 @@
        coordArray[9] = new Coord(x + 4, y + 2);
        coordArray[10] = new Coord(x, y);
    }
    else if(num == 7)
    {
    else if (num == 7) {
        coordArray[0] = new Coord(x, y);
        coordArray[1] = new Coord(x - 12, y - 54);
        coordArray[2] = new Coord(x - 10, y - 58);
@@ -640,8 +575,7 @@
        coordArray[9] = new Coord(x + 5, y + 4);
        coordArray[10] = new Coord(x, y);
    }
    else if(num == 8)
    {
    else if (num == 8) {
        coordArray[0] = new Coord(x, y);
        coordArray[1] = new Coord(x - 5, y - 50);
        coordArray[2] = new Coord(x - 2, y - 54);
@@ -654,8 +588,7 @@
        coordArray[9] = new Coord(x + 4, y + 5);
        coordArray[10] = new Coord(x, y);
    }
    else if(num == 9)
    {
    else if (num == 9) {
        coordArray[0] = new Coord(x, y);
        coordArray[1] = new Coord(x, y - 37);
        coordArray[2] = new Coord(x + 3, y - 41);
@@ -668,8 +601,7 @@
        coordArray[9] = new Coord(x + 3, y + 4);
        coordArray[10] = new Coord(x, y);
    }
    else if(num == 10)
    {
    else if (num == 10) {
        coordArray[0] = new Coord(x, y);
        coordArray[1] = new Coord(x + 2, y - 8);
        coordArray[2] = new Coord(x + 6, y - 16);
@@ -693,8 +625,7 @@
        coordArray[19] = new Coord(x + 2, y + 29);
        coordArray[20] = new Coord(x, y);
    }
    else if(num == 11)
    {
    else if (num == 11) {
        coordArray[0] = new Coord(x, y);
        coordArray[1] = new Coord(x - 2, y - 10);
        coordArray[2] = new Coord(x + 1, y - 20);
@@ -715,8 +646,7 @@
        coordArray[16] = new Coord(x + 16, y + 29);
        coordArray[17] = new Coord(x, y);
    }
    else if(num == 12)
    {
    else if (num == 12) {
        coordArray[0] = new Coord(x - 10, y);
        coordArray[1] = new Coord(x + 212, y);
        coordArray[2] = new Coord(x + 212, y + 129);
@@ -746,8 +676,7 @@
 * @author wenxin
 * @create 2013-05-31 18:01:33 pm
 */
var Coord = function(x, y)
{
var Coord = function (x, y) {
    this.x = x;
    this.y = y;
}
@@ -761,40 +690,31 @@
 * @param renderFlag 渲染标记 stroke:绘画边线;fill:填充
 * @param color 渲染颜色
 */
var renderFinger = function(context, pointArray)
{
var renderFinger = function (context, pointArray) {
    this.context = context;
    this.pointArray = pointArray;
    this.isClick = false;
    this.drawFinger = function(renderFlag, color)
    {
        if(renderFlag == "stroke")
        {
    this.drawFinger = function (renderFlag, color) {
        if (renderFlag == "stroke") {
            this.context.strokeStyle = color;
        }
        else if(renderFlag == "fill")
        {
        else if (renderFlag == "fill") {
            this.context.fillStyle = color;
        }
        this.context.lineWidth = 1;
        this.context.beginPath();
        for(var i=0; i<this.pointArray.length; i++)
        {
            if(i == 0)
            {
        for (var i = 0; i < this.pointArray.length; i++) {
            if (i == 0) {
                this.context.moveTo(this.pointArray[0].x, this.pointArray[0].y);
            }
            else
            {
            else {
                this.context.lineTo(this.pointArray[i].x, this.pointArray[i].y);
            }
        }
        if(renderFlag == "stroke")
        {
        if (renderFlag == "stroke") {
            this.context.stroke();
        }
        else if(renderFlag == "fill")
        {
        else if (renderFlag == "fill") {
            this.context.fill();
        }
    };
@@ -808,36 +728,28 @@
 * @param num 当前需要渲染的手指编号
 * @param browserFlag 浏览器标记 simple:简易版本,表示是ie浏览器;html5:表示支持html5的浏览器
 */
function renderInit(context, num, browserFlag)
{
function renderInit(context, num, browserFlag) {
    var fingerId;
    for(var i=0; i<fingerIdArray.length; i++)
    {
    for (var i = 0; i < fingerIdArray.length; i++) {
        fingerId = eval(fingerIdArray[i]);
        if(fingerId >= DURESS_FINGER_NUM)
        {
        if (fingerId >= DURESS_FINGER_NUM) {
            fingerId = fingerId -DURESS_FINGER_NUM;
            if(browserFlag == "html5")
            {
                if(fingerId == num)
                {
            if (browserFlag == "html5") {
                if (fingerId == num) {
                    context.fillStyle = "red";
                    context.fill();
                }
            }
        }
        else
        {
        else {
            if(browserFlag == "html5"){
                if(fingerId == num)
                {
                if (fingerId == num) {
                    context.fillStyle = "rgb(122,193,66)";
                    context.fill();
                }
            }
        }
        if(browserFlag == "simple")
        {
        if (browserFlag == "simple") {
            document.getElementById("finger" + fingerId).checked = true;
        }
    }
@@ -850,8 +762,7 @@
 * @param context 2d画布上下文
 * @param browserFlag 浏览器标记 simple:简易版本,表示是ie浏览器;html5:表示支持html5的浏览器
 */
function showImage(context, base64FPImg, browserFlag)
{
function showImage(context, base64FPImg, browserFlag) {
    var img;
    var imgSrc = "data:image/jpg;base64,"+base64FPImg;
    if(browserFlag == "html5"){
@@ -876,8 +787,7 @@
            context.restore();
        }
    }
    else if(browserFlag == "verification")
    {
    else if (browserFlag == "verification") {
        img = new Image();
        img.src = "";
        img.src = imgSrc;
@@ -898,8 +808,7 @@
            context.restore();
        }
    }
    else if(browserFlag == "clearForVerify" || browserFlag == "clearForRegister")
    {
    else if (browserFlag == "clearForVerify" || browserFlag == "clearForRegister") {
        img = new Image();
        img.src = "";
        img.src = base64FPImg;
@@ -909,12 +818,10 @@
            // 开始创建路径
            context.beginPath();
            // 画一个椭圆
            if(browserFlag == "clearForVerify")
            {
            if (browserFlag == "clearForVerify") {
                context.oval(91, 160, 112, 145);
            }
            else if(browserFlag == "clearForRegister")
            {
            else if (browserFlag == "clearForRegister") {
                context.oval(125, 142, 132, 165);
            }
            // 关闭路径
@@ -922,29 +829,24 @@
            // 剪切路径
            context.clip();
            //将图片画到画布上
            if(browserFlag == "clearForVerify")
            {
            if (browserFlag == "clearForVerify") {
                context.drawImage(img, 12, 54, 160, 213);
            }
            else if(browserFlag == "clearForRegister")
            {
            else if (browserFlag == "clearForRegister") {
                context.drawImage(img, 60, 60, 132, 165);
            }
            //调用restore最后一次存储的状态会被恢复
            context.restore();
        }
    }
    else if(browserFlag == "simple")
    {
    else if (browserFlag == "simple") {
        $("#showFPImageDiv").html("<img src="+imgSrc+" width='112' height='145' />");
    }
    else if(browserFlag == "verifySimple")
    {
    else if (browserFlag == "verifySimple") {
        $("#showSeachingDiv").show();
        $("#showSeachingDiv").html("&nbsp;&nbsp;<img src=\"/public/images/searching.gif\" width='20' height='20'/></br><label style='color:yellow;align:center;font-size: 14px;'>处理中...</label>");
    }
    else if(browserFlag == "clearForSimple")
    {
    else if (browserFlag == "clearForSimple") {
        $("#showFPImageDiv").html("");
    }
}
@@ -957,24 +859,19 @@
 * @param pointArray 坐标点数组
 * @param color 渲染颜色
 */
var renderHand = function(context, pointArray)
{
var renderHand = function (context, pointArray) {
    this.context = context;
    this.pointArray = pointArray;
    this.isClick = false;
    this.drawHand = function(color)
    {
    this.drawHand = function (color) {
        this.context.strokeStyle = color;
        this.context.lineWidth = 1;
        this.context.beginPath();
        for(var i=0; i<this.pointArray.length; i++)
        {
            if(i == 0)
            {
        for (var i = 0; i < this.pointArray.length; i++) {
            if (i == 0) {
                this.context.moveTo(this.pointArray[0].x, this.pointArray[0].y);
            }
            else
            {
            else {
                this.context.lineTo(this.pointArray[i].x, this.pointArray[i].y);
            }
        }
@@ -990,38 +887,31 @@
 * @param paramArray 存放国际化元素的数组
 * @param browserFlag 浏览器标记 simple:简易版本,表示是ie浏览器;html5:表示支持html5的浏览器
 */
function checkFPReader(context, paramArray, browserFlag)
{
    if(browserFlag == "html5")
    {
function checkFPReader(context, paramArray, browserFlag) {
    if (browserFlag == "html5") {
        $.ajax( {
            type : "GET",
            url : issOnlineUrl+"/fingerprint/beginCapture?type=1&FakeFunOn=0&random="+getRandomNum(),
            dataType : "json",
            async: false,
            //timeout:1000,
            success : function(result)
            {
            success: function (result) {
                //返回码
                var ret = null;
                ret = result.ret;
                //接口调用成功返回时
                if(ret == 0)
                {
                if (ret == 0) {
                    //显示框--采集提示
                    collectTips(context, paramArray[0], "html5");
                }
                else if(ret == -2001)
                {
                else if (ret == -2001) {
                    //显示框--采集提示
                    collectTips(context, paramArray[1], "html5");
                }
                else if(ret == -2002)
                {
                else if (ret == -2002) {
                    getWebServerInfo(null, null, "1");
                }
                else if(ret == -2005)
                {
                else if (ret == -2005) {
                    //显示框--采集提示
                    collectTips(context, paramArray[3], "html5");
                }
@@ -1029,54 +919,45 @@
                //取消采集
                cancelRegister();
            },
            error : function(XMLHttpRequest, textStatus, errorThrown)
            {
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert("请安装指纹驱动或启动该服务!");
                //messageBox({messageType: "alert", title: "${common_prompt_title}", text: "${base_fp_connectPrompt}"});
            }
        });
    }
    else if(browserFlag == "simple")
    {
    else if (browserFlag == "simple") {
        //创建XDomainRequest实例,用于ie8和ie9跨域访问
        var xDomainRequest = new XDomainRequest();
        //如果xDomainRequest存在,则可以使用xDomainRequest函数,否则,说明不是ie浏览器
        if (xDomainRequest)
        {
        if (xDomainRequest) {
            xDomainRequest.open('GET', issOnlineUrl+"/fingerprint/beginCapture?type=1&FakeFunOn=0&random="+getRandomNum());  
            xDomainRequest.onload = function()
            {
            xDomainRequest.onload = function () {
                //获取接口返回值
                var resultData = xDomainRequest.responseText;
                //转化为json对象
                var obj = jQuery.parseJSON(resultData);
                //返回码
                var ret = null;
                if(obj != null && obj.ret != undefined)
                {
                if (obj != null && obj.ret != undefined) {
                    ret = obj.ret;
                }
                //接口调用成功返回时
                if(ret == 0)
                {
                if (ret == 0) {
                    //显示框--采集提示
                    collectTips(null, paramArray[0], "simple");
                }
                else if(ret == -2001)
                {
                else if (ret == -2001) {
                    //显示框--采集提示
                    collectTips(null, paramArray[1], "simple");
                }
                else if(ret == -2002)
                {
                else if (ret == -2002) {
                    getWebServerInfoForSimple(null, null, "1");
                }
                collectFlag = true;
                //取消采集
                cancelRegister();
            };  
            xDomainRequest.onerror = function()
            {
            xDomainRequest.onerror = function () {
                //用完后,将对象置为空
                xDomainRequest = null;
            };
@@ -1094,14 +975,11 @@
 * @param browserFlag 浏览器标记或比对验证标记 simple:简易版本,表示是ie浏览器;html5:表示支持html5的浏览器
 * --verification:指纹验证标记
 */
function collectTips(context, text, browserFlag)
{
    if(browserFlag == "simple")
    {
function collectTips(context, text, browserFlag) {
    if (browserFlag == "simple") {
        $("#showCollInfoDiv").html("<span style='color:rgb(122,193,66); font-size: 12px;word-break: break-all; word-wrap: break-word;'>"+text+"</span>");
    }
    else if(browserFlag == "html5")
    {
    else if (browserFlag == "html5") {
        context.fillStyle = bgColor;//bgColor;
        context.fillRect(205, 18, 240, 16);
        
@@ -1114,8 +992,7 @@
        context.textAlign = "end";
        context.fillText(text, 400, 30);
    }
    else if(browserFlag == "verification")
    {
    else if (browserFlag == "verification") {
        //#6BA5D7
        context.fillStyle = "#F3F5F0";//#6BA5D7
        context.fillRect(2, 8, 600, 30);
@@ -1148,8 +1025,7 @@
        autoWordBreak(context,text,canvasWidth,x);
        context.restore();
    }
    else if(browserFlag == "verifyForSimple")
    {
    else if (browserFlag == "verifyForSimple") {
        $("#showCollInfoDiv").html("<span style='color:yellow;align:center;font-size: 18px;word-break: break-all; word-wrap: break-word;'>"+text+"</span>");
    }
}
@@ -1161,39 +1037,34 @@
 * @param context 2d画布上下文
 * @param x,y,width,height 进度条底框的坐标和宽度、高度
 */
function drawProgressBar(context, collCount)
{
function drawProgressBar(context, collCount) {
    var x = 300;
    var y = 60;
    var width = 90;
    var height = 20;
    context.fillStyle = bgColor;
    context.fillRect(x, y, width, height);
    if(collCount == 0)
    {
    if (collCount == 0) {
        context.fillStyle = "rgb(175,181,185)";
        context.fillRect(x + 4, y + 2, width - 52, height - 4);
        context.fillRect(x + 46, y + 2, width -52, height - 4);
        context.fillRect(x + 86, y + 2, width - 52, height - 4);
    }
    else if(collCount == 1)
    {
    else if (collCount == 1) {
        context.fillStyle = "rgb(122,193,66)";
        context.fillRect(x + 4, y + 2, width - 52, height - 4);
        context.fillStyle = "rgb(175,181,185)";
        context.fillRect(x + 46, y + 2, width - 52, height - 4);
        context.fillRect(x + 86, y + 2, width - 52, height - 4);
    }
    else if(collCount == 2)
    {
    else if (collCount == 2) {
        context.fillStyle = "rgb(122,193,66)";
        context.fillRect(x + 4, y + 2, width - 52, height - 4);
        context.fillRect(x + 46, y + 2, width - 52, height - 4);
        context.fillStyle = "rgb(175,181,185)";
        context.fillRect(x + 86, y + 2, width - 52, height - 4);
    }
    else if(collCount == 3)
    {
    else if (collCount == 3) {
        context.fillStyle = "rgb(122,193,66)";
        context.fillRect(x + 4, y + 2, width - 52, height - 4);
        context.fillRect(x + 46, y + 2, width - 52, height - 4);
@@ -1209,19 +1080,15 @@
 * @param fingerIdArray 存放手指编号的数组
 * @return 返回boolean值 true:num包含在fingerIdArray中;false:没有包含
 */
function isContains(fingerIdArray, num)
{
function isContains(fingerIdArray, num) {
    var fingerId;
    var isCollected = false;
    for(var j=0; j<fingerIdArray.length; j++)
    {
    for (var j = 0; j < fingerIdArray.length; j++) {
        fingerId = eval(fingerIdArray[j]);
        if(fingerId >= DURESS_FINGER_NUM)
        {
        if (fingerId >= DURESS_FINGER_NUM) {
            fingerId = fingerId -DURESS_FINGER_NUM;
        }
        if(fingerId == num)
        {
        if (fingerId == num) {
            isCollected = true;
        }
    }
@@ -1233,18 +1100,14 @@
 * @author wenxin
 * @create 2013-09-05 15:15:11 pm
 */
function clearFPImage(context, browserFlag)
{
    if(browserFlag == "verification")
    {
function clearFPImage(context, browserFlag) {
    if (browserFlag == "verification") {
//        showImage(context, "${base}/base/images/base_fpVerify_clearImage.png", "clearForVerify");
    }
    else if(browserFlag == "register")
    {
    else if (browserFlag == "register") {
        showImage(context, "image/base_fpVerify_clearImage.png", "clearForRegister");
    }
    else if(browserFlag == "verifyForSimple" || browserFlag == "registerForSimple")
    {
    else if (browserFlag == "verifyForSimple" || browserFlag == "registerForSimple") {
        showImage(null, "", "clearForSimple");
    }
}
@@ -1256,8 +1119,7 @@
 * @param paramArray 存放国际化元素的数组
 * @param flag 判断是登记和验证标记 register:登记;verification:验证
 */
function getFPTemplate(paramArray, flag)
{
function getFPTemplate(paramArray, flag) {
    var fpTemplate = "";
    var collectSuccessFlag = false;
    $.ajax( {
@@ -1265,70 +1127,61 @@
        url : issOnlineUrl+"/fingerprint/getTemplate?random="+getRandomNum(),
        dataType : "json",
        async: false,
        success : function(result)
        {
        success: function (result) {
            //返回码
            var ret = null;
            ret = result.ret;
            if(ret == 0)
            {
            if (ret == 0) {
                fpTemplate = result.data.template;
                console.log('fpTemplate', fpTemplate)
                window.top.postMessage({
                    fingerCode: result.data.template,
                });
            }
            //成功
            if(ret == 0)
            {
            if (ret == 0) {
                collectSuccessFlag = true;
                if(flag == "register")
                {
                if (flag == "register") {
                    //判断手指是否已经采集指纹
                    var compareRet = "";
                    //如果前面已经录入指纹
                    if(templateDataArray.length > 0)
                    {
                    if (templateDataArray.length > 0) {
                        //发送请求,进行后台指纹比对yls
                        //compareRet = fpComparision(fpTemplate, templateDataArray, paramArray[3]);
                    }
                    if($.trim(compareRet) == "dllNotExist")
                    {
                    if ($.trim(compareRet) == "dllNotExist") {
                        //采集完指纹,渲染手指
                        renderAfterColl(globalContext, fpIdNum, bgColor, false);//bgColor判断
                        //显示框--采集提示
                        collectTips(globalContext, "动态库加载失败", "html5");
                    }
                    else
                    {
                        if(compareRet == "noFingerServer")
                        {
                    else {
                        if (compareRet == "noFingerServer") {
                            //采集完指纹,渲染手指
                            renderAfterColl(globalContext, fpIdNum, bgColor, false);//bgColor判断
                            //显示框--采集提示
                            collectTips(globalContext, "未启动比对服务", "html5");
                        }
                        else
                        {
                        else {
                            //此手指未采集指纹
                            if(compareRet != "ok")
                            {
                            if (compareRet != "ok") {
                                //采集完指纹,渲染手指
                                renderAfterColl(globalContext, fpIdNum, bgColor, true);//bgColor判断
                                //显示框--采集提示
                                collectTips(globalContext, paramArray[0], "html5");
                                //胁迫指纹
                                if(duressFingerFlag)
                                {
                                if (duressFingerFlag) {
                                    //将手指标记保存到数组中
                                    fingerIdArray[fingerIdArray.length] = fpIdNum + DURESS_FINGER_NUM;
                                }
                                else
                                {
                                else {
                                    //将手指标记保存到数组中
                                    fingerIdArray[fingerIdArray.length] = fpIdNum;
                                }
                                //将指纹模板保存到数组中
                                templateDataArray[templateDataArray.length] = fpTemplate;
                            }
                            else
                            {
                            else {
                                //采集完指纹,渲染手指
                                renderAfterColl(globalContext, fpIdNum, bgColor, false);//bgColor判断
                                //Please don't repeat input fingerprint!
@@ -1338,23 +1191,20 @@
                        }
                    }
                }
                else if(flag == "verification")
                {
                else if (flag == "verification") {
                    verifyFlag = false;
                    //指纹比对
                    fpComparison(fpTemplate);
                }
            }
            else if(ret == -2003)
            {
            else if (ret == -2003) {
                //采集完指纹,渲染手指
                renderAfterColl(globalContext, fpIdNum, bgColor, false);
                //显示框--采集提示
                collectTips(globalContext, paramArray[1], "html5");
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown)
        {
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert(paramArray[3]);
            //messageBox({messageType: "alert", title: "${common_prompt_title}", text: paramArray[3]});
        }
@@ -1370,8 +1220,7 @@
 * @param templateArray 指纹模板数组
 * @param errorMsg ajax请求报错,错误信息
 */
function fpComparision(fpTemplate, templateArray, errorMsg)
{
function fpComparision(fpTemplate, templateArray, errorMsg) {
    var ret = "";
    var templates = templateArray.toString();
    console.log('fpTemplate',fpTemplate)
@@ -1386,23 +1235,18 @@
        data : "verifyTemplate="+fpTemplate+"&templates="+templates,
        dataType : "json",
        async: false,
        success : function(result)
        {
            if(result.ret == "ok")
            {
        success: function (result) {
            if (result.ret == "ok") {
                ret = "ok";
            }
            if(result.msg == "noFingerServer")
            {
            if (result.msg == "noFingerServer") {
                ret = "noFingerServer";
            }
            if(result.msg == "dllNotExist")
            {
            if (result.msg == "dllNotExist") {
                ret = "dllNotExist";
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown)
        {
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert("服务器处理数据失败,请重试!错误码:");
            //messageBox({messageType: "alert", title: "${common_prompt_title}", text: "${common_prompt_serverError}"});
        }
@@ -1419,8 +1263,7 @@
 * @param fillColor 采集完后填充颜色
 * @param successOrNot 采集是否成功--布尔值 true:采集成功;false:采集失败
 */
function renderAfterColl(context, num, fillColor, successOrNot)
{
function renderAfterColl(context, num, fillColor, successOrNot) {
    var canvas="";
    if(isComp){
        canvas = document.getElementById("canvasComp");
@@ -1432,35 +1275,29 @@
    //初始化起始坐标,并返回json格式数据 
    var coordJson = initCoordJson();
    //进来页面,点击删除
    if(num == null)
    {
    if (num == null) {
        num = fpIdNum;
    }
    //点击的手指编号和json中num相等
    if(coordJson[num].num == num)
    {
    if (coordJson[num].num == num) {
        //初始化坐标数组和绘画手指
        initCoordAndDrawFinger(context, coordArray, coordJson[num].coord.x, coordJson[num].coord.y, num);
    }
    
    //采集成功,填充颜色(红、绿)
    if(successOrNot)
    {
        if(duressFingerFlag)
        {
    if (successOrNot) {
        if (duressFingerFlag) {
            localContext.fillStyle = "red";//fillColor
            localContext.fill();
            fpModifyFlag = true;
        }
        else
        {
        else {
            localContext.fillStyle = "rgb(122,193,66)";//fillColor
            localContext.fill();
            fpModifyFlag = true;
        }
    }
    else
    {
    else {
        //采集失败,填充背景色--消除颜色(黄)
        localContext.fillStyle = fillColor;
        localContext.fill();
@@ -1476,8 +1313,7 @@
 * @param x,y 绘画当前手指的起始坐标
 * @param num 手指标记
 */
function initCoordAndDrawFinger(context, coordArray, x, y, num)
{
function initCoordAndDrawFinger(context, coordArray, x, y, num) {
    coordArray = initCoordArray(coordArray, x, y, num);
    new renderFinger(context, coordArray).drawFinger(strokeStyle, fingerBorderColor);
}
@@ -1488,12 +1324,9 @@
 * @create 2013-05-15 17:21:13 pm
 * @param "${base_fp_save}":确认保存当前修改吗?
 */
function cancelEvent(saveText, fpCountText)
{
    if(!fpModifyFlag)
    {
        if(collectFlag)
        {
function cancelEvent(saveText, fpCountText) {
    if (!fpModifyFlag) {
        if (collectFlag) {
            //取消采集
            cancelRegister();
            //将定时器的递归调用关闭
@@ -1502,8 +1335,7 @@
        //closeWindow();
        close();
    }
    else
    {
    else {
        var flag=confirm(saveText);
        if(flag){
            saveFPData(flag, fpCountText);
@@ -1524,24 +1356,20 @@
 * @param fpCount 指纹数国际化内容
 * @param ${pers_person_templateCount}:指纹数
 */
var saveFPData = function(result, fpCount)
{
    if(collectFlag)
    {
var saveFPData = function (result, fpCount) {
    if (collectFlag) {
        //取消采集
        cancelRegister();
        //将定时器的递归调用关闭
        clearTimeout(timer);
    }
    if(result)
    {
    if (result) {
        storeDataToHtml();
        showFPCount(fpCount);
        //closeWindow();
        close();
    }
    else
    {
    else {
        clearImageData();
        //closeWindow();
        close();
@@ -1553,15 +1381,12 @@
 * @author wenxin
 * @create 2013-04-22 21:26:31 pm
 */
function showFPCount(text)
{
function showFPCount(text) {
    var fingerId = $("#fingerId").val();
    if($.trim(fingerId) == "")
    {
    if ($.trim(fingerId) == "") {
        $("#fpCountMessage").text(text + " " + 0);
    }
    else
    {
    else {
        fingerId = fingerId.substr(1, fingerId.length - 2);
        var fingerIdArray = new Array();
        fingerIdArray = fingerId.split(",");
@@ -1574,25 +1399,20 @@
 * @author wenxin
 * @create 2013-05-24 16:12:21 pm
 */
function storeDataToHtml()
{
function storeDataToHtml() {
    //没有手指标记数据
    if(fingerIdArray.length == 0)
    {
    if (fingerIdArray.length == 0) {
        $("#fingerId").val(" ");
    }
    else
    {
    else {
        //将手指标记数据保存到页面
        $("#fingerId").val("["+fingerIdArray.toString()+"]");
    }
    //没有指纹模板数据
    if(templateDataArray.length == 0)
    {
    if (templateDataArray.length == 0) {
        $("#fingerTemplate10").val(" ");
    }
    else
    {
    else {
        //将指纹模板数据保存到页面
        $("#fingerTemplate10").val("["+templateDataArray.toString()+"]");
    }
@@ -1615,30 +1435,23 @@
 * @param context 2d画布上下文
 * @param browserFlag 浏览器标记 simple:简易版本,表示是ie浏览器;html5:表示支持html5的浏览器
 */
var delFPData = function(result, context, browserFlag)
{
var delFPData = function (result, context, browserFlag) {
    var fingerId;
    if(result)
    {
    if (result) {
        //将数组中的指定元素删除
        for(var i=0; i<fingerIdArray.length; i++)
        {
        for (var i = 0; i < fingerIdArray.length; i++) {
            fingerId = eval(fingerIdArray[i]);
            if(fingerId >= DURESS_FINGER_NUM)
            {
            if (fingerId >= DURESS_FINGER_NUM) {
                fingerId = fingerId - DURESS_FINGER_NUM;
                if(fingerId == fpIdNum)
                {
                if (fingerId == fpIdNum) {
                    //fingerIdArray.remove(i);
                    //templateDataArray.remove(i);
                    removeItem(fingerIdArray, i);
                    removeItem(templateDataArray, i);
                }
            }
            else
            {
                if(fingerId == fpIdNum)
                {
            else {
                if (fingerId == fpIdNum) {
                    //fingerIdArray.remove(i);
                    //templateDataArray.remove(i);
                    removeItem(fingerIdArray, i);
@@ -1646,17 +1459,14 @@
                }
            }
        }
        if(browserFlag == "simple")
        {
        if (browserFlag == "simple") {
            document.getElementById("finger" + fingerId).checked = false;
        }
        else if(browserFlag == "html5")
        {
        else if (browserFlag == "html5") {
            //将手指颜色改变--重画时也要判断
            context.fillStyle = bgColor;
            context.fill();
            if(lastFPIdNum != null && lastFPIdNum != lastFPIdNum)
            {
            if (lastFPIdNum != null && lastFPIdNum != lastFPIdNum) {
                //消除原来手指的颜色
                renderAfterColl(globalContext, lastFPIdNum, bgColor, false);
            }
@@ -1667,15 +1477,12 @@
        $("#duressFinger").attr("disabled", false);
        $("#submitButtonId").attr("disabled", false);
    }
    else
    {
        if(browserFlag == "simple")
        {
    else {
        if (browserFlag == "simple") {
            document.getElementById("finger" + fpIdNum).checked = true
            collectFlag = true;
        }
        else if(browserFlag == "html5")
        {
        else if (browserFlag == "html5") {
            //消除原来手指的颜色--有问题,如果原来手指和现在的一样,有问题
            //renderAfterColl(globalContext, lastFPIdNum, bgColor, false);
        }
@@ -1688,8 +1495,7 @@
 * @create 2013-05-15 11:11:31 am
 * @param dx 要删除元素的下标
 */
function removeItem(array, dx)
{
function removeItem(array, dx) {
   array.splice(dx, 1);
}
@@ -1701,14 +1507,14 @@
 * @param isDriverInstall 是否安装了驱动
 * @param downloadPrompt 提示安装驱动国际化内容
 */
function fpVerification(title, downloadPrompt, isDriverInstall,context)
{
{/* <div id="comparison" style="display: inline"
        onclick='fpVerification("指纹比对","请安装指纹驱动或启动服务",true,globalContext)'>比对</div>
    <div></div> */}
function fpVerification(title, downloadPrompt, isDriverInstall, context) {
    //安装驱动
    if(isDriverInstall)
    {
    if (isDriverInstall) {
        //支持html5
        if(typeof(Worker) != "undefined")
        {
        if (typeof (Worker) != "undefined") {
            //createWindow('base_baseFPVerify.do?random=' + getRandomNum() + '^0^0^465^320^'+title);
            var comparisonDiv=document.getElementById("comparisonDiv");
            var bg=document.getElementById("bg");
@@ -1724,15 +1530,13 @@
            //关闭页面前,取消采集
            //cancelCaptureBeforeClose("html5");
        }
        else
        {
        else {
            createWindow('base_baseFPVerifySimple.do?random=' + getRandomNum() + '^0^0^465^320^' + title);
            //关闭页面前,取消采集
            //cancelCaptureBeforeClose("simple");
        }
    }
    else
    {
    else {
        alert(downloadPrompt);
        //messageBox({messageType: "alert", title: "提示", text: downloadPrompt});
    }
@@ -1752,17 +1556,14 @@
    context.clear();
    var rownum = CWidth / 10;
    var len = strlen(text);
    if (rownum > len)
    {
    if (rownum > len) {
        context.fillText(text, x, 30);
    }
    else
    {
    else {
        var endInd = rownum<text.length?rownum:text.length;
        var beginInd = 0;
        var endTemp=0;
        for (var i = 0; i <= text.length / rownum; i++)
        {
        for (var i = 0; i <= text.length / rownum; i++) {
            endTemp = text.substr(beginInd, endInd).lastIndexOf(" ");
            if(endTemp!=-1)
                endInd=beginInd+endTemp;
@@ -1797,25 +1598,20 @@
     * @create 2013-06-24 19:57:11 pm
     * @param browserFlag 浏览器标记 simple:简易版本,表示是ie浏览器;html5:表示支持html5的浏览器
     */
    function cancelCaptureBeforeClose(browserFlag)
    {
function cancelCaptureBeforeClose(browserFlag) {
         //关闭页面时,监听关闭的onclick事件
        getCurrentWindow().button("close").attachEvent("onClick", function()
        {
    getCurrentWindow().button("close").attachEvent("onClick", function () {
            clearTimeout(verifyTimer);
            if(browserFlag == "html5")
            {
        if (browserFlag == "html5") {
                //正在进行验证,还没有关闭指纹采集
                if(verifyFlag)
                {
            if (verifyFlag) {
                    //取消采集
                    cancelCapture();
                }
                //关闭页面
                closeWindow();
            }
            else if(browserFlag == "simple")
            {
        else if (browserFlag == "simple") {
                //alert("cancel capture before close window!");
                //将定时器的递归调用关闭
                clearTimeout(timer);
@@ -1832,8 +1628,7 @@
     * @author wenxin
     * @create 2013-08-05 15:19:11 pm
     */
    function formSubmit(id)
    {
function formSubmit(id) {
        
        $('#'+id).serialize();
        $('#'+id).ajaxForm(function(data){
SunshineIns/src/copy/fingerprint/js/main.js
@@ -136,22 +136,23 @@
        dataType: "json",
        async: true,
        success: function (result) {
            debugger;
            //alert(objToStr(data));
            //指纹采集次数
            var collCount = 0;
            ret = result.ret;
            console.log('ret', ret)
            if (ret == 0) {
                collCount = result.data.enroll_index;
                base64FPImg = result.data.jpg_base64;
                //将定时器关闭
                clearTimeout(verifyTimer);
            }
            if (collCount == 0) {
                //定时器
                timer = setTimeout("checkColl()", 200);//比对失败重新开始
            }
            else {
                //将定时器关闭
                clearTimeout(verifyTimer);
                //显示指纹图像
                showImage(globalContext, base64FPImg, "verification");
                //存放国际化元素数组
@@ -163,7 +164,7 @@
                getFPTemplate(paramArray, "verification");
                $("#oneToMany").attr("disabled", false);
                $("#oneToOne").attr("disabled", false);
                setTimeout("beginCapture(null)", 200);
                // setTimeout("beginCapture(null)", 200);
                console.log('1', getFPTemplate(paramArray, "verification"))
                console.log('2', $("#oneToMany").attr("disabled", false))
@@ -760,6 +761,7 @@
    $("#bg").css("display", "none");
    $("#box").css("display", "none");
    $("#comparisonDiv").css("display", "none");
}
//初始化界面数据,即清除指纹记录。
SunshineIns/src/copy/fingerprint/指纹比对.html
File was deleted
SunshineIns/src/data/menu.js
@@ -78,12 +78,21 @@
  iconCheck: activeCheck,
  path: '/snapshot'
}, {
  id: 'criminalExecution',
  id: 'criminal',
  name: '刑执监督管理',
  icon: infoManage,
  iconCheck: infoCheck,
  children: [{
    id: 'criminalExecution',
    name: '指纹登记',
  path: '/criminalExecution'
},{
    id: 'criminalExecutionManager',
    name: '指纹比对',
    path: '/criminalExecutionManager'
  }]
},
{
  id: 'crimeCrackdown',
  name: '扫黑除恶',
  icon: active,
SunshineIns/src/fetch/_fetch.js
@@ -3,6 +3,7 @@
// 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://192.168.0.104:6060/';
// export const base = 'http://localhost:6060';
export const domain = base + '/nsjc-charge/';
SunshineIns/src/fetch/criminalCompare.js
New file
@@ -0,0 +1,9 @@
import fetch from './_fetch';
import { message } from 'antd';
export default () => fetch(`api/criminal/compare`)
    .then(
        json => json
    )
    .catch(
        error => message.error('删除失败,请联系管理员', 2)
    );
SunshineIns/src/fetch/criminalDelete.js
New file
@@ -0,0 +1,9 @@
import fetch from './_fetch';
import { message } from 'antd';
export default (id) => fetch(`api/criminal/delete/${id}`)
    .then(
        json => json
    )
    .catch(
        error => message.error('删除失败,请联系管理员', 2)
    );
SunshineIns/src/fetch/criminalFind.js
New file
@@ -0,0 +1,6 @@
import fetch from './_fetch';
import { message } from 'antd';
export default (id) => fetch(`api/criminal/find/${id}`)
    .catch(
        error => message.error('详情加载失败,请联系管理员', 2)
    );
SunshineIns/src/fetch/criminalQuery.js
New file
@@ -0,0 +1,9 @@
import fetch from './_fetch';
import { message } from 'antd';
export default ({ page, size }) => fetch(`api/criminal/query?size=${size}&page=${page}`)
    .then(
        json => json
    )
    .catch(
        error => message.error('详情加载失败,请联系管理员', 2)
    );
SunshineIns/src/fetch/criminalSave.js
New file
@@ -0,0 +1,7 @@
import fetch from './_fetch';
export default (savedate) => {
    return fetch(`api/criminal/save`,
        savedate
    );
}
SunshineIns/src/fetch/index.js
@@ -103,6 +103,11 @@
import getAnswer from './getAnswer';
import entryDelete from './entryDelete';
import findImage from './findImage';
import criminalFind from './criminalFind';
import criminalSave from './criminalSave';
import criminalQuery from './criminalQuery';
import criminalDelete from './criminalDelete';
import criminalCompare from './criminalCompare';
export default {
  domain,
@@ -210,4 +215,9 @@
  getAnswer,
  entryDelete,
  findImage,
  criminalFind,
  criminalSave,
  criminalQuery,
  criminalDelete,
  criminalCompare
};
SunshineIns/src/index.jsx
@@ -53,6 +53,7 @@
import TopImage from './page/TopImage';
// 刑执监督管理
import CriminalExecution from './page/CriminalExecution';
import CriminalExecutionManager from './page/CriminalExecutionManager';
import NoInspectionReportList from './page/NoInspectionReportList';
@@ -124,6 +125,8 @@
          {/* 刑执监督管理 */}
          <Route path='/criminalExecution' component={CriminalExecution} />
          {/* 刑执督 */}
          <Route path='/criminalExecutionManager' component={CriminalExecutionManager} />
          
          
          {/* 问卷管理部分 */}
@@ -133,7 +136,6 @@
          <Route path='/questionnaire/detail/:id' component={QuestionDetail} />
          {/* 小程序提交的任务详情 */}
          <Route path='/questionnaire/persondetail/:id/:userId' component={QuestionPersonDetail} />
          {/* 公安审核 */}
          <Route path='/entry/policeSecurity' component={PoliceSecurity} />
SunshineIns/src/page/CareList.jsx
@@ -215,7 +215,7 @@
                    {
                        record.status == 0 ?
                            <React.Fragment>
                                <a onClick={() => this.showModal(record.id)}>编辑</a>
                                <a onClick={() => this.showModal(record.id)}>查看</a>
                                <Divider type="vertical" />
                                <Popconfirm
                                    title="确认删除任务吗?"
@@ -227,14 +227,6 @@
                                    <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>
SunshineIns/src/page/CareListEdit.jsx
@@ -87,7 +87,7 @@
                        taskType: res.taskType || 1
                    },
                    taskType: res.taskType || 1,
                    disabled: res.status ? true : false,
                    disabled: res.status == 0 || res.status == 99 ? true : false,
                    list: res.tasks || [],
                    socialTaskObject: res.socialTaskObject ? { id: res.socialTaskObject.objectId, objectName: res.socialTaskObject.objectName, taskReport: res.socialTaskObject.taskReport } : {},
                    loading: false,
@@ -225,18 +225,12 @@
        });
    }
    handleOk = e => {
        const { savedate } = this.state;
        console.log(savedate);
        this.setState({
            visible: false,
        });
        Fetch.socialUpdate(savedate.id, 2)
    handleOk = (record) => {
        Fetch.socialUpdate(record.id, 2)
            .then(res => {
                if (res.code === 0) {
                    message.success("结束任务成功!");
                    this.props.history.push("/careList")
                    this.getDetail()
                } else {
                    message.error('保存失败,请联系管理员', 2)
                }
@@ -425,7 +419,7 @@
                    },
                    editorState: BraftEditor.createEditorState(res.taskRequire),
                    editorStatetaskProcess: BraftEditor.createEditorState(res.taskProcess),
                    modaldisabled: res.status ? true : false,
                    modaldisabled: true,
                    loading: false,
                });
            })
@@ -433,45 +427,6 @@
    modalshowCancel = () => {
        this.setState({ modalshowVisible: false, fileList: [] })
    }
    handleOk = () => {
        console.log('success')
        this.setState({ confirmLoading: true });
        const { modalData } = this.state;
        console.log(modalData)
        if (!modalData.taskAddress) {
            return message.warning("任务地点不能为空");
        }
        if (!modalData.taskTitle) {
            return message.warning("任务标题不能为空");
        }
        if (!modalData.taskRequire) {
            message.warning("任务要求不能为空");
            return;
        }
        if (!modalData.taskProcess) {
            message.warning("任务流程不能为空");
            return;
        }
        console.log(modalData)
        //提交完成后关闭弹窗,刷新列表
        // Fetch.addResult({ ...modalData })
        //     .then(res => {
        //         console.log(res)
        //         if (res.code === 0) {
        //             this.setState({
        //                 confirmLoading: false,
        //                 modal: false,
        //                 closeKey: Date.now()
        //             }, this.getData);
        //             message.success("提交成功!")
        //         } else {
        //             message.error('保存失败,请联系管理员', 2)
        //         }
        //     });
    }
@@ -516,6 +471,15 @@
                        <Popconfirm placement="topRight" title={'你确定要删除该条记录吗'} onConfirm={() => { this.onDel(text, record) }} okText="确定" cancelText="取消">
                            <label className="theme-color">删除</label>
                        </Popconfirm>
                        {
                            record.status == 1 &&
                            <React.Fragment>
                                <Divider type="vertical" />
                                <Popconfirm placement="topRight" title={'你确定要结束任务吗'} onConfirm={() => { this.handleOk(record) }} okText="确定" cancelText="取消">
                                    <a >结束任务</a>
                                </Popconfirm>
                            </React.Fragment>
                        }
                    </span>
                ),
            }
@@ -659,17 +623,11 @@
                        {
                            savedate.status == 2 || savedate.status == 99 ?
                            disabled ?
                                <div style={{ display: 'flex', justifyContent: 'center' }}>
                                    <Button style={{ marginLeft: '15px', width: '150px' }} onClick={this.cancle}>返回</Button>
                                </div>
                                :
                                savedate.status == 1 ?
                                    <div style={{ display: 'flex', justifyContent: 'center' }}>
                                        <Button style={{ marginRight: '15px', width: '150px' }} type="primary" onClick={this.showModal}>结束任务</Button>
                                        <Button style={{ marginLeft: '15px', width: '150px' }} onClick={this.cancle}>返回</Button>
                                    </div> :
                                    <div style={{ display: 'flex', justifyContent: 'center' }}>
                                        <Button loading={btlloading} style={{ marginRight: '15px', width: '150px' }} type="primary" onClick={this.submit}>提交</Button>
                                        <Button style={{ marginLeft: '15px', width: '150px' }} onClick={this.cancle}>返回</Button>
@@ -678,15 +636,6 @@
                    </BusDetailView>
                    <Modal
                        title="结束任务"
                        visible={this.state.visible}
                        onOk={this.handleOk}
                        onCancel={this.handleCancelModel}
                        width='300px'
                    >
                        <p>确认结束任务吗?</p>
                    </Modal>
                    <Modal
                        width='60%'
                        title="添加"
@@ -753,12 +702,12 @@
                            </Row>
                        </div>
                        {
                            savedate.status == 1 || savedate.status == 2 ?
                            modalData.socialTaskObject && modalData.socialTaskObject.taskReport ?
                                <div style={divStyle}>
                                    <Row type="flex" align='middle' justify="space-around">
                                        <Col span={6} pull={0} style={{ textAlign: 'center' }}><span>任务汇报</span></Col>
                                        <Col span={18} push={0} >
                                            <TextArea disabled={disabled} rows={8} value={socialTaskObject.taskReport || ""} onChange={this.saveModalInputChange} name='taskReport' />
                                            <TextArea disabled={disabled} rows={8} value={modalData.socialTaskObject.taskReport || ""} onChange={this.saveModalInputChange} name='taskReport' />
                                        </Col>
                                        <Col span={12} pull={0}></Col>
                                    </Row>
@@ -766,7 +715,7 @@
                        }
                        {
                            savedate.status == 1 || savedate.status == 2 ?
                            modalData.socialTaskObject && modalData.socialTaskObject.taskReport ?
                                <div style={divStyle}>
                                    <div style={divStyle}>
                                        <Row type="flex" align='top' justify="space-around">
SunshineIns/src/page/CriminalExecution.jsx
@@ -3,62 +3,19 @@
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, Row, Col } from 'antd';
import { Input, Button, DatePicker, Divider, message, Popconfirm, Select, Tooltip, Modal, Row, Col } from 'antd';
import moment from 'moment';
import Fetch from '../fetch';
import TableView from '../view/TableView';
const Option = Select.Option;
function typeOfName(type) {
    switch (type) {
        case 1:
            return "跟踪帮教";
        case 2:
            return "合适成年人";
        case 3:
            return "社会调查";
        case 4:
            return "心理疏导";
        case 5:
            return "法律援助";
    }
}
const taskNodeIds = {
    1: '跟踪帮教',
    2: '合适成年人',
    3: '社会调查',
    4: '心理疏导',
    5: '法律援助',
}
const activityTypeList = [
    1,
    2,
    3,
    4,
    5
]
const activityStatusIds = {
    0: '未开始',
    1: '进行中',
    2: '已结束',
    99: '暂停',
}
const activityStatusList = [
    0,
    1,
    2
]
export default class CareList extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            data: [],
            formData: {
            list: [],
            formdata: {
                __key: Date.now(),
                page: 1,
                size: 10,
@@ -73,7 +30,7 @@
    }
    componentDidMount() {
        document.title = '社会观护管理';
        document.title = '刑执监督管理';
        let _this = this;
        window.addEventListener('message', function (e) {
            console.log('反馈', e)
@@ -83,20 +40,35 @@
                })
            }
        }, false);
        this.iframeAddEventListener();
        _this.iframeAddEventListener();
        _this.getData();
    }
    getData = () => {
        const { formdata } = this.state;
        this.setState({ loading: true })
        console.log('formdata', formdata)
        Fetch.criminalQuery({ ...formdata })
            .then(res => {
                console.log("res", res)
                this.setState({
                    list: res.data.content,
                    loading: false
                });
            });
    }
    setFormData = data => {
        console.log('form', data);
        this.setState({
            formData: data,
            formdata: data,
        });
    }
    deleteItems = (e) => {
        console.log(e);
        this.setState({ loading: true })
        Fetch.socialDelete(e).then(res => {
        Fetch.criminalDelete(e).then(res => {
            if (res.code == 0) {
                console.log(res)
                this.setState({ loading: false })
@@ -115,13 +87,15 @@
            visible: true,
            zIndex: 1000,
            iframeKey: id,
            display: 'none'
            display: 'none',
            loading: true,
        });
        this.sendMsg();
        // Fetch.socialCompanyDetail(id)
        //   .then(res => {
        //     this.setState({ savedate: res })
        //   })
        Fetch.criminalFind(id)
            .then(res => {
                console.log(res)
                this.setState({ savedate: res.data, fingerCode: res.data.fingerCode || '', loading: false })
            })
    }
    saveInputChange = ({ target: { value, name } }) => {
@@ -138,7 +112,7 @@
            title: '编号',
            dataIndex: 'index',
            key: 'index',
            render: (text, item, index) => <span>{index}</span>
            render: (text, item, index) => <span>{index + 1}</span>
        }, {
            title: ' 姓名',
            dataIndex: 'name',
@@ -149,8 +123,9 @@
            key: 'number',
        }, {
            title: '指纹唯一识别',
            dataIndex: 'shibie',
            key: 'shibie',
            dataIndex: 'fingerCode',
            key: 'fingerCode',
            render: text => <div className="nowrap">{text}</div>
        }, {
            title: '录入时间',
            dataIndex: 'createTime',
@@ -163,7 +138,15 @@
                <span>
                    <label onClick={() => this.showModal(record.id)} className='theme-color' style={{ cursor: 'pointer' }}>编辑</label>
                    <Divider type="vertical" />
                    <label onClick={() => this.deleteItems(record.id)} className='theme-color' style={{ cursor: 'pointer' }}>删除</label>
                    <Popconfirm
                        title="确认删除吗?"
                        id={record.id}
                        onConfirm={e => this.deleteItems(record.id)}
                        okText="确定"
                        cancelText="取消"
                    >
                        <label className='theme-color' style={{ cursor: 'pointer' }}>删除</label>
                    </Popconfirm>
                </span>
            ),
        }]
@@ -190,9 +173,31 @@
    //确认提交按钮
    handleOk = () => {
        const { savedate, fingerCode } = this.state;
        if (!savedate.name) {
            return message.warning("姓名不能为空");
        }
        if (!savedate.number) {
            return message.warning("牢房号不能为空");
        }
        if (!fingerCode) {
            return message.warning("请录入指纹");
        }
        this.setState({ btloading: true })
        Fetch.criminalSave({ ...savedate, fingerCode })
            .then(res => {
                if (res.code === 0) {
        this.setState({
            zIndex: '-1',
            fingerCode: "",
                        btloading: false,
                        closeKey: Date.now()
                    }, this.getData);
                    message.success("提交成功!")
                }
            });
        this.setState({
        })
    }
@@ -205,7 +210,7 @@
    }
    render() {
        const { data, resetKey, visible, loading, savedate, closeKey, formData, zIndex, display, fingerCode, iframeKey } = this.state;
        const { list, resetKey, visible, loading, btloading, savedate, closeKey, formdata, zIndex, display, fingerCode, iframeKey } = this.state;
        return (
            <div className="app-page">
                <HeadView history={this.props.history} />
@@ -213,9 +218,9 @@
                    <Button type="primary" size='large' onClick={() => this.showModal('new')}>新增</Button>
                </div>
                <div style={{ background: '#fff', margin: 20 }}>
                    <CommonSearchForm
                    {/* <CommonSearchForm
                        {...this.props}
                        formData={formData}
                        formData={formdata}
                        setFormData={this.setFormData}
                        searchonClick={this.searchonClick}
                        pathName={this.props.location.pathname}
@@ -229,13 +234,13 @@
                            {
                                type: 'input', name: '联系电话', label: '联系电话', key: 'companyTel'
                            },
                        ]} />
                    <TableView columns={this.renderColumns()} data={data} pageSize='10' size='default' loading={loading} />
                        ]} /> */}
                    <TableView columns={this.renderColumns()} data={list} pageSize='10' size='default' loading={loading} />
                </div>
                <Modal
                    zIndex={zIndex}
                    key={closeKey}
                    confirmLoading={loading}
                    confirmLoading={btloading}
                    visible={true}
                    title="指纹录入"
                    onOk={this.handleOk}
@@ -246,8 +251,8 @@
                    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='fingerCode' onChange={this.saveInputChange} value={fingerCode || ''} addonAfter={<Row type="flex" style={{ flexWrap: 'nowrap' }}>
                    <Input addonBefore="牢房号" name='number' onChange={this.saveInputChange} value={savedate.number || ''} />
                    <Input addonBefore="指纹唯一标识" name='fingerCode' value={fingerCode || ''} disabled addonAfter={<Row type="flex" style={{ flexWrap: 'nowrap' }}>
                        <Col style={{ cursor: 'pointer' }} onClick={() => this.setState({ display: 'block' })}>
                            录入指纹
                        </Col>
@@ -259,7 +264,7 @@
                            style={{ width: '100%', height: '550px' }}
                            onLoad={() => { }}
                            ref="iframe"
                            src='./fingerprint/指纹登记.html'
                            src='./fingerprint/dengji.html'
                            width="100%"
                            scrolling="no"
                            frameBorder="0"
SunshineIns/src/page/CriminalExecutionManager.jsx
New file
@@ -0,0 +1,93 @@
import React from 'react';
import HeadView from '../view/HeadView';
import TableBtnView from '../view/TableBtnView';
import CommonSearchForm from '../view/CommonSearchForm';
import { Input, Button, DatePicker, Divider, message, Popconfirm, Select, Tooltip, Modal, Row, Col } from 'antd';
import moment from 'moment';
import bg_ns from '../asset/image/bg_ns.jpg';
import Fetch from '../fetch';
import TableView from '../view/TableView';
const Option = Select.Option;
export default class CriminalExecutionManager extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            list: [],
            formdata: {
                __key: Date.now(),
                page: 1,
                size: 10,
            },
            resetKey: Date.now(),
            loading: false,
            zIndex: '-1',
            savedate: {},
            display: 'block',
            fingerCode: ''
        };
    }
    componentDidMount() {
        document.title = '指纹对比';
        let _this = this;
        window.addEventListener('message', function (e) {
            console.log('反馈', e)
            console.log(e.data.submitstatus)
            console.log(_this.state.fingerCode)
            if (e.data.submitstatus && _this.state.fingerCode) {
                Fetch.criminalCompare()
                    .then(res => {
                        console.log("res", res)
                    });
            }
            if (e.data) {
                _this.setState({
                    ...e.data
                })
            }
        }, false);
        _this.iframeAddEventListener();
    }
    iframeAddEventListener = () => {
        let _this = this;
        this.iframeWin = this.refs.iframe && this.refs.iframe.contentWindow;
        this.refs.iframe && this.refs.iframe.addEventListener("load", function () {
            //代码能执行到这里说明已经载入成功完毕了
            //这里是回调函数
            _this.iframeWin.postMessage({
                fgData: true
            }, '*');
        }, false);
    }
    render() {
        const { iframeKey } = this.state;
        return (
            <div className="app-page">
                <HeadView history={this.props.history} />
                <div style={{ background: '#13A3DE', color: '#fff', height: '20vh', fontSize: '32px', textAlign: 'center', lineHeight: '20vh' }}>欢迎使用广州南沙检院刑事执行监督收集平台</div>
                <div style={{ display: "flex" }}>
                    <div style={{ width: "500px", flex: "3", margin: '24px' }}><img src={bg_ns} style={{ width: "100%" }} /></div>
                    <div style={{ flex: '2', margin: '24px' }}>
                        <iframe
                            key={iframeKey}
                            style={{ width: '100%', height: '550px' }}
                            onLoad={() => { }}
                            ref="iframe"
                            src='./fingerprint/bidui.html'
                            width="100%"
                            scrolling="no"
                            frameBorder="0"
                        />
                    </div>
                </div>
            </div>
        )
    }
}
SunshineIns/src/page/UnderAgeList.jsx
@@ -111,7 +111,7 @@
    });
    Fetch.socialCompanyDetail(id)
      .then(res => {
        this.setState({ savedate: res })
        this.setState({ savedate: res, fingerCode: res.fingerCode })
      })
  }
SunshineLnsMinApp/pages/index/index.js
@@ -39,7 +39,7 @@
    }, {
      name: '检务公开'
    }, {
      name: '智能咨询'
      name: '知识产权'
    }],
  },
  //事件处理函数
SunshineLnsMinApp/pages/index/index.wxml
@@ -306,7 +306,7 @@
      <view class='VerticalNav-flex-t'>
        <view class="bg-img" data-str="lawInfo" data-id="9" bindtap='clinkFunction' style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1577104674828&di=1ad5819ce06281fb5090a4038980917e&imgtype=0&src=http%3A%2F%2Fimage.sike.news.cn%2Fuploads%2F2019%2F05%2F2019-05-2451.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
          <view class="bg-shadeTop">
            知识产权
            智能咨询
          </view>
        </view>
        <view class="bg-img" style="margin: 6px;height: 78px;flex: 1; line-height: 78px;">