Ejemplo n.º 1
0
    def run(self):

        self.win = Toplevel(self.app.app.win)
        self.win.title(name)
        x, y = 800, 450
        pos = self.win.wm_maxsize()[0] / 2 - x / 2, self.win.wm_maxsize(
        )[1] / 2 - y / 2
        self.win.geometry('%sx%s+%s+%s' % (x, y, pos[0], pos[1] - 25))
        self.win.maxsize(width=x, height=y)
        self.win.minsize(width=x, height=y)
        if sys.platform == 'win32': self.win.iconbitmap('app/images/icon.ico')
        year, month = time.localtime()[0:2]
        self.date_t = StringVar()
        self.date_t.set(date_now())
        self.c_date = date_now()
        self.cal = TkCalendar(self.win,
                              year,
                              month,
                              self.date_t,
                              command=self.calend_handler)
        self.cal.grid(row=0, column=0, padx=5, pady=10, sticky=N)

        self.content_frame = Frame(self.win)
        self.content_frame.grid(row=0, column=1, rowspan=3, sticky=N)

        self.tool_frame = Frame(self.win)
        self.tool_frame.grid(row=1, column=0, sticky=N + W)
        Label(self.content_frame, text='Список:',
              font=('normal', 12)).pack(fill=BOTH)
        self.lst = MultiListbox(self.content_frame,
                                (('Дата', 10), ('Время', 9), ('Действие', 45)),
                                font=('normal', 12),
                                height=15,
                                command=self.command_handler)
        self.lst.pack(fill=BOTH, expand=1)
        Label(self.content_frame, text='Правка:',
              font=('normal', 12)).pack(fill=BOTH)
        self.scroll = Scrollbar(self.content_frame)
        self.txt = Text(self.content_frame,
                        width=68,
                        height=5,
                        font=('normal', 12))
        self.scroll.pack(side=RIGHT, fill=Y)
        self.txt.pack(side=LEFT, fill=Y)
        self.scroll.config(command=self.txt.yview)
        self.txt.config(yscrollcommand=self.scroll.set)

        s = 'За дату: %s' % ('.'.join(date_now().split('-')[::-1]))
        self.d_label = Label(self.tool_frame, text=s, font=('bold', 12))
        self.d_label.grid(row=0, columnspan=2, sticky=N + W)
        self.all_button = Button(self.tool_frame,
                                 text='Смотреть все',
                                 command=self.show_all,
                                 width=15)
        self.all_button.grid(row=1, column=0, sticky=N, pady=5)

        self.update_lists()
