Hệ thống pháp luật

ỦY BAN NHÂN DÂN
TỈNH TUYÊN QUANG
-------

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

Số: 942/QĐ-UBND

Tuyên Quang, ngày 26 tháng 8 năm 2023

 

QUYẾT ĐỊNH

VỀ VIỆC CÔNG BỐ DANH MỤC THỦ TỤC HÀNH CHÍNH THAY THẾ TRONG LĨNH VỰC GIÁM ĐỊNH Y KHOA THUỘC PHẠM VI CHỨC NĂNG QUẢN LÝ CỦA SỞ Y TẾ TỈNH TUYÊN QUANG

CHỦ TỊCH ỦY BAN NHÂN DÂN TỈNH TUYÊN QUANG

Căn cứ Luật Tổ chức chính quyền địa phương ngày 19/6/2015; 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/11/2019;

Căn cứ Nghị định số 63/2010/NĐ-CP ngày 08/6/2010 của Chính phủ về kiểm soát thủ tục hành chính; Nghị định số 92/2017/NĐ-CP ngày 07/8/2017 của Chính phủ quy định về sửa đổi, bổ sung một số điều của các nghị định liên quan đến kiểm soát thủ tục hành chính;

Căn cứ Nghị định số 61/2018/NĐ-CP ngày 23/4/2018 của Chính phủ về thực hiện cơ chế một cửa, một cửa liên thông trong giải quyết thủ tục hành chính; Nghị định số 107/2021/NĐ-CP ngày 06/02/2021 của Chính phủ sửa đổi, bổ sung một số điều của Nghị định số 61/2018/NĐ-CP ngày 23/4/2018 của Chính phủ về thực hiện cơ chế một cửa, một cửa liên thông trong giải quyết thủ tục hành chính;

Căn cứ Quyết định số 45/2016/QĐ-TTg ngày 19/10/2016 của Thủ tướng Chính phủ về việc tiếp nhận hồ sơ, trả kết quả giải quyết thủ tục hành chính qua dịch vụ bưu chính công ích;

Căn cứ Thông tư số 02/2017/TT-VPCP ngày 31/10/2017 của Bộ trưởng, Chủ nhiệm Văn phòng Chính phủ hướng dẫn nghiệp vụ về kiểm soát thủ tục hành chính;

Căn cứ Quyết định 3178/QĐ-BYT ngày 11/8/2023 của Bộ trưởng Bộ Y tế về việc công bố thủ tục hành chính quy định tại Thông tư liên tịch số 34/2012/TTLT-BYT-BLĐTBXH ngày 28/12/2012 của Bộ trưởng Bộ Y tế, Bộ trưởng Bộ Lao động - Thương binh và Xã hội quy định chi tiết về việc xác định mức độ khuyết tật do Hội đồng Giám định y khoa thực hiện;

Theo đề nghị của Giám đốc Sở Y tế tại Tờ trình số 522/TTr-SYT ngày 16/8/2023.

QUYẾT ĐỊNH:

Điều 1. Công bố kèm theo Quyết định này Danh mục thủ tục hành chính thay thế trong lĩnh vực Giám định y khoa thuộc phạm vi chức năng quản lý của Sở Y tế tỉnh Tuyên Quang (có Danh mục thủ tục hành chính kèm theo).

Điều 2. Giao Sở Y tế thực hiện:

1. Cập nhật, công khai thủ tục hành chính theo Quyết định này trên Cơ sở dữ liệu quốc gia về thủ tục hành chính, Hệ thống thông tin giải quyết thủ tục hành chính tỉnh, Cổng thông tin điện tử tỉnh, Trang thông tin điện tử của Sở và nơi giải quyết thủ tục hành chính theo quy định tại Điều 15 Thông tư số 02/2017/TT- VPCP ngày 31/10/2017 của Bộ trưởng, Chủ nhiệm Văn phòng Chính phủ. Thời hạn hoàn thành trong 03 ngày, kể từ ngày Quyết định có hiệu lực thi hành.

