from flask import Flask,render_template,request, redirect, url_for, flash
from flask_sqlalchemy import SQLAlchemy
import datetime
from method import fororderID,UrgentCount
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:wh13213682290@localhost:3306/forgd?charset=utf8mb4'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
app.config["SQLALCHEMY_COMMIT_ON_TEARDOWN"] = True
db = SQLAlchemy(app)
app.secret_key = b'_5#y2L"F4Q8z\n\xec]/'
class Production(db.Model):
__tablename__ = "production"
ProductionID = db.Column(db.String(45) , primary_key = True , autoincrement=True)
ProductionCode = db.Column(db.String(45))
Department = db.Column(db.String(45))
class Management(db.Model):
__tablename__ = "management"
ManagementID = db.Column(db.String(45), primary_key = True , autoincrement =True)
ManagementCode = db.Column(db.String(45))
ManagementName = db.Column(db.String(45))
class WaitingOrders(db.Model):
__tablename__ = "waitingorders"
Name = db.Column(db.String(45),primary_key = True)
Number = db.Column(db.String(45))
Deadline = db.Column(db.String(45))
class ProductionOrders(db.Model):
__tablename__ = "productionorders"
OrdersID = db.Column(db.String(45),primary_key =True,index = True)
ReceiveTime = db.Column(db.String(45))
Name = db.Column(db.String(45))
Number = db.Column(db.String(45))
Status = db.Column(db.String(45),index = True)
Remark = db.Column(db.String(45),default = "暂无备注")
Deadline = db.Column(db.String(45))
Urgent = db.Column(db.String(45))
class CompletedOrders(db.Model):
__tablename__ = "completedorders"
OrdersID = db.Column(db.String(45),primary_key = True ,index = True)
ReceiveTime = db.Column(db.String(45))
Name = db.Column(db.String(45))
Number = db.Column(db.String(45))
SubmissionTime = db.Column(db.String(45))
Deadline = db.Column(db.String(45))
Status = db.Column(db.String(45))
#主页面
@app.route('/', methods=['GET','POST'])
def Mainpage():
Production_Orders = ProductionOrders.query.order_by(ProductionOrders.Urgent.desc()).limit(5)
return render_template('MainPage.html',Production_orders = Production_Orders )
#管理人员登录
@app.route('/ManagementLogin' , methods=['GET','POST'])
def ManagementLogin():
if request.method =='POST':
ManagementID = request.form['ManagementID']
ManagementCode = request.form['ManagementCode']
management = Management.query.filter_by(ManagementID = ManagementID).first()
if management:
if management.ManagementID == ManagementID and management.ManagementCode == ManagementCode:
return redirect(url_for('OrderReceive'))
else:
error = '无效的管理人员编号或密码,请重试!'
return render_template('ManagementLogin.html', message=error)
else:
error = '无效的管理人员编号或密码,请重试!'
return render_template('ManagementLogin.html', message=error)
return render_template('ManagementLogin.html')
# Managements = Management.query.all()
# for management in Managements:
# if management.ManagementID == ManagementID and management.ManagementCode == ManagementCode:
# flash("欢迎使用本订单系统,管理员", category="info")
# return redirect(url_for('OrderReceive'))
# flash('无效的管理员编号或密码,请重试!')
# return render_template('ManagementLogin.html')
# else:
# return render_template('ManagementLogin.html')
#生产人员登录
@app.route('/ProductionLogin',methods=['GET','POST'])
def ProductionLogin():
if request.method == 'POST':
ProductionID = request.form['ProductionID']
ProductionCode = request.form['ProductionCode']
# PIDCode = Production.query.filter_by(ProductionID == ProductionID)
production = Production.query.filter_by(ProductionID=ProductionID).first()
if production:
if production.ProductionID == ProductionID and production.ProductionCode == ProductionCode:
return redirect(url_for('production', department=production.Department))
else:
error = '无效的生产部门编号或密码,请重试!'
return render_template('ProductionLogin.html', message=error)
else:
error = '无效的生产部门编号或密码,请重试!'
return render_template('ProductionLogin.html', message=error)
return render_template('ProductionLogin.html')
# Productions = Production.query.all()
# for production in Productions:
# if production.ProductionID == ProductionID and production.ProductionCode == ProductionCode:
# return redirect(url_for('production', department=production.Department))
# error = '无效的生产部门编号或密码,请重试!'
# return render_template('ProductionLogin.html', message=error)
# else:
# return render_template('ProductionLogin.html')
@app.route('/OrderEnter',methods = ['GET','POST'])
def OrderEnter():
if request.method == 'POST':
Name = request.form.get('Name')
Number = request.form.get('Number')
Deadline = request.form.get('Deadline')
NewReceiveOrder = WaitingOrders(Name = Name,Number = Number, Deadline = Deadline)
db.session.add(NewReceiveOrder)
db.session.commit()
return render_template('/OrderEnter.html')
return render_template('/OrderEnter.html')
@app.route('/OrderReceive',methods=['GET','POST'])
def OrderReceive():
Waiting_orders = WaitingOrders.query.all()
if request.method == 'POST':
N=request.form.get('Number')
OrderID = fororderID(N)
ReceiveTime = datetime.datetime.now().date()
Name = request.form.get('Name')
Status = "design"
Remark = "None"
Deadline = request.form.get('Deadline')
Urgent = UrgentCount(ReceiveTime,N,Deadline)
NewProducutionOrder = ProductionOrders(OrdersID = OrderID,ReceiveTime = ReceiveTime,Name = Name,Number = N,Status= Status,Remark= Remark,Deadline=Deadline,Urgent=Urgent)
db.session.add(NewProducutionOrder)
result = WaitingOrders.query.get(Name)
if result:
db.session.delete(result)
db.session.commit()
Waiting_orders = WaitingOrders.query.all()
return render_template('/OrderReceive.html',waiting_orders = Waiting_orders)
@app.route('/OrderList',methods = ['GET','POST'])
def OrderList():
Production_orders = ProductionOrders.query.order_by(ProductionOrders.Urgent.desc()).all()
if request.method == 'POST':
OrdersID = request.form.get('OrdersID')
return redirect(url_for('OrderDetail', OrdersID = OrdersID))
return render_template('/OrderList.html', Production_orders = Production_orders)
@app.route('/OrderFinsh',methods = ['GET','POST'])
def OrderFinsh():
Completed_orders =CompletedOrders.query.order_by(CompletedOrders.SubmissionTime).all()
if request.method == 'POST':
OrdersID = request.form.get('OrdersID')
return redirect(url_for('OrderDetail', OrdersID = OrdersID))
return render_template('/OrderFinsh.html', Completed_orders = Completed_orders)
@app.route('/OrderManage/<string:OrdersID>', methods=['GET','POST'])
def OrderManage(OrdersID):
Production_orders = ProductionOrders.query.get(OrdersID)
if request.method == 'POST':
Name = request.form.get('Name')
Number = request.form.get('Number')
Status = request.form.get('Status')
Remark = request.form.get('Remark')
Deadline = request.form.get('Deadline')
Order = ProductionOrders.query.filter_by(OrdersID=OrdersID).first()
Order.Name = Name
Order.Number = Number
Order.Status = Status
Order.Remark = Rema
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计-基于Flask框架构建的订单管理系统 (134个子文件)
bootstrap.min.css 160KB
tempusdominus-bootstrap-4.css 9KB
tempusdominus-bootstrap-4.min.css 9KB
style.css 5KB
owl.carousel.css 4KB
owl.carousel.min.css 3KB
owl.theme.default.css 1KB
owl.theme.green.css 1KB
owl.theme.green.min.css 936B
owl.theme.default.min.css 936B
ajax-loader.gif 3KB
.gitignore 182B
Search.html 14KB
Production.html 14KB
MainPage.html 13KB
OrderList.html 12KB
OrderChart.html 11KB
OrderManage.html 11KB
OrderFinsh.html 11KB
Submit.html 11KB
OrderSend.html 11KB
OrderReceive.html 10KB
OrderDetail.html 10KB
OrderEnter.html 10KB
ProductionLogin.html 4KB
ManagementLogin.html 4KB
graduate_design.iml 731B
moment.min.js 319KB
chart.min.js 190KB
tempusdominus-bootstrap-4.js 114KB
owl.carousel.js 83KB
tempusdominus-bootstrap-4.min.js 56KB
owl.carousel.min.js 42KB
moment-timezone.min.js 32KB
waypoints.min.js 9KB
main.js 5KB
easing.js 4KB
easing.min.js 2KB
LICENSE 1KB
links.php 77B
pic1.png 13KB
owl.video.play.png 5KB
pic2.png 5KB
app.py 14KB
method.py 3KB
app.cpython-310.pyc 9KB
method.cpython-310.pyc 2KB
_variables.scss 62KB
_utilities.scss 13KB
_reboot.scss 12KB
_rfs.scss 9KB
_functions.scss 8KB
_navbar.scss 7KB
_form-control.scss 7KB
_modal.scss 6KB
_carousel.scss 5KB
_dropdown.scss 5KB
_card.scss 5KB
_list-group.scss 4KB
_breakpoints.scss 4KB
_popover.scss 4KB
_buttons.scss 4KB
_tables.scss 4KB
_grid.scss 4KB
_form-check.scss 4KB
_forms.scss 4KB
_input-group.scss 3KB
_button-group.scss 3KB
_form-range.scss 3KB
_nav.scss 3KB
_accordion.scss 3KB
_tooltip.scss 3KB
_utilities.scss 2KB
_buttons.scss 2KB
_form-select.scss 2KB
_border-radius.scss 2KB
_gradients.scss 2KB
_offcanvas.scss 2KB
_api.scss 2KB
_floating-labels.scss 2KB
_pagination.scss 2KB
_spinners.scss 1KB
_alert.scss 1KB
_caret.scss 1KB
_type.scss 1KB
bootstrap-grid.scss 1KB
_containers.scss 1KB
_toasts.scss 1KB
_progress.scss 1KB
_images.scss 1KB
_labels.scss 1KB
_close.scss 1KB
bootstrap.scss 1KB
_visually-hidden.scss 1011B
_table-variants.scss 980B
_breadcrumb.scss 923B
_mixins.scss 872B
_pagination.scss 741B
bootstrap-reboot.scss 693B
_transition.scss 661B
共 134 条
- 1
- 2
资源评论
hakesashou
- 粉丝: 4235
- 资源: 1091
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功