Maison > développement back-end > tutoriel php > Comment utiliser PHP et Vue pour implémenter la fonction de reporting des pertes de gestion d'entrepôt

Comment utiliser PHP et Vue pour implémenter la fonction de reporting des pertes de gestion d'entrepôt

WBOY
Libérer: 2023-09-24 08:42:01
original
702 Les gens l'ont consulté

Comment utiliser PHP et Vue pour implémenter la fonction de reporting des pertes de gestion dentrepôt

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 :

  • id : l'identifiant unique de l'enregistrement du dommage
  • product_id : l'ID du produit endommagé
  • quantity : la quantité du dommage signalé
  • date : Date du rapport de perte
  • raison : Raison du rapport de perte

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
);
Copier après la connexion

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 :

  1. Interroger tous les rapports de dommages :
<?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();
?>
Copier après la connexion
  1. Ajouter un rapport de dommages :
<?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();
?>
Copier après la connexion
  1. Modifier un enregistrement de rapport de perte :
<?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();
?>
Copier après la connexion
  1. Supprimer un enregistrement de rapport de perte :
<?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();
?>
Copier après la connexion

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 :

  • Afficher une liste de tous les rapports de perte
  • Fournir un formulaire pour ajouter des rapports de perte
  • Fournir l'édition La forme de la perte report
  • fournit la fonction de suppression du rapport de perte

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>
Copier après la connexion

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!

É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