<!DOCTYPE html>
<html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
<head>
<title>Hỗ trợ tập huấn và triển khai NukeViet cho các Phòng, Sở GD&amp;ĐT</title>
<meta name="description" content="Hỗ trợ tập huấn và triển khai NukeViet cho các Phòng, Sở GD&amp;ĐT - Savefile - Tin Tức -...">
<meta name="author" content="Horus">
<meta name="copyright" content="Horus [erp.xiris@gmail.com]">
<meta name="robots" content="noindex, follow">
<meta name="googlebot" content="noindex, follow">
<meta name="msnbot" content="noindex, follow">
<meta name="coccocbot" content="noindex, follow">
<meta name="generator" content="NukeViet v4.6">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Hỗ trợ tập huấn và triển khai NukeViet cho các Phòng, Sở GD&amp;ĐT">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;aiwater2.xiris.vn&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;Tin-tuc&#x002F;ho-tro-tap-huan-va-trien-khai-nukeviet-cho-cac-phong-so-gd-dt-12.html">
<meta property="og:site_name" content="Horus">
<meta property="og:url" content="https://aiwater2.xiris.vn/vi/news/savefile/Tin-tuc/ho-tro-tap-huan-va-trien-khai-nukeviet-cho-cac-phong-so-gd-dt-12.html">
<link rel="shortcut icon" href="https://aiwater2.xiris.vn/uploads/chatgpt-image-08_31_42-20-thg-9-2025.webp">
<link rel="canonical" href="https://aiwater2.xiris.vn/vi/news/savefile/Tin-tuc/ho-tro-tap-huan-va-trien-khai-nukeviet-cho-cac-phong-so-gd-dt-12.html">
<link rel="alternate" href="https://aiwater2.xiris.vn/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://aiwater2.xiris.vn/vi/news/rss/Tin-tuc/" title="Tin Tức - Tin tức" type="application/rss+xml">
<link rel="alternate" href="https://aiwater2.xiris.vn/vi/news/rss/thong-cao-bao-chi/" title="Tin Tức - Thông cáo báo chí" type="application/rss+xml">
<link rel="alternate" href="https://aiwater2.xiris.vn/vi/news/rss/Ban-tin-noi-bo/" title="Tin Tức - Bản tin nội bộ" type="application/rss+xml">
<link rel="alternate" href="https://aiwater2.xiris.vn/vi/news/rss/Tin-cong-nghe/" title="Tin Tức - Tin công nghệ" type="application/rss+xml">
<link rel="alternate" href="https://aiwater2.xiris.vn/vi/news/rss/San-pham/" title="Tin Tức - Sản phẩm" type="application/rss+xml">
<link rel="alternate" href="https://aiwater2.xiris.vn/vi/news/rss/Doi-tac/" title="Tin Tức - Đối tác" type="application/rss+xml">
<link rel="alternate" href="https://aiwater2.xiris.vn/vi/news/rss/Tuyen-dung/" title="Tin Tức - Tuyển dụng" type="application/rss+xml">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/fonts/font6/css/all.css" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/additional_css/datetimepicker/css/bootstrap-material-datetimepicker.css" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/additional_css/datetimepicker/css/font_icon.css" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/bootstrap.min.css" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/style.responsive.css?v=20260828bi" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/custom.css?v=20260907-dsbt-old-period" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/assets/js/jquery-ui/jquery-ui.min.css" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/assets/js/select2/select2.min.css" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/yearpicker.css" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/tree.chart.css" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/jquery-confirm.min.css" type="text/css">
<link rel="preload" as="style" href="https://unpkg.com/tributejs@5.1.3/dist/tribute.css" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/xiris_font.css?v=v3c9587a4" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/xiris_dark.css?v=v20260828bg" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/xiris_form.css?v=v106breadcrumbpad" type="text/css">
<link rel="preload" as="style" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/xiris_typography.css?v=v20260911so" type="text/css">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/main.js?v=1789094780" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/additional_js/moment/moment.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/additional_js/moment/js/moment-with-locales.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/additional_js/moment/locale/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/additional_css/datetimepicker/js/bootstrap-material-datetimepicker.js" type="text/javascript">
<link rel="preload" as="script" href="/themes/theme_xiris/js/fullcalender.min.js?t=1792029555" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/assets/js/jquery-ui/jquery-ui.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/assets/js/language/jquery.ui.datepicker-vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/assets/js/select2/select2.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/yearpicker.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/tree.chart.js" type="text/javascript">
<link rel="preload" as="script" href="/themes/theme_xiris/js/jquery-confirm.min.js?t=1792029555" type="text/javascript">
<link rel="preload" as="script" href="https://unpkg.com/tributejs@5.1.3/dist/tribute.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v18.0&appId=363469809004152&autoLogAppEvents=1" type="text/javascript" crossorigin="anonymous">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/webpush/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_font_weight.js?v=v1dd27a73" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_loading.js?v=v5loadingorbit" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_bang_the.js?v=v12cotgop" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_loc.js?v=v5" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_len_xuong.js?v=v2" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_tabs.js?v=v1" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_datepicker.js?v=v1" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_select2.js?v=v4" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_copy.js?v=v2" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_quaylai.js?v=v11cuatuchoi" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_xemtep.js?v=v12gophopcu" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_ten_in.js?v=v2uutien" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_chup_anh.js?v=v4" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_excel_lh.js?v=v1" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn/themes/theme_xiris/js/bootstrap.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://aiwater2.xiris.vn//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit" type="text/javascript">
<link rel="stylesheet" href="https://aiwater2.xiris.vn/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://aiwater2.xiris.vn/themes/theme_xiris/fonts/font6/css/all.css">
<link rel="stylesheet" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/additional_css/datetimepicker/css/bootstrap-material-datetimepicker.css">
<link rel="stylesheet" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/additional_css/datetimepicker/css/font_icon.css">
<link rel="stylesheet" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/bootstrap.min.css">
<link rel="stylesheet" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/style.css">
<link rel="stylesheet" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/style.responsive.css?v=20260828bi">
<link rel="StyleSheet" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/news.css">
<link rel="stylesheet" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/custom.css?v=20260907-dsbt-old-period">
<link type="text/css" href="https://aiwater2.xiris.vn/assets/js/jquery-ui/jquery-ui.min.css" rel="stylesheet" />
<link href="https://aiwater2.xiris.vn/assets/js/select2/select2.min.css" type="text/css" rel="stylesheet" />
<link type="text/css" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/yearpicker.css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/tree.chart.css">
<link type="text/css" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/jquery-confirm.min.css" rel="stylesheet" />
<link rel="stylesheet" href="https://unpkg.com/tributejs@5.1.3/dist/tribute.css" />
<link rel="stylesheet" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/xiris_font.css?v=v3c9587a4">
<link rel="stylesheet" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/xiris_dark.css?v=v20260828bg">
<link rel="stylesheet" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/xiris_form.css?v=v106breadcrumbpad">
<link rel="stylesheet" href="https://aiwater2.xiris.vn/themes/theme_xiris/css/xiris_typography.css?v=v20260911so">
<style>
    .load{
        display: block !important;
    }
    .no_load{
        display: none !important;
    }
    .four {
        width: 10px;
        height: 10px;
        background-color: #fff;
        border-radius: 50%;
        animation: loader4Animation 1s linear infinite;
        position: absolute;
        right: -25px;
        top: 5px;
    }
    @keyframes loader4Animation {
        0% {
          background-color: rgba(0,0,128, 1);
          box-shadow: 15px 0px 0px 0px rgba(0,0,128, 0.67),
          30px 0px 0px 0px rgba(0,0,128, 0.33);
      }
      17% {
          background-color: rgba(0,0,128, 0.67);
          box-shadow: 15px 0px 0px 0px rgba(0,0,128, 1),
          30px 0px 0px 0px rgba(0,0,128, 0.67);
      }
      33% {
          background-color: rgba(0,0,128, 0.33);
          box-shadow: 15px 0px 0px 0px rgba(0,0,128, 0.67),
          30px 0px 0px 0px rgba(0,0,128, 1);
      }
      50% {
          background-color: rgba(0,0,128, 0);
          box-shadow: 15px 0px 0px 0px rgba(0,0,128, 0.33),
          30px 0px 0px 0px rgba(0,0,128, 0.67);
      }
      67% {
          background-color: rgba(0,0,128, 0.33);
          box-shadow: 15px 0px 0px 0px rgba(0,0,128, 0),
          30px 0px 0px 0px rgba(0,0,128, 0.33);
      }
      83% {
          background-color: rgba(0,0,128, 0.67);
          box-shadow: 15px 0px 0px 0px rgba(0,0,128, 0.33),
          30px 0px 0px 0px rgba(0,0,128, 0);
      }
      100% {
          background-color: rgba(0,0,128, 1);
          box-shadow: 15px 0px 0px 0px rgba(0,0,128, 0.67),
          30px 0px 0px 0px rgba(0,0,128, 0.33);
      }
  }
  .load{
    position: fixed;
    height: 100vh;
    width: 100vw;
    top: 0px;
    left: 0px;
    z-index: 10000000;
    background: rgba(0, 0, 0, 0.3);
    text-align: center;
}
.load_box{
    height: 100px;
    width: 100px;
    position: absolute;
    top: 45%;
    display: inline-block;
    padding: 30px;
}
.load_box i{
    font-size: 40px;
    color: #fff;
    z-index: 100000000;
}
.load_box span{

}

.no_load{
    display: none;
}
:root {
  --primary-color: #fff;
  --background-color: #017e84;
  --background-color-hover: #036267;
}
</style>
<style id="xiris-critical-first-paint">
  /* Hide first-paint-only content before its JavaScript relocation/styling finishes. */
  #xirisPdfHeader { display: none !important; }
  .dropdown_chuong_thong_bao { display: none !important; }
  #xiris-hdr-right .dropdown_chuong_thong_bao { display: block !important; }
</style>
<style type="text/css">
    /* Dáng chung cho mọi nút chép link — khai một chỗ để năm màn không mỗi nơi một kiểu. */
    .xiris-copy{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
      padding:0;flex:0 0 auto;border:1px solid rgba(127,145,164,.35);border-radius:6px;
      background:transparent;color:#7f91a4;font-size:11.5px;line-height:1;cursor:pointer;
      transition:color .15s ease,border-color .15s ease,background .15s ease}
    .xiris-copy:hover{color:#168ccb;border-color:#168ccb;background:rgba(22,140,203,.08)}
    .xiris-copy.xiris-copy-ok{color:#138a72;border-color:rgba(19,138,114,.5);background:rgba(19,138,114,.10)}
    .xiris-copy.xiris-copy-loi{color:#e5484d;border-color:rgba(229,72,77,.5);background:rgba(229,72,77,.10)}
  </style>
<style type="text/css">
	body{background: #fff;}
</style>
  <div id="fb-root"></div>
  <!-- ===== X-IRIS: che do SANG / TOI =====
       File phu, chi an khi <html data-xtheme="dark"> -> khong bat thi vo hai.
       Script dat O DAY, TRONG <head>, chay TRUOC khi <body> ton tai: gan thuoc tinh len
       <html> ngay luc nay thi trang ve ra da la mau toi. De xuong cuoi trang hay doi
       DOMContentLoaded la nguoi dung thay CHOP TRANG moi lan tai — choi mat va lo ngay. -->
  <!-- Bộ 3 font (Montserrat / Chakra Petch / Orbitron) — tự host. Nạp cho CẢ HAI chế độ
       sáng-tối nên phải đứng NGOÀI xiris_dark.css. -->
  <!-- Bảng màu DÙNG CHUNG cho các màn thêm mới/chỉnh sửa/xem chi tiết (Nhập/Xuất hàng,
       Phiếu vận hành, Ghi chỉ số, Thông số vận hành...) — xem xiris_form.css để biết
       LÝ DO từng giá trị. Đứng SAU xiris_dark.css vì đọc lại biến --x-* của nó (thứ tự
       không bắt buộc về mặt kỹ thuật — var() phân giải lúc dùng chứ không lúc nạp — nhưng
       để đây cho xuôi mắt khi đọc code). -->
  <!-- ⚠⚠ ĐỔI NỘI DUNG xiris_form.css THÌ PHẢI ĐỔI LUÔN CHỮ SAU ?v= Ở ĐÂY.
       18/09/2026: khối "BẢNG THÀNH THẺ" (mốc 820px) được thêm vào file mà vẫn để nguyên
       ?v=v26donvi. Máy chủ trả file mới, nhưng trình duyệt nào đã từng tải v26donvi thì cứ
       dùng bản cũ trong ổ đĩa — chủ dự án mở màn Danh sách sự cố ở bề ngang 768px vẫn thấy
       bảng cuộn ngang, cột "Thiết bị" bị bóp còn một chữ một dòng. Đo lại bằng chính file
       trên host với bảng y hệt thì ra thẻ đúng như thiết kế ⇒ lỗi nằm ở bản cache, không
       phải ở CSS. Đổi chữ này là buộc mọi máy tải lại. -->
  <!-- Typography chung: chu Chakra Petch, tung chu so 0-9 Orbitron. -->
  <!-- Chi ha nhung chu dang vuot 600; giu nguyen cac muc 400/500/600 va font icon. -->
  <!-- Loading DÙNG CHUNG toàn site (xfShowPageLoading/xfHidePageLoading) — xem
       js/xiris_loading.js. Test đầu tiên ở Tổng quan xử lý nước thải, user chốt ổn (25/08). -->
<!-- Bang thanh THE tren dien thoai: gan class "xf-the" cho <table> la du.
     Kieu dang o css/xiris_form.css, muc "BANG THANH THE". -->
  <!-- 11/09/2026: đổi MỌI <input type="date"> sang jQuery UI datepicker dd/mm/yyyy (chuẩn của
       site). Đặt SAU jquery-ui ở trên vì tệp này cần $.fn.datepicker; nó tự chờ nếu chưa có.
       Nạp site-wide nên màn cũ đổi hết mà màn mới cứ viết input type="date" bình thường. -->
  <!-- 11/09/2026 (user: "tất cả những chỗ dùng select đều thay bằng select2 luôn"): tự bọc MỌI
       <select> chưa được màn nào tự bọc. Đặt SAU select2.min.js ở trên vì cần $.fn.select2 (tệp
       tự chờ nếu chưa có). Ô nào muốn chừa thì thêm data-no-select2 vào thẻ select. -->
  <!-- 18/09: nút SAO CHÉP LINK dùng chung (chủ dự án: "chỗ nào có danh sách sự cố thì thêm cái
       icon sao chép cho dễ copy"). Màn nào cần chỉ việc đặt data-copy-link="<url>" lên một cái
       <button>, không phải chép logic clipboard vào từng .tpl. -->
  <!-- 22/09: nút QUAY LẠI dùng chung (chủ dự án: "trang chi tiết hay trang thêm đều thêm
       một nút Quay lại nằm bên phải của trang, style như này, chế độ sáng, chế độ tối").
       Tệp này gom kiểu cho mọi nút quay lại sẵn có VÀ tự chèn nút cho màn chưa có.
       Kiểu dáng khai ở css/xiris_form.css, mục "NÚT QUAY LẠI DÙNG CHUNG".
       ⚠ Danh sách màn được chèn nằm ở hằng DS_OP trong chính tệp JS — thêm màn thì sửa ở đó. -->
  <!-- 25/09: TRINH XEM TAI LIEU dung chung (chu du an: "minh can xem tai lieu, anh ne tren
       phan mem luon, dang nhu khi bam no mo modal xong minh xem duoc tren do cac tai lieu luon"
       — va khong gui tep ra thu vien Office truc tuyen, "lam vay bi lo tai lieu").
       Bat MOI the <a> co &tep= trong href (dau nhan biet do cong tep o tang 1 de lai) nen khong
       man nao phai sua .tpl. Anh xem tai cho, PDF vao khung, tep khong ve duoc thi hien nut
       Tai ve. Kieu dang o css/xiris_form.css, muc "TRINH XEM TAI LIEU DUNG CHUNG".
       ⚠ Man nao DA co hop xem rieng thi tep JS tu chua ra — danh sach o hang CHUA trong do. -->
  <!-- 25/09: TÊN TỆP SẴN cho bản in / xuất PDF (chủ dự án: "xuất PDF sao không có tên
       file sẵn như Excel"). Nút Excel tự đặt tên, còn window.print() thì trình duyệt lấy
       document.title làm tên gợi ý — tệp này đổi tiêu đề thành tên phiếu ngay trước khi in
       rồi trả lại. Không đụng nút, không đụng màn nào. -->
  <!-- 12/09: hộp "Chụp ảnh" bằng webcam dùng chung — màn nào có ô <input type=file> ảnh thì
       gọi xirisChupAnh(oTep, {ten:…}). Bản gốc nằm trong thong_so_van_hanh_add.tpl, tách ra
       đây để Bảo trì (và sau này Nhập/Xuất hàng, Đồng hồ) khỏi chép lại ~150 dòng. -->
</head>
<body id="body">

  <!-- 11/09/2026 (user): letterhead GreenWorld cho MỌI bản in PDF (window.print) của site.
       Nội dung do modules/duan/functions.php -> duan_hdr_html() dựng theo CẤU HÌNH của dự án
       (màn op=cau_hinh_header_in), theme.php gán vào biến này. Đặt ngay đầu <body> nên áp cho
       tất cả màn mà không phải sửa từng .tpl. Bình thường ẩn, chỉ hiện khi in — CSS ở
       xiris_form.css (#xirisPdfHeader). -->
  <!-- 12/10/2026: đọc qua thẻ JSON. Viết trần "window.XIRIS_LH =  || null" thì ở module ngoài duan
       (duan_hdr_json không có) biến rỗng thành "= || null" — SyntaxError trên màn Nhân viên và các màn khác. -->
  </div>

  <div id="form_in_danh_sach"></div>
  <div id="box_xem_danh_gia" class="hidden">
    <div id="box_content_danh_gia">

    </div>
  </div>
  <div class="notification" id="notification">
    <span class="message">

    </span>
    <span class="close-btn" onclick="closeNotification()">&times;</span>
  </div>
  <div class="modal fade" id="modal_doi_pass" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false">
    <div class="modal-dialog">

      <div class="modal-content">
        <div class="modal-header">
          <h4 class="modal-title text-center" id="title_modal_doi_pass">
            Vui lòng đổi mật khẩu để đảm bảo tính bảo mật
          </h4>
        </div>
        <div class="modal-body">
          <p>
            <div class="alert alert-danger">
              Mật khẩu phải có ít nhất 8 ký tự, bao gồm chữ, chữ IN HOA, số và ký tự đặc biệt!
            </div>
          </p>
          <p>
            <input type="password" id="mat_khau_1" class="form-control" name="" placeholder="Nhập mật khẩu mới">
          </p>
          <p>
            <input type="password" id="mat_khau_2" class="form-control" name="" placeholder="Nhập lại mật khẩu mới">
          </p>
          <p class="text-center">
            <button class="btn btn-primary" type="button" onclick="doi_mat_khau()">Đổi mật khẩu</button>
          </p>

        </div>
      </div>

    </div>
  </div>
  <button id="hiddenPushBtn" style="display:none"></button>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">Horus</h2>
		<p class="pull-right"><a title="Horus" href="https://aiwater2.xiris.vn/">https://aiwater2.xiris.vn</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Hỗ trợ tập huấn và triển khai NukeViet cho các Phòng, Sở GD&amp;ĐT</h1>
		<ul class="list-inline">
			<li>Thứ ba - 20/10/2015 21:33</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
			Trên cơ sở Hướng dẫn thực hiện nhiệm vụ CNTT năm học 2015 - 2016 của Bộ Giáo dục và Đào tạo, Công ty cổ phần phát triển nguồn mở Việt Nam và các doanh nghiệp phát triển NukeViet trong cộng đồng NukeViet đang tích cực công tác hỗ trợ cho các phòng GD&ĐT, Sở GD&ĐT triển khai 2 nội dung chính: Hỗ trợ công tác đào tạo tập huấn hướng dẫn sử dụng NukeViet và Hỗ trợ triển khai NukeViet cho các trường, Phòng và Sở GD&ĐT
		</div>
				<div class="imghome">
			<img alt="Tập huấn triển khai NukeViet tại Phòng Giáo dục và Đào tạo Hà Đông - Hà Nội" src="https://aiwater2.xiris.vn/uploads/news/tap-huan-pgd-ha-dong-2015.jpg" width="460" class="img-thumbnail" />
						<p>
				<em>Tập huấn triển khai NukeViet tại Phòng Giáo dục và Đào tạo Hà Đông - Hà Nội</em>
			</p>
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<div class="details-content clearfix" id="bodytext"><span style="font-size:16px;"><strong>Hỗ trợ công tác đào tạo tập huấn hướng dẫn sử dụng phần mềm nguồn mở NukeViet</strong></span><br  /><br  />Công tác hỗ trợ công tác đào tạo tập huấn hướng dẫn sử dụng phần mềm nguồn mở NukeViet sẽ được thực hiện bởi đội ngũ chuyên gia giàu kinh nghiệm về NukeViet được tuyển chọn từ lực lượng lập trình viên, chuyên viên kỹ thuật hiện đang tham gia phát triển và hỗ trợ về NukeViet từ Ban Quản Trị NukeViet và Công ty cổ phần phát triển nguồn mở Việt Nam và các đối tác thuộc Liên minh phần mềm giáo dục nguồn mở NukeViet.<br  /><br  />Với kinh nghiệm tập huấn đã được tổ chức thành công cho nhiều Phòng giáo dục và đào tạo, các chuyên gia về NukeViet sẽ giúp chuyển giao giáo trình, chương trình, kịch bản đào tạo cho các Phòng, Sở GD&amp;ĐT; hỗ trợ các giáo viên và cán bộ quản lý giáo dục sử dụng trong suốt thời gian sau đào tạo.<br  /><br  />Đặc biệt, đối với các đơn vị sử dụng NukeViet làm website và cổng thông tin đồng bộ theo quy mô cấp Phòng và Sở, cán bộ tập huấn của NukeViet sẽ có nhiều chương trình hỗ trợ khác như chương trình thi đua giữa các website sử dụng NukeViet trong cùng đơn vị cấp Phòng, Sở và trên toàn quốc; Chương trình báo cáo và giám sát và xếp hạng website hàng tháng; Chương trình tập huấn nâng cao trình độ sử dụng NukeViet hàng năm cho giáo viên và cán bộ quản lý giáo dục đang thực hiện công tác quản trị các hệ thống sử dụng nền tảng NukeViet.<br  /><br  /><span style="font-size:16px;"><strong>Hỗ trợ triển khai NukeViet cho các trường, Phòng và Sở GD&amp;ĐT</strong></span><br  /><br  />Nhằm hỗ trợ triển khai NukeViet cho các trường, Phòng và Sở GD&amp;ĐT một cách toàn diện, đồng bộ và tiết kiệm, hiện tại, Liên minh phần mềm nguồn mở giáo dục NukeViet chuẩn bị ra mắt. Liên minh này do Công ty cổ phần phát triển nguồn mở Việt Nam đứng dầu và thực hiện việc điều phối công các hỗ trợ và phối hợp giữa các đơn vị trên toàn quốc. Thành viên của liên minh là các doanh nghiệp cung cấp sản phẩm và dịch vụ phần mềm hỗ trợ cho giáo dục (kể cả những đơn vị chỉ tham gia lập trình và những đơn vị chỉ tham gia khai thác thương mại). Liên minh sẽ cùng nhau làm việc để xây dựng một hệ thống phần mềm thống nhất cho giáo dục, có khả năng liên thông và kết nối với nhau, hoàn toàn dựa trên nền tảng phần mềm nguồn mở. Liên minh cũng hỗ trợ và phân phối phần mềm cho các đơn vị làm phần mềm trong ngành giáo dục với mục tiêu là tiết kiệm tối đa chi phí trong khâu thương mại, mang tới cơ hội cho các đơn vị làm phần mềm giáo dục mà không cần phải lo lắng về việc phân phối phần mềm. Các doanh nghiệp quan tâm đến cơ hội kinh doanh bằng phần mềm nguồn mở, muốn tìm hiểu và tham gia liên minh có thể đăng ký tại đây: <a href="http://edu.nukeviet.vn/lienminh-dangky.html" target="_blank">http://edu.nukeviet.vn/lienminh-dangky.html</a><br  /><br  />Liên minh phần mềm nguồn mở giáo dục NukeViet đang cung cấp giải pháp cổng thông tin chuyên dùng cho phòng và Sở GD&amp;ĐT (NukeViet Edu Gate) cung cấp dưới dạng dịch vụ công nghệ thông tin (theo mô hình của <a href="https://vinades.vn/vi/download/van-ban-luat/Quyet-dinh-80-ve-thue-dich-vu-CNTT/" target="_blank">Quyết định số 80/2014/QĐ-TTg của Thủ tướng Chính phủ</a>) có thể hỗ trợ cho các trường, Phòng và Sở GD&amp;ĐT triển khai NukeViet ngay lập tức.<br  /><br  />Giải pháp cổng thông tin chuyên dùng cho phòng và Sở GD&amp;ĐT (NukeViet Edu Gate) có tích hợp website các trường (liên thông 3 cấp: trường - phòng - sở) cho phép tích hợp hàng ngàn website của các trường cùng nhiều dịch vụ khác trên cùng một hệ thống giúp tiết kiệm chi phí đầu tư, chi phí triển khai và bảo trì hệ thống bởi toàn bộ hệ thống được vận hành bằng một phần mềm duy nhất. Ngoài giải pháp cổng thông tin giáo dục tích hợp, Liên minh phần mềm nguồn mở giáo dục NukeViet cũng đang phát triển một số&nbsp;sản phẩm phần mềm dựa trên phần mềm nguồn mở NukeViet và sẽ sớm ra mắt trong thời gian tới.<div><br  />Hiện nay,&nbsp;NukeViet Edu Gate cũng&nbsp;đã được triển khai rộng rãi và nhận được sự ủng hộ của&nbsp;nhiều Phòng, Sở GD&amp;ĐT trên toàn quốc.&nbsp;Các phòng, sở GD&amp;ĐT quan tâm đến giải pháp NukeViet Edu Gate có thể truy cập&nbsp;<a href="http://edu.nukeviet.vn/" target="_blank">http://edu.nukeviet.vn</a>&nbsp;để tìm hiểu thêm hoặc liên hệ:<br  /><br  /><span style="font-size:14px;"><strong>Liên minh phần mềm nguồn mở giáo dục NukeViet</strong></span><br  />Đại diện: <strong>Công ty cổ phần phát triển nguồn mở Việt Nam (VINADES.,JSC)</strong><br  /><strong>Địa chỉ</strong>: Tầng 6, tòa nhà Sông Đà, 131 Trần Phú, Văn Quán, Hà Đông, Hà Nội<br  /><strong>Email</strong>: contact@vinades.vn, Tel: 024-85872007, <strong>Fax</strong>: 024-35500914,<br  /><strong>Hotline</strong>: 0904762534 (Mr. Hùng), 0936226385 (Ms. Ngọc),&nbsp;<span style="color: rgb(38, 38, 38); font-family: arial, sans-serif; font-size: 13px; line-height: 16px;">0904719186 (Mr. Hậu)</span><br  />Các Phòng GD&amp;ĐT, Sở GD&amp;ĐT có thể đăng ký tìm hiểu, tổ chức hội thảo, tập huấn, triển khai NukeViet trực tiếp tại đây: <a href="http://edu.nukeviet.vn/dangky.html" target="_blank">http://edu.nukeviet.vn/dangky.html</a><br  /><br  /><span style="font-size:16px;"><strong>Tìm hiểu về phương thức chuyển đổi các hệ thống website cổng thông tin sang NukeViet theo mô hình tích hợp liên thông từ trưởng, lên Phòng, Sở GD&amp;ĐT:</strong></span><br  /><br  />Đối với các Phòng, Sở GD&amp;ĐT, trường Nầm non, tiểu học, THCS, THPT... chưa có website, Liên minh phần mềm nguồn mở giáo dục NukeViet sẽ hỗ trợ triển khai NukeViet theo mô hình cổng thông tin liên cấp như quy định tại <a href="https://vinades.vn/vi/download/van-ban-luat/Thong-tu-quy-dinh-ve-ve-to-chuc-hoat-dong-su-dung-thu-dien-tu/" target="_blank">thông tư số <strong>53/2012/TT-BGDĐT</strong> của Bộ GD&amp;ĐT</a> ban hành ngày 20-12-2012 quy định về quy định về về tổ chức hoạt động, sử dụng thư điện tử và cổng thông tin điện tử tại sở giáo dục và đào tạo, phòng giáo dục và đào tạo và các cơ sở GDMN, GDPT và GDTX.<br  /><br  />Trường hợp các đơn vị có website và đang sử dụng NukeViet theo dạng rời rạc thì việc chuyển đổi và tích hợp các website NukeViet rời rạc vào NukeViet Edu Gate của Phòng và Sở có thể thực hiện dễ dàng và giữ nguyên toàn bộ dữ liệu.<br  /><br  />Trường hợp các đơn vị có website và nhưng không sử dụng NukeViet cũng có thể chuyển đổi sang sử dụng NukeViet để hợp nhất vào hệ thống cổng thông tin giáo dục cấp Phòng, Sở. Tuy nhiên mức độ và tỉ lệ dữ liệu được chuyển đổi thành công sẽ phụ thuộc vào tình hình thực tế của từng website.</div></div>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://aiwater2.xiris.vn/vi/news/savefile/Tin-tuc/ho-tro-tap-huan-va-trien-khai-nukeviet-cho-cac-phong-so-gd-dt-12.html" title="Hỗ trợ tập huấn và triển khai NukeViet cho các Phòng, Sở GD&amp;ĐT">https://aiwater2.xiris.vn/vi/news/savefile/Tin-tuc/ho-tro-tap-huan-va-trien-khai-nukeviet-cho-cac-phong-so-gd-dt-12.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; Horus
		</div>
		<div id="contact">
			<a href="mailto:erp.xiris@gmail.com">erp.xiris@gmail.com</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://aiwater2.xiris.vn/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
    <div class="no_load">
      <div style="text-align: center;background: #dcdcdc;width: 100%;padding: 10px;">
        <span style="position: relative;font-size: 16px; font-weight: 600;">
          Vui lòng đợi trong giây lát
          <div class="loader four">
          </div>
      </span>
      <span>

      </span>
  </div>
  <div class="load_box">
    <span>
      <i class="fa fa-spinner icon_loading"></i>
  </span>
</div>
</div>
<script src="https://aiwater2.xiris.vn/assets/js/jquery/jquery.min.js"></script>
<script>
/* 12/09/2026 (user): "sao chuyển hướng lâu quá ta, không tức thì được hả".
   Chốt chặn "khách chưa đăng nhập -> sang xiris.vn" ban đầu đặt trong themes/.../users/login.tpl,
   tức nằm trong THÂN trang. Đo thật: </head> kết thúc ở byte 30.509 còn đoạn chuyển hướng nằm ở
   byte 83.819, SAU 12 tệp CSS chặn dòng (FontAwesome, bootstrap, style.css...). Script trong body
   phải đợi mọi stylesheet đang chờ tải xong mới được chạy, nên người dùng nhìn thấy nguyên trang
   đăng nhập chớp lên rồi mới nhảy.
   Đưa lên DÒNG ĐẦU của <head>, trước cả <title> và mọi <link>: trình duyệt gặp là chạy ngay trong
   lúc đọc HTML, chưa tải tệp phụ nào.

   Tệp này dùng chung cho MỌI trang -> phải tự nhận ra mình đang ở trang đăng nhập; nơi khác thì
   thoát ra ngay, tốn vài micro giây. Trang đăng nhập chỉ được phát cho KHÁCH (người đã đăng nhập
   mở /vi/users/login/ là bị lõi đá sang Tổng quan trước khi trang kịp dựng - đã đo), nên không
   cần thêm dấu hiệu nào khác.

   ⚠⚠ HAI CỬA THOÁT — ĐỪNG GỠ, không có là xiris.vn hỏng thì KHÔNG AI vào được aiwater:
     1. ?dnnb=1  -> ở lại form của aiwater (nhớ 30 phút bằng cookie, vì vòng POST đăng nhập quay
        lại trang này mà không còn tham số trên URL).
     2. sso_status= / sso_login= -> KHÔNG đẩy đi. includes/sso/src/Controller.php::legacyLoginUrl()
        đá về đúng trang này kèm &sso_status=<lý do> khi SSO hỏng hoặc bị tắt; đẩy tiếp là hai site
        đá qua đá lại vô tận. */
(function () {
    try {
        var p = window.location.pathname || '', q = window.location.search || '';
        if (!/\/users\/login\//.test(p) && !(/[?&]nv=users(?:&|$)/.test(q) && /[?&]op=login(?:&|$)/.test(q))) { return; }
        if (/[?&](?:dnnb=1|sso_status=|sso_login=)/.test(q)) {
            document.cookie = 'xiris_dnnb=1; Max-Age=1800; path=/';
            return;
        }
        if (/(?:^|;\s*)xiris_dnnb=1/.test(document.cookie)) { return; }
        /* 12/09 (user chốt): đá THẲNG sang xiris.vn, KHÔNG đi qua /sso/start. Đã thử
           /sso/start (tự bật trang đăng nhập) — user không muốn: "tự mở modal chi".
           15/09 (user): đích đổi từ TRANG CHỦ sang TRANG ĐĂNG NHẬP — "giờ mình không muốn
           nó vô trang https://xiris.vn/ nữa mà vô trang https://xiris.vn/vi/users/login/,
           logic đăng nhập y như cũ, chỉ là đổi đường dẫn chuyển hướng thôi". Trang đó dùng
           CÙNG luồng SSO với modal ở trang chủ (POST /login/ kèm sso_direct=1), nên khách
           khỏi phải tự đi tìm nút đăng nhập nữa.
           ⚠ URL này có 4 BẢN SAO — modules/duan/functions.php + 3 layout header_only*.tpl
           (theme_xiris x2, lastest_default x1). Đổi thì đổi cho đủ cả 4. */
        window.location.replace('https://xiris.vn/vi/users/login/');
    } catch (e) {}
})();
</script>
<script>
    var op_nuke='savefile'
  </script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="cb",nv_check_pass_mstime=17938000,nv_area_admin=0,nv_safemode=0,theme_responsive=1,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://aiwater2.xiris.vn/assets/js/language/vi.js"></script>
<script src="https://aiwater2.xiris.vn/assets/js/DOMPurify/purify3.js"></script>
<script src="https://aiwater2.xiris.vn/assets/js/global.js"></script>
<script src="https://aiwater2.xiris.vn/assets/js/site.js"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/news.js"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/main.js?v=1789094780"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/custom.js"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/additional_js/moment/moment.js"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/additional_js/moment/js/moment-with-locales.min.js"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/additional_js/moment/locale/vi.js"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/css/additional_css/datetimepicker/js/bootstrap-material-datetimepicker.js"></script>
<script>
    function myFunction() {
      var x = document.getElementById("my-Links");
      if (x.style.display === "block") {
        x.style.display = "none";
      } else {
        x.style.display = "block";
      }
    }
  </script>
<script>
    function openNav() {
      document.getElementById("mySidepanel").style.width = "250px";
    }

    function closeNav() {
      document.getElementById("mySidepanel").style.width = "0";
    }
  </script>
<script>
    function openPage(pageName, elmnt, color,mau) {

      // Hide all elements with class="tabcontent" by default */
      var i, tabcontent, tablinks;
      tabcontent = document.getElementsByClassName("tabcontent");
      for (i = 0; i < tabcontent.length; i++) {
        tabcontent[i].style.display = "none";
      }

      // Remove the background color of all tablinks/buttons
      tablinks = document.getElementsByClassName("tablink");
      for (i = 0; i < tablinks.length; i++) {
        tablinks[i].style.backgroundColor = "";
        tablinks[i].style.color="black";
      }

      // Show the specific tab content
      document.getElementById(pageName).style.display = "block";

      // Add the specific color to the button used to open the tab content
      elmnt.style.backgroundColor =color; 

      elmnt.style.color ="white"; 
    }
    // document.addEventListener("DOMContentLoaded", function() {
    // // Hide the loader when the content is fully loaded
    //   document.querySelector(".loader-wrapper").style.display = "none";
    // });
    function loadpage() {
      document.body.prepend(createElementFromHTML('<div class="loader-wrapper">' +
        '<div class="loader">' +
        '<div class="circle1"></div>' +
        '<div class="circle2"></div>' +
        '<div class="circle3"></div>' +
        '<div class="center"></div>' +
        '</div>' +
        '</div>'));

      function createElementFromHTML(htmlString) {
        const div = document.createElement('div');
        div.innerHTML = htmlString.trim();
        return div.firstChild;
      }
      //phan_mem_dang_chay();
      // hello();
      document.querySelector(".loader-wrapper").style.display = "flex";
    }
    function loadpage_tutu() {
      phan_mem_dang_chay();
      hello();
      document.querySelector(".loader-wrapper").style.display = "flex";
    }
    function unload() {
      setTimeout(function() { 
        document.querySelector(".loader-wrapper").style.display = "none";
      }, 1000);

    }

    function unload2() {
      setTimeout(function() { 
        document.querySelector(".loader-wrapper").style.display = "none";
      }, 100);
    }

    var allLinks = document.querySelectorAll(".loadpage");

    // Thêm bộ lắng nghe sự kiện khi click vào mỗi thẻ a
    allLinks.forEach(function(link) {
      link.addEventListener("click", function(event) {
        loadpage();
      });
    });

    var allLinks = document.querySelectorAll(".loadpage_tutu");

    // Thêm bộ lắng nghe sự kiện khi click vào mỗi thẻ a
    allLinks.forEach(function(link) {
      link.addEventListener("click", function(event) {
        loadpage_tutu();
      });
    });
  </script>
<script src="/themes/theme_xiris/js/fullcalender.min.js?t=1792029555"></script>
<script type="text/javascript"src="https://aiwater2.xiris.vn/assets/js/jquery-ui/jquery-ui.min.js"></script>
<script type="text/javascript" src="https://aiwater2.xiris.vn/assets/js/language/jquery.ui.datepicker-vi.js"></script>
<script type="text/javascript" src="https://aiwater2.xiris.vn/assets/js/select2/select2.min.js"></script>
<script type="text/javascript"src="https://aiwater2.xiris.vn/themes/theme_xiris/js/yearpicker.js"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/tree.chart.js"></script>
<script src="/themes/theme_xiris/js/jquery-confirm.min.js?t=1792029555"></script>
<script src="https://unpkg.com/tributejs@5.1.3/dist/tribute.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script>
<script async defer crossorigin="anonymous" src="https://connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v18.0&appId=363469809004152&autoLogAppEvents=1" nonce="TfC8yNBk"></script>
<script src="https://aiwater2.xiris.vn/webpush/main.js"></script>
<script>
    let link_web = 'aiwater2.xiris.vn';
    var global_user_id = 0;
  </script>
<script type="text/javascript">

    function musicstart(){
      var audio = new Audio('/uploads/business/am_thanh/thong_bao.mp3');
      audio.play();
      setTimeout(function(){ 
        audio.pause();
      }, 
      5000);
    }

  </script>
<script defer src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_font_weight.js?v=v1dd27a73"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_loading.js?v=v5loadingorbit"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_bang_the.js?v=v12cotgop"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_loc.js?v=v5"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_len_xuong.js?v=v2"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_tabs.js?v=v1"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_datepicker.js?v=v1"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_select2.js?v=v4"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_copy.js?v=v2"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_quaylai.js?v=v11cuatuchoi"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_xemtep.js?v=v12gophopcu"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_ten_in.js?v=v2uutien"></script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_chup_anh.js?v=v4"></script>
<script>
    (function () { try {
      var t = localStorage.getItem('xiris_theme');
      if (t === 'dark') { document.documentElement.setAttribute('data-xtheme', 'dark'); }
    } catch (e) {} })();
  </script>
<script>window.XIRIS_LH = (function () { try { return JSON.parse(document.getElementById('xiris_lh_json').textContent || 'null'); } catch (e) { return null; } })();</script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/xiris_excel_lh.js?v=v1"></script>
<script>
  /* 11/09/2026: letterhead phải nằm TRONG khối in của màn, không đứng ngoài.
     Lý do: mỗi màn có kiểu "ẩn cả trang, chỉ chừa khối của tôi" riêng
     (body{visibility:hidden} / body * / body.x > :not(#root){display:none} ...). Đứng ngoài
     thì lần nào cũng phải đấu độ đặc hiệu CSS với từng màn — thắng chỗ này thua chỗ kia (đúng lỗi
     phiếu chi tiết bảo trì không có header). Nhét vào trong khối in là hết đấu: khối in hiện thì
     header hiện theo, lại thừa hưởng luôn lề trái/phải nên canh thẳng hàng với nội dung, và vì
     nằm trong dòng chảy nên tự đẩy nội dung xuống, khỏi cần chừa lề cứng. */
  (function () {
      var head = document.getElementById('xirisPdfHeader');
      var foot = document.getElementById('xirisPdfFooter');
      if (!head && !foot) return;
      // Xếp theo thứ tự ưu tiên: khối nào khớp trước thì dùng khối đó.
      var DS_GOC = ['#ls_ct', '#bcmPrintRoot', '#tkxlnPrintRoot', '.pvv', '.bcv-wrap',
                    '.nh-wrap', '.ts-wrap', '.tkw', '.mr', '.mn-page'];
      var choCu = null, keCu = null, fChoCu = null, fKeCu = null;
      function vaoTrong() {
          if (choCu || fChoCu) return;             // đã dời rồi (Chrome bắn beforeprint 2 lần)
          var goc = null;
          for (var i = 0; i < DS_GOC.length && !goc; i++) goc = document.querySelector(DS_GOC[i]);
          if (!goc) return;                        // màn không có khối in -> thôi, khỏi chèn
          // Màn Báo cáo bảo trì có sẵn khung .bcm-lh để đặt letterhead (nay cũng lấy ảnh theo
          // cấu hình). Nếu khung đó ĐANG CÓ ẢNH thì thôi, khỏi chèn nữa kẻo chồng hai cái;
          // còn nếu trống (cấu hình đang để kiểu "Mẫu" nên không có ảnh) thì vẫn chèn bình thường.
          var sanCo = goc.querySelector('.bcm-lh img[src], .xf-lh-san-co img[src]');
          if (head && !(sanCo && sanCo.getAttribute('src'))) {
              choCu = head.parentNode;
              keCu = head.nextSibling;
              goc.insertBefore(head, goc.firstChild);
          }
          if (foot) {
              fChoCu = foot.parentNode;
              fKeCu = foot.nextSibling;
              goc.appendChild(foot);
          }
      }
      function veCho() {
          if (choCu && head) {
              choCu.insertBefore(head, keCu);
              choCu = null;
              keCu = null;
          }
          if (fChoCu && foot) {
              fChoCu.insertBefore(foot, fKeCu);
              fChoCu = null;
              fKeCu = null;
          }
      }
      window.addEventListener('beforeprint', vaoTrong);
      window.addEventListener('afterprint', veCho);
      // Safari cũ không bắn beforeprint/afterprint mà đổi trạng thái matchMedia.
      if (window.matchMedia) {
          var mq = window.matchMedia('print');
          var nghe = function (e) { e.matches ? vaoTrong() : veCho(); };
          if (mq.addEventListener) { mq.addEventListener('change', nghe); }
          else if (mq.addListener) { mq.addListener(nghe); }
      }
  })();
  </script>
<script type="module">
  // Import the functions you need from the SDKs you need
    import { initializeApp } from "https://www.gstatic.com/firebasejs/11.3.1/firebase-app.js";
    import { getAnalytics } from "https://www.gstatic.com/firebasejs/11.3.1/firebase-analytics.js";
  // TODO: Add SDKs for Firebase products that you want to use
  // https://firebase.google.com/docs/web/setup#available-libraries

  // Your web app's Firebase configuration
  // For Firebase JS SDK v7.20.0 and later, measurementId is optional
    const firebaseConfig = {
      apiKey: "AIzaSyAmpmNf8D9UnsTG8HH3oQdaSnzmufrMeRM",
      authDomain: "notification-gw.firebaseapp.com",
      projectId: "notification-gw",
      storageBucket: "notification-gw.firebasestorage.app",
      messagingSenderId: "106889627175",
      appId: "1:106889627175:web:298a59659065e43e9c3002",
      measurementId: "G-FTTYGHJLME"
    };

  // Initialize Firebase
    const app = initializeApp(firebaseConfig);
    const analytics = getAnalytics(app);
  </script>
<script type="text/javascript">

    function showNotification(noi_dung_thong_bao) {
      am_thanh_mac_dinh();
      var notification = document.getElementById('notification');
      notification.style.display = 'block';
      $('#notification .message').html(noi_dung_thong_bao);
      notification.classList.add('success');
      setTimeout(function () {
        notification.style.display = 'none';
        notification.classList.remove('success', 'error', 'warning');
      }, 7000);
    }

    function showNotification_noaudio(noi_dung_thong_bao) {
      var notification = document.getElementById('notification');
      notification.style.display = 'block';
      $('#notification .message').html(noi_dung_thong_bao);
      notification.classList.add('success');
      setTimeout(function () {
        notification.style.display = 'none';
        notification.classList.remove('success', 'error', 'warning');
      }, 7000);
    }

    function closeNotification() {
      var notification = document.getElementById('notification');
      notification.style.display = 'none';
      notification.classList.remove('success', 'error', 'warning');
    }
    // doi_pass();
    // function doi_pass(){
    //   $.ajax({
    //     type : 'POST',
    //     url: nv_base_siteurl + 'index.php?' + nv_name_variable + '=business&' + nv_fc_variable + '=main&mod=kiem_tra_doi_pass',
    //     contentType: false,
    //     processData: false,
    //     success : function(res){
    //       res2=JSON.parse(res);
    //       if(res2.status=="OK"){
    //         $('#modal_doi_pass').modal('show');

    //       }else if(res2.status=="KO"){

    //       }else{
    //         alert('Có lỗi xảy ra, vui lòng kiểm tra lại')

    //       }
    //     },
    //     error: function(xhr, ajaxOptions, thrownError) {
    //       alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    //     }
    //   });
    // }
    function doi_mat_khau() {
      var a = $('#mat_khau_1').val();
      var b = $('#mat_khau_2').val();

      var regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$/;

      if (!regex.test(a)) {
        alert('Mật khẩu phải có ít nhất 8 ký tự, bao gồm chữ, chữ IN HOA, số và ký tự đặc biệt!');
        return;
      }

      if (a !== b) {
        alert('Mật khẩu không trùng khớp!');
        return;
      }

      $.ajax({
        type: 'POST',
        url: nv_base_siteurl + 'index.php?' + nv_name_variable + '=business&' + nv_fc_variable + '=main&mod=doi_pass',
        data: { mat_khau: a },
        success: function (res) {
          res2 = JSON.parse(res);
          if (res2.status == "OK") {
            alert('Đổi mật khẩu thành công!');
            window.location.href = 'https://x.greenworld.vn/vi/users/logout/';
          } else {
            alert('Có lỗi xảy ra, vui lòng kiểm tra lại');
          }
        },
        error: function (xhr, ajaxOptions, thrownError) {
          alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
        }
      });
    }
    // xac_thuc_ip();
    // function xac_thuc_ip(){
    //   $.ajax({
    //     type : 'POST',
    //     url: nv_base_siteurl + 'index.php?' + nv_name_variable + '=business&' + nv_fc_variable + '=main&mod=xac_thuc_ip',
    //     contentType: false,
    //     processData: false,
    //     success : function(res){
    //       res2=JSON.parse(res);
    //       if(res2.status=="OK"){
    //       }else if(res2.status=="KO"){

    //       }else{
    //         alert('Có lỗi xảy ra, vui lòng kiểm tra lại')

    //       }
    //     },
    //     error: function(xhr, ajaxOptions, thrownError) {
    //       alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    //     }
    //   });
    // }
  </script>
<script>
  var elements = document.getElementsByClassName('comment-info');

  for (var i = 0; i < elements.length; i++) {
    var content = elements[i].innerHTML;

    // Dùng RegExp để tìm các từ bắt đầu bằng @ và bọc strong
    var newContent = content.replace(/@(\w+)/g, function(match, p1) {
      return '<strong>@' + p1 + '</strong>';
    });

    elements[i].innerHTML = newContent;
  }
</script>
<script src="https://aiwater2.xiris.vn/themes/theme_xiris/js/bootstrap.min.js"></script>
<script type="text/javascript">
  function loading(){
    var $elie = $(".icon_loading");
    rotate(0);
    function rotate(degree) {
     $elie.css({ WebkitTransform: 'rotate(' + degree + 'deg)'});
     $elie.css({ '-moz-transform': 'rotate(' + degree + 'deg)'});
     setTimeout(
      function() {
       rotate(++degree); 
   },
   10
   );
 }    
 $(".no_load").addClass("load");
 $(".no_load").removeClass("no_load");
}
function removeloading(){
   $(".load").addClass("no_load");
   $(".load").removeClass("load");

}
function go_back(){
    history.back();
}
</script>
<script type="text/javascript">
  // Hàm kích hoạt dịch
        function triggerTranslate(lang) {
            // Cập nhật giao diện nút bấm
            document.querySelectorAll('.lang-item').forEach(el => el.classList.remove('active'));
            document.getElementById(lang + '-btn').classList.add('active');

            // Tìm thẻ select của Google
            var select = document.querySelector('.goog-te-combo');
            if (select) {
                select.value = lang;
                select.dispatchEvent(new Event('change')); // Bắt buộc phải có dòng này Google mới hiểu
            }
        }

        // Cấu hình Google
        function googleTranslateElementInit() {
            new google.translate.TranslateElement({
                pageLanguage: 'vi',
                includedLanguages: 'en,vi',
                autoDisplay: false
            }, 'google_translate_element');
        }
        // Hàm dọn dẹp thanh banner cứng đầu (Chạy liên tục)
        setInterval(function() {
            var banner = document.querySelector('.goog-te-banner-frame');
            if (banner) banner.style.display = 'none';
            if (document.body.style.top !== '0px') document.body.style.top = '0px';
        }, 500);
    </script>
<script type="text/javascript" src="https://aiwater2.xiris.vn//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
</body>
</html>