如何利用PHP和Vue搭建在線員工考勤錄入界面
在現(xiàn)代企業(yè)中,員工考勤是管理人員必須面對(duì)和解決的一個(gè)問題。隨著科技的發(fā)展,傳統(tǒng)的紙質(zhì)考勤已經(jīng)逐漸被電子考勤系統(tǒng)所取代。而搭建一個(gè)在線員工考勤錄入界面是一個(gè)非常實(shí)用的方法,它可以方便管理人員記錄員工的考勤情況并進(jìn)行統(tǒng)計(jì)分析。本文將介紹如何利用PHP和Vue搭建這樣一個(gè)在線錄入界面,并給出具體的代碼示例。
1.前期準(zhǔn)備
首先確保你已經(jīng)正確安裝了PHP和Vue的運(yùn)行環(huán)境。PHP是一種服務(wù)器端腳本語言,而Vue是一種流行的JavaScript框架,它提供了構(gòu)建用戶界面的工具。
2.創(chuàng)建數(shù)據(jù)庫
首先我們需要?jiǎng)?chuàng)建一個(gè)名為”attendance”的數(shù)據(jù)庫,在其中創(chuàng)建一個(gè)名為”employees”的表。該表將包含員工的基本信息,如員工編號(hào)、姓名等,以及考勤數(shù)據(jù)。具體的表結(jié)構(gòu)如下:
CREATE TABLE employees ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, emp_id INT(11) UNSIGNED, name VARCHAR(50), attendance_date DATE, time_in TIME, time_out TIME );
登錄后復(fù)制
3.后端開發(fā)
我們使用PHP來處理后端邏輯。首先創(chuàng)建一個(gè)名為”index.php”的文件,并添加以下代碼:
<?php header("Access-Control-Allow-Origin: *"); header("Content-Type: application/json; charset=UTF-8"); header("Access-Control-Allow-Methods: POST"); header("Access-Control-Max-Age: 3600"); header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"); $host = "localhost"; $db_name = "attendance"; $username = "root"; $password = ""; $conn = new PDO("mysql:host=".$host.";dbname=".$db_name, $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $data = json_decode(file_get_contents("php://input")); $emp_id = $data->emp_id; $name = $data->name; $attendance_date = $data->attendance_date; $time_in = $data->time_in; $time_out = $data->time_out; $query = "INSERT INTO employees (emp_id, name, attendance_date, time_in, time_out) VALUES (:emp_id, :name, :attendance_date, :time_in, :time_out)"; $stmt = $conn->prepare($query); $stmt->bindParam(":emp_id", $emp_id); $stmt->bindParam(":name", $name); $stmt->bindParam(":attendance_date", $attendance_date); $stmt->bindParam(":time_in", $time_in); $stmt->bindParam(":time_out", $time_out); if($stmt->execute()){ http_response_code(201); echo json_encode(array("message" => "Attendance record was created.")); } else{ http_response_code(503); echo json_encode(array("message" => "Unable to create attendance record.")); } ?>
登錄后復(fù)制
以上代碼首先設(shè)置了響應(yīng)頭,允許跨域請(qǐng)求。然后連接到數(shù)據(jù)庫,將接收到的數(shù)據(jù)解析為JSON格式,并將它們插入到employees表中。
4.前端開發(fā)
在前端部分,我們使用Vue來構(gòu)建用戶界面。使用Vue CLI快速創(chuàng)建項(xiàng)目并安裝 axios 插件,你可以在終端中執(zhí)行以下命令:
vue create attendance cd attendance npm install axios
登錄后復(fù)制
接下來我們需要修改 src/App.vue 文件并添加以下代碼:
<template> <div id="app"> <h1>員工考勤錄入</h1> <form @submit.prevent="submit"> <label for="emp_id">員工編號(hào):</label> <input type="text" v-model="emp_id"> <br> <label for="name">員工姓名:</label> <input type="text" v-model="name"> <br> <label for="attendance_date">考勤日期:</label> <input type="date" v-model="attendance_date"> <br> <label for="time_in">簽到時(shí)間:</label> <input type="time" v-model="time_in"> <br> <label for="time_out">簽退時(shí)間:</label> <input type="time" v-model="time_out"> <br> <button type="submit">提交</button> </form> <p v-if="message">{{ message }}</p> </div> </template> <script> import axios from 'axios' export default { name: 'App', data() { return { emp_id: '', name: '', attendance_date: '', time_in: '', time_out: '', message: '' } }, methods: { submit() { axios.post('http://localhost/index.php', { emp_id: this.emp_id, name: this.name, attendance_date: this.attendance_date, time_in: this.time_in, time_out: this.time_out }) .then(response => { this.message = response.data.message }) .catch(error => { this.message = error.response.data.message }) } } } </script> <style> #app { font-family: Arial, Helvetica, sans-serif; text-align: center; margin-top: 60px; } </style>
登錄后復(fù)制
以上代碼創(chuàng)建了一個(gè)簡(jiǎn)單的表單,包含員工編號(hào)、姓名、考勤日期、簽到時(shí)間和簽退時(shí)間等字段。當(dāng)點(diǎn)擊提交按鈕時(shí),會(huì)通過axios發(fā)送POST請(qǐng)求到后端的index.php文件。接收到響應(yīng)后,會(huì)在界面上顯示相應(yīng)的提示信息。
5.運(yùn)行和測(cè)試
在終端中執(zhí)行以下命令啟動(dòng)前端頁面:
npm run serve
登錄后復(fù)制
同時(shí),你需要將后端文件index.php放在Apache或Nginx服務(wù)器的根目錄下。確保你已經(jīng)啟動(dòng)了Web服務(wù)器和MySQL服務(wù)器。
通過訪問 http://localhost:8080,你應(yīng)該能夠看到一個(gè)簡(jiǎn)單的考勤錄入界面。當(dāng)填寫完表單并點(diǎn)擊提交后,相應(yīng)的考勤記錄將保存到數(shù)據(jù)庫中。
總結(jié)
本文介紹了如何利用PHP和Vue搭建一個(gè)在線員工考勤錄入界面。我們創(chuàng)建了一個(gè)包含員工基本信息和考勤數(shù)據(jù)的表,使用PHP處理后端邏輯,并使用Vue構(gòu)建用戶界面。通過這個(gè)界面,管理人員可以方便地錄入員工的考勤記錄。希望這個(gè)實(shí)例能幫助讀者更好地理解如何利用PHP和Vue進(jìn)行Web開發(fā)。
以上就是如何利用PHP和Vue搭建在線員工考勤錄入界面的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!