首页 > 分享 > Python+mysql=接单管理系统

Python+mysql=接单管理系统

Python+mysql=接单管理系统

起因:接的单子越来越多,各种信息记录太麻烦,容易弄丢还不好统计
经过:闲得慌用python花了两个下午写了个自用的接单管理系统,复习一下pyqt5的使用
结果:就这样吧,懒得办了
思路就是本人太懒,所以直接上代码

主界面

# -*- coding: utf-8 -*- # Form implementation generated from reading ui file '主界面.ui' # # Created by: PyQt5 UI code generator 5.14.1 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.setEnabled(True) MainWindow.resize(981, 779) font = QtGui.QFont() font.setBold(False) font.setItalic(False) font.setWeight(50) MainWindow.setFont(font) MainWindow.setToolTip("") self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.add_order = QtWidgets.QPushButton(self.centralwidget) self.add_order.setGeometry(QtCore.QRect(40, 140, 93, 28)) font = QtGui.QFont() font.setFamily("隶书") font.setPointSize(12) font.setBold(False) font.setItalic(False) font.setWeight(50) self.add_order.setFont(font) self.add_order.setObjectName("add_order") self.delete_order = QtWidgets.QPushButton(self.centralwidget) self.delete_order.setGeometry(QtCore.QRect(760, 170, 93, 28)) font = QtGui.QFont() font.setFamily("隶书") font.setPointSize(12) font.setBold(False) font.setItalic(False) font.setWeight(50) self.delete_order.setFont(font) self.delete_order.setObjectName("delete_order") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(340, 10, 311, 71)) font = QtGui.QFont() font.setFamily("华文新魏") font.setPointSize(29) font.setBold(False) font.setItalic(False) font.setWeight(50) self.label.setFont(font) self.label.setStyleSheet("color:rgb(0, 85, 255);") self.label.setFrameShape(QtWidgets.QFrame.NoFrame) self.label.setFrameShadow(QtWidgets.QFrame.Raised) self.label.setTextFormat(QtCore.Qt.AutoText) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(430, 700, 161, 20)) font = QtGui.QFont() font.setFamily("Franklin Gothic Demi") font.setBold(False) font.setItalic(False) font.setWeight(50) self.label_2.setFont(font) self.label_2.setStyleSheet("color:rgb(25, 85, 25);") self.label_2.setFrameShape(QtWidgets.QFrame.NoFrame) self.label_2.setFrameShadow(QtWidgets.QFrame.Raised) self.label_2.setObjectName("label_2") self.tableWidget = QtWidgets.QTableWidget(self.centralwidget) self.tableWidget.setGeometry(QtCore.QRect(30, 220, 921, 461)) self.tableWidget.setFrameShape(QtWidgets.QFrame.WinPanel) self.tableWidget.setFrameShadow(QtWidgets.QFrame.Raised) self.tableWidget.setLineWidth(3) self.tableWidget.setMidLineWidth(2) self.tableWidget.setDragEnabled(True) self.tableWidget.setObjectName("tableWidget") self.tableWidget.setColumnCount(8) self.tableWidget.setRowCount(0) item = QtWidgets.QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(2, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(3, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(4, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(5, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(6, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(7, item) self.line_2 = QtWidgets.QFrame(self.centralwidget) self.line_2.setGeometry(QtCore.QRect(20, 140, 20, 71)) self.line_2.setFrameShape(QtWidgets.QFrame.VLine) self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_2.setObjectName("line_2") self.line_3 = QtWidgets.QFrame(self.centralwidget) self.line_3.setGeometry(QtCore.QRect(140, 140, 20, 71)) self.line_3.setStyleSheet("color:rgb(235, 85, 0);") self.line_3.setFrameShape(QtWidgets.QFrame.VLine) self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_3.setObjectName("line_3") self.delete_num = QtWidgets.QLineEdit(self.centralwidget) self.delete_num.setGeometry(QtCore.QRect(860, 170, 71, 31)) self.delete_num.setText("") self.delete_num.setObjectName("delete_num") self.line = QtWidgets.QFrame(self.centralwidget) self.line.setGeometry(QtCore.QRect(30, 130, 118, 20)) self.line.setFrameShape(QtWidgets.QFrame.HLine) self.line.setFrameShadow(QtWidgets.QFrame.Sunken) self.line.setObjectName("line") self.line_4 = QtWidgets.QFrame(self.centralwidget) self.line_4.setGeometry(QtCore.QRect(30, 200, 118, 20)) self.line_4.setFrameShape(QtWidgets.QFrame.HLine) self.line_4.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_4.setObjectName("line_4") self.shuxin = QtWidgets.QPushButton(self.centralwidget) self.shuxin.setGeometry(QtCore.QRect(40, 180, 81, 28)) font = QtGui.QFont() font.setFamily("幼圆") font.setBold(True) font.setItalic(False) font.setUnderline(False) font.setWeight(75) self.shuxin.setFont(font) self.shuxin.setMouseTracking(False) self.shuxin.setStyleSheet("color: rgb(0, 0, 127);") self.shuxin.setAutoDefault(True) self.shuxin.setFlat(False) self.shuxin.setObjectName("shuxin") self.statics = QtWidgets.QToolButton(self.centralwidget) self.statics.setEnabled(False) self.statics.setGeometry(QtCore.QRect(170, 180, 101, 31)) font = QtGui.QFont() font.setFamily("隶书") font.setPointSize(12) self.statics.setFont(font) self.statics.setCheckable(False) self.statics.setPopupMode(QtWidgets.QToolButton.DelayedPopup) self.statics.setAutoRaise(False) self.statics.setObjectName("statics") self.alert_order = QtWidgets.QPushButton(self.centralwidget) self.alert_order.setGeometry(QtCore.QRect(760, 130, 93, 28)) font = QtGui.QFont() font.setFamily("隶书") font.setPointSize(12) self.alert_order.setFont(font) self.alert_order.setObjectName("alert_order") self.serach_edit = QtWidgets.QLineEdit(self.centralwidget) self.serach_edit.setGeometry(QtCore.QRect(370, 160, 211, 21)) self.serach_edit.setEchoMode(QtWidgets.QLineEdit.Normal) self.serach_edit.setClearButtonEnabled(False) self.serach_edit.setObjectName("serach_edit") self.search_box = QtWidgets.QComboBox(self.centralwidget) self.search_box.setGeometry(QtCore.QRect(590, 160, 71, 22)) font = QtGui.QFont() font.setFamily("隶书") font.setPointSize(11) font.setBold(True) font.setWeight(75) self.search_box.setFont(font) self.search_box.setObjectName("search_box") self.search_box.addItem("") self.search_box.addItem("") self.alert_edit = QtWidgets.QLineEdit(self.centralwidget) self.alert_edit.setGeometry(QtCore.QRect(860, 130, 71, 31)) self.alert_edit.setObjectName("alert_edit") self.line_5 = QtWidgets.QFrame(self.centralwidget) self.line_5.setGeometry(QtCore.QRect(750, 110, 191, 20)) self.line_5.setFrameShape(QtWidgets.QFrame.HLine) self.line_5.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_5.setObjectName("line_5") self.line_6 = QtWidgets.QFrame(self.centralwidget) self.line_6.setGeometry(QtCore.QRect(750, 200, 191, 20)) self.line_6.setFrameShape(QtWidgets.QFrame.HLine) self.line_6.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_6.setObjectName("line_6") self.line_7 = QtWidgets.QFrame(self.centralwidget) self.line_7.setGeometry(QtCore.QRect(740, 120, 16, 91)) self.line_7.setFrameShadow(QtWidgets.QFrame.Raised) self.line_7.setFrameShape(QtWidgets.QFrame.VLine) self.line_7.setObjectName("line_7") self.line_8 = QtWidgets.QFrame(self.centralwidget) self.line_8.setGeometry(QtCore.QRect(930, 120, 16, 91)) self.line_8.setFrameShape(QtWidgets.QFrame.VLine) self.line_8.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_8.setObjectName("line_8") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 981, 26)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.add_order.setStyleSheet(_translate("MainWindow", "color: rgb(0, 0, 127);")) self.add_order.setText(_translate("MainWindow", "添加")) self.delete_order.setStyleSheet(_translate("MainWindow", "color: rgb(0, 0, 127);")) self.delete_order.setText(_translate("MainWindow", "删除")) self.label.setText(_translate("MainWindow", "订单管理系统")) self.label_2.setText(_translate("MainWindow", "Author——》YMING")) self.tableWidget.setSortingEnabled(True) item = self.tableWidget.horizontalHeaderItem(0) item.setText(_translate("MainWindow", "单号")) item = self.tableWidget.horizontalHeaderItem(1) item.setText(_translate("MainWindow", "单名")) item = self.tableWidget.horizontalHeaderItem(2) item.setText(_translate("MainWindow", "类型")) item = self.tableWidget.horizontalHeaderItem(3) item.setText(_translate("MainWindow", "价格")) item = self.tableWidget.horizontalHeaderItem(4) item.setText(_translate("MainWindow", "状态")) item = self.tableWidget.horizontalHeaderItem(5) item.setText(_translate("MainWindow", "成交日期")) item = self.tableWidget.horizontalHeaderItem(6) item.setText(_translate("MainWindow", "交货截至日期")) item = self.tableWidget.horizontalHeaderItem(7) item.setText(_translate("MainWindow", "备注")) self.delete_num.setPlaceholderText(_translate("MainWindow", "删除单号")) self.shuxin.setText(_translate("MainWindow", "刷新")) self.statics.setText(_translate("MainWindow", "统计分析")) self.alert_order.setStyleSheet(_translate("MainWindow", "color: rgb(0, 0, 127);")) self.alert_order.setText(_translate("MainWindow", "完成")) self.serach_edit.setPlaceholderText(_translate("MainWindow", "请键入搜索内容...")) self.search_box.setStyleSheet(_translate("MainWindow", "color: rgb(0, 0, 127);")) self.search_box.setItemText(0, _translate("MainWindow", "单号")) self.search_box.setItemText(1, _translate("MainWindow", "状态")) self.alert_edit.setPlaceholderText(_translate("MainWindow", "修改单号"))

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242

