| <!-- 20211210 ljh 条形码 --> | 
| <apex:page standardController="Consum_Apply__c"> | 
|     <apex:includeScript value="{!URLFOR($Resource.qrcode)}"/> | 
|     <apex:includeScript value="/soap/ajax/46.0/connection.js"/> | 
|     <apex:includeScript value="/soap/ajax/46.0/apex.js"/> | 
|   | 
|     <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> | 
|     <apex:includeScript value="{!URLFOR($Resource.jqueryBarcode)}"/> | 
|     <script type="text/javascript"> | 
|         function generateBarcode(){ | 
|             var value = $("#barcodeValue").val(); | 
|             var btype = 'code128'; | 
|             var renderer = 'svg'; | 
|          | 
|             var settings = { | 
|               output:'svg', | 
|               bgColor: '#FFFFFF', | 
|               color: '#000000', | 
|               showHRI: false, | 
|               barWidth: '1', | 
|               barHeight: '50', | 
|               moduleSize: '5', | 
|               posX: '10', | 
|               posY: '20', | 
|               addQuietZone: '1' | 
|             }; | 
|             value = {code:value, rect: true}; | 
|             $("#barcodeTarget").html("").show().barcode(value, btype, settings); | 
|         } | 
|         $(function(){ | 
|             generateBarcode(); | 
|         }); | 
|     </script> | 
|     <input type="hidden" id="barcodeValue" value="{!Consum_Apply__c.Name_No__c}"/>  | 
|     <div id="barcodeTarget" class="barcodeTarget"></div> | 
|     <script type="text/javascript"> | 
|         function getImgBase64(imageBase64){ | 
|             const imgNew = new Image(); // 创建图片容器 | 
|             imgNew.src = imageBase64; //imageBase64 为svg+xml的Base64 文件流 | 
|             // 图片创建后再执行,转Base64过程 | 
|             const canvas = document.createElement("canvas"); | 
|             canvas.width = 350;  //设置好 宽高  不然图片 不完整 | 
|             canvas.height = 60; | 
|             const context = canvas.getContext("2d"); | 
|             context.drawImage(imgNew, 5, 5); | 
|             let ImgBase64 = canvas.toDataURL("image/png"); | 
|             return ImgBase64 | 
|         } | 
|         function createAttachmentBrcode() { | 
|             var img = $("#barcodeTarget img"); | 
|             var src = img[0].src; | 
|             var srcNew = getImgBase64(src); | 
|             src = srcNew.substring(22, srcNew.length); | 
|             sforce.connection.sessionId = '{!GETSESSIONID()}'; | 
|   | 
|             var record = sforce.connection.query("select id from Attachment where ParentId = \'{!Consum_Apply__c.Id}\' and name = \'BRCode-{!Consum_Apply__c.Name_No__c}\'"); | 
|             // 既にあれば無視 | 
|             if (record.size == 0) { | 
|                 var atta = new sforce.SObject("Attachment"); | 
|                 atta.Name = "BRCode-{!Consum_Apply__c.Name_No__c}"; | 
|                 atta.ParentId = "{!Consum_Apply__c.Id}"; | 
|                 atta.Body = src; | 
|                 var result = sforce.connection.create([atta]); | 
|   | 
|                 var es = new sforce.SObject("Consum_Apply__c"); | 
|                 es.Id = "{!Consum_Apply__c.Id}"; | 
|                 es.BRId__c = result[0].id; | 
|                 result = sforce.connection.update([es]); | 
|             //申请书更新失败的话再次更新 | 
|             } else if ("{!Consum_Apply__c.BRId__c}" == '' || "{!Consum_Apply__c.BRId__c}" == null) { | 
|                 var records = record.getArray("records"); | 
|                 var es = new sforce.SObject("Consum_Apply__c"); | 
|                 es.Id = "{!Consum_Apply__c.Id}"; | 
|                 es.BRId__c = records[0].Id; | 
|                 result = sforce.connection.update([es]); | 
|                 // TODO Name変わる可能性あり、upsertにします | 
|             } else { | 
|                 alert(record[0].id); | 
|             } | 
|         } | 
|         // BRcode生成後、Attachmentを作成 | 
|         setTimeout("createAttachmentBrcode()", 1000); | 
|     </script> | 
| </apex:page> |