PageMain.qml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443
  1. import QtQuick 2.15
  2. import QtQuick.Window 2.15
  3. import QtQuick.Layouts 1.3
  4. import QtQuick.Controls 2.14
  5. import QtQuick.Dialogs 1.3
  6. import QtQuick.Controls.Styles 1.4
  7. import QtQuick.VirtualKeyboard 2.15
  8. import TService 1.0
  9. Rectangle{
  10. id:root
  11. //anchors.fill:parent
  12. Item{
  13. id:rootitem
  14. anchors.fill:parent
  15. enum Page_Type {
  16. Page_Type_Settings,
  17. Page_Type_Testing,
  18. Page_Type_ValveTest,
  19. Page_Type_Calibration
  20. }
  21. SwipeView {
  22. id: swipeView
  23. //anchors.fill: parent
  24. width: main_window.width
  25. height: main_window.height
  26. currentIndex: 0
  27. y: !inputPanel.active ? 0 : Math.min(0, main_window.height - inputPanel.height - activeFocusItemBottom)
  28. Behavior on y {
  29. NumberAnimation {
  30. duration: 250
  31. easing.type: Easing.InOutQuad
  32. }
  33. }
  34. PageSetting {
  35. id:page_set
  36. }
  37. PageTest {
  38. id:pagetest
  39. //visible: false;
  40. }
  41. PageCalibration {
  42. id:pagecalibration
  43. }
  44. function changePages(compartment_num){
  45. console.log("changePages num : "+compartment_num)
  46. removePage(pagetest)
  47. if(compartment_num>7){
  48. addPage(page_recoveryvalve1)
  49. addPage(page_recoveryvalve2)
  50. addPage(page_recoveryvalve3)
  51. addPage(page_recoveryvalve4)
  52. addPage(page_recoveryvalve5)
  53. addPage(page_recoveryvalve6)
  54. addPage(page_recoveryvalve7)
  55. addPage(page_recoveryvalve8)
  56. }else if(compartment_num>6){
  57. removePage(page_recoveryvalve8)
  58. addPage(page_recoveryvalve1)
  59. addPage(page_recoveryvalve2)
  60. addPage(page_recoveryvalve3)
  61. addPage(page_recoveryvalve4)
  62. addPage(page_recoveryvalve5)
  63. addPage(page_recoveryvalve6)
  64. addPage(page_recoveryvalve7)
  65. }else if(compartment_num>5){
  66. removePage(page_recoveryvalve8)
  67. removePage(page_recoveryvalve7)
  68. addPage(page_recoveryvalve1)
  69. addPage(page_recoveryvalve2)
  70. addPage(page_recoveryvalve3)
  71. addPage(page_recoveryvalve4)
  72. addPage(page_recoveryvalve5)
  73. addPage(page_recoveryvalve6)
  74. }else if(compartment_num>4){
  75. removePage(page_recoveryvalve8)
  76. removePage(page_recoveryvalve7)
  77. removePage(page_recoveryvalve6)
  78. addPage(page_recoveryvalve1)
  79. addPage(page_recoveryvalve2)
  80. addPage(page_recoveryvalve3)
  81. addPage(page_recoveryvalve4)
  82. addPage(page_recoveryvalve5)
  83. }else if(compartment_num>3){
  84. removePage(page_recoveryvalve8)
  85. removePage(page_recoveryvalve7)
  86. removePage(page_recoveryvalve6)
  87. removePage(page_recoveryvalve5)
  88. addPage(page_recoveryvalve1)
  89. addPage(page_recoveryvalve2)
  90. addPage(page_recoveryvalve3)
  91. addPage(page_recoveryvalve4)
  92. }else if(compartment_num>2){
  93. removePage(page_recoveryvalve8)
  94. removePage(page_recoveryvalve7)
  95. removePage(page_recoveryvalve6)
  96. removePage(page_recoveryvalve5)
  97. removePage(page_recoveryvalve4)
  98. addPage(page_recoveryvalve1)
  99. addPage(page_recoveryvalve2)
  100. addPage(page_recoveryvalve3)
  101. }else if(compartment_num>1){
  102. removePage(page_recoveryvalve8)
  103. removePage(page_recoveryvalve7)
  104. removePage(page_recoveryvalve6)
  105. removePage(page_recoveryvalve5)
  106. removePage(page_recoveryvalve4)
  107. removePage(page_recoveryvalve3)
  108. addPage(page_recoveryvalve1)
  109. addPage(page_recoveryvalve2)
  110. }else if(compartment_num>0){
  111. removePage(page_recoveryvalve8)
  112. removePage(page_recoveryvalve7)
  113. removePage(page_recoveryvalve6)
  114. removePage(page_recoveryvalve5)
  115. removePage(page_recoveryvalve4)
  116. removePage(page_recoveryvalve3)
  117. removePage(page_recoveryvalve2)
  118. addPage(page_recoveryvalve1)
  119. }
  120. addPage(pagetest)
  121. }
  122. function addPage(page){
  123. for(var n=0; n<count; n++){
  124. if(page === itemAt(n))
  125. return
  126. }
  127. addItem(page)
  128. page.visible = true
  129. }
  130. function removePage(page){
  131. for(var n=0; n<count; n++){
  132. if(page === itemAt(n))
  133. takeItem(n)
  134. }
  135. page.visible = false
  136. }
  137. Component.onCompleted: {
  138. //page_set.show()
  139. //currentIndex=0
  140. }
  141. }
  142. PageIndicator {
  143. id: indicator
  144. count: swipeView.count
  145. currentIndex: swipeView.currentIndex
  146. anchors.bottom: swipeView.bottom
  147. anchors.horizontalCenter: parent.horizontalCenter
  148. //interactive: true
  149. }
  150. Component.onCompleted: {
  151. StandardManager.init()
  152. CalibrationPara.init()
  153. testService.init()
  154. //StandardManager.init()
  155. //CalibrationPara.init()
  156. }
  157. }
  158. RecoveryValve {
  159. id:page_recoveryvalve1
  160. compartment_id: 1
  161. volume: 0
  162. visible: false
  163. }
  164. RecoveryValve {
  165. id:page_recoveryvalve2
  166. compartment_id: 2
  167. volume: 0
  168. visible: false
  169. }
  170. RecoveryValve {
  171. id:page_recoveryvalve3
  172. compartment_id: 3
  173. volume: 0
  174. visible: false
  175. }
  176. RecoveryValve {
  177. id:page_recoveryvalve4
  178. compartment_id: 4
  179. volume: 0
  180. visible: false
  181. }
  182. RecoveryValve {
  183. id:page_recoveryvalve5
  184. compartment_id: 5
  185. volume: 0
  186. visible: false
  187. }
  188. RecoveryValve {
  189. id:page_recoveryvalve6
  190. compartment_id: 6
  191. volume: 0
  192. visible: false
  193. }
  194. RecoveryValve {
  195. id:page_recoveryvalve7
  196. compartment_id: 7
  197. volume: 0
  198. visible: false
  199. }
  200. RecoveryValve {
  201. id:page_recoveryvalve8
  202. compartment_id: 8
  203. volume: 0
  204. visible: false
  205. }
  206. //PageStandard {
  207. // id:pagestandard
  208. // visible: false
  209. //}
  210. Log{
  211. id:log
  212. z:10
  213. width: 300
  214. height: 50
  215. anchors.centerIn: parent
  216. }
  217. Log{
  218. id:genreportprogress
  219. z:20
  220. width: 300
  221. height: 50
  222. anchors.centerIn: parent
  223. }
  224. TestService{
  225. id:testService
  226. }
  227. Component.onCompleted: {
  228. //page_set.show()
  229. testService.onNotice.connect(qmlProcessNotice);
  230. testService.onWarning.connect(qmlProcessWarning);
  231. testService.sigPressure.connect(qmlProcessPressure);
  232. testService.sigState.connect(qmlProcessState);
  233. testService.sigSystemResult.connect(qmlProcessSystemResult);
  234. testService.sigValveResult.connect(qmlProcessValveResult);
  235. testService.sigSelfTestResult.connect(qmlProcessSelfResult);
  236. testService.onGenreportProgress.connect(qmlProcessReportProgress);
  237. testService.sigStop.connect(qmlProcessStop);
  238. console.log("main.qml tservice init: 222" )
  239. }
  240. function delay(duration) { // In milliseconds
  241. var timeStart = new Date().getTime();
  242. while (new Date().getTime() - timeStart < duration) {
  243. // Do nothing
  244. }
  245. // Duration has passed
  246. }
  247. function qmlProcessReportProgress(str){
  248. console.log("main.qml tservice qmlProcessReportProgress:", str )
  249. if(str === "close"){
  250. genreportprogress.exit()
  251. }else{
  252. genreportprogress.show(str)
  253. }
  254. }
  255. function qmlProcessNotice(str){
  256. console.log("main.qml tservice qmlProcessNotice: enter [%s]", str )
  257. log.show(str)
  258. }
  259. function qmlProcessWarning(str){
  260. console.log("main.qml tservice init: 222 [%s]", str )
  261. //log.show2(str)
  262. //id_mesDialog.text = str+", 是否继续?";
  263. //id_mesDialog.open()
  264. }
  265. function getTestPage(id){
  266. var page_var
  267. switch(id){
  268. case 1:page_var = page_recoveryvalve1
  269. break
  270. case 2:page_var = page_recoveryvalve2
  271. break
  272. case 3:page_var = page_recoveryvalve3
  273. break
  274. case 4:page_var = page_recoveryvalve4
  275. break
  276. case 5:page_var = page_recoveryvalve5
  277. break
  278. case 6:page_var = page_recoveryvalve6
  279. break
  280. case 7:page_var = page_recoveryvalve7
  281. break
  282. case 8:page_var = page_recoveryvalve8
  283. break
  284. default:
  285. page_var = page_recoveryvalve1
  286. break;
  287. }
  288. return page_var
  289. }
  290. function qmlProcessPressure(id, map){
  291. //console.log("main.qml qmlProcessPressure ",id )
  292. //log.show2(str)
  293. //var textstring = ''
  294. //var varmap = map
  295. //textstring += map.pressure+":"
  296. //textstring += map.direction.toString()+":"
  297. //textstring += map.stage.toString()+":"
  298. //textstring += map.step.toString()+":"
  299. //console.log("main.qml qmlProcessPressure :",textstring.toString() )
  300. if((id >= 1) &&(id<=8)){
  301. var page_var = getTestPage(id)
  302. //page_var.pressure = str
  303. //page_var.add_record(str)
  304. //page_var.pressureDisplayInput(str)
  305. page_var.update_pressure(map);
  306. }else if(id === 0){
  307. pagetest.show_pressure(map.pressure)
  308. }
  309. //console.log("show compartment ",id, str )
  310. }
  311. function qmlProcessState(id, str1, str2){
  312. if((id >= 1) &&(id<=8)){
  313. var page_var = getTestPage(id)
  314. page_var.update_runstate(str1, str2)
  315. }else if(id === 0){
  316. pagetest.show_selftestState(str1)
  317. console.log("qmlProcessState pagetest ",id, str1 )
  318. }
  319. }
  320. function qmlProcessSystemResult(id, str, bPassed){
  321. if((id >= 1) &&(id<=8)){
  322. var page_var = getTestPage(id)
  323. page_var.show_systemresult(str, bPassed)
  324. }
  325. }
  326. function qmlProcessValveResult(id, str, bPassed){
  327. if((id >= 1) &&(id<=8)){
  328. var page_var = getTestPage(id)
  329. page_var.show_valveresult(str, bPassed)
  330. }
  331. }
  332. function qmlProcessSelfResult(id, str, bPassed){
  333. if(id === 0){
  334. if(bPassed){
  335. pagetest.show_selftestResult("通过")
  336. //pagetest.show_selftestResult(str)
  337. }else{
  338. pagetest.show_selftestResult("未通过")
  339. //pagetest.show_selftestResult(str)
  340. }
  341. pagetest.show_selftestDetail(str)
  342. }
  343. }
  344. function qmlProcessStop(id){
  345. if((id >= 1) &&(id<=8)){
  346. var page_var = getTestPage(id)
  347. page_var.test_stoped()
  348. }else if(id === 0){
  349. pagetest.selftestStop()
  350. console.log("qmlProcessStop pagetest ",id )
  351. }
  352. }
  353. }