2.主界面后端

import sys from qtpy import QtWidgets from database_handle import database_handle from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidgetItem, QHBoxLayout, QTableWidget, QMessageBox, QMenu, QAction, QToolButton from 主界面 import Ui_MainWindow from 订单添加后端 import order_handle, QRegExpValidator, QRegExp, QIcon, Qt class main_window_handle(QMainWindow, Ui_MainWindow): def __init__(self): super().__init__() self.setupUi() def update_table(self): dh = database_handle() data = dh.get_all() row = len(data) self.tableWidget.setRowCount(row) for i in range(len(data)): for j in range(len(data[i])): item = QTableWidgetItem(str(data[i][j])) self.tableWidget.setItem(i, j, item) def delete_data(self): dh = database_handle() if self.delete_num.text() != '': dh.delete(int(self.delete_num.text())) QMessageBox.information(self, '提示', f'订单:{int(self.delete_num.text())}删除成功!') self.delete_num.setText('') self.update_table() def alert_data(self): dh = database_handle() id = self.alert_edit.text() if id != '': dh.update(id) QMessageBox.information(self, '提示', f'订单:{int(id)}状态修改成功!') self.update_table() def setupUi(self, **kwargs): super().setupUi(self) self.setWindowTitle('订单管理系统') self.setWindowIcon(QIcon('images/ic.ico')) self.setFixedSize(1000, 746) self.delete_num.setValidator(QRegExpValidator(QRegExp('[0-9]+$'))) self.alert_edit.setValidator(QRegExpValidator(QRegExp('[0-9]+$'))) self.tableWidget.setEditTriggers(QTableWidget.NoEditTriggers) self.tableWidget.clicked.connect(self.update_table) self.shuxin.clicked.connect(self.update_table) self.delete_order.clicked.connect(self.delete_data) self.update_table() self.alert_tool_add() self.search_box.currentIndexChanged.connect(self.search) self.serach_edit.setText('待交') self.setWindowOpacity(0.95) self.add_order.setIcon(QIcon('images/add.ico')) self.alert_order.setIcon(QIcon('images/alert.ico')) self.delete_order.setIcon(QIcon('images/delete.ico')) self.shuxin.setIcon(QIcon('images/update.ico')) self.alert_order.clicked.connect(self.alert_data) self.setStyleSheet("#MainWindow{border-image:url(images/bj.png)}") op = QtWidgets.QGraphicsOpacityEffect() op.setOpacity(0.6) self.serach_edit.setGraphicsEffect(op) self.statics.setHidden(True) def search(self): type = self.search_box.currentText() content = self.serach_edit.text() if type == '状态': dh = database_handle() data = dh.get_state(content) row = len(data) self.tableWidget.setRowCount(row) for i in range(len(data)): for j in range(len(data[i])): item = QTableWidgetItem(str(data[i][j])) self.tableWidget.setItem(i, j, item) if type == '单号': dh = database_handle() data = dh.get_id(content) row = len(data) self.tableWidget.setRowCount(row) for i in range(len(data)): for j in range(len(data[i])): item = QTableWidgetItem(str(data[i][j])) self.tableWidget.setItem(i, j, item) def alert_tool_add(self): menu = QMenu(self.statics) action = QAction(QIcon('images/finish.ico'), '完成', menu) action.triggered.connect(lambda: print('ssss')) menu.addAction(action) menu.addSeparator() self.statics.setMenu(menu) self.statics.setPopupMode(QToolButton.MenuButtonPopup) if __name__ == '__main__': app = QApplication(sys.argv) mwh = main_window_handle() mwh.show() oh = order_handle() om = oh.mainwindow mwh.add_order.clicked.connect(om.show) sys.exit(app.exec_())

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110

