Hệ thống pháp luật

ỦY BAN NHÂN DÂN
THÀNH PHỐ HÀ NỘI
-------

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

Số: 96/KH-UBND

Hà Nội, ngày 21 tháng 3 năm 2023

 

KẾ HOẠCH

TRIỂN KHAI XÂY DỰNG ĐỀ ÁN VỊ TRÍ VIỆC LÀM TRONG CÁC CƠ QUAN, TỔ CHỨC HÀNH CHÍNH VÀ ĐƠN VỊ SỰ NGHIỆP CÔNG LẬP THUỘC UBND THÀNH PHỐ HÀ NỘI

Thực hiện Kết luận số 28-KL/TW ngày 21/02/2022 của Bộ Chính trị về tinh giản biên chế và cơ cấu lại đội ngũ cán bộ, công chức, viên chứ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 (sau đây viết tắt là Nghị định số 62/2020/NĐ-CP); 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 (sau đây viết tắt là Nghị định số 106/2020/NĐ-CP);

Căn cứ Thông tư hướng dẫn của Bộ Nội vụ, các Bộ chuyên ngành về vị trí việc làm và các Quyết định của UBND Thành phố quy định chức năng, nhiệm vụ, quyền hạn, cơ cấu tổ chức của các sở, ban, ngành, đơn vị sự nghiệp công lập;

UBND Thành phố ban hành Kế hoạch triển khai xây dựng Đề án vị trí việc làm theo các Nghị định số 62/2020/NĐ-CP và Nghị định số 106/2020/NĐ-CP của Chính phủ, cụ thể như sau:

I. MỤC ĐÍCH, YÊU CẦU

1. Mục đích

a) Xây dựng vị trí việc làm là cơ sở để cơ quan, đơn vị rà soát lại cơ cấu tổ chức, cách thức bố trí, phân công nhiệm vụ cho các phòng, ban, đơn vị trực thuộc; xác định vị trí việc làm trong tổ chức gắn với việc thực hiện chức năng, nhiệm vụ của cơ quan, đơn vị.

b) Sắp xếp, bố trí lại đội ngũ cán bộ, công chức, viên chức, người lao động trong các cơ quan, đơn vị phù hợp, đảm bảo cơ cấu ngạch, chức danh nghề nghiệp hợp lý, đáp ứng yêu cầu, nhiệm vụ được giao.

c) Căn cứ Đề án vị trí việc làm được phê duyệt, cơ quan, đơn vị thực hiện tuyển dụng, quản lý, đào tạo, kiểm tra, đánh giá, quy hoạch, nâng ngạch, thăng hạng, đào tạo, bồi dưỡng... đội ngũ cán bộ, công chức, viên chức và tiến tới cải cách tiền lương hiệu quả.

2. Yêu cầu

a) Tuân thủ các quy định của Đảng, của pháp luật về vị trí việc làm, quản lý, sử dụng biên chế công chức, số lượng người làm việc và tinh giản biên chế trong cơ quan hành chính và đơn vị sự nghiệp công lập.

b) Xác định vị trí việc làm phù hợp với chức năng, nhiệm vụ, quyền hạn và cơ cấu tổ chức của cơ quan, tổ chức. Khi xây dựng vị trí việc làm phải xác định được đặc điểm, đặc thù, tính phức tạp và tiêu chuẩn chuyên môn, nghiệp vụ, trình độ chuyên môn nghiệp vụ cần thiết để thực hiện công việc, đảm bảo có tính chất phân hóa trong danh mục vị trí việc làm của cơ quan, đơn vị.

Xác định một người làm việc phải được giao đủ khối lượng công việc để thực hiện theo thời gian lao động quy định. Những vị trí việc làm không có đủ khối lượng công việc để thực hiện theo thời gian quy định của một người làm việc thì phải bố trí kiêm nhiệm, căn cứ để xác định yêu cầu vị trí việc làm là nhiệm vụ chính được giao.

