PageMain.qml 11 KB

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