Comment utiliser PHP et Vue pour implémenter la fonction de gestion des pertes de la gestion d'entrepôt
Dans le système de gestion d'entrepôt, la gestion des pertes est une fonction cruciale, qui peut aider les entreprises à découvrir et à gérer en temps opportun la perte de marchandises dans la situation de l'entrepôt , réduire les pertes et améliorer l’efficacité. Dans cet article, nous présenterons comment utiliser PHP et Vue pour implémenter la fonction de gestion des rapports de pertes dans le système de gestion d'entrepôt, et fournirons des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer.
Tout d'abord, nous devons mettre en place un environnement de base pour exécuter notre code. Nous utiliserons PHP comme langage back-end, Vue comme framework front-end et MySQL comme base de données pour implémenter diverses fonctions de gestion des pertes. Veuillez vous assurer que vous avez installé PHP, Vue et MySQL et configuré l'environnement approprié.
Tout d'abord, nous devons créer une table de base de données pour stocker les informations du rapport de perte. Nous créons un tableau nommé "damage", qui contient les champs suivants :
Vous pouvez utiliser l'instruction SQL suivante pour créer ce tableau :
CREATE TABLE damage ( id INT(11) AUTO_INCREMENT PRIMARY KEY, product_id INT(11) NOT NULL, quantity INT(11) NOT NULL, date DATE NOT NULL, reason TEXT );
Ensuite, nous devons créer un fichier PHP pour gérer l'ajout, la requête, la modification et la suppression de la perte. rapporter des informations. Nous allons créer un fichier nommé "damage.php" et implémenter les fonctions suivantes dans ce fichier :
<?php header('Content-Type: application/json'); // 连接到数据库 $conn = new mysqli('localhost', 'username', 'password', 'database'); // 查询所有报损记录 $result = $conn->query("SELECT * FROM damage"); // 将结果转换为JSON格式并返回 echo json_encode($result->fetch_all(MYSQLI_ASSOC)); // 关闭数据库连接 $conn->close(); ?>
<?php header('Content-Type: application/json'); // 获取POST请求的参数 $product_id = $_POST['product_id']; $quantity = $_POST['quantity']; $date = $_POST['date']; $reason = $_POST['reason']; // 连接到数据库 $conn = new mysqli('localhost', 'username', 'password', 'database'); // 插入报损记录 $conn->query("INSERT INTO damage (product_id, quantity, date, reason) VALUES ('$product_id', '$quantity', '$date', '$reason')"); // 返回成功的响应 echo json_encode(['status' => 'success']); // 关闭数据库连接 $conn->close(); ?>
<?php header('Content-Type: application/json'); // 获取POST请求的参数 $id = $_POST['id']; $quantity = $_POST['quantity']; $reason = $_POST['reason']; // 连接到数据库 $conn = new mysqli('localhost', 'username', 'password', 'database'); // 更新报损记录 $conn->query("UPDATE damage SET quantity='$quantity', reason='$reason' WHERE id='$id'"); // 返回成功的响应 echo json_encode(['status' => 'success']); // 关闭数据库连接 $conn->close(); ?>
<?php header('Content-Type: application/json'); // 获取POST请求的参数 $id = $_POST['id']; // 连接到数据库 $conn = new mysqli('localhost', 'username', 'password', 'database'); // 删除报损记录 $conn->query("DELETE FROM damage WHERE id='$id'"); // 返回成功的响应 echo json_encode(['status' => 'success']); // 关闭数据库连接 $conn->close(); ?>
Ensuite, nous devons utiliser Vue pour créer une interface frontale pour afficher l'enregistrement du rapport de perte et fournir les fonctions d'ajout, de modification et de suppression. Nous utiliserons le développement de composants de Vue pour créer un composant nommé "DamageManagement.vue", qui contient les fonctions suivantes :
Ce qui suit est un exemple de code simple :
<template> <div> <table> <thead> <tr> <th>ID</th> <th>商品ID</th> <th>报损数量</th> <th>报损日期</th> <th>报损原因</th> <th>操作</th> </tr> </thead> <tbody> <tr v-for="record in records" :key="record.id"> <td>{{ record.id }}</td> <td>{{ record.product_id }}</td> <td>{{ record.quantity }}</td> <td>{{ record.date }}</td> <td>{{ record.reason }}</td> <td> <button @click="edit(record)">编辑</button> <button @click="delete(record.id)">删除</button> </td> </tr> </tbody> </table> <form v-if="mode === 'add' || mode === 'edit'" @submit.prevent="submit"> <div> <label>商品ID</label> <input type="text" v-model="product_id" required> </div> <div> <label>报损数量</label> <input type="number" v-model="quantity" required> </div> <div> <label>报损日期</label> <input type="date" v-model="date" required> </div> <div> <label>报损原因</label> <textarea v-model="reason" required></textarea> </div> <button type="submit">{{ mode === 'edit' ? '保存' : '添加' }}</button> </form> </div> </template> <script> export default { data() { return { records: [], mode: "view", product_id: "", quantity: "", date: "", reason: "", selectedRecord: null, }; }, created() { this.fetchRecords(); }, methods: { fetchRecords() { // 发起请求获取所有的报损记录 // ... // 将结果存储到records中 // this.records = ... }, add() { // 切换到添加模式 this.mode = "add"; }, edit(record) { // 切换到编辑模式,并将选中的记录赋值给selectedRecord this.mode = "edit"; this.selectedRecord = record; this.product_id = record.product_id; this.quantity = record.quantity; this.date = record.date; this.reason = record.reason; }, delete(id) { // 发起请求删除指定ID的报损记录 // ... }, submit() { if (this.mode === "add") { // 发起请求添加报损记录 // ... } else if (this.mode === "edit") { // 发起请求更新指定ID的报损记录 // ... } // 切换回查看模式,并重置表单数据 this.mode = "view"; this.selectedRecord = null; this.product_id = ""; this.quantity = ""; this.date = ""; this.reason = ""; }, }, }; </script>
J'espère que grâce à cet exemple, les lecteurs pourront mieux comprendre et appliquer PHP et Vue pour mettre en œuvre la fonction de gestion des rapports de perte des systèmes de gestion d'entrepôt. Bien entendu, dans l’application réelle, des modifications et ajustements appropriés doivent être apportés en fonction des besoins spécifiques de l’entreprise. L'implémentation de certaines fonctions dans l'exemple de code n'est qu'un exemple simple, et certains autres facteurs doivent être pris en compte pendant le processus de développement lui-même, tels que la vérification des données, le contrôle des autorisations, etc. J'espère que cet article pourra être utile aux lecteurs, merci d'avoir lu !
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!