#! /usr/bin/env python3 # -*- coding: UTF-8 -*- import tkinter as tk from tkinter import ttk from tkinter import * from tkinter import messagebox import pymysql import re from _tkinter import create root = tk.Tk() root.title('用户管理') root.maxsize() w,h=root.maxsize() root.geometry("{}x{}".format(w, h)) labelframe = ttk.LabelFrame(root) labelframe.grid(row=0, column=0) label_01 = Label(labelframe,text = '用户姓名:') label_01.grid(row=0,column=0) data_01 = StringVar() entry_01 = Entry(labelframe,textvariable=data_01) entry_01.grid(row=0,column=1) label = Label(labelframe,text = ' ') label.grid(row=0,column=2) label_02 = Label(labelframe, text='用户手机号:') label_02.grid(row=0, column=3) data_02 = StringVar() entry_02 = Entry(labelframe,textvariable=data_02) entry_02.grid(row=0,column=4) label = Label(labelframe, text=' ') label.grid(row=0, column=5) label_03 = Label(labelframe, text='城市:') label_03.grid(row=0, column=6) data_03 =StringVar() combobox_03 =ttk.Combobox(labelframe,textvariable=data_03) combobox_03['values']=('不限','杭州市','南京市') combobox_03["state"] = "readonly" combobox_03.current(0) combobox_03.grid(row=0, column=7) label = Label(labelframe, text=' ') label.grid(row=0, column=8) label_04 = Label(labelframe, text='所在部门:') label_04.grid(row=0, column=9) data_04 =StringVar() combobox_04 =ttk.Combobox(labelframe,textvariable=data_04) combobox_04['values']=('不限','总部','分公司') combobox_04["state"] = "readonly" combobox_04.current(0) combobox_04.grid(row=0, column=10) label = Label(labelframe, text=' ') label.grid(row=0, column=11) label_05 = Label(labelframe, text='用户岗位:') label_05.grid(row=0, column=12) data_05 =StringVar() combobox_05 =ttk.Combobox(labelframe,textvariable=data_05) combobox_05['values']=('不限','系统管理员','测试') combobox_05["state"] = "readonly" combobox_05.current(0) combobox_05.grid(row=0, column=13) label = Label(labelframe, text=' ') label.grid(row=0, column=14) label_06 = Label(labelframe, text='用户状态:') label_06.grid(row=0, column=15) data_06 =StringVar() combobox_06 =ttk.Combobox(labelframe,textvariable=data_06) combobox_06['values']=('不限','离职','在职') combobox_06["state"] = "readonly" combobox_06.current(0) combobox_06.grid(row=0, column=16) label = Label(labelframe, text=' ') label.grid(row=0, column=17) label = Label(labelframe, text=' ') label.grid(row=1, column=0) label = Label(labelframe, text=' 用户列表 ') label.grid(row=2, column=0) label = Label(labelframe, text=' ') label.grid(row=2, column=2) label = Label(labelframe, text=' ') label.grid(row=2, column=3) label = Label(labelframe, text=' ') label.grid(row=2, column=4) label = Label(labelframe, text=' ') label.grid(row=2, column=5) label = Label(labelframe, text=' ') label.grid(row=2, column=6) label = Label(labelframe, text=' ') label.grid(row=2, column=7) label = Label(labelframe, text=' ') label.grid(row=2, column=8) label = Label(labelframe, text=' ') label.grid(row=2, column=9) label = Label(labelframe, text=' ') label.grid(row=2, column=10) label = Label(labelframe, text=' ') label.grid(row=2, column=11) label = Label(labelframe, text=' ') label.grid(row=2, column=12) text = tk.Text(root,width=252,height=69) text.grid(row=2, column=0) ######################新增系统用户~~~~~~~~~~! def addUse(): pot = tk.Tk() pot.title('后台用户信息') pot.resizable(0, 0) label1 = Label(pot,text='*',fg='red') label1.grid(row=0, column=0) label1 = Label(pot,text='用户姓名:') label1.grid(row=0, column=1) data1 = StringVar() entry1 = Entry(pot,textvariable=data1,width=23) entry1.grid(row=0, column=2) label = Label(pot,text=' ') label.grid(row=0, column=3) label2 = Label(pot,text='*',fg='red') label2.grid(row=0, column=4) label2 = Label(pot,text='手机号码:') label2.grid(row=0, column=5) data2 = StringVar entry2 = Entry(pot,textvariable=data2,width=23) entry2.grid(row=0, column=6) label = Label(pot,text=' ') label.grid(row=0, column=7) label3 = Label(pot,text='*',fg='red') label3.grid(row=1, column=0) label3 = Label(pot,text='所在部门:') label3.grid(row=1, column=1) data3 = StringVar() combobox3 = ttk.Combobox(pot,textvariable=data3) combobox3['values'] = ('请选择','总部','分公司') combobox3["state"] = "readonly" combobox3.current(0) combobox3.grid(row=1, column=2) label = Label(pot,text=' ') label.grid(row=1, column=3) label4 = Label(pot,text='*',fg='red') label4.grid(row=1, column=4) label4 = Label(pot,text='用户岗位:') label4.grid(row=1, column=5) data4 = StringVar() combobox4 = ttk.Combobox(pot,textvariable=data4) combobox4['values'] = ('请选择','系统管理员','测试') combobox4["state"] = "readonly" combobox4.current(0) combobox4.grid(row=1, column=6) label = Label(pot,text=' ') label.grid(row=1, column=7) label5 = Label(pot,text='*',fg='red') label5.grid(row=2, column=0) label5 = Label(pot,text='城市:') label5.grid(row=2, column=1) data5 = StringVar() combobox5 = ttk.Combobox(pot,textvariable=data5) combobox5['values'] = ('请选择','杭州市','南京市') combobox5["state"] = "readonly" combobox5.current(0) combobox5.grid(row=2, column=2) label = Label(pot,text=' ') label.grid(row=2, column=3) label6 = Label(pot,text='*',fg='red') label6.grid(row=2, column=4) label6 = Label(pot,text='用户状态:') label6.grid(row=2, column=5) data6 = StringVar() combobox6 = ttk.Combobox(pot,textvariable=data6) combobox6['values'] = ('请选择','离职','在职') combobox6["state"] = "readonly" combobox6.current(0) combobox6.grid(row=2, column=6) label = Label(pot,text=' ') label.grid(row=2, column=7) label = Label(pot,text=' ') label.grid(row=3, column=0) label = Label(pot,text=' ') label.grid(row=4, column=0) label = Label(pot,text=' ') label.grid(row=5, column=0) label = Label(pot,text=' ') label.grid(row=6, column=0) label = Label(pot,text=' ') label.grid(row=6, column=1) label = Label(pot,text=' ') label.grid(row=6, column=2) label = Label(pot,text=' ') label.grid(row=6, column=3) label = Label(pot,text=' ') label.grid(row=6, column=4) label = Label(pot,text=' ') label.grid(row=6, column=5) label = Label(pot,text=' ') label.grid(row=6, column=6) def getdata(): Name = entry1.get().lstrip() Phone = entry2.get().lstrip() Department = combobox3.get().lstrip() Post = combobox4.get().lstrip() City = combobox5.get().lstrip() Status = combobox6.get().lstrip() db = pymysql.connect("localhost", "root", "long268244", 'erp_use',charset='utf8') cursor = db.cursor() sql = ('select name,phone from user ') try: cursor.execute(sql) results = cursor.fetchall() namedata=[] phonedata=[] for i in range(len(results)): namedata.append(results[i][0]) phonedata.append(results[i][1]) except: db.rollback() db.close() if len(Name)<1 or len(Name)>20 : messagebox.showinfo(title='警告', message='用户名字长度不符合规范!') elif re.match('[`~!@#$%^&*()-=_+,./ \<【】{}[]>?|.]{1,20}',Name) or re.match(' [ ]', Name) : messagebox.showinfo(title='警告', message='用户名字内容不规范!') elif re.match(u'[\u4e00-\u9fa5]+',Name) and re.match('[A-Za-z]+', Name) : messagebox.showinfo(title='警告', message='用户名字只能纯中文或者纯英文!') elif Name in namedata: messagebox.showinfo(title='警告', message='用户名字已存在~!') elif not re.match('1[3-9][0-9]{9,10}', Phone) or len(Phone) != 11: messagebox.showinfo(title='警告', message='手机号码不符合规则~!') elif Phone in phonedata: messagebox.showinfo(title='警告', message='手机号码已存在~!') elif Department == "请选择" : messagebox.showinfo(title='警告', message='所在部门不能为空~!') elif Department != '总部' and Department !='分公司' and Department != "请选择": messagebox.showinfo(title='警告', message='所在部门选择有误,请重新选择~!') elif Post == "请选择" : messagebox.showinfo(title='警告', message='用户岗位不能为空~!') elif Post != '系统管理员' and Post !='测试' and Post !='请选择': messagebox.showinfo(title='警告', message='用户岗位选择有误,请重新选择~!') elif City == "请选择" : messagebox.showinfo(title='警告', message='城市不能为空~!') elif City != '杭州市' and City !='南京市' and City !="请选择": messagebox.showinfo(title='警告', message='城市选择有误,请重新选择~!') elif Status == "请选择" : messagebox.showinfo(title='警告', message='用户状态不能为空~!') elif Status != '离职' and Status !='在职' and Status !="请选择": messagebox.showinfo(title='警告', message='用户状态选择有误,请重新选择~!') else: messagebox.showinfo(title='注册信息', message=('新增系统用户成功')) pot.destroy() root.deiconify() sql = ('insert into user(name,phone,department,post,city,status)values("%s", "%s","%s","%s", "%s","%s")' % (Name, Phone, Department,Post,City,Status)) db = pymysql.connect("localhost", "root", "long268244", 'erp_use',charset='utf8') cursor = db.cursor() try: cursor.execute(sql) db.commit() except: db.rollback() db.close() text.delete(0.0, 1000.0) db = pymysql.connect("localhost", "root", "long268244", 'erp_use', charset='utf8') cursor = db.cursor() sql ='select Name, Phone, Department,Post,City,Status from user ' try: cursor.execute(sql) results = cursor.fetchall() text.insert(1.0,u'|序号 ◆ | 用户姓名 ◆ | 电话◆ | 所在部门 ◆ | 用户岗位 ◆ | 城市◆ | 用户状态 ◆ | ') for i in range(len(results)): text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________| ') text.insert(2.0, '| ') text.insert(2.0, i + 1) if 0 <= i < 9: text.insert(2.0, ' | ') elif 9<= i <99: text.insert(2.0, ' | ') elif 99<= i <999: text.insert(2.0, ' | ') datalist = results[i] text.insert(2.0, datalist[0]) if len(datalist[0]) <= 20: zhongwen = re.compile(u'[\u4e00-\u9fa5]+') match = zhongwen.search(datalist[0]) if match: text.insert(2.0, ' ' * (20 - len(datalist[0]) * 2)) else: text.insert(2.0, ' ' * (20 - len(datalist[0]))) text.insert(2.0, ' ') text.insert(2.0, datalist[1]) text.insert(2.0, ' ') text.insert(2.0, datalist[2]) if len(datalist[2]) == 2: text.insert(2.0, ' ') text.insert(2.0, ' ') text.insert(2.0, datalist[3]) if len(datalist[3]) == 2: text.insert(2.0, ' ') text.insert(2.0, ' ') text.insert(2.0, datalist[4]) text.insert(2.0, ' ') text.insert(2.0, datalist[5]) text.insert(2.0, ' ') text.insert(2.0, ' ') text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________| ') except: db.rollback() db.close() button = ttk.Button(pot, text='提交',command=getdata) button.grid(row=6, column=7) mainloop() # 修改 def xiuUse(): pot = tk.Tk() pot.title('后台用户信息') pot.resizable(0, 0) label1 = Label(pot,text='*',fg='red') label1.grid(row=0, column=0) label1 = Label(pot,text='用户姓名:') label1.grid(row=0, column=1) data1 = StringVar() entry1 = Entry(pot,textvariable=data1,width=23) entry1.grid(row=0, column=2) label = Label(pot,text=' ') label.grid(row=0, column=3) label2 = Label(pot,text='*',fg='red') label2.grid(row=0, column=4) label2 = Label(pot,text='手机号码:') label2.grid(row=0, column=5) data2 = StringVar entry2 = Entry(pot,textvariable=data2,width=23) entry2.grid(row=0, column=6) label = Label(pot,text=' ') label.grid(row=0, column=7) label3 = Label(pot,text='*',fg='red') label3.grid(row=1, column=0) label3 = Label(pot,text='所在部门:') label3.grid(row=1, column=1) data3 = StringVar() combobox3 = ttk.Combobox(pot,textvariable=data3) combobox3['values'] = ('请选择','总部','分公司') combobox3["state"] = "readonly" combobox3.current(0) combobox3.grid(row=1, column=2) label = Label(pot,text=' ') label.grid(row=1, column=3) label4 = Label(pot,text='*',fg='red') label4.grid(row=1, column=4) label4 = Label(pot,text='用户岗位:') label4.grid(row=1, column=5) data4 = StringVar() combobox4 = ttk.Combobox(pot,textvariable=data4) combobox4['values'] = ('请选择','系统管理员','测试') combobox4["state"] = "readonly" combobox4.current(0) combobox4.grid(row=1, column=6) label = Label(pot,text=' ') label.grid(row=1, column=7) label5 = Label(pot,text='*',fg='red') label5.grid(row=2, column=0) label5 = Label(pot,text='城市:') label5.grid(row=2, column=1) data5 = StringVar() combobox5 = ttk.Combobox(pot,textvariable=data5) combobox5['values'] = ('请选择','杭州市','南京市') combobox5["state"] = "readonly" combobox5.current(0) combobox5.grid(row=2, column=2) label = Label(pot,text=' ') label.grid(row=2, column=3) label6 = Label(pot,text='*',fg='red') label6.grid(row=2, column=4) label6 = Label(pot,text='用户状态:') label6.grid(row=2, column=5) data6 = StringVar() combobox6 = ttk.Combobox(pot,textvariable=data6) combobox6['values'] = ('请选择','离职','在职') combobox6["state"] = "readonly" combobox6.current(0) combobox6.grid(row=2, column=6) label = Label(pot,text=' ') label.grid(row=2, column=7) label = Label(pot,text=' ') label.grid(row=3, column=0) label = Label(pot,text=' ') label.grid(row=4, column=0) label = Label(pot,text=' ') label.grid(row=5, column=0) label = Label(pot,text=' ') label.grid(row=6, column=0) label = Label(pot,text=' ') label.grid(row=6, column=1) label = Label(pot,text=' ') label.grid(row=6, column=2) label = Label(pot,text=' ') label.grid(row=6, column=3) label = Label(pot,text=' ') label.grid(row=6, column=4) label = Label(pot,text=' ') label.grid(row=6, column=5) label = Label(pot,text=' ') label.grid(row=6, column=6) def getdata(): Name = entry1.get().lstrip() Phone = entry2.get().lstrip() Department = combobox3.get().lstrip() Post = combobox4.get().lstrip() City = combobox5.get().lstrip() Status = combobox6.get().lstrip() db = pymysql.connect("localhost", "root", "long268244", 'erp_use',charset='utf8') cursor = db.cursor() sql = ('select name,phone from user ') try: cursor.execute(sql) results = cursor.fetchall() namedata=[] phonedata=[] for i in range(len(results)): namedata.append(results[i][0]) phonedata.append(results[i][1]) except: db.rollback() db.close() if len(Name)<1 or len(Name)>20: messagebox.showinfo(title='警告', message='用户名字长度不在1-20范围内~!') elif Name in namedata: messagebox.showinfo(title='警告', message='用户名字已存在~!') elif not re.match('1[3-9][0-9]{9,10}', Phone) or len(Phone) != 11: messagebox.showinfo(title='警告', message='手机号码不符合规则~!') elif Phone in phonedata: messagebox.showinfo(title='警告', message='手机号码已存在~!') elif Department == "请选择" : messagebox.showinfo(title='警告', message='所在部门不能为空~!') elif Department != '总部' and Department !='分公司' and Department != "请选择": messagebox.showinfo(title='警告', message='所在部门选择有误,请重新选择~!') elif Post == "请选择" : messagebox.showinfo(title='警告', message='用户岗位不能为空~!') elif Post != '系统管理员' and Post !='测试' and Post !='请选择': messagebox.showinfo(title='警告', message='用户岗位选择有误,请重新选择~!') elif City == "请选择" : messagebox.showinfo(title='警告', message='城市不能为空~!') elif City != '杭州市' and City !='南京市' and City !="请选择": messagebox.showinfo(title='警告', message='城市选择有误,请重新选择~!') elif Status == "请选择" : messagebox.showinfo(title='警告', message='用户状态不能为空~!') elif Status != '离职' and Status !='在职' and Status !="请选择": messagebox.showinfo(title='警告', message='用户状态选择有误,请重新选择~!') else: pot.destroy() root.deiconify() sql = ('insert into user(name,phone,department,post,city,status)values("%s", "%s","%s","%s", "%s","%s")' % (Name, Phone, Department,Post,City,Status)) db = pymysql.connect("localhost", "root", "long268244", 'erp_use',charset='utf8') cursor = db.cursor() try: cursor.execute(sql) db.commit() except: db.rollback() db.close() text.delete(0.0, 1000.0) db = pymysql.connect("localhost", "root", "long268244", 'erp_use', charset='utf8') cursor = db.cursor() sql ='select Name, Phone, Department,Post,City,Status from user ' try: cursor.execute(sql) results = cursor.fetchall() text.insert(1.0,u'|序号 ◆ | 用户姓名 ◆ | 电话◆ | 所在部门 ◆ | 用户岗位 ◆ | 城市◆ | 用户状态 ◆ | ') for i in range(len(results)): text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________| ') text.insert(2.0, '| ') text.insert(2.0, i + 1) if 0 <= i < 9: text.insert(2.0, ' | ') elif 9<= i <99: text.insert(2.0, ' | ') elif 99<= i <999: text.insert(2.0, ' | ') datalist = results[i] text.insert(2.0, datalist[0]) if len(datalist[0]) <= 20: zhongwen = re.compile(u'[\u4e00-\u9fa5]+') match = zhongwen.search(datalist[0]) if match: text.insert(2.0, ' ' * (20 - len(datalist[0]) * 2)) else: text.insert(2.0, ' ' * (20 - len(datalist[0]))) text.insert(2.0, ' ') text.insert(2.0, datalist[1]) text.insert(2.0, ' ') text.insert(2.0, datalist[2]) if len(datalist[2]) == 2: text.insert(2.0, ' ') text.insert(2.0, ' ') text.insert(2.0, datalist[3]) if len(datalist[3]) == 2: text.insert(2.0, ' ') text.insert(2.0, ' ') text.insert(2.0, datalist[4]) text.insert(2.0, ' ') text.insert(2.0, datalist[5]) text.insert(2.0, ' ') text.insert(2.0, ' ') text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________| ') except: db.rollback() db.close() messagebox.showinfo(title='注册信息', message=('新增系统用户成功')) button = ttk.Button(pot, text='提交',command=getdata) button.grid(row=6, column=7) mainloop() ################重置 def listdisplay(): data_01.set(' ') data_02.set(' ') data_03.set(' 不限') data_04.set(' 不限') data_05.set(' 不限') data_06.set(' 不限') text.delete(0.0, 1000.0) db = pymysql.connect("localhost", "root", "long268244", 'erp_use', charset='utf8') cursor = db.cursor() sql ='select Name, Phone, Department,Post,City,Status from user ' try: cursor.execute(sql) results = cursor.fetchall() text.insert(1.0, u'|序号 ◆ | 用户姓名 ◆ | 电话◆ | 所在部门 ◆ | 用户岗位 ◆ | 城市◆ | 用户状态 ◆ | ') for i in range(len(results)): text.insert(2.0, '|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________| ') text.insert(2.0, '| ') text.insert(2.0, i + 1) if 0 <= i < 9: text.insert(2.0, ' | ') elif 9<= i <99: text.insert(2.0, ' | ') elif 99<= i <999: text.insert(2.0, ' | ') datalist = results[i] text.insert(2.0, datalist[0]) if len(datalist[0]) <= 20: zhongwen = re.compile(u'[\u4e00-\u9fa5]+') match = zhongwen.search(datalist[0]) if match: text.insert(2.0, ' ' * (20 - len(datalist[0]) * 2)) else: text.insert(2.0, ' ' * (20 - len(datalist[0]))) text.insert(2.0, ' ') text.insert(2.0, datalist[1]) text.insert(2.0, ' ') text.insert(2.0, datalist[2]) if len(datalist[2]) == 2: text.insert(2.0, ' ') text.insert(2.0, ' ') text.insert(2.0, datalist[3]) if len(datalist[3]) == 2: text.insert(2.0, ' ') text.insert(2.0, ' ') text.insert(2.0, datalist[4]) text.insert(2.0, ' ') text.insert(2.0, datalist[5]) text.insert(2.0, ' ') text.insert(2.0, ' ') text.insert(2.0, '|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________| ') except: db.rollback() db.close() #初始化加载所有数据 def selfdata(sql): text.delete(0.0,1000.0) db = pymysql.connect("localhost", "root", "long268244", 'erp_use',charset='utf8') cursor = db.cursor() try: cursor.execute(sql) results = cursor.fetchall() text.insert(1.0, u'|序号 ◆ | 用户姓名 ◆ | 电话◆ | 所在部门 ◆ | 用户岗位 ◆ | 城市◆ | 用户状态 ◆ | ' ) for i in range(len(results)): text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________| ') text.insert(2.0,'| ') text.insert(2.0,i+1) if 0 <= i < 9: text.insert(2.0, ' | ') elif 9<= i <99: text.insert(2.0, ' | ') elif 99<= i <999: text.insert(2.0, ' | ') datalist = results[i] text.insert(2.0,datalist[0]) if len(datalist[0]) <= 20: zhongwen = re.compile(u'[\u4e00-\u9fa5]+') match = zhongwen.search(datalist[0]) if match: text.insert(2.0,' '*(20-len(datalist[0])*2)) else: text.insert(2.0,' '*(20-len(datalist[0]))) text.insert(2.0,' ') text.insert(2.0,datalist[1]) text.insert(2.0,' ') text.insert(2.0,datalist[2]) if len(datalist[2]) == 2: text.insert(2.0,' ') text.insert(2.0,' ') text.insert(2.0,datalist[3]) if len(datalist[3]) == 2: text.insert(2.0,' ') text.insert(2.0,' ') text.insert(2.0,datalist[4]) text.insert(2.0,' ') text.insert(2.0,datalist[5]) text.insert(2.0,' ') text.insert(2.0,' ') text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________| ') except: db.rollback() db.close() def chuli(data): if len(data) == 6: tmp = [val for val in data[0] if val in data[1]] tmp1 = [val for val in data[2] if val in data[3]] tmp2 =[val for val in data[4] if val in data[5]] tmp3 =[val for val in tmp1 if val in tmp] tmp4 =[val for val in tmp3 if val in tmp2] return tmp4 elif len(data) == 5: tmp = [val for val in data[0] if val in data[1]] tmp1 = [val for val in data[2] if val in data[3]] tmp2 =[val for val in data[4] if val in tmp] tmp3 = [val for val in tmp2 if val in tmp1] return tmp3 elif len(data) == 4: tmp = [val for val in data[0] if val in data[1]] tmp1 = [val for val in data[2] if val in data[3]] tmp2 = [val for val in tmp if val in tmp1] return tmp2 elif len(data) == 3: tmp = [val for val in data[0] if val in data[1]] tmp1 = [val for val in data[2] if val in tmp] return tmp1 elif len(data) == 2: tmp = [val for val in data[0] if val in data[1]] return tmp elif len(data) == 1: data1=[] for i in range(len(data[0])): data1.append(data[0][i]) return data1 def soso(): text.delete(0.0, 1000.0) NAme = entry_01.get().lstrip() PHone = entry_02.get().lstrip() DEpartment = combobox_04.get().lstrip() POst = combobox_05.get().lstrip() CIty = combobox_03.get().lstrip() STatus = combobox_06.get().lstrip() if len(NAme) == 0: sql1= None#"select Name, Phone, Department,Post,City,Status from user " else: sql1="select Name, Phone, Department,Post,City,Status from user where name like '%%%s%%'" % NAme if len(PHone) == 0: sql2 =None# "select Name, Phone, Department,Post,City,Status from user " else : sql2="select Name, Phone, Department,Post,City,Status from user where phone like '%%%s%%'" % PHone if CIty == '不限': sql3=None else: sql3="select Name, Phone, Department,Post,City,Status from user where city = '%s'" % CIty if DEpartment == '不限': sql4=None else: sql4="select Name, Phone, Department,Post,City,Status from user where department= '%s'" % DEpartment if POst == "不限": sql5 =None else: sql5="select Name, Phone, Department,Post,City,Status from user where Post = '%s'" % POst if STatus == "不限": sql6=None else: sql6="select Name, Phone, Department,Post,City,Status from user where status = '%s'" % STatus sqldata=[sql1,sql2,sql3,sql4,sql5,sql6] resultes=[] for i in range(6): Sql=sqldata[i] db = pymysql.connect("localhost", "root", "long268244", 'erp_use', charset='utf8') cursor = db.cursor() try: cursor.execute(Sql) results = cursor.fetchall() resultes.append(results) except: db.rollback() db.close() chulidata=chuli(resultes) if chulidata==None: text.delete(0.0,1000.0) db = pymysql.connect("localhost", "root", "long268244", 'erp_use',charset='utf8') sql ='select Name, Phone, Department,Post,City,Status from user ' cursor = db.cursor() try: cursor.execute(sql) results = cursor.fetchall() text.insert(1.0, u'|序号 ◆ | 用户姓名 ◆ | 电话◆ | 所在部门 ◆ | 用户岗位 ◆ | 城市◆ | 用户状态 ◆ | ' ) for i in range(len(results)): text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________| ') text.insert(2.0,'| ') text.insert(2.0,i+1) if 0 <= i < 9: text.insert(2.0, ' | ') elif 9<= i <99: text.insert(2.0, ' | ') elif 99<= i <999: text.insert(2.0, ' | ') datalist = results[i] text.insert(2.0,datalist[0]) if len(datalist[0]) <= 20: zhongwen = re.compile(u'[\u4e00-\u9fa5]+') match = zhongwen.search(datalist[0]) if match: text.insert(2.0,' '*(20-len(datalist[0])*2)) else: text.insert(2.0,' '*(20-len(datalist[0]))) text.insert(2.0,' ') text.insert(2.0,datalist[1]) text.insert(2.0,' ') text.insert(2.0,datalist[2]) if len(datalist[2]) == 2: text.insert(2.0,' ') text.insert(2.0,' ') text.insert(2.0,datalist[3]) if len(datalist[3]) == 2: text.insert(2.0,' ') text.insert(2.0,' ') text.insert(2.0,datalist[4]) text.insert(2.0,' ') text.insert(2.0,datalist[5]) text.insert(2.0,' ') text.insert(2.0,' ') text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________| ') except: db.rollback() db.close() else: text.delete(0.0, 10000.0) text.insert(1.0, u'|序号 ◆ | 用户姓名 ◆ | 电话◆ | 所在部门 ◆ | 用户岗位 ◆ | 城市◆ | 用户状态 ◆ | ') for i in range(len(chulidata)): text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________| ') text.insert(2.0, '| ') text.insert(2.0, i + 1) if 0 <= i < 9: text.insert(2.0, ' | ') elif 9<= i <99: text.insert(2.0, ' | ') elif 99<= i <999: text.insert(2.0, ' | ') datalist = chulidata[i] text.insert(2.0, datalist[0]) if len(datalist[0]) <= 20: zhongwen = re.compile(u'[\u4e00-\u9fa5]+') match = zhongwen.search(datalist[0]) if match: text.insert(2.0, ' ' * (20 - len(datalist[0]) * 2)) else: text.insert(2.0, ' ' * (20 - len(datalist[0]))) text.insert(2.0, ' ') text.insert(2.0, datalist[1]) text.insert(2.0, ' ') text.insert(2.0, datalist[2]) if len(datalist[2]) == 2: text.insert(2.0, ' ') text.insert(2.0, ' ') text.insert(2.0, datalist[3]) if len(datalist[3]) == 2: text.insert(2.0, ' ') text.insert(2.0, ' ') text.insert(2.0, datalist[4]) text.insert(2.0, ' ') text.insert(2.0, datalist[5]) text.insert(2.0, ' ') text.insert(2.0, ' ') text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________| ') button_01 = ttk.Button(labelframe,text='修改',command = xiuUse) button_01.grid(row=2, column=2) button_01 = ttk.Button(labelframe,text='搜索',command = soso) button_01.grid(row=2, column=13) button_02 = ttk.Button(labelframe,text='重置',command=listdisplay) button_02.grid(row=2, column=14) label=Label(root) label.grid(row=99, column=100) button_02 = ttk.Button(root,command=selfdata('select Name, Phone, Department,Post,City,Status from user ')) button_02.grid(row=100, column=100) button_01 = ttk.Button(labelframe,text='新增',command=addUse) button_01.grid(row=2, column=1) mainloop()
python3使用tkinter制作用户管理模块
最新推荐文章于 2024-07-23 15:59:30 发布