实现 M009 手工开票前端页面
This commit is contained in:
@@ -26,6 +26,7 @@ export default {
|
||||
nav: {
|
||||
orders: 'Order list',
|
||||
taskQueue: 'Task queue',
|
||||
manualInvoice: 'Manual invoice',
|
||||
sourceMessages: 'Source messages',
|
||||
systemStatus: 'System status',
|
||||
orderDetail: 'Order detail',
|
||||
@@ -250,6 +251,84 @@ export default {
|
||||
createdAt: 'Created at',
|
||||
},
|
||||
},
|
||||
manualInvoice: {
|
||||
title: 'Manual invoice',
|
||||
subtitle: 'Generate a Proforma Invoice PDF by entering fields manually without an order or task.',
|
||||
sourceBadge: 'Manual generation',
|
||||
independentHint: 'This V1 page is not linked to an order or task. The backend records generation and audit data.',
|
||||
documentSection: 'Document',
|
||||
recipientSection: 'Recipient',
|
||||
bookingSection: 'Booking',
|
||||
chargesSection: 'Charges',
|
||||
previewSection: 'Amount preview',
|
||||
resultSection: 'Generation result',
|
||||
invoiceDate: 'Invoice date',
|
||||
bookingDate: 'Booking date',
|
||||
dueDate: 'Due date',
|
||||
companySeed: 'Select company',
|
||||
contactSeed: 'Select attention',
|
||||
selectCompany: 'Select company',
|
||||
selectContact: 'Select attention',
|
||||
company: 'Company',
|
||||
attention: 'Attention',
|
||||
address: 'Address',
|
||||
telephone: 'Tel',
|
||||
email: 'Email',
|
||||
groupName: 'Group name',
|
||||
arrivalDate: 'Arrival date',
|
||||
departureDate: 'Departure date',
|
||||
roomRateNote: 'Room rate note',
|
||||
extraBedRate: 'Extra bed rate',
|
||||
description: 'Description',
|
||||
roomType: 'Room type',
|
||||
quantity: 'Quantity',
|
||||
rate: 'Rate',
|
||||
nights: 'Nights',
|
||||
amount: 'Amount',
|
||||
subtotal: 'Sub-total',
|
||||
vat: 'VAT 7%',
|
||||
total: 'Total',
|
||||
addCharge: 'Add charge',
|
||||
removeCharge: 'Remove',
|
||||
maxChargesReached: 'V1 supports up to 10 charge lines.',
|
||||
previewDisclaimer: 'The frontend only previews amounts. Backend totals are authoritative.',
|
||||
manualOverrideHint: 'Selecting company and attention fills contact details; every text field remains editable.',
|
||||
generate: 'Generate PDF',
|
||||
generating: 'Generating',
|
||||
openPdf: 'Open PDF',
|
||||
downloadPdf: 'Download PDF',
|
||||
generationId: 'Generation ID',
|
||||
generationStatus: 'Status',
|
||||
pdfUrl: 'PDF URL',
|
||||
hotelId: 'Hotel ID',
|
||||
templateCode: 'Template',
|
||||
createdAt: 'Created at',
|
||||
noPdfUrl: 'The backend did not return a PDF URL.',
|
||||
backendTotals: 'Backend totals',
|
||||
validationTitle: 'Please fix the form',
|
||||
statuses: {
|
||||
SUCCEEDED: 'Generated',
|
||||
GENERATED: 'Generated',
|
||||
FAILED: 'Failed',
|
||||
PROCESSING: 'Generating',
|
||||
},
|
||||
errors: {
|
||||
FRONTEND_VALIDATION: 'Form validation failed. Check required fields and charge lines.',
|
||||
RESERVATION_INVOICE_VALIDATION_FAILED: 'Invoice field validation failed. Please check the form.',
|
||||
RESERVATION_INVOICE_CONTEXT_MISMATCH: 'The order or task context does not match.',
|
||||
DOCUMENT_CONVERSION_FAILED: 'PDF generation failed. Please retry or contact an administrator.',
|
||||
DOCUMENT_CONVERSION_TIMEOUT: 'PDF generation timed out. Please retry later.',
|
||||
AUTH_401: 'Your session has expired. Please sign in again.',
|
||||
AUTH_403: 'Your account does not have manual invoice permission.',
|
||||
UNKNOWN: 'Generation failed. Please retry later.',
|
||||
requiredFields: 'Complete dates, recipient, booking details, and at least one valid charge line.',
|
||||
invalidEmail: 'Email format is invalid.',
|
||||
dueDateBeforeBookingDate: 'Due date cannot be earlier than booking date.',
|
||||
departureBeforeArrival: 'Departure date must be later than arrival date.',
|
||||
extraBedNegative: 'Extra bed rate cannot be less than 0.',
|
||||
chargePositive: 'Quantity, rate, and nights must be greater than 0.',
|
||||
},
|
||||
},
|
||||
order: {
|
||||
summary: 'Order summary',
|
||||
taskQueue: 'Order task queue',
|
||||
|
||||
Reference in New Issue
Block a user