Điều 25 Văn bản hợp nhất 21/VBHN-VPQH năm 2023 hợp nhất Luật Phòng, chống thiên tai do Văn phòng Chính phủ ban hành
Điều 25. Chỉ đạo, chỉ huy ứng phó thiên tai
1.2. Hình thức, nội dung và phương thức truyền, phát văn bản chỉ đạo, chỉ huy ứng phó thiên tai được quy định như sau:
a) Văn bản chỉ đạo, chỉ huy ứng phó thiên tai được ban hành dưới hình thức công điện hoặc công văn;
b) Nội dung của văn bản chỉ đạo, chỉ huy ứng phó thiên tai phải bảo đảm phù hợp với nội dung bản tin dự báo, cảnh báo, thực tế diễn biến thiên tai tại địa phương; biện pháp cơ bản để ứng phó thiên tai và tìm kiếm cứu nạn;
c) Phương thức truyền, phát văn bản chỉ đạo, chỉ huy ứng phó thiên tai bao gồm fax, hệ thống nhắn tin (SMS), hệ thống truyền hình, phát thanh, hệ thống thông tin cảnh báo sớm, truyền đạt trực tiếp và các hình thức khác.
3. Trách nhiệm truyền phát văn bản chỉ đạo, chỉ huy ứng phó thiên tai được quy định như sau:
a) Cơ quan có thẩm quyền ban hành văn bản chỉ đạo, chỉ huy ứng phó thiên tai có trách nhiệm gửi văn bản chỉ đạo, chỉ huy đến Đài truyền hình, Đài phát thanh cùng cấp và cơ quan có liên quan theo quy định của pháp luật;
b) Ủy ban nhân dân, Ban chỉ huy phòng thủ dân sực) Đài truyền hình, đài phát thanh trung ương và địa phương có trách nhiệm phát các bản tin chỉ đạo, chỉ huy ứng phó thiên tai.
4. 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();
});