Hệ thống pháp luật

HỘI ĐỒNG NHÂN DÂN
TỈNH BÌNH DƯƠNG
-------

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
---------------

Số: 18/2023/NQ-HĐND

Bình Dương, ngày 01 tháng 11 năm 2023

 

NGHỊ QUYẾT

SỬA ĐỔI, BỔ SUNG KHOẢN 1 ĐIỀU 1 NGHỊ QUYẾT SỐ 08/2023/NQ-HĐND NGÀY 26 THÁNG 7 NĂM 2023 CỦA HỘI ĐỒNG NHÂN DÂN TỈNH SỬA ĐỔI, BỔ SUNG MỘT SỐ ĐIỀU CỦA QUY ĐỊNH PHÂN CẤP THẨM QUYỀN QUẢN LÝ TÀI SẢN CÔNG; MUA SẮM HÀNG HÓA, DỊCH VỤ, SỬA CHỮA TÀI SẢN CÔNG CỦA CÁC CƠ QUAN, TỔ CHỨC, ĐƠN VỊ; XỬ LÝ TÀI SẢN KẾT CẤU HẠ TẦNG THỦY LỢI THUỘC PHẠM VI QUẢN LÝ CỦA TỈNH BÌNH DƯƠNG BAN HÀNH KÈM THEO NGHỊ QUYẾT SỐ 14/2021/NQ-HĐND NGÀY 10 THÁNG 12 NĂM 2021 CỦA HỘI ĐỒNG NHÂN DÂN TỈNH BÌNH DƯƠNG

HỘI ĐỒNG NHÂN DÂN TỈNH BÌNH DƯƠNG
KHÓA X - KỲ HỌP THỨ 12 (CHUYÊN ĐỀ)

Căn cứ Luật Tổ chức chính quyền địa phương ngày 19 tháng 6 năm 2015;

Căn cứ Luật sửa đổi, bổ sung một số điều của Luật Tổ chức Chính phủ và Luật Tổ chức chính quyền địa phương ngày 22 tháng 11 năm 2019;

Căn cứ Luật Ban hành văn bản quy phạm pháp luật ngày 22 tháng 6 năm 2015;

Căn cứ Luật sửa đổi, bổ sung một số điều của Luật Ban hành văn bản quy phạm pháp luật ngày 18 tháng 6 năm 2020;

Căn cứ Luật Thủy lợi ngày 19 tháng 6 năm 2017;

Căn cứ Luật Quản lý, sử dụng tài sản công ngày 21 tháng 6 năm 2017;

Căn cứ Nghị định số 151/2017/NĐ-CP ngày 26 tháng 12 năm 2017 của Chính phủ quy định chi tiết một số điều của Luật Quản lý, sử dụng tài sản công;

Căn cứ Nghị định số 165/2017/NĐ-CP ngày 31 tháng 12 năm 2017 của Chính phủ quy định việc quản lý, sử dụng tài sản tại cơ quan Đảng Cộng sản Việt Nam;

Căn cứ Nghị định số 67/2018/NĐ-CP ngày 14 tháng 5 năm 2018 của Chính phủ quy định chi tiết một số điều của Luật Thủy lợi;

Căn cứ Thông tư số 58/2016/TT-BTC ngày 29 tháng 3 năm 2016 của Bộ trưởng Bộ Tài chính quy định chi tiết sử dụng vốn Nhà nước để mua sắm nhằm duy trì hoạt động thường xuyên của cơ quan Nhà nước, đơn vị thuộc lực lượng vũ trang nhân dân, đơn vị sự nghiệp công lập, tổ chức chính trị, tổ chức chính trị - xã hội, tổ chức chính trị xã hội - nghề nghiệp, tổ chức xã hội, tổ chức xã hội - nghề nghiệp;

Căn cứ Thông tư số 68/2022/TT-BTC ngày 11 tháng 11 năm 2022 của Bộ trưởng Bộ Tài chính sửa đổi, bổ sung một số điều của Thông tư số 58/2016/TT-BTC ngày 29 tháng 3 năm 2016 của Bộ trưởng Bộ Tài chính quy định chi tiết việc sử dụng vốn Nhà nước để mua sắm nhằm duy trì hoạt động thường xuyên của cơ quan Nhà nước, đơn vị thuộc lực lượng vũ trang nhân dân, đơn vị sự nghiệp công lập, tổ chức chính trị, tổ chức chính trị - xã hội, tổ chức chính trị xã hội - nghề nghiệp, tổ chức xã hội, tổ chức xã hội - nghề nghiệp;

