• Hotline: 0989.000.420
  • Giới thiệu
  • Vai trò pn
  • Facbook hội pn
  • Sitemap
SỬA CHỮA ĐỘNG CƠ ĐIỆN YÊN BÁI

Vĩnh Kiên- Yên Bình- Yên Bái 0989 000 420- 038 540 7810

  • Trang chủ
  • Giới thiệu
    • Giới thiệu chung
    • Chức năng nhiệm vụ
    • Cơ cấu tổ chức
    • Các phòng chức năng nghiệp vụ
      • Văn phòng Ban QLDA Đầu tư xây dựng
      • Phòng Tài chính - Kế toán
      • Phòng Kế hoạch tổng hợp
      • Phòng Kỹ thuật - Thẩm định
      • Phòng Điều hành - Dự án
  • Thiết bị điện
  • Hệ thống DCS
    • Thiết kế tủ điện
    • Lập trình PLC
    • Giao diện DCS
    • Chuyển đối số
    • Modbus
    • Hệ thống rơ le bảo vệ
    • Lưới điện
  • Truyền thông công nghiệp
  • Config IEC104 , 61850
    • RS485
    • IEC104
    • IEC61850
    • Vòng quay may mắn
  • Máy điện
  • Góp ý
  • Liên hệ
Học Học Nữa - Học Mãi
Liên hệ quảng cáo
  • Trang chủ
  • C#

giao diện Screen zoom và chuyển modbile

Bởi Operator vào 11 thg 11, 2026
Chia sẻ
  • Sao chép liên kết
  • Chia sẻ với Facebook
  • Chia sẻ với X
  • Chia sẻ với Pinterest
  • Chia sẻ với Linkedin
  • Gửi bài qua Email

gửi email cho tác giả




     Tôi sẽ giải nén dự án và tìm phần xử lý chế độ Tablet/Mobile cùng trang Quản lý người dùng.

    Admin giờ có ô tích để tắt chế độ Tablet/Mobile cho cả hệ thống. Tôi chưa build hay chạy thử được vì môi trường này không có .NET. Tôi chỉ kiểm tra cú pháp scada.js (đạt) và đọc lại code, nên bạn build và thử giúp tôi.

    Cách dùng: vào tab Người dùng, ngay dưới tiêu đề “Quản lý người dùng” có ô tích “Cho phép chế độ Tablet / Mobile”.

    • Bỏ tích (tắt):
      • Giao diện luôn là PC, không tự nhận diện lại.
      • Zoom trình duyệt (Ctrl + lăn chuột) hay thu nhỏ cửa sổ không còn nhảy sang Tablet hoặc Mobile.
      • Nhóm nút chọn Tự động / PC / Tablet / Mobile trên thanh trên bị ẩn.
      • Người dùng đang mở ở chế độ khác sẽ được đưa về PC ngay.
    • Tích (bật): giữ nguyên hành vi cũ, mặc định vẫn là bật.

    Lưu ý:

    • Cài đặt áp dụng cho mọi người dùng và được lưu vào file ui_settings.json trong thư mục dữ liệu. Các máy khác đang mở cần tải lại trang để nhận.
    • Khi tắt, ở điện thoại trang vẫn hiển thị theo bề rộng PC và bạn zoom bằng tay (chụm ngón tay). Tôi chủ ý giữ vậy để bố cục PC không bị vỡ.
    • Ở PC, các quy tắc ẩn ô trạng thái và tên user khi cửa sổ hẹp dưới 1700 hoặc 1500 px (CSS có sẵn) vẫn còn. Nếu bạn muốn bỏ luôn thì nói tôi.

    File đã sửa: UiSettings.cs (mới), Program.cs, Components/App.razor, Components/Home.razor, wwwroot/scada.js. Tôi đã nâng số phiên bản scada.js lên v=18 để trình duyệt tự tải bản mới.

    File đính kèm: ScadaWeb_tat_tablet_mobile.zipNguyên nhân: ở chế độ chạy, canvas tự co vừa cửa sổ. Khi bạn zoom trình duyệt thì cửa sổ (tính theo CSS px) nhỏ lại, canvas co theo nên widget trông như không phóng to, chỉ có thanh menu phóng to. Tôi sẽ bù hệ số zoom của trình duyệt vào tỉ lệ canvas.

    Tôi đã sửa để khi zoom trình duyệt (Ctrl + lăn chuột), cả menu lẫn widget phóng to hoặc thu nhỏ cùng nhau. Tôi chưa build hay chạy thử được (môi trường này không có .NET), nên bạn build và thử giúp tôi.

    Nguyên nhân: ở chế độ chạy, canvas tự co vừa khung cửa sổ. Khi bạn zoom trình duyệt, cửa sổ tính theo CSS px nhỏ lại, canvas co theo, nên widget trông như không đổi còn thanh menu thì to ra.

    Cách sửa (trong wwwroot/scada.js):

    • Tôi thêm hàm browserZoom(), suy ra mức zoom từ tỉ lệ outerWidth/innerWidth rồi làm tròn về các mức chuẩn của Chrome/Edge (50%, 67%, 75%, 90%, 110%, 125%, 150%...).
    • Tỉ lệ canvas được nhân thêm hệ số này, nên canvas giữ đúng tỉ lệ so với khung ở 100%.
    • Toạ độ widget vẫn tính theo hệ thiết kế, nên khi zoom widget và icon không bị xê dịch.

    Giới hạn:

    • Cách này chỉ đo được khi cửa sổ bình thường. Nếu mở DevTools dạng dock, hoặc cửa sổ có tỉ lệ lạ (lệch hơn 4% so với mức zoom chuẩn), hệ số quay về 1 và canvas co vừa khung như trước.
    • Màn cảm ứng (điện thoại, tablet) không dùng cách này, vì ở đó bạn zoom bằng ngón tay.
    • Chế độ chỉnh sửa của Admin vốn đã giữ tỉ lệ 1:1 nên không bị ảnh hưởng.
    • Tôi đã nâng số phiên bản scada.js lên v=19, trình duyệt sẽ tự tải bản mới.

    File đính kèm: ScadaWeb_tat_tablet_mobile.zip (đã gồm cả thay đổi Tablet/Mobile ở lượt trước).Ở chế độ Runtime, giữ Ctrl + lăn chuột (hoặc chụm 2 ngón trên touchpad) sẽ zoom sơ đồ ngay tại điểm con trỏ. Tôi chưa build hay chạy thử được vì môi trường này không có .NET, nên bạn build và thử giúp tôi.

    • Zoom tại con trỏ: điểm dưới con trỏ đứng yên, phần còn lại phóng ra hoặc thu vào quanh điểm đó.
    • Widget không xê dịch: cả canvas dùng một phép co giãn chung, nên widget và icon giữ nguyên vị trí tương đối.
    • Mức zoom: từ 50% đến 400%. Khi phóng to hơn khung, dùng thanh cuộn của vùng sơ đồ để di chuyển.
    • Zoom vùng sơ đồ, không zoom thanh menu: Ctrl + lăn chuột chỉ phóng to phần sơ đồ, thanh menu giữ nguyên. Đây là cách duy nhất để zoom đúng tại con trỏ. Zoom của trình duyệt chỉ phóng quanh góc trang nên không làm được. Nếu để con trỏ trên thanh menu, Ctrl + lăn chuột vẫn là zoom thường của trình duyệt.
    • Phím Ctrl + / Ctrl −: vẫn zoom cả trang như trước, và sơ đồ vẫn phóng đồng bộ theo như bản trước.
    • Không bị chiếm thao tác: khi con trỏ nằm trong widget Trend, Alarm, bản đồ, ô chọn hoặc ô nhập, Ctrl + lăn chuột vẫn giữ tác dụng riêng của chúng.
    • Chế độ thiết kế: Admin vẫn dùng cách zoom CAD sẵn có (lăn chuột), không đổi.

    Tôi đã nâng scada.js lên v=20 để trình duyệt tự tải bản mới. File đính kèm: ScadaWeb_tat_tablet_mobile.zip, gồm cả các thay đổi ở hai lượt trước.Giờ sơ đồ tự vừa khít cửa sổ khi đăng nhập, khi bấm “Toàn màn hình” và khi đổi sang màn hình khác. Chế độ zoom thông minh chỉ chạy khi chính người dùng zoom. Tôi chưa build hay chạy thử được vì môi trường này không có .NET, nên bạn build và thử giúp tôi.

    Tự vừa màn hình: khi đăng nhập, bấm “Toàn màn hình”, thoát toàn màn hình hoặc đổi màn hình, hệ thống làm đủ bốn việc sau:

    • bỏ mức zoom cũ của người dùng;
    • cuộn về góc trên-trái;
    • tính lại kích thước để vừa khít khung;
    • chạy lại thêm hai lần sau 150 ms và 500 ms, vì cửa sổ đổi cỡ dần khi vào hoặc thoát toàn màn hình.

    Zoom chỉ tính khi người dùng zoom:

    • Cách cũ suy mức zoom từ tỉ lệ cửa sổ ngoài và trong, dễ đoán sai và có thể làm sơ đồ bị lệch ngay từ đầu.
    • Cách mới chỉ so mức zoom hiện tại với mức lúc hệ thống tự vừa màn hình gần nhất.
    • Chưa zoom thì hệ số là 1, sơ đồ vừa khít cửa sổ dù trình duyệt đang đặt zoom bao nhiêu. Chỉ khi bạn bấm Ctrl + / Ctrl − thì sơ đồ mới phóng đồng bộ theo menu.
    • Ctrl + lăn chuột vẫn zoom tại điểm con trỏ như lượt trước.

    Chưa rõ: trong ảnh, sơ đồ không phủ hết bề ngang và có thanh cuộn dọc. Tôi chưa biết chắc nguyên nhân. Có thể do hệ số zoom đoán sai ở bản cũ, và cách mới sẽ khắc phục. Cũng có thể màn hình này có widget nằm ngoài vùng thiết kế 1700×850, và nếu vậy bản này không tự co theo phần đó. Bạn thử bản mới, nếu vẫn lệch thì gửi lại ảnh kèm cỡ cửa sổ.

    Tôi đã nâng scada.js lên v=21. File đính kèm: ScadaWeb_tat_tablet_mobile.zip, gồm cả các thay đổi ở những lượt trước.Khi mất kết nối, trang giờ tự nối lại, hoặc tự tải lại khi server chạy lại, nên người dùng không phải bấm “Reload” nữa. Tôi chưa build hay chạy thử được vì môi trường này không có .NET, nên bạn build và thử giúp tôi.

    Nguyên nhân: Blazor Server chỉ thử nối lại 8 lần rồi dừng. Nếu server khởi động lại thì phiên cũ không còn, nên chỉ còn nút “Reload”.

    Cách sửa:

    • wwwroot/reconnect.js (file mới): Blazor nối lại không giới hạn số lần, mỗi 2 giây.
    • Nối lại được: trang giữ nguyên, không tải lại.
    • Server chạy lại nhưng phiên cũ mất: nếu 5 giây sau khi server lên mà vẫn chưa nối lại được, trang tự tải lại. Server chưa lên thì cứ chờ.
    • Có mạng trở lại hoặc quay lại tab trình duyệt: kiểm tra ngay, không chờ chu kỳ 2 giây.
    • App.razor: tôi chuyển Blazor sang khởi động thủ công để áp các thiết lập trên.
    • Program.cs: server giữ phiên đã ngắt 10 phút (mặc định 3 phút), nên mất kết nối ngắn thì nối lại đúng phiên cũ.

    Lưu ý:

    • Trong lúc chờ, vẫn thấy lớp mờ “Could not reconnect...” của Blazor, nhưng sẽ tự biến mất. Nếu muốn ẩn hẳn lớp mờ hoặc thay bằng thông báo tiếng Việt như “Đang kết nối lại…”, tôi làm thêm được.
    • Hàm cấu hình nối lại này theo cách dùng của .NET 8. Phần phát hiện mất kết nối còn có một đường dự phòng đọc trạng thái của lớp mờ mặc định. Bạn thử bằng cách tắt rồi bật lại ScadaWeb.exe khi đang mở trang, và báo tôi nếu trang không tự quay lại.

    File đính kèm: ScadaWeb_tat_tablet_mobile.zip, gồm cả các thay đổi ở những lượt trước.Khi tự kết nối lại (hoặc nhấn F5), trang giờ quay về đúng màn hình đang mở, không về màn hình chính nữa. Tôi chưa build hay chạy thử được vì môi trường này không có .NET, nên bạn build và thử giúp tôi.

    Nguyên nhân: màn hình đang xem chỉ nằm trong bộ nhớ của phiên. Khi phiên mất và trang tải lại, địa chỉ vẫn là / nên hệ thống đưa về màn hình mặc định.

    Cách sửa:

    • Mỗi khi đổi màn hình, địa chỉ trang tự cập nhật thành dạng /?v=scr:<id>&r=0. Cập nhật bằng history.replaceState, nên không tải lại trang và không thêm mục vào lịch sử trình duyệt.
    • v là màn hình hay tab đang mở, gồm màn hình, Trend, Alarm, Báo cáo, Thiết bị, Người dùng.
    • r là chế độ của Admin: 1 là Runtime, 0 là Edit.
    • Khi trang tải lại, hệ thống đọc v và r rồi mở đúng chỗ đó.
    • Màn hình nào user không còn quyền vào, hoặc đã bị xoá, thì tự chuyển sang màn hình được phép đầu tiên.
    • Địa chỉ này còn dùng để gửi link đúng màn hình cho người khác. Họ vẫn phải đăng nhập, và chỉ vào được màn hình họ có quyền.

    Lưu ý:

    • Đăng nhập mới (không có ?v=) vẫn vào màn hình mặc định của user như trước.
    • Nếu phiên đăng nhập hết hạn trong lúc mất kết nối, trang sẽ về trang đăng nhập. Đăng nhập xong sẽ vào màn hình mặc định, chưa quay lại đúng chỗ cũ. Nếu muốn quay lại đúng chỗ cũ thì tôi làm thêm được.
    • Chỉ nhớ được màn hình và chế độ. Popup đang mở, vùng chọn hay mức zoom thì không giữ.

    Tôi đã nâng scada.js lên v=22. Các file đã sửa: Components/Home.razor, wwwroot/scada.js, Components/App.razor. File đính kèm: ScadaWeb_tat_tablet_mobile.zip, gồm cả các thay đổi ở những lượt trước.

    Nội dung chính
      0 Nhận xét
      Tags: C#

      Cùng chuyên mục

      Liên hệ quảng cáo

      Tin mới

        Liên hệ (Contact)

        Tên

        Email *

        Thông báo *

        Tìm kiếm (SEARCH)

        Main Tags

        • ADROID
        • Affiliate + Dropshipping
        • AGC
        • AI
        • analog
        • Apk adroid
        • ASP.NET
        • âm nhạc
        • Âm thanh
        • Âm Thanh Xe Hơi
        • bản đồ địa chính
        • Bản tin xã Vĩnh Kiên
        • Bảo dưỡng xe MG
        • bảo hiểm
        • Bảo vệ môi Trường
        • beckhoff
        • bể phốt
        • Bệnh
        • biến áp xung
        • Biến áp xuyến
        • Biến tần
        • Biến tần KDE300A
        • biến tần Schneider
        • Biến tần Simens
        • biến tần yaskawa
        • blogspot
        • bộ hòa
        • bồn cầu
        • C#
        • C# thiết bị phụ
        • C# web
        • C53 realme
        • các nhà phân phối
        • cad electrical 2019
        • cải tạo
        • cài win
        • camera
        • Chào mừng 8/3
        • Chat gpt
        • Chăm sóc sắc đẹp
        • chế tạo biến tần
        • Chi Bộ
        • Chi Đoàn
        • chỉ huy trưởng
        • chìa
        • Chìa khóa thành công
        • chung tay
        • chuyển đổi số
        • chuyên gia
        • CODE WIN CC
        • CODESYS
        • com ảo
        • Công Đoàn
        • công tác hội
        • Cơ điện tử
        • cp1243-7
        • Crack tia
        • dao diện tia
        • Dạy con ngoan giỏi
        • Dạy con thông minh
        • Dây điện từ
        • DCS
        • Dịch vụ
        • driver
        • Dso138
        • Dự án
        • Đảng - Đoàn thể
        • Đánh bóng ô tô
        • Đào tạo nghề
        • Đào tạo vận hành
        • đẩu tư Bất động sản
        • đầu tư tài chính
        • Điện
        • Điện trở
        • Điện tử công suất
        • điện tường
        • điều khiển nhiệt độ
        • điều tốc
        • điều tốc EVN
        • Đồ điện sửa chữa
        • Động cơ điện 1 pha
        • Động cơ điện 3 pha
        • Động cơ mua bán
        • động cơ vạn năng
        • đục tường
        • encoder
        • encore
        • Enigma Protector
        • Excel
        • Facebook
        • factory io
        • fasstAPI
        • faststone capture
        • fuxa
        • game đế chế
        • Gia Đình
        • Góc học tập và làm theo lời Bác
        • GOV
        • grafana
        • graphana
        • hàn nhiệt
        • hàn ống
        • Hantek 2c42
        • HIK
        • HMI
        • hmi delta
        • hmi simnes
        • HMI Wedcon
        • Học chức danh
        • học tiếng anh
        • Hội thi
        • IEC
        • IEC 104
        • iec61850
        • IGBT
        • INVT
        • karaoke
        • Kaspersky Internet Security
        • KEP OPC
        • kepopc
        • key win cc oa
        • Khí cụ điện
        • khởi động mềm
        • khởi nghiệp
        • Kích
        • Kích cá
        • km
        • làm đẹp
        • Làm kinh tế giỏi
        • Lập công ty
        • lập trình zen
        • Lịch làm việc
        • Lịch sự
        • liệt não
        • Link kiện điện tử
        • logo simens
        • Lỗi phạt ô tô
        • mạch âm thanh
        • Mạch băm xung
        • Mạch nguồn xung
        • mạch nồi cơm
        • mạng
        • Máy biến áp
        • máy cắt
        • máy giặt
        • máy hàn
        • máy hàn chip
        • máy hàn tig wp 300
        • Máy lọc dầu
        • Máy phát điện
        • Máy phát điện xăng
        • máy tính
        • MG zs
        • Microstation SE
        • mobus
        • MODBUS
        • Module phát âm thanh MP3 DY-SV5W
        • mqtt
        • mua ô tô
        • mường hum
        • My Music
        • nart port
        • nậm ban2
        • next.js
        • nhẫn nhịn
        • node js
        • Note js
        • Nông thôn mới
        • odoo
        • OPC
        • OPC DA
        • opc. matrikon
        • OpenVPN
        • ổn áp
        • pdf
        • phân loại rác
        • Phật dạy
        • phong trào
        • Pid
        • PLC
        • plc abb
        • plc delta
        • Plc emerson
        • plc GE
        • plc LS
        • Plc Mitsubishi
        • PLC Mitsubishi FX1N
        • plc s7 200
        • plc s71200
        • PLC Schneider
        • plc sim avanced
        • plc simens
        • python
        • quản trị tài chính
        • Rapid SCADA
        • Raspberry Pi
        • remote destrop
        • Rơ le bảo vệ
        • Rơ le CMC và studio PSL
        • S7 1200
        • S7 200
        • S7300
        • Sách
        • sách tổ tự động
        • sát hạch lái xe
        • SCR
        • secvo
        • SERVO
        • Sheet nhạc
        • Sim mới
        • sơ đồ bếp từ
        • sơn ô tô
        • SQL server
        • SSR
        • Step ĐC
        • Sửa chữa dc
        • sức khỏe
        • Sưu tầm
        • Tai biến
        • tài khoản Simens
        • Tài liệu kỹ thuật
        • Tailscale
        • Tâm lý
        • Teamviewer
        • tenten
        • thái độ
        • thay bo mạch
        • thay đổi góc nhìn
        • Thể thao
        • thi an toàn
        • Thi đua - Khen thưởng
        • thị trường điện
        • thingboard
        • thingsboard
        • Thông tin đấu thầu
        • Thông tin xử phạt
        • Thời sự
        • thời tiết
        • Thủ thuật máy tính
        • thủy điện
        • thyristor
        • TIA V13 SP2 pro
        • TIA V14
        • tia v15
        • Tia v16
        • Tia V17
        • tia V21
        • Tin tức - Sự kiện
        • tivi
        • touchpad-blocker
        • trạm phát thanh
        • TRIANGLE IEC
        • Trồng cây mừng Đảng mừng xuân 2024
        • tủ điện
        • Tủ lạnh
        • uctra_iso
        • Văn bản - Tài liệu
        • VBS
        • Video
        • Video động. Cơ điện
        • Video quấn động cơ điện
        • vmware
        • Vòng bi
        • vpn
        • Web
        • websever S7 1200
        • wifi
        • wincc
        • WinCC Unified
        • Wondershare Filmora
        • woodwoard
        • word
        • WPF
        • wwin cc
        • xây dựng
        • xây nhà tầng 2
        • xe 2025
        • xe ô tô
        • xem tuổi xây nhà
        • Xiaozhi
        • youtube
        • zenon
        • zoho mail

        Thời tiết hiện tại

        Chat hỗ trợ
        Chat ngay

        Lịch làm việc

          Thông báo

          • Nông thôn mới
          • Phong trào
          • Công tác hội
          • Chăm sóc sắc đẹp
          • Chuyển đổi số

          Đọc nhiều

          • PHẦN MỀM LẬP TRÌNH HMI PROFACE FULL VERSION
            PHẦN MỀM LẬP TRÌNH HMI PROFACE FULL VERSION 12
            03 thg 3, 2020

            HMI Việt Nam  Tổng hợp phần mềm lập trình màn hình cảm ứng HMI Proface Full đầy đủ đời cổ GP2000 ( GP-PRO/PB III   C-Package03  ) đến GP300...

          • cách cài thingboard
            cách cài thingboard
            01 thg 2, 2026

             Ok 👍 cài ThingsBoard trên Windows 10 nhé — mình viết lại đúng chuẩn Win 10 , dễ làm, không lan man. 🚀 CÀI THINGSBOARD TRÊN WINDOWS 10 (O...

          • DOWNLOAD KEPWARE OPC SERVER – KEPSERVEREX V6 FULL 2021
            DOWNLOAD KEPWARE OPC SERVER – KEPSERVEREX V6 FULL 2021
            18 thg 5, 2021

              KEPServerEX   thường được biết đến với tên gọi quen thuộc   Kepware OPC Server –  phần mềm OPC nổi tiếng tới từ hãng Kepware.  KEPServerEX...

          • Git khác gì tải folder + chạy .exe trong ThingsBoard?
            Git khác gì tải folder + chạy .exe trong ThingsBoard?
            17 thg 2, 2026

             Câu này rất đúng trọng tâm 👍 Mình trả lời ngắn – rõ – đúng bản chất , để bạn biết vì sao sửa logo/title mà không được . 🔥 Git khác gì...

          • Cài bios tự động bật máy tính
            Cài bios tự động bật máy tính
            01 thg 7, 2025

              ChatGPT Bạn đã nói: Cách cài đặt cứ có nguồn tự động bật máy tính ChatGPT đã nói: Để  cài đặt máy tính tự động bật khi có nguồn điện (Powe...

          • Tệp và hình ảnh được lưu trong bộ nhớ đệm (đây chính là cache), để vào thingboard
            Tệp và hình ảnh được lưu trong bộ nhớ đệm (đây chính là cache), để vào thingboard
            24 thg 2, 2026

             Bạn đang ở đúng màn hình rồi 👍 (Xóa dữ liệu duyệt web). Để xóa cache trong Chrome , làm như sau: Cách nhanh nhất: Nhấn Ctrl + Shift +...

          Có thể bạn quan tâm

            Ban biên tập

            Thế Hương

            ........

            ...........

            Thống kê

            Số người truy cập: Tổng lượt truy cập:
            Liên hệ quảng cáo
            Trang chủ
            Hotline: 0989.000.420
            Liên hệ
            RSS
            Lên đầu trang

            Cơ điện Huế Hương - Yên Bình -Yên Bái

            Địa chỉ: Xã Vĩnh Kiên - Yên Bình - Yên Bái
            Email: vuhuong.tbc@gmail.com
            Liên hệ: 0989000420

            Template blogspot bán hàng và bất động sản