ðĄ️ Daily Duty Report System (DDRS)
āļĢāļ°āļāļāļĢāļēāļĒāļāļēāļāļāļēāļĢāļāļิāļัāļิāļŦāļ้āļēāļี่āđāļ§āļĢāļāļĢāļ°āļāļģāļ§ัāļ āļ้āļ§āļĒ Google Apps Script
āļāļēāļāđāļ§āļĢāļāļĢāļ°āļāļģāļ§ัāļāđāļ็āļāļีāļāļŦāļึ่āļāļ āļēāļĢāļิāļāļŠāļģāļัāļāļāļāļāļāļĢูāđāļĨāļ°āļุāļāļĨāļēāļāļĢāđāļāđāļĢāļāđāļĢีāļĒāļ āđāļĄ่āļ§่āļēāļāļ°āđāļ็āļāļāļēāļĢāļูāđāļĨāļāļ§āļēāļĄāđāļĢีāļĒāļāļĢ้āļāļĒāļāļĢิāđāļ§āļāļāļĢāļ°āļูāđāļĢāļāđāļĢีāļĒāļ āļŦāļ้āļēāđāļŠāļēāļāļ āđāļĢāļāļāļēāļŦāļēāļĢ āļāļēāļāļēāļĢāđāļĢีāļĒāļ āļŦāļĢืāļāļื้āļāļี่āļ่āļēāļ āđ āļ āļēāļĒāđāļāļŠāļāļēāļāļĻึāļāļĐāļē
āļัāļāļŦāļēāļี่āļāļāļāļēāļāļāļēāļĢāļĢāļēāļĒāļāļēāļāđāļāļĢูāļāđāļāļāļāļĢāļ°āļāļēāļĐ āļืāļāļ้āļāļĄูāļĨāļāļĢāļ°āļัāļāļāļĢāļ°āļāļēāļĒ āļ้āļāļŦāļēāļĒ้āļāļāļŦāļĨัāļāļĒāļēāļ āļ āļēāļāļāļĢāļ°āļāļāļāđāļĒāļāļāļēāļāļĢāļēāļĒāļāļēāļ āđāļĨāļ°āđāļĄื่āļāļ้āļāļāļāļēāļĢāļŠāļĢุāļāļ้āļāļĄูāļĨāļŦāļĢืāļāļัāļāļิāļĄāļ์āļĢāļēāļĒāļāļēāļāļ็āļ้āļāļāļāļģāļ้āļāļĄูāļĨāļĄāļēāļัāļāļāļģāđāļŦāļĄ่
āļึāļāļัāļāļāļē Daily Duty Report System (DDRS) – āļĢāļ°āļāļāļĢāļēāļĒāļāļēāļāļāļēāļĢāļāļิāļัāļิāļŦāļ้āļēāļี่āđāļ§āļĢāļāļĢāļ°āļāļģāļ§ัāļ āļึ้āļ āđāļāļĒāđāļ้ Google Apps Script + Google Sheets + Google Drive āļāļģāđāļŦ้āļŠāļēāļĄāļēāļĢāļāļัāļāļึāļ āđāļ้āđāļ āļ้āļāļŦāļē āđāļāļāļ āļēāļ āļูāļĢāļēāļĒāļāļēāļ āđāļĨāļ°āļิāļĄāļ์āđāļāļāļŠāļēāļĢāđāļ้āļāļēāļāļĢāļ°āļāļāđāļีāļĒāļ§
ð āļāļāļĨāļāļāđāļ้āļāļēāļ Daily Duty Report (DDR)
✨ āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāļāļāļāļĢāļ°āļāļ
āļĢāļ°āļāļāļี่āļัāļāļāļēāļึ้āļāļĢāļāļāļĢัāļāļāļēāļĢāđāļ้āļāļēāļāļั้āļāļāļāļĄāļิāļ§āđāļāļāļĢ์ āđāļ็āļāđāļĨ็āļ āđāļĨāļ°āđāļāļĢāļĻัāļāļ์āļĄืāļāļืāļ āđāļāļĒāļĄีāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāļŠāļģāļัāļāļัāļāļี้
- ð Dashboard āļŠāļĢุāļāļāļģāļāļ§āļāļĢāļēāļĒāļāļēāļāļั้āļāļŦāļĄāļ āļĢāļēāļĒāļāļēāļāļ§ัāļāļี้ āļĢāļēāļĒāļāļēāļāđāļืāļāļāļัāļāļุāļัāļ āđāļĨāļ°āļĢāļēāļĒāļāļēāļĢāļี่āļāļāļัāļāļŦāļē
- ð āļัāļāļึāļāļĢāļēāļĒāļāļēāļāļāļēāļĢāļāļิāļัāļิāļŦāļ้āļēāļี่āđāļ§āļĢāļāļĢāļ°āļāļģāļ§ัāļ
- ✏️ āđāļ้āđāļāļ้āļāļĄูāļĨāđāļิāļĄ
- ð️ āļĨāļāļ้āļāļĄูāļĨ
- ð️ āđāļิāļāļูāļĢāļēāļĒāļĨāļ°āđāļีāļĒāļāļĢāļēāļĒāļāļēāļ
- ð āļ้āļāļŦāļēāļĢāļēāļĒāļāļēāļāļāļēāļāļāļģāļ้āļāđāļĨāļ°āļ่āļ§āļāļ§ัāļāļี่
- ðļ āđāļāļāļ āļēāļāļāļĢāļ°āļāļāļāđāļ้āļŠูāļāļŠุāļ 4 āļĢูāļ
- ðž️ āļĒ่āļāļ āļēāļāļ่āļāļāļŠ่āļāđāļāļĒัāļ Google Drive
- ð āļัāļāđāļ็āļ URL āļ āļēāļāđāļāļĢูāļāđāļāļ
lh3.googleusercontent.com - ðž️ āļ āļēāļāđāļ้
object-fit: containāļāļģāđāļŦ้āđāļŦ็āļāļ āļēāļāļāļĢāļāđāļāļĒāđāļĄ่ Crop āļŦāļĢืāļāļัāļāļŠ่āļ§āļāļāļāļāļ āļēāļ - ðĻ️ Preview āļĢāļēāļĒāļāļēāļāļāļāļŦāļ้āļēāļāļāļ่āļāļāļŠั่āļāļิāļĄāļ์
- ð āļĢāļāļāļĢัāļāļāļēāļĢāļิāļĄāļ์āļāļĢāļ°āļāļēāļĐ A4
- ⚙️ āļĄีāļŦāļ้āļē Settings āļŠāļģāļŦāļĢัāļāļāļĢัāļāđāļ่āļāļĢāļ°āļāļ
- ð āļĄีāļุ่āļĄāđāļิāļ Google Sheets āđāļāļĒāļāļĢāļ
- ð CRUD āļ้āļāļāļัāļāļ้āļ§āļĒ Password
- ðū āļŠāļēāļĄāļēāļĢāļāļāļģ Password āļ āļēāļĒāđāļ
sessionStorageāļāļāļāļ§่āļēāļāļ°āļิāļāđāļ็āļ - ð āđāļ้āļāđāļืāļāļāļ้āļ§āļĒ SweetAlert2
- ⏳ Loading Animation āļāļĢ้āļāļĄāļĢāļ°āļāļāļ้āļāļāļัāļ Loading āļ้āļēāļ
- ðą Responsive āļĢāļāļāļĢัāļāļŦāļ้āļēāļāļāļĄืāļāļืāļ
- ð āļĄีāļู่āļĄืāļāļāļēāļĢāđāļ้āļāļēāļāļ āļēāļĒāđāļāđāļāļĢāđāļāļĢāļĄ
āļĢāļ°āļāļāļั่āļāđāļิāļĢ์āļāđāļ§āļāļĢ์āļĒัāļāļŠāļēāļĄāļēāļĢāļāļāļĢāļ§āļāļŠāļāļāđāļĨāļ°āļŠāļĢ้āļēāļāļีāļ Reports, Settings āđāļĨāļ° Lists āļāļĢ้āļāļĄāļ้āļāļĄูāļĨāļัāļ§āļāļĒ่āļēāļāđāļŦ้āđāļāļĒāļัāļāđāļāļĄัāļิ
ð️ āđāļāļĢāļāļŠāļĢ้āļēāļāđāļāļĢāđāļāļĢāļĄ
āļŠāļĢ้āļēāļāđāļāļĢāđāļāļāļ์ Google Apps Script āđāļĨāļ°āđāļ่āļāļāļāļāđāļ็āļ 4 āđāļāļĨ์
Daily Duty Report System
│
├── Code.gs
├── index.html
├── javascript.html
└── style.htmlāđāļāļĒāļŦāļ้āļēāļŦāļĨัāļāđāļĢีāļĒāļ CSS āđāļĨāļ° JavaScript āļ่āļēāļ
<?!= include('style'); ?>āđāļĨāļ°
<?!= include('javascript'); ?>āđāļāļĨ์ javascript.html āļāļāļāļĢāļ°āļāļāļึāļāļ้āļāļāļĄี <script>...</script> āļāļĢāļāļ JavaScript āđāļ§้āļ้āļ§āļĒ āļึ่āļāđāļāļĨ์āļ้āļāļāļัāļāļี่āđāļāļāļĄāļēāđāļ้āļัāļāđāļāļĢāļāļŠāļĢ้āļēāļāđāļ§้āđāļĢีāļĒāļāļĢ้āļāļĒāđāļĨ้āļ§
ð āđāļāļĢāļāļŠāļĢ้āļēāļ Google Sheets
āđāļĄ่āļāļģāđāļ็āļāļ้āļāļāļŠāļĢ้āļēāļāļีāļāļ้āļ§āļĒāļāļāđāļāļāļั้āļāļŦāļĄāļ āđāļāļĢāļēāļ°āđāļĄื่āļāļĢāļ°āļāļāđāļĢิ่āļĄāļ้āļāļāļ°āļāļĢāļ§āļāļŠāļāļāđāļĨāļ°āļŠāļĢ้āļēāļāļāļēāļāļ้āļāļĄูāļĨāļี่āļāļģāđāļ็āļāđāļŦ้
1. Sheet: Reports
āđāļ้āļŠāļģāļŦāļĢัāļāļัāļāđāļ็āļāļĢāļēāļĒāļāļēāļāđāļ§āļĢ
ID
āļ§ัāļāļี่
āļ§ัāļ
āļู้āļāļิāļัāļิāļŦāļ้āļēāļี่
āļāļģāđāļŦāļ่āļ
āļ่āļ§āļāđāļ§āļĨāļēāđāļ§āļĢ
āļุāļāļāļิāļัāļิāļŦāļ้āļēāļี่
āđāļŦāļุāļāļēāļĢāļ์āļั่āļ§āđāļ
āļัāļāļŦāļēāļี่āļāļ
āļāļēāļĢāđāļ้āđāļ
āļ้āļāđāļŠāļāļāđāļāļ°
āļĢูāļāļ āļēāļ1
āļĢูāļāļ āļēāļ2
āļĢูāļāļ āļēāļ3
āļĢูāļāļ āļēāļ4
āļู้āļัāļāļึāļ
āļ§ัāļāļี่āļัāļāļึāļ
āļ§ัāļāļี่āđāļ้āđāļāđāļ§āļāļĢ์āļัāļāļี้ āđāļĄ่āļĄีāļ่āļāļāļāļģāļāļ§āļāļัāļāđāļĢีāļĒāļāļĄāļēāđāļĢีāļĒāļāđāļĨāļ°āļāļģāļāļ§āļāļัāļāđāļĢีāļĒāļāļāļēāļ āđāļĨāļ°āļĄีāļĢāļ°āļāļāļĒ้āļēāļĒāđāļāļĢāļāļŠāļĢ้āļēāļāļāļēāļāļีāļāļĢุ่āļāđāļ่āļēāđāļŦ้āļัāļāđāļāļĄัāļิāļŦāļēāļāļāļĢāļ§āļāļāļāļāļāļĨัāļĄāļ์āļัāļāļāļĨ่āļēāļ§
2. Sheet: Settings
āđāļ้āļŠāļģāļŦāļĢัāļāļั้āļāļ่āļēāļĢāļ°āļāļ āđāļ่āļ
APP_NAME
SCHOOL_NAME
DEVELOPER
FOLLOW_URL
CRUD_PASSWORD
DRIVE_FOLDER_ID
SPREADSHEET_URL
LOGO_URL
REPORT_TITLE
FOOTER_TEXTāļ่āļē Password āļัāļ§āļāļĒ่āļēāļāđāļĢิ่āļĄāļ้āļāļืāļ
123456āļŦāļĨัāļāļิāļāļั้āļāļāļĢิāļāļāļ§āļĢāđāļāļĨี่āļĒāļāđāļ็āļāļĢāļŦัāļŠāļāļāļāļāļāđāļāļāļัāļāļี
3. Sheet: Lists
āđāļ้āđāļ็āļāļāļēāļāļ้āļāļĄูāļĨāļĢāļēāļĒāļāļēāļĢāļัāļ§āđāļĨืāļāļ āđāļ่āļ
POSITION
DUTY_TIME
DUTY_POINTāļัāļāļั้āļ āļŦāļēāļāļ้āļāļāļāļēāļĢāđāļิ่āļĄāļāļģāđāļŦāļ่āļ āļุāļāđāļ§āļĢ āļŦāļĢืāļāļ่āļ§āļāđāļ§āļĨāļēāļāļิāļัāļิāļŦāļ้āļēāļี่ āļŠāļēāļĄāļēāļĢāļāļัāļāļāļēāļĢāļĢāļēāļĒāļāļēāļĢāļāļēāļāļีāļāļี้āđāļ้
ðļ āļĢāļ°āļāļāļัāļāđāļŦāļĨāļāļ āļēāļ 4 āļĢูāļ
āļุāļāđāļ่āļāļีāļāļŠ่āļ§āļāļืāļāļŠāļēāļĄāļēāļĢāļāđāļāļāļ āļēāļāļāļĢāļ°āļāļāļāđāļ้āļŠูāļāļŠุāļ 4 āļ āļēāļāļ่āļāļĢāļēāļĒāļāļēāļ
āļั่āļ Browser āļāļ°āļĒ่āļāļ āļēāļāļ่āļāļāļŠ่āļāļึ้āļāđāļิāļĢ์āļāđāļ§āļāļĢ์ āđāļ่āļ
resizeImage(f,1600,.82)āļāļēāļāļั้āļ Code.gs āļāļ°āļŠāļĢ้āļēāļāđāļāļĨ์āđāļ Google Drive āđāļĨāļ°āļŠāļĢ้āļēāļ URL āđāļāļĢูāļāđāļāļāļāļĢāļ°āļĄāļēāļ
https://lh3.googleusercontent.com/d/FILE_ID=w1600āļĢāļ°āļāļāļึāļāđāļĄ่āļāļģāđāļ็āļāļ้āļāļāļัāļāļึāļ Base64 āļāļāļēāļāđāļŦāļ่āļĨāļ Google Sheets āđāļāļĒāļāļĢāļ
āđāļĨāļ°āļŠ่āļ§āļāđāļŠāļāļāļ āļēāļāļāļģāļŦāļāļāđāļ็āļ
object-fit: contain;
object-position: center;āļั้āļāļŦāļ้āļēāļāļĢāļāļāļ้āļāļĄูāļĨ āļŦāļ้āļēāļูāļĢāļēāļĒāļĨāļ°āđāļีāļĒāļ āđāļĨāļ°āļŦāļ้āļēāļิāļĄāļ์ āļāļģāđāļŦ้ āđāļŦ็āļāļĢูāļāļ āļēāļāļāļĢāļāļั้āļāļ āļēāļ āđāļĄ่āļĄีāļāļēāļĢāļัāļāļāļāļāļ āļēāļ
ð āļĢāļ°āļāļ Password āļŠāļģāļŦāļĢัāļ CRUD
āļāļēāļĢāđāļิ่āļĄ āđāļ้āđāļ āļĨāļ āđāļĨāļ°āļัāļāļāļēāļĢ Settings āļāļ°āļĄีāļāļēāļĢāļāļĢāļ§āļāļŠāļāļ Password
āđāļื่āļāđāļĄ่āđāļŦ้āļู้āđāļ้āļ้āļāļāļāļĢāļāļāļĢāļŦัāļŠāđāļŦāļĄ่āļุāļāļāļĢั้āļ āđāļāļĢāđāļāļĢāļĄāđāļ้
sessionStorageāļŠāļģāļŦāļĢัāļāļāļāļāļģāļĢāļŦัāļŠāļ่āļēāļāđāļāļāļēāļ°āđāļ็āļāļัāļāļุāļัāļ
āđāļĄื่āļāļิāļāđāļ็āļ Browser āļ้āļāļĄูāļĨāļัāļāļāļĨ่āļēāļ§āļāļ°āļŦāļēāļĒāđāļ
āļัāļāļ์āļัāļāļŦāļĨัāļāļāļĢāļ°āļāļāļāļ้āļ§āļĒ
getSavedPassword()
savePassword()
requestCrudPassword()āļ่āļāļāđāļ้āļāļēāļ Password āļี่āļāļģāđāļ§้ āļĢāļ°āļāļāļāļ°āļŠ่āļāđāļāļāļĢāļ§āļāļŠāļāļāļัāļ verifyCrudPassword() āļั่āļ Apps Script āļีāļāļāļĢั้āļ
⏳ āļ้āļāļāļัāļ Loading āļ้āļēāļ
āļĢāļ°āļāļāļĄี Loading Overlay āđāļāļāļุ่āļĄāļāļ§āļĨ āļāļĢ้āļāļĄāļ้āļāļāļ§āļēāļĄāļāļāļāļŠāļāļēāļāļ° āđāļ่āļ
- āļāļģāļĨัāļāđāļŦāļĨāļāļ้āļāļĄูāļĨāļĢāļēāļĒāļāļēāļ...
- āļāļģāļĨัāļāđāļāļĢีāļĒāļĄāļĢูāļāļ āļēāļ...
- āļāļģāļĨัāļāļัāļāļึāļāļĢāļēāļĒāļāļēāļ...
- āļāļģāļĨัāļāļัāļāļāļģāļĢāļēāļĒāļāļēāļ...
āļāļāļāļāļēāļāļี้āļĒัāļāļĄี Timeout āļŠāļģāļŦāļĢัāļāļāļēāļĢāđāļĢีāļĒāļ Apps Script āđāļĨāļ° Safety Timer āļŠāļģāļŦāļĢัāļ Loading āļāļģāđāļŦ้āļāļĢāļีāļāļēāļĢāđāļื่āļāļĄāļ่āļāļิāļāļāļĨāļēāļ Overlay āđāļĄ่āļāļ§āļĢāļ้āļēāļāļāļĒู่āļāļāļŦāļ้āļēāļāļāļāļĒ่āļēāļāđāļĄ่āļŠิ้āļāļŠุāļ
ðĻ️ āļĢāļ°āļāļāļĢāļēāļĒāļāļēāļāđāļĨāļ°āļิāļĄāļ์
āđāļĨืāļāļāđāļĄāļู
āļĢāļēāļĒāļāļēāļ / āļิāļĄāļ์
āļāļēāļ Sidebar
āļŠāļēāļĄāļēāļĢāļāļāļģāļŦāļāļ
āļāļēāļāļ§ัāļāļี่
āļึāļāļ§ัāļāļี่
āļู้āļāļิāļัāļิāļŦāļ้āļēāļี่ / āļāļģāļ้āļāļāļēāļāļั้āļāļāļāļุ่āļĄ ð️ āđāļื่āļāļŠāļĢ้āļēāļ Preview
āļĢāļ°āļāļāļāļ°āļāļģāļ้āļāļĄูāļĨāļĄāļēāļัāļāļĢูāļāđāļāļāđāļ็āļāļĢāļēāļĒāļāļēāļ āļāļĢāļ°āļāļāļāļ้āļ§āļĒāļ§ัāļāļี่ āļู้āļāļิāļัāļิāļŦāļ้āļēāļี่ āļāļģāđāļŦāļ่āļ āļ่āļ§āļāđāļ§āļĨāļē āļุāļāļāļิāļัāļิ āđāļŦāļุāļāļēāļĢāļ์ āļัāļāļŦāļē āļāļēāļĢāđāļ้āđāļ āļ้āļāđāļŠāļāļāđāļāļ° āļ āļēāļāļāļĢāļ°āļāļāļ āđāļĨāļ°āļื้āļāļี่āļĨāļāļื่āļ
āđāļĄื่āļāļāļĢāļ§āļāļŠāļāļāđāļĢีāļĒāļāļĢ้āļāļĒāļึāļāļāļ ðĻ️ āđāļื่āļāļิāļĄāļ์
CSS āļŠāļģāļŦāļĢัāļāļิāļĄāļ์āļāļģāļŦāļāļāđāļ§้āđāļ็āļ
@page {
size: A4 portrait;
margin: 10mm;
}āļāļĢ้āļāļĄāļ่āļāļ Sidebar, Topbar, Footer āđāļĨāļ°āļŠ่āļ§āļāļāļ§āļāļุāļĄāļี่āđāļĄ่āļāļģāđāļ็āļāđāļāļāļēāļĢāļิāļĄāļ์
⚙️ āļŦāļ้āļē Settings
āļู้āļูāđāļĨāļŠāļēāļĄāļēāļĢāļāđāļ้āđāļāļ่āļēāļŦāļĨัāļāļāļēāļāļŦāļ้āļēāđāļ§็āļāđāļ้ āđāļ่āļ
āļื่āļāđāļāļĢāđāļāļĢāļĄ
āļื่āļāļŠāļāļēāļāļĻึāļāļĐāļē
āļื่āļāļู้āļัāļāļāļē
āļĨิāļāļ์āļิāļāļāļēāļĄ
Google Sheet URL
Google Drive Folder ID
URL āđāļĨāđāļ้
āļŦัāļ§āļ้āļāļĢāļēāļĒāļāļēāļ
āļ้āļāļāļ§āļēāļĄ Footer
Password CRUDāļāļģāđāļŦ้āļŠāļēāļĄāļēāļĢāļāļāļģāļĢāļ°āļāļāļุāļāđāļีāļĒāļ§āļัāļāđāļāļāļĢāļ°āļĒุāļāļ์āđāļ้āļัāļāđāļĢāļāđāļĢีāļĒāļāļื่āļāđāļ้āļ่āļēāļĒāļึ้āļ
ð āļ§ิāļีāļิāļāļั้āļāđāļāļĢāđāļāļĢāļĄ
āļั้āļāđāļĢāļāđāļŦ้āļŠāļĢ้āļēāļ Google Sheets āđāļŦāļĄ่ āđāļĨ้āļ§āđāļāļี่
āļŠ่āļ§āļāļāļĒāļēāļĒ
→ Apps ScriptāļŠāļĢ้āļēāļāđāļāļĨ์āļั้āļāļŦāļĄāļ 4 āđāļāļĨ์
Code.gs
index.html
javascript.html
style.htmlāļāļģ Code āļ้āļēāļāļĨ่āļēāļāđāļāļ§āļēāļāđāļŦ้āļāļĢāļāļัāļāļื่āļāđāļāļĨ์
āļāļēāļāļั้āļāļัāļāļึāļāđāļāļĢāđāļāļāļ์
āđāļĨืāļāļāļัāļāļ์āļัāļ
setupSystemāđāļĨ้āļ§āļāļ Run
āļāļĢั้āļāđāļĢāļ Google āļāļ°āļāļāļŠิāļāļิ์āđāļāļāļēāļĢāđāļ้āļēāļึāļ Google Sheets āđāļĨāļ° Google Drive āđāļŦ้āļāļģāđāļิāļāļāļēāļĢāļāļุāļāļēāļāļŠิāļāļิ์āļāļēāļĄāļั้āļāļāļāļ
āđāļĄื่āļāļāļģāļāļēāļāļŠāļģāđāļĢ็āļ āļĢāļ°āļāļāļāļ°āļŠāļĢ้āļēāļāļāļēāļāļ้āļāļĄูāļĨāđāļĨāļ° Folder āļŠāļģāļŦāļĢัāļāđāļ็āļāļ āļēāļāđāļŦ้āđāļāļĒāļัāļāđāļāļĄัāļิ
ð āļāļēāļĢ Deploy āđāļ็āļ Web App
āđāļāļี่
Deploy
→ New deployment
→ Web appāļั้āļāļ่āļē
Execute as:
Me
Who has access:
Anyoneāļāļēāļāļั้āļāļāļ
DeployāļัāļāļĨāļāļ URL āļี่āļĨāļāļ้āļēāļĒāļ้āļ§āļĒ
/execāļāļģāđāļāđāļิāļāđāļ Browser āļ็āļŠāļēāļĄāļēāļĢāļāđāļĢิ่āļĄāđāļ้āļāļēāļāđāļ้
ðŧ SOURCE CODE āđāļāļĢāđāļāļĢāļĄ
āļ่āļāļāļēāļāļŦัāļ§āļ้āļāļี้āđāļŦ้āļāļģ Code āļ้āļāļāļัāļāļั้āļ 4 āđāļāļĨ์āļี่āđāļāļāđāļ§้ āļĨāļ Blogger āļāļēāļĄāļĨāļģāļัāļāļี้āđāļāļĒāļāļĢāļ āđāļāļĢāļēāļ°āđāļ็āļāļุāļāđāļีāļĒāļ§āļัāļāļĢāļ°āļāļāļี่āļāļิāļāļēāļĒāļ้āļēāļāļ้āļāđāļĨāļ°āđāļĄ่āļāļ§āļĢāļĒ่āļāļŦāļĢืāļāļัāļāļัāļāļ์āļัāļāļāļāļ:
1. Code.gs
āđāļ้āđāļāļĨ์ Code.gs āļี่āđāļāļāļĄāļē āļึ่āļāđāļ็āļ Backend āļŦāļĨัāļāļั้āļāļŦāļĄāļāļāļāļāļĢāļ°āļāļ āļั้āļāđāļ่āļāļēāļĢāļŠāļĢ้āļēāļāļีāļ CRUD, Settings, Lists, Drive Folder, lh3 āđāļĨāļ°āļĢāļēāļĒāļāļēāļ
2. index.html
āđāļ้āđāļāļĨ์ index.html āļี่āđāļāļāļĄāļē āđāļ็āļāđāļāļĢāļāļŠāļĢ้āļēāļāļŦāļ้āļē Dashboard, Sidebar, CRUD Form, Report āđāļĨāļ° Settings
3. javascript.html
āđāļ้āđāļāļĨ์ javascript.html āļี่āđāļāļāļĄāļē āļั้āļāđāļāļĨ์ āļĢāļ§āļĄ <script> āđāļิāļāđāļĨāļ°āļิāļ āđāļื่āļāđāļŦ้āļŠāļēāļĄāļēāļĢāļ Include āđāļ้āļē index.html āđāļ้āđāļāļĒāļāļĢāļ
4. style.html
āđāļ้āđāļāļĨ์ style.html āļี่āđāļāļāļĄāļē āļั้āļāđāļāļĨ์ āļĢāļ§āļĄ <style> āđāļิāļāđāļĨāļ°āļิāļ āļึ่āļāļĄี Responsive UI, Loading, āļĢูāļāđāļāļ A4 āđāļĨāļ° object-fit: contain āļŠāļģāļŦāļĢัāļāļ āļēāļ
ð āļั้āļāļāļāļāļāļēāļĢāđāļ้āļāļēāļ
āļŦāļĨัāļāļิāļāļั้āļāđāļĢีāļĒāļāļĢ้āļāļĒāđāļĨ้āļ§ āļāļēāļĢāđāļ้āļāļēāļāļŦāļĨัāļāđāļ่āļāđāļ้āļัāļāļี้
1. Dashboard — āļāļĢāļ§āļāļŠāļāļāļāļģāļāļ§āļāļĢāļēāļĒāļāļēāļāļั้āļāļŦāļĄāļ āļĢāļēāļĒāļāļēāļāļ§ัāļāļี้ āļĢāļēāļĒāļāļēāļāđāļืāļāļāļี้ āđāļĨāļ°āļĢāļēāļĒāļāļēāļĢāļี่āļāļāļัāļāļŦāļē
2. āļัāļāļึāļāļĢāļēāļĒāļāļēāļ — āđāļĨืāļāļāļ§ัāļāļี่ āļāļĢāļāļāļื่āļāļู้āļāļิāļัāļิāļŦāļ้āļēāļี่ āđāļĨืāļāļāļāļģāđāļŦāļ่āļ āļ่āļ§āļāđāļ§āļĨāļē āđāļĨāļ°āļุāļāļāļิāļัāļิāļŦāļ้āļēāļี่
3. āļัāļāļึāļāļĢāļēāļĒāļĨāļ°āđāļีāļĒāļ — āļāļĢāļāļāđāļŦāļุāļāļēāļĢāļ์āļั่āļ§āđāļ āļัāļāļŦāļēāļี่āļāļ āļāļēāļĢāļāļģāđāļิāļāļāļēāļĢāđāļ้āđāļ āđāļĨāļ°āļ้āļāđāļŠāļāļāđāļāļ°
4. āđāļิ่āļĄāļ āļēāļāļāļĢāļ°āļāļāļ — āđāļĨืāļāļāļ āļēāļāđāļ้āļŠูāļāļŠุāļ 4 āļĢูāļ āļĢāļ°āļāļāļāļ°āļĒ่āļāļ āļēāļāđāļŦ้āļัāļāđāļāļĄัāļิāļ่āļāļāļัāļāđāļŦāļĨāļ
5. āļัāļāļึāļ — āļāļĢāļāļ Password āļŠāļģāļŦāļĢัāļ CRUD āļāļēāļāļั้āļāļĢāļ°āļāļāļāļ°āļัāļāļึāļāļ้āļāļĄูāļĨāļĨāļ Google Sheets āđāļĨāļ°āļĢูāļāļ āļēāļāļĨāļ Google Drive
6. āļ้āļāļĄูāļĨāļĢāļēāļĒāļāļēāļ — āļŠāļēāļĄāļēāļĢāļāļ้āļāļŦāļē ð️ āļูāļĢāļēāļĒāļĨāļ°āđāļีāļĒāļ ✏️ āđāļ้āđāļ āļŦāļĢืāļ ð️ āļĨāļāļ้āļāļĄูāļĨ
7. āļĢāļēāļĒāļāļēāļ / āļิāļĄāļ์ — āđāļĨืāļāļāļ่āļ§āļāļ§ัāļāļี่ āļāļ Preview āļāļĢāļ§āļāļŠāļāļāđāļāļāļŠāļēāļĢāļāļāļŦāļ้āļēāļāļ āđāļĨ้āļ§āļึāļāļŠั่āļāļิāļĄāļ์
8. Settings — āļู้āļูāđāļĨāļĢāļ°āļāļāļŠāļēāļĄāļēāļĢāļāđāļāļĨี่āļĒāļāļื่āļāđāļĢāļāđāļĢีāļĒāļ āđāļĨāđāļ้ āļู้āļัāļāļāļē Password āđāļĨāļ°āļ่āļēāļ่āļēāļ āđ āđāļ้
ðĄ āđāļāļ§āļāļēāļāļāļģāđāļāļāļĢāļ°āļĒุāļāļ์āđāļ้
āđāļāļĢāļāļŠāļĢ้āļēāļāļāļāļ DDRS āđāļĄ่āļāļģāđāļ็āļāļ้āļāļāđāļ้āđāļāļāļēāļ°āļĢāļēāļĒāļāļēāļāđāļ§āļĢāļāļĢāļ°āļāļģāļ§ัāļāđāļ่āļēāļั้āļ āļŠāļēāļĄāļēāļĢāļāļัāļāđāļāļĨāļāđāļ็āļāļĢāļ°āļāļāļื่āļāđāļ้āļีāļāļŦāļĨāļēāļĒāļĢูāļāđāļāļ āđāļ่āļ āļĢāļ°āļāļāļĢāļēāļĒāļāļēāļāļāļĢูāđāļ§āļĢ āļĢāļ°āļāļāļัāļāļึāļāđāļŦāļุāļāļēāļĢāļ์āļāļĢāļ°āļāļģāļ§ัāļ āļĢāļ°āļāļāļāļĢāļ§āļāļāļēāļāļēāļĢāļŠāļāļēāļāļี่ āļĢāļ°āļāļāļĢāļēāļĒāļāļēāļāļāļ§āļēāļĄāļāļĨāļāļāļ ัāļĒ āļĢāļ°āļāļāļัāļāļึāļāļิāļāļāļĢāļĢāļĄāļŦāļ้āļēāđāļŠāļēāļāļ āļŦāļĢืāļāļĢāļ°āļāļāļĢāļēāļĒāļāļēāļāļิāļāļāļĢāļĢāļĄāđāļĢāļāđāļĢีāļĒāļ
āđāļāļĢāļēāļ°āđāļāļāļŦāļĨัāļāļāļāļāđāļāļĢāđāļāļĢāļĄāļĄีāļั้āļ CRUD + Google Sheets + Google Drive + Image Upload + Dashboard + Search + Report + Print + Settings āļāļĒู่āđāļĨ้āļ§
❤️ āļŠāļĢุāļ
Daily Duty Report System (DDRS) āļ่āļ§āļĒāđāļāļĨี่āļĒāļāļāļēāļāļĢāļēāļĒāļāļēāļāđāļ§āļĢāļāļēāļāđāļāļāļŠāļēāļĢāļāļĢāļ°āļāļēāļĐāļĄāļēāđāļ็āļāļĢāļ°āļāļāļāļāļāđāļĨāļ์ āļŠāļēāļĄāļēāļĢāļāļัāļāļึāļāļ้āļāļĄูāļĨāļāļĢ้āļāļĄāļ āļēāļāļāļĢāļ°āļāļāļ āļ้āļāļŦāļēāļĒ้āļāļāļŦāļĨัāļ āđāļ้āđāļāļ้āļāļĄูāļĨ āļāļĢāļ§āļāļŠāļāļāļัāļāļŦāļē āđāļĨāļ°āļัāļāļิāļĄāļ์āļĢāļēāļĒāļāļēāļāđāļ้āđāļāļĢāļ°āļāļāđāļีāļĒāļ§
āđāļŦāļĄāļēāļ°āļŠāļģāļŦāļĢัāļāļŠāļāļēāļāļĻึāļāļĐāļēāļี่āļ้āļāļāļāļēāļĢāđāļĢิ่āļĄāļ้āļāļัāļāļāļēāļĢāļ°āļāļāļāļēāļāļ้āļ§āļĒ Google Apps Script āđāļāļĒāđāļĄ่āļāļģāđāļ็āļāļ้āļāļāļĄี Server āļŦāļĢืāļāļāļēāļāļ้āļāļĄูāļĨāļ āļēāļĒāļāļāļ
ðĄ️ Daily Duty Report System
āļัāļāļึāļāļ่āļēāļĒ • āļ้āļāļŦāļēāđāļĢ็āļ§ • āļĄีāļ āļēāļāļāļĢāļ°āļāļāļ • āļāļĢāļ§āļāļŠāļāļāļĒ้āļāļāļŦāļĨัāļ • āļāļĢ้āļāļĄāļิāļĄāļ์
ð āđāļิāļāđāļ้āļāļēāļ Daily Duty Report (DDR)
#DailyDutyReport #DDRS #GoogleAppsScript #GoogleSheets #GoogleDrive #WebApp #āļĢāļ°āļāļāļāļēāļāđāļĢāļāđāļĢีāļĒāļ #āļĢāļ°āļāļāļāļĢูāđāļ§āļĢ #āļāļĢูāļĒุāļāļิāļิāļัāļĨ