3.订单添加页面

# -*- coding: utf-8 -*- # Form implementation generated from reading ui file '订单添加.ui' # # Created by: PyQt5 UI code generator 5.14.1 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.setWindowModality(QtCore.Qt.WindowModal) MainWindow.setEnabled(True) MainWindow.resize(1060, 746) font = QtGui.QFont() font.setFamily("华文楷体") font.setPointSize(12) font.setBold(True) font.setItalic(False) font.setWeight(75) MainWindow.setFont(font) MainWindow.setInputMethodHints(QtCore.Qt.ImhNone) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.label_3 = QtWidgets.QLabel(self.centralwidget) self.label_3.setGeometry(QtCore.QRect(540, 180, 41, 21)) self.label_3.setObjectName("label_3") self.label_4 = QtWidgets.QLabel(self.centralwidget) self.label_4.setGeometry(QtCore.QRect(200, 320, 91, 21)) self.label_4.setObjectName("label_4") self.label_5 = QtWidgets.QLabel(self.centralwidget) self.label_5.setGeometry(QtCore.QRect(540, 250, 91, 16)) self.label_5.setObjectName("label_5") self.label_6 = QtWidgets.QLabel(self.centralwidget) self.label_6.setGeometry(QtCore.QRect(540, 320, 141, 21)) self.label_6.setObjectName("label_6") self.label_7 = QtWidgets.QLabel(self.centralwidget) self.label_7.setGeometry(QtCore.QRect(200, 390, 101, 21)) self.label_7.setObjectName("label_7") self.label_8 = QtWidgets.QLabel(self.centralwidget) self.label_8.setGeometry(QtCore.QRect(200, 500, 61, 16)) self.label_8.setObjectName("label_8") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(200, 180, 50, 30)) self.label_2.setObjectName("label_2") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(200, 240, 51, 41)) self.label.setObjectName("label") self.title = QtWidgets.QLabel(self.centralwidget) self.title.setGeometry(QtCore.QRect(460, 40, 211, 61)) font = QtGui.QFont() font.setFamily("华文新魏") font.setPointSize(29) font.setBold(True) font.setItalic(False) font.setUnderline(False) font.setWeight(75) font.setStrikeOut(False) font.setKerning(True) self.title.setFont(font) self.title.setObjectName("title") self.order_number = QtWidgets.QLineEdit(self.centralwidget) self.order_number.setGeometry(QtCore.QRect(310, 180, 151, 21)) self.order_number.setObjectName("order_number") self.order_name = QtWidgets.QLineEdit(self.centralwidget) self.order_name.setGeometry(QtCore.QRect(310, 250, 151, 21)) self.order_name.setObjectName("order_name") self.order_type = QtWidgets.QComboBox(self.centralwidget) self.order_type.setGeometry(QtCore.QRect(700, 180, 151, 30)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.order_type.setFont(font) self.order_type.setObjectName("order_type") self.order_type.addItem("") self.order_type.addItem("") self.order_type.addItem("") self.order_type.addItem("") self.order_type.addItem("") self.order_type.addItem("") self.state = QtWidgets.QComboBox(self.centralwidget) self.state.setGeometry(QtCore.QRect(310, 390, 81, 22)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.state.setFont(font) self.state.setObjectName("state") self.state.addItem("") self.state.addItem("") self.state.addItem("") self.price = QtWidgets.QLineEdit(self.centralwidget) self.price.setGeometry(QtCore.QRect(310, 320, 151, 21)) self.price.setObjectName("price") self.others = QtWidgets.QPlainTextEdit(self.centralwidget) self.others.setGeometry(QtCore.QRect(310, 440, 461, 131)) self.others.setObjectName("others") self.end_date = QtWidgets.QDateTimeEdit(self.centralwidget) self.end_date.setGeometry(QtCore.QRect(700, 320, 194, 22)) self.end_date.setDateTime(QtCore.QDateTime(QtCore.QDate(2020, 7, 1), QtCore.QTime(0, 0, 0))) self.end_date.setCalendarPopup(True) self.end_date.setObjectName("end_date") self.start_date = QtWidgets.QDateTimeEdit(self.centralwidget) self.start_date.setGeometry(QtCore.QRect(700, 250, 194, 22)) self.start_date.setDateTime(QtCore.QDateTime(QtCore.QDate(2020, 7, 1), QtCore.QTime(0, 0, 0))) self.start_date.setCalendarPopup(True) self.start_date.setObjectName("start_date") self.submit = QtWidgets.QPushButton(self.centralwidget) self.submit.setGeometry(QtCore.QRect(490, 610, 91, 31)) font = QtGui.QFont() font.setFamily("华文新魏") font.setPointSize(16) font.setBold(False) font.setWeight(50) self.submit.setFont(font) self.submit.setMouseTracking(False) self.submit.setObjectName("submit") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1060, 26)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.label_3.setText(_translate("MainWindow", "类型")) self.label_4.setText(_translate("MainWindow", "成交价格")) self.label_5.setText(_translate("MainWindow", "成交日期")) self.label_6.setText(_translate("MainWindow", "交货截至日期")) self.label_7.setText(_translate("MainWindow", "交货状态")) self.label_8.setText(_translate("MainWindow", "备注")) self.label_2.setText(_translate("MainWindow", "单号")) self.label.setText(_translate("MainWindow", "单名")) self.title.setText(_translate("MainWindow", "订单添加")) self.order_number.setPlaceholderText(_translate("MainWindow", "请输入单号")) self.order_name.setPlaceholderText(_translate("MainWindow", "请输入单名")) self.order_type.setItemText(0, _translate("MainWindow", "Python")) self.order_type.setItemText(1, _translate("MainWindow", "C")) self.order_type.setItemText(2, _translate("MainWindow", "Java")) self.order_type.setItemText(3, _translate("MainWindow", "代考")) self.order_type.setItemText(4, _translate("MainWindow", "资料售卖")) self.order_type.setItemText(5, _translate("MainWindow", "代写设计报告")) self.state.setItemText(0, _translate("MainWindow", "待交")) self.state.setItemText(1, _translate("MainWindow", "完成")) self.state.setItemText(2, _translate("MainWindow", "失败")) self.price.setPlaceholderText(_translate("MainWindow", "请输入成交价")) self.end_date.setDisplayFormat(_translate("MainWindow", "yyyy-MM-dd")) self.start_date.setDisplayFormat(_translate("MainWindow", "yyyy-MM-dd")) self.submit.setText(_translate("MainWindow", "提交"))

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160

4.订单添加页面后端

from 订单添加 import Ui_MainWindow import sys import pymysql from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5.Qt import * import time from PyQt5 import QtCore, QtGui class order_handle(): def __init__(self): self.mainwindow = QMainWindow() self.um = Ui_MainWindow() self.db = pymysql.connect('localhost', 'root', 'root', '订单管理') self.create_table() self.set_ui() def set_ui(self): self.mainwindow.setWindowIcon(QIcon('images/ic.ico')) self.mainwindow.setFixedSize(1060, 746) self.mainwindow.setWindowOpacity(0.95) self.um.setupUi(self.mainwindow) self.um.price.setValidator(QRegExpValidator(QRegExp('[0-9 .]+$'))) self.um.order_number.setValidator(QRegExpValidator(QRegExp('[0-9]+$'))) self.um.start_date.setDateTime( QtCore.QDateTime(QtCore.QDate(time.gmtime().tm_year, time.gmtime().tm_mon, time.gmtime().tm_mday), QtCore.QTime(0, 0, 0))) self.um.end_date.setDateTime( QtCore.QDateTime(QtCore.QDate(time.gmtime().tm_year, time.gmtime().tm_mon, time.gmtime().tm_mday), QtCore.QTime(0, 0, 0))) self.um.submit.clicked.connect(self.add_order) self.mainwindow.setWindowTitle('订单管理系统') def create_table(self): sql = "create table if not exists order_manger(id int primary key NOT NULL ,order_name varchar(50),order_type varchar(20),price FLOAT ,state varchar(5),start_date DATE,end_date DATE,others VARCHAR(500))" cursor = self.db.cursor() try: cursor.execute(sql) self.db.commit() except: self.db.rollback() pass def add_order(self): res=QMessageBox.information(self.mainwindow,'提交警告','你确定上传单子信息?',QMessageBox.Yes|QMessageBox.No) if res==65536: return order_name = self.um.order_name.text() order_number = self.um.order_number.text() order_type = self.um.order_type.currentText() price = self.um.price.text() start_date = self.um.start_date.text() end_date = self.um.end_date.text() state = self.um.state.currentText() others = self.um.others.toPlainText() try: sql = f"insert into order_manger values({order_number},'{order_name}','{order_type}',{float(price)},'{state}','{start_date}','{end_date}','{others}') " print(sql) cursor = self.db.cursor() cursor.execute(sql) self.db.commit() QMessageBox.information(self.mainwindow, '提示', '订单提交成功!') print('添加成功') except pymysql.err.IntegrityError: self.db.rollback() QMessageBox.information(self.mainwindow, '提示', '该单号已存在!') except ValueError: QMessageBox.information(self.mainwindow, '提示', '表单信息填写错误!') except: self.db.rollback() print('error') if __name__ == '__main__': app = QApplication(sys.argv) t=order_handle() t.mainwindow.show() sys.exit(app.exec_())

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687

