def __init__(self, uid):

        self.patient = PatientDAO.get(uid)

        self.tk = Tk()
        self.tk.title("医院挂号就诊系统-病患界面")

        self.userNameText = Label(self.tk, text=f"欢迎你, {self.patient.name}")
        self.userNameText.grid(row=0, column=0, padx=5, pady=10)

        self.actionsFrame = LabelFrame(self.tk, text="操作")

        self.newRegButton = Button(self.actionsFrame,
                                   text="新建挂号",
                                   padx=20,
                                   command=self.newRegHandler)
        self.newRegButton.grid(row=0, column=0, padx=5)
        self.refresButton = Button(self.actionsFrame,
                                   text="  刷新  ",
                                   padx=20,
                                   command=self.refresHandler)
        self.refresButton.grid(row=0, column=1, padx=5)
        self.historyButton = Button(self.actionsFrame,
                                    text="查看历史",
                                    padx=20,
                                    command=self.historyHandler)
        self.historyButton.grid(row=0, column=2, padx=5)

        self.actionsFrame.grid(row=1, column=0)

        self.createPendingFrame()
        self.createDetailedFrame()

        self.tk.mainloop()
    def createInfoFrame(self):
        self.infoFrame = Frame(self.detailedFrame)
        reg = RegistrationtDAO.get(self.selectedRID())
        patient = PatientDAO.get(reg.pid)

        Label(self.infoFrame, text="挂号编号", width=13, anchor="e").grid(row=0,
                                                                      column=0)
        Label(self.infoFrame, text=reg.rid, width=30,
              anchor="w").grid(row=0, column=1)

        Label(self.infoFrame, text="挂号时间", width=13, anchor="e").grid(row=1,
                                                                      column=0)
        Label(self.infoFrame,
              text=reg.rtime.strftime("%Y/%m/%d %H:%M:%S"),
              width=30,
              anchor="w").grid(row=1, column=1)

        Label(self.infoFrame, text="挂号类型", width=13, anchor="e").grid(row=2,
                                                                      column=0)
        Label(self.infoFrame, text=rtypePrint(reg.rtype), width=30,
              anchor="w").grid(row=2, column=1)

        Label(self.infoFrame, text="患者名称", width=13, anchor="e").grid(row=3,
                                                                      column=0)
        Label(self.infoFrame, text=patient.name, width=30,
              anchor="w").grid(row=3, column=1)

        Label(self.infoFrame, text="患者电话", width=13, anchor="e").grid(row=4,
                                                                      column=0)
        Label(self.infoFrame, text=patient.phone, width=30,
              anchor="w").grid(row=4, column=1)

        self.infoFrame.grid(row=1, columnspan=2)
    def __init__(self, uid):
        self.patient = PatientDAO.get(uid)
        self.tk = Tk()
        self.tk.title("医院挂号就诊系统-历史挂号")

        self.createPendingFrame()

        self.tk.mainloop()
def doctorResultToString(result):
    patient = PatientDAO.get(result.pid)
    if result.rtype == "pro":
        printType = "专家"
    else:
        printType = "普通"
    time = result.rtime.strftime("%Y/%m/%d %H:%M:%S")
    return f"{result.rid:8} | {time:19} | {printType:2} | {patient.name:<10}"
Exemplo n.º 5
0
    def __init__(self, uid):
        self.patient = PatientDAO.get(uid)

        self.tk = Tk()
        self.tk.title("医院挂号就诊系统-新建挂号")

        self.departments = DepartmentDAO.listAll()
        self.departments.sort(key=Department.getIdAsInt)
        self.departmentList=[]
        for department in self.departments:
            self.departmentList.append(f"{department.deptID:>2}|{department.deptName}")
               
        self.rtypeList = ["普通", "专家"]

        self.departmentText = Label(self.tk, text="科室", anchor="e", width=10)
        self.departmentText.grid(row=0, column=0, padx=5)
        self.doctorText = Label(self.tk, text="医生", anchor="e", width=10)
        self.doctorText.grid(row=1, column=0, padx=5)
        self.rtypeText = Label(self.tk, text="挂号类型", anchor="e", width=10)
        self.rtypeText.grid(row=2, column=0, padx=5)

        self.department = StringVar(self.tk)
        self.department.set(self.departmentList[0])
        self.departmentOption = OptionMenu(self.tk, self.department, *self.departmentList, command=self.updateMenus)
        self.departmentOption.config(width=20)
        self.departmentOption.grid(row=0, column=1, padx=5)

        self.doctor = StringVar(self.tk)
        self.doctorOption = OptionMenu(self.tk, self.doctor, "null")
        self.updateMenus()

        self.rtype = StringVar(self.tk)
        self.rtype.set(self.rtypeList[0])
        self.rtypeOption = OptionMenu(self.tk, self.rtype, *self.rtypeList)
        self.rtypeOption.config(width=20)
        self.rtypeOption.grid(row=2, column=1, padx=5)

        self.submitButton = Button(self.tk, text="确认", command = self.submit, padx=20)
        self.submitButton.grid(row=3, columnspan=2, padx=5, pady=5)

        self.tk.mainloop()
 def refresHandler(self):
     self.patient = PatientDAO.get(self.patient.uid)
     self.updatePendingFrame()
     self.updateDetailedFrame()