PageMain.qml 12 KB

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