서명관련 수정

This commit is contained in:
pjs
2026-01-22 21:05:52 +09:00
parent 528c1fcb61
commit 01f0764af6
5 changed files with 41 additions and 21 deletions

View File

@@ -800,6 +800,7 @@
,MA.RETURN_RELATIONSHIP AS "returnRelationship"
,MA.RETURN_PHONE_NUMBER AS "returnPhoneNumber"
,DATE_FORMAT(MA.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
,SIGNATURE_BASE64 AS "signatureBase64"
FROM MU_USER_AGREEMENT AS MA
WHERE MA.USE_YN = 'Y'
AND MA.MU_USER_AGREEMENT_ID = #{muUserAgreementId}
@@ -956,6 +957,9 @@
,REG_DATE
,MOD_ID
,MOD_DATE
<if test="signatureBase64 != null and signatureBase64 != ''">
,SIGNATURE_BASE64
</if>
)VALUES(
#{id}
,#{muUserId}
@@ -1033,6 +1037,9 @@
,NOW()
,#{loginMemberId}
,NOW()
<if test="signatureBase64 != null and signatureBase64 != ''">
,#{signatureBase64}
</if>
)
</insert>

View File

@@ -236,8 +236,9 @@ let agreementInsertModal = {
// 서명 관련
let canvas = selectForm.find('.signPad canvas')[0];
let context = canvas.getContext('2d');
let dataUrl = canvas.toDataURL();
let blob = dataURItoBlob(dataUrl);
let signatureBase64 = canvas.toDataURL();
//let blob = dataURItoBlob(dataUrl);
// 고객명
let userName = selectForm.find('span.userName').text();
@@ -774,7 +775,7 @@ let agreementInsertModal = {
}
}
if(!fn_emptyCheck(blob) || fn_isCanvasBlank(canvas)){
if(!fn_emptyCheck(signatureBase64) || fn_isCanvasBlank(canvas)){
modalEvent.warning("등록", "서명 정보가 없습니다.");
return;
}
@@ -786,7 +787,7 @@ let agreementInsertModal = {
formData.append("type", type);
formData.append("renewalCycle", renewalCycle);
formData.append("expirationDate", expirationDate);
formData.append("file", blob);
//formData.append("file", blob);
formData.append("userName", userName);
formData.append("agree3Yn", agree3Yn);
@@ -834,6 +835,7 @@ let agreementInsertModal = {
formData.append("userName2", userName2);
formData.append("relationship", relationship);
formData.append("phoneNumber2", phoneNumber2);
formData.append("signatureBase64", signatureBase64);
$.ajax({
url: encodeURI('/webuser/insertUserAgreement.do'),

View File

@@ -241,8 +241,20 @@ let agreementSelectModal = {
$("#agreementSelectModal input[name='modalUserName']").val(userName);
$("#agreementSelectModal input[name='modalPtUserName']").val(ptUserName);
let signatureBase64 = data.rows[0].signatureBase64;
if (signatureBase64) {
// 1. 만약 DB에 "data:image/png;base64,..." 접두사까지 저장했다면 그대로 사용
// 2. 만약 순수 암호문만 저장했다면 앞에 접두사를 붙여줍니다.
let imgSrc = signatureBase64.startsWith('data:image')
? signatureBase64
: 'data:image/png;base64,' + signatureBase64;
// 이미지 태그를 생성하여 서명 박스에 삽입
$("#agreementSelectModal .signImgBox").html('<img src="' + imgSrc + '" style="width:100%; height:auto;" alt="서명"/>');
} else {
$("#agreementSelectModal .signImgBox").html('서명 없음');
}
// 서명 이미지
$("#agreementSelectModal .signImgBox").html('<img src="'+fileUrl+'" alt="sign"/>');
//$("#agreementSelectModal .signImgBox").html('<img src="'+fileUrl+'" alt="sign"/>');
// 폼 값 셋팅
let agreementIndex = $("#agreementSelectModal #modalAgreementType").next('.select_option_list').find('input[value="'+type+'"]').closest('li').index();