Để sử dụng toàn bộ tiện ích nâng cao của Hệ Thống Pháp Luật vui lòng lựa chọn và đăng ký gói cước.
| BỘ CÔNG THƯƠNG | CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM |
| Số: 7506/BCT-AP | Hà Nội, ngày 27 tháng 10 năm 2023 |
Kính gửi: Bộ Ngoại giao
Bộ Công Thương nhận được công hàm số 322/2023 ngày 24 tháng 10 năm 2023 của Đại sứ quán Trung Quốc tại Việt Nam thông báo về việc đồng chí Vương Văn Đào, Bộ trưởng Bộ Thương mại Trung Quốc dự kiến thăm Việt Nam và mong muốn cùng Bộ trưởng Bộ Công Thương chủ trì Kỳ họp lần thứ 12 Ủy ban Hợp tác kinh tế thương mại Việt Nam - Trung Quốc vào nửa cuối tháng 11 năm 2023. Về việc này, Bộ Công Thương xin trao đổi với quý Bộ như sau:
1. Ủy ban Hợp tác kinh tế thương mại Việt Nam - Trung Quốc (UBHTKTTM) là cơ chế hợp tác song phương, định kỳ về kinh tế thương mại cao nhất giữa Việt Nam và Trung Quốc, được thành lập theo Hiệp định giữa 2 Chính phủUBHTKTTM được tổ chức theo thông lệ 02 năm 01 lần, do Lãnh đạo Bộ Công Thương Việt Nam và Bộ Thương mại Trung Quốc đồng chủ trì. Kỳ họp lần thứ 11 UBHTKTTM được tổ chức theo hình thức trực tuyến vào tháng 10 năm 2022 trong bối cảnh Trung Quốc vẫn duy trì chính sách phòng dịch nghiêm ngặt2. Kể từ sau chuyến thăm Trung Quốc của Tổng Bí thư Nguyễn Phú Trọng năm 2022 và của các đồng chí Lãnh đạo cấp cao ta thời gian qua, hợp tác kinh tế, thương mại giữa hai nước tiếp tục được củng cố và tăng cường, quy mô thương mại song phương năm 2022 đã đạt 175,56 tỷ USD, tăng 5,47%. Mặc dù kim ngạch xuất nhập khẩu giữa hai nước trong 9 tháng 2023 chịu ảnh hưởng bởi khó khăn chung của kinh tế, thương mại toàn cầu (giảm 8,2% so với cùng kỳ năm 2022), tuy nhiên tốc độ suy giảm đang được thu hẹp nhanh chóng trong những tháng cuối năm, thấp hơn mức giảm chung của ngoại thương Việt Nam (giảm 11,2%)3. Đây là lần đầu tiên phía Trung Quốc đề nghị tổ chức UBHTKTTM dưới sự đồng chủ trì ở cấp Bộ trưởng. Việc đón Bộ trưởng Thương mại Trung Quốc và tổ chức Kỳ họp lần thứ 12 UBHTKTTM tại Việt Nam có ý nghĩa quan trọng nhằm:
- Tiếp tục triển khai “Tuyên bố chung Việt Nam - Trung Quốc về tiếp tục đẩy mạnh và làm sâu sắc hơn nữa quan hệ đối tác hợp tác chiến lược toàn diện Việt Nam - Trung Quốc” và nhận thức chung của Lãnh đạo cấp cao hai nước thời gian qua;
- Củng cố, làm sâu sắc hơn nữa quan hệ hợp tác giữa Bộ Công Thương và Bộ Thương mại Trung Quốc; thúc đẩy các nội dung hợp tác thương mại Việt Nam quan tâm; rà soát, đánh giá các thành quả đạt được và nghiên cứu các biện pháp, nhiệm vụ cần phối hợp triển khai nhằm thúc đẩy quan hệ hợp tác kinh tế, thương mại song phương phát triển một cách ổn định, bền vững và cân bằng hơn, nhất là trong bối cảnh kim ngạch thương mại song phương sụt giảm trong 9 tháng của năm 2023;
- Chuẩn bị nội dung và thành quả cho chuyến thăm của lãnh đạo cấp cao thời gian tới.
Do thời gian gấp, Bộ Công Thương trân trọng đề nghị quý Bộ cho ý kiến về việc đón đoàn công tác của Bộ trưởng Bộ Thương mại Trung Quốc và tổ chức Kỳ họp lần thứ 12 UBHTKTTM trong ngày 27 tháng 10 năm 2023 để Bộ Công Thương có cơ sở báo cáo Thủ tướng Chính phủ phê duyệt và phản hồi phía Trung Quốc.
Bộ Công Thương trân trọng cảm ơn sự phối hợp của quý Bộ./.
|
| KT. BỘ TRƯỞNG |
lồng nhau (bên trong) hay không
const memberID = 0;
const vbID = '4395dcebaa0d3542125b3af804f4193b';
// State management cho phân tích
let isAnalyzing = false; // Có đang phân tích không
let currentAnalyzingAddress = null; // Address đang được phân tích
let currentAnalyzingElement = null; // Element đang được phân tích
let currentAnalyzingBadge = null; // Badge của element đang phân tích
let isPanelOpen = false; // Panel phân tích có đang mở không
console.log('Tiện ích loaded - memberID:', memberID, 'vbID:', vbID);
function isInViewportAndTabNoiDung(element) {
const rect = element.getBoundingClientRect();
const buffer = 1500; // Buffer to preload content below the viewport (approx. 50+ lines)
const viewHeight = window.innerHeight || document.documentElement.clientHeight;
const isInViewport = rect.top < viewHeight + buffer && rect.bottom >= 0;
const isInTabNoiDung = $(element).closest('#tab_noi_dung_vb').length > 0;
return isInViewport && isInTabNoiDung;
}
function getAddress(element) {
const validTags = ['trichyeu', 'cancu', 'phan', 'chuong', 'muc', 'tieumuc', 'dieu', 'khoan', 'diem'];
const $parent = $(element).closest(validTags.join(','));
if (!$parent.length) {
return null;
}
let addr = $parent.attr('address');
if (!addr && $parent.prop('tagName').toLowerCase() === 'trichyeu') {
addr = 'trichyeu';
$parent.attr('address', addr);
}
return addr || null;
}
function processTnplClasses($element) {
const tnplKeysInLine = new Set(); // key = slug hoặc text (thường là slug)
$element.find('tnpl').each(function () {
const $tnpl = $(this);
const tnplSlug = ($tnpl.attr('slug') || '').trim().toLowerCase();
const tnplKey = tnplSlug || $tnpl.text().trim().toLowerCase();
// Đã xử lý trong cùng dòng => bỏ
if (tnplKeysInLine.has(tnplKey)) {
return;
}
tnplKeysInLine.add(tnplKey);
let tnplExists = false;
// Chỉ duyệt các tnpl đã được tô màu (class on)
$('tnpl.on').each(function () {
const $existingTnpl = $(this);
const existingSlug = ($existingTnpl.attr('slug') || '').trim().toLowerCase();
const existingKey = existingSlug || $existingTnpl.text().trim().toLowerCase();
if (
existingKey === tnplKey &&
isInViewportAndTabNoiDung($existingTnpl[0])
) {
tnplExists = true;
return false; // break each
}
});
if (!tnplExists) {
$tnpl.addClass('on');
}
});
}
function processQueue() {
while (pendingRequests < maxConcurrentRequests && requestQueue.length > 0) {
const task = requestQueue.shift();
pendingRequests++;
task()
.always(() => {
pendingRequests--;
processQueue();
});
}
}
function processVisibleParagraphs() {
try {
$('#tab_noi_dung_vb p:not([is-posted="1"])').each(function () {
let $element = $(this);
if (isInViewportAndTabNoiDung(this)) {
$element.attr('is-posted', '1');
$element.addClass('loading-content');
let p_innerHTML = $element.html();
let address = null;
if (cac_cau_hinh.loai_noi_dung.includes('docs')) {
address = getAddress($element);
}
const isSubP = $element.parents('p').length > 0;
if (isSubP && !allow_sub_p) {
$element.removeClass('loading-content');
return; // Không gửi nếu không cho phép
}
const postData = { p_content: p_innerHTML, cac_cau_hinh, address };
if (isSubP && allow_sub_p) {
postData.sub_p = 1;
}
requestQueue.push(() =>
$.ajax({
url: '//tnpl' + (Math.floor(Math.random() * 10) + 1) + '.hethongphapluat.com/tien-ich/tim.tien.ich.php',
type: 'POST',
data: postData,
success: function(response) {
$element.html(response);
processTnplClasses($element);
// Đợi CTTD và các tiện ích load xong rồi mới attach badge
if (memberID === 4 && typeof attachPhanTichBadge === 'function') {
setTimeout(function() {
// $element chính là thẻ p, kiểm tra và attach badge trực tiếp
const $parent = $element.closest('phan, chuong, muc, tieumuc, dieu, khoan, diem');
if ($parent.length > 0 && $parent.find('.badge-phan-tich[data-for="' + $parent.attr('address') + '"]').length === 0) {
const address = $parent.attr('address');
$element.attr('data-address', address);
// Lấy tên loại thẻ cho tooltip
const parentType = getParentTypeName($parent.prop('tagName').toLowerCase());
// Append badge VÀO PARENT (dieu, khoan,...) thay vì vào để tránh xung đột CTTD
const $badge = $('Phân tích');
$parent.append($badge);
// Thêm class để CSS set position: relative CHỈ cho element có badge
$parent.addClass('has-phan-tich-badge');
}
// Xử lý các p con (nếu có sub-p)
attachPhanTichBadge($element);
}, 300); // Đợi 300ms để CTTD render xong
}
},
complete: function() {
$element.removeClass('loading-content');
}
})
);
processQueue();
}
});
} catch(e) {
console.error('Lỗi processVisibleParagraphs:', e);
}
}
$(window).on('scroll resize', function () {
processVisibleParagraphs();
});
console.log('Bắt đầu processVisibleParagraphs lần đầu...');
processVisibleParagraphs();
console.log('processVisibleParagraphs lần đầu hoàn thành');
// Chức năng phân tích điều luật (chỉ cho member_id = 4)
if (memberID === 4) {
// Modal cảnh báo
function showWarningModal(message) {
// Tạo modal nếu chưa có
if ($('#warningModal').length === 0) {
const modalHTML = `
' + message + '
const $badge = $('Phân tích');
$parent.append($badge);
// Thêm class để CSS set position: relative CHỈ cho element có badge
$parent.addClass('has-phan-tich-badge');
}
}
});
}
// Helper: Escape HTML entities
function escapeHtml(text) {
const map = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": '''
};
return String(text).replace(/[&<>"']/g, function(m) { return map[m]; });
}
// Helper: Convert Markdown to HTML (đơn giản)
function markdownToHtml(markdown) {
if (!markdown) return '';
let html = markdown;
// Headers
html = html.replace(/^### (.*$)/gim, ' ' + para.replace(/\n/g, ' Đang phân tích... Đang phân tích... Đang xóa cache và phân tích lại... Đang phân tích...$1
');
html = html.replace(/^## (.*$)/gim, '$1
');
html = html.replace(/^# (.*$)/gim, '$1
');
// Bold
html = html.replace(/\*\*(.*?)\*\*/g, '$1');
// Italic
html = html.replace(/\*(.*?)\*/g, '$1');
// Blockquote
html = html.replace(/^> (.*$)/gim, '$1
');
html = html.replace(/^> (.*$)/gim, '$1
');
// Lists (unordered)
html = html.replace(/^\- (.*$)/gim, '$1
');
// Lists (ordered)
html = html.replace(/^\d+\. (.*$)/gim, '
') + '' + escapeHtml(response.ten_van_ban) + '
';
if (response.so_hieu) {
html += 'Số hiệu: ' + escapeHtml(response.so_hieu) + '
';
}
html += 'Điều khoản: ' + escapeHtml(response.address) + '';
if (response.from_cache) {
html += ' Cache';
}
html += '
Vui lòng thử lại sau.
Chi tiết: ${escapeHtml(errorMsg)}
' + escapeHtml(response.ten_van_ban) + '
';
if (response.so_hieu) {
html += 'Số hiệu: ' + escapeHtml(response.so_hieu) + '
';
}
html += 'Điều khoản: ' + escapeHtml(response.address) + '';
html += '
Vui lòng thử lại sau.
Chi tiết: ${escapeHtml(errorMsg)}
