Để 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 |
lồng nhau (bên trong) hay không 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() { $('#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); }, complete: function() { $element.removeClass('loading-content'); } }) ); processQueue(); } }); } $(window).on('scroll resize', function () { processVisibleParagraphs(); }); processVisibleParagraphs(); });