c) Cơ cấu ngạch công chức, cơ cấu chức danh nghề nghiệp viên chức được xác định căn cứ vào danh mục vị trí việc làm, mức độ phức tạp của công việc và số lượng biên chế công chức hoặc viên chức cần bố trí theo từng vị trí việc làm và tiêu chuẩn chức danh ngạch công chức chuyên ngành hoặc cơ cấu chức danh nghề nghiệp viên chức tương ứng với vị trí việc làm.

d) Thống nhất, đồng bộ giữa xác định vị trí việc làm, cơ cấu ngạch công chức với sử dụng và quản lý biên chế công chức, cơ cấu chức danh nghề nghiệp với sử dụng và quản lý số lượng người làm việc. Vị trí việc làm gắn với biên chế công chức, số lượng người làm việc đảm bảo phù hợp với số biên chế hiện được giao và gắn với tinh giản biên chế theo giai đoạn.

đ) Bảo đảm tính khoa học, khách quan, công khai, minh bạch, dân chủ, phù hợp với thực tiễn và nâng cao chất lượng đội ngũ viên chức, người lao động trong cơ quan, tổ chức hành chính và đơn vị sự nghiệp công lập.

II. ĐỐI TƯỢNG VÀ NỘI DUNG THỰC HIỆN

1. Về nghiên cứu, quán triệt và tuyên truyền

a) Thủ trưởng các sở, ban, ngành và Chủ tịch UBND các quận, huyện, thị xã tổ chức triển khai nghiên cứu, quán triệt các nội dung của Nghị định số 62/2020/NĐ-CP, Nghị định số 106/2020/NĐ-CP và các văn bản liên quan đến toàn thể đội ngũ cán bộ, công chức, viên chức và người lao động thuộc thẩm quyền quản lý.

b) Thủ trưởng các Đơn vị sự nghiệp công lập thuộc UBND Thành phố tổ chức triển khai nghiên cứu, quán triệt các nội dung của Nghị định số 106/2020/NĐ-CP và các văn bản liên quan đến toàn thể đội ngũ viên chức, người lao động thuộc thẩm quyền quản lý.

2. Đối với các cơ quan, tổ chức hành chính

a) Thực hiện rà soát, xác định danh mục vị trí việc làm và xây dựng cơ cấu ngạch của các sở, ngành, UBND quận, huyện, thị xã cho phù hợp với chức năng, nhiệm vụ, cơ cấu tổ chức bộ máy sau khi được kiện toàn theo Nghị định số 107/2020/NĐ-CPb) Xây dựng Đề án vị trí việc làm của các đơn vị theo quy định tại Nghị định số 62/2020/NĐ-CP và hệ thống các biểu mẫu theo Thông tư số 12/2022/TT- BNVc) Gửi Sở Nội vụ thẩm định, phê duyệt đề án vị trí việc làm theo thẩm quyền; báo cáo kết quả thực hiện và đề xuất các biện pháp giải quyết những khó khăn, vướng mắc trong quá trình triển khai tại cơ sở.

3. Đối với các đơn vị sự nghiệp

a) Thực hiện rà soát, xác định danh mục vị trí việc làm và xây dựng cơ cấu chức danh nghiệp của các đơn vị sự nghiệp công lập cho phù hợp với chức năng, nhiệm vụ, cơ cấu tổ chức bộ máy sau khi được kiện toàn theo Nghị định số 120/2020/NĐ-CPb) Xây dựng Đề án vị trí việc làm của các đơn vị theo quy định tại Nghị định số 106/2022/NĐ-CP, hệ thống các biểu mẫu theo Thông tư số 12/2022/TT-BNV và Thông tư hướng dẫn của các Bộ chuyên ngành. Tập trung xây dựng bản mô tả công việc và khung năng lực của từng vị trí việc làm, trên cơ sở đó làm căn cứ để xây dựng phương án sắp xếp đội ngũ viên chức, người lao động cho phù hợp.

