|
|
|
@ -774,6 +774,9 @@ |
|
|
|
// 初始化主画布 |
|
|
|
canvas = document.getElementById('signatureCanvas'); |
|
|
|
if (canvas) { |
|
|
|
// 确保画布的实际尺寸与显示尺寸一致 |
|
|
|
resizeCanvas(canvas); |
|
|
|
|
|
|
|
ctx = canvas.getContext('2d'); |
|
|
|
ctx.strokeStyle = '#000'; |
|
|
|
ctx.lineWidth = 2; |
|
|
|
@ -786,6 +789,12 @@ |
|
|
|
|
|
|
|
// 初始化弹窗画布 |
|
|
|
initModalSignatureCanvas(); |
|
|
|
|
|
|
|
// 监听窗口大小变化,重新调整画布尺寸 |
|
|
|
window.addEventListener('resize', function() { |
|
|
|
if (canvas) resizeCanvas(canvas); |
|
|
|
if (modalCanvas) resizeCanvas(modalCanvas); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
// 初始化弹窗签名画布 |
|
|
|
@ -793,6 +802,9 @@ |
|
|
|
modalCanvas = document.getElementById('signatureModalCanvas'); |
|
|
|
if (!modalCanvas) return; |
|
|
|
|
|
|
|
// 确保画布的实际尺寸与显示尺寸一致 |
|
|
|
resizeCanvas(modalCanvas); |
|
|
|
|
|
|
|
modalCtx = modalCanvas.getContext('2d'); |
|
|
|
modalCtx.strokeStyle = '#000'; |
|
|
|
modalCtx.lineWidth = 3; // 弹窗中使用更粗的线条 |
|
|
|
@ -814,15 +826,25 @@ |
|
|
|
modalCanvas.addEventListener('touchend', stopModalDrawing); |
|
|
|
} |
|
|
|
|
|
|
|
// 调整画布尺寸,确保实际尺寸与显示尺寸一致 |
|
|
|
function resizeCanvas(canvas) { |
|
|
|
const rect = canvas.getBoundingClientRect(); |
|
|
|
canvas.width = rect.width; |
|
|
|
canvas.height = rect.height; |
|
|
|
} |
|
|
|
|
|
|
|
// 打开签名弹窗 |
|
|
|
function openSignatureModal() { |
|
|
|
const modal = document.getElementById('signatureModal'); |
|
|
|
if (modal) { |
|
|
|
modal.classList.add('show'); |
|
|
|
// 清除弹窗画布 |
|
|
|
clearModalSignature(); |
|
|
|
// 添加点击外部区域关闭弹窗的事件 |
|
|
|
// 等待弹窗完全显示后调整画布尺寸 |
|
|
|
setTimeout(() => { |
|
|
|
if (modalCanvas) { |
|
|
|
resizeCanvas(modalCanvas); |
|
|
|
clearModalSignature(); |
|
|
|
} |
|
|
|
// 添加点击外部区域关闭弹窗的事件 |
|
|
|
modal.addEventListener('click', handleModalClick); |
|
|
|
}, 100); |
|
|
|
} |
|
|
|
|