Xe

// Paste this into Code.gs in the Apps Script editor var SPREADSHEET_ID = 'REPLACE_WITH_YOUR_SPREADSHEET_ID'; // <- change this var SHEET_NAME = 'Nhat_ky_hanh_trinh'; function doGet(e) { return HtmlService.createHtmlOutputFromFile('Index') .setTitle('Theo dõi hành trình xe 60A-00233 - An Phước'); } /** Lưu bản ghi hành trình vào Google Sheet data: object chứa các trường giống form */ function saveEntry(data) { var ss = SpreadsheetApp.openById(SPREADSHEET_ID); var sheet = ss.getSheetByName(SHEET_NAME); if (!sheet) { sheet = ss.insertSheet(SHEET_NAME); sheet.appendRow(['Timestamp', 'Ngày sử dụng', 'Họ tên người sử dụng', 'Nhiệm vụ công tác', 'Điểm đi', 'Điểm đến', 'Km đầu', 'Km cuối', 'Quãng đường (Km)', 'Nhiên liệu tiếp thêm (L)', 'Ghi chú tình trạng xe', 'Người ghi']); } // Normalize fields and compute distance var kmStart = Number(data.km_start) || 0; var kmEnd = Number(data.km_end) || 0; var distance = (kmEnd && kmEnd >= kmStart) ? (kmEnd - kmStart) : ''; var row = [ new Date(), data.ngay || '', data.user || '', data.task || '', data.start || '', data.end || '', data.km_start || '', data.km_end || '', distance, data.fuel || '', data.notes || '', data.recorder || '' ]; sheet.appendRow(row); return {result: 'success'}; } /** Tùy chọn: hàm lấy dữ liệu để Văn phòng xem (tổng hợp, lọc) Ví dụ trả về 100 bản ghi gần nhất */ function getLastEntries(limit) { limit = limit || 100; var ss = SpreadsheetApp.openById(SPREADSHEET_ID); var sheet = ss.getSheetByName(SHEET_NAME); if (!sheet) return []; var data = sheet.getDataRange().getValues(); // includes header var rows = data.slice(1).reverse().slice(0, limit).reverse(); return rows; } /* ========================= Index.html (front-end) ========================= */ Theo dõi hành trình xe 60A-00233 - An Phước

Theo dõi hành trình xe 60A-00233 — Xã An Phước

Form cập nhật nhanh cho lái xe. Dữ liệu lưu trực tiếp vào Google Sheet: Nhat_ky_hanh_trinh.

Bản ghi gần đây

NgàyNgườiNhiệm vụKm đầuKm cuốiQuãng (Km)Fuel (L)
Chưa có dữ liệu — tải trang này từ web app (Văn phòng) để xem bản ghi gần đây.

Ghi chú: Xe: 60A-00233. Đăng kiểm: 6 tháng/lần. Văn phòng quản lý: Văn phòng HĐND-UBND xã An Phước.

/* ========================= Hướng dẫn triển khai (README ngắn) ========================= */ /* 1. Mở Google Drive -> Tạo Google Sheet mới -> đặt tên (ví dụ: So_theo_doi_xe_60A00233_AnPhuoc) Trong sheet đó, tạo sheet có tên: Nhat_ky_hanh_trinh Thêm hàng tiêu đề (nếu muốn): Timestamp, Ngày sử dụng, Họ tên..., ghi theo Code.gs Lấy ID của sheet từ URL: https://docs.google.com/spreadsheets/d//edit 2. Mở Google Apps Script (script.google.com) -> Tạo project mới Thêm file Code.gs (mặc định) và dán phần Code.gs ở trên. Tạo file Index.html (File > New > Html file) và dán phần Index.html ở trên (HTML block). Thay thế SPREADSHEET_ID trong Code.gs bằng ID thực tế của Google Sheet. 3. Chạy 1 lần hàm saveEntry hoặc getLastEntries từ editor (Run) để xin quyền (Authorization). Chấp nhận quyền truy cập vào Google Sheet. 4. Triển khai Web App: Deploy > New deployment > Type: Web app Description: "Web app theo dõi hành trình xe 60A-00233" Execute as: Me (owner) Who has access: Anyone (or Anyone with Google account) tùy chính sách của đơn vị. (Nếu chọn 'Anyone', bất kỳ ai có link đều truy cập được.) 5. Lấy URL Web App và mở. Giao diện form sẽ hiển thị. Dữ liệu gửi sẽ được lưu vào sheet. 6. Bảo mật: Nếu không muốn công khai, chọn 'Only myself' hoặc 'Anyone within ' và cấp tài khoản cần thiết. Hoặc lưu giao diện static trên máy chủ nội bộ và sử dụng google.script.run tương tự (nhưng lưu ý CORS). 7. Tùy chỉnh: bạn có thể thêm kiểm tra hợp lệ, xác thực người dùng (login bằng Google), tự động tính nhiên liệu theo định mức, tạo báo cáo tổng hợp, gửi email thông báo khi cần. */

0 Nhận xét

Sáng Tạo Thương Hiệu, Phân Tích Xu Hướng Và Tư Vấn Phong Cách

Thiết lập những thói quen tốt, thay thế những thói quen xấu chính là hành trình giúp bạn tích tiểu thành đại, tích lượng đổi chất theo thời gian. Mong đợi những tin vui sắp tới từ bạn!