2. Chủ trì, phối hợp với các cơ quan, đơn vị có liên quan hoàn thiện hồ sơ, trình Chủ tịch Ủy ban nhân dân tỉnh công bố quy trình nội bộ, liên thông trong giải quyết thủ tục hành chính nêu tại Điều 1 Quyết định này.

Điều 3. Quyết định này có hiệu lực thi hành kể từ ngày ký.

Bãi bỏ các thủ tục hành chính số thứ tự 128, 129, 130, 131, 134, 135, Mục XI (lĩnh vực Giám định y khoa), Phần A Danh mục thủ tục hành chính ban hành kèm theo Quyết định số 1403/QĐ-UBND ngày 15/9/2021 của Chủ tịch Ủy ban nhân dân tỉnh về việc công bố Danh mục thủ tục hành chính thuộc phạm vi chức năng quản lý của Sở Y tế tỉnh Tuyên Quang.

Điều 4. Chánh Văn phòng Ủy ban nhân dân tỉnh; Giám đốc Sở, Thủ trưởng Ban, Ngành; Chủ tịch Ủy ban nhân dân huyện, thành phố và các cơ quan, tổ chức, cá nhân có liên quan chịu trách nhiệm thi hành Quyết định này./.

 


Nơi nhận:
- Cục KSTTHC-VPCP; (báo cáo)
- Chủ tịch UBND tỉnh;
- Các PCT UBND tỉnh;
- Như điều 4; (thực hiện)
- Các PCVP UBND tỉnh;
- Viễn thông Tuyên Quang;
- Cổng thông tin điện tử tỉnh; (đăng tải)
- Trung tâm PVHCC tỉnh;
- Lưu: VT, THCBKSMai.

KT. CHỦ TỊCH
PHÓ CHỦ TỊCH




Hoàng Việt Phương

 

DANH MỤC

THỦ TỤC HÀNH CHÍNH LĨNH VỰC GIÁM ĐỊNH Y KHOA THUỘC PHẠM VI CHỨC NĂNG QUẢN LÝ CỦA SỞ Y TẾ
(Ban hành kèm theo Quyết định số 942/QĐ-UBND ngày 26 tháng 8 năm 2023 của Chủ tịch Uỷ ban nhân dân tỉnh Tuyên Quang)

I. DANH MỤC THỦ TỤC HÀNH CHÍNH ĐƯỢC THAY THẾ

STT

Tên thủ tục hành chính

Thời hạn giải quyết

Địa điểm thực hiện

Phí, lệ phí

Căn cứ pháp lý

Cách thức thực hiện

Nộp trực tiếp

Dịch vụ BCCI

DVC trực tuyến

1

Khám giám định mức độ khuyết tật đối với trường hợp người khuyết tật hoặc đại diện hợp pháp của người khuyết tật (bao gồm cá nhân, cơ quan, tổ chức) không đồng ý với kết  luận của Hội đồng xác định mức độ khuyết tật(Mã số TTHC 1.011798)

46 ngày làm việc kể từ ngày nhận được hồ sơ hợp lệ

Nộp hồ sơ tại Bộ phận Một cửa UBND cấp huyện, qua một trong các hình thức sau:

- Trực tiếp;

- Dịch vụ bưu chính công ích.

Căn cứ Thông tư số 243/2016/ TT-BTC ngày 11/11/2016 của Bộ trưởng Bộ Y tế quy định mức thu, chế độ thu, nộp, quản lý và sử dụng phí thẩm định cấp giấy giám định y khoa

- Luật người khuyết tật năm 2010;

- Nghị định số 28/2012/NĐ-CP ngày 10/4/2012 của Chính phủ quy định chi tiết và hướng dẫn thi hành một số điều của Luật người khuyết tật;

- Nghị định số 131/2021/NĐ-CP quy định chi tiết và biện pháp thi hành pháp lệnh ưu đãi người có công với cách mạng;

