工作随笔,运用dialog与jQuery.ajax实现悬浮框,显示信息等

具体功能为获取考试姓名和证件号后更新考生健康码信息,并在前台以dialog悬浮框的形式显示出来

控制层代码

 @RequestMapping("/updatejkm")
    @ResponseBody
    public List updatejkm(HttpServletRequest request) throws Exception, IllegalBlockSizeException, BadPaddingException, InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException {
        String zjhm = request.getParameter("zjhm");
        String ksxm = request.getParameter("ksxm");
        String examId = (String) request.getSession().getAttribute("currentExamId");
        Map returnMap = null;
        returnMap = this.checkYKM(zjhm,ksxm);
        String sfhm = (String) returnMap.get("SFHM");
        String zy = (String) returnMap.get("ZY");
        String hmyy = (String) returnMap.get("HMYY");
        String xxhmyy = (String) returnMap.get("XXHMYY");
        String jkmys = (String) returnMap.get("JKMYS");
        String hsjcsj = (String) returnMap.get("hsjcsj");
        String hsjcjg = (String) returnMap.get("hsjcjg");
      //  System.out.println("获取的健康码信息"+ xxhmyy+"1");
        String tjrq = "";
        DESPlus desPlus;
        desPlus = new DESPlus(0);
        String jmzjhm=desPlus.encrypt(zjhm.toUpperCase());
      //  System.out.println("获取的码信息"+ jmzjhm+"");
        int shu = updateKsSfzt(examId, sfhm, zy, hmyy, xxhmyy, jkmys, hsjcsj, hsjcjg, tjrq, jmzjhm);
        //System.out.println("获取的123"+ returnMap);
        List params = new ArrayList();
        params.add(sfhm);
        params.add(hmyy);
        params.add(xxhmyy);
        params.add(jkmys);
        params.add(hsjcjg);
        params.add(hsjcsj);
        params.add(zy);
       // System.out.println("获取的PAR"+ params);

        return params;
    }