Xét Tờ trình số 5519/TTr-UBND ngày 27 tháng 10 năm 2023 của Ủy ban nhân dân tỉnh dự thảo Nghị quyết sửa đổi, bổ sung khoản 1 Điều 1 Nghị quyết số 08/2023/NQ-HĐND ngày 26 tháng 7 năm 2023 của Hội đồng nhân dân tỉnh sửa đổi, bổ sung một số điều của Quy định phân cấp thẩm quyền quản lý tài sản công; mua sắm hàng hóa, dịch vụ, sửa chữa tài sản công của các cơ quan, tổ chức, đơn vị; xử lý tài sản kết cấu hạ tầng thủy lợi thuộc phạm vi quản lý của tỉnh Bình Dương ban hành kèm theo Nghị quyết số 14/2021/NQ-HĐND ngày 10 tháng 12 năm 2021 của Hội đồng nhân dân tỉnh Bình Dương; Báo cáo thẩm tra số 108/BC-HĐND ngày 30 tháng 10 năm 2023 của Ban Kinh tế - Ngân sách; ý kiến thảo luận của đại biểu Hội đồng nhân dân tại kỳ họp.

QUYẾT NGHỊ:

Điều 1. Sửa đổi, bổ sung khoản 1 Điều 1 Nghị quyết số 08/2023/NQ-HĐND ngày 26 tháng 7 năm 2023 của Hội đồng nhân dân tỉnh sửa đổi, bổ sung một số điều của Quy định phân cấp thẩm quyền quản lý tài sản công; mua sắm hàng hóa, dịch vụ, sửa chữa tài sản công của các cơ quan, tổ chức, đơn vị; xử lý tài sản kết cấu hạ tầng thủy lợi thuộc phạm vi quản lý của tỉnh Bình Dương ban hành kèm theo Nghị quyết số 14/2021/NQ-HĐND ngày 10 tháng 12 năm 2021 của Hội đồng nhân dân tỉnh Bình Dương, cụ thể như sau:

“1. Sửa đổi, bổ sung Điều 3 như sau:

Điều 3. Thẩm quyền quyết định mua sắm tài sản công; mua sắm hàng hóa, dịch vụ nhằm duy trì hoạt động thường xuyên

1. Chủ tịch Ủy ban nhân dân tỉnh quyết định mua sắm tài sản công; hàng hóa, dịch vụ đối với hoạt động đầu tư ứng dụng công nghệ thông tin, gồm:

a) Xe ô tô;

b) Tài sản công có giá trị từ 05 tỷ đồng trở lên/01 gói thầu (trừ tài sản công là máy móc, thiết bị chuyên dùng thuộc lĩnh vực y tế, giáo dục);

c) Hàng hóa, dịch vụ (mua, thuê2. Thủ trưởng các sở, ban, ngành, đơn vị, đoàn thể cấp tỉnh, Chủ tịch Ủy ban nhân dân cấp huyện, Thường trực Huyện ủy quyết định mua sắm:

a) Tài sản công

- Phương tiện vận tải khác (ngoài xe ô tô);

- Tài sản công có giá trị dưới 05 tỷ đồng/01 gói thầu tại cơ quan; tài sản công có giá trị từ 500 triệu đồng/gói thầu đến dưới 05 tỷ đồng/gói thầu cho các cơ quan, đơn vị trực thuộc.

b) Máy móc, thiết bị chuyên dùng và hàng hóa, dịch vụ nhằm duy trì hoạt động thường xuyên thuộc lĩnh vực y tế:

- Cấp tỉnh:

+ Giám đốc Sở Y tế quyết định việc mua sắm đối với tất cả các gói thầu tại cơ quan; quyết định mua sắm từ 05 tỷ đồng trở lên/gói thầu đối với Bệnh viện Đa khoa tỉnh và các đơn vị sự công lập tự bảo đảm chi thường xuyên, chi đầu tư; quyết định mua sắm từ 03 tỷ đồng trở lên/gói thầu đối với việc mua sắm của các đơn vị sự nghiệp công lập tự bảo đảm chi thường xuyên; quyết định mua sắm từ 02 tỷ đồng trở lên đối với các đơn vị sự nghiệp công lập còn lại và các Chi cục;

+ Giám đốc Bệnh viện Đa khoa tỉnh và các đơn vị sự nghiệp công lập tự bảo đảm chi thường xuyên, chi đầu tư quyết định mua sắm dưới 05 tỷ đồng/gói thầu;

+ Giám đốc các đơn vị sự nghiệp công lập tự bảo đảm chi thường xuyên quyết định mua sắm dưới 03 tỷ đồng/gói thầu;

+ Giám đốc các đơn vị sự nghiệp công lập còn lại và các Chi cục quyết định mua sắm dưới 02 tỷ đồng/gói thầu.

- Cấp huyện:

+ Thành phố Dĩ An, Thuận An: Chủ tịch Ủy ban nhân dân thành phố quyết định mua sắm từ 03 tỷ đồng trở lên/gói thầu; Giám đốc Trung tâm Y tế quyết định mua sắm dưới 03 tỷ đồng/gói thầu;

+ Các huyện, thị xã, thành phố còn lại: Chủ tịch Ủy ban nhân dân cấp huyện quyết định mua sắm từ 02 tỷ đồng trở lên/gói thầu; Giám đốc Trung tâm Y tế quyết định mua sắm dưới 02 tỷ đồng/gói thầu.

c) Máy móc, thiết bị chuyên dùng thuộc lĩnh vực giáo dục - đào tạo

- Cấp tỉnh: Giám đốc Sở Giáo dục và Đào tạo quyết định mua sắm đối với tất cả các gói thầu tại cơ quan và quyết định mua sắm từ 500 triệu đồng trở lên/gói thầu cho các đơn vị sự nghiệp công lập; Thủ trưởng các đơn vị sự nghiệp công lập quyết định mua sắm dưới 500 triệu đồng/gói thầu;

- Cấp huyện: Chủ tịch Ủy ban nhân dân cấp huyện quyết định mua sắm từ 500 triệu đồng trở lên/gói thầu; Giám đốc Trung tâm Giáo dục nghề nghiệp - Giáo dục thường xuyên quyết định mua sắm dưới 500 triệu đồng/gói thầu; Trưởng phòng Giáo dục và Đào tạo các huyện, thị xã, thành phố quyết định mua sắm dưới 500 triệu đồng/gói thầu tại cơ quan và các khối trường mầm non, tiểu học, trung học cơ sở trên địa bàn.

d) Hàng hóa, dịch vụ (mua, thuê) nhằm duy trì hoạt động thường xuyên đối với hoạt động đầu tư ứng dụng công nghệ thông tin theo quy định của Chính phủ đối với tất cả các gói thầu có giá trị dưới 05 tỷ đồng/gói thầu tại cơ quan và các gói thầu có giá trị từ 500 triệu đồng/gói thầu đến dưới 05 tỷ đồng/gói thầu của các cơ quan, đơn vị trực thuộc.

đ) Hàng hóa, dịch vụ (trừ điểm b và điểm d khoản 2) nhằm duy trì hoạt động thường xuyên tại cơ quan và hàng hóa, dịch vụ nhằm duy trì hoạt động thường xuyên có giá trị từ 500 triệu đồng trở lên/gói thầu của các cơ quan, đơn vị trực thuộc.

3. Thủ trưởng cơ quan, đơn vị trực thuộc các sở, ban, ngành, đoàn thể cấp tỉnh và các chi cục; Trưởng các phòng, ban, cơ quan, đơn vị trực thuộc cấp huyện; Chủ tịch Ủy ban nhân dân cấp xã quyết định mua sắm đối với các gói thầu có giá trị dưới 500 triệu đồng/01 gói thầu, gồm:

a) Tài sản công;

b) Hàng hóa, dịch vụ (trừ lĩnh vực y tế) nhằm duy trì hoạt động thường xuyên;

c) Hàng hóa, dịch vụ (mua, thuê) nhằm duy trì hoạt động thường xuyên đối với hoạt động đầu tư ứng dụng công nghệ thông tin theo quy định của Chính phủ.

4. Thủ trưởng đơn vị sự nghiệp công lập tự bảo đảm chi thường xuyên và chi đầu tư quyết định mua sắm tài sản công (trừ cơ sở hoạt động sự nghiệp, xe ô tô) và mua sắm hàng hóa, dịch vụ nhằm duy trì hoạt động thường xuyên từ Quỹ phát triển hoạt động sự nghiệp và từ nguồn vốn vay, vốn huy động theo chế độ quy định để phục vụ cho các hoạt động sự nghiệp và hoạt động kinh doanh của đơn vị đúng với tiêu chuẩn, định mức, chế độ quy định. Trường hợp sử dụng nhiều nguồn vốn để mua sắm, trong đó có nguồn ngân sách nhà nước thì thẩm quyền quyết định thực hiện theo quy định tại các khoản của Điều này.”

Điều 3. Giao Ủy ban nhân dân tỉnh tổ chức triển khai thực hiện Nghị quyết này.

