diff --git a/Python程序设计课程设计报告 2024年.doc b/Python程序设计课程设计报告 2024年.doc
new file mode 100644
index 0000000..d929280
Binary files /dev/null and b/Python程序设计课程设计报告 2024年.doc differ
diff --git a/pythonProject/.idea/.gitignore b/pythonProject/.idea/.gitignore
new file mode 100644
index 0000000..35410ca
--- /dev/null
+++ b/pythonProject/.idea/.gitignore
@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/pythonProject/.idea/inspectionProfiles/profiles_settings.xml b/pythonProject/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/pythonProject/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pythonProject/.idea/misc.xml b/pythonProject/.idea/misc.xml
new file mode 100644
index 0000000..2a01189
--- /dev/null
+++ b/pythonProject/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pythonProject/.idea/modules.xml b/pythonProject/.idea/modules.xml
new file mode 100644
index 0000000..e15ec35
--- /dev/null
+++ b/pythonProject/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pythonProject/.idea/pythonProject.iml b/pythonProject/.idea/pythonProject.iml
new file mode 100644
index 0000000..2c80e12
--- /dev/null
+++ b/pythonProject/.idea/pythonProject.iml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pythonProject/order_data.txt b/pythonProject/order_data.txt
new file mode 100644
index 0000000..4375e58
--- /dev/null
+++ b/pythonProject/order_data.txt
@@ -0,0 +1,19 @@
+zs
+spa
+spa
+foot_spa
+foot_spa, spa
+foot_spa, spa
+massage
+massage, spa
+massage, spa
+spa
+Services: spa, Order info:
+Services: spa, Order info:
+Services: spa, Order info:
+Services: spa, Order info:
+Services: spa, Order info:
+Services: spa, Order info:
+Services: foot_spa, massage, spa, ear_cleaning, Order info:
+Services: spa, Order info:
+Services: SPA, Order info:
diff --git a/pythonProject/user_data.txt b/pythonProject/user_data.txt
new file mode 100644
index 0000000..c3f809b
--- /dev/null
+++ b/pythonProject/user_data.txt
@@ -0,0 +1,2 @@
+zs,zs
+zs,zs
diff --git a/pythonProject/zs1.py b/pythonProject/zs1.py
new file mode 100644
index 0000000..8419dc1
--- /dev/null
+++ b/pythonProject/zs1.py
@@ -0,0 +1,214 @@
+import tkinter as tk
+from tkinter import messagebox
+
+
+class FootSpaManagementSystem:
+ def __init__(self,order_info=""):
+ self.root = tk.Tk() # 创建主窗口
+ self.root.title("足浴店管理系统")
+ self.root.geometry("500x300")
+ self.user_data_file = "user_data.txt" # 用户数据文件路径
+ self.order_data_file = "order_data.txt" # 订单数据文件路径
+ self.order_info = order_info
+ self.create_main_window() # 创建主界面
+
+ #初始界面
+ def create_main_window(self):
+ self.main_frame = tk.Frame(self.root)
+ self.main_frame.pack()
+
+ self.welcome_label = tk.Label(self.main_frame, text="欢迎使用足浴店管理系统")
+ self.welcome_label.pack()
+
+ self.register_button_main = tk.Button(self.main_frame, text="注册", command=self.switch_to_register)
+ self.register_button_main.pack()
+
+ self.login_button_main = tk.Button(self.main_frame, text="登录", command=self.switch_to_login)
+ self.login_button_main.pack()
+
+ def register_user(self):
+ username = self.username_entry.get()
+ password = self.password_entry.get()
+
+ if username and password:
+ with open(self.user_data_file, "a") as file:
+ file.write(f"{username},{password}\n")
+ messagebox.showinfo("注册成功", "用户注册成功!") # 显示注册成功信息
+ else:
+ messagebox.showerror("注册失败", "请输入用户名和密码。") # 显示注册失败信息
+
+ def login_user(self):
+ username = self.username_entry_login.get()
+ password = self.password_entry_login.get()
+
+ with open(self.user_data_file, "r") as file:
+ user_data = file.readlines()
+
+ for user in user_data:
+ stored_username, stored_password = user.strip().split(",")
+ if username == stored_username and password == stored_password:
+ messagebox.showinfo("登录成功", f"欢迎回来, {username}!") # 显示登录成功信息
+ self.switch_to_order()
+ return
+ messagebox.showerror("登录失败", "用户名或密码错误。") # 显示登录失败信息
+
+ def surer1(self):
+ self.frame_register.pack_forget()
+ self.main_frame.pack()
+ if hasattr(self, "back_button"):
+ self.back_button.pack_forget() # 移除返回主界面的按钮
+ self.frame_register.pack_forget()
+ self.main_frame.pack()
+
+ def surer2(self):
+ self.frame_order.pack_forget()
+ self.main_frame.pack()
+ if hasattr(self, "back_button_order"):
+ self.back_button_order.pack_forget() # 移除返回主界面的按钮
+ self.frame_order.pack_forget()
+ self.main_frame.pack()
+
+ #注册界面
+ def switch_to_register(self):
+ self.main_frame.pack_forget()
+ self.frame_register = tk.Frame(self.root)
+ self.frame_register.pack()
+
+ self.username_label = tk.Label(self.frame_register, text="用户名:")
+ self.username_label.pack()
+ self.username_entry = tk.Entry(self.frame_register)
+ self.username_entry.pack()
+
+ self.password_label = tk.Label(self.frame_register, text="密码:")
+ self.password_label.pack()
+ self.password_entry = tk.Entry(self.frame_register, show="*")
+ self.password_entry.pack()
+
+ self.register_button = tk.Button(self.frame_register, text="注册", command=self.register_user)
+ self.register_button.pack()
+
+ self.back_button = tk.Button(self.root, text="返回主界面", command=self.surer1)
+ self.back_button.pack()
+
+ #登录界面
+ def switch_to_login(self):
+ self.main_frame.pack_forget()
+ self.frame_login = tk.Frame(self.root)
+ self.frame_login.pack()
+
+ self.username_label_login = tk.Label(self.frame_login, text="用户名:")
+ self.username_label_login.pack()
+ self.username_entry_login = tk.Entry(self.frame_login)
+ self.username_entry_login.pack()
+
+ self.password_label_login = tk.Label(self.frame_login, text="密码:")
+ self.password_label_login.pack()
+ self.password_entry_login = tk.Entry(self.frame_login, show="*")
+ self.password_entry_login.pack()
+
+ self.login_button = tk.Button(self.frame_login, text="登录", command=self.login_user)
+ self.login_button.pack()
+
+ #选择订单界面
+ def switch_to_order(self):
+ self.main_frame.pack_forget() # 移除主界面
+ if hasattr(self, "frame_register"):
+ self.frame_register.pack_forget() # 移除注册界面(如果存在)
+ if hasattr(self, "frame_login"):
+ self.frame_login.pack_forget() # 移除登录界面(如果存在)
+ self.frame_order = tk.Frame(self.root)
+ self.frame_order.pack()
+
+ self.order_label = tk.Label(self.frame_order, text="请选择服务:")
+ self.order_label.pack()
+
+ self.services = {
+ "足浴": tk.IntVar(),
+ "按摩": tk.IntVar(),
+ "SPA": tk.IntVar(),
+ "采耳": tk.IntVar()
+ }
+
+ self.foot_spa_checkbox = tk.Checkbutton(self.frame_order, text="足浴", variable=self.services["足浴"])
+ self.foot_spa_checkbox.pack()
+
+ self.massage_checkbox = tk.Checkbutton(self.frame_order, text="按摩", variable=self.services["按摩"])
+ self.massage_checkbox.pack()
+
+ self.spa_checkbox = tk.Checkbutton(self.frame_order, text="SPA", variable=self.services["SPA"])
+ self.spa_checkbox.pack()
+
+ self.ear_cleaning_checkbox = tk.Checkbutton(self.frame_order, text="采耳",variable=self.services["采耳"])
+ self.ear_cleaning_checkbox.pack()
+
+ self.confirm_order_button = tk.Button(self.frame_order, text="确认订单", command=self.confirm_order)
+ self.confirm_order_button.pack()
+
+ self.back_button_order = tk.Button(self.frame_order, text="返回主界面", command=self.surer2)
+ self.back_button_order.pack()
+
+ def confirm_order(self):
+ selected_services = [service for service, selected in self.services.items() if selected.get() == 1]
+ if selected_services:
+ messagebox.showinfo("下单成功", f"您选择了:{', '.join(selected_services)}\n订单信息:{self.order_info}")
+
+ # 显示选择技师的界面
+ self.show_select_technician_screen()
+
+ with open(self.order_data_file, "a") as file:
+ file.write(f"Services: {', '.join(selected_services)}, Order info: {self.order_info}\n")
+ else:
+ messagebox.showerror("下单失败", "请选择至少一项服务。")
+
+ # 选择技师界面
+ def show_select_technician_screen(self):
+ self.frame_order.pack_forget() # 移除选择订单界面
+ # 创建选择技师的界面
+ self.frame_technician = tk.Frame(self.root)
+ self.frame_technician.pack()
+
+ self.technician_label = tk.Label(self.frame_technician, text="请选择技师:")
+ self.technician_label.pack()
+
+ self.technicians = {
+ "6号技师": tk.IntVar(),
+ "8号技师": tk.IntVar(),
+ "66号技师": tk.IntVar(),
+ "88号技师": tk.IntVar(),
+ }
+
+ self.john_doe_checkbox = tk.Checkbutton(self.frame_technician, text="6号技师",
+ variable=self.technicians["6号技师"])
+ self.john_doe_checkbox.pack()
+
+ self.jane_smith_checkbox = tk.Checkbutton(self.frame_technician, text="8号技师",
+ variable=self.technicians["8号技师"])
+ self.jane_smith_checkbox.pack()
+
+ self.mike_wilson_checkbox = tk.Checkbutton(self.frame_technician, text="66号技师",
+ variable=self.technicians["66号技师"])
+ self.mike_wilson_checkbox.pack()
+
+ self.mike_wilson_checkbox = tk.Checkbutton(self.frame_technician, text="88号技师",
+ variable=self.technicians["88号技师"])
+ self.mike_wilson_checkbox.pack()
+
+ self.confirm_technician_button = tk.Button(self.frame_technician, text="确认技师",
+ command=self.confirm_technician)
+ self.confirm_technician_button.pack()
+
+ def confirm_technician(self):
+ selected_technicians = [technician for technician, selected in self.technicians.items() if selected.get() == 1]
+ if selected_technicians:
+ technician_message = f"您选择了技师:{', '.join(selected_technicians)}"
+ messagebox.showinfo("选择技师成功", technician_message)
+ else:
+ messagebox.showerror("选择技师失败", "请选择至少一名技师。")
+
+ def run(self):
+ self.root.mainloop() # 启动主循环
+
+
+# 实例化足浴店管理系统
+foot_spa_system = FootSpaManagementSystem()
+foot_spa_system.run()
\ No newline at end of file
diff --git a/pythonProject/足浴店管理系统.rar b/pythonProject/足浴店管理系统.rar
new file mode 100644
index 0000000..c065d45
Binary files /dev/null and b/pythonProject/足浴店管理系统.rar differ