c) Gửi Sở Nội vụ thẩm định, phê duyệt đề án vị trí việc làm theo thẩm quyền hoặc Sở Nội vụ có ý kiến bằng Văn bản đối với đơn vị sự nghiệp công lập tự chủ chi thường xuyên; báo cáo kết quả thực hiện và đề xuất các biện pháp giải quyết những khó khăn, vướng mắc trong quá trình triển khai tại cơ sở.

III. TRÌNH TỰ THỰC HIỆN

1. Các Sở, ban, ngành, UBND các quận, huyện, thị xã, các đơn vị sự nghiệp thuộc UBND Thành phố xây dựng Đề án vị trí việc làm, gửi Sở Nội vụ thẩm định, phê duyệt hoặc Sở Nội vụ có ý kiến về đề án vị trí việc làm trước khi các cơ quan, đơn vị ban hành Quyết định theo thẩm quyền.

2. Trong thời hạn theo quy định của pháp luật kể từ ngày nhận đủ hồ sơ, Sở Nội vụ có trách nhiệm hoàn thành việc thẩm định và ban hành:

- Quyết định phê duyệt Đề án vị trí việc làm đối với cơ quan, tổ chức hành chính và đơn vị sự nghiệp công lập tự bảo đảm một phần chi thường xuyên và đơn vị sự nghiệp công lập do ngân sách nhà nước bảo đảm chi thường xuyên (theo ủy quyền của UBND Thành phố).

- Văn bản cho ý kiến đối với đơn vị sự nghiệp công lập tự bảo đảm chi thường xuyên để đơn vị ban hành Quyết định phê duyệt theo thẩm quyền.

3. Sau khi có Quyết định phê duyệt Đề án vị trí việc làm, các cơ quan, đơn vị thực hiện rà soát biên chế, số lượng người làm việc đảm bảo tỷ lệ tinh giản theo giai đoạn 2023-2026; thực hiện việc tuyển dụng, bố trí, sử dụng, quy hoạch, nâng ngạch, thăng hạng, đào tạo, bồi dưỡng... đội ngũ công chức, viên chức, người lao động thuộc cơ quan, đơn vị theo đề án vị trí việc làm đã được phê duyệt.

IV. TỔ CHỨC THỰC HIỆN

1. Các Sở, ban, ngành, UBND các quận, huyện, thị xã, các đơn vị sự nghiệp thuộc UBND Thành phố

a) Nghiên cứu nội dung Kế hoạch, tổ chức triển khai tuyên truyền, quán triệt (Hội nghị hoặc bằng Văn bản). Căn cứ các nội dung tại Kế hoạch này, chủ động xây dựng kế hoạch triển khai thực hiện đảm bảo tiến độ và chất lượng.

b) Khi Thông tư của các Bộ chuyên ngành có liên quan ban hành, các cơ quan, đơn vị căn cứ chức năng, nhiệm vụ, cơ cấu tổ chức bộ máy và phạm vi, tính chất nhiệm vụ được giao, rà soát, xây dựng đề án vị trí việc làm của cơ quan, đơn vị theo hướng dẫn của Sở Nội vụ.

Từ thời điểm Thông tư của các Bộ chuyên ngành có liên quan bắt đầu có hiệu lực, chậm nhất trong 30 ngày làm việc, cơ quan, đơn vị trình Đề án vị trí việc làm báo cáo cấp có thẩm quyền xem xét, phê duyệt.

c) Người đứng đầu các cơ quan, tổ chức hành chính, đơn vị sự nghiệp công lập, thực hiện không đúng quy định tại Nghị định số 62/2020/NĐ-CP và Nghị định số 106/2020/NĐ-CP thì bị xem xét đánh giá, xếp loại ở mức hoàn thành nhiệm vụ hằng năm và xử lý trách nhiệm theo quy định của Đảng và của pháp luật.

2. Sở Nội vụ

a) Ban hành Văn bản hướng dẫn các Sở, ban, ngành, UBND các quận, huyện, thị xã, đơn vị sự nghiệp công lập thuộc UBND Thành phố triển khai thực hiện đề án vị trí việc làm.