5.数据库(mysql)交互

import pymysql class database_handle(): def __init__(self): self.db = pymysql.connect('localhost', 'root', 'root', '订单管理') def get_all(self): sql = "select * from order_manger" cursor = self.db.cursor() cursor.execute(sql) data = cursor.fetchall() self.db.commit() return data def delete(self, id): sql = f"delete from order_manger where id={id}" cursor = self.db.cursor() cursor.execute(sql) self.db.commit() def update(self, id): sql = f'' def get_hearders(self): sql = f"show columns from order_manger" cursor = self.db.cursor() cursor.execute(sql) cols = cursor.fetchall() self.db.commit() return cols def get_state(self, state): sql = "select * from order_manger where state ='%s'" % (state) try: cursor = self.db.cursor() cursor.execute(sql) data = cursor.fetchall() self.db.commit() except: self.db.rollback() return data def get_id(self, id): sql = "select * from order_manger where id ='%s'" % (id) try: cursor = self.db.cursor() cursor.execute(sql) data = cursor.fetchall() self.db.commit() except: self.db.rollback() return data def update(self,id): sql="update order_manger set state='%s' where id=%s"%('完成',id) print(sql) try: cursor = self.db.cursor() cursor.execute(sql) self.db.commit() except: self.db.rollback() if __name__ == '__main__': dh = database_handle() print(dh.update(19)) pass

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

效果展示

在这里插入图片描述
在这里插入图片描述
这些是一些图标,背景图。在相对路径images文件夹下
在这里插入图片描述
注意事项:因为我用的我电脑上MySQL,所以要使用得配置mysql,然后自己根据数据库操作代码修改配置,虽然简陋,但是满足自己的小需求可还行

相关知识

推荐几个鲜花接单平台
花大侠(花店接单平台)app下载
绿化工程交接单
鲜花接单有哪些软件
鲜花网络接单平台哪个好
花礼网合作花店接单配送体验调查
鲜花网上接单最大的免费平台是什么
花店常见的几种接单渠道 花店异业合作
基于PHP的网上鲜花订购系统
【免费】SRAP标记研究粉花石斛的遗传多样性和居群遗传结构资源

网址: Python+mysql=接单管理系统 https://m.huajiangbk.com/newsview546644.html

所属分类:花卉
上一篇: PHP开发商城中的订单管理功能实
下一篇: 采购与订单管理.doc