Điều 4. Thường trực Hội đồng nhân dân, các Ban của Hội đồng nhân dân, các Tổ đại biểu và đại biểu Hội đồng nhân dân tỉnh giám sát việc thực hiện Nghị quyết này.

Nghị quyết này đã được Hội đồng nhân dân tỉnh Bình Dương khóa X, kỳ họp thứ 12 (chuyên đề) thông qua ngày 31 tháng 10 năm 2023 và có hiệu lực kể từ ngày thông qua./.

 


Nơi nhận:
- Ủy ban Thường vụ Quốc hội, Chính phủ;
- Văn phòng: Quốc hội, Chính phủ;
- Ban Công tác đại biểu - UBTVQH;
- Bộ Tài chính;
- Cục Kiểm tra VBQPPL - Bộ Tư pháp;
- Thường trực Tỉnh ủy; Đoàn đại biểu Quốc hội tỉnh;
- Thường trực HĐND, UBND, UBMTTQVN tỉnh;
- Đại biểu HĐND tỉnh;
- Các sở, ban, ngành, đoàn thể cấp tỉnh;
- LĐVP: Tỉnh ủy, Đoàn ĐBQH và HĐND, UBND tỉnh;
- Thường trực HĐND và UBND cấp huyện;
- Cơ sở dữ liệu quốc gia về pháp luật (Sở Tư pháp);
- Trung tâm Công báo tỉnh Bình Dương;
- Website, Báo, Đài PTTH Bình Dương;
- Các phòng thuộc Văn phòng, AT, App, Web;
- Lưu: VT, Tn (4).

CHỦ TỊCH




Nguyễn Văn Lộc

 



