Comment générer un module de règlement des heures supplémentaires pour la présence des employés via PHP et Vue

WBOY
Libérer: 2023-09-24 12:58:01
original
1119 Les gens l'ont consulté

Comment générer un module de règlement des heures supplémentaires pour la présence des employés via PHP et Vue

Comment générer un module de règlement des heures supplémentaires pour la présence des employés via PHP et Vue

Résumé : Cet article présentera comment implémenter un module de règlement des heures supplémentaires pour la présence des employés via PHP et Vue. Tout d’abord, nous utiliserons PHP pour écrire du code côté serveur afin de gérer les demandes de données et de calculer les heures supplémentaires. Ensuite, nous utiliserons le framework Vue pour créer une interface frontale afin que les utilisateurs puissent soumettre des enregistrements de présence via la page Web et afficher des informations telles que les heures supplémentaires et les dépenses en heures supplémentaires. À la fin de l'article, nous donnerons quelques exemples de code spécifiques pour aider les lecteurs à mieux comprendre et mettre en pratique.

Mots clés : PHP, Vue, règlement des heures supplémentaires, présence des employés

1 Introduction
Dans la gestion d'entreprise, le règlement des heures supplémentaires est un processus important. Afin de faciliter le comptage et le calcul des heures de travail par les employés et les managers, nous pouvons utiliser les technologies PHP et Vue pour créer un module de règlement des heures supplémentaires. Grâce à l'interface Web, les employés peuvent soumettre des enregistrements d'heures supplémentaires et afficher des informations telles que les heures supplémentaires et la rémunération des heures supplémentaires.

2. Écriture de code côté serveur

  1. Conception de table de base de données
    Tout d'abord, nous devons concevoir une table de base de données pour stocker les informations de présence des employés. La structure du tableau peut contenir les champs suivants : date de présence, heure de pointage, heure de début des heures supplémentaires, heure de fin des heures supplémentaires, durée des heures supplémentaires, etc.
  2. Écriture de code PHP
    Tout d'abord, nous devons écrire un script PHP pour gérer les demandes de données et calculer les heures supplémentaires. Ce script peut inclure les fonctions suivantes :
  3. Recevoir les relevés de présence soumis par le client et les insérer dans la base de données.
  4. Calculez les heures supplémentaires des employés en fonction de leur heure de pointage et définissez les heures de travail.
  5. Calculez la rémunération des heures supplémentaires des employés conformément à la réglementation en matière de rémunération des heures supplémentaires de l'entreprise.

Ce qui suit est un exemple de code PHP simple :

<?php
// 连接数据库
$db = new PDO('mysql:host=localhost;dbname=test', 'root', 'password');

// 接收POST请求,插入考勤记录
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $attendanceData = $_POST['attendanceData'];
    
    // 将考勤数据插入数据库
    $insertAttendanceStmt = $db->prepare('INSERT INTO attendance (date, start_time, end_time) VALUES (?, ?, ?)');
    $insertAttendanceStmt->execute([$attendanceData['date'], $attendanceData['start_time'], $attendanceData['end_time']]);
}

// 计算加班时长和加班费用
$calculateOvertimeStmt = $db->prepare('SELECT SUM(TIME_TO_SEC(TIMEDIFF(end_time, start_time))) AS overtimeDuration FROM attendance');
$calculateOvertimeStmt->execute();
$overtimeDuration = $calculateOvertimeStmt->fetchColumn();

$overtimeFee = $overtimeDuration * 10;   // 假设每小时加班费用为10元

// 将加班时长和加班费用返回给客户端
$response = [
    'overtimeDuration' => $overtimeDuration,
    'overtimeFee' => $overtimeFee
];
echo json_encode($response);
?>
Copier après la connexion

3. Construction de l'interface frontale

  1. Installer Vue et Vue Router
    Tout d'abord, nous devons installer Vue et Vue Router. Il peut être installé via la commande npm :

    $ npm install vue vue-router
    Copier après la connexion
  2. Créer un composant Vue
    Ensuite, nous pouvons créer un composant Vue pour afficher les enregistrements de présence des employés et les informations sur les heures supplémentaires. Vous pouvez définir les variables requises dans l'attribut data du composant, puis utiliser ces variables dans le modèle pour l'affichage.

Ce qui suit est un exemple simple de composant Vue :

<template>
  <div>
    <h2>员工加班记录</h2>
    <ul>
      <li v-for="record in attendanceRecords">
        {{ record.date }} - {{ record.start_time }} ~ {{ record.end_time }}
      </li>
    </ul>
    <h2>加班信息</h2>
    <p>加班时长:{{ overtimeDuration }}</p>
    <p>加班费用:{{ overtimeFee }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      attendanceRecords: [],
      overtimeDuration: 0,
      overtimeFee: 0
    };
  },
  mounted() {
    // 向服务器请求加班信息
    fetch('/calculate-overtime.php')
      .then(response => response.json())
      .then(data => {
        this.overtimeDuration = data.overtimeDuration;
        this.overtimeFee = data.overtimeFee;
      });
    
    // 向服务器请求考勤记录
    fetch('/attendance-records.php')
      .then(response => response.json())
      .then(data => {
        this.attendanceRecords = data;
      });
  }
};
</script>
Copier après la connexion
  1. Configuration du routage
    Nous devons également configurer Vue Router pour gérer le routage de la page. Vous pouvez ajouter le code suivant au fichier principal pour créer une instance de routage et associer le composant au chemin :

    import Vue from 'vue';
    import VueRouter from 'vue-router';
    import AttendanceComponent from './components/AttendanceComponent.vue';
    
    Vue.use(VueRouter);
    
    const routes = [
      { path: '/attendance', component: AttendanceComponent }
    ];
    
    const router = new VueRouter({
      routes
    });
    
    new Vue({
      router
    }).$mount('#app');
    Copier après la connexion

    4. Résumé
    En utilisant la technologie PHP et Vue, nous pouvons facilement implémenter un module de règlement des heures supplémentaires des employés. Grâce à l'interface Web, les employés peuvent soumettre des enregistrements d'heures supplémentaires et afficher des informations telles que les heures supplémentaires et la rémunération des heures supplémentaires. Cet article donne un exemple de code simple, dans l'espoir d'aider les lecteurs à mieux comprendre et pratiquer. Bien entendu, des problèmes plus fonctionnels et de sécurité devront peut-être être pris en compte dans les projets réels, qui devront être ajustés et améliorés en fonction des circonstances spécifiques.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal