Hệ thống pháp luật

ỦY BAN NHÂN DÂN
TỈNH THANH HÓA
-------

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

Số: 2556/QĐ-UBND

Thanh Hóa, ngày 18 tháng 7 năm 2023

 

QUYẾT ĐỊNH

VỀ VIỆC CÔNG BỐ DANH MỤC THỦ TỤC HÀNH CHÍNH ĐƯỢC SỬA ĐỔI, BỔ SUNG TRONG LĨNH VỰC GIÁM ĐỊNH Y KHOA THUỘC PHẠM VI CHỨC NĂNG QUẢN LÝ NHÀ NƯỚC CỦA SỞ Y TẾ TỈNH THANH HÓA

CHỦ TỊCH ỦY BAN NHÂN DÂN TỈNH THANH HÓA

Căn cứ Luật Tổ chức chính quyền địa phương 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ủ 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ứ 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 số 2285/QĐ-BYT ngày 23/5/2023 của Bộ Y tế về việc công bố 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 Bộ Y tế được sửa đổi, bổ sung theo quy định tại Thông tư số 18/2022/TT-BYT ngày 31 tháng 12 năm 2022 của Bộ Y tế;

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

QUYẾT ĐỊNH:

Điều 1. Công bố kèm theo Quyết định này Danh mục 09 thủ tục hành chính được sửa đổi, bổ sung trong lĩnh vực Giám định y khoa thuộc phạm vi chức năng quản lý nhà nước của Sở Y tế tỉnh Thanh Hóa.

(có Danh mục kèm theo)Điều 2. Quyết định này có hiệu lực thi hành kể từ ngày ký.

Chánh Văn phòng UBND tỉnh, Giám đốc Sở Y tế, Giám đốc Trung tâm Phục vụ hành chính công tỉnh, Thủ trưởng các cơ quan, đơn vị và các 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:
- Như Điều 2 Quyết định;
- Cục Kiểm soát TTHC-VPCP (bản điện tử);
- Chủ tịch UBND tỉnh (để b/c);
- Cổng thông tin điện tử tỉnh (để đăng tải);
- Lưu: VT, KSTTHCNC.

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




Nguyễn Văn Thi

 

DANH MỤC

THỦ TỤC HÀNH CHÍNH ĐƯỢC SỬA ĐỔI, BỔ SUNG TRONG LĨNH VỰC GIÁM ĐỊNH Y KHOA THUỘC PHẠM VI CHỨC NĂNG QUẢN LÝ NHÀ NƯỚC CỦA SỞ Y TẾ TỈNH THANH HÓA
(kèm theo Quyết định số: 2556/QĐ-UBND ngày 18/7/2023 của Chủ tịch UBND tỉnh Thanh Hóa)

Sửa đổi, bổ sung 09 TTHC tại Quyết định số 3084/QĐ-UBND ngày 16/8/2018 của Chủ tịch UBND tỉnh về việc công bố Danh mục TTHC mới ban hành lĩnh vực giám định y khoa thuộc thẩm quyền giải quyết của Sở Y tế tỉnh Thanh Hóa.

STT

Tên TTHC

(Mã TTHC)

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

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

Phí , lệ phí

(nếu có)

Căn cứ pháp lý

Nội dung được sửa đổi, bổ sung

Lĩnh vực Giám định y khoa

1.

Khám giám định thương tật lần đầu do tai nạn lao động (1.002706.000. 00.00.H56)

60 ngày

Bộ phận tiếp nhận và trả kết quả tại Trung tâm Giám định Y khoa, số 181 Hải Thượng Lãn Ông, phường Đông Vệ, thành phố Thanh Hóa, tỉnh Thanh Hóa

Phí thẩm định: Căn cứ Thông tư số 243/2016/TT-BTC ngày 11/11/2016 của 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, cụ thể như sau:

STT

Nội dung

Mức thu (đng/trưng hp)

1

Khám lâm sàng phc vụ giám định y khoa

 

 

Trưng hợp khám giám đnh thông thưng

1.150.000

2

Khám cn lâm sàng phục vụ giám đnh y khoa

 

2.1

Ghi đin não đồ

 

 

Trường hợp khám giám định thông thường

155.000

2.2

Siêu âm 2D

 

 

Trường hợp khám giám định thông thường

150.000

2.3

Siêu âm 3D, 4D

 

 

Trường hợp khám giám định thông thường

250.000

2.4

Ghi điện tâm đồ

 

 

Trường hợp khám giám định thông thường

135.000

2.5

Chụp phim X-quang

 

 

Trường hợp khám giám định thông thường

165.000

2.6

Chụp CT Scanner

 

 

Trường hợp khám giám định thông thường

1.102.000

2.7

Chụp cộng hưởng từ (MRI)

 

 

Trường hợp khám giám định thông thường

1.702.000

2.8

Chụp cắt lớp 3D (MSCT)

 

 

Trường hợp khám giám định thông thường

2.772.000

2.9

Đo thông khí phổi

 

 

Trường hợp khám giám định thông thường

135.000

2.10

Đo điện cơ

 

 

Trường hợp khám giám định thông thường

185.000

2.11

Các xét nghiệm thường quy: Bao gồm làm một hoặc các xét nghiệm cơ bản, thông thường, như: Công thức máu; các xét nghiệm máu về các chỉ số sinh hóa cơ bản (Glucose, Ure, Creatinin axít Uric), FT3, FT4, TSH, điện giải đồ, nước tiểu 10 thông số

 

 

Trường hợp khám giám định thông thường (lần đầu)

135.000

2.12

Các xét nghiệm khác: Bao gồm làm một hoặc không quá ba chỉ số sinh hóa đặc biệt, như: Protein, Albumin, Globulin, Cholesterol toàn phần, Triglycerit, HbAlC, SGOT, SGPT, HBsAg, HIV (test nhanh), HDL, LDL, Cho, αFP, PSA.T, PSA.F, PTH, CEA, Cyfra 21-1, Pro BNP, Pro GRT, LDH, AFP, HbeAg, Anti HBV, Anti HBE, Anti HCV, nghiệm pháp tăng đường huyết, xét nghiệm tim BK

 

 

Trường hợp khám giám định thông thường (lần đầu)

153.000

2.13

Các chỉ số xét nghiệm nước tiểu: Tổng phân tích nước tiểu, phorphyrin (định tính), Protein niệu, Creatinin niệu, Amylase niệu, Photphotaza kiềm, lipase, điện giải đồ niệu, ly tâm nước dịch chẩn đoán tế bào:

 

 

Trường hợp khám giám định thông thường (lần đầu)

200.000

2.14

Đo thính lực đơn âm, đo nhĩ lượng, đo phản xạ gân cơ bàn đạp, đo điện thính giác thân não (ABR), đo âm ốc tai (OAE), đo đáp ứng trạng thái bền vững thính giác (ABSR):

 

 

Trường hợp khám giám định thông thường (lần đầu)

500.000

- Luật vệ sinh an toàn lao động năm 2015.

- Luật Bảo hiểm xã hội năm 2014.

- 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.

- Thông tư 18/2022/ TT-BYT ngày 31 tháng 12 năm 2022 của Bộ trưởng Bộ Y tế sửa đổi, bổ sung một số điều của Thông tư số 56/2017/TT-BYT ngày 29 tháng 12 năm 2017 của Bộ trưởng Bộ Y tế quy định chi tiết thi hành Luật bảo hiểm xã hội và Luật an toàn vệ sinh lao động thuộc lĩnh vực y tế.

- Thông tư số 56/2017/TT- BYT ngày 29 tháng 12 năm 2017 của Bộ trưởng Bộ Y tế quy định chi tiết thi hành Luật bảo hiểm xã hội và Luật an toàn vệ sinh lao động thuộc lĩnh vực y tế.

- Thông tư số 243/2016/TT- BTC ngày 11 tháng 11 năm 2016 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.

- Thông tư số 01/2023/TT- BYT ngày 01 tháng 02 năm 2023 của 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.

Trình tự thực hiện; Thành phần hồ sơ; Thời hạn giải quyết; Mẫu đơn, tờ khai; Căn cứ pháp lý

2

Hồ sơ khám giám định để thực hiện chế độ hưu trí đối với người lao động

(1.002671. 000.00.00.H56)

60 ngày