Ejemplo n.º 2
0
    def run(self):

        self.win = Toplevel(self.app.app.win)
        self.win.title(name)
        x, y = 600, 400
        pos = self.win.wm_maxsize()[0] / 2 - x / 2, self.win.wm_maxsize(
        )[1] / 2 - y / 2
        self.win.geometry('%sx%s+%s+%s' % (x, y, pos[0], pos[1] - 25))
        self.win.maxsize(width=x, height=y)
        self.win.minsize(width=x, height=y)
        if sys.platform == 'win32': self.win.iconbitmap('app/images/icon.ico')
        year, month = time.localtime()[0:2]
        self.date_t = StringVar()
        self.date_t.set(date_now())
        self.c_date = date_now()
        Label(self.win, text='Начиная с..').grid(row=0,
                                                 column=0,
                                                 padx=5,
                                                 pady=2)
        self.cal = TkCalendar(self.win,
                              year,
                              month,
                              self.date_t,
                              command=self.calend_handler)
        self.cal.grid(row=1, column=0, padx=5, sticky=N)

        self.frame = Labelframe(self.win,
                                text='Показывать',
                                width=275,
                                height=200)
        self.frame.grid(row=0, column=1, rowspan=2)
        self.win.columnconfigure(1, minsize=275)

        self.date2_t = StringVar()
        self.date2_t.set(date_now())
        self.c_date2 = date_now()
        Label(self.win, text='Заканчивая..').grid(row=0,
                                                  column=2,
                                                  padx=5,
                                                  pady=2)
        self.cal2 = TkCalendar(self.win,
                               year,
                               month,
                               self.date_t,
                               command=self.calend_handler2)
        self.cal2.grid(row=1, column=2, padx=5, sticky=NE)
        self.lab_var = StringVar()
        Label(self.frame, textvariable=self.lab_var,
              font=('bold', 10)).grid(row=0,
                                      column=0,
                                      columnspan=2,
                                      padx=10,
                                      pady=5)

        Label(self.frame, text='По отделу').grid(row=1, column=0, sticky=E)
        self.dep_ent_txt = StringVar()
        self.dep_ent_txt.set('Все отделы')
        self.dep_ent = Combobox(self.frame,
                                width=20,
                                state='readonly',
                                textvariable=self.dep_ent_txt)
        self.dep_ent.grid(row=1, column=1, pady=5)

        Label(self.frame, text='По продавцу').grid(row=2, column=0, sticky=E)
        self.per_ent_var = StringVar()
        self.per_ent_var.set('Все продавцы')
        self.per_ent = Combobox(self.frame,
                                width=20,
                                state='readonly',
                                textvariable=self.per_ent_var)
        self.per_ent.grid(row=2, column=1, pady=5)

        self.show_but = Button(self.frame,
                               text='Показать',
                               image=self.app.app.img['check'],
                               compound='left',
                               command=self.calculate)
        self.show_but.grid(row=3, column=0, columnspan=2, pady=27)

        self.app.app.db.execute('select name from dep')
        self.deps = [u'Все отделы']
        for x in self.app.app.db.fetchall():
            if x[0]: self.deps.append(x[0])
        self.dep_ent['values'] = self.deps

        self.app.app.db.execute('select name from users')
        self.users = [u'Все продавцы']
        for x in self.app.app.db.fetchall():
            self.users.append(x[0])
        self.per_ent['values'] = self.users

        self.out_var = StringVar()
        self.out_var.set(' ')
        Label(self.win, textvariable=self.out_var,
              font=('bold', 12)).grid(row=2,
                                      column=0,
                                      columnspan=3,
                                      sticky=W,
                                      padx=15,
                                      pady=5)
        self.canvas = Canvas(self.win,
                             width=580,
                             height=150,
                             background='white')
        self.canvas.grid(row=3, column=0, columnspan=3, padx=5, pady=5)

        self.update_label()
Ejemplo n.º 3
0
    def run(self):

        self.win = Toplevel(self.app.app.win)
        self.win.title(name)
        x, y = 800, 450
        pos = self.win.wm_maxsize()[0] / 2 - x / 2, self.win.wm_maxsize(
        )[1] / 2 - y / 2
        self.win.geometry('%sx%s+%s+%s' % (x, y, pos[0], pos[1] - 25))
        self.win.maxsize(width=x, height=y)
        self.win.minsize(width=x, height=y)
        if sys.platform == 'win32': self.win.iconbitmap('app/images/icon.ico')
        year, month = time.localtime()[0:2]
        self.date_t = StringVar()
        self.date_t.set(date_now())
        self.c_date = date_now()
        self.cal = TkCalendar(self.win,
                              year,
                              month,
                              self.date_t,
                              command=self.calend_handler)
        self.cal.grid(row=0, column=0, padx=5, pady=10, sticky=N)

        self.content_frame = Frame(self.win)
        self.content_frame.grid(row=0, column=1, rowspan=3, sticky=N)

        self.tool_frame = Labelframe(self.win, text='Итог')
        self.tool_frame.grid(row=1, column=0, sticky=N + W)
        Label(self.content_frame, text='Приход:',
              font=('normal', 12)).pack(fill=BOTH)
        self.lst = MultiListbox(self.content_frame,
                                (('Время', 8), ('Отдел', 5), ('Товар', 32),
                                 ('Сумма', 5), ('Кол.во', 1), ('Итог', 5),
                                 ('Продавец', 12)),
                                font=('normal', 10),
                                height=15)
        self.lst.pack(fill=BOTH, expand=1)
        Label(self.content_frame, text='Расход:',
              font=('normal', 12)).pack(fill=BOTH)
        self.lst2 = MultiListbox(self.content_frame,
                                 (('Время', 8), ('Причина', 35), ('Сумма', 5),
                                  ('Продавец', 12)),
                                 font=('normal', 10),
                                 height=6)
        self.lst2.pack(fill=BOTH, expand=1)

        s = 'За дату: %s' % (norm_date(date_now()))
        self.d_label = Label(self.tool_frame, text=s, font=('bold', 12))
        self.d_label.grid(row=0, columnspan=2, sticky=N + W)

        s = 'Доход: 0'
        self.in_label = Label(self.tool_frame, text=s, font=('bold', 12))
        self.in_label.grid(row=1, columnspan=2, sticky=N + W)

        s = 'Расход: 0'
        self.out_label = Label(self.tool_frame, text=s, font=('bold', 12))
        self.out_label.grid(row=2, columnspan=2, sticky=N + W)

        s = 'Остаток: 0'
        self.all_label = Label(self.tool_frame, text=s, font=('bold', 12))
        self.all_label.grid(row=3, columnspan=2, sticky=N + W)

        self.scr1 = Scrollbar(self.tool_frame, orient=VERTICAL)
        self.scr1.grid(row=4, column=1, sticky=N + S, pady=5)
        self.list_1 = Listbox(self.tool_frame,
                              width=27,
                              height=5,
                              font=("normal", 9),
                              yscrollcommand=self.scr1.set)
        self.list_1.grid(row=4, column=0, pady=5)
        self.scr1['command'] = self.list_1.yview

        self.pdf_but = Button(self.win,
                              text='В pdf',
                              image=self.app.app.img['pdf'],
                              compound='left',
                              command=self.generate_pdf)
        self.pdf_but.grid(row=2, column=0, sticky=N)

        self.update_lists()
