Hệ thống pháp luật

ỦY BAN NHÂN DÂN
TỈNH BÌNH ĐỊNH
-------

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

Số: 148/KH-UBND

Bình Định, ngày 29 tháng 08 năm 2023

 

KẾ HOẠCH

BẢO TỒN VÀ PHÁT TRIỂN LÀNG NGHỀ ĐẾN NĂM 2025, ĐỊNH HƯỚNG ĐẾN NĂM 2030 TRÊN ĐỊA BÀN TỈNH BÌNH ĐỊNH

Căn cứ Nghị định số 52/2018/NĐ-CP ngày 12/4/2018 của Chính phủ về phát triển ngành nghề nông thôn;

Căn cứ Quyết định số 801/QĐ-TTg ngày 07/7/2022 của Thủ tướng Chính phủ phê duyệt Chương trình bảo tồn và phát triển làng nghề Việt Nam giai đoạn 2021-2030;

Căn cứ Quyết định số 40/2019/QĐ-UBND ngày 19/7/2019 của UBND tỉnh quy định chính sách hỗ trợ phát triển làng nghề, ngành nghề nông thôn trên địa bàn tỉnh Bình Định giai đoạn 2019-2025;

Căn cứ Kế hoạch số 116/KH-UBND ngày 16/8/2022 của UBND tỉnh phát triển ngành nghề nông thôn, làng nghề trên địa bàn tỉnh Bình Định giai đoạn 2022-2025;

UBND tỉnh ban hành Kế hoạch bảo tồn và phát triển làng nghề đến năm 2025, định hướng đến năm 2030 trên địa bàn tỉnh Bình Định, cụ thể như sau:

I. THỰC TRẠNG PHÁT TRIỂN LÀNG NGHỀ

Trên địa bàn tỉnh hiện có 42 làng nghề, làng nghề truyền thống đang hoạt độngCác cơ sở làng nghề trên địa bàn tỉnh chủ yếu là loại hình kinh tế hộ gia đình, kinh tế cá thể. Năm 2022, doanh thu của các làng nghề đạt khoảng 618 tỷ đồng; thu nhập bình quân của người lao động trong các làng nghề bình quân 3,5 triệu đồng/thángPhát triển làng nghề đã tạo điều kiện các hộ gia đình ở nông thôn tiếp tục duy trì, phát triển nghề, làng nghề; tận dụng tốt lao động nhàn rỗi phát triển kinh tế, góp phần tăng thu nhập, nâng cao đời sống vật chất, tinh thần của người dân; bảo tồn sản phẩm nghề, thực hiện chủ trương “ly nông bất ly hương” góp phần quan trọng giữ gìn bảo tồn nét văn hóa địa phương, phục vụ du lịch và Chương trình xây dựng nông thôn mới.

Bên cạnh những mặt đạt được thì sự phát triển của các làng nghề, làng nghề truyền thống trên địa bàn tỉnh cũng còn gặp nhiều khó khăn: hình thức tổ chức sản xuất quy mô nhỏ, chưa đa dạng sản phẩm, thiếu sự liên kết; thị trường chủ yếu tiêu thụ trong tỉnh và một số tỉnh lân cận; thiết bị công nghệ sản xuất lạc hậu, lãng phí nguyên liệu, năng suất lao động thấp; thiếu mặt bằng sản xuất, cơ sở hạ tầng làng nghề chưa đồng bộ; chậm đổi mới; nhiều làng nghề có nguy cơ mai một, thất truyền…

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

1. Mục đích

- Nâng cao nhận thức của các cấp, ngành từ tỉnh đến cấp xã và của nhân dân trên địa bàn tỉnh về tầm quan trọng của phát triển làng nghề đối với kinh tế nông thôn.

- Bảo tồn nhằm tiếp tục giữ gìn, duy trì, và phát huy các giá trị, bản sắc văn hóa đặc trưng của làng nghề; phát triển thương hiệu gắn với phát triển du lịch nông thôn trên địa bàn tỉnh đến năm 2025, định hướng đến năm 2030.

2. Yêu cầu

- Mỗi địa phương chỉ tập trung lựa chọn từ 01 đến 02 làng nghề có tiềm năng phát triển hoặc bảo tồn gắn với kế hoạch phát triển kinh tế - xã hội hàng năm và giai đoạn.

- Bảo đảm tính chủ động phối hợp, triển khai đồng bộ, kịp thời của các Sở, ngành, UBND các huyện, thị xã, thành phố và lồng ghép các nguồn vốn trong quá trình triển khai, thực hiện Kế hoạch.

III. NỘI DUNG THỰC HIỆN

1. Giai đoạn 2023-2025, chọn làng nghề, làng nghề truyền thống bảo tồn và phát triển

1.1. Các làng nghề tập trung hỗ trợ phát triển

- Làng nghề rượu Bàu Đá, thôn Cù Lâm, xã Nhơn Lộc, thị xã An Nhơn- Làng nghề Bánh tráng, Bún số 8 Tăng Long 1, phường Tam Quan Nam, thị xã Hoài Nhơn.

- Làng nghề trồng hoa Bình Lâm, thôn Bình Lâm, xã Phước Hòa, huyện Tuy Phước- Làng nghề nón ngựa Phú Gia, thôn Phú Gia, xã Cát Tường, huyện Phù Cát.

1.2. Làng nghề thực hiện bảo tồn và phát triển: Làng nghề dệt thổ cẩm, xã Vĩnh Hiệp, huyện Vĩnh Thạnh.

2. Giai đoạn 2026-2030, chọn làng nghề, làng nghề truyền thống bảo tồn và phát triển định hướng theo các tiêu chí

2.1. Đối với các làng nghề được lựa chọn để tập trung phát triển

- Đã được công nhận làng nghề theo các tiêu chí được quy định tại Nghị định số 52/2018/NĐ-CP ngày 12/4/2018 của Chính phủ về phát triển ngành nghề nông thôn.

- Hoạt động sản xuất kinh doanh ổn định, tạo việc làm và thu nhập ổn định cho lao động, có tiềm năng phát triển trong thời gian tới.

- Có sản phẩm đặc trưng, bản sắc văn hóa riêng tạo nên thương hiệu của địa phương, có tiềm năng phát triển trong thời gian tới.

- Có tiềm năng phát triển gắn với du lịch để giữ gìn và phát huy bản sắc văn hóa của địa phương.

- Có Đề án phát triển làng nghề của địa phương hoặc của các ngành được phê duyệt.

2.2. Đối với làng nghề được lựa chọn để bảo tồn và phát triển

- Làng nghề được hình thành lâu đời tại địa phương.

- Sản phẩm của làng nghề mang đậm bản sắc văn hóa của địa phương.

- Làng nghề hiện còn hoạt động nhưng có nguy cơ bị mai một, thất truyền.

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

1. UBND các huyện, thị xã, thành phố

- Đối với các địa phương có làng nghề được lựa chọn tại Mục 1 Phần III Kế hoạch này đã có quy hoạch, đề án phát triển làng nghề (Thị xã An Nhơn, huyện Tuy Phước): tiếp tục phối hợp với các sở, ngành có liên quan, rà soát, bổ sung các chính sách hiện hành; tổ chức triển khai thực hiện có hiệu quả nội dung đã được phê duyệt, phê duyệt điều chỉnh; huy động, lồng ghép, bố trí kinh phí để thực hiện đạt các mục tiêu đề án. Thời gian rà soát, cập nhật trình UBND tỉnh phê duyệt điều chỉnh trong năm 2023.

- Đối với các địa phương có làng nghề được lựa chọn tại Mục 1 Phần III Kế hoạch này nhưng chưa có quy hoạch, đề án phát triển làng nghề (thị xã Hoài Nhơn, huyện Phù Cát), đề án bảo tồn làng nghề (huyện Vĩnh Thạnh) được cấp thẩm quyền phê duyệt: khảo sát, lập đề án phát triển/bảo tồn làng nghề phù hợp với nhu cầu phát triển kinh tế - xã hội của địa phương, trình UBND tỉnh phê duyệt trong năm 2023.

- Tiếp tục rà soát, đánh giá tình hình hoạt động thực tế và tiềm năng phát triển của các làng nghề, phối hợp với các đơn vị có liên quan lập hồ sơ trình UBND tỉnh đề nghị công nhận đối với những làng nghề đáp ứng đầy đủ các tiêu chí theo quy định tại Nghị định số 52/2018/NĐ-CP ngày 12/4/2018 của Chính phủ. Căn cứ vào tiêu chí lựa chọn quy định tại Mục 2 Phần III Kế hoạch này, tiếp tục rà soát, lựa chọn các làng nghề để hỗ trợ phát triển hoặc bảo tồn giai đoạn 2026-2030, trình UBND tỉnh phê duyệt trước năm 2025.

- Kịp thời báo cáo những khó khăn, vướng mắc trong quá trình thực hiện Kế hoạch. Hàng năm, báo cáo kết quả thực hiện Kế hoạch về Sở Nông nghiệp và Phát triển nông thôn (trước 30/11) để tổng hợp, báo cáo UBND tỉnh.

2. Các sở, ngành có liên quan

Căn cứ vào chức năng, nhiệm vụ được giao, chủ động phối hợp với UBND các huyện, thị xã, thành phố thực hiện tốt công tác quản lý nhà nước về ngành nghề nông thôn, làng nghề.

2.1. Sở Nông nghiệp và Phát triển nông thôn

- Phối hợp với các sở, ngành liên quan, UBND các huyện, thị xã, thành phố tổ chức, triển khai thực hiện các nội dung Kế hoạch, hướng dẫn các địa phương áp dụng đầy đủ các chính sách hiện hành có liên quan đến bảo tồn và phát triển làng nghề (kèm theo Phụ lục các chính sách có liên quan); chủ trì thẩm định đề án bảo tồn và phát triển làng nghề, trình UBND tỉnh phê duyệt, phê duyệt điều chỉnh, bổ sung.

- Theo dõi, đôn đốc, kiểm ra, giám sát hoạt động của các làng nghề; tổng hợp báo cáo kết quả thực hiện Kế hoạch; đề xuất giải quyết những khó khăn vướng mắc trong quá trình thực hiện Kế hoạch cho UBND tỉnh.

2.2. Sở Công Thương

- Tăng cường công tác xúc tiến thương mại, quảng bá, giới thiệu sản phẩm, tìm kiếm khách hàng, mở rộng thị trường đối với sản phẩm làng nghề, nhất là các sản phẩm công nghiệp nông thôn tiêu biểu, sản phẩm đạt chứng nhận OCOP.

- Hàng năm, lựa chọn và ưu tiên hỗ trợ các cơ sở sản xuất kinh doanh trong làng nghề tham gia Kế hoạch này để phát triển sản xuất từ nguồn kinh phí khuyến công.

2.3. Sở Kế hoạch và Đầu tư: Trên cơ sở đề xuất của Sở Nông nghiệp và Phát triển nông thôn, UBND các huyện, thị xã, thành phố, Sở Kế hoạch và Đầu tư tổng hợp, báo cáo UBND tỉnh xem xét, bố trí vốn hỗ trợ đầu tư xây dựng cơ sở hạ tầng làng nghề.

2.4. Sở Tài chính: Phối hợp với Sở Nông nghiệp và Phát triển nông thôn và các cơ quan, đơn vị có liên quan tham mưu, nguồn kinh phí (vốn chi thường xuyên ngân sách tỉnh) thực hiện Kế hoạch phù hợp, đúng quy định hiện hành.

2.5. Sở Khoa học và Công nghệ: Chủ trì, phối hợp với các Sở, ngành liên quan, UBND các huyện, thị xã, thành phố hướng dẫn, hỗ trợ xây dựng và đăng ký bảo hộ nhãn hiệu cho các sản phẩm của làng nghề

2.6. Sở Du lịch

- Tiếp tục phối hợp với các sở, ban, ngành và UBND các huyện có liên quan hướng dẫn, triển khai thực hiện Đề án thí điểm phát triển du lịch tại các làng nghề truyền thống trên địa bàn tỉnh Bình Định đến năm 2025 được UBND tỉnh phê duyệt tại Quyết định số 3027/QĐ-UBND ngày 27/8/2019.

- Tổ chức các lớp truyền thông nâng cao nhận thức cho người dân tại các làng nghề về phát triển du lịch dựa vào cộng đồng; kiến thức cơ bản trong quá trình tiếp đón khách du lịch.

- Phối hợp Sở Công Thương đẩy mạnh công tác xúc tiến, quảng bá du lịch gắn với việc giới thiệu các làng nghề, sản phẩm thủ công làng nghề, đầu tư phát triển các tuyến, điểm du lịch hiện có, tăng cường và gắn kết vai trò của doanh nghiệp du lịch với làng nghề; phối hợp với các ngành, địa phương xây dựng tuyến, điểm du lịch mới, trong đó, lấy làng nghề là điểm đến du lịch.

2.7. Sở Tài nguyên và Môi trường

- Hướng dẫn việc lập kế hoạch sử dụng đất trong phạm vi làng nghề và chuyển đổi mục đích sử dụng đất phục vụ cho nhu cầu bảo tồn và phát triển làng nghề.

- Hướng dẫn các địa phương thực hiện công tác bảo vệ môi trường Làng nghề và quản lý môi trường tại các cơ sở sản xuất kinh doanh trong làng nghề theo quy định. Tổ chức đánh giá hiện trạng môi trường làng nghề và quản lý môi trường làng nghề.

2.8. Sở Lao động - Thương binh và Xã hội

- Chủ trì, phối hợp với các sở, ngành liên quan hướng dẫn về công tác đào tạo nghề cho lao động nông thôn, trong đó ưu tiên đào tạo các nghề truyền thống, truyền nghề cho lao động làm việc trong các làng nghề, làng nghề truyền thống.

- Tăng cường công tác quản lý Nhà nước về an toàn, vệ sinh lao động trong các làng nghề, đặc biệt chú trọng An toàn, vệ sinh lao động trong nông nghiệp, việc quản lý máy, thiết bị nông nghiệp, các thuốc trừ sâu ảnh hưởng đến môi trường lao động tại các làng nghề.

Trên đây là Kế hoạch bảo tồn và phát triển làng nghề đến năm 2025, định hướng đến năm 2030 trên địa bàn tỉnh Bình Định yêu cầu các cấp, các ngành và UBND các huyện, thị xã, thành phố có liên quan tổ chức triển khai thực hiện./.

 


Nơi nhận:
- TT Tỉnh ủy, TT HĐND tỉnh (b/c)
- CT, các PCT UBND tỉnh;
- Các Sở: NN&PTNT, CT, TN&MT, KH&CN, LĐTB&XH, TC, KH&ĐT, DL;
- UBND các huyện, thị xã, thành phố;
- LĐ CV VP UBND tỉnh;
- Lưu: VT, K10.

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





Nguyễn Tuấn Thanh

 

PHỤ LỤC

CÁC CHÍNH SÁCH CÓ LIÊN QUAN ĐẾN BẢO TỒN VÀ PHÁT TRIỂN LÀNG NGHỀ TRÊN ĐỊA BÀN TỈNH BÌNH ĐỊNH GIAI ĐOẠN 2021-2025
(Kèm theo Kế hoạch số     KH-UBND ngày 29/08/2023 của UBND tỉnh Bình Định)

STT

Tên chính sách/nội dung hỗ trợ

Hiệu lực thi hành

Đơn vị chủ trì thực hiện

1

Quyết định 40/2019/QĐ-UBND ngày 19/7/2019 của UBND tỉnh quy định chính sách hỗ trợ phát triển làng nghề, ngành nghề nông thôn trên địa bàn tỉnh Bình Định giai đoạn 2019-2025.

Giai đoạn 2019-2025

Sở Nông nghiệp và Phát triển nông thôn

2

Hỗ trợ bảo tồn và phát huy các làng nghề truyền thống ở nông thôn thực hiện theo Quyết định số 801/QĐ-TTg ngày 07/7/2022 của Thủ tướng Chính phủ phê duyệt Chương trình bảo tồn và phát triển làng nghề Việt Nam (Quy định tại Điều 11 Quyết định số 90/2022/QĐ- UBND ngày 28/12/2022 của UBND tỉnh Bình Định quy định mức hỗ trợ một số nội dung chi theo quy định tại Thông tư số 53/2022/TT-BTC ngày 12/8/2022 của Bộ trưởng Bộ Tài chính thuộc Chương trình mục tiêu quốc gia xây dựng nông thôn mới tỉnh Bình Định, giai đoạn 2021-2025).

Giai đoạn 2021-2025

Sở Nông nghiệp và Phát triển nông thôn

3

Quyết định số 04/2021/QĐ-UBND ngày 10/3/2021 của UBND tỉnh ban hành Quy chế quản lý và sử dụng kinh phí khuyến công trên địa bàn tỉnh Bình Định.

Cho đến khi ban hành Quyết định khác thay thế Quyết định này

Sở Công Thương

4

Quyết định số 77/2016/QĐ-UBND ngày 19/12/2016 của UBND tỉnh ban hành Quy chế xây dựng, quản lý và thực hiện Chương trình xúc tiến thương mại tỉnh Bình Định.

Cho đến khi ban hành Quyết định khác thay thế Quyết định này

Sở Công Thương

5

Quyết định số 50/2020/QĐ-UBND ngày 03/8/2020 của UBND tỉnh ban hành chính sách hỗ trợ phát triển khoa học và công nghệ trên địa bàn tỉnh Bình Định.

Cho đến khi ban hành Quyết định khác thay thế Quyết định này

Sở Khoa học và Công nghệ

6

Hỗ trợ triển khai thực hiện Chương trình mỗi xã một sản phẩm (OCOP) (theo quy định tại Điều 13 Thông tư số 53/2022/TT-BTC ngày 12/8/2022 của Bộ Tài chính quy định quản lý và sử dụng kinh phí sự nghiệp từ nguồn ngân sách trung ương thực hiện Chương trình mục tiêu quốc gia xây dựng nông thôn mới giai đoạn 2021-2025.)

Giai đoạn 2021-2025

Sở Nông nghiệp và Phát triển nông thôn

 



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