- Nghị định số 95/2022/NĐ-CP ngày 25/11/2022 của Chính phủ quy định chức năng, nhiệm vụ, quyền hạn và cơ cấu tổ chức Bộ Y tế;

- Nghị định số 62/2022/NĐ-CP ngày 12/9/2022 của Chính phủ quy định chức năng, nhiệm vụ, quyền hạn và cơ cấu tổ chức Bộ Lao động - Thương binh và Xã hội;

- Thông tư liên tịch số 34/2012/TTLT-BYT-BLĐTBXH ngày 28/12/2012 của Bộ trưởng Bộ Y tế và Bộ trưởng Bộ Lao động-Thương binh và Xã hội quy định chi tiết về việc xác định mức độ khuyết tật do Hội đồng giám định y khoa thực hiện;

- Thông tư số 01/2023/TT-BYT ngày 01/02/2023 của Bộ trưởng Bộ Y tế quy định chi tiết về hoạt động và mối quan hệ công tác của Hội đồng Giám định y khoa các cấp.

x

x

Một phần

2

Khám giám định đối với trường hợp người khuyết tật hoặc đại diện hợp pháp của người khuyết tật (cá nhân, cơ quan, tổ chức) có bằng chứng xác thực về việc xác định mức độ khuyết tật của Hội đồng xác định mức độ khuyết tật không khách quan, không chính xác(Mã số TTHC 1.011799)

46 ngày làm việc kể từ ngày nhận được hồ sơ hợp lệ

Nộp hồ sơ tại Bộ phận Một cửa UBND cấp huyện, qua một trong các hình thức sau:

- Trực tiếp;

- Dịch vụ bưu chính công ích.

Căn cứ Thông tư số 243/2016/ TT-BTC ngày 11/11/2016 của Bộ trưởng Bộ Y tế quy định mức thu, chế độ thu, nộp, quản lý và sử dụng phí thẩm định cấp giấy giám định y khoa

- Luật người khuyết tật năm 2010;

- Nghị định số 28/2012/NĐ-CP ngày 10/4/2012 của Chính phủ quy định chi tiết và hướng dẫn thi hành một số điều của Luật người khuyết tật;

- Nghị định số 131/2021/NĐ-CP ngày 30 tháng 12 năm 2021 của Chính phủ quy định chi tiết và biện pháp thi hành pháp lệnh ưu đãi người có công với cách mạng;

- Nghị định số 95/2022/NĐ- CP ngày 25/11/2022 của Chính phủ quy định chức năng, nhiệm vụ, quyền hạn và cơ cấu tổ chức Bộ Y tế;

- Nghị định số 62/2022/NĐ-CP ngày 12/9/2022 của Chính phủ quy định chức năng, nhiệm vụ, quyền hạn và cơ cấu tổ chức Bộ Lao động - Thương binh và Xã hội;

- Thông tư liên tịch số 34/2012/TTLT-BYT-BLĐTBXH ngày 28/12/2012 của Bộ trưởng Bộ Y tế và Bộ trưởng Bộ Lao động - Thương binh và Xã hội quy định chi tiết về việc xác định mức độ khuyết tật do Hội đồng giám định y khoa thực hiện;

- Thông tư số 01/2023/TT-BYT ngày 01/02/2023 của Bộ trưởng Bộ Y tế quy định chi tiết về hoạt động và mối quan hệ công tác của Hội đồng Giám định y khoa các cấp.

x

x

Một phần

3

Khám giám định phúc quyết mức độ khuyết tật đối với trường hợp người khuyết tật hoặc đại diện người khuyết tật (cá nhân, cơ quan, tổ chức) không đồng ý với kết luận của Hội đồng Giám định y khoa đã ban hành Biên bản khám giám định(Mã số TTHC 1.011800)

66 ngày làm việc kể từ ngày nhận được hồ sơ hợp lệ

Nộp hồ sơ tại Hội đồng Giám định Y khoa tỉnh (Trung tâm Giám định Y khoa), số 44, đường Lê Duẩn, phường Tân Hà, thành phố Tuyên Quang qua một trong các hình thức sau:

