浏览代码

隐藏发药

zengfanwei 2 周之前
父节点
当前提交
bdda4dca60
共有 2 个文件被更改,包括 25 次插入8 次删除
  1. 21 4
      src/main/resources/static/js/mz/clinic.js
  2. 4 4
      src/main/resources/static/js/mz/west_pharmacy_send.js

+ 21 - 4
src/main/resources/static/js/mz/clinic.js

@@ -13315,10 +13315,13 @@ function printGuideCard(patientId, times, clnicId, payMark, printType) {
                             //     }
                             // })
                             // + JSON.stringify(jsonData)
+                            // 1. 生成二维码(使用临时容器,避免直接操作目标元素)
+                            const tempContainer = document.createElement('div');
                             let qrCodeUrl = `https://hadln.net:20443/#/cashier?queryJson=${JSON.stringify(jsonData)}`
                             // console.log("jsonData",JSON.stringify(jsonData))
                             // console.log("qrCodeUrl",qrCodeUrl)
-                            new QRCode(document.getElementById("payQrcodeGuideCard"),{
+                            // document.getElementById("payQrcodeGuideCard")
+                            new QRCode(tempContainer,{
                                 text: qrCodeUrl,
                                 width: 120,
                                 height: 120,
@@ -13327,9 +13330,23 @@ function printGuideCard(patientId, times, clnicId, payMark, printType) {
                                 colorLight: '#ffffff',
                                 correctLevel: QRCode.CorrectLevel.L  // 最低容错,最大化容量
                             });  // 设置要生成二维码的链接
-                            $("canvas").attr("id", "erw");
-                            let canvas = document.getElementById('erw');
-                            let src = canvas.toDataURL("image/png");
+                            // 2. 获取生成的 canvas(直接从临时容器中获取,避免全局选择器冲突)
+                            const canvas = tempContainer.querySelector('canvas');
+                            if (!canvas) {
+                                console.error('未生成二维码canvas');
+                                return;
+                            }
+                            // 3. 立即导出 dataURL(在DOM操作前完成,避免污染)
+                            let src;
+                            try {
+                                src = canvas.toDataURL("image/png");
+                            } catch (e) {
+                                console.error('导出二维码失败:', e);
+                                return;
+                            }
+                            // $("canvas").attr("id", "erw");
+                            // let canvas = document.getElementById('erw');
+                            // let src = canvas.toDataURL("image/png");
                             let payQrcodeGuideCardHtml = `<img src="${src}" style="width: 100px;height: 100px;margin: 20px 0"/><div style="width: 140px;margin-top: 2px;">微信扫码支付</div>`;
                             $("#payQrcodeGuideCard").html(payQrcodeGuideCardHtml)
                             $("#totalAmountGuideCard").text("¥" + totalAmount +"元");

+ 4 - 4
src/main/resources/static/js/mz/west_pharmacy_send.js

@@ -411,10 +411,10 @@ function initTbTable(pageIndex) {
                         // if (yf.xyFlag === '1') {
                         //     str += '<button type="button" class="btn btn-primary btn-sm" title="叫号" onclick="callNumber(\'' + row.patientId + '\',\'' + row.name + '\')">叫号 <i class="glyphicon glyphicon-bullhorn"></i></button>';
                         // }
-                        if (row.confirmFlag == 5 || row.confirmFlag == 0) {
-                            let pharPracCertNoForSend = (row.pharPracCertNo || '').replace(/'/g, '\\\'');
-                            str += '<button type="button" class="btn btn-primary btn-sm" title="发药" id="sendDrug" onclick="sendMedicineProcessing(\'' + row.realNo + '\',\'' + row.orderNo + '\',\'' + row.receiptNo + '\',\'' + row.times + '\',\'' + row.patientId + '\',\'' + row.name + '\',\'' + pharPracCertNoForSend + '\')">发药 <i class="fa fa-check-square-o"></i></button>';
-                        }
+                        // if (row.confirmFlag == 5 || row.confirmFlag == 0) {
+                        //     let pharPracCertNoForSend = (row.pharPracCertNo || '').replace(/'/g, '\\\'');
+                        //     str += '<button type="button" class="btn btn-primary btn-sm" title="发药" id="sendDrug" onclick="sendMedicineProcessing(\'' + row.realNo + '\',\'' + row.orderNo + '\',\'' + row.receiptNo + '\',\'' + row.times + '\',\'' + row.patientId + '\',\'' + row.name + '\',\'' + pharPracCertNoForSend + '\')">发药 <i class="fa fa-check-square-o"></i></button>';
+                        // }
                         let pharPracCertNo = (row.pharPracCertNo || '').replace(/'/g, '\\\'');
                         str += '<button type="button" class="btn btn-primary btn-sm" title="详细" onclick="prescriptionDetail(\'' + row.realNo + '\',\'' + row.orderNo + '\',\'' + row.receiptNo + '\',\'' + row.times + '\',\'' + row.patientId + '\',\'' + row.confirmFlag + '\',\'' + pharPracCertNo + '\')">详细 <i class="fa fa-plus"></i></button>';
                         str += '<button type="button" class="btn btn-primary btn-sm" title="历史处方" onclick="prescriptionHistoryDetail(\'' + row.patientId + '\',\'' + 0 +'\')">历史处方 <i class="fa fa-eye"></i></button>';