Tải bản đầy đủ (.docx) (51 trang)

Báo cáo hệ thống quản lý công việc trên nền tảng web theo chuẩn đại học thủy lợi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.03 MB, 51 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
BỘ NÔNG NGHIỆP VÀ PTNT
TRƯỜNG ĐẠI HỌC THỦY LỢI

NGUYỄN TIẾN DŨNG

HỆ THỐNG QUẢN LÝ CÔNG VIỆC TRÊN NỀN TẢNG WEB

ĐỒ ÁN TỐT NGHIỆP

HÀ NỘI, NĂM 2022


BỘ GIÁO DỤC VÀ ĐÀO TẠO
BỘ NÔNG NGHIỆP VÀ PTNT
TRƯỜNG ĐẠI HỌC THỦY LỢI

NGUYỄN TIẾN DŨNG

HỆ THỐNG QUẢN LÝ CÔNG VIỆC TRÊN NỀN TẢNG WEB

Ngành: Công nghệ thông tin
Mã số: 1651060765

NGƯỜI HƯỚNG DẪN

Th.S Hồng Văn Đơng

HÀ NỘI, NĂM 2022



LỜI CAM ĐOAN
Tác giả xin cam đoan đây là Đồ án tốt nghiệp/ Khóa luận tốt nghiệp của bản thân tác giả. Các kết quả
trong Đồ án tốt nghiệp/Khóa luận tốt nghiệp này là trung thực, và không sao chép từ bất kỳ một nguồn
nào và dưới bất kỳ hình thức nào. Việc tham khảo các nguồn tài liệu (nếu có) đã được thực hiện trích
dẫn và ghi nguồn tài liệu tham khảo đúng quy định.
Tác giả ĐATN/KLTN
Chữ ký

Nguyễn Tiến Dũng

3


LỜI CÁM ƠN
Trước tiên em xin gửi lời cảm ơn chân thành tới tồn thể thầy cơ trong trường Đại học Thủy lợi đã tận
tình giảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong suốt thời gian học tập
tại trường.
Đặc biệt em xin gửi lời cảm ơn đến thầy Th.S Hồng Văn Đơng đã tận tình giúp đỡ, hướng dẫn em
trong suốt quá trình thực hiện đồ án tốt nghiệp.
Em vô cùng biết ơn gia đình, bạn bè ln ở bên động viên, chia sẻ, giúp đỡ em trong quá trình học tập
và thực hiện đồ án tốt nghiệp này.
Do kiến thức còn nhiều hạn chế và thời gian thực hiện không nhiều nên không tránh khỏi những thiếu
sót. Em rất mong nhận được sự góp ý từ thầy cơ và bạn bè để đồ án tốt nghiệp này được hoàn thiện
hơn.
Em xin chân thành cảm ơn!

4


MỤC LỤC


DANH MỤC CÁC HÌNH ẢNH

5


DANH MỤC BẢNG BIỂU

DANH MỤC CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH CÁC THUẬT NGỮ
Từ viết tắt

Ý nghĩa

CSS

Cascading Style Sheets

HTML

Hypertext Markup Language

6


MỞ ĐẦU
Những năm gần đây, với sự phát triển của khoa học và cơng nghệ thì việc quản lý cơng việc tự động
trong môi trường doanh nghiệp trở lên rất cấp thiết. Để giải quyết vấn đề trên, em quyết định thực
hiện đồ án “Hệ thống quản lý công việc trên nền tảng web”.
Nội dung đồ án cuả em gồm 3 chương:
Chương 1 Cơ sở lý thuyết: Chương này trình bày sơ lược về các kiến thức, công nghệ sử dụng trong

đồ án.
Chương 2 Phân tích thiết kế hệ thống: Chương này gồm các mô tả, yêu cầu phi chức năng, biểu đồ
usecase và biểu đồ hoạt động của hệ thống.
Chương 3 Kết quả đạt được: Trình bày kết quả thu được từ đồ án.

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về HTML
HTML (Hyper Text Markup Languge): Ngôn ngữ đánh dấu siêu văn bản được thiết kế để tạo ra các
trang web trên World Wide Web. Tài liệu HTML được tạo ra từ các thẻ(tag) và các phần tử (element)
của HTML. Các file HTML được lưu với phần mở rộng “.htm” hoặc “.html”. Các tài liệu HTML cho
phép nhúng các đối tượng như âm thanh, hình ảnh, video, css, javascript.
Hiện nay, phiên bản mới nhất của HTML là HTML 5 với nhiều tính năng mới so với các phiên bản cu
từ cú pháp cho tới hỗ trợ mạnh mẽ các phần tử multimedia. Nhìn chung HTML 5 mạnh mẽ hơn nhiều
không chỉ về tốc độ và khả năng tương thích cao mà còn ở khả năng hỡ trợ DOM (Document Object
Model).

7


1.2 Tổng quan về CSS
CSS (Cascading Style Sheets) được sử dụng để định dạng bố cục, trang trí cho các tài liệu HTML,
XML, XHTML, SVG...
CSS có cấu trúc đơn giản, sử dụng các từ tiếng anh để đặt tên cho các thuộc tính. Có thể sử dụng CSS
trực tiếp trong tập tin HTML. Thơng thường lập trình viên sẽ tách code CSS ra các file được lưu với
phần mở rộng “.css” và được nhúng vào tài liệu HTML qua thẻ link. Việc này giúp code HTML mạch
lạc và có thể sử dụng code CSS này cho các dự án sau.

1.3 Tởng quan về Javascript
Javascript là một ngơn ngữ lập trình kịch bản hướng đối tượng, đa nền tảng được sử để các trang web
trở nên tương tác (ví dụ: các animation phức tạp, các cửa sở pop-up… Ngồi ra còn có các phiên bản

Javascript chạy trên server như Node.js, cho phép thêm nhiều chức năng vào trang web hơn là chỉ tải
xuống tệp (chẳng hạn như cộng tác thời gian thực giữa nhiều máy tính).

1.4 Tởng quan về Node.js
Node.js là một môi trường thực thi code Javascript theo sự kiện khơng đồng bộ. Node.js sử dụng
Javascript engine, một chương trình đọc code Javascript và thực hiện các lệnh của nó một cách nhanh
chóng. Cụ thể, Node.js sử dụng Javascript V8 engine của Chrome V8, một trình thơng dịch mã nguồn
mở giúp chuyển đổi Javascrip thành mã máy – mã máy này máy tính dễ dàng thực thi. Tính năng này
rất hữu ích vì Google thường cập nhật và giám sát JavaScript engine của nó để sử dụng trong trình
dụt web Chrome. Node.js điều chỉnh engine này để cung cấp môi trường để bạn chạy code
JavaScript khơng u cầu trình dụt web. Hiện nay, thay vì dành riêng JavaScript để tạo tập lệnh trên
các trang web, bạn có thể sử dụng nó để tạo tồn bộ ứng dụng trên máy chủ. Khi một ứng dụng
JavaScript được khởi chạy, tất cả code trong ứng dụng đó sẽ được tải vào bộ nhớ. Mọi biến, hàm và
khối mã đều có sẵn cho ứng dụng, cho dù mã có được thực thi ngay lập tức hay khơng. Tại sao một số
mã có thể khơng chạy ngay lập tức? Mặc dù việc xác định và gán một biến tồn cục có thể cung cấp
cho biến đó một giá trị càng sớm. Một số hàm này ở dạng trình nghe sự kiện — hàm các đối tượng
chạy một hàm callback tương ứng khi một sự kiện có tên trùng khớp được phát ra. Các hàm này nằm
xung quanh bộ nhớ cho đến khi bộ phát sự kiện — các đối tượng kích hoạt tên sự kiện — kích hoạt
trình nghe sự kiện chạy các hàm callback của họ.
Bằng cách này, Node.js có thể chạy các ứng dụng một cách đặc biệt nhanh chóng và hiệu quả. Trong
khi các nền tảng khác có thể cần phải biên dịch lại hoặc chạy tất cả code của chúng mỗi khi yêu cầu
chạy một lệnh nhất định được thực hiện, Node.js chỉ tải code JavaScript một lần và nó chỉ chạy các
hàm và hàm callback tương ứng khi được kích hoạt để làm như vậy bởi các sự kiện. JavaScript là ngôn
ngữ hỗ trợ phát triển theo hướng sự kiện nhưng khơng u cầu nó. Node.js tận dụng lợi thế của kiến
trúc này bằng cách thúc đẩy việc sử dụng các sự kiện như một cách để máy chủ thực thi hầu hết các
tác vụ của ứng dụng, sử dụng eventloop Node.js [1]

8



1.5 Tổng quan về React JS
Reactjs là một thư viện Javascript mã nguồn mở hỗ trợ xây dựng các thành phần giao diện nhanh gọn
và tiện lợi. Bình thường các lập trình viên sẽ nhúng javascript vào code HTML thơng qua các attribute
như AngularJS nhưng với Reactjs làm việc như một thư viện cho phép nhúng HTML vào javascript
thông qua JSX. Qua đó bạn có thể dễ dàng lồng các đoạn HTML vào trong JSX làm cho các
component dễ hiểu và dễ sử dụng hơn.
Trong Reactjs thường dùng javascript để thiết kế bố cục cho trang web, nhưng nhược điểm là cấu trúc
khá là khó. Thay vào đó sử dụng JSX và nhúng các đoạn HTML vào javascript, ta thấy cú pháp dễ
hiểu hơn và JSX cung có thể tối ưu code khi biên soạn. Vừa dễ cho người lập trình mà vừa tiện cho
việc biên dịch.

1.6 Tởng quan về Express JS
Expressjs là một framework được xây dựng trên nền tảng của Nodejs. Nó cung cấp các tính năng
mạnh mẽ để phát triển web hoặc mobile. Expressjs hỗ trợ các method HTTP và midleware tạo ra API
vô cùng mạnh mẽ và dễ sử dụng.

Tởng hợp một số chức năng chính của Expressjs như sau:


Thiết lập các lớp trung gian để trả về các HTTP request.



Define router cho phép sử dụng với các hành động khác nhau dựa trên
phương thức HTTP và URL.



Cho phép trả về các trang HTML dựa vào các tham số.




9


1.7 Tổng quan về MongoDB
MongoDB (chữ mongo được lấy từ từ humongous trong tiếng Anh), là một NoSQL database. Khác với
MySQL hay các loại SQL databse khác chạy theo mô hình database – table – row với số dòng – cột
nhất định với schema phức tạp, và phải sử dụng nhiều join khi truy vấn. MongoDB chạy theo mơ hình
database – collection – document, thay thế mơ hình cơ sở dữ liệu dùng table truyền thống bằng các
document với định dạng JSON với cấu trúc linh hoạt hơn (MongoDB gọi là BSON).
Một số khái niệm cơ bản trong MongoDB:


Database: Database chính là tập chứa các collection trong MongoDB. Mỡi

database sẽ có một tập file riêng của mình trên file system của hệ thống. Một
MongoDB server thường chứa nhiều database trên đó.


Collection: Giống như Table trong MySQL, Collection là một tập chứa các
MongoDB Document. Một điểm khác so với các hệ quản trị cơ sở dữ liệu quan
hệ khác đó chính là Collection không bắt buộc một schema cố định nào cả. Các
document trong cùng một collection có thể có nhiều field khác nhau. Nhưng
thường thì các document trong một collection sẽ có một số field chính tương
đồng nhau và có liên quan với nhau.



Document: là một tập dữ liệu theo dạng key-value, mỗi key sẽ tương ứng với

một value (giống với kiểu dữ liệu JSON). Các document khá linh hoạt về
schema, như đã nói ở trên, các document trong cùng một collection khơng nhất
thiết phải có các trường hoặc cấu trúc giống nhau. Dữ liệu trong cùng một
trường cung có thể có nhiều kiểu dữ liệu khác nhau.

Ưu điểm: Dữ liệu được lưu một cách mềm dẻo, khơng có tính ràng buộc nên hiệu suất
tốt và dễ dàng mở rộng (scale). Dữ liệu được ghi đệm lên RAM nên tốc độ truy vấn
cao.
Nhược điểm: Khơng ràng buộc, tồn vẹn nên khơng được sử dụng trong các ứng dụng
đòi hỏi tính toàn vẹn, bảo mật cao như ngân hàng. Dữ liệu được caching trên RAM
nên đòi hỏi dung lượng RAM lớn hơn.

10


CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỚNG
2.1 Mơ tả tổng quan hệ thống
2.1.1 Các chức năng của hệ thống

11


Bảng 2.1 Chức năng hệ thống

STT

Tên chức năng

Ý nghĩa


1

Đăng nhập

2

Đăng xuất

Cho phép người dùng đăng nhập vào hệ
thống để thực hiện các chức năng riêng.
Cho phép người dùng thoát khỏi hệ thống.

3

Đổi mật khẩu

Cho phép người dùng đổi mật khẩu.

4

Quản lý cơng việc

5

Quản lý nhân viên

7

Tìm kiếm


9

Xem chi tiết cơng việc

Admin có thể thêm, sửa các cơng việc ,
thêm sửa các module trong cơng việc
Admin có thể thêm, sửa, dừng hoạt động
các nhân viên.
Admin có thể tìm kiếm cơng việc, module,
nhân viên và các thơng tin liên quan
Người dùng có thể xem chi tiết cơng việc.

10

Nhân viên có thể nhận các job

11

Quản lý công việc nhân
viên
Quản lý module

12

Báo cáo theo file .doc

13

Đọc báo cáo


Nhân viên có thể báo cáo file upload lên hệ
thống
Giảng viên có thể thêm, sửa, xóa tài liệu.

Nhân viên có thể nhận các module

2.1.2 Các tác nhân của hệ thớng
Quản trị viên (admin): Nhóm người này có quyền hạn cao nhất trong hệ thống. Có thể tạo vào quản
lý các nhóm người dùng khác như nhân viên kĩ thuật và HR
Manager: Là các quản của hệ thống. Có thể tạo và quản lý chi tiết các job và module của các job.

12


Nhân viên và HR: Là các người dùng của hệ thống. Có thể nhận các job, module, xem tình hình công
việc

2.2 Các yêu cầu phi chức năng
2.2.1 Giao diện người dùng


Giao diện đẹp mắt, đơn giản, quen thuộc và dễ sử dụng.



Giao diện sử dụng ngơn ngữ tiếng Việt.



Tên các trường thông tin, chức năng phải nhất quán.


2.2.2 Yêu cầu về phần cứng
Bảng 2.2: Yêu cầu phần cứng

Yêu cầu hệ thống

Yêu cầu tối thiểu

Yêu cầu khuyến nghị

Hệ điều hành

Windows 7, Ubuntu
14.04
2GB

Windows 10, Ubuntu
20.04, MacOS
8GB

RAM
Trình duyệt

CPU
GPU

Google Chorme, Firefox, Phiên bản mới nhất của
Tor, Internet Explore
các trình duyệt hiện đại
11…

CPU Intel 4th, CPU AMD CPU Intel 8th, CPU AMD
3th
GPU onbroad
Nvida RTX 3080

2.2.3 Yêu cầu về hiệu năng
• Tốc độ tải trang nhanh.
• Ứng dụng nhẹ tốn ít tài nguyên hệ thống như RAM, CPU, GPU.
• Đáp ứng được lượng truy cập đồng thời lớn.
• Các tài ngun như hình ảnh, âm thanh, video, các file css, javascript, các thư viện hỗ trợ phải
được tối ưu để giảm dung lượng.

13


2.2.4 u cầu về đợ tin cậy:
• Đảm bảo đáp ứng được các yêu cầu của người sử dụng.
• Ứng dụng nhanh, chính xác.
• Hoạt động ởn định.
• Kiểm sốt được các ngoại lệ.
• Giảm lỡi logic tới mức tối thiểu.

2.2.5 Yêu cầu về tính bảo mật
• Mật khẩu phải được mã hóa.
• Các thơng tin cá nhân phải được bảo mật.
• Phân qùn cho các nhóm người dùng rõ ràng.
• Chống được các phương thức tấn cơng cơ bản như DDoS, XSS và có thể khơi phục về trạng thái
trước khi bị tấn công.

2.3 Biểu đồ usecase

2.3.1 Usecase admin

14


15


2.3.2 Usecase Manager

16


2.3.3 Usecase nhân viên

17


2.3.4 Usecase HR

2.4 Kịch bản usecase
2.4.1 Usecase đăng nhập

18


Bảng 2.3: Usecase đăng nhập

Tên use case


Đăng nhập

Tác nhân chính

Tất cả các nhóm người dùng của hệ thống

Mức ưu tiên
Cao
Tiền điều kiện
Đã có tài khoản
Nội dung
Cho phép các nhóm người dùng đăng nhập vào hệ thống
Luồng sự kiện:
1 Người dùng chọn chức năng đăng nhập.
2 Hệ thống hiển thì form đăng nhập.
3 Người dùng nhập username và password và click button đăng nhập.
4 Hệ thống kiểm tra các thông tin trên.
5 Chuyển về trang cá nhân.
Ngoại lệ:
4.a Người dùng nhập sai thông tin username và password hệ thống sẽ
redirect lại trang đăng nhập.

2.4.2 Usecase đăng xuất
Bảng 2.4: Usecase đăng xuất

Tên use case

Đăng xuất

Tác nhân chính


Tất cả các nhóm người dùng trong hệ thống

Mức ưu tiên
Tiền điều kiện

Cao
Đã đăng nhập vào hệ thống

Nội dung
Người dùng thoát khỏi hệ thống
Luồng sự kiện:
1 Người dùng chọn chức năng đăng xuất.
2 Hệ thống hiện thị popup xác nhận đăng xuất.
3 Người dùng chọn đăng xuất thì hệ thống sẽ được đăng xuất và chuyển
hướng về trang chủ.
4 Người dùng chọn không hệ thống sẽ ẩn đi popup xác nhận đăng xuất
Ngoại lệ:

19


2.4.3 Usecase đổi mật khẩu
Bảng 2.5: Usecase đổi mật khẩu

Tên use case

Đởi mật khẩu

Tác nhân chính


Tất cả nhóm thành phần trong hệ thống.

Mức ưu tiên
Tiền điều kiện

Cao
Đã đăng nhập

Luồng sự kiện:
1 Người dùng chọn chức năng đổi mật khẩu.
2 Hệ thống hiển thị form đổi mật khẩu.
3 Người dùng nhập các thông tin cần thiết và click vào button Lưu
4 Hệ thống kiểm tra các thông tin vừa nhận.
5 Thông báo đổi mật khẩu thành công
Ngoại lệ:
4.a Người dùng nhập mật khẩu mới và xác nhận mật khẩu mới không khớp.
Hệ thống hiển thị thông báo nhập lại mật khẩu.
4.b Người dùng nhập sai mật khẩu cu.
Hệ thống thông báo đổi mật khẩu thất bại.

20


2.4.4 Usecase thay đổi thông tin cá nhân
Bảng 2.6: Usecase thay đổi thông tin cá nhân

Tên use case

Thay đổi thông tin cá nhân


Tác nhân chính

Tất cả nhóm thành phần trong hệ thống.

Mức ưu tiên
Cao
Tiền điều kiện
Đã đăng nhập
Luồng sự kiện:
1 Người dùng chọn chức năng thay đổi thông tin cá nhân.
2 Hệ thống hiển thị form thông tin cá nhân.
3 Người dùng nhập các thông tin cần sửa đổi và click vào button Lưu
4 Hệ thống thông báo thay đổi thông tin thành công
Ngoại lệ:
4.a Người dùng nhập sai mật khẩu cu hệ thống thông báo đổi mật khẩu thất bại.

2.4.5 Usecase thêm nhân viên
Bảng 2.7: Usecase thêm nhân viên

Tên use case

Thêm nhân viên

Tác nhân chính

Admin

Mức ưu tiên
Tiền điều kiện


Cao
Đã đăng nhập

Luồng sự kiện:
1 Admin chọn chức năng thêm nhân viên.
2 Hệ thống hiển thị form thêm nhân viên.
3 Admin nhập các thông tin cần thiết và click button Thêm nhân viên.
4 Hệ thống thêm kiểm tra các thông tin đã nhập.
5 Lưu dữ liệu lên database và reload lại trang.
Ngoại lệ:
4.a Người dùng nhập thiếu các thông tin: Hệ thống yêu cầu nhập đủ.

21


2.4.6 Usecase sửa nhân viên
Bảng 2.8: Usecase sửa nhân viên

Tên use case

Sửa nhân viên

Tác nhân chính

Admin

Mức ưu tiên

Cao


Tiền điều kiện

Đã đăng nhập

Luồng sự kiện:
1 Admin chọn khóa học cần chỉnh sửa rồi click vào button sửa.
2 Hệ thống hiển thị form chỉnh sửa.
3 Admin nhập các thông tin cần sửa và click vào button Lưu.
4 Hệ thống lưu thông tin chỉnh sửa và reload lại trang.
Ngoại lệ:

2.4.7 Usecase dừng hoạt động nhân viên
Bảng 2.9: Usecase dừng hoạt động nhân viên

Tên use case

Dừng hoạt đơng nhân viên

Tác nhân chính

Admin

Mức ưu tiên

Cao

Tiền điều kiện

Đã đăng nhập


Luồng sự kiện:
1 Admin chọn nhân viên muốn dừng và click vào button dừng hoạt động.
2 Hệ thống hiển thị popup xác nhận .
3 a. Admin chọn xác nhận.
b. Admin chọn không.
4 a. Hệ thống cho nhân viên cập nhật trạng thái reactive và reload lại trang.
b. Ẩn popup xác nhận xóa.
Ngoại lệ:

22


2.4.8 Usecase thêm công việc
Bảng 2.10: Usecase thêm công việc

Tên use case

Thêm cơng việc

Tác nhân chính

Admin

Mức ưu tiên

Cao

Tiền điều kiện


Đã đăng nhập

Luồng sự kiện:
1 Admin chọn chức năng thêm công việc.
2 Hệ thống hiển thị form thêm công việc.
3 Admin nhập các thông tin cần thiết và click button Thêm .
4 Hệ thống thêm kiểm tra các thông tin đã nhập.
5 Lưu dữ liệu lên database và reload lại trang.
Ngoại lệ:
4.a Admin nhập thiếu các thông tin: Hệ thống yêu cầu nhập đủ.

2.4.9 Usecase sửa công việc
Bảng 2.11: Usecase sửa cơng việc

Tên use case

Sửa giảng viên

Tác nhân chính

Admin

Mức ưu tiên

Cao

Tiền điều kiện

Đã đăng nhập


Luồng sự kiện:
1 Admin chọn giảng viên cần chỉnh sửa rồi click vào button sửa.
2 Hệ thống hiển thị form chỉnh sửa.
3 Admin nhập các thông tin cần sửa và click vào button Lưu.
4 Hệ thống lưu thông tin chỉnh sửa và reload lại trang.
Ngoại lệ:

23


2.4.10 Usecase dừng công việc
Bảng 2.12: dừng công việc

Tên use case

Dừng cơng việc

Tác nhân chính

Admin

Mức ưu tiên

Cao

Tiền điều kiện

Đã đăng nhập

Luồng sự kiện:

1 Admin chọn công việc muốn dừng và click dừng
2 Hệ thống hiển thị popup xác nhận dừng.
3 a. Admin chọn dừng.
b. Admin chọn không.
4 a. Hệ thống dừng công việc và reload lại trang.
b. Ẩn popup xác nhận và reload lại trang.
Ngoại lệ:

24


2.4.11 Usecase thêm module
Bảng 2.13: Usecase thêm module

Tên use case

Thêm module

Tác nhân chính

Admin

Mức ưu tiên
Tiền điều kiện

Cao
Đã đăng nhập

Luồng sự kiện:
1 Admin chọn chức năng thêm module.

2 Hệ thống hiển thị form thêm module.
3 Admin nhập các thông tin cần thiết và click button Thêm.
4 Hệ thống thêm kiểm tra các thông tin đã nhập.
5 Lưu dữ liệu lên database và reload lại trang.
Ngoại lệ:
4.a Admin nhập thiếu các thông tin: Hệ thống yêu cầu nhập đủ.

2.4.12 Usecase sửa module
Bảng 2.14: Usecase sửa module

Tên use case

Sửa module

Tác nhân chính

Admin

Mức ưu tiên

Cao

Tiền điều kiện

Đã đăng nhập

Luồng sự kiện:
1 Admin chọn module cần chỉnh sửa rồi click vào button sửa.
2 Hệ thống hiển thị form chỉnh sửa.
3 Admin nhập các thông tin cần sửa và click vào button Lưu.

4 Hệ thống lưu thông tin chỉnh sửa và reload lại trang.
Ngoại lệ:

25


×