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