Exemplo n.º 1
0
 def use_setting_date_value(self):
     """
     将日期恢复到原值
     """
     start_time = settings.value(Configs.start_time)
     self.dateEdit.setDate(QDate.fromString(start_time, "yyyy-MM-dd"))
     end_time = settings.value(Configs.end_time)
     self.dateEdit_2.setDate(QDate.fromString(end_time, "yyyy-MM-dd"))
Exemplo n.º 2
0
 def show_detail(self, r):
     """
     选中table行后,显示数据明细
     :param r: 选中的行号
     :return:
     """
     self.dateEdit.setDate(
         QDate.fromString(self.tableWidget.item(r.row(), 0).text(),
                          1))  # 时间
     self.comboBox.setCurrentText(self.tableWidget.item(r.row(),
                                                        1).text())  # 工作分类
     self.textEdit.setPlainText(self.tableWidget.item(r.row(),
                                                      2).text())  # 事项内容
     self.comboBox_2.setCurrentText(
         self.tableWidget.item(r.row(), 3).text())  # 工时
     self.comboBox_3.setCurrentText(
         self.tableWidget.item(r.row(), 4).text())  # 性质
     self.comboBox_4.setCurrentText(
         self.tableWidget.item(r.row(), 5).text())  # 重要等级
     self.comboBox_5.setCurrentText(
         self.tableWidget.item(r.row(), 6).text())  # 状态
     self.comboBox_6.setCurrentText(
         self.tableWidget.item(r.row(), 7).text())  # 工作配合
     self.textEdit_2.setPlainText(self.tableWidget.item(r.row(),
                                                        8).text())  # 问题和困难
     self.id = self.tableWidget.item(r.row(), 9).text()
Exemplo n.º 3
0
    def import_expenses(self):
        try:
            row = int(self.le_initial_row.text()) - 1
            description_col = int(self.le_description_col.text()) - 1
            date_col = int(self.le_date_col.text()) - 1
            default_date = self.default_date.date()
            date_format = self.le_date_format.text()
            percent = 1.0 / len(list(self.current_group.getMembers()))
            while self.model.item(row) is not None:
                print("Row ", row)

                expense = Expense()
                expense.setDescription(
                    self.model.item(row, description_col).text())
                print("Expense: ", expense.getDescription())
                date = QDate.fromString(
                    self.model.item(row, date_col).text(), date_format)
                if not date.isValid():
                    date = default_date
                expense.setDate(date.toString(Qt.ISODate))
                print("Date: ", expense.getDate())

                cost = 0
                users = []
                for member in self.current_group.getMembers():
                    print("Processing member ", member.getFirstName())
                    member_column = int(
                        self.member_widget_map[member.getId()].text()) - 1
                    paid = 0
                    try:
                        paid = float(
                            self.model.item(row, member_column).text())
                        print("Expense: ",
                              self.model.item(row, member_column).text())
                    except:
                        pass
                    cost = cost + paid
                    expense_user = ExpenseUser()
                    expense_user.setId(member.getId())
                    expense_user.setPaidShare(str(paid))
                    users.append(expense_user)
                for expense_user in users:
                    expense_user.setOwedShare(str(cost * percent))
                if cost == 0:
                    raise Exception(
                        self.tr('No se ha introducido monto para el gasto'))
                expense.setCost(str(cost))
                expense.setUsers(users)
                expense.setGroupId(self.current_group.id)
                self.sObj.createExpense(expense)
                row = row + 1
                self.le_initial_row.setText(str(row + 1))
        except Exception as inst:
            QMessageBox.critical(
                self, self.tr("Error"),
                self.tr("Se ha producido un error en la fila") + str(row + 1) +
                "\n" + str(inst))
            traceback.print_exc()