Hệ thống pháp luật

ỦY BAN NHÂN DÂN
TỈNH ĐỒNG THÁP
-------

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

Số: 953/QĐ-UBND-HC

Đồng Tháp, ngày 18 tháng 9 năm 2023

 

QUYẾT ĐỊNH

BAN HÀNH QUY CHẾ MẪU VỀ TỔ CHỨC VÀ HOẠT ĐỘNG CỦA TRUNG TÂM GIÁM SÁT ĐIỀU HÀNH THÔNG MINH TẠI CÁC THÀNH PHỐ: CAO LÃNH, HỒNG NGỰ VÀ SA ĐÉC

ỦY BAN NHÂN DÂN TỈNH ĐỒNG THÁP

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

- Căn cứ Luật Công nghệ thông tin ngày 29 tháng 6 năm 2006;

- Căn cứ Nghị quyết số 52-NQ/TW ngày 27 tháng 9 năm 2019 của Bộ Chính trị, về một số chủ trương, chính sách chủ động tham gia cuộc Cách mạng công nghiệp lần thứ tư;

- Căn cứ Nghị quyết số 50/NQ-CP ngày 17 tháng 4 năm 2020 của Chính phủ, ban hành Chương trình hành động của Chính phủ thực hiện Nghị quyết số 52-NQ/TW ngày 27 tháng 9 năm 2019 của Bộ Chính trị về một số chủ trương, chính sách chủ động tham gia Cuộc cách mạng công nghiệp lần thứ tư;

- Căn cứ Nghị quyết số 17/NQ-CP ngày 07 tháng 3 năm 2019 của Chính phủ về một số nhiệm vụ, giải pháp trọng tâm phát triển chính phủ điện tử giai đoạn 2019 - 2020, định hướng đến năm 2025;

- Căn cứ Nghị định số 64/2007/NĐ-CP ngày 10 tháng 4 năm 2007 của Chính phủ, về việc ứng dụng công nghệ thông tin trong hoạt động của cơ quan nhà nước;

- Căn cứ Quyết định số 950/QĐ-TTg ngày 01 tháng 8 năm 2018 của Thủ tướng Chính phủ, phê duyệt đề án phát triển đô thị thông minh bền vững Việt Nam giai đoạn 2018 - 2025 và định hướng đến năm 2030;

- Căn cứ Quyết định số 749/QĐ-TTg ngày 03 tháng 6 năm 2020 của Thủ tướng Chính phủ phê duyệt chương trình Chuyển đổi số quốc gia đến năm 2025, định hướng đến năm 2030;

- Căn cứ Thông tư số 32/2017/TT-BTTTT ngày 15 tháng 11 năm 2017 của Bộ Thông tin và Truyền thông, quy định về việc cung cấp dịch vụ công trực tuyến và bảo đảm khả năng truy cập thuận tiện đối với trang thông tin điện tử hoặc cổng thông tin điện tử của cơ quan nhà nước;

- Căn cứ Thông tư số 13/2017/TT-BTTTT ngày 23 tháng 6 năm 2017 của Bộ trưởng Bộ Thông tin và Truyền thông, về quy định các yêu cầu kỹ thuật về kết nối các hệ thống thông tin, cơ sở dữ liệu với cơ sở dữ liệu quốc gia;

- Căn cứ Thông tư số 24/2011/TT-BTTTT ngày 20 tháng 9 năm 2011 của Bộ Thông tin và Truyền thông, quy định về việc tạo lập, sử dụng và lưu trữ dữ liệu đặc tả trên trang thông tin điện tử hoặc cổng thông tin điện tử của cơ quan nhà nước;

- Căn cứ Quyết định số 829/QĐ-BTTTT ngày 31 tháng 5 năm 2019 của Bộ trưởng Bộ Thông tin và Truyền thông, về việc Ban hành Khung tham chiếu ICT phát triển đô thị thông minh (phiên bản 1.0);

- Căn cứ Quyết định số 2323/QĐ-BTTTT ngày 31 tháng 12 năm 2019 của Bộ Thông tin và Truyền thông, về ban hành Khung kiến trúc Chính phủ điện tử Việt Nam phiên bản 2.0;

- Căn cứ Nghị quyết số 04-NQ/TU ngày 31 tháng 12 năm 2021 của Ban Chấp hành Đảng bộ tỉnh Đồng Tháp khóa XI về chuyển đổi số;

