Dark Light
🔍

Tra cứu đơn hàng

Nhập mã đơn hàng và số điện thoại
hoặc email đã dùng khi đặt hàng.

hoặc

Nhập số điện thoại hoặc email — một trong hai là đủ.

📄 Báo giá chi tiết
'); w.document.close(); setTimeout(function(){ w.focus(); w.print(); }, 400); } /* ─── GỬI EMAIL ─── */ async function tc2SendEmail() { var d = TC2.data; if (!d) return; var email = document.getElementById('tc2-email').value.trim() || d.customer_email; tc2Alert('success', '⏳ Đang gửi email...'); var fd = new FormData(); fd.append('action', 'b2b_send_quote_email'); fd.append('nonce', TC2.nonce); fd.append('order_id', d.order_id); fd.append('email', email); try { var r = await fetch(TC2.ajaxUrl, { method:'POST', body:fd }); var resp = await r.json(); if (resp.success) tc2Alert('success', '✅ Đã gửi báo giá về email thành công!'); else tc2Alert('error', '❌ ' + (resp.data || 'Gửi email thất bại.')); } catch(e) { tc2Alert('error', '❌ Lỗi kết nối khi gửi email.'); } } /* ─── BUILD BÁO GIÁ HTML ─── */ function tc2Build(d) { var s = d.settings || {}; var hc = s.header_color || '#1B4332'; var ht = s.header_text_color || '#ffffff'; var prefix = s.quote_prefix || 'BG'; var validity = s.quote_validity || '15'; function fmt(n) { return new Intl.NumberFormat('vi-VN').format(Math.round(n||0)); } var rows = (d.items||[]).map(function(it,i){ return '' +''+(i+1)+'' +''+it.name +(it.sku?'
SKU:'+it.sku+'':'')+'' +'Cái' +''+fmt(it.price)+'' +''+it.qty+'' +''+fmt(it.price*it.qty)+'' +''; }).join(''); var vatRow = d.vat_rate > 0 ? 'Thuế GTGT (VAT '+d.vat_rate+'%):' +''+fmt(d.vat_amount)+' ₫' : ''; var termsLines = (s.terms||'').split('\n').filter(function(t){return t.trim();}); var termsHTML = termsLines.map(function(l){return '
• '+l+'
';}).join(''); var stampHtml = ''; if (d.show_stamp && (s.stamp_url || s.sig_url)) { stampHtml = '' +'' +'
' +'
ĐẠI DIỆN BÊN MUA
' +'
(Ký, ghi rõ họ tên)
' +'
..................................
' +'
ĐẠI DIỆN BÊN BÁN
' +(s.sig_url?'chữ ký':'
') +(s.stamp_url?'con dấu':'') +'
..................................
'; } else { stampHtml = '' +'' +'
ĐẠI DIỆN BÊN MUA
' +'
(Ký, ghi rõ họ tên)
' +'
..................................
ĐẠI DIỆN BÊN BÁN
' +'
(Ký, đóng dấu)
' +'
..................................
'; } return '
' +'' +'
' +(s.logo_url?'logo':'') +'
'+(s.company_name||'')+'
' +(s.company_tagline?'
'+s.company_tagline+'
':'') +(s.company_address?'
Địa chỉ: '+s.company_address+'
':'') +(s.company_phone?'
Điện thoại: '+s.company_phone+'
':'') +(s.company_email?'
Email: '+s.company_email+'
':'') +(s.company_tax?'
MST: '+s.company_tax+'
':'') +'
' +'
BÁO GIÁ
' +'
Số: '+prefix+'-'+String(d.order_id).padStart(5,'0')+'
' +'
Ngày: '+tc2Today()+'
' +'
Hiệu lực: '+validity+' ngày
' +'
' +'
' +(s.header_extra?'
'+s.header_extra+'
':'') +'' +'
' +'
KÍNH GỬI:
' +'
'+(d.company||d.billing_name||'Quý khách hàng')+'
' +(d.company&&d.billing_name?'
Người liên hệ: '+d.billing_name+'
':'') +(d.address?'
Địa chỉ: '+d.address+'
':'') +(d.phone?'
Điện thoại: '+d.phone+'
':'') +(d.customer_email?'
Email: '+d.customer_email+'
':'') +'
' +'
ĐỊA CHỈ GIAO HÀNG:
' +'
'+(d.address||'Theo thỏa thuận')+'
' +'
' +'' +'' +'' +'' +'' +'' +'' +'' +'' +''+rows+'' +'' +'' +vatRow +'' +'
STTTên hàng hóaĐVTĐơn giá (₫)SLThành tiền (₫)
Tạm tính:'+fmt(d.subtotal)+' ₫
TỔNG CỘNG:'+fmt(d.total)+' ₫
' +(termsHTML?'
' +'
ĐIỀU KIỆN THANH TOÁN & GIAO HÀNG:
' +termsHTML+(d.note?'
• Ghi chú: '+d.note+'
':'')+'
':'') +(s.company_bank?'
Thông tin thanh toán: '+s.company_bank+'
':'') +stampHtml +'
' +(s.footer_text||('Cảm ơn quý khách. Mọi thắc mắc: '+(s.company_phone||'')+' | '+(s.company_email||''))) +'
'; } window.b2bBuildBaoGia = tc2Build; // Enter key ['tc2-order-id','tc2-phone','tc2-email'].forEach(function(id){ var el = document.getElementById(id); if (el) el.addEventListener('keydown', function(e){ if(e.key==='Enter') tc2Search(); }); });