checkCalllist.py 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import datetime
  2. from PyQt6 import QtCore
  3. from PyQt6.QtCore import Qt
  4. from PyQt6.QtWidgets import QWidget , QMessageBox , QTableWidgetItem
  5. from UI.checkCalllist import Ui_checkCalllist
  6. from .LogerinTxt import app_logger
  7. from Functions.apiFunction import api_fc
  8. class checkCalllist(Ui_checkCalllist, QWidget):
  9. checkCalllist_signal = QtCore.pyqtSignal(str)
  10. def __init__(self, parent=None):
  11. super().__init__(parent)
  12. try:
  13. self.setupUi(self)
  14. self.ipinfo = None
  15. self.selectedtime = None
  16. self.pushButton.clicked.connect(self.btn)
  17. # self.show()
  18. except Exception as e:
  19. app_logger.log_error(e)
  20. def start(self):
  21. try:
  22. selectedtime_time = str(self.selectedtime) + " 00:00:00"
  23. now = datetime.datetime.strptime(selectedtime_time, "%Y%m%d %H:%M:%S")
  24. tom = (now + datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
  25. yesterday = (now - datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
  26. self.label_5.setText("%s/%s" % (str(yesterday)[0:10], str(tom)[0:10]))
  27. # ip = "http://" + str(self.ipinfo) + "/static/checkCalllist" + "/" + str(self.selectedtime)
  28. try:
  29. # res = requests.get(url=ip, timeout=30).json()
  30. res = api_fc.request_post('/static/checkCalllist', time=str(self.selectedtime))["data"]
  31. # print(res)
  32. except Exception as e:
  33. # print('登录服务器失败')
  34. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  35. app_logger.log_error(e)
  36. self.peopleLabel = ["序号", "电话", "工号", "姓名", "航班号", "拨号次数", "创建时间", "接通时间"]
  37. self.tableWidgetFlight.setColumnCount(len(self.peopleLabel))
  38. self.tableWidgetFlight.verticalHeader().setVisible(False)
  39. self.tableWidgetFlight.setHorizontalHeaderLabels(self.peopleLabel)
  40. col = len(self.peopleLabel)
  41. diplaylist = res
  42. self.tableWidgetFlight.setRowCount(len(diplaylist.keys()))
  43. for row in diplaylist.keys():
  44. for colNum in range(0, col):
  45. if colNum == 0:
  46. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(row)))
  47. self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
  48. else:
  49. self.tableWidgetFlight.setItem(int(row), colNum,QTableWidgetItem(diplaylist[row][self.peopleLabel[colNum]]))
  50. self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
  51. self.tableWidgetFlight.resizeColumnsToContents()
  52. # self.show()
  53. except Exception as e:
  54. app_logger.log_error(e)
  55. def btn(self):
  56. try:
  57. # ip = "http://" + str(self.ipinfo) + "/static/checkCalllist" + "/" + str(self.selectedtime)
  58. # self.res = requests.get(url=ip, timeout=30).json()
  59. self.res = api_fc.request_post('/static/checkCalllist', time=str(self.selectedtime))["data"]
  60. except Exception as e:
  61. # print('登录服务器失败')
  62. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  63. app_logger.log_error(e)
  64. self.res = {}
  65. col = len(self.peopleLabel)
  66. diplaylist = self.res
  67. self.tableWidgetFlight.setRowCount(len(diplaylist))
  68. rownum = 0
  69. for row in diplaylist:
  70. for colNum in range(0, col):
  71. if colNum == 0:
  72. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(row)))
  73. self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
  74. else:
  75. self.tableWidgetFlight.setItem(int(row), colNum,QTableWidgetItem(diplaylist[row][self.peopleLabel[colNum]]))
  76. self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
  77. self.tableWidgetFlight.resizeColumnsToContents()
  78. def closeEvent(self, event):
  79. try:
  80. reply = QMessageBox.question(self, '确认', '你确定要退出程序吗?')
  81. reply = str(reply)
  82. if reply == "StandardButton.Yes":
  83. self.checkCalllist_signal.emit(reply)
  84. event.ignore()
  85. else:
  86. event.ignore()
  87. except Exception as e:
  88. app_logger.log_error(e)