diff options
Diffstat (limited to 'lib/mail/templates/rfq-resend.hbs')
| -rw-r--r-- | lib/mail/templates/rfq-resend.hbs | 364 |
1 files changed, 364 insertions, 0 deletions
diff --git a/lib/mail/templates/rfq-resend.hbs b/lib/mail/templates/rfq-resend.hbs new file mode 100644 index 00000000..1c21f6b9 --- /dev/null +++ b/lib/mail/templates/rfq-resend.hbs @@ -0,0 +1,364 @@ +<!DOCTYPE html> +<html lang="{{language}}"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>{{#if (eq language 'ko')}}RFQ 재발송{{else}}RFQ Resend{{/if}}</title> + <style> + body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + line-height: 1.6; + color: #333; + max-width: 800px; + margin: 0 auto; + padding: 20px; + background-color: #f5f5f5; + } + .container { + background-color: white; + border-radius: 8px; + padding: 30px; + box-shadow: 0 2px 10px rgba(0,0,0,0.1); + } + .header { + border-bottom: 3px solid #1e40af; + padding-bottom: 20px; + margin-bottom: 30px; + } + .logo { + font-size: 24px; + font-weight: bold; + color: #1e40af; + } + .rfq-code { + background-color: #eff6ff; + color: #1e40af; + padding: 10px 15px; + border-radius: 6px; + display: inline-block; + font-weight: bold; + margin: 15px 0; + } + .resend-badge { + background-color: #fef3c7; + color: #d97706; + padding: 5px 10px; + border-radius: 4px; + display: inline-block; + font-weight: bold; + margin-left: 10px; + font-size: 14px; + } + .warning-box { + background-color: #fef2f2; + border: 2px solid #f87171; + border-radius: 6px; + padding: 15px; + margin: 20px 0; + } + .warning-title { + color: #dc2626; + font-weight: bold; + font-size: 18px; + margin-bottom: 10px; + } + .warning-list { + color: #991b1b; + margin: 10px 0 10px 20px; + } + .info-section { + background-color: #f8fafc; + border-left: 4px solid #3b82f6; + padding: 20px; + margin: 20px 0; + border-radius: 4px; + } + .due-date { + background-color: #fef2f2; + color: #dc2626; + padding: 15px; + border-radius: 6px; + text-align: center; + margin: 20px 0; + font-size: 18px; + font-weight: bold; + } + .action-button { + background-color: #3b82f6; + color: white; + padding: 15px 30px; + text-decoration: none; + border-radius: 6px; + display: inline-block; + font-weight: bold; + margin: 20px 0; + } + .action-button:hover { + background-color: #2563eb; + } + .contract-requirements { + background-color: #fef3c7; + border: 1px solid #f59e0b; + padding: 15px; + border-radius: 6px; + margin: 20px 0; + } + .contract-list { + list-style: none; + padding: 0; + margin: 10px 0; + } + .contract-item { + padding: 8px 0; + border-bottom: 1px solid #fcd34d; + display: flex; + align-items: center; + } + .contract-item:last-child { + border-bottom: none; + } + .contract-icon { + width: 20px; + height: 20px; + margin-right: 10px; + background-color: #f59e0b; + color: white; + border-radius: 50%; + display: inline-flex; + align-items: center; + justify-content: center; + font-weight: bold; + font-size: 12px; + } + .footer { + margin-top: 40px; + padding-top: 20px; + border-top: 1px solid #e5e7eb; + color: #6b7280; + font-size: 14px; + } + table { + width: 100%; + border-collapse: collapse; + } + td { + padding: 10px; + border-bottom: 1px solid #e5e7eb; + } + .info-label { + font-weight: 600; + color: #4b5563; + min-width: 150px; + } + .info-value { + color: #111827; + } + </style> +</head> +<body> + <div class="container"> + <!-- Header --> + <div class="header"> + <div class="logo">{{t 'email.company_name'}}</div> + <h1> + {{#if (eq language 'ko')}}견적 요청서 재발송{{else}}Request for Quotation - Resend{{/if}} + <span class="resend-badge">{{sendVersion}}{{#if (eq language 'ko')}}차{{else}}th Version{{/if}}</span> + </h1> + </div> + + <!-- Greeting --> + <p>{{#if (eq language 'ko')}}{{vendorName}} 귀하{{else}}Dear {{vendorName}}{{/if}},</p> + + <!-- Warning Box --> + <div class="warning-box"> + <div class="warning-title"> + ⚠️ {{#if (eq language 'ko')}}중요 공지{{else}}Important Notice{{/if}} + </div> + <p> + {{#if (eq language 'ko')}} + 본 RFQ는 수정된 내용으로 재발송되는 것입니다. 다음 사항에 유의해 주시기 바랍니다: + {{else}} + This RFQ is being resent with updated information. Please note the following: + {{/if}} + </p> + <ul class="warning-list"> + <li> + {{#if (eq language 'ko')}} + <strong>기존에 작성하신 견적 데이터는 모두 초기화되었습니다.</strong> + {{else}} + <strong>All previously submitted quotation data has been reset.</strong> + {{/if}} + </li> + <li> + {{#if (eq language 'ko')}} + 새로운 요구사항과 조건을 확인하시고 견적서를 다시 작성해 주세요. + {{else}} + Please review the new requirements and conditions and resubmit your quotation. + {{/if}} + </li> + <li> + {{#if (eq language 'ko')}} + 이전에 제출하신 견적서는 더 이상 유효하지 않습니다. + {{else}} + Previously submitted quotations are no longer valid. + {{/if}} + </li> + </ul> + </div> + + <!-- RFQ Code --> + <div class="rfq-code"> + {{#if (eq rfqType '일반견적')}}견적{{else if (eq rfqType 'ITB')}}ITB{{else}}RFQ{{/if}} No: {{rfqCode}} + </div> + + <!-- Basic Contract Requirements --> + {{#if hasContractRequirements}} + <div class="contract-requirements"> + <h4>{{#if (eq language 'ko')}}📋 기본계약 요청사항{{else}}📋 Basic Contract Requirements{{/if}}</h4> + <p> + {{#if (eq language 'ko')}} + 다음 계약서류의 제출이 요청됩니다: + {{else}} + The following contract documents are required: + {{/if}} + </p> + <ul class="contract-list"> + {{#if contracts.nda}} + <li class="contract-item"> + <span class="contract-icon">N</span> + {{#if (eq language 'ko')}}비밀유지계약서 (NDA){{else}}Non-Disclosure Agreement (NDA){{/if}} + </li> + {{/if}} + {{#if contracts.generalGtc}} + <li class="contract-item"> + <span class="contract-icon">G</span> + {{#if (eq language 'ko')}}일반 거래약관 (General GTC){{else}}General Terms and Conditions{{/if}} + </li> + {{/if}} + {{#if contracts.projectGtc}} + <li class="contract-item"> + <span class="contract-icon">P</span> + {{#if (eq language 'ko')}} + 프로젝트 거래약관 (Project {{projectCode}}) + {{else}} + Project Terms and Conditions ({{projectCode}}) + {{/if}} + </li> + {{/if}} + {{#if contracts.agreement}} + <li class="contract-item"> + <span class="contract-icon">T</span> + {{#if (eq language 'ko')}}기술자료 제공 동의서{{else}}Technical Data Agreement{{/if}} + </li> + {{/if}} + </ul> + </div> + {{/if}} + + <!-- RFQ Information --> + <div class="info-section"> + <h3>{{#if (eq language 'ko')}}견적 요청 정보{{else}}RFQ Information{{/if}}</h3> + <table> + {{#if rfqTitle}} + <tr> + <td class="info-label">{{#if (eq language 'ko')}}견적명{{else}}Title{{/if}}</td> + <td class="info-value">{{rfqTitle}}</td> + </tr> + {{/if}} + {{#if projectCode}} + <tr> + <td class="info-label">{{#if (eq language 'ko')}}프로젝트{{else}}Project{{/if}}</td> + <td class="info-value">{{projectCode}} - {{projectName}}</td> + </tr> + {{/if}} + {{#if packageNo}} + <tr> + <td class="info-label">{{#if (eq language 'ko')}}패키지{{else}}Package{{/if}}</td> + <td class="info-value">{{packageNo}} - {{packageName}}</td> + </tr> + {{/if}} + <tr> + <td class="info-label">{{#if (eq language 'ko')}}품목 수{{else}}Number of Items{{/if}}</td> + <td class="info-value">{{prItemsCount}} {{#if (eq language 'ko')}}개{{else}}items{{/if}}</td> + </tr> + {{#if attachmentsCount}} + <tr> + <td class="info-label">{{#if (eq language 'ko')}}첨부파일{{else}}Attachments{{/if}}</td> + <td class="info-value">{{attachmentsCount}} {{#if (eq language 'ko')}}개{{else}}file(s){{/if}}</td> + </tr> + {{/if}} + </table> + </div> + + <!-- Due Date --> + <div class="due-date"> + {{#if (eq language 'ko')}} + ⏰ 견적 제출 마감일: {{formatDate dueDate 'YYYY년 MM월 DD일'}} + {{else}} + ⏰ Quotation Due Date: {{formatDate dueDate 'MMMM DD, YYYY'}} + {{/if}} + </div> + + <!-- Custom Message --> + {{#if customMessage}} + <div class="info-section"> + <h4>{{#if (eq language 'ko')}}추가 안내사항{{else}}Additional Information{{/if}}</h4> + <p>{{customMessage}}</p> + </div> + {{/if}} + + <!-- Portal Access --> + <div style="text-align: center; margin: 30px 0;"> + <p style="margin-bottom: 15px; font-weight: bold; color: #dc2626;"> + {{#if (eq language 'ko')}} + ⚠️ 반드시 아래 버튼을 클릭하여 새로운 견적서를 작성해 주세요. + {{else}} + ⚠️ Please click the button below to submit a new quotation. + {{/if}} + </p> + <a href="{{portalUrl}}" class="action-button"> + {{#if (eq language 'ko')}}견적서 다시 작성하기{{else}}Resubmit Quotation{{/if}} + </a> + </div> + + <!-- Contact Information --> + <div class="info-section"> + <h4>{{#if (eq language 'ko')}}담당자 정보{{else}}Contact Information{{/if}}</h4> + <table> + <tr> + <td class="info-label">{{#if (eq language 'ko')}}구매 담당자{{else}}Procurement Contact{{/if}}</td> + <td class="info-value">{{picName}}</td> + </tr> + <tr> + <td class="info-label">{{#if (eq language 'ko')}}이메일{{else}}Email{{/if}}</td> + <td class="info-value"><a href="mailto:{{picEmail}}">{{picEmail}}</a></td> + </tr> + {{#if engPicName}} + <tr> + <td class="info-label">{{#if (eq language 'ko')}}기술 담당자{{else}}Technical Contact{{/if}}</td> + <td class="info-value">{{engPicName}}</td> + </tr> + {{/if}} + </table> + </div> + + <!-- Footer --> + <div class="footer"> + <p> + {{#if (eq language 'ko')}} + 본 이메일은 RFQ 시스템에서 자동으로 발송되었습니다. + 회신은 위 담당자 이메일로 부탁드립니다. + {{else}} + This email was sent automatically from the RFQ system. + Please reply to the contact email above for any inquiries. + {{/if}} + </p> + <p style="margin-top: 10px;"> + <small> + © 2025 {{t 'email.company_name'}}. All rights reserved. | RFQ ID: #{{responseId}} | Version: {{sendVersion}} + </small> + </p> + </div> + </div> +</body> +</html>
\ No newline at end of file |