Bộ phận tiếp nhận và trả kết quả tại Trung tâm Giám định Y khoa, số 181 Hải Thượng Lãn Ông, phường Đông Vệ, thành phố Thanh Hóa, tỉnh Thanh Hóa

Tên TTHC; Trình tự thực hiện; Thành phần hồ sơ; Thời hạn giải quyết; Mẫu đơn, tờ khai; Căn cứ pháp lý

3

Hồ sơ khám giám định để thực hiện chế độ tử tuất (1.002208. 000.00.00.H56)

60 ngày

Bộ phận tiếp nhận và trả kết quả tại Trung tâm Giám định Y khoa, số 181 Hải Thượng Lãn Ông, phường Đông Vệ, thành phố Thanh Hóa, tỉnh Thanh Hóa

Tên TTHC; Trình tự thực hiện; Thành phần hồ sơ; Thời hạn giải quyết; Mẫu đơn, tờ khai; Căn cứ pháp lý

4

Khám giám định để xác định lao động nữ không đủ sức khỏe để chăm sóc con sau khi sinh hoặc sau khi nhận con do nhờ người mang thai hộ hoặc phải nghỉ dưỡng thai (1.002190. 000.00.00.H56)

60 ngày

Bộ phận tiếp nhận và trả kết quả tại Trung tâm Giám định Y khoa, số 181 Hải Thượng Lãn Ông, phường Đông Vệ, thành phố Thanh Hóa, tỉnh Thanh Hóa

Trình tự thực hiện; Thành phần hồ sơ; Thời hạn giải quyết; Mẫu đơn, tờ khai; Căn cứ pháp lý

5

Hồ sơ khám giám định để hưởng bảo hiểm xã hội một lần

(1.002168. 000.00.00.H56)

60 ngày

Bộ phận tiếp nhận và trả kết quả tại Trung tâm Giám định Y khoa, số 181 Hải Thượng Lãn Ông, phường Đông Vệ, thành phố Thanh Hóa, tỉnh Thanh Hóa

Tên TTHC; Trình tự thực hiện; Thành phần hồ sơ;

Thời hạn giải quyết; Mẫu đơn, tờ khai; Căn cứ pháp lý

6

Khám giám định lại bệnh nghề nghiệp tái phát (1.002136. 000.00.00.H56)

60 ngày

Bộ phận tiếp nhận và trả kết quả tại Trung tâm Giám định Y khoa, số 181 Hải Thượng Lãn Ông, phường Đông Vệ, thành phố Thanh Hóa, tỉnh Thanh Hóa

Trình tự thực hiện; Thành phần hồ sơ; Thời hạn giải quyết; Mẫu đơn, tờ khai; Căn cứ pháp lý

7

Khám giám định lần đầu do bệnh nghề nghiệp (1.002694. 000.00.00.H56)

60 ngày

Bộ phận tiếp nhận và trả kết quả tại Trung tâm Giám định Y khoa, số 181 Hải Thượng Lãn Ông, phường Đông Vệ, thành phố Thanh Hóa, tỉnh Thanh Hóa

Trình tự thực hiện; Thành phần hồ sơ; Thời hạn giải quyết; Mẫu đơn, tờ khai; Căn cứ pháp lý

8

Khám giám định lại đối với trường hợp tái phát tổn thương do tai nạn lao động (1.002146. 000.00.00.H56)

60 ngày

Bộ phận tiếp nhận và trả kết quả tại Trung tâm Giám định Y khoa, số 181 Hải Thượng Lãn Ông, phường Đông Vệ, thành phố Thanh Hóa, tỉnh Thanh Hóa

Trình tự thực hiện; Thành phần hồ sơ; Thời hạn giải quyết; Mẫu đơn, tờ khai; Căn cứ pháp lý

9

Khám giám định tổng hợp (1.002118. 000.00.00.H56)

60 ngày

Bộ phận tiếp nhận và trả kết quả tại Trung tâm Giám định Y khoa, số 181 Hải Thượng Lãn Ông, phường Đông Vệ, thành phố Thanh Hóa, tỉnh Thanh Hóa

Trình tự thực hiện; Thành phần hồ sơ; Thời hạn giải quyết; Mẫu đơn, tờ khai; Căn cứ pháp lý

 



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