b) Kiểm tra, đôn đốc các Sở, ban, ngành, UBND các quận, huyện, thị xã, đơn vị sự nghiệp công lập thuộc UBND Thành phố thực hiện việc hoàn thiện Đề án vị trí việc làm theo quy định hiện hành, đảm bảo phù hợp với chức năng, nhiệm vụ, cơ cấu tổ chức bộ máy và mức độ phức tạp, tính chất, đặc điểm, quy mô hoạt động của cơ quan, đơn vị.

c) Tổng hợp báo cáo UBND Thành phố kết quả thực hiện của các đơn vị; kiến nghị, đề xuất các biện pháp giải quyết những khó khăn, vướng mắc trong quá trình thực hiện nhiệm vụ.

d) Tổ chức thẩm định Đề án vị trí việc làm của các cơ quan, đơn vị, phê duyệt theo thẩm quyền hoặc có Văn bản cho ý kiến về Đề án vị trí việc làm để cơ quan, đơn vị ban hành Quyết định phê duyệt.

đ) Tham mưu UBND Thành phố đánh giá xếp loại người đứng đầu các cơ quan, đơn vị thuộc Thành phố trong việc thực hiện nhiệm vụ được giao về hoàn thiện Đề án vị trí việc làm của cơ quan, đơn vị.

3. Ban Thi đua - Khen thưởng (Sở Nội vụ)

Nghiên cứu đưa kết quả thực hiện Kế hoạch hoàn thiện Đề án vị trí việc làm trong các cơ quan, tổ chức hành chính và Đề án vị trí việc làm trong các đơn vị sự nghiệp công lập của các cơ quan, đơn vị thành một trong các tiêu chí để bình xét khen thưởng hằng năm.

Trong quá trình tổ chức thực hiện Kế hoạch này, nếu có khó khăn, vướng mắc, các cơ quan, đơn vị chủ động đề xuất, gửi Sở Nội vụ để tổng hợp và báo cáo UBND Thành phố xem xét, quyết định./.

 


Nơi nhận:
- Thường trực Thành ủy (để b/c);
- Bộ Nội vụ (để b/c);
- Chủ tịch UBND Thành phố;
- Các Phó Chủ tịch UBND TP;
- Các Sở, ban, ngành Thành phố;
- UBND quận, huyện, thị xã;
- Đơn vị sự nghiệp thuộc TP;
- VP UBNDTP: CVP, các PCVP; NC, TH;
- Lưu: VT, SNV.

TM. ỦY BAN NHÂN DÂN
KT. CHỦ TỊCH
PHÓ CHỦ TỊCH




Lê Hồng Sơn

 