//    @RequestMapping("/updatejkm2")
//    public List updatejkm2(HttpServletRequest request) throws Exception, IllegalBlockSizeException, BadPaddingException, InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException {
//        String zjhm = request.getParameter("zjhm");
//        DESPlus desPlus;
//        desPlus = new DESPlus(0);
//        DESPlus des = new DESPlus(0);
//        String jmzjhm1=desPlus.encrypt(zjhm.toUpperCase());
//        List params1 = new ArrayList();
//        params1.add(jmzjhm1);
//        String sql="select ksxm from exam_" + examid + "_adm_change where zjhm=? " ;
//        List<Object> listData = commonJdbcdao.qeryList(sql, params1, null);
//        String xm1=listData.toString();
//        System.out.println(xm1);
//        String ksxm = new String(des.decrypt(DESPlus.hexStr2ByteArr(xm1)),"UTF-8");
//
//        String examId = (String) request.getSession().getAttribute("currentExamId");
//        Map returnMap = null;
//        returnMap = this.checkYKM(zjhm,ksxm);
//        String sfhm = (String) returnMap.get("SFHM");
//        String zy = (String) returnMap.get("ZY");
//        String hmyy = (String) returnMap.get("HMYY");
//        String xxhmyy = (String) returnMap.get("XXHMYY");
//        String jkmys = (String) returnMap.get("JKMYS");
//        String hsjcsj = (String) returnMap.get("hsjcsj");
//        String hsjcjg = (String) returnMap.get("hsjcjg");
//        //  System.out.println("获取的健康码信息"+ xxhmyy+"1");
//        String tjrq = "";
//
//        String jmzjhm=desPlus.encrypt(zjhm.toUpperCase());
//        //  System.out.println("获取的码信息"+ jmzjhm+"");
//        int shu = updateKsSfzt(examId, sfhm, zy, hmyy, xxhmyy, jkmys, hsjcsj, hsjcjg, tjrq, jmzjhm);
//        System.out.println("获取的"+ returnMap);
//        List params = new ArrayList();
//        params.add(sfhm);
//        params.add(hmyy);
//        params.add(xxhmyy);
//        params.add(jkmys);
//        params.add(hsjcjg);
//        params.add(hsjcsj);
//        System.out.println("获取的"+ params);
//        return params;
//    }
//
    /**
     * 更新粤康码验证状态
     */
    public int updateKsSfzt(String examid, String sfhm, String zy, String hmyy, String xxhmyy, String jkmys, String hsjcsj, String hsjcjg, String tjrq, String zjbh) {
        String sql = "update exam_" + examid + "_adm_change set SFHM = ?, ZY=?, HMYY=?,  XXHMYY=?, JKMYS=?, jcjgtbsj=?,jcjg=? where ZJHM = ? ";
        int i = this.commonJdbcdao.update1(sql, new Object[]{sfhm, zy, hmyy, xxhmyy, jkmys,hsjcsj,hsjcjg, zjbh});
        return i;
    }

    /**
     * 接口调用进行粤康码核验
     */
    public Map checkYKM(String zjhm,String ksxm) {
        Map<String, String> paramMap = new HashMap<String, String>();
        paramMap.put("xm", ksxm);
        paramMap.put("zjhm", zjhm);
        AesUtil aes  = AesUtil.getInstance();
        String aesKey = "a739711e7104504c0322ce432387689b";
        //传输信息加密
        String msg1 = JSONObject.toJSONString(paramMap);
        byte[] bytes =  aes.encrypt(msg1, aesKey);

        // 服务地址 本机测试地址
//		String address = "http://127.0.0.1:8080/CTYService/ctyservice/getsf.htm";
        //生产服务器地址
        String address = "http://157.122.48.141:82/GDService/gdservice/getykm.htm";
//		String address = "http://183.95.190.170:9003/CTYQueryService/ctyQuery/ctyquery/getSf";
        Map returnMap = new HashMap();
        OutputStreamWriter out = null;
        BufferedReader in = null;
        String resultZjhm="";
        String resultKsxm="";
        try {
            HttpPost httpPost = new HttpPost(address);
            TrustStrategy acceptingTrustStrategy = new TrustSelfSignedStrategy();
            SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom().loadTrustMaterial(null, acceptingTrustStrategy).build();
            SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
            CloseableHttpClient m_HttpClient = HttpClients.custom().setSSLSocketFactory(csf).build();
            httpPost.setEntity(new ByteArrayEntity(bytes));
            httpPost.setHeader("Content-type", "application/xml; charset=UTF-8");
            CloseableHttpResponse httpResponse = m_HttpClient.execute(httpPost);
//	        System.out.println("200 ----  "+httpResponse.getStatusLine().getStatusCode());
            //返回成功
            if (httpResponse.getStatusLine().getStatusCode() == 200) {
                //System.out.println(1);
                HttpEntity entity = httpResponse.getEntity();
                //System.out.println(2);

                byte[] respBuffer = EntityUtils.toByteArray(entity);//拿到返回结果字节流
                String sfstr = aes.decrypt(respBuffer, aesKey);
	        //	System.out.println("respBuffer:-----"+sfstr);
	        //	System.out.println("-----------end-----------");
             //   System.out.println(sfstr);

//	        	{"SFHM":"否", "HMYY":"", "JCZY":""}
                if("0".equals(sfstr)){
                    //异常
                    returnMap.put("msg", "异常");
                    return returnMap;
                }
                if("1".equals(sfstr)){
                    //未注册
                    returnMap.put("SFHM", "未注册");
                    returnMap.put("msg", "成功");
                    returnMap.put("ZY", " ");
                    returnMap.put("HMYY", " ");
                    returnMap.put("TJRQ", " ");
                    returnMap.put("SFZH", zjhm);
                    returnMap.put("XM", ksxm);
                    return returnMap;
                }
                if("[]".equals(sfstr)){
                    //异常
                    returnMap.put("msg", "异常");
                    return returnMap;
                }

                JSONObject degree = (JSONObject) JSONObject.parse(sfstr);
                String SFHM = degree.getString("SFHM");
//	        	String ZY = degree.getString("JCZY");
                String HMYY = degree.getString("HMYY");
                String XXHMYY = degree.getString("XXHMYY");
                String JKMYS = degree.getString("JKMYS");
                String hsjg = degree.getString("HSJG");
                if("{}".equals(hsjg)){
                    returnMap.put("hsjcsj", " ");
                    returnMap.put("hsjcjg", " ");
                }else{
                    JSONObject hsjgjs = (JSONObject) JSONObject.parse(hsjg);
                    String hsjcsj = hsjgjs.getString("hsjcsj");
                    String hsjcjg = hsjgjs.getString("hsjcjg");
                    returnMap.put("hsjcsj", hsjcsj);
                    returnMap.put("hsjcjg", hsjcjg);
                }
                returnMap.put("SFHM", SFHM);
                returnMap.put("ZY", " ");
                returnMap.put("HMYY", HMYY);
                returnMap.put("XXHMYY", XXHMYY);
                returnMap.put("JKMYS", JKMYS);
                returnMap.put("msg", "成功");
                return returnMap;
            }else{
                //接口异常
                returnMap.put("msg", "异常");
                return returnMap;
            }
        } catch (Exception e) {
            e.printStackTrace();
            //不匹配
            returnMap.put("msg", "异常");
            return returnMap;
        } finally {
            try {
                if (in != null) {
                    in.close();
                }
                if (out != null) {
                    out.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
                //不匹配 查询报错失败不匹配
                returnMap.put("msg", "异常");
                return returnMap;
            }
        }

    }

前端页面
首先初始化dialog悬浮框,使其隐藏

 <script  type="text/javascript">
 
        $(document).ready(function() {

            $("#dialog-user").dialog({
                hide:true, //点击关闭是隐藏,如果不加这项,关闭弹窗后再点就会出错.
                autoOpen: false,
                height: 450,
                width: 400,
                modal: true,
                buttons: {
                    "更 新": function() {
                        var ksxm =$("#jkm_ksxm").val().toString();
                        var zjhm = $("#jkm_zjhm").val().toString();
                        var sfhm = $("#jkm_sfhm").val().toString();
                        var ys = $("#jkm_ys").val().toString();
                        var hmyy = $("#jkm_hmyy").val().toString();
                        var xxhmyy = $("#jkm_xxhmyy").val().toString();
                        var hsjcjg = $("#jkm_hsjcjg").val().toString();
                        var hsjcjgsj = $("#jkm_hsjcjgsj").val().toString();
                        jQuery.ajax({
                                type: "POST",
                                data: {
                                    'condition': '',
                                    'pageNo': '1',
                                    'totalCount': '-1',
                                    'ksxm': ksxm,
                                    'zjhm': zjhm,
                                },
                                url: "<%=request.getContextPath()%>/statisticykm/updatejkm.htm",
                                contentType: "application/x-www-form-urlencoded",
                                dataType: "json",

                    });
                        alert("更新完成");
                        jQuery("#dialog-user").dialog('close');
                    },
                    '关闭': function() {
                        findBmsjcxByCondition();
                        jQuery("#dialog-user").dialog('close');
                    },

                }
            });
        });

        </script>

下面是关于悬浮框的设置

<!--详细信息-->
<div id="dialog-user" title="详细信息" >
    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="table">
        <tr>
            <td width="27%" height="22" align="right" class="tdNormal">考生姓名:</td>
            <td width="73%" height="22" class="tdNormal">

                <input id="jkm_ksxm" name="jkm_ksxm" style="border-style: none;" readonly>
            </td>
        </tr>
        <tr>
            <td width="27%" height="22" align="right" class="tdNormal">证件号码:</td>
            <td width="73%" height="22" class="tdNormal">
                <input id="jkm_zjhm" name=jkm_zjhm" style="border-style: none;"readonly>

            </td>
        </tr>
        <tr>
            <td height="22" align="right" class="tdNormal">是否为红码:</td>
            <td height="22" class="tdNormal">
                <input id="jkm_sfhm" name="jkm_sfhm"style="border-style: none;" maxlength="20" readonly>

            </td>
        </tr>
        <tr>
            <td height="22" align="right" class="tdNormal">健康码颜色:</td>
            <td height="22" class="tdNormal">
                <input type="text" id="jkm_ys" name="jkm_ys" maxlength="25" style="border-style: none;"readonly>
            </td>
        </tr>
        <tr>
            <td height="22" align="right" class="tdNormal">红码原因:</td>
            <td height="22" class="tdNormal">
                <input type="text" id="jkm_hmyy" name="jkm_hmyy"style="border-style: none;" maxlength="50" readonly>
            </td>
        </tr>
        <tr>
            <td height="22" align="right" class="tdNormal">详细红码原因:</td>
            <td height="22" class="tdNormal">
                <input rows="2" cols="17" id="jkm_xxhmyy" name="jkm_xxhmyy" maxlength="50"style="border-style: none;" readonly></input>
            </td>
        </tr>

        <tr>
            <td height="22" align="right" class="tdNormal">核酸检测结果:</td>
            <td height="22" class="tdNormal">
                <input type="text" id="jkm_hsjcjg" name="jkm_hsjcjg" style="border-style: none;" maxlength="50" readonly>

            </td>
        </tr>
        <tr>
            <td height="22" align="right" class="tdNormal">核酸检测结果填报时间:</td>
            <td height="22" class="tdNormal">
                <input type="text" id="jkm_hsjcjgsj" maxlength="50" style="border-style: none;" readonly>
            </td>
        </tr>
        <tr>
            <td height="22" align="right" class="tdNormal">自愿:</td>
            <td height="22" class="tdNormal">
                <input type="text" id="jkm_zy" maxlength="50" style="border-style: none;" readonly>
            </td>
        </tr>
    </table>
</div>

然后再在js中设置点击按钮,,获取需要的考生姓名和证件号码,并将更新内容显示在悬浮框中

 //显示考生详细信息
        function openDetails(ksxm,zjhm) {
            jQuery.ajax({
                        type: "POST",
                        data: {
                            'ksxm': ksxm,
                            'zjhm': zjhm,
                        },
                        url: "<%=request.getContextPath()%>/statisticykm/updatejkm.htm",
                        contentType: "application/x-www-form-urlencoded",
                        dataType: "json",
                        success: function (data) {
                            jQuery("#jkm_ksxm").val(ksxm);
                            jQuery("#jkm_zjhm").val(zjhm);
                            jQuery("#jkm_sfhm").val(data[0]);
                            jQuery("#jkm_ys").val(data[3]);
                            jQuery("#jkm_hmyy").val(data[1]);
                            jQuery("#jkm_xxhmyy").val(data[2]);
                            jQuery("#jkm_hsjcjg").val(data[4]);
                            jQuery("#jkm_hsjcjgsj").val(data[5]);
                            jQuery("#jkm_zy").val(data[6])
                            findBmsjcxByCondition();
                        }
                    });


            $("#dialog-user").dialog('open');
        }

下面是所点击按钮的设置

  strTd += "<td align='center'><input type='button' 
  class='form-buttun' value='详细信息'  
  onclick=\"openDetails(\'"+bmsjcxList[i][0]+"\',\'"+bmsjcxList[i][1]+"\')\"
   /> </td>"

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值