QTMainWindow.py 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519
  1. import sys
  2. from PyQt6.QtCore import QTimer, QUrl
  3. from PyQt6.QtGui import QAction, QIcon
  4. from PyQt6.QtWidgets import *
  5. from Functions.QTMain import MainWidget
  6. import requests
  7. import ctypes
  8. import datetime
  9. ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID("myappid")
  10. class MenuDemo(QMainWindow):
  11. def __init__(self, parent=None):
  12. super(MenuDemo, self).__init__(parent)
  13. self.setWindowTitle('天府机务分部准备组标准化综合办公平台')
  14. self.resize(1400, 900) # 宽×高
  15. self.setMinimumSize(1400, 900)
  16. self.setWindowIcon(QIcon(':/icon/1.ico'))
  17. # 最小窗口尺寸
  18. # self.setMaximumSize(2000, 1000) # 最大窗口尺寸
  19. self.child = MainWidget()
  20. ############主窗口控件####################
  21. menuBar = self.menuBar()
  22. peopleMenu = menuBar.addMenu('人员管理')
  23. logsMenu = menuBar.addMenu('信息管理')
  24. accountMenu = menuBar.addMenu('账户管理')
  25. analysisMenu = menuBar.addMenu('统计分析')
  26. flightMenu = menuBar.addMenu('航班管理')
  27. serverMenu =menuBar.addMenu('服务器配置')
  28. taskMenu = menuBar.addMenu('通知管理')
  29. GJMenu = menuBar.addMenu('工具管理')
  30. peopleMenu.addAction(QAction('白班考勤获取', self))
  31. peopleMenu.addAction(QAction('夜班考勤获取', self))
  32. peopleMenu.addAction(QAction('添加人员信息', self))
  33. peopleMenu.triggered[QAction].connect(self.people)
  34. logsMenu.addAction(QAction('清空待办', self))
  35. logsMenu.addAction(QAction('更新准备组任务', self))
  36. logsMenu.addAction(QAction('更新风险数据库', self))
  37. logsMenu.addAction(QAction('导出风险数据库', self))
  38. logsMenu.addAction(QAction('查看日志', self))
  39. logsMenu.addAction(QAction('查看拨号进程', self))
  40. logsMenu.addAction(QAction('清空待办(超管)', self))
  41. logsMenu.addAction(QAction('打开授权认证', self))
  42. logsMenu.addAction(QAction('关闭授权认证', self))
  43. logsMenu.triggered[QAction].connect(self.logs)
  44. accountMenu.addAction(QAction('注册账号', self))
  45. accountMenu.addAction(QAction('修改密码', self))
  46. accountMenu.addAction(QAction('变更权限', self))
  47. accountMenu.triggered[QAction].connect(self.account)
  48. #analysisMenu.addAction(QAction('统计分析', self))
  49. analysisMenu.addAction(QAction('显示地图', self))
  50. analysisMenu.addAction(QAction('排班辅助', self))
  51. analysisMenu.triggered[QAction].connect(self.analysis)
  52. flightMenu.addAction(QAction('停场模板下载', self))
  53. flightMenu.addAction(QAction('停场航班导入', self))
  54. flightMenu.addAction(QAction('全天航班导出(未含保障结束)', self))
  55. flightMenu.addAction(QAction('交班航班导出', self))
  56. flightMenu.addAction(QAction('航班安排备份导出', self))
  57. flightMenu.addAction(QAction('维修记录清点导出', self))
  58. flightMenu.addAction(QAction('人工添加航班', self))
  59. flightMenu.addAction(QAction('航班交接', self))
  60. flightMenu.triggered[QAction].connect(self.flight)
  61. serverMenu.addAction(QAction('配置服务器IP', self))
  62. serverMenu.addAction(QAction('配置服务器IP电话', self))
  63. serverMenu.addAction(QAction('服务器AMRO账号登录', self))
  64. serverMenu.addAction(QAction('服务器AMRO cookie登录', self))
  65. serverMenu.addAction(QAction('服务器AMRO注销', self))
  66. serverMenu.addAction(QAction('配置本地IP电话', self))
  67. #serverMenu.addAction(QAction('测试呼出拨号', self))
  68. #serverMenu.addAction(QAction('测试通讯建立', self))
  69. #serverMenu.addAction(QAction('测试通讯挂断', self))
  70. #serverMenu.addAction(QAction('测试上传腾讯云', self))
  71. #serverMenu.addAction(QAction('测试腾讯云信息上报', self))
  72. serverMenu.triggered[QAction].connect(self.server)
  73. taskMenu.addAction(QAction('打开个人警告信息推送', self))
  74. taskMenu.addAction(QAction('关闭个人警告信息推送', self))
  75. taskMenu.triggered[QAction].connect(self.task)
  76. GJMenu.addAction(QAction('一中队工具清查', self))
  77. GJMenu.triggered[QAction].connect(self.GJ)
  78. ############子窗口####################
  79. self.setCentralWidget(self.child)
  80. #print(self.child.loginSts)
  81. self.child.loginWidget.pushButton.clicked.connect(self.showChild)
  82. def remoteCheck(self):
  83. ip = "http://" + str(self.child.ipinfo) + "/static/remoteCheck/"+self.child.version
  84. res = requests.get(url=ip, timeout=180).json()
  85. if res["返回值"] != "ok":
  86. QMessageBox.warning(self, "提示", "有新版更新!请获取最新版本【最新版版本号:%s】!!"%res["返回值"])
  87. self.close()
  88. def GJ(self, q):
  89. if q.text() == '一中队工具清查':
  90. if int(self.child.authority) != 3:
  91. relay = QMessageBox.warning(self, "警告", "确认开始工具查询吗?该操作将推送一中队查询信息并@一中队钉钉成员!!", QMessageBox.StandardButton.Yes,QMessageBox.StandardButton.Close)
  92. if relay == QMessageBox.StandardButton.Yes:
  93. try:
  94. ip = "http://" + str(self.child.ipinfo) + "/static/MM_GJJH_LIST/1"
  95. requests.get(url=ip, timeout=30).json()
  96. except:
  97. QMessageBox.warning(self, "工具查询功能失效", "工具查询功能失效请联系管理员!")
  98. else:
  99. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  100. def task(self, q):
  101. if q.text() == '打开个人警告信息推送':
  102. if int(self.child.authority) != 3:
  103. relay = QMessageBox.warning(self, "警告", "确认打开个人警告信息推送?该操作将实时推送警告给个人!!", QMessageBox.StandardButton.Yes,QMessageBox.StandardButton.Close)
  104. if relay == QMessageBox.StandardButton.Yes:
  105. try:
  106. ip = "http://" + str(self.child.ipinfo) + "/changeSinglepoepleNotice/1"
  107. requests.get(url=ip, timeout=30).json()
  108. except:
  109. QMessageBox.warning(self, "个人警告信息推送功能失效", "个人警告信息推送功能失效功能失效请联系管理员!")
  110. else:
  111. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  112. elif q.text() == '关闭个人警告信息推送':
  113. if int(self.child.authority) != 3:
  114. relay = QMessageBox.warning(self, "警告", "确认关闭个人警告信息推送?该操作将不再实时推送警告给个人!!", QMessageBox.StandardButton.Yes,QMessageBox.StandardButton.Close)
  115. if relay == QMessageBox.StandardButton.Yes:
  116. try:
  117. ip = "http://" + str(self.child.ipinfo) + "/changeSinglepoepleNotice/0"
  118. requests.get(url=ip, timeout=30).json()
  119. except:
  120. QMessageBox.warning(self, "个人警告信息推送功能失效", "个人警告信息推送功能失效功能失效请联系管理员!")
  121. else:
  122. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  123. def server(self, q):
  124. if q.text() == '配置服务器IP':
  125. #self.setipinfo()
  126. self.child.findServerWidget.show()
  127. elif q.text() == '配置服务器IP电话':
  128. if int(self.child.authority) !=3:
  129. relay = QMessageBox.warning(self, "警告", "该操作将配置服务器自动呼叫中心(0332),请确认是否要配置服务器端IP电话!!频繁配置将导致0332IP电话死机,请不要多次点击!配置期间将出现程序无响应情况,期间建议不操作系统,等待配置结果!!",
  130. QMessageBox.StandardButton.Yes,
  131. QMessageBox.StandardButton.Close)
  132. if relay == QMessageBox.StandardButton.Yes:
  133. self.child.setIpPhone()
  134. try:
  135. ip = "http://" + str(self.child.ipinfo) + "/static/insertLogs2/" + "配置服务器IP电话操作/" + "%s/" % str(self.child.user) + "%s" % str(datetime.datetime.now())
  136. requests.get(url=ip, timeout=30).json()
  137. except :
  138. QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
  139. #QMessageBox.warning(self, "提示", "功能正在开发,敬请期待!")
  140. else:
  141. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  142. elif q.text() == '服务器AMRO cookie登录':
  143. try:
  144. if int(self.child.authority) <= 1:
  145. self.child.remoteCookielogin()
  146. else:
  147. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  148. except:
  149. # print('登录服务器失败')
  150. res = ""
  151. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  152. elif q.text() == '服务器AMRO账号登录':
  153. try:
  154. if int(self.child.authority) <= 1:
  155. self.child.remotelogin()
  156. else:
  157. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  158. except:
  159. # print('登录服务器失败')
  160. res = ""
  161. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  162. elif q.text() == '服务器AMRO注销':
  163. try:
  164. if int(self.child.authority) <= 1:
  165. relay = QMessageBox.warning(self, "警告", "注销AMRO账号登录将无法保持航班信息更新,慎重操作!!",
  166. QMessageBox.StandardButton.Yes,
  167. QMessageBox.StandardButton.Close)
  168. if relay == QMessageBox.StandardButton.Yes:
  169. ip = "http://" + str(self.child.ipinfo) + "/static/remotelogout"
  170. try:
  171. res = requests.get(url=ip, timeout=5)
  172. if res.text == "ok":
  173. try:
  174. ip = "http://" + str(self.child.ipinfo) + "/static/insertLogs2/" + "服务器AMRO注销操作/" + "%s/" % str(self.child.user) + "%s" % str(datetime.datetime.now())
  175. requests.get(url=ip, timeout=30).json()
  176. except:
  177. QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
  178. QMessageBox.warning(self, "提示", "服务器AMRO注销成功!")
  179. else:
  180. QMessageBox.warning(self, "提示", "服务器AMRO注销失败,请检查服务器端注销或联系管理员检查服务器!")
  181. except:
  182. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  183. else:
  184. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  185. except:
  186. # print('登录服务器失败')
  187. res = ""
  188. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  189. elif q.text() == '配置本地IP电话':
  190. if int(self.child.authority) != 3:
  191. self.child.setLocalIpPhone()
  192. else:
  193. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  194. elif q.text() == '测试呼出拨号':
  195. ip = "http://" + str(self.child.ipinfo) + "/static/calltry"
  196. res = requests.get(url=ip, timeout=5)
  197. elif q.text() == '测试通讯建立':
  198. ip = "http://" + str(self.child.ipinfo) + "/static/callon"
  199. res = requests.get(url=ip, timeout=5)
  200. ip = "http://" + str(self.child.ipinfo) + "/static/callon"
  201. res = requests.get(url=ip, timeout=5)
  202. elif q.text() == '测试通讯挂断':
  203. ip = "http://" + str(self.child.ipinfo) + "/static/calldown"
  204. res = requests.get(url=ip, timeout=5)
  205. elif q.text() == '测试腾讯云信息上报':
  206. resfwq = requests.get(url="http://124.223.185.200:4567/get_deal_info/", timeout=10) # 自己服务器
  207. if resfwq.json() != "":
  208. flightsts = resfwq.json()
  209. print(flightsts)
  210. def flight(self, q):
  211. if q.text() == '停场模板下载':
  212. if int(self.child.authority) != 3:
  213. self.child.saveCase()
  214. #QMessageBox.warning(self, "提示", "功能正在开发,敬请期待!")
  215. else:
  216. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  217. elif q.text() == '停场航班导入':
  218. if int(self.child.authority) != 3:
  219. self.child.updateStopFlight()
  220. else:
  221. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  222. #QMessageBox.warning(self, "提示", "功能正在开发,敬请期待!")
  223. elif q.text() == '全天航班导出(未含保障结束)':
  224. if int(self.child.authority) != 3:
  225. self.child.saveAllflight()
  226. else:
  227. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  228. #QMessageBox.warning(self, "提示", "功能正在开发,敬请期待!")
  229. elif q.text() == '航班安排备份导出':
  230. if int(self.child.authority) != 3:
  231. self.child.saveAllflight2()
  232. else:
  233. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  234. #QMessageBox.warning(self, "提示", "功能正在开发,敬请期待!")
  235. elif q.text() == '维修记录清点导出':
  236. self.child.saveAllflight3()
  237. elif q.text() == '交班航班导出':
  238. if int(self.child.authority) != 3:
  239. self.child.saveDealflight()
  240. else:
  241. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  242. #QMessageBox.warning(self, "提示", "功能正在开发,敬请期待!")
  243. elif q.text() == '人工添加航班':
  244. try:
  245. if int(self.child.authority) <= 1:
  246. QMessageBox.warning(self, "提示", "注意:人工添加请确认航班信息准确性,人工添加航班无法进行派工操作!无法自动获取航班状态!")
  247. self.child.AddFlight()
  248. else:
  249. QMessageBox.warning(self,"提示", "权限不够,请联系管理员!")
  250. except:
  251. #print('登录服务器失败')
  252. res = ""
  253. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  254. elif q.text() == '航班交接':
  255. try:
  256. if int(self.child.authority) <= 2:
  257. self.child.HandoverFlight()#需要关联
  258. else:
  259. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  260. except:
  261. # print('登录服务器失败')
  262. res = ""
  263. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  264. def people(self, q):
  265. if q.text() == '关于':
  266. print('关于-----')
  267. elif q.text() == '白班考勤获取':
  268. if int(self.child.authority) != 3:
  269. ip = "http://" + str(self.child.ipinfo) + "/static/getPglist/A"
  270. res = requests.get(url=ip,timeout=5)
  271. if res.json() == 200:
  272. QMessageBox.warning(self, "提示", "白班考勤名单获取成功!")
  273. #print('白班考勤获取成功-----')
  274. self.child.QThreadSortNow("people")
  275. else:
  276. QMessageBox.warning(self, "提示", "白班考勤名单获取失败,请确认服务器状态或者派工权限!")
  277. else:
  278. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  279. elif q.text() == '夜班考勤获取':
  280. if int(self.child.authority) != 3:
  281. ip = "http://" + str(self.child.ipinfo) + "/static/getPglist/B"
  282. res = requests.get(url=ip,timeout=30)
  283. if res.json() == 200:
  284. QMessageBox.warning(self, "提示", "夜班考勤名单获取成功!")
  285. self.child.QThreadSortNow("people")
  286. #print('夜班考勤获取成功-----')
  287. else:
  288. QMessageBox.warning(self, "提示", "夜班考勤名单获取失败,请确认服务器状态或者派工权限!")
  289. else:
  290. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  291. elif q.text() == '添加人员信息':
  292. if int(self.child.authority) == 0:
  293. self.child.openFile()
  294. try:
  295. ip = "http://" + str(self.child.ipinfo) + "/static/insertLogs2/" + "添加人员信息操作/" + "%s/" % str(self.child.user) + "%s" % str(datetime.datetime.now())
  296. requests.get(url=ip, timeout=30).json()
  297. except :
  298. QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
  299. #print(self.child.selectedtime)
  300. #print(self.child.selectedbc)
  301. #print(self.child.user)
  302. #print('添加人员信息-----')
  303. else:
  304. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  305. def logs(self, q):
  306. if q.text() == '清空待办':
  307. try:
  308. if int(self.child.authority) <= 1:
  309. relay = QMessageBox.warning(self, "警告", "清空待办将清除除人工和准备组任务外所有待办信息,慎重操作!!",
  310. QMessageBox.StandardButton.Yes,
  311. QMessageBox.StandardButton.Close)
  312. if relay == QMessageBox.StandardButton.Yes:
  313. ip = "http://" + str(self.child.ipinfo) + "/static/mandealAllLogs/norm/" + str(self.child.user)
  314. try:
  315. res = requests.get(url=ip, timeout=5)
  316. if res.text == "ok":
  317. try:
  318. ip = "http://" + str(self.child.ipinfo) + "/static/insertLogs2/" + "清空待办操作/" + "%s/" % str(self.child.user) + "%s" % str(datetime.datetime.now())
  319. requests.get(url=ip, timeout=30).json()
  320. except:
  321. QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
  322. QMessageBox.warning(self, "提示", "清空日志成功!")
  323. else:
  324. QMessageBox.warning(self, "提示", "清空日志失败,请检查服务器或联系管理员检查服务器!")
  325. except:
  326. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  327. self.child.QThreadSortNow("change")
  328. self.child.QThreadSortNow("main")
  329. else:
  330. QMessageBox.warning(self,"提示", "权限不够,请联系管理员!")
  331. except:
  332. #print('登录服务器失败')
  333. res = ""
  334. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  335. elif q.text() == '清空待办(超管)':
  336. try:
  337. if int(self.child.authority) <= 0:
  338. relay = QMessageBox.warning(self, "警告", "清空待办将清除所有待办信息,慎重操作!!",
  339. QMessageBox.StandardButton.Yes,
  340. QMessageBox.StandardButton.Close)
  341. if relay == QMessageBox.StandardButton.Yes:
  342. ip = "http://" + str(self.child.ipinfo) + "/static/mandealAllLogs/super/" + str(
  343. self.child.user)
  344. try:
  345. res = requests.get(url=ip, timeout=5)
  346. if res.text == "ok":
  347. try:
  348. ip = "http://" + str(self.child.ipinfo) + "/static/insertLogs2/" + "清空待办(超管)操作/" + "%s/" % str(self.child.user) + "%s" % str(datetime.datetime.now())
  349. requests.get(url=ip, timeout=30).json()
  350. except:
  351. QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
  352. QMessageBox.warning(self, "提示", "清空日志成功!")
  353. else:
  354. QMessageBox.warning(self, "提示", "清空日志失败,请检查配置文件或联系管理员检查服务器!")
  355. except:
  356. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  357. self.child.QThreadSortNow("change")
  358. self.child.QThreadSortNow("main")
  359. else:
  360. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  361. except:
  362. # print('登录服务器失败')
  363. res = ""
  364. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  365. elif q.text() == '查看日志':
  366. try:
  367. if int(self.child.authority) <= 2:
  368. self.child.showcheckLogs()
  369. else:
  370. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  371. except:
  372. # print('登录服务器失败')
  373. res = ""
  374. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  375. elif q.text() == '查看拨号进程':
  376. if int(self.child.authority) != 3:
  377. self.child.checkCalllistupdate()
  378. self.child.checkCalllist.show()
  379. else:
  380. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  381. elif q.text() == '更新准备组任务':
  382. if int(self.child.authority) <= 1:
  383. self.child.updateTaskAuto()
  384. try:
  385. ip = "http://" + str(self.child.ipinfo) + "/static/insertLogs2/" + "更新准备组任务操作/" + "%s/" % str(self.child.user) + "%s" % str(datetime.datetime.now())
  386. requests.get(url=ip, timeout=30).json()
  387. except :
  388. QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
  389. else:
  390. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  391. #print(self.child.selectedtime)
  392. #print(self.child.selectedbc)
  393. #print(self.child.user)
  394. elif q.text() == '更新风险数据库':
  395. if int(self.child.authority) <= 1:
  396. self.child.updateRiskdb()
  397. try:
  398. ip = "http://" + str(self.child.ipinfo) + "/static/insertLogs2/" + "更新风险数据库操作/" + "%s/" % str(self.child.user) + "%s" % str(datetime.datetime.now())
  399. requests.get(url=ip, timeout=30).json()
  400. except :
  401. QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
  402. else:
  403. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  404. elif q.text() == '导出风险数据库':
  405. if int(self.child.authority) <= 1:
  406. self.child.saveRisktable()
  407. try:
  408. ip = "http://" + str(self.child.ipinfo) + "/static/insertLogs2/" + "导出风险数据库操作/" + "%s/" % str(self.child.user) + "%s" % str(datetime.datetime.now())
  409. requests.get(url=ip, timeout=30).json()
  410. except :
  411. QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
  412. else:
  413. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  414. elif q.text() == '打开授权认证':
  415. if int(self.child.authority) != 3:
  416. self.child.openmaintainAuthCheck()
  417. try:
  418. ip = "http://" + str(self.child.ipinfo) + "/static/insertLogs2/" + "打开授权认证/" + "%s/" % str(self.child.user) + "%s" % str(datetime.datetime.now())
  419. requests.get(url=ip, timeout=30).json()
  420. except :
  421. QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
  422. else:
  423. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  424. elif q.text() == '关闭授权认证':
  425. if int(self.child.authority) != 3:
  426. self.child.closemaintainAuthCheck()
  427. try:
  428. ip = "http://" + str(self.child.ipinfo) + "/static/insertLogs2/" + "关闭授权认证/" + "%s/" % str(self.child.user) + "%s" % str(datetime.datetime.now())
  429. requests.get(url=ip, timeout=30).json()
  430. except :
  431. QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
  432. else:
  433. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  434. def account(self, q):
  435. if q.text() == '退出':
  436. app = QApplication.instance()
  437. app.quit()
  438. elif q.text() =='注册账号':
  439. if int(self.child.authority) == 0:
  440. self.child.showAdduser()
  441. else:
  442. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  443. elif q.text() =='修改密码':
  444. self.child.showChangePassword()
  445. #print('修改密码-----')
  446. elif q.text() =='变更权限':
  447. try:
  448. if int(self.child.authority) <= 0:
  449. self.child.showchangeAuth()
  450. else:
  451. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  452. except:
  453. # print('登录服务器失败')
  454. res = ""
  455. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  456. def analysis(self,q):
  457. if q.text() == '统计分析':
  458. ip = "http://" + str(self.child.ipinfo) + "/static/mapDispaly/" + str(self.child.selectedtime)
  459. try:
  460. res = requests.get(url=ip, timeout=5).json()
  461. #print(res)
  462. except:
  463. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  464. QMessageBox.warning(self, "提示", "功能正在开发,敬请期待!")
  465. elif q.text() == '显示地图':
  466. if int(self.child.authority) != 3:
  467. ip = "http://" + str(self.child.ipinfo) + "/map/" + str(self.child.selectedtime)
  468. self.child.mapWebPage.webEngineView.load(QUrl(ip))
  469. self.child.mapWebPage.show()
  470. else:
  471. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  472. elif q.text() == '排班辅助':
  473. if int(self.child.authority) < 2:
  474. self.child.showWorkloadinfos()
  475. else:
  476. QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
  477. def showChild(self):
  478. if self.child.loginSts == True:
  479. #print('showChild')
  480. self.show()
  481. self.serchTimer = QTimer()
  482. self.serchTimer.start(3600 * 1000)
  483. self.serchTimer.timeout.connect(self.remoteCheck)
  484. #self.setipinfo()
  485. if __name__ == '__main__':
  486. app = QApplication(sys.argv)
  487. demo = MenuDemo()
  488. #demo.show()
  489. sys.exit(app.exec())