span', 'dctk > span', 'dctd > span']; var hasChild = selectors.some(function(selector) { return clickedElement.closest(selector).find('span').length > 0; }); if (!hasChild) { 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])) { superLevel++; 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); }); var totalSubLevels = closestElement.find('span').length + 1; var parent_id = closestElement.parent().attr('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) { var dynamicVars = {}; var variableName = 'parent_id_' + level; dynamicVars[variableName] = parent_id; var buble_id = dynamicVars[variableName]; } else { buble_id = 'dc_' + $(this).parent().attr('id'); } 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')) { } if ($pointer.is(':visible')) { } else { if ($('#ajax_tra_cuu').is(':visible')) { $('#ajax_tra_cuu').hide(); } $("#right_info_col").css('height', '1px'); $('#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 { } } if ($pointy.is(':visible')) { var $pointer = $canvas.next('.pointer'); if ($pointer.is(':visible')) { $pointer.hide(); $canvas.hide(); } else { } } else { if ($canvas.length==1) { var $canvas = $this.next('canvas'); var $pointer = $canvas.next('.pointer'); if ($pointer.length>0) { $pointer.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(); if ($pointy.length==0) { var elementOffset = $(this).position().top; var windowHeight = $(window).height()-20 - $('#nav-tab-vb').height(); if (level>0 && e.originalEvent === undefined) { //clicked by js var pointerHeight = Math.max(250, Math.min((windowHeight * 0.8)/(level+1), 450)); var newTop = elementOffset - (pointerHeight / 2); var maxTop = $(document).height() - pointerHeight; newTop = Math.max(0, Math.min(newTop, maxTop)); } else { var pointerHeight = Math.max(250, Math.min((windowHeight * 0.8)/totalSubLevels, 450)); var newTop = elementOffset - (pointerHeight / 2); var maxTop = $(document).height() - pointerHeight; newTop = Math.max(0, Math.min(newTop, maxTop)); } if (level>0 && e.originalEvent === undefined) { newTop = newTop+pointerHeight+10; } var position = $this.position(); $pointer.css({ left: $('#doc-left-col, #noi_dung_dk').width() + 50 + "px", width: $('#doc-right-col').width()-30, height: pointerHeight, 'z-index': 9999, top: newTop + "px" }); $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'); } }); $pointer.on('click', '.close_pointy', function(e) { $pointer.hide(); $pointer.prev('canvas.pointy').hide(); }); var isDragging = false, startX, startY, offsetX, offsetY; var startDragging = function(e) { if (checkIfScrollingContent(e)) return; if ($(e.target).is('.close_pointy')) { 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; if (newLeft < 0) { newLeft = 0; } else if (newLeft + $pointer.outerWidth() > $(window).width()) { newLeft = $(window).width() - $pointer.outerWidth(); } 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; 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) { if ($(e.target).closest('.list_tds').length > 0) { //e.stopPropagation(); return true; } return false; } $pointer.on('touchstart', startDragging); $pointer.on('touchmove', duringDragging); $pointer.on('touchend', stopDragging); var updatePointerPosition = function() { var offset = $this.position(); var windowHeight = $(window).height() - $('#nav-tab-vb').height()-20; var pointerHeight = Math.max(250, Math.min((windowHeight * 0.8)/totalSubLevels, 450)); var elementOffset = $this.position().top; var newTop = elementOffset - (pointerHeight / 2); var maxTop = $(document).height() - pointerHeight; newTop = Math.max(0, Math.min(newTop, maxTop)); $pointer.css({ left: $('#doc-left-col, #noi_dung_dk').width() + 50 + "px", width: $('#doc-right-col').width() - 30, height: pointerHeight, top: newTop + "px" }); }; $(window).on('resize orientationchange', function() { updatePointerPosition(); 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'); 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('#chu_thich_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_'+buble_id+'_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); } }); $('#noi_dung_buble_'+buble_id + ' .dc_loading').addClass('dc_'+buble_id+'_loading'); } },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');} } }); } } $('.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)/totalSubLevels, 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)/totalSubLevels, 450)); $pointer.find('.list_tds').css('max-height', pointerHeight + 'px'); clearInterval(list_tds_max_height_interval); } },50); }); var parentElement = $(this).parent(); 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; } let lastChosen = null; let lastChosentr = null; function scroll_den_hd(ndsh_dich_address) { if (lastChosen) { $(lastChosen).css('background-color', ''); } if (lastChosentr) { $(lastChosentr).css('background-color', ''); } lastChosen = $('[href="javascript:scroll_den_hd(\'' + ndsh_dich_address + '\')"]'); lastChosentr = $('[data-ct="' + ndsh_dich_address + '"]'); $(lastChosen).css('background-color', 'yellow'); $(lastChosentr).css('background-color', 'yellow'); 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(); } $(document).ready(function() { $(document).on('click', 'cttd.chuthichtudong span, a.chuthichtudong span, dctk span, dctd span', function() { $('#modal_noi_dung_tra_phi .modal-dialog.zoom').removeAttr('style'); openModal('#modal_noi_dung_tra_phi','/ajax/member/m-register/'); $('.pointer, canvas').css({ 'z-index': '50', 'important': true }); }); });