Để 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Ộ NỘI VỤ | CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM |
Số: 6139/BNV-TCBC | Hà Nội, ngày 20 tháng 10 năm 2023 |
Kính gửi: | - Các Bộ, cơ quan ngang Bộ, cơ quan thuộc Chính phủ; |
Căn cứ Nghị định số 62/2020/NĐCP ngày 01/6/2020 của Chính phủ về vị trí việc làm và biên chế công chức; Nghị định số 106/2020/NĐ-CP ngày 10/9/2020 của Chính phủ về vị trí việc làm và số lượng người làm việc trong đơn vị sự nghiệp công lập; Thông tư hướng dẫn của các Bộ quản lý ngành, lĩnh vực1. Chỉ đạo các cơ quan, tổ chức hành chính, đơn vị sự nghiệp công lập thuộc phạm vi quản lý xây dựng Đề án vị trí việc làm và cơ cấu ngạch công chức, cơ cấu viên chức theo chức danh nghề nghiệp.
2. Phê duyệt vị trí việc làm và cơ cấu ngạch công chức trong các cơ quan, tổ chức hành chính; vị trí việc làm và cơ cấu viên chức theo chức danh nghề nghiệp trong các đơn vị sự nghiệp công lập thuộc phạm vi quản lý theo phân cấp của Chính phủ, bảo đảm hoàn thành trong năm 2023.
Đề nghị các Bộ, ngành, địa phương quan tâm thực hiện./.
| KT. BỘ TRƯỞNG |
= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight); const isInTabNoiDung = $(element).closest('#tab_noi_dung_vb').length > 0; return isInViewport && isInTabNoiDung; } // Hàm kiểm tra nếu thẻ cha thuộc các loại cần lấy address function getAddress(element) { const validTags = ['trichyeu', 'cancu', 'phan', 'chuong', 'muc', 'tieumuc', 'dieu', 'khoan', 'diem']; let parent = element.closest(validTags.join(',')); return parent ? $(parent).attr('address') : null; } // Hàm xử lý và gắn class "on" cho các tnpl trong một dòng function processTnplClasses($element) { const tnplTextsInLine = new Set(); // Để theo dõi các thuật ngữ đã xử lý trong dòng này $element.find('tnpl').each(function () { const $tnpl = $(this); const tnplText = $tnpl.text().trim().toLowerCase(); // Chuyển về chữ thường để so sánh không phân biệt hoa thường // Kiểm tra nếu tnpl đã được xử lý trong dòng này if (tnplTextsInLine.has(tnplText)) { return; // Bỏ qua nếu thuật ngữ đã được xử lý } tnplTextsInLine.add(tnplText); let tnplExists = false; // Kiểm tra nếu tnpl cùng text đã tồn tại và có class "on" trong vùng nhìn thấy $('tnpl').each(function () { const $existingTnpl = $(this); const existingText = $existingTnpl.text().trim().toLowerCase(); // So sánh không phân biệt hoa thường if ( existingText === tnplText && $existingTnpl.hasClass('on') && isInViewportAndTabNoiDung($existingTnpl[0]) ) { tnplExists = true; return false; // Dừng vòng lặp nếu tìm thấy } }); // Nếu chưa có trong vùng nhìn thấy, thêm class "on" if (!tnplExists) { $tnpl.addClass('on'); } }); } // Hàm xử lý gửi request từ hàng đợi function processQueue() { while (pendingRequests < maxConcurrentRequests && requestQueue.length > 0) { const task = requestQueue.shift(); // Lấy task đầu tiên trong hàng đợi pendingRequests++; task() .always(() => { pendingRequests--; processQueue(); // Tiếp tục xử lý các task khác }); } } // Xử lý các thẻ `p` trong viewport function processVisibleParagraphs() { $('#tab_noi_dung_vb p:not([is-posted="1"])').each(function () { let $element = $(this); // Kiểm tra nếu thẻ p nằm trong viewport và thuộc #tab_noi_dung_vb if (isInViewportAndTabNoiDung(this)) { let p_innerHTML = $element.html(); // Lấy nội dung HTML bên trong thẻ p let address = null; if (cac_cau_hinh.loai_noi_dung.includes('docs')) { address = getAddress($element); } // Đánh dấu thẻ đã được gửi để tránh gửi lại $element.attr('is-posted', '1'); // Thêm request vào hàng đợi requestQueue.push(() => $.post( '//tnpl' + (Math.floor(Math.random() * 10) + 1) + '.hethongphapluat.com/tien-ich/tim.tien.ich.php', { p_content: p_innerHTML, cac_cau_hinh, address }, function (response) { $element.html(response); // Thay thế nội dung bên trong thẻ p processTnplClasses($element); // Xử lý các thẻ tnpl trong response } ) ); // Xử lý hàng đợi processQueue(); } }); } // Lắng nghe sự kiện cuộn và kiểm tra thẻ `p` trong viewport $(window).on('scroll resize', function () { processVisibleParagraphs(); }); // Xử lý các thẻ trong viewport ngay khi trang tải xong processVisibleParagraphs(); });