summaryrefslogtreecommitdiff
path: root/lib/mail/templates/rfq-invitation.hbs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mail/templates/rfq-invitation.hbs')
-rw-r--r--lib/mail/templates/rfq-invitation.hbs301
1 files changed, 301 insertions, 0 deletions
diff --git a/lib/mail/templates/rfq-invitation.hbs b/lib/mail/templates/rfq-invitation.hbs
new file mode 100644
index 00000000..d3064d3c
--- /dev/null
+++ b/lib/mail/templates/rfq-invitation.hbs
@@ -0,0 +1,301 @@
+<!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 Invitation{{/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;
+ }
+ .info-section {
+ background-color: #f8fafc;
+ border-left: 4px solid #3b82f6;
+ padding: 20px;
+ margin: 20px 0;
+ border-radius: 4px;
+ }
+ .info-row {
+ display: flex;
+ padding: 8px 0;
+ border-bottom: 1px solid #e5e7eb;
+ }
+ .info-row:last-child {
+ border-bottom: none;
+ }
+ .info-label {
+ font-weight: 600;
+ color: #4b5563;
+ min-width: 150px;
+ padding-right: 15px;
+ }
+ .info-value {
+ color: #111827;
+ flex: 1;
+ }
+ .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;
+ }
+ .custom-message {
+ background-color: #fef3c7;
+ border: 1px solid #f59e0b;
+ padding: 15px;
+ border-radius: 6px;
+ margin: 20px 0;
+ }
+ .attachments {
+ background-color: #f0f9ff;
+ border: 1px solid #3b82f6;
+ padding: 15px;
+ border-radius: 6px;
+ margin: 20px 0;
+ }
+ .footer {
+ margin-top: 40px;
+ padding-top: 20px;
+ border-top: 1px solid #e5e7eb;
+ color: #6b7280;
+ font-size: 14px;
+ }
+ .contact-info {
+ background-color: #f9fafb;
+ padding: 15px;
+ border-radius: 6px;
+ margin-top: 20px;
+ }
+ table {
+ width: 100%;
+ border-collapse: collapse;
+ }
+ th {
+ background-color: #f3f4f6;
+ padding: 10px;
+ text-align: left;
+ font-weight: 600;
+ }
+ td {
+ padding: 10px;
+ border-bottom: 1px solid #e5e7eb;
+ }
+ </style>
+</head>
+<body>
+ <div class="container">
+ <!-- Header -->
+ <div class="header">
+ <div class="logo">{{t 'email.company_name'}}</div>
+ <h1>{{#if (eq language 'ko')}}견적 요청서 (RFQ){{else}}Request for Quotation{{/if}}</h1>
+ </div>
+
+ <!-- Greeting -->
+ <p>{{#if (eq language 'ko')}}{{vendorName}} 귀하{{else}}Dear {{vendorName}}{{/if}},</p>
+
+ <p>
+ {{#if (eq language 'ko')}}
+ 귀사를 당사의 입찰에 초대하게 되어 영광입니다. 아래 RFQ에 대한 견적서를 제출해 주시기 바랍니다.
+ {{else}}
+ We are pleased to invite your company to submit a quotation for the following RFQ.
+ {{/if}}
+ </p>
+
+ <!-- RFQ Code -->
+ <div class="rfq-code">
+ {{#if (eq rfqType '일반견적')}}견적{{else if (eq rfqType 'ITB')}}ITB{{else}}RFQ{{/if}} No: {{rfqCode}}
+ </div>
+
+ <!-- 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}}
+ {{#if itemCode}}
+ <tr>
+ <td class="info-label">{{#if (eq language 'ko')}}품목{{else}}Item{{/if}}</td>
+ <td class="info-value">{{itemCode}} - {{itemName}}</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="custom-message">
+ <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;">
+ {{#if (eq language 'ko')}}
+ 아래 버튼을 클릭하여 상세 정보를 확인하고 견적서를 제출해 주세요.
+ {{else}}
+ Please click the button below to view details and submit your quotation.
+ {{/if}}
+ </p>
+ <a href="{{portalUrl}}" class="action-button">
+ {{#if (eq language 'ko')}}견적서 작성하기{{else}}Submit Quotation{{/if}}
+ </a>
+ </div>
+
+ <!-- Important Notes -->
+ <div class="info-section">
+ <h4>{{#if (eq language 'ko')}}중요 안내사항{{else}}Important Notes{{/if}}</h4>
+ <ul>
+ <li>
+ {{#if (eq language 'ko')}}
+ 견적서는 반드시 마감일 이전에 제출해 주시기 바랍니다.
+ {{else}}
+ Please ensure your quotation is submitted before the due date.
+ {{/if}}
+ </li>
+ <li>
+ {{#if (eq language 'ko')}}
+ 모든 기술 사양 및 상업 조건을 충족하는 견적서를 제출해 주세요.
+ {{else}}
+ Please submit a quotation that meets all technical specifications and commercial terms.
+ {{/if}}
+ </li>
+ <li>
+ {{#if (eq language 'ko')}}
+ 문의사항이 있으시면 아래 담당자에게 연락 주시기 바랍니다.
+ {{else}}
+ If you have any questions, please contact the person below.
+ {{/if}}
+ </li>
+ </ul>
+ </div>
+
+ <!-- Contact Information -->
+ <div class="contact-info">
+ <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>
+ {{#if (eq language 'ko')}}
+ © 2025 {{t 'email.company_name'}}. All rights reserved. | RFQ ID: #{{responseId}}
+ {{else}}
+ © 2025 {{t 'email.company_name'}}. All rights reserved. | RFQ ID: #{{responseId}}
+ {{/if}}
+ </small>
+ </p>
+ </div>
+ </div>
+</body>
+</html> \ No newline at end of file