Ejemplo n.º 4
0
    def run(self):
        self.log = Log(self.app.app)
        self.win = Toplevel(self.app.app.win)
        self.win.title(name)
        self.win.protocol("WM_DELETE_WINDOW", self.exit)
        x, y = 800, 450
        pos = self.win.wm_maxsize()[0] / 2 - x / 2, self.win.wm_maxsize(
        )[1] / 2 - y / 2
        self.win.geometry('%sx%s+%s+%s' % (x, y, pos[0], pos[1] - 25))
        self.win.maxsize(width=x, height=y)
        self.win.minsize(width=x, height=y)
        if sys.platform == 'win32': self.win.iconbitmap('app/images/icon.ico')
        year, month = time.localtime()[0:2]
        self.date_t = StringVar()
        self.date_t.set(date_now())
        self.c_date = date_now()
        self.cal = TkCalendar(self.win,
                              year,
                              month,
                              self.date_t,
                              command=self.calend_handler)
        self.cal.grid(row=0, column=0, padx=5, pady=10, sticky=N)

        self.content_frame = Frame(self.win)
        self.content_frame.grid(row=0, column=1, rowspan=3, sticky=N)

        self.tool_frame = Frame(self.win)
        self.tool_frame.grid(row=1, column=0, sticky=N + W)
        Label(self.content_frame, text='Приход:',
              font=('normal', 12)).pack(fill=BOTH)
        self.lst = MultiListbox(self.content_frame,
                                (('Время', 8), ('Отдел', 5), ('Товар', 40),
                                 ('Сумма', 5), ('Кол.во', 1), ('Итог', 5),
                                 ('Продавец', 12)),
                                font=('normal', 10),
                                height=6,
                                command=self.lst1select)
        self.lst.pack(fill=BOTH, expand=1)
        Label(self.content_frame, text='Расход:',
              font=('normal', 12)).pack(fill=BOTH)
        self.lst2 = MultiListbox(self.content_frame,
                                 (('Время', 8), ('Причина', 35), ('Сумма', 5),
                                  ('Продавец', 12)),
                                 font=('normal', 10),
                                 height=6,
                                 command=self.lst2select)
        self.lst2.pack(fill=BOTH, expand=1)

        s = 'За дату: %s' % (norm_date(date_now()))
        self.d_label = Label(self.tool_frame, text=s, font=('bold', 12))
        self.d_label.grid(row=0, columnspan=2, sticky=N + W)

        self.edit_frame_parrent = Labelframe(self.content_frame,
                                             text='Редактировать',
                                             width=50,
                                             height=100)
        self.edit_frame_parrent.pack(fill=BOTH, expand=1)

        self.delete_frame_parrent = Labelframe(self.content_frame,
                                               text='Удалить',
                                               width=50,
                                               height=50)
        self.delete_frame_parrent.pack(fill=BOTH, expand=1)

        self.edit_frame = Frame(self.edit_frame_parrent, height=63)
        self.edit_frame.pack()
        self.delete_frame = Frame(self.delete_frame_parrent, height=46)
        self.delete_frame.pack()

        self.update_lists()