Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
da755d41a3
|
|
@ -82,6 +82,7 @@ function initTable(dataList, limit, page) {
|
||||||
limit: limit,
|
limit: limit,
|
||||||
cols: [
|
cols: [
|
||||||
[
|
[
|
||||||
|
{type: "checkbox", width: 50, unresize: true, align: "center"},
|
||||||
//表头
|
//表头
|
||||||
{title: "序号", width: 80, unresize: true, align: "center",
|
{title: "序号", width: 80, unresize: true, align: "center",
|
||||||
templet: function (d) {
|
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>';
|
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) {
|
done: function (res, curr, count) {
|
||||||
|
|
@ -177,11 +164,6 @@ function handleClick2(submitLocation,sampleTools,devModule,devCode,experTime,nex
|
||||||
window.print();
|
window.print();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 关闭模态对话框
|
|
||||||
span.click(function() {
|
|
||||||
modal.hide();
|
|
||||||
});
|
|
||||||
|
|
||||||
// 点击模态对话框外部区域也可以关闭模态对话框
|
// 点击模态对话框外部区域也可以关闭模态对话框
|
||||||
$(window).click(function(event) {
|
$(window).click(function(event) {
|
||||||
if ($(event.target).is(modal)) {
|
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) {
|
function utf16to8(str) {
|
||||||
var out, i, len, c;
|
var out, i, len, c;
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
<body>
|
<body>
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<div class="basic-search-box layout">
|
<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-form-item">
|
||||||
|
|
||||||
<div class="layui-inline" style="padding: 0 0 0 10px;">
|
<div class="layui-inline" style="padding: 0 0 0 10px;">
|
||||||
|
|
@ -37,10 +37,10 @@
|
||||||
</div>
|
</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 type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1" onclick="query(1)">查询
|
||||||
</button>
|
</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>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -50,6 +50,7 @@
|
||||||
<div id="voi-page" class="layout"></div>
|
<div id="voi-page" class="layout"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="qr-canvas"></div>
|
||||||
<!-- 模态对话框 -->
|
<!-- 模态对话框 -->
|
||||||
<div id="myModal" class="modal" style="text-align: center;">
|
<div id="myModal" class="modal" style="text-align: center;">
|
||||||
<div style="width: 380px; margin-left: 30%; margin-top: 11%">
|
<div style="width: 380px; margin-left: 30%; margin-top: 11%">
|
||||||
|
|
@ -100,6 +101,11 @@
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 简单样式,仅用于演示 */
|
||||||
|
#qr-canvas {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<script src="../../js/tools/toolsMge.js" charset="UTF-8" type="text/javascript"></script>
|
<script src="../../js/tools/toolsMge.js" charset="UTF-8" type="text/javascript"></script>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue