Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man mit PHP und Vue einen Ausnahmebehandlungsmechanismus für die Online-Anwesenheit von Mitarbeitern entwickelt

Wie man mit PHP und Vue einen Ausnahmebehandlungsmechanismus für die Online-Anwesenheit von Mitarbeitern entwickelt

王林
王林Original
2023-09-25 17:28:411374Durchsuche

Wie man mit PHP und Vue einen Ausnahmebehandlungsmechanismus für die Online-Anwesenheit von Mitarbeitern entwickelt

So verwenden Sie PHP und Vue, um einen Ausnahmebehandlungsmechanismus für die Online-Anwesenheit von Mitarbeitern zu entwickeln

  1. Einführung
    Die Anwesenheit von Mitarbeitern ist eines der wichtigen Bindeglieder in der Unternehmensführung. Die traditionelle Anwesenheitsmethode weist viele Mängel auf, wie z. B. Fehler in den Anwesenheitsdaten und mühsame manuelle Statistiken. Mit der Entwicklung der Informationstechnologie ist die Verwendung von PHP und Vue zur Entwicklung eines Online-Anwesenheitssystems für Mitarbeiter eine effizientere und genauere Wahl geworden. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP und Vue ein Online-Anwesenheitssystem für Mitarbeiter entwickeln, und der Schwerpunkt liegt auf der Implementierung des Ausnahmebehandlungsmechanismus.
  2. Verwenden Sie PHP zum Entwickeln von Back-End-Schnittstellen
    Bevor wir PHP zum Entwickeln von Back-End-Schnittstellen verwenden, müssen wir zunächst die Datenbanktabellenstruktur entwerfen. Dieser Artikel verwendet MySQL als Datenbank und entwirft die folgenden Tabellen:
  3. Mitarbeitertabelle (Mitarbeiter): Speichert grundlegende Informationen von Mitarbeitern, wie Name, Jobnummer usw.
  4. Anwesenheitstabelle (Anwesenheit): Speichert die Anwesenheitslisten der Mitarbeiter, einschließlich Feldern wie Datum, Arbeitszeit und arbeitsfreier Zeit.

Als nächstes verwenden wir PHP, um die Backend-Schnittstelle zu entwickeln. Zuerst erstellen wir eine Datei mit dem Namen config.php, um die Datenbankverbindungsinformationen zu konfigurieren. Der Beispielcode lautet wie folgt:

<?php
$host = 'localhost';  // 数据库主机名
$dbName = 'attendance';  // 数据库名
$username = 'root';  // 数据库用户名
$password = '123456';  // 数据库密码

Dann erstellen wir eine Datei mit dem Namen db.php, um Funktionen für Datenbankoperationen zu kapseln. Der Beispielcode lautet wie folgt:

<?php
function connect() {
    global $host, $dbName, $username, $password;
    $conn = new mysqli($host, $username, $password, $dbName);
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    return $conn;
}

function query($conn, $sql) {
    $result = $conn->query($sql);
    $rows = array();
    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            $rows[] = $row;
        }
    }
    return $rows;
}

function insert($conn, $sql) {
    return $conn->query($sql);
}

Als nächstes erstellen wir eine Datei mit dem Namen „mitarbeiter.php“, um mitarbeiterbezogene Schnittstellen bereitzustellen. Der Beispielcode lautet wie folgt:

<?php
require_once 'config.php';
require_once 'db.php';

function getEmployees() {
    $conn = connect();
    $sql = 'SELECT * FROM employee';
    $rows = query($conn, $sql);
    $conn->close();
    return $rows;
}

$method = $_SERVER['REQUEST_METHOD'];
if ($method === 'GET') {
    echo json_encode(getEmployees());
}

Ähnlich erstellen wir eine Datei mit dem Namen attendance.php, um anwesenheitsbezogene Schnittstellen bereitzustellen. Der Beispielcode lautet wie folgt:

<?php
require_once 'config.php';
require_once 'db.php';

function getAttendance($employeeId, $month) {
    $conn = connect();
    $sql = "SELECT * FROM attendance WHERE employee_id = $employeeId AND DATE_FORMAT(date, '%Y-%m') = '$month'";
    $rows = query($conn, $sql);
    $conn->close();
    return $rows;
}

function addAttendance($employeeId, $date, $startTime, $endTime) {
    $conn = connect();
    $sql = "INSERT INTO attendance (employee_id, date, start_time, end_time) VALUES ($employeeId, '$date', '$startTime', '$endTime')";
    $result = insert($conn, $sql);
    $conn->close();
    return $result;
}

$method = $_SERVER['REQUEST_METHOD'];
if ($method === 'GET') {
    $employeeId = $_GET['employee_id'];
    $month = $_GET['month'];
    echo json_encode(getAttendance($employeeId, $month));
} elseif ($method === 'POST') {
    $employeeId = $_POST['employee_id'];
    $date = $_POST['date'];
    $startTime = $_POST['start_time'];
    $endTime = $_POST['end_time'];
    echo json_encode(addAttendance($employeeId, $date, $startTime, $endTime));
}
  1. Front-End-Schnittstelle mit Vue entwickeln
    Bevor wir Vue zum Entwickeln einer Front-End-Schnittstelle verwenden, müssen wir zuerst Vue und Axios installieren. Führen Sie den folgenden Befehl im Befehlszeilenfenster aus:
npm install vue axios --save

Als nächstes erstellen wir eine Datei mit dem Namen Attendance.vue, um Anwesenheitslisten anzuzeigen. Der Beispielcode lautet wie folgt:

<template>
  <div>
    <h2>考勤记录</h2>
    <div v-for="record in records" :key="record.id">
      <p>{{ record.date }}: {{ record.start_time }} - {{ record.end_time }}</p>
      <p v-if="record.exception === 1" style="color: red;">异常</p>
    </div>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      records: [],
    };
  },
  mounted() {
    this.getAttendance();
  },
  methods: {
    getAttendance() {
      const employeeId = 1;
      const month = '2021-01';
      axios.get(`http://localhost/attendance.php?employee_id=${employeeId}&month=${month}`)
        .then((response) => {
          this.records = response.data;
        })
        .catch((error) => {
          console.error(error);
        });
    },
  },
};
</script>

<style scoped>
h2 {
  font-size: 20px;
  font-weight: bold;
}
</style>
  1. Implementierung des Ausnahmebehandlungsmechanismus
    Der Ausnahmebehandlungsmechanismus ist ein sehr wichtiger Bestandteil des Online-Anwesenheitssystems für Mitarbeiter. Beim Hochladen von Anwesenheitsdaten müssen wir feststellen, ob die Anwesenheitsaufzeichnungen gemäß bestimmten Regeln abnormal sind, und die abnormalen Aufzeichnungen markieren. In der Datei attendance.php können wir den folgenden Code hinzufügen, um den Ausnahmebehandlungsmechanismus zu implementieren:
function checkException($startTime, $endTime) {
    $start = strtotime($startTime);
    $end = strtotime($endTime);
    $workStart = strtotime('09:00:00');
    $workEnd = strtotime('18:00:00');
    if ($start > $workStart && $end < $workEnd) {
        return 0;  // 正常
    } else {
        return 1;  // 异常
    }
}

function addAttendance($employeeId, $date, $startTime, $endTime) {
    $exception = checkException($startTime, $endTime);
    $conn = connect();
    $sql = "INSERT INTO attendance (employee_id, date, start_time, end_time, exception) VALUES ($employeeId, '$date', '$startTime', '$endTime', $exception)";
    $result = insert($conn, $sql);
    $conn->close();
    return $result;
}

In der Datei Attendance.vue können wir Ausnahmeinformationen basierend auf der Ausnahmemarkierung anzeigen. Der Beispielcode lautet wie folgt:

<template>
  <div>
    <h2>考勤记录</h2>
    <div v-for="record in records" :key="record.id">
      <p>{{ record.date }}: {{ record.start_time }} - {{ record.end_time }}</p>
      <p v-if="record.exception === 1" style="color: red;">异常</p>
    </div>
  </div>
</template>

Zu diesem Zeitpunkt haben wir die Implementierung des Ausnahmebehandlungsmechanismus für die Entwicklung eines Online-Anwesenheitssystems für Mitarbeiter mithilfe von PHP und Vue abgeschlossen.

Zusammenfassung
Dieser Artikel stellt die Verwendung von PHP und Vue zur Entwicklung eines Online-Anwesenheitssystems für Mitarbeiter vor und konzentriert sich auf die Implementierung des Ausnahmebehandlungsmechanismus. Durch rationales Entwerfen der Datenbanktabellenstruktur, Verwenden von PHP zum Entwickeln der Back-End-Schnittstelle und Verwenden von Vue zum Entwickeln der Front-End-Schnittstelle können wir ein Online-Anwesenheitssystem für Mitarbeiter effizient implementieren und die Genauigkeit und Verarbeitungseffizienz der Anwesenheitsdaten verbessern. Gleichzeitig können durch die Implementierung des Ausnahmebehandlungsmechanismus Anwesenheitsausnahmen rechtzeitig erkannt werden, was den Managern die Handhabung und Nachverfolgung erleichtert.

Das obige ist der detaillierte Inhalt vonWie man mit PHP und Vue einen Ausnahmebehandlungsmechanismus für die Online-Anwesenheit von Mitarbeitern entwickelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn