addFlightWidget.py 4.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import datetime
  2. from PyQt6.QtCore import Qt , QSortFilterProxyModel
  3. from PyQt6.QtWidgets import QCompleter , QWidget , QMessageBox
  4. from UI.addFlight import Ui_FormAddFlight
  5. from .LogerinTxt import app_logger
  6. from Functions.apiFunction import api_fc
  7. class addFlightWidget(Ui_FormAddFlight, QWidget):
  8. def __init__(self, parent=None):
  9. super().__init__(parent)
  10. try:
  11. self.setupUi(self)
  12. nowDay = datetime.datetime.now()
  13. self.dateEdit.setDateTime(nowDay)
  14. self.dateTimeEdit.setDateTime(nowDay)
  15. self.dateTimeEdit_2.setDateTime(nowDay)
  16. self.pushButton.clicked.connect(self.btn)
  17. self.comboBox.addItems(['短停', '航前', '特后前', '航后'])
  18. self.comboBox.setEditable(True)
  19. self.comboBox.currentIndexChanged.connect(self.changed)
  20. self.filterModel = QSortFilterProxyModel(self.comboBox)
  21. self.filterModel.setFilterCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
  22. self.filterModel.setSourceModel(self.comboBox.model())
  23. self.completer = QCompleter(self.filterModel, self.comboBox)
  24. self.completer.setCompletionMode(QCompleter.CompletionMode.UnfilteredPopupCompletion)
  25. self.completer.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
  26. self.comboBox.setCompleter(self.completer)
  27. self.comboBox.lineEdit().textEdited.connect(self.filterModel.setFilterFixedString)
  28. self.completer.activated.connect(self.on_completer_activated)
  29. self.ipinfo = None
  30. self.user = None
  31. except Exception as e:
  32. app_logger.log_error(e)
  33. def on_completer_activated(self, text):
  34. try:
  35. if text:
  36. print(text)
  37. index = self.comboBox.findText(text)
  38. self.comboBox.setCurrentIndex(index)
  39. except Exception as e:
  40. app_logger.log_error(e)
  41. def changed(self):
  42. if self.comboBox.currentText() == "航前":
  43. self.label_8.setEnabled(False)
  44. self.dateTimeEdit.setEnabled(False)
  45. self.label_9.setEnabled(True)
  46. self.dateTimeEdit_2.setEnabled(True)
  47. elif self.comboBox.currentText() == "航后":
  48. self.label_9.setEnabled(False)
  49. self.dateTimeEdit_2.setEnabled(False)
  50. self.label_8.setEnabled(True)
  51. self.dateTimeEdit.setEnabled(True)
  52. else:
  53. self.label_8.setEnabled(True)
  54. self.dateTimeEdit.setEnabled(True)
  55. self.label_9.setEnabled(True)
  56. self.dateTimeEdit_2.setEnabled(True)
  57. def btn(self):
  58. if self.lineEditPWD.text() != "" and self.lineEditUser.text() != "" and self.lineEditPeople.text() != "" and self.lineEdit.text() != "" and self.lineEdit_2.text() != "":
  59. # ip = "http://" + str(self.ipinfo) + "/static/" + "manAddFlight/" + "%s/%s/%s/%s/%s/%s/%s/%s/%s/%s" % (
  60. # self.comboBox.currentText(), self.lineEditPWD.text(), self.lineEditUser.text(),
  61. # self.lineEditPeople.text(),
  62. # self.lineEdit.text(), self.dateEdit.text(), self.lineEdit_2.text(), self.dateTimeEdit.text(),
  63. # self.dateTimeEdit_2.text(), self.user)
  64. try:
  65. # res = requests.get(url=ip, timeout=30).json()
  66. res = api_fc.request_post('/static/manAddFlight',
  67. flighttype=self.comboBox.currentText(),
  68. acno=self.lineEditPWD.text(),
  69. eng=self.lineEditUser.text(),
  70. actype=self.lineEditPeople.text(),
  71. flightno=self.lineEdit.text(),
  72. flightdate=self.dateEdit.text(),
  73. bay=self.lineEdit_2.text(),
  74. eta=self.dateTimeEdit.text(),
  75. etd=self.dateTimeEdit_2.text(),
  76. user=self.user)
  77. if res["返回值"] == "ok":
  78. self.close()
  79. QMessageBox.warning(self, "提示", "航班添加成功!!!")
  80. else:
  81. self.close()
  82. QMessageBox.warning(self, "警告", "航班添加失败")
  83. except Exception as e:
  84. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  85. app_logger.log_error(e)
  86. else:
  87. QMessageBox.warning(self, "警告", "请完善航班信息后再提交!")