<!-- 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>
|