- Trực tiếp;

- Dịch vụ bưu chính công ích.

Căn cứ Thông tư số 243/2016/ TT-BTC ngày 11/11/2016 của Bộ trưởng Bộ Y tế quy định mức thu, chế độ thu, nộp, quản lý và sử dụng phí thẩm định cấp giấy giám định y khoa

- Luật người khuyết tật năm 2010;

- Nghị định số 28/2012/NĐ-CP ngày 10/4/2012 của Chính phủ quy định chi tiết và hướng dẫn thi hành một số điều của Luật người khuyết tật;

- Nghị định số 131/2021/NĐ-CP quy định chi tiết và biện pháp thi hành pháp lệnh ưu đãi người có công với cách mạng;

- Nghị định số 95/2022/NĐ-CP ngày 25/11/2022 của Chính phủ quy định chức năng, nhiệm vụ, quyền hạn và cơ cấu tổ chức Bộ Y tế;

- Nghị định số 62/2022/NĐ-CP ngày 12/9/2022 của Chính phủ quy định chức năng, nhiệm vụ, quyền hạn và cơ cấu tổ chức Bộ Lao động - Thương binh và Xã hội;

- Thông tư liên tịch số 34/2012/TTLT-BYT-BLĐTBXH ngày 28/12/2012 của Bộ trưởng Bộ Y tế và Bộ trưởng Bộ Lao động -Thương binh và Xã hội quy định chi tiết về việc xác định mức độ khuyết tật do Hội đồng giám định y khoa thực hiện;

- Thông tư số 01/2023/TT-BYT ngày 01/02/2023 của Bộ trưởng Bộ Y tế quy định chi tiết về hoạt động và mối quan hệ công tác của Hội đồng Giám định y khoa các cấp.

x

x

Một phần

II. DANH MỤC THỦ TỤC HÀNH CHÍNH BỊ BÃI BỎ

STT

Tên thủ tục hành chính

Tên VBPQPL quy định TTHC bị bãi bỏ

1

Khám giám định mức độ khuyết tật đối với trường hợp người khuyết tật không đồng ý với kết luận của Hội đồng xác định mức độ khuyết tật (mã số TTHC: 1.000278)

Thông tư liên tịch số 34/2012/TTLT - BYT -BLĐTBXH ngày 28/12/2012 của Bộ trưởng Bộ Y tế và Bộ trưởng Bộ Lao động - Thương binh và Xã hội quy định chi tiết về việc xác định mức độ khuyết tật do Hội đồng giám định y khoa thực hiện

2

Khám giám định mức độ khuyết tật đối với trường hợp đại diện hợp pháp của người khuyết tật (bao gồm cá nhân, cơ quan, tổ chức) không đồng ý với kết luận của Hội đồng xác định mức độ khuyết tật (mã số TTHC: 1.000276)

3

Khám giám định đối với trường hợp người khuyết tật có bằng chứng xác thực về việc xác định mức độ khuyết tật của Hội đồng xác định mức độ khuyết tật không khách quan, không chính xác (mã số TTHC: 1.000272)

4

Khám giám định đối với trường hợp đại diện hợp pháp của người khuyết tật (cá nhân, cơ quan, tổ chức) có bằng chứng xác thực về việc xác định mức độ khuyết tật của Hội đồng xác định mức độ khuyết tật không khách quan, không chính xác (mã số TTHC: 1.000269)

5

Khám giám định phúc quyết mức độ khuyết tật đối với trường hợp người khuyết tật không đồng ý với kết luận của Hội đồng Giám định y khoa đã ban hành Biên bản khám giám định (mã số TTHC: 1 000262)

6

Khám giám định phúc quyết mức độ khuyết tật đối với trường hợp đại diện người khuyết tật (cá nhân, cơ quan, tổ chức) không đồng ý với kết luận của Hội đồng Giám định y khoa đã ban hành Biên bản khám giám định (mã số TTHC: 1.000101)

 



/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 }); */ }