- Căn cứ Công văn số 3098/BTTTT-KHCN ngày 13 tháng 9 năm 2019 của Bộ Thông tin và Truyền thông về việc công bố Bộ chỉ số đô thị thông minh Việt Nam giai đoạn 3 đến năm 2025 (phiên bản 1.0);

- Căn cứ Công văn số 4176/BTTTT-THH ngày 22 tháng 11 năm 2019 của Bộ Thông tin và Truyền thông về việc hướng dẫn triển khai thí điểm dịch vụ đô thị thông minh;

- Thực hiện Kế hoạch số 93/KH-UBND ngày 21 tháng 4 năm 2020 của Ủy ban nhân dân Tỉnh về việc thực hiện Nghị quyết số 52-NQ/TW ngày 27 tháng 9 năm 2019 của Bộ Chính trị về chủ trương, chính sách chủ động tham gia cuộc cách mạng công nghiệp lần thứ IV;

- Thực hiện Kế hoạch số 80/KH-UBND ngày 17 tháng 3 năm 2021 của Ủy ban nhân dân Tỉnh, về việc xây dựng Đề án Chuyển đổi số tỉnh Đồng Tháp giai đoạn 2021 - 2025, định hướng đến năm 2030;

- Thực hiện Kế hoạch số 59/KH-UBND ngày 25 tháng 02 năm 2022 của Ủy ban nhân dân tỉnh Đồng Tháp thực hiện Nghị quyết số 04-NQ/TU ngày 31 tháng 12 năm 2021 của Ban Chấp hành Đảng bộ Tỉnh khóa XI về chuyển đổi số tỉnh Đồng Tháp;

Theo đề nghị của Giám đốc Sở Nội vụ tại Tờ trình số 2470/TTr-SNV ngày 12 tháng 9 năm 2023.

QUYẾT ĐỊNH:

Điều 1. Kèm theo Quyết định này Quy chế mẫu Quy định về tổ chức và hoạt động của Trung tâm Giám sát điều hành thông minh tại các thành phố: Cao Lãnh, Hồng Ngự và Sa Đéc.

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

Điều 3. Chánh Văn phòng Ủy ban nhân dân Tỉnh; Giám đốc Sở Nội vụ; Thủ trưởng các sở, ngành Tỉnh và Ủy ban nhân dân các huyện, thành phố chịu trách nhiệm thi hành Quyết định này./.

 


Nơi nhận:
- Như Điều 3;
- TT/TU;
- TT/HĐND Tỉnh;
- CT và các PCT/UBND Tỉnh;
- MTTQVN và các đoàn thể cấp Tỉnh;
- Báo Đồng Tháp;
- Đài PT&TH Đồng Tháp;
- Cổng TTĐT Tỉnh;
- Công báo Tỉnh;
- Lưu: VT, NCPC (NX).

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




Phạm Thiện Nghĩa

 

QUY CHẾ MẪU

VỀ TỔ CHỨC VÀ HOẠT ĐỘNG CỦA TRUNG TÂM GIÁM SÁT ĐIỀU HÀNH THÔNG MINH TẠI CÁC THÀNH PHỐ: CAO LÃNH, HỒNG NGỰ VÀ SA ĐÉC
(Ban hành kèm theo Quyết định số 953/QĐ-UBND-HC ngày 18 tháng 9 năm 2023 của Ủy ban nhân dân Tỉnh)

Chương I

NHỮNG QUY ĐỊNH CHUNG

Điều 1. Phạm vi điều chỉnh

Quy định này quy định về tên gọi, vị trí, chức năng, nhiệm vụ, cơ cấu tổ chức, nhân sự, tài chính của Trung tâm Giám sát điều hành thông minh tại các thành phố: Cao Lãnh, Hồng Ngự và Sa Đéc và mối quan hệ công tác trao đổi, đồng bộ thông tin, vận hành hệ thống giữa Trung tâm Chuyển đổi số Tỉnh và 03 Trung tâm Giám sát điều hành thông minh (gọi tắt là Trung tâm).

Điều 2. Đối tượng áp dụng

Trung tâm Giám sát điều hành thông minh trên địa bàn các thành phố: Cao Lãnh, Hồng Ngự và Sa Đéc.

Điều 3. Về Tên gọi

Trung tâm Giám sát điều hành thông minh

Điều 4. Vị trí của Trung tâm

Trung tâm Giám sát điều hành thông minh là bộ phận đặc thùĐiều 5. Chức năng của Trung tâm

1. Thực hiện giám sát, kiểm soát an ninh công cộng ở các khu vực, địa bàn trọng điểm trên địa bàn thành phố qua hệ thống ứng dụng camera giám sát,… nhằm đảm bảo tình hình an ninh trật tự, trật tự an toàn giao thông, trật tự đô thị và vệ sinh môi trường.

2. Thực hiện giám sát các hệ thống phần mềm đo lường mức độ hài lòng của người dân, tổ chức; các thông tin phản ánh của người dân, tổ chức qua Hệ thống phần mềm thành phố trực tuyến. Từ đó đánh giá chất lượng dịch vụ, tham mưu UBND thành phố đưa ra các quyết định trong việc cung cấp dịch vụ phục vụ, nâng cao đời sống cho người dân.

3. Thực hiện thu thập dữ liệu từ các nguồn khác nhau về hệ thống cơ sở dữ liệu (CSDL) tập trung như: Dữ liệu từ ứng dụng chuyên ngành; Dữ liệu từ các hệ thống trong Trung tâm và Dữ liệu nhập trực tiếp từ các tệp dữ liệu riêng lẻ.

4. Thực hiện giám sát, theo dõi về hoạt động của các dịch vụ công ích như: Cấp nước sạch; thu gom và xử lý rác thải; thoát nước và xử lý nước thải, chống úng ngập cục bộ; chiếu sáng đô thị, hệ thống wifi công cộng,…

5. Thực hiện giám sát, theo dõi các hệ thống phần mềm dùng chung trên địa bàn thành phố, như: Hệ thống phần mềm Dịch vụ công trực tuyến, Hệ thống phần mềm quản lý văn bản iDesk, Hệ thống hộp thư điện tử công vụ, Hệ thống Hội nghị truyền hình trực tuyến, Trang thông tin điện tử thành phố….cùng các Hệ thống phần mềm dùng chung khác,…

6. Thực hiện giám sát, theo dõi trên các Hệ thống phần mềm khác được phát triển sau này của thành phố.

Chương II

NHIỆM VỤ CỦA TRUNG TÂM

Điều 6. Nhiệm vụ của Trung tâm

1. Ghi nhận phản ánh, kiến nghị của tổ chức và người dân về những bất cập trong đời sống xã hội với chính quyền trực tiếp bằng điện thoại thông minh hoặc qua các ứng dụng của Trung tâm, kèm theo hình ảnh, video hiện trường.

2. Tổng hợp, đánh giá và chuyển về các cơ quan chức năng xử lý hoặc tham mưu cho UBND thành phố chỉ đạo, xử lý. Quá trình tiếp nhận, xử lý và kết quả được đăng tải để người dân có thể giám sát quá trình đến khi ra kết quả cuối cùng.

3. Phối hợp tổ chức triển khai các chương trình đề án về tin học, internet trên địa bàn; điều tra, thu thập, xây dựng và quản lý hệ thống cơ sở dữ liệu dùng chung, chuyên ngành phục vụ quản lý và điều hành tác nghiệp,...

4. Nghiên cứu, tiếp nhận thử nghiệm, giúp đỡ và chuyển giao các phần mềm dùng chung cho các cơ quan đơn vị nhằm đẩy mạnh phát triển và ứng dụng công nghệ thông tin trong quản lý và đời sống. Nghiên cứu, ứng dụng và thực hiện các giải pháp tổ chức, kết nối, giải pháp an toàn, an ninh thông tin mạng, các giải pháp phát triển công nghệ phần cứng và phần mềm.

5. Theo dõi quá trình giải quyết các phản ánh, kiến nghị của công dân đã được Trung tâm chuyển đến các cơ quan, đơn vị có liên quan xử lý để báo cáo kết quả cho Chủ tịch UBND thành phố định kỳ hoặc đột xuất.

6. Thực hiện một số nhiệm vụ khác phù hợp với điều kiện năng lực do UBND thành phố, Chủ tịch UBND thành phố giao.

Chương III

CƠ CẤU TỔ CHỨC VÀ NHÂN SỰ

Điều 7. Cơ cấu tổ chức và số lượng người làm việc của Trung tâm

1. Về cơ cấu tổ chức

a) Cơ cấu tổ chức của Trung tâm được tổ chức tinh gọn, gồm: Giám đốc, 01 Phó Giám đốc và bộ phận làm công tác chuyên môn, nghiệp vụ tại Trung tâm.

b) Giám đốc là người đứng đầu Trung tâm, lãnh đạo, chỉ đạo và điều hành hoạt động chung của Trung tâm, chịu trách nhiệm trước Chủ tịch UBND thành phố về toàn bộ hoạt động của Trung tâm. Xây dựng quy chế tổ chức, quản lý, vận hành Trung tâm Giám sát điều hành thông minh trình UBND thành phố ban hành.

c) Phó Giám đốc Trung tâm giúp Giám đốc Trung tâm phụ trách một hoặc một số lĩnh vực công tác do Giám đốc Trung tâm phân công và chịu trách nhiệm trước Giám đốc Trung tâm về nhiệm vụ công tác được giao.

d) Việc bổ nhiệm, miễn nhiệm Giám đốc, Phó Giám đốc Trung tâm do Chủ tịch UBND thành phố bổ nhiệm, miễn nhiệm.

2. Số lượng người làm việc

a) Giám đốc: Chánh Văn phòng HĐND và UBND thành phố kiêm nhiệm. b) Phó Giám đốc: Lãnh đạo Phòng Văn hóa và Thông tin phụ trách lĩnh vực thông tin và truyền thông kiêm nhiệm;

c) Bộ phận làm công tác chuyên môn nghiệp vụ tại Trung tâm:

- 01 công chức phụ trách công nghệ thông tin thuộc Văn phòng HĐND và UBND thành phố;

- 01 đến 02 viên chức của Trung tâm Tin học hoặc Trung tâm Văn hóa, Thể thao và Truyền thanh.

- 01 đến 02 chiến sỹ công an của thành phố bố trí làm việc tại Trung tâm.

- 02 đến 03 hợp đồng làm Kỹ thuật viên chuyên môn do đơn vị trúng thầu cung cấp dịch vụ điều động hoạt động toàn thời gian tại Trung tâm Giám sát điều hành thông minh, phụ trách công tác điều khiển trang thiết bị, đảm bảo vận hành các phần mềm, các máy chủ và hệ thống hạ tầng được thành phố trang bị cho Trung tâm Giám sát điều hành thông minh do Chủ tịch Ủy ban nhân dân Thành phố tuyển dụng hoặc hợp tác với doanh nghiệp cung cấp giải pháp, công nghệ hoặc chuyên gia về Chuyển đổi số thực hiện. Công việc cụ thể do Giám đốc trung tâm phân công.

Trong các tình huống cụ thể, Trung tâm Giám sát điều hành thông minh được phép điều động cán bộ, công chức, viên chức, cán bộ, chiến sỹ của các phòng ban, đơn vị thuộc thành phố đến phối hợp xử lý tình huống sau khi được sự cho phép của Chủ tịch UBND thành phố.

Điều 8. Cơ chế tài chính, cơ chế hoạt động

1. Được UBND thành phố hỗ trợ kinh phí tổ chức hoạt động; nguồn kinh phí hoạt động thí điểm thành lập Trung tâm Giám sát điều hành thông minh tại thành phố: Cao Lãnh, Hồng Ngự và Sa Đéc theo phân cấp ngân sách nhà nước hiện và thực hiện theo quy định tại Điều 12, Điều 13 Thông tư số 18/2023/TT- BTC ngày 21 tháng 3 năm 2023 của Bộ Tài chính quy định về thủ tục thu, nộp tiền phạt, bù trừ số tiền nộp phạt chênh lệch, biên lai thu tiền phạt và kinh phí từ ngân sách nhà nước bảo đảm hoạt động của các lực lượng xử phạt vi phạm hành chính và các nguồn thu hợp pháp khác (nếu có).

2. Phụ cấp kiêm nhiệm (nếu có) đối với trường hợp là công chức, viên chức kiêm nhiệm thực hiện theo quy định tại khoản 2 Điều 6 Nghị định số 204/2004/NĐ-CP ngày 14 tháng 12 năm 2004 của Chính phủ.

3. Kinh phí chi trả lương đối với số hợp đồng lao động ngoài biên chế thực hiện nhiệm vụ tại Trung tâm: Do địa phương tự cân đối từ nguồn kinh phí phân bổ theo quy định tại Nghị quyết số 79/2021/NQ-HĐNDĐiều 9. Trụ sở và trang thiết bị làm việc

- Trụ sở làm việc của Trung tâm được bố trí trong trụ sở làm việc của HĐND và UBND thành phố.

- Trang thiết bị hoạt động gồm: Bàn, ghế làm việc, máy vi tính, máy in, máy quét (Scanner), điện thoại, tủ đựng hồ sơ; Các thiết bị điện tử phục vụ giám sát camera, màn hình led, phần mềm quản lý,... phục vụ các hoạt động.

Điều 10. Về thời gian thực hiện thí điểm

Kể từ ngày quyết định có hiệu lực thi hành đến hết ngày 31 tháng 12 năm 2025, sau đó tổng hợp, đánh giá để xem xét, nhân rộng tại các địa phương còn lại (nếu hoạt động hiệu quả).

Điều 11. Các chế độ báo cáo

Chậm nhất ngày 25 của tháng 6 và tháng 12 hàng năm, UBND thành phố: Cao Lãnh, Hồng Ngự, Sa Đéc có báo cáo tình hình tổ chức hoạt động của Trung tâm; kiến nghị, đề xuất giải pháp tháo gỡ khó khăn, vướng mắc, định hướng tổ chức thực hiện trong thời gian tới về UBND Tỉnh (gửi kèm về Sở: Nội vụ, Sở Thông tin và Truyền thông, Tài chính để nắm, theo dõi).

Chương IV

MỐI QUAN HỆ CÔNG TÁC

Điều 12. Mối quan hệ công tác trao đổi, đồng bộ thông tin, vận hành hệ thống giữa Trung tâm Chuyển đổi số Tỉnh và 03 Trung tâm Giám sát điều hành thông minh 03 thành phố: Cao Lãnh, Hồng Ngự, Sa Đéc

Trung tâm ở 03 thành phố có sự liên kết chặt chẽ, thường xuyên với Trung tâm Chuyển đổi số Tỉnh (TTCĐS) trong việc:

- Phối hợp triển khai quản lý, vận hành các ứng dụng dùng chung của tỉnh và đảm bảo an toàn thông tin cho Thành phố; thực hiện nhiệm vụ chuyển đổi số trong phạm vi của Thành phố theo hướng dẫn của TTCĐS và định hướng chung của tỉnh; tham gia hỗ trợ các hoạt động tư vấn; đào tạo, bồi dưỡng nguồn nhân lực.

- Thực hiện vận hành IOC của Thành phố dựa trên cơ sở các phân hệ chức năng được chia sẻ từ IOC Tỉnh; chịu trách nhiệm kiểm tra, thu thập dữ liệu từ các thiết bị IoT, các hệ thống thông tin dùng chung, hệ thống thông tin chuyên ngành, thông tin trên internet, thông tin phản ánh của người dân, doanh nghiệp qua các kênh và đảm bảo sự chính xác, an toàn dữ liệu từ các phân hệ chuyên ngành, từ đó tổng hợp, phân tích để đưa ra các báo cáo (dạng Dashboard) để phục vụ công tác quản lý, chỉ đạo, điều hành của Thành phố đồng thời tích hợp, chia sẻ cơ sở dữ liệu dùng chung và IOC Tỉnh (thông qua các API, trục LGSP).

- Định kỳ trao đổi, thảo luận, báo cáo các nội dung về các nhiệm vụ chuyển đổi số.

Chương V

ĐIỀU KHOẢN THI HÀNH

Điều 13. Trách nhiệm thi hành

1. Giám đốc Sở Thông tin và Truyền thông chịu trách nhiệm triển khai thực hiện quy định tại Điều 12 của Quy chế này.

2. Chủ tịch Ủy ban nhân dân 03 thành phố: Cao Lãnh, Hồng Ngự, Sa Đéc chịu trách nhiệm triển khai thực hiện Quy chế này.

Điều 14. Sửa đổi, bổ sung hoặc thay thế Quy chế

Quy chế này sẽ được sửa đổi, bổ sung hoặc thay thế khi có văn bản hướng dẫn hoặc điều chỉnh của cơ quan nhà nước cấp trê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(); }