/g, '').replace(/\s*(<\/?[^>]+>)\s*/g, '$1').trim(); } function checkAndWrap(element) { // Đệ quy kiểm tra các phần tử .main-elem con bên trong trước element.children('cttd, dctd, dctk').each(function() { checkAndWrap($(this)); }); // Lấy HTML hiện tại của phần tử .main-elem và làm sạch nó var currentHTML = cleanHTML(element.html()); // Log trạng thái HTML bên trong trước khi kiểm tra //console.log('Before inner HTML:', currentHTML); // Kiểm tra xem HTML có bao quanh bởi thẻ span không if (!(currentHTML.startsWith(''))) { // Nếu không, bao quanh toàn bộ nội dung bằng thẻ span element.html('' + currentHTML + ''); currentHTML = cleanHTML(element.html()); //console.log('After inner HTML:', currentHTML); } else { //console.log('Giữ nguyên inner HTML:..........................'); } } $('cttd.chuthichtudong a.chuthichtudong').each(function() { $(this).removeClass('chuthichtudong'); }); // Bắt đầu kiểm tra từ các phần tử .main-elem ngoài cùng $('cttd.chuthichtudong, a.chuthichtudong, dctd, dctk').each(function() { $(this).attr('id', 'rnd_' + random_string_id(20)); checkAndWrap($(this)); }); }); $(document).ready(function() { $('cttd.chuthichtudong span, a.chuthichtudong span, dctk span, dctd span').click(function(e) { e.preventDefault(); e.stopPropagation(); }); $('cttd.chuthichtudong > span, a.chuthichtudong > span, dctk > span, dctd > span').click(function(e) { e.preventDefault(); e.stopPropagation(); if ($(document).width()<=768) { return; } var $this = $(this); //alert($this.position().top); var clickedElement = $(this); var level = 0; var selectors = ['cttd.chuthichtudong > span', 'dctk > span', 'dctd > span']; // Kiểm tra xem có ít nhất một cấp con thỏa mãn điều kiện không var hasChild = selectors.some(function(selector) { return clickedElement.closest(selector).find('span').length > 0; }); if (!hasChild) { //alert('chỉ có 1 cấp'); var totalSubLevels = 1; } else { function findMatchingParent(element) { var parent = element.parent(); if (parent.length === 0) return null; for (var i = 0; i < selectors.length; i++) { if (parent.is(selectors[i])) { return parent; } } return findMatchingParent(parent); } var parentElement = findMatchingParent(clickedElement); while (parentElement !== null) { level++; parentElement = findMatchingParent(parentElement); } var closestElement = clickedElement.closest(selectors.join(', ')); var nodeName = closestElement.prop('nodeName').toLowerCase(); var className = closestElement.attr('class'); var textContent = closestElement.text().trim(); var address = selectors.find(function(selector) { return closestElement.is(selector); }); // Đếm tổng số cấp dưới bao gồm cả cấp được click var totalSubLevels = closestElement.find('span').length + 1; // +1 để bao gồm cả cấp được click var parent_id = closestElement.parent().attr('id'); //alert('Clicked element level: ' + level + '\nAddress: ' + address + '\nText: ' + textContent + '\nparent_id: ' + parent_id); var variableName = 'parent_id_' + level; // Gán giá trị của parent_id cho biến động này window[variableName] = parent_id; } if (totalSubLevels>1) { // Tạo đối tượng để lưu trữ các biến động var dynamicVars = {}; // Tạo tên biến động dựa trên giá trị của level var variableName = 'parent_id_' + level; // Gán giá trị của parent_id cho biến động này dynamicVars[variableName] = parent_id; // Giờ gắn ngược lại biến buble_id = parent_id_{level} var buble_id = dynamicVars[variableName]; } else { buble_id = 'dc_' + $(this).parent().attr('id'); } //alert('bat dau xu ly ' + buble_id); // Nếu không có .pointer ngay sau .main-elem thì chèn thêm if ($this.next('.pointy').length === 0) { $this.after('

'); } var $pointer = $this.next('.pointer'); var $canvas = $this.next('canvas'); var $pointy = $canvas.next('div.pointy'); if ($pointy.is(':visible')) { //alert('now hide everything'); } //$pointer.css({'border':'solid 5px red'}); //$pointer.hide(); //$pointer.prev('canvas.pointy').hide(); if ($pointer.is(':visible')) { } else { if ($('#ajax_tra_cuu').is(':visible')) { $('#ajax_tra_cuu').hide(); } $("#right_info_col").css('height', '1px'); //$('#rightdocinfo').hide(); $('#rightdocinfo').hide('slow'); $('#r-toc').hide('slow'); if ($('button#toggleSidebar').length) { if (parseInt($('#customSidebar').css('right'),10) == 0) { $('#customSidebar').animate({ right: '-280px' }, 500); $('#toggleSidebar').html(''); } else { } } //alert('pointy length: ' + $pointy.length); //alert('pointy visible: ' + $pointy.is(':visible')); //$canvas.show(); if ($pointy.is(':visible')) { var $pointer = $canvas.next('.pointer'); //alert('pointer text: ' + $pointer.text()); //alert('pointer visible: ' + $pointer.is(':visible')); if ($pointer.is(':visible')) { //alert($pointer.prev('canvas.pointy').length); $pointer.hide(); $canvas.hide(); } else { } } else { if ($canvas.length==1) { var $canvas = $this.next('canvas'); var $pointer = $canvas.next('.pointer'); //$pointy.show(); if ($pointer.length>0) { $pointer.show(); $canvas.show(); } //$canvas.show(); $('.pointer').removeClass('pointy-active'); $('.pointer').css({'z-index':1}); $('canvas.pointy').removeClass('pointy-active'); $('canvas.pointy').css({'z-index':1}); $pointer.css({'z-index':9999}); $canvas.css({'z-index':9999}); if (level==0) { if (totalSubLevels==1) { scrollTop_offset = $pointer.offset().top - $(window).height() / 4; } else { scrollTop_offset = $pointer.offset().top - $('#nav-tab-vb').height()-10; } $('html,body').animate({ scrollTop: scrollTop_offset }, 'slow'); } } else { $pointer.show(); //$canvas.show(); if ($pointy.length==0) { var elementOffset = $(this).position().top; var windowHeight = $(window).height()-20 - $('#nav-tab-vb').height(); var pointerHeight = Math.max(250, Math.min(windowHeight * 0.8, 450)); var newTop = elementOffset - (pointerHeight / 2); // Đảm bảo pointer không ra khỏi màn hình var maxTop = $(document).height() - pointerHeight; newTop = Math.max(0, Math.min(newTop, maxTop)); if (totalSubLevels=1) { if (level>0) { newTop = newTop+pointerHeight+30; } } // Positioning the pointer var position = $this.position(); $pointer.css({ left: $('#doc-left-col').width() + 50 + "px", width: $('#doc-right-col').width()-30, height: pointerHeight, 'z-index': 9999, top: newTop + "px" }); // Initialize pointy $this.pointy({ pointer: $pointer, defaultClass: 'zindex', activeClass: 'pointy-active', arrowWidth: 20 }); var initialTop = $pointer.position().top; $pointer.draggable({ containment: 'document', drag: function() { if (screen.width<1280) { var cap_nhat_pointy_top = setInterval(function(){ if ($this.position().top-$this.parent().height()+10!=$pointer.prev('canvas.pointy').position().top) { $pointer.prev('canvas.pointy').css({'top': $this.position().top-$this.parent().height()+10+'px'}); clearInterval(cap_nhat_pointy_top); } else { clearInterval(cap_nhat_pointy_top); } },50); } $this.trigger('pointy-update'); } }); // Thêm sự kiện click cho .close_pointy $pointer.on('click', '.close_pointy', function(e) { $pointer.hide(); $pointer.prev('canvas.pointy').hide(); }); // Handle touch events for mobile devices var isDragging = false, startX, startY, offsetX, offsetY; var startDragging = function(e) { if (checkIfScrollingContent(e)) return; if ($(e.target).is('.close_pointy')) { // Nếu đúng thì không chạy các hàm drag return; } isDragging = true; var touch = e.originalEvent.touches[0]; var pos = $pointer.position(); startX = touch.pageX; startY = touch.pageY; offsetX = startX - pos.left; offsetY = startY - pos.top-$pointer.height()-$pointer.height()/1.365; var cap_nhat_pointy_top = setInterval(function(){ if ($this.position().top-$this.parent().height()+10!=$pointer.prev('canvas.pointy').position().top) { $pointer.prev('canvas.pointy').css({'top': $this.position().top-$this.parent().height()+10+'px'}); clearInterval(cap_nhat_pointy_top); } else { clearInterval(cap_nhat_pointy_top); } },50); e.preventDefault(); }; var duringDragging = function(e) { if (checkIfScrollingContent(e)) return; if (isDragging) { var touch = e.originalEvent.touches[0]; var moveX = touch.pageX; var moveY = touch.pageY; if (screen.width<1280) { var newLeft = moveX - offsetX; var newTop = moveY - offsetY-$pointer.height()-$pointer.height()/1.365; // Giới hạn không cho kéo vượt quá chiều ngang của màn hình if (newLeft < 0) { newLeft = 0; } else if (newLeft + $pointer.outerWidth() > $(window).width()) { newLeft = $(window).width() - $pointer.outerWidth(); } // Giới hạn không cho kéo lên trên vượt quá position.top ban đầu if (newTop < initialTop) { newTop = initialTop; } $pointer.css({ left: newLeft, top: newTop }); } else { var newLeft = moveX - offsetX; var newTop = moveY - offsetY-$pointer.height()-$pointer.height()/1.365; // Giới hạn không cho kéo vượt quá chiều ngang của màn hình if (newLeft < 0) { newLeft = 0; } else if (newLeft + $pointer.outerWidth() > $(window).width()) { newLeft = $(window).width() - $pointer.outerWidth(); } $pointer.css({ left: newLeft, top: newTop }); } $pointer.prev('canvas.pointy').hide(); e.preventDefault(); } }; var stopDragging = function(e) { $pointer.prev('canvas.pointy').show(); if (checkIfScrollingContent(e)) return; if (screen.width<1280) { var cap_nhat_pointy_top = setInterval(function(){ if ($this.position().top-$this.parent().height()+10!=$pointer.prev('canvas.pointy').position().top) { $pointer.prev('canvas.pointy').css({'top': $this.position().top-$this.parent().height()+10+'px'}); clearInterval(cap_nhat_pointy_top); } else { clearInterval(cap_nhat_pointy_top); } },50); } $this.trigger('pointy-update'); }; function checkIfScrollingContent(e) { // Kiểm tra đối tượng mà người dùng đang chạm có phải là nội dung bên trong $pointer // Ví dụ, nếu nó là một phần tử
hoặc

bên trong $pointer if ($(e.target).closest('.list_tds').length > 0) { // Người dùng đang chạm vào nội dung bên trong .scroll_2 // Cho phép hành vi cuộn và ngăn chặn di chuyển $pointer e.stopPropagation(); return true; } // Người dùng không chạm vào nội dung bên trong $pointer // Cho phép di chuyển $pointer return false; } $pointer.on('touchstart', startDragging); $pointer.on('touchmove', duringDragging); $pointer.on('touchend', stopDragging); // Hàm để cập nhật vị trí của pointer var updatePointerPosition = function() { var offset = $this.position(); //alert($this.position().top); var windowHeight = $(window).height() - $('#nav-tab-vb').height()-20; var pointerHeight = Math.max(250, Math.min(windowHeight * 0.8, 450)); var elementOffset = $this.position().top; var newTop = elementOffset - (pointerHeight / 2); // Đảm bảo pointer không ra khỏi màn hình var maxTop = $(document).height() - pointerHeight; newTop = Math.max(0, Math.min(newTop, maxTop)); $pointer.css({ left: $('#doc-left-col').width() + 50 + "px", width: $('#doc-right-col').width() - 30, height: pointerHeight, top: newTop + "px" }); //alert($pointer.position().top); }; /* */ // Cập nhật vị trí pointer khi thay đổi kích thước hoặc xoay màn hình $(window).on('resize orientationchange', function() { updatePointerPosition(); //$canvas.css('top', $this.position().top+'px'); var cap_nhat_pointy_top = setInterval(function(){ if ($this.position().top-$this.parent().height()+10!=$pointer.prev('canvas.pointy').position().top) { $pointer.prev('canvas.pointy').css({'top': $this.position().top-$this.parent().height()+10+'px'}); $this.trigger('pointy-update'); clearInterval(cap_nhat_pointy_top); } else { clearInterval(cap_nhat_pointy_top); } },50); }); } } } if ($pointer.is(':visible')) { if (level==0) { if (totalSubLevels==1) { scrollTop_offset = $pointer.offset().top - $(window).height() / 4; } else { scrollTop_offset = $pointer.offset().top - $('#nav-tab-vb').height()-10; } $('html,body').animate({ scrollTop: scrollTop_offset }, 'slow'); } } } $pointer.css('opacity', '1'); $('.pointy').click(function(e) { e.preventDefault(); e.stopPropagation(); }); var parent = $(this).parent(); var dataCT = parent.attr('data-ct'); var dataDC = parent.attr('data-dc'); var dataTN = parent.attr('data-tn'); //if (dataCT) loai_buble = 'chuthich'; //if (dataDC) loai_buble = 'danchieu';; //if (dataTN) loai_buble = 'thuatngu'; var loai_buble = parent.prop('nodeName').toLowerCase(); var text_html = $(this).text(); if (loai_buble=='cttd' || loai_buble=='a') { pointer_html = '

'; } else if(loai_buble=='dctd') { if (this.hasAttribute('o-title')) { tieu_de_dan_chieu = $(this).attr('o-title'); } else { tieu_de_dan_chieu = text_html; } pointer_html = ''; } else if(loai_buble=='dctk') { pointer_html = ''; } if ($pointer.find('#noi_dung_buble_'+buble_id).length) { } else { $pointer.html(pointer_html); } if (loai_buble=='cttd' || loai_buble=='a') { var load_cttd = setInterval(function(){ if ($pointer.find('#noi_dung_buble_'+buble_id + ' .dc_loading').length) { $.ajax({ type: 'POST', url: '/ajax/vanban/chu-thich/', data: { 'ndct': dataCT, 'id_ct': buble_id, 'dc_text': text_html }, success: function(response) { $("#noi_dung_buble_" + buble_id).html(response); if ($(document).width()>=1280){$this.trigger('pointy-update');} clearInterval(load_cttd); } }); } },500); } else if(loai_buble=='dctd') { var load_cttd = setInterval(function(){ if ($pointer.find('#noi_dung_buble_'+buble_id + ' .dc_loading').length){ if (dataDC.length == 32) { $.ajax({ type: 'POST', url: '/ajax/public/dan-chieu/' + dataDC, data: { 'text_dan_chieu': text_html }, success: function(response) { $("#noi_dung_buble_" + buble_id).html(response); if ($(document).width()>=1280){$this.trigger('pointy-update');} clearInterval(load_cttd); } }); } else { $("#noi_dung_buble_" + buble_id).load('/ajax/public/dan-chieu/' + dataDC + '/'); if ($(document).width()>=1280){$this.trigger('pointy-update');} clearInterval(load_cttd); } } else { clearInterval(load_cttd); } },500); } else if(loai_buble=='dctk') { if ($('#noi_dung_buble_'+buble_id + ' .dc_loading').length){ $.ajax({ type: 'POST', url: '/ajax/vanban/chu-thich/', data: { 'ndct': dataCT, 'id_ct': buble_id, 'loai_hd': 'noi_dung_tham_khao', 'dc_text': text_html }, success: function(response) { $("#noi_dung_buble_" + buble_id).html(response); if ($(document).width()>=1280){$this.trigger('pointy-update');} } }); } } /* var tim_buble_id = setInterval(function(){ if ($('#noi_dung_buble_'+buble_id).length) { alert('bay gio moi tim thay '+buble_id); clearInterval(tim_buble_id); } },1000); */ $('.pointer').removeClass('pointy-active'); $('.pointer').css({'z-index':1}); $('canvas.pointy').removeClass('pointy-active'); $('canvas.pointy').css({'z-index':1}); $pointer.css({'z-index':9999}); $canvas.css({'z-index':9999}); $('.pointer').on('mouseenter mouseleave click touchstart', function() { // Khi di chuột vào $('.pointer').removeClass('pointy-active'); $('.pointer').css({'z-index':1}); $(this).css({'z-index':9999}); $('canvas.pointy').removeClass('pointy-active'); $('canvas.pointy').css({'z-index':1}); $(this).prev('canvas.pointy').addClass('pointy-active'); $(this).prev('canvas.pointy').css({'z-index':9999}); } ); var list_tds_max_height_interval = setInterval(function(){ if ($pointer.find('.list_tds').length) { var windowHeight = $(window).height()-20 - $('#nav-tab-vb').height(); var pointerHeight = Math.max(250, Math.min(windowHeight * 0.8, 450)); $pointer.find('.list_tds').css('max-height', pointerHeight + 'px'); clearInterval(list_tds_max_height_interval); } },50); $(window).resize(function() { if ($(document).width()<=768) { $pointer.hide(); $pointer.prev('canvas.pointy').hide(); } var cap_nhat_pointy_top = setInterval(function(){ if ($this.position().top-$this.parent().height()+10!=$pointer.prev('canvas.pointy').position().top) { $pointer.prev('canvas.pointy').css({'top': $this.position().top-$this.parent().height()+10+'px'}); clearInterval(cap_nhat_pointy_top); } else { clearInterval(cap_nhat_pointy_top); } },50); var list_tds_max_height_interval = setInterval(function(){ if ($pointer.find('.list_tds').length) { var windowHeight = $(window).height()-20 - $('#nav-tab-vb').height(); var pointerHeight = Math.max(250, Math.min(windowHeight * 0.8, 450)); $pointer.find('.list_tds').css('max-height', pointerHeight + 'px'); clearInterval(list_tds_max_height_interval); } },50); }); var parentElement = $(this).parent(); // Define the selectors for the target elements var selectors = 'cttd.chuthichtudong > span, a.chuthichtudong > span, dctk > span, dctd > span'; // Find and click all matching child elements parentElement.find(selectors).each(function() { $(this).click(); }); var cap_nhat_pointy_top = setInterval(function(){ if ($this.position().top-$this.parent().height()+10!=$pointer.prev('canvas.pointy').position().top) { $pointer.prev('canvas.pointy').css({'top': $this.position().top-$this.parent().height()+10+'px'}); clearInterval(cap_nhat_pointy_top); } else { clearInterval(cap_nhat_pointy_top); } },50); }); }); function random_string_id(numstr) { var text = ""; var possible = "abcdefghijklmnopqrstuvwxyz0123456789"; for (var i = 0; i < numstr; i++) text += possible.charAt(Math.floor(Math.random() * possible.length)); return text; } $(document).ready(function() { function setPointerHeight() { var windowHeight = $(window).height() - $('#nav-tab-vb').height()-20; var pointerHeight = Math.max(250, Math.min(windowHeight * 0.8, 450)); $('.pointer').css('height', pointerHeight + 'px'); } // Đặt chiều cao khi tải trang setPointerHeight(); // Đặt lại chiều cao khi thay đổi kích thước cửa sổ (nếu cần) $(window).resize(function() { setPointerHeight(); }); }); // Lưu dấu chọn lựa cuối cùng let lastChosen = null; let lastChosentr = null; function scroll_den_hd(ndsh_dich_address) { if (lastChosen) { $(lastChosen).css('background-color', ''); // Xóa mọi bôi mờ trước } if (lastChosentr) { $(lastChosentr).css('background-color', ''); // Xóa mọi bôi mờ trước } lastChosen = $('[href="javascript:scroll_den_hd(\'' + ndsh_dich_address + '\')"]'); lastChosentr = $('[data-ct="' + ndsh_dich_address + '"]'); $(lastChosen).css('background-color', 'yellow'); // Thay bôi mờ $(lastChosentr).css('background-color', 'yellow'); // Thay bôi mờ var targetElement = $('[address="' + ndsh_dich_address + '"]'); $('.selected_dchd').removeClass('selected_dchd'); targetElement.addClass('selected_dchd'); targetElement.children('p').children('cttd').click(); targetElement.children('cttd').click(); targetElement.children('p').children('dctk').click(); targetElement.children('dctk').click(); // Tính toán vị trí để cuộn đến và đẩy vị trí xuống một chút cho dễ nhìn /* var position = targetElement.offset().top - $(window).height()/2; // Sử dụng animate để cuộn đến vị trí, sau đó không cần bôi màu như trước $('html, body').animate({ scrollTop: position }, 800, function() { // Không cần thực hiện thêm hành động nào sau khi cuộn, vì việc đánh dấu đã được xử lý ở trên }); */ }