As enterprises grow, fixed asset management becomes an important task for managers. Warehouses, as places where fixed assets are stored, require an efficient management system to manage and track fixed assets. This article will introduce how to use PHP and Vue to develop a simple yet practical warehouse management system to manage fixed assets.
For the warehouse management system development, we chose PHP as the backend language and Vue as the frontend framework. The main reasons are that PHP offers high flexibility and ease of use, while Vue provides excellent user interaction and interface effects.
We first clarify the system requirements for the warehouse management system, which mainly include the following features:
Based on the requirements analysis, we designed the following database tables:
We can use PHP to provide a set of simple interfaces for the frontend to call. The main functions of the interfaces include adding, deleting, modifying, and querying fixed assets, managing in and out records, and user permission management. Here is a PHP code example:
// Create database connection<br>$mysqli = new mysqli('localhost', 'root', 'password', 'database');<br>// Add fixed asset<br>function addAsset($data)<br>{<br> global $mysqli;<br> $name = $mysqli->real_escape_string($data['name']);<br> $model = $mysqli->real_escape_string($data['model']);<br> $quantity = $mysqli->real_escape_string($data['quantity']);<br> $sql = "INSERT INTO assets (name, model, quantity) VALUES ('$name', '$model', '$quantity')";<br> $result = $mysqli->query($sql);<br> if ($result) {<br> return ['status' => 1, 'message' => 'Added successfully'];<br> } else {<br> return ['status' => 0, 'message' => 'Add failed'];<br> }<br>}<br>// Delete fixed asset<br>function deleteAsset($id)<br>{<br> global $mysqli;<br> $sql = "DELETE FROM assets WHERE id = '$id'";<br> $result = $mysqli->query($sql);<br> if ($result) {<br> return ['status' => 1, 'message' => 'Deleted successfully'];<br> } else {<br> return ['status' => 0, 'message' => 'Delete failed'];<br> }<br>}<br>// Update fixed asset<br>function updateAsset($id, $data)<br>{<br> global $mysqli;<br> $name = $mysqli->real_escape_string($data['name']);<br> $model = $mysqli->real_escape_string($data['model']);<br> $quantity = $mysqli->real_escape_string($data['quantity']);<br> $sql = "UPDATE assets SET name = '$name', model = '$model', quantity = '$quantity' WHERE id = '$id'";<br> $result = $mysqli->query($sql);<br> if ($result) {<br> return ['status' => 1, 'message' => 'Updated successfully'];<br> } else {<br> return ['status' => 0, 'message' => 'Update failed'];<br> }<br>}<br>// Query fixed asset<br>function getAsset($id)<br>{<br> global $mysqli;<br> $sql = "SELECT * FROM assets WHERE id = '$id'";<br> $result = $mysqli->query($sql);<br> if ($result && $result->num_rows > 0) {<br> $data = $result->fetch_assoc();<br> return ['status' => 1, 'data' => $data];<br> } else {<br> return ['status' => 0, 'message' => 'Query failed'];<br> }<br>}
On the frontend, we use the Vue framework to implement user interface interactions. We use the axios library to interact with the backend API. Here’s an example of a Vue component for adding fixed assets:
<template><br><div class="add-asset"><h2>Add Fixed Asset</h2><form @submit="addAsset"><div><label for="name">Name:</label><input type="text" id="name" v-model="name"></div><div><label for="model">Model:</label><input type="text" id="model" v-model="model"></div><div><label for="quantity">Quantity:</label><input type="number" id="quantity" v-model="quantity"></div><button type="submit">Add</button></form></div></template><script>import axios from 'axios';<br>export default {<br> data() {<br> return {<br> name: '',<br> model: '',<br> quantity: 0,<br> };<br> },<br> methods: {<br> addAsset() {<br> axios.post('/api/addAsset', {name: this.name, model: this.model, quantity: this.quantity})<br> .then(response => {<br> if (response.data.status === 1) {<br> alert('Added successfully');<br> this.name = '';<br> this.model = '';<br> this.quantity = 0;<br> } else {<br> alert('Add failed');<br> }<br> })<br> .catch(error => {<br> console.error(error);<br> });<br> },<br> },<br>};</script>
By using PHP and Vue, we can develop a simple yet practical warehouse management system that supports fixed asset management functions. This system provides a good user experience and interface effects, meeting the basic needs of small and medium-sized enterprises for warehouse management. Additionally, we can expand and optimize the system’s functions to improve its stability and reliability.