Apex_233

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
<input type="button" id="btn_QrCode" class="bc-btn  btn-right" value="生成二维码"  />

  

<script type="text/javascript">
        var QrWin = $("#QrCodeWindows").window({ title: "二维码扫描", width: 200, height: 200, bodyPadding: 0, onClosing: function () { QrWin.window("close"); } });
        $("#btn_QrCode").click(function () {
            var SFSH = $("#hid_SFSH").val()
            if (SFSH == "0")
            {
                $.alert({ msg: "请选择审核后的数据生成二维码!", icon: "info" });
            }
            var DH = $("#txt_DH_A").val();
            $("#QRCode").text("");
            $.ajax({
                type: "POST",
                dataType: "json",
                url: "data/PTHC_CGDD.ashx",
                data: { type: "CGDD_QrCode", DH: DH, times: Math.random() },
                success: function (data) {
                    if (data.data == "1") {
                        var divQr = "<div class=\"butright\"><img src=\"" + data.url + "\" style=\" width:200px; height:200px; margin:0 auto;\" /></div></div>";
                        $("#QRCode").append(divQr);
                        QrWin.window("show");
                    }
                    else {
                        $.alert({ msg: "生成失败!", icon: "info" });
                    }
                }
            });
        });
<script>

  

       public void CGDD_QrCode(HttpContext context)
        {
            string DH = context.Request["DH"];
            DataSet ds = bll.GetCGDD_Detail(DH);
            //SBMCBH VARCHAR(20) 耗材编号
            //SBMC    VARCHAR(80) 耗材名称
            //GGXH    VARCHAR(100)    规格型号
            //SL  FLOAT   采购数量
            //YYMC    VARCHAR(100)    医院名称
//            {
//                doc: { dh: 201805020003,rq: 2018 - 05 - 02 00:00:00},
//dtl:[
//1090086 | 5ml注射器(供应室) | 100付 / 盒 | 厂家id | 厂家名称 | 1 | 盒 | 备注,
//1090085 | 2.5ml注射器(供应室) | 150付 / 盒 | 厂家id | 厂家名称 | 1 | 盒 |,
//1090084 | 1ml注射器(供应室) | 200付 / 盒 | 厂家id | 厂家名称 | 1 | 盒 |,
//1090060 | 3M胶带指示(卡 / 条 / 胶贴) || 厂家id | 厂家名称 | 1 | 卷 |,
//107004 | 63D型钛网 | 50 * 70mm | 厂家id | 厂家名称 | 1 | 片 |
//]
//}
            string data = string.Empty;
            data += "{doc:{dh:"+ ds.Tables[0].Rows[0]["DH"].ToString().Trim() + ",rq:" + Convert.ToDateTime(ds.Tables[0].Rows[0]["RQ"]).ToString("yyyy-MM-dd hh:mm:ss") + "},dtl:[";
            foreach (DataRow dr in ds.Tables[1].Rows)
            {

                data +=
                dr["SBMCBH"].ToString().Trim() + "|" +
                dr["SBMC"].ToString().Trim() + "|" +
                dr["SBGG"].ToString().Trim() + "|" +
                dr["SCQY"].ToString().Trim() + "|" +
                dr["SCQYMC"].ToString().Trim() + "|" +
                dr["SL"].ToString().Trim() + "|" +
                dr["SBDW"].ToString().Trim() + "|" +
                dr["BZ"].ToString().Trim() + ",";
            }
            data=data.Substring(0, data.Length - 1);
            data += "]}";
            string imageUrl = GetQRCode(QRCodeEncoderUtil(data));

            context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(new { url = imageUrl,data="1" }));
        }

      /// 生成二维码
      /// </summary>
      /// <param name="QRCode"></param>
      /// <returns></returns>
      public string GetQRCode(Bitmap QRCode)
      {

        if (!Directory.Exists(System.Web.HttpContext.Current.Request.MapPath("~/QRimages/")))
        {
          Directory.CreateDirectory(System.Web.HttpContext.Current.Request.MapPath("~/QRimages/"));
        }
        else
        {
          foreach (string s in Directory.GetFileSystemEntries(System.Web.HttpContext.Current.Request.MapPath("~/QRimages/")))
          {
            if (File.Exists(s))
            {
              FileInfo file = new FileInfo(s);
              if (file.Attributes.ToString().IndexOf("ReadOnly") != -1)
              file.Attributes = FileAttributes.Normal;
              File.Delete(s);
            }
          }
        }

        string fileName = DateTime.Now.ToFileTime().ToString() + ".jpg";
        QRCode.Save(System.Web.HttpContext.Current.Request.MapPath("~/QRimages/") + fileName);
        fileName = "../QRimages/" + fileName;
        return fileName;
      }
      public Bitmap QRCodeEncoderUtil(string qrCodeContent)
      {
        QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
        qrCodeEncoder.QRCodeVersion = 0;
        Bitmap img = qrCodeEncoder.Encode(qrCodeContent, Encoding.UTF8);//指定utf-8编码, 支持中文
        return img;
      }

  

posted on 2018-05-07 10:00  Apex_233  阅读(324)  评论(0编辑  收藏  举报