Hệ thống pháp luật

ỦY BAN NHÂN DÂN
TỈNH BÌNH THUẬN
-------

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

Số: 2845/KH-UBND

Bình Thuận, ngày 02 tháng 8 năm 2023

 

KẾ HOẠCH

TRIỂN KHAI CHƯƠNG TRÌNH CHUYỂN ĐỔI SỐ TẠI HUYỆN PHÚ QUÝ

Triển khai Nghị quyết 82/NQ-CP ngày 18/5/2023 của Chính phủ về nhiệm vụ, giải pháp chủ yếu đẩy nhanh phục hồi, tăng tốc phát triển du lịch hiệu quả, bền vững; Kế hoạch số 1282/KH-UBND ngày 04/5/2022 của Ủy ban nhân dân tỉnh thực hiện Nghị quyết số 10-NQ/TU, ngày 18/3/2022 của Ban Chấp hành Đảng bộ tỉnh (khóa XIV); Kế hoạch số 4181/KH-UBND ngày 07/12/2022 của Ủy ban nhân dân tỉnh triển khai Quyết định số 411/QĐ-TTg ngày 31/3/2022 của Thủ tướng Chính phủ về phê duyệt Chiến lược quốc gia phát triển kinh tế số và xã hội số đến năm 2025, định hướng đến năm 2030; Công văn số 1841/BTTTT-KTS&XHS ngày 18/5/2023 của Bộ Thông tin và Truyền thông về việc đề nghị phối hợp triển khai Chương trình chuyển đổi số huyện đảo Phú Quý;

Ủy ban nhân dân tỉnh Bình Thuận xây dựng Kế hoạch triển khai Chương trình chuyển đổi số tại huyện đảo Phú Quý với các nội dung sau:

I. MỤC TIÊU VÀ YÊU CẦU

1. Mục tiêu

- Chuyển đổi số toàn diện tại huyện Phú Quý, xây dựng hình ảnh huyện đảo hiện đại, năng động và cung cấp nhiều dịch vụ tiện ích cho người dân, du khách, doanh nghiệp.

- Đưa Phú Quý trở thành một điểm đến hấp dẫn cả trong nước và quốc tế, tạo động lực phát triển kinh tế, xã hội và cải thiện, nâng cao chất lượng sống của người dân và tăng nguồn thu ngân sách của địa phương.

- Phối hợp với Bộ Thông tin và Truyền thông hình thành mô hình chuyển đổi số của một đơn vị cấp huyện để Bộ Thông tin và Truyền thông phân tích, đánh giá, đúc kết kinh nghiệm, bài học, cách làm hay để nhân rộng mô hình chuyển đối số cấp huyện ra các địa phương khác trên phạm vi toàn quốc.

2. Yêu cầu

- Triển khai các hoạt động chuyển đổi số tại huyện Phú Quý phải gắn liền với mục tiêu, nội dung chuyển đổi số của tỉnh, quốc gia và đảm bảo tính liên thông, kết nối, thống nhất trên phạm vi toàn quốc (sử dụng các nền tảng số quốc gia, không phải triển khai sử dụng các nền tảng số, hệ thống thông tin đơn lẻ).

- Bộ Thông tin và Truyền thông chủ trì, phối hợp với Ủy ban nhân dân tỉnh Bình Thuận và sự tham gia tích cực, chủ động của các Bộ, ngành có liên quan để tập trung hỗ trợ huyện Phú Quý làm điển hình về chuyển đổi số để nhân rộng trên phạm vi toàn quốc.

- Triển khai nhanh, quyết liệt trong thời gian ngắn nhất để rút kinh nghiệm triển khai trên quy mô toàn quốc.

II. NỘI DUNG TRIỂN KHAI

1. Thúc đẩy phát triển hạ tầng số đảm bảo điều kiện triển khai các nền tảng chính quyền số, kinh tế số, xã hội số

- Phát triển mạng viễn thông (cáp quang băng rộng, 4G/5G), mạng cáp quang và sóng di động 4G phủ khắp toàn huyện, triển khai wifi miễn phí ở các điểm công cộng.

- Phát triển hoàn thiện hệ thống truyền thanh thông minh cho 100% đơn vị cấp xã (hiện nay chỉ mới triển khai 1/3 xã).

- Hỗ trợ điện thoại thông minh cho hộ nghèo và cận nghèo để đáp ứng yêu cầu 100% hộ gia đình có thiết bị sử dụng các nền tảng số (khoảng 150 hộ nghèo và cận nghèo).

2. Chuyển đổi số lĩnh vực du lịch

Triển khai các nền tảng số phục vụ du lịch nhằm nâng cao chất lượng hoạt động du lịch tại địa phương; tăng trải nghiệm, tiện ích cho du khách; thu hút lượng khách đến lần đầu và quay trở lại huyện đảo các lần tiếp theo ; tăng tiêu dùng của du khách. Cụ thể, triển khai các nền tảng số:

- Phục vụ giao dịch phổ biến trong hoạt động du lịch, như: Thuê xe, đặt phòng, thanh toán không dùng tiền mặt; quản lý việc check in khách sạn, check in khu điểm du lịch; hợp đồng tour, kế hoạch tour điện tử; chuỗi liên kết giảm giá khuyến mại, các chương trình ưu đãi xúc tiến du lịch nhằm thu hút khách quay lại nhiều lần.

- Phục vụ công tác quản lý nhà nước, như: Số liệu báo cáo, thống kê liên quan đến hoạt động du lịch của các ngành chức năng (lưu lượng du khách, đăng ký lưu trú, công suất phòng được khai thác, chi tiêu của du khách, thu thuế,…).

3. Chuyển đổi số lĩnh vực y tế

- Triển khai 100% cơ sở khám, chữa bệnh có bệnh án điện tử; 100% người dân có hồ sơ sức khỏe điện tử; 100% thanh toán không dùng tiền mặt trong y tế; đăng ký khám và tư vấn khám từ xa, hướng tới bác sỹ gia đình (mỗi người dân trên đảo đều có thể có liên kết với bác sỹ của mình trên nền tảng số).

- Hình thành kho dữ liệu y tế của huyện đảo theo đúng tiêu chuẩn của Bộ Y tế và chuẩn quốc tế; sẵn sàng liên thông dữ liệu quốc gia và quốc tế theo tiêu chuẩn HL7(4. Chuyển đổi số lĩnh vực thể thao

Triển khai các các nền tảng số để quản lý, tổ chức và phát triển các môn thể dục thể thao trong cộng đồng gắn với hoạt động du lịch. Trọng tâm triển khai các nền tảng số phục vụ tổ chức các giải phong trào, giải đấu truyền thống.

5. Triển khai sử dụng vé điện tử

- Triển khai sử dụng vé điện tử (mỗi người dân, du khách sử dụng 01 vé điện tử thống nhất) để phục tất cả các hoạt động phổ biến hàng ngày, như: Vé tàu, vé tham quan các điểm di tích, du lịch, kiểm soát ra/vào cảng Phú Quý,…

- Triển khai nền tảng số phục vụ người dân và du khách mua vé trực tuyến, thanh toán điện tử; kiểm soát ra/vào các điểm công cộng.

- Sử dụng vé điện tử phục vụ cơ quan nhà nước có số liệu báo cáo, thống kê các hoạt động thường ngày của người dân và du khách; hỗ trợ ra quyết định và xử lý các tình huống nhanh chóng, chính xác hơn.

6. Triển khai sử dụng nền tảng thẻ quốc gia (Thẻ Việt)

- Triển khai sử dụng nền tảng thẻ quốc gia đến mọi người, du khách sinh sống, tham quan, du lịch, công tác tại huyện Phú Quý để sử dụng gắn với các hoạt động phổ biến, hàng ngày như: Sử dụng làm danh thiếp, chữ ký số cá nhân, tài khoản số sử dụng thanh toán không dùng tiền mặt (chi phí khám chữa bệnh, học phí, điện, nước, cước viễn thông,…); sử dụng làm thẻ hội viên các Hội, Câu lạc bộ; sử dụng làm thẻ học sinh (phục vụ kiểm soát ra/vào lớp học, điểm danh), sử dụng làm thẻ công chức, viên chức, người lao động (phục vụ kiểm soát ra/vào cơ quan, doanh nghiệp; điểm danh tại các cuộc họp,…).

- Phát triển hệ thống cơ sở dữ liệu huyện Phú Quý, kết nối liên thông dữ liệu của nền tảng Thẻ quốc gia triển khai tại Phú Quý với các nền tảng số liên quan phục vụ công tác hoạch định chính sách và điều hành, quản lý nhà nước và phục vụ doanh nghiệp, trường học….

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

1. Ủy ban nhân dân tỉnh Bình Thuận phối hợp với Bộ Thông tin và Truyền thông thành lập Ban Chỉ đạo, Ban Điều hành và các Tổ chuyên trách triển khai thực hiện Chương trình chuyển đổi số tại huyện Phú Quý theo Kế hoạch này, cụ thể như sau:

1.1. Ban Chỉ đạo

- Nhiệm vụ: Chỉ đạo toàn diện các hoạt động theo Kế hoạch này.

- Thành phần:

Đồng Trưởng Ban: Lãnh đạo Bộ Thông tin và Truyền thông; Lãnh đạo Ủy ban nhân dân tỉnh Bình Thuận.

Phó Trưởng Ban: Giám đốc Sở Thông tin và Truyền thông.

Thành viên gồm đại diện lãnh đạo các đơn vị: Vụ Kinh tế số và Xã hội số (Bộ Thông tin và Truyền thông); Công an tỉnh; Văn phòng UBND tỉnh; Sở Tài chính; Bộ Chỉ huy Quân sự tỉnh; Bộ Chỉ huy Biên phòng tỉnh; Huyện ủy và Ủy ban nhân dân huyện Phú Quý; Công an huyện Phú Quý.

1.2. Ban Điều hành

- Nhiệm vụ: Thực hiện triển khai các nhiệm vụ từ Ban Chỉ đạo, trực tiếp điều hành công tác triển khai Chương trình chuyển đổi số tại huyện Phú Quý theo Kế hoạch này.

- Thành phần:

Đồng Trưởng ban: Lãnh đạo Vụ Kinh tế số và Xã hội số (Bộ Thông tin và Truyền thông); lãnh đạo Sở Thông tin và Truyền thông.

Phó Trưởng ban: Đại diện lãnh đạo UBND huyện Phú Quý.

Thành viên: Đại diện lãnh đạo UBND huyện Phú Quý; đại diện lãnh đạo Phòng Bưu chính Viễn thông và Công nghệ thông tin thuộc Sở Thông tin và Truyền thông; Chánh Văn phòng HĐND và UBND huyện Phú Quý; Trưởng phòng Văn hóa - Thông tin huyện Phú Quý.

1.3. Các Tổ chuyên trách

- Nhiệm vụ: Xây dựng Kế hoạch và triển khai các nhiệm vụ cụ thể theo nội dung tại mục II của Kế hoạch này.

- Thành lập các Tổ chuyên trách với thành phần như sau:

(1) Tổ triển khai Thẻ Việt:

Đồng Tổ trưởng: Đại diện Cục Thương mại điện tử và Kinh tế số (Bộ Công Thương); Trung tâm Thông tin du lịch - Tổng cục Du lịch thuộc Bộ Văn hóa, Thể thao và Du lịch.

Thành viên: Đại diện Sở Công Thương; Ngân hàng Nhà nước Chi nhánh Bình Thuận; đại diện Chi cục Thuế huyện Phú Quý; đại diện Phòng Kinh tế - Tài chính huyện Phú Quý; đại diện Trung tâm Xúc tiến du lịch - Sở Văn hóa, Thể thao và Du lịch; Chuyên viên Vụ Kinh tế số và Xã hội số thuộc Bộ Thông tin và Truyền thông.

(2) Tổ triển khai vé giao thông:

Tổ trưởng: Đại diện Lãnh đạo Trung tâm Công nghệ thông tin (Bộ Giao thông Vận tải).

Thành viên: Đại diện Sở Giao thông vận tải; đại diện Cục Đường bộ Việt Nam; đại diện Cảng Phú Quý; các chuyên gia chuyển đổi số.

(3) Tổ triển khai chuyển đổi số lĩnh vực du lịch:

Tổ trưởng: Đại diện Tổng cục Du lịch (Bộ Văn hóa, Thể thao và Du lịch).

Thành viên: Đại diện Sở Văn hóa, Thể thao và Du lịch; Ban Quản lý Khu du lịch Phú Quý; các chuyên gia chuyển đổi số.

(4) Tổ triển khai chuyển đổi số lĩnh vực y tế:

Tổ trưởng: Đại diện lãnh đạo Hội Tin học y tế.

Thành viên: Đại diện Sở Y tế; đại diện Hội Tin học y tế; Trung tâm Quân Dân Y huyện Phú Quý; các chuyên gia chuyển đổi số.

(5) Tổ triển khai chuyển đổi số lĩnh vực thể thao:

Tổ trưởng: Đại diện Tổng cục Thể dục Thể thao (Bộ Văn hóa, Thể thao và Du lịch).

Thành viên: Đại diện Sở Văn hóa, Thể thao và Du lịch; Trung tâm Văn hóa - Thông tin - Thể thao huyện Phú Quý; các chuyên gia chuyển đổi số.

2. Bộ Thông tin và Truyền thông phối hợp với Ủy ban nhân dân tỉnh Bình Thuận và các bộ, ngành, đơn vị có liên quan thành lập các tổ chức chỉ đạo, điều hành và triển khai thực hiện Chương trình chuyển đối số huyện Phú Quý theo khoản 1, mục III nêu trên.

Ủy ban nhân dân tỉnh đề nghị Bộ Thông tin và Truyền thông là cơ quan đầu mối ở Trung ương triển khai thực hiện các nội dung Chương trình chuyển đổi số tại huyện Phú Quý, cụ thể như sau:

- Chỉ đạo các doanh nghiệp viễn thông, công nghệ thông tin và các đơn vị nghiệp vụ của Bộ Thông tin và Truyền thông thúc đẩy phát triển hạ tầng số đảm bảo điều kiện triển khai các nền tảng chính quyền số, kinh tế số, xã hội số tại huyện Phú Quý.

- Chỉ đạo các đơn vị nghiệp vụ của Bộ Thông tin và Truyền thông phối hợp với các bộ, ngành có liên quan và các Tổ công tác để triển khai các nền tảng số tại huyện Phú Quý theo nội dung Kế hoạch.

- Đẩy mạnh công tác truyền thông về Chương trình chuyển đổi số đang triển khai tại huyện Phú Quý trên các phương tiện truyền thông tin đại chúng, nền tảng mạng xã hội, xây dựng bộ nhận diện chuyển đổi số huyện Phú Quý (Digital Phú Quý).

- Triển khai công tác đào tạo, tập huấn liên quan đến nội dung triển khai của Kế hoạch này.

3. Ủy ban nhân dân tỉnh Bình Thuận

- Chủ trì, phối hợp với các Bộ, ngành, đơn vị có liên quan thành lập Ban Chỉ đạo, Ban Điều hành, các Tổ chuyên trách triển khai Chương trình chuyển đổi số huyện Phú Quý.

- Nghiên cứu tham mưu, đề xuất và trình cấp có thẩm quyền ban hành cơ chế, chính sách thuộc thẩm quyền ban hành của tỉnh để tạo thuận lợi đúc đẩy quá trình chuyển đổi số của tỉnh nói chung và huyện Phú Quý nói riêng.

- Chỉ đạo các sở, ban, ngành có liên quan và Ủy ban nhân dân huyện Phú Quý chủ động, tích cực phối hợp các đơn vị nghiệp vụ của Bộ Thông tin và Truyền thông, các cơ quan, đơn vị có liên quan để triển khai đạt kết quả các nội dung của Kế hoạch này.

- Giao Sở Thông tin và Truyền thông làm đầu mối phối hợp với phối hợp các đơn vị nghiệp vụ của Bộ Thông tin và Truyền thông, các cơ quan, đơn vị có liên quan triển khai Kế hoạch này; đồng thời chủ động theo dõi, tổng hợp báo cáo và tham mưu, đề xuất (nếu có) phát sinh trong quá trình thực hiện.

- Giao Ủy ban nhân dân huyện Phú Quý chủ động chỉ đạo các đơn vị chuyên môn thuộc phạm vi quản lý trên địa bàn phối hợp triển khai đạt kết quả theo nội dung Kế hoạch.

4. Kinh phí thực hiện

- Bộ Thông tin và Truyền thông tổ chức chỉ đạo việc hỗ trợ phát triển hạ tầng số và triển khai các nền tảng số.

- Giao Sở Tài chính tham mưu Ủy ban nhân dân tỉnh bố trí kinh phí liên quan đến công tác tập huấn, đào tạo để chuyển giao công nghệ trong quá trình triển khai Chương trình chuyển đổi số huyện Phú Quý.

Trên đây là Kế hoạch triển khai Chương trình chuyển đổi số tại huyện Phú Quý của Ủy ban nhân dân tỉnh Bình Thuận. Trong quá trình thực hiện, nếu phát sinh khó khăn, vướng mắc đề nghị các cơ quan, đơn vị có liên quan thông tin, báo cáo về Ủy ban nhân dân tỉnh (thông qua Sở Thông tin và Truyền thông) để cùng phối hợp giải quyết./.

 


Nơi nhận:
- Bộ Thông tin và Truyền thông (p/h thực hiện);
- Trung ương Đoàn;
- Thường trực Tỉnh ủy (b/c);
- Thường trực HĐND tỉnh (b/c);
- Chủ tịch, các PCT UBND tỉnh;
- Vụ Kinh tế số và Xã hội số (Bộ TTTT);
- Cục Thương mại điện tử và Kinh tế số (Bộ CT);
- Tổng cục Du lịch, Tổng cục Thể dục Thể thao (Bộ VHTTDL);
- Trung tâm Công nghệ thông tin (Bộ GTVT);
- Cục Đường bộ Việt Nam;
- Hội Tin học y tế;
- Các cơ quan chuyên môn thuộc UBND tỉnh;
- Cơ quan lực lượng vũ trang;
- UBND các huyện, thị xã, thành phố;
- Ngân hàng Nhà nước chi nhánh Bình Thuận;
- Báo Bình Thuận, Đài PT-TH;
- Lưu: VT, TTTT Cang.

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




Nguyễn Minh

 



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

Fatal error: Uncaught TypeError: sqlsrv_free_stmt(): supplied resource is not a valid ss_sqlsrv_stmt resource in C:\Websites\indicat.vn\tools\php\index.php:437 Stack trace: #0 C:\Websites\indicat.vn\tools\php\index.php(437): sqlsrv_free_stmt() #1 {main} thrown in C:\Websites\indicat.vn\tools\php\index.php on line 437