Để 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Ộ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI | CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM |
| Số: 2671/LĐTBXH-TCGDNN | Hà Nội, ngày 13 tháng 7 năm 2023 |
| Kính gửi: | - Tổng Liên đoàn Lao động Việt Nam; |
Kỹ năng nghề (KNN) vừa là động lực, vừa là mục tiêu của quá trình đào tạo và ngày càng đóng vai trò quan trọng đối với người lao động nói chung và thanh niên nói riêng trong việc nâng cao năng suất lao động, thu nhập của người dân làm tăng năng lực cạnh tranh của mỗi quốc gia trong bối cảnh của Cuộc cách mạng công nghiệp lần thứ tư, hợp tác quốc tế cùng với xu thế chuyển đổi số, chuyển đổi xanh. Chính vì vậy, Liên hợp quốc đã lấy ngày 15/7 hằng năm là ngày Kỹ năng thanh niên thế giới và chủ đề năm 2023 là “Nâng tầm kỹ năng cho nhà giáo, người dạy nghề và thanh niên vì một tương lai chuyển đổi”Để thiết thực kỷ niệm ngày Kỹ năng thanh niên thế giới năm nay trong bối cảnh cả nước ta đang tích cực thực hiện Chỉ thị số 21-CT/TW ngày 04/5/2023 của Ban Bí thư[3] và Quyết định số 2239/QĐ-TTg ngày 30/12/2021 của Thủ tướng Chính phủ1. Tổ chức hội thảo, hội nghị, tọa đàm... về đào tạo và phát triển KNN cho thanh niên trong tình hình mới hiện nay.
2. Xây dựng, đăng tải tin, bài, phóng sự, phim tài liệu... tuyên truyền, truyền thông trên các phương tiện thông tin đại chúng, trong đó có một số nội dung sau:
a) Tuyên truyền về mục đích và ý nghĩa của ngày Kỹ năng thanh niên thế giới; vị trí, vai trò của lao động có KNN, phát triển kỹ năng lao động, các hoạt động GDNN tại cơ sở GDNN và doanh nghiệp; đánh giá và cấp chứng chỉ KNN quốc gia cho người lao động.
b) Tuyên truyền về sự phối hợp giữa Nhà nước - cộng đồng doanh nghiệp - các cơ sở giáo dục - người lao động và xã hội trong việc nâng tầm kỹ năng cho lao động trẻ Việt Nam.
c) Tuyên truyền việc thực hiện đa dạng hóa các chương trình đào tạo, hình thức tổ chức đào tạo; tạo điều kiện cho công dân, đặc biệt là thanh niên tham dự các khóa đào tạo, bồi dưỡng nâng cao kỹ năng lao động để gia nhập thị trường lao động, lập nghiệp và thực hiện học tập suốt đời, phát triển sự nghiệp.
d) Lồng ghép các hoạt động chuyên môn với việc tuyên truyền về phát triển KNN và GDNN, lồng ghép tuyên truyền về pháp luật Lao động về GDNN và phát triển KNN, pháp luật Việc làm về đánh giá, cấp chứng chỉ KNN quốc gia, trong đó tập trung về Chỉ thị số 21-CT/TW ngày 04/5/2023 của Ban Bí thư, Nghị quyết số 06/NQ-CP ngày 10/01/2023 của Chính phủ và Quyết định số 2239/QĐ- TTg ngày 30/12/2021 của Thủ tướng Chính phủ nêu trên.
3. Phát động phong trào “Thi đua học tập, rèn luyện phát triển KNN trong người lao động thích ứng với yêu cầu của thị trường lao động”. Đồng thời, phát hiện và kịp thời biểu dương, khen thưởng, vinh danh cá nhân, tập thể có đóng góp hiệu quả, thiết thực trong việc đào tạo, phát triển kỹ năng nghề cho thanh niên.
Trong quá trình thực hiện, nếu có vướng mắc, đề nghị trao đổi với Bộ Lao động - Thương binh và Xã hội (qua Tổng cục Giáo dục nghề nghiệp, số điện thoại 024.39740333, máy lẻ 804) để kịp thời phối hợp.
Trân trọng cảm ơn sự quan tâm, phối hợp của quý Cơ quan./.
|
| KT. BỘ TRƯỞNG |
lồng nhau (bên trong) hay không
const memberID = 0;
const vbID = 'ae5b56d8110e2c8b204da276c76769e4';
// 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)}
