Compare commits

...

6 Commits

@ -0,0 +1,55 @@
from flask import Flask, jsonify, request
app = Flask(__name__)
# 模拟数据库,存储用户信息
users = []
# 查看所有用户信息
@app.route('/users', methods=['GET'])
def get_users():
return jsonify(users)
# 查看单个用户信息
@app.route('/users/<int:user_id>', methods=['GET'])
def get_user(user_id):
for user in users:
if user['id'] == user_id:
return jsonify(user)
return jsonify({'message': 'User not found'}), 404
# 添加用户
@app.route('/users', methods=['POST'])
def add_user():
new_user = request.get_json()
new_user['id'] = len(users) + 1
users.append(new_user)
return jsonify(new_user), 201
# 修改用户信息
@app.route('/users/<int:user_id>', methods=['PUT'])
def update_user(user_id):
updated_user = request.get_json()
for i, user in enumerate(users):
if user['id'] == user_id:
users[i].update(updated_user)
return jsonify(users[i])
return jsonify({'message': 'User not found'}), 404
# 删除用户信息
@app.route('/users/<int:user_id>', methods=['DELETE'])
def delete_user(user_id):
for i, user in enumerate(users):
if user['id'] == user_id:
del users[i]
return jsonify({'message': 'User deleted'})
return jsonify({'message': 'User not found'}), 404
if __name__ == '__main__':
app.run(debug=True)

@ -0,0 +1,8 @@
[database]
host = localhost
database = demo
user = root
password = password
[application]
log_level = DEBUG

@ -0,0 +1,78 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>仓库管理系统 - 前端界面</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<header>
<h1>仓库管理系统</h1>
</header>
<main>
<!-- 货物管理部分 -->
<section id="goods-management">
<h2>货物管理</h2>
<table id="goods-table">
<thead>
<tr>
<th>货物编号</th>
<th>货物名称</th>
<th>货物类型</th>
<th>库存数量</th>
<th>操作</th>
</tr>
</thead>
<tbody></tbody>
</table>
<button id="add-goods-btn">添加货物</button>
<button id="update-goods-btn">更新货物</button>
<button id="delete-goods-btn">删除货物</button>
</section>
<!-- 仓库管理部分 -->
<section id="warehouse-management">
<h2>仓库管理</h2>
<table id="warehouse-table">
<thead>
<tr>
<th>仓库编号</th>
<th>仓库名称</th>
<th>仓库地址</th>
<th>仓库面积</th>
<th>操作</th>
</tr>
</thead>
<tbody></tbody>
</table>
<button id="add-warehouse-btn">添加仓库</button>
<button id="update-warehouse-btn">更新仓库</button>
<button id="delete-warehouse-btn">删除仓库</button>
</section>
<!-- 订单管理部分 -->
<section id="order-management">
<h2>订单管理</h2>
<table id="order-table">
<thead>
<tr>
<th>订单编号</th>
<th>订单日期</th>
<th>客户名称</th>
<th>订单状态</th>
<th>操作</th>
</tr>
</thead>
<tbody></tbody>
</table>
<button id="add-order-btn">添加订单</button>
<button id="update-order-btn">更新订单</button>
<button id="delete-order-btn">删除订单</button>
</section>
</main>
<script src="script.js"></script>
</body>
</html>

@ -0,0 +1,24 @@
import mysql.connector
from mysql.connector import Error
import configparser
def load_config():
config = configparser.ConfigParser()
config.read('config.ini')
return config
def connect_to_database():
try:
config = load_config()
connection = mysql.connector.connect(
host=config['database']['host'],
database=config['database']['database'],
user=config['database']['user'],
password=config['database']['password']
)
if connection.is_connected():
print("Connected to the database successfully!")
return connection
except Error as e:
print(f"Error while connecting to database: {e}")
return None

@ -0,0 +1,347 @@
// 模拟获取货物数据的函数
function getGoodsData() {
// 这里可以使用Ajax或其他方式从后端获取货物数据
return [
{ id: 1, name: "电脑显示器", type: "电子产品", quantity: 100 },
{ id: 2, name: "运动鞋", type: "服装", quantity: 200 },
{ id: 3, name: "苹果手机", type: "电子产品", quantity: 150 }
];
}
// 模拟获取仓库数据的函数
function getWarehouseData() {
// 这里可以使用Ajax或其他方式从后端获取仓库数据
return [
{ id: 1, name: "北京仓库", address: "北京市朝阳区", area: 1000 },
{ id: 2, name: "上海仓库", address: "上海市浦东新区", area: 1200 },
{ id: 3, name: "广州仓库", address: "广州市天河区", area: 800 }
];
}
// 模拟获取订单数据的函数
function getOrderData() {
// 这里可以使用Ajax或其他方式从后端获取订单数据
return [
{ id: 1, date: "2024-01-01", customer: "客户A", status: "已创建" },
{ id: 2, date: "2024-01-02", customer: "客户B", status: "已审核" },
{ id: 3, date: "2024-01-03", customer: "客户C", status: "已发货" }
];
}
// 渲染货物数据到表格
function renderGoodsData() {
var goodsTable = document.getElementById('goods-table');
goodsTable.innerHTML = '';
var goodsData = getGoodsData();
goodsData.forEach(function (goods) {
var row = goodsTable.insertRow();
var cell1 = row.insertCell(0);
cell1.innerHTML = goods.id;
var cell2 = row.insertCell(1);
cell2.innerHTML = goods.name;
var cell3 = row.insertCell(2);
cell3.innerHTML = goods.type;
var cell4 = row.insertCell(3);
cell4.innerHTML = goods.quantity;
var cell5 = row.insertCell(4);
var editBtn = document.createElement('button');
editBtn.innerHTML = '编辑';
editBtn.onclick = function () {
// 这里可以添加编辑货物的逻辑
alert('编辑货物:' + goods.name);
};
var deleteBtn = document.createElement('button');
deleteBtn.innerHTML = '删除';
deleteBtn.onclick = function () {
// 这里可以添加删除货物的逻辑
var confirmDelete = confirm('确定要删除该货物吗?');
if (confirmDelete) {
// 模拟删除操作
goodsData = goodsData.filter(function (item) {
return item.id!== goods.id;
});
renderGoodsData();
}
};
cell5.appendChild(editBtn);
cell5.appendChild(deleteBtn);
});
}
// 渲染仓库数据到表格
function renderWarehouseData() {
var warehouseTable = document.getElementById('warehouse-table');
warehouseTable.innerHTML = '';
var warehouseData = getWarehouseData();
warehouseData.forEach(function (warehouse) {
var row = warehouseTable.insertRow();
var cell1 = row.insertCell(0);
cell1.innerHTML = warehouse.id;
var cell2 = row.insertCell(1);
cell2.innerHTML = warehouse.name;
var cell3 = row.insertCell(2);
cell3.innerHTML = warehouse.address;
var cell4 = row.insertCell(3);
cell4.innerHTML = warehouse.area;
var cell5 = row.insertCell(4);
var editBtn = document.createElement('button');
editBtn.innerHTML = '编辑';
editBtn.onclick = function () {
// 这里可以添加编辑仓库的逻辑
alert('编辑仓库:' + warehouse.name);
};
var deleteBtn = document.createElement('button');
deleteBtn.innerHTML = '删除';
deleteBtn.onclick = function () {
// 这里可以添加删除仓库的逻辑
var confirmDelete = confirm('确定要删除该仓库吗?');
if (confirmDelete) {
// 模拟删除操作
warehouseData = warehouseData.filter(function (item) {
return item.id!== warehouse.id;
});
renderWarehouseData();
}
};
cell5.appendChild(editBtn);
cell5.appendChild(deleteBtn);
});
}
// 渲染订单数据到表格
function renderOrderData() {
var orderTable = document.getElementById('order-table');
orderTable.innerHTML = '';
var orderData = getOrderData();
orderData.forEach(function (order) {
var row = orderTable.insertRow();
var cell1 = row.insertCell(0);
cell1.innerHTML = order.id;
var cell2 = row.insertCell(1);
cell2.innerHTML = order.date;
var cell3 = row.insertCell(2);
cell3.innerHTML = order.customer;
var cell4 = row.insertCell(3);
cell4.innerHTML = order.status;
var cell5 = row.insertCell(4);
var editBtn = document.createElement('button');
editBtn.innerHTML = '编辑';
editBtn.onclick = function () {
// 这里可以添加编辑订单的逻辑
alert('编辑订单:' + order.customer);
};
var deleteBtn = document.createElement('button');
deleteBtn.innerHTML = '删除';
deleteBtn.onclick = function () {
// 这里可以添加删除订单的逻辑
var confirmDelete = confirm('确定要删除该订单吗?');
if (confirmDelete) {
// 模拟删除操作
orderData = orderData.filter(function (item) {
return item.id!== order.id;
});
renderOrderData();
}
};
cell5.appendChild(editBtn);
cell5.appendChild(deleteBtn);
});
}
// 添加货物事件处理
document.getElementById('add-goods-btn').addEventListener('click', function () {
// 这里可以添加添加货物的逻辑,例如打开添加货物的模态框或跳转到添加货物的页面
alert('添加货物');
});
// 添加仓库事件处理
document.getElementById('add-warehouse-btn').addEventListener('click', function () {
// 这里可以添加添加仓库的逻辑,例如打开添加仓库的模态框或跳转到添加仓库的页面
alert('添加仓库');
});
// 添加订单事件处理
document.getElementById('add-order-btn').addEventListener('click', function () {
// 这里可以添加添加订单的逻辑,例如打开添加订单的模态框或跳转到添加订单的页面
alert('添加订单');
});
// 页面加载时渲染货物、仓库和订单数据
window.onload = function () {
renderGoodsData();
renderWarehouseData();
renderOrderData();
};// 模拟获取货物数据的函数
function getGoodsData() {
// 这里可以使用Ajax或其他方式从后端获取货物数据
return [
{ id: 1, name: "电脑显示器", type: "电子产品", quantity: 100 },
{ id: 2, name: "运动鞋", type: "服装", quantity: 200 },
{ id: 3, name: "苹果手机", type: "电子产品", quantity: 150 }
];
}
// 模拟获取仓库数据的函数
function getWarehouseData() {
// 这里可以使用Ajax或其他方式从后端获取仓库数据
return [
{ id: 1, name: "北京仓库", address: "北京市朝阳区", area: 1000 },
{ id: 2, name: "上海仓库", address: "上海市浦东新区", area: 1200 },
{ id: 3, name: "广州仓库", address: "广州市天河区", area: 800 }
];
}
// 模拟获取订单数据的函数
function getOrderData() {
// 这里可以使用Ajax或其他方式从后端获取订单数据
return [
{ id: 1, date: "2024-01-01", customer: "客户A", status: "已创建" },
{ id: 2, date: "2024-01-02", customer: "客户B", status: "已审核" },
{ id: 3, date: "2024-01-03", customer: "客户C", status: "已发货" }
];
}
// 渲染货物数据到表格
function renderGoodsData() {
var goodsTable = document.getElementById('goods-table');
goodsTable.innerHTML = '';
var goodsData = getGoodsData();
goodsData.forEach(function (goods) {
var row = goodsTable.insertRow();
var cell1 = row.insertCell(0);
cell1.innerHTML = goods.id;
var cell2 = row.insertCell(1);
cell2.innerHTML = goods.name;
var cell3 = row.insertCell(2);
cell3.innerHTML = goods.type;
var cell4 = row.insertCell(3);
cell4.innerHTML = goods.quantity;
var cell5 = row.insertCell(4);
var editBtn = document.createElement('button');
editBtn.innerHTML = '编辑';
editBtn.onclick = function () {
// 这里可以添加编辑货物的逻辑
alert('编辑货物:' + goods.name);
};
var deleteBtn = document.createElement('button');
deleteBtn.innerHTML = '删除';
deleteBtn.onclick = function () {
// 这里可以添加删除货物的逻辑
var confirmDelete = confirm('确定要删除该货物吗?');
if (confirmDelete) {
// 模拟删除操作
goodsData = goodsData.filter(function (item) {
return item.id!== goods.id;
});
renderGoodsData();
}
};
cell5.appendChild(editBtn);
cell5.appendChild(deleteBtn);
});
}
// 渲染仓库数据到表格
function renderWarehouseData() {
var warehouseTable = document.getElementById('warehouse-table');
warehouseTable.innerHTML = '';
var warehouseData = getWarehouseData();
warehouseData.forEach(function (warehouse) {
var row = warehouseTable.insertRow();
var cell1 = row.insertCell(0);
cell1.innerHTML = warehouse.id;
var cell2 = row.insertCell(1);
cell2.innerHTML = warehouse.name;
var cell3 = row.insertCell(2);
cell3.innerHTML = warehouse.address;
var cell4 = row.insertCell(3);
cell4.innerHTML = warehouse.area;
var cell5 = row.insertCell(4);
var editBtn = document.createElement('button');
editBtn.innerHTML = '编辑';
editBtn.onclick = function () {
// 这里可以添加编辑仓库的逻辑
alert('编辑仓库:' + warehouse.name);
};
var deleteBtn = document.createElement('button');
deleteBtn.innerHTML = '删除';
deleteBtn.onclick = function () {
// 这里可以添加删除仓库的逻辑
var confirmDelete = confirm('确定要删除该仓库吗?');
if (confirmDelete) {
// 模拟删除操作
warehouseData = warehouseData.filter(function (item) {
return item.id!== warehouse.id;
});
renderWarehouseData();
}
};
cell5.appendChild(editBtn);
cell5.appendChild(deleteBtn);
});
}
// 渲染订单数据到表格
function renderOrderData() {
var orderTable = document.getElementById('order-table');
orderTable.innerHTML = '';
var orderData = getOrderData();
orderData.forEach(function (order) {
var row = orderTable.insertRow();
var cell1 = row.insertCell(0);
cell1.innerHTML = order.id;
var cell2 = row.insertCell(1);
cell2.innerHTML = order.date;
var cell3 = row.insertCell(2);
cell3.innerHTML = order.customer;
var cell4 = row.insertCell(3);
cell4.innerHTML = order.status;
var cell5 = row.insertCell(4);
var editBtn = document.createElement('button');
editBtn.innerHTML = '编辑';
editBtn.onclick = function () {
// 这里可以添加编辑订单的逻辑
alert('编辑订单:' + order.customer);
};
var deleteBtn = document.createElement('button');
deleteBtn.innerHTML = '删除';
deleteBtn.onclick = function () {
// 这里可以添加删除订单的逻辑
var confirmDelete = confirm('确定要删除该订单吗?');
if (confirmDelete) {
// 模拟删除操作
orderData = orderData.filter(function (item) {
return item.id!== order.id;
});
renderOrderData();
}
};
cell5.appendChild(editBtn);
cell5.appendChild(deleteBtn);
});
}
// 添加货物事件处理
document.getElementById('add-goods-btn').addEventListener('click', function () {
// 这里可以添加添加货物的逻辑,例如打开添加货物的模态框或跳转到添加货物的页面
alert('添加货物');
});
// 添加仓库事件处理
document.getElementById('add-warehouse-btn').addEventListener('click', function () {
// 这里可以添加添加仓库的逻辑,例如打开添加仓库的模态框或跳转到添加仓库的页面
alert('添加仓库');
});
// 添加订单事件处理
document.getElementById('add-order-btn').addEventListener('click', function () {
// 这里可以添加添加订单的逻辑,例如打开添加订单的模态框或跳转到添加订单的页面
alert('添加订单');
});
// 页面加载时渲染货物、仓库和订单数据
window.onload = function () {
renderGoodsData();
renderWarehouseData();
renderOrderData();
};

@ -0,0 +1,34 @@
body {
font-family: Arial, sans-serif;
margin: 20px;
}
header {
background-color: #f0f0f0;
padding: 10px;
text-align: center;
}
main {
margin-top: 20px;
}
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid #ccc;
padding: 8px;
text-align: left;
}
th {
background-color: #4CAF50;
color: white;
}
.error {
color: red;
}
Loading…
Cancel
Save