Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
da755d41a3
|
|
@ -82,6 +82,7 @@ function initTable(dataList, limit, page) {
|
|||
limit: limit,
|
||||
cols: [
|
||||
[
|
||||
{type: "checkbox", width: 50, unresize: true, align: "center"},
|
||||
//表头
|
||||
{title: "序号", width: 80, unresize: true, align: "center",
|
||||
templet: function (d) {
|
||||
|
|
@ -108,20 +109,6 @@ function initTable(dataList, limit, page) {
|
|||
return '<a href="#" style="color: blue;" onclick="handleClick2(\'' + d.submitLocation + '\',\'' + d.sampleTools + '\',\'' + d.devModule + '\',\'' + d.devCode + '\',\'' + d.experTime + '\',\'' + d.nextExperTime + '\',\'' + d.experUser + '\',\'' + d.experConclu + '\',\'' + d.customName + '\')">打印</a>';
|
||||
}
|
||||
},
|
||||
// {title: "操作", unresize: true, width: 85, align: "center",
|
||||
// templet: function (d) {
|
||||
//
|
||||
// let html = '';
|
||||
// // let updaetpwd="<a class=\"layui-icon layui-icon-password\" style='cursor:pointer;' title='修改密码' onclick=\"resetPwd('" + d.id + "')\"></a>";
|
||||
// // let del="<a class=\"layui-icon layui-icon-delete\" style='cursor:pointer;' title='删除' onclick=\"delData('" + d.id + "')\"></a>"
|
||||
// let view="<a class=\"layui-icon layui-icon-form\" style='cursor:pointer;' title='查看' onclick=\"addData('" + d.id + "')\"></a>";
|
||||
// html=view;
|
||||
// if(d.delFlag==1){
|
||||
// return '';
|
||||
// }
|
||||
// return html;
|
||||
// }
|
||||
// },
|
||||
],
|
||||
],
|
||||
done: function (res, curr, count) {
|
||||
|
|
@ -177,11 +164,6 @@ function handleClick2(submitLocation,sampleTools,devModule,devCode,experTime,nex
|
|||
window.print();
|
||||
}
|
||||
|
||||
// 关闭模态对话框
|
||||
span.click(function() {
|
||||
modal.hide();
|
||||
});
|
||||
|
||||
// 点击模态对话框外部区域也可以关闭模态对话框
|
||||
$(window).click(function(event) {
|
||||
if ($(event.target).is(modal)) {
|
||||
|
|
@ -189,11 +171,64 @@ $(window).click(function(event) {
|
|||
}
|
||||
});
|
||||
|
||||
// 打印二维码
|
||||
printButton.click(function() {
|
||||
// 使用浏览器的打印功能打印二维码
|
||||
window.print();
|
||||
/**
|
||||
* 批量下载
|
||||
*/
|
||||
function batchDownload() {
|
||||
var selectedRows = table.checkStatus("table_data").data;
|
||||
if (selectedRows.length == 0) {
|
||||
return layer.msg('请选择要下载的数据', {icon: 7})
|
||||
}
|
||||
// 创建一个临时 canvas 用于绘制带白边的二维码
|
||||
var qrWidth = 300; // 二维码的标准宽度
|
||||
var whiteBorder = 20; // 白边的宽度
|
||||
var totalWidth = qrWidth + 2 * whiteBorder; // 总宽度
|
||||
var canvas = document.createElement('canvas');
|
||||
canvas.width = totalWidth;
|
||||
canvas.height = totalWidth; // 保持正方形
|
||||
var ctx = canvas.getContext('2d');
|
||||
|
||||
selectedRows.forEach(function (row, index) {
|
||||
// 准备二维码内容
|
||||
const qrCodeData = {
|
||||
"样品名称": row.sampleTools,
|
||||
"规格型号": row.devModule,
|
||||
"样品编号": row.devCode,
|
||||
"检验日期": row.experTime,
|
||||
"下次检验日期": row.nextExperTime,
|
||||
"试验人员": row.experUser,
|
||||
"试验结果": row.experConclu,
|
||||
"送检单位": row.customName
|
||||
};
|
||||
|
||||
// 创建二维码并填充白色背景
|
||||
$('#qr-canvas').empty();
|
||||
$('#qr-canvas').qrcode(utf16to8(JSON.stringify(qrCodeData, null, 2)));
|
||||
|
||||
// 获取 qr-canvas 中的二维码元素
|
||||
var qrCanvas = document.querySelector('#qr-canvas canvas');
|
||||
var qrSize = qrCanvas.width;
|
||||
|
||||
// 绘制白边
|
||||
ctx.fillStyle = "#FFFFFF"; // 设置白色
|
||||
ctx.fillRect(0, 0, totalWidth, totalWidth); // 填充整个画布
|
||||
|
||||
// 计算二维码的位置以确保居中
|
||||
var xOffset = (totalWidth - qrSize) / 2;
|
||||
var yOffset = (totalWidth - qrSize) / 2;
|
||||
|
||||
// 将二维码绘制到白边画布中,居中对齐
|
||||
ctx.drawImage(qrCanvas, xOffset, yOffset, qrSize, qrSize);
|
||||
var dataURL = canvas.toDataURL('image/png');
|
||||
|
||||
// 创建下载链接并自动点击
|
||||
var link = document.createElement('a');
|
||||
link.href = dataURL;
|
||||
link.download = `QRCode_${index + 1}.png`;
|
||||
link.click();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function utf16to8(str) {
|
||||
var out, i, len, c;
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
<body>
|
||||
<div id="content">
|
||||
<div class="basic-search-box layout">
|
||||
<form class="layui-form basic-form" onsubmit="return false;">
|
||||
<form class="layui-form basic-form" onsubmit="return false;" style="width: 100%">
|
||||
<div class="layui-form-item">
|
||||
|
||||
<div class="layui-inline" style="padding: 0 0 0 10px;">
|
||||
|
|
@ -37,10 +37,10 @@
|
|||
</div>
|
||||
|
||||
|
||||
<div class="layui-inline btns">
|
||||
<div class="layui-inline btns" style="width: 67%">
|
||||
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1" onclick="query(1)">查询
|
||||
</button>
|
||||
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1" onclick="downloads()"><i class="layui-icon layui-icon-download-circle" style="font-size: 24px;"></i></button>
|
||||
<button type="button" style="margin-left: 85%" class="layui-btn layui-btn-normal layui-btn-sm btn-1" onclick="batchDownload()"><i class="layui-icon layui-icon-download-circle" style="font-size: 24px;"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -50,6 +50,7 @@
|
|||
<div id="voi-page" class="layout"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="qr-canvas"></div>
|
||||
<!-- 模态对话框 -->
|
||||
<div id="myModal" class="modal" style="text-align: center;">
|
||||
<div style="width: 380px; margin-left: 30%; margin-top: 11%">
|
||||
|
|
@ -100,6 +101,11 @@
|
|||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* 简单样式,仅用于演示 */
|
||||
#qr-canvas {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="../../js/tools/toolsMge.js" charset="UTF-8" type="text/javascript"></script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue