如何使用PHP和Vue開發線上員工考勤的打卡記錄查詢
在現代企業中,員工的考勤管理是非常重要的一項任務。傳統的手動記錄容易出現錯誤,且不便於查詢和統計。借助PHP和Vue的強大功能,我們可以開發一個線上員工考勤的打卡記錄查詢系統,使得考勤管理更有效率、方便和準確。
一、專案準備
在開始之前,我們需要準備好以下的開發環境與工具:
#二、資料庫設計
我們需要建立一個MySQL資料庫,用來儲存員工的資訊和打卡記錄。設計一個名為"attendance_management"的資料庫,包含兩張表:employees和attendance。 employees表用於儲存員工的基本訊息,包含欄位:id(自增主鍵),name(員工姓名),department(所屬部門)等。 attendance表用於儲存考勤記錄,包含欄位:id(自增主鍵),employee_id(員工id),check_in_time(打卡時間),check_out_time(下班打卡時間)等。
三、後台開發
return [
'host' => 'localhost', 'username' => 'root', 'password' => 'your_password', 'database' => 'attendance_management',
];
?>
require_once '../config/database.php';
class Employees {
private $conn; private $table = 'employees'; public function __construct($db) { $this->conn = $db; } public function getEmployees() { $query = 'SELECT * FROM ' . $this->table; $stmt = $this->conn->prepare($query); $stmt->execute(); return $stmt; }
}
#?> ;
require_once '../config/database.php';
class Attendance {
private $conn; private $table = 'attendance'; public function __construct($db) { $this->conn = $db; } public function getAttendanceByEmployeeId($employeeId) { $query = 'SELECT * FROM ' . $this->table . ' WHERE employee_id = ?'; $stmt = $this->conn->prepare($query); $stmt->bindParam(1, $employeeId); $stmt->execute(); return $stmt; }
}
#?> ;
四、前端開發
npm install -g @vue/cli
vue create frontend
cd frontend
npm install vue-router axios
<div> <h2>员工考勤记录</h2> <select v-model="selectedEmployee" @change="onEmployeeChange"> <option v-for="employee in employees" :value="employee.id">{{ employee.name }}</option> </select> <table> <thead> <tr> <th>打卡时间</th> <th>下班打卡时间</th> </tr> </thead> <tbody> <tr v-for="record in attendance"> <td>{{ record.check_in_time }}</td> <td>{{ record.check_out_time }}</td> </tr> </tbody> </table> </div>
<script><br>export default {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>data() { return { employees: [], selectedEmployee: null, attendance: [] }; }, mounted() { this.getEmployees(); }, methods: { getEmployees() { axios.get('http://localhost/backend/api/employees.php') .then(response => { this.employees = response.data; }) .catch(error => { console.log(error); }); }, onEmployeeChange() { axios.get('http://localhost/backend/api/attendance.php?employeeId=' + this.selectedEmployee) .then(response => { this.attendance = response.data; }) .catch(error => { console.log(error); }); } }</pre><div class="contentsignin">登入後複製</div></div><p>}; <br></script>
import Vue from 'vue';
import VueRouter from 'vue-router';
import Attendance from '../components/Attendance.vue';
#Vue.use(VueRouter);
const routes = [
{ path: '/', name: 'Attendance', component: Attendance }
];
const router = new VueRouter({
mode: 'history', base: process.env.BASE_URL, routes
});
export default router;
五、執行專案
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
npm run serve
透過上述的開發步驟,我們成功實現了一個使用PHP和Vue開發的線上員工考勤的打卡記錄查詢系統。使用者可以透過選擇員工來查看其考勤記錄,既提高了考勤管理的效率,也減少了人為錯誤的發生。同時,這個專案也為我們展示如何結合PHP和Vue來進行全端開發的基本步驟和技術要點。希望這篇文章對您有幫助,祝您編程順利!
以上是如何使用PHP和Vue開發線上員工考勤的打卡記錄查詢的詳細內容。更多資訊請關注PHP中文網其他相關文章!