tower.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. var xhr = new XMLHttpRequest();
  2. var url = "tower/org";
  3. obj="";
  4. xhr.open("GET",url);
  5. xhr.onload = function(){
  6. obj = JSON.parse(xhr.responseText);
  7. //insertHTML();
  8. start();
  9. };
  10. xhr.send();
  11. function insertHTML(data){
  12. var aria = document.getElementById('test');
  13. var tower_select = document.getElementById('tower');
  14. //aria.innerHTML=data[0].tower_name;
  15. var inner='<option value=0>請選擇水塔</option>';
  16. for(var i=0;i<data.length;i++){
  17. inner=inner+'<option value="'+data[i].tower_name+'">'+data[i].tower_name+'</option>';
  18. }
  19. tower_select.innerHTML=inner;
  20. }
  21. obj2 = "";
  22. function click_button() {
  23. //alert("click");
  24. companySelect=document.getElementById("company-list");
  25. factorySelect=document.getElementById("factory-list");
  26. departmentSelect=document.getElementById("department-list");
  27. towerGroupSelect=document.getElementById("towerGroup-list");
  28. if(companySelect.value!=0 && factorySelect.value!=0 && departmentSelect.value!=0 && towerGroupSelect.value!=0){
  29. var url2 = "tower/?company="+ companySelect.value + "&factory=" + factorySelect.value + "&department=" +departmentSelect.value + "&towerGroup=" +towerGroupSelect.value ;
  30. var xhr2 = new XMLHttpRequest();
  31. xhr2.open("GET",url2);
  32. xhr2.onload = function(){
  33. obj2 = JSON.parse(xhr2.responseText);
  34. insertHTML(obj2);
  35. };
  36. xhr2.send();
  37. }
  38. }
  39. function tower_info(){
  40. towerSelect=document.getElementById("tower");
  41. tower = towerSelect.value;
  42. inner = "";
  43. for(var i=0;i<obj2.length;i++){
  44. if(obj2[i].tower_name == tower){
  45. // inner = '<p> DCS </P> '+
  46. // '<p> 入水溫度 = '+ obj2[i].tower_data.DCS.hotTemp + ' </P> ' +
  47. // '<p> 出水溫度 = '+ obj2[i].tower_data.DCS.coldTemp + ' </P> ' +
  48. // '<p> 水流量 = '+ obj2[i].tower_data.DCS.waterFlow + ' </P> ' +
  49. // '<p> 風扇馬達電流 = '+ obj2[i].tower_data.DCS.fanMotorCur + ' </P> ' +
  50. // '<p> 風扇馬達轉速頻率 = '+ obj2[i].tower_data.DCS.fanMotorSpeedFreq + ' </P><br> ' +
  51. // '<p> 風扇震動 </P> '+
  52. // '<p> 馬達震動 = '+ obj2[i].tower_data.Moter.ch01.Vrms + ' </P> ' +
  53. // '<p> 減速機震動 = '+ obj2[i].tower_data.Fan.reducer + ' </P> ' +
  54. // '<p> 靜壓機 = '+ obj2[i].tower_data.Fan.staticPressure + ' </P> ' +
  55. // '<p> 水流量 = '+ obj2[i].tower_data.Fan.waterFlow + ' </P> ' +
  56. // '<p> 濕求溫度 = '+ obj2[i].tower_data.Fan.wetTemp + ' </P> ' +
  57. // '<p> 水冷槽溫度1 = '+ obj2[i].tower_data.Fan.coldTempData1 + ' </P> ' +
  58. // '<p> 水冷槽溫度2 = '+ obj2[i].tower_data.Fan.coldTempData2 + ' </P><br> ' +
  59. // '<p> 馬達震動 </P> '+
  60. // '<p> ch001,通道1'+ obj2[i].tower_data.Moter.ch01.Vrms + ',' + obj2[i].tower_data.Moter.ch01.CV+' </P> ' +
  61. // '<p> ch002,通道2'+ obj2[i].tower_data.Moter.ch02.Vrms + ',' + obj2[i].tower_data.Moter.ch02.CV+' </P> '
  62. // ;
  63. inner =' <h1 class="ms-3"><i style=" color:#0174c7;" class="fas fa-file-signature me-1"></i>中控室DSC訊號</h1>\
  64. <div class="row px-0 mx-0">\
  65. <div class="card col-lg-2">\
  66. <p class="data-title fw-bold">'+ obj2[i].tower_data.DCS.hotTemp + '</p>\
  67. <div>\
  68. <h2 class="text-center">31.612</h2>\
  69. <P class="unit text-end">°C</P>\
  70. </div>\
  71. </div>\
  72. <div class="card col-lg-2">\
  73. <p class="data-title fw-bold">出水溫度</p>\
  74. <div>\
  75. <h2 class="text-center">'+ obj2[i].tower_data.DCS.coldTemp + '</h2>\
  76. <P class="unit text-end">°C</P>\
  77. </div>\
  78. </div>\
  79. <div class="card col-lg-2">\
  80. <p class="data-title fw-bold ">水流量</p>\
  81. <div>\
  82. <h2 class="text-center">'+ obj2[i].tower_data.DCS.waterFlow + '</h2>\
  83. <P class="unit text-end">M³/H</P>\
  84. </div>\
  85. </div>\
  86. <div class="card col-lg-2">\
  87. <p class="data-title fw-bold">風扇馬達電流</p>\
  88. <div>\
  89. <h2 class="text-center">'+ obj2[i].tower_data.DCS.fanMotorCur + '</h2>\
  90. <P class="unit text-end">A</P>\
  91. </div>\
  92. </div>\
  93. <div class="card col-lg-2">\
  94. <p class="data-title fw-bold ">風扇馬達轉速頻率</p>\
  95. <div>\
  96. <h2 class="text-center">'+ obj2[i].tower_data.DCS.fanMotorSpeedFreq + '&ensp;</h2>\
  97. <P class="unit text-end">Hz</P>\
  98. </div>\
  99. </div>\
  100. </div>\
  101. <div class="card mt-5">\
  102. <div class="row">\
  103. <div class="col-lg-6">\
  104. <h1><i style=" color:#0174c7;" class="fas fa-tachometer-alt me-2"></i>風扇震動</h1>\
  105. </div>\
  106. <div class="col-lg-6">\
  107. <h1><i style=" color:#0174c7;" class="fas fa-cogs me-2"></i>馬達震動</h1>\
  108. </div>\
  109. </div>\
  110. <div>\
  111. <div class="row px-0 mx-0">\
  112. <div class="col-lg-6">\
  113. <table class="table">\
  114. <thead>\
  115. <tr>\
  116. <th scope="col">數據名稱</th>\
  117. <th scope="col">值</th>\
  118. <th scope="col">單位</th>\
  119. </tr>\
  120. </thead>\
  121. <tbody>\
  122. <tr>\
  123. <td>馬達震動</td>\
  124. <td>'+ obj2[i].tower_data.Moter.ch01.Vrms + '</td>\
  125. <td>mm/s</td>\
  126. </tr>\
  127. <tr>\
  128. <td>減速機震動</td>\
  129. <td>'+ obj2[i].tower_data.Fan.reducer + '</td>\
  130. <td>mm/s</td>\
  131. </tr>\
  132. <tr>\
  133. <td>靜壓機</td>\
  134. <td>'+ obj2[i].tower_data.Fan.staticPressure + '</td>\
  135. <td>pa</td>\
  136. </tr>\
  137. <tr>\
  138. <td>水流量</td>\
  139. <td>'+ obj2[i].tower_data.Fan.waterFlow + '</td>\
  140. <td>M³/H</td>\
  141. </tr>\
  142. <tr>\
  143. <td>濕求溫度</td>\
  144. <td>'+ obj2[i].tower_data.Fan.wetTemp + '</td>\
  145. <td>°C</td>\
  146. </tr>\
  147. <tr>\
  148. <td>水冷槽溫度1</td>\
  149. <td>'+ obj2[i].tower_data.Fan.coldTempData1 + '</td>\
  150. <td>°C</td>\
  151. </tr>\
  152. <tr>\
  153. <td>水冷槽溫度2</td>\
  154. <td>'+ obj2[i].tower_data.Fan.coldTempData2 + '</td>\
  155. <td>°C</td>\
  156. </tr>\
  157. </tbody>\
  158. </table>\
  159. </div>\
  160. <div class="col-lg-6">\
  161. <div class="row px-0 mx-0">\
  162. <div class="card col-lg-5">\
  163. <p class="fw-bold ">ch001,通道1</p>\
  164. <div>\
  165. <p class="text-center">'+ obj2[i].tower_data.Moter.ch01.Vrms + ',' + obj2[i].tower_data.Moter.ch01.CV+'</p>\
  166. </div>\
  167. </div>\
  168. <div class="card col-lg-5">\
  169. <p class="fw-bold ">ch002,通道2</p>\
  170. <div>\
  171. <p class="text-center">'+ obj2[i].tower_data.Moter.ch02.Vrms + ',' + obj2[i].tower_data.Moter.ch02.CV+'</p>\
  172. </div>\
  173. </div>\
  174. <div class="card col-lg-5">\
  175. <p class="fw-bold ">ch002,通道3</p>\
  176. <div>\
  177. <p class="text-center">'+ obj2[i].tower_data.Moter.ch01.Vrms + ',' + obj2[i].tower_data.Moter.ch01.CV+'</p>\
  178. </div>\
  179. </div>\
  180. <div class="card col-lg-5">\
  181. <p class="fw-bold ">ch002,通道4</p>\
  182. <div>\
  183. <p class="text-center">'+ obj2[i].tower_data.Moter.ch02.Vrms + ',' + obj2[i].tower_data.Moter.ch02.CV+'</p>\
  184. </div>\
  185. </div>\
  186. </div>\
  187. </div>\
  188. </div>\
  189. </div>\
  190. </div>';
  191. }
  192. }
  193. document.getElementById("tower_info").innerHTML = inner;
  194. }
  195. //document就是這html文件。
  196. //getElementById是裡面的方法,參數給"college-list"抓到這id標籤列
  197. function start(){
  198. companySelect=document.getElementById("company-list");
  199. factorySelect=document.getElementById("factory-list");
  200. departmentSelect=document.getElementById("department-list");
  201. towerGroupSelect=document.getElementById("towerGroup-list");
  202. var inner='<option value=0>請選擇公司</option>';
  203. var company_arr = new Array();
  204. for(var i=0;i<obj.length;i++){
  205. if(company_arr.indexOf(obj[i].company)==-1 && obj[i].able==1){
  206. inner=inner+'<option value="'+obj[i].company+'">公司'+obj[i].company+'</option>';
  207. company_arr.push(obj[i].company);
  208. }
  209. }
  210. //innerHTML 賦值inner給這element屬性
  211. companySelect.innerHTML=inner;
  212. }
  213. //製造一個字串,以html的語法填入院的陣列
  214. function onChangeColumn1() {
  215. companySelect=document.getElementById("company-list");
  216. factorySelect=document.getElementById("factory-list");
  217. departmentSelect=document.getElementById("department-list");
  218. towerGroupSelect=document.getElementById("towerGroup-list");
  219. factorySelect.innerHTML='<option value=0>請選擇工廠</option>';
  220. let factory_arr = new Array();
  221. let factory_inner = '<option value=0>請選擇工廠</option>';
  222. for(var i=0;i<obj.length;i++){
  223. if( companySelect.value == obj[i].company){
  224. if(factory_arr.indexOf(obj[i].factory)==-1 && obj[i].able==1){
  225. factory_inner=factory_inner+'<option value="'+obj[i].factory+'">工廠'+obj[i].factory+'</option>';
  226. factory_arr.push(obj[i].factory);
  227. }
  228. }
  229. //alert(companySelect.value);
  230. }
  231. factorySelect.innerHTML=factory_inner;
  232. }
  233. function onChangeColumn2() {
  234. companySelect=document.getElementById("company-list");
  235. factorySelect=document.getElementById("factory-list");
  236. departmentSelect=document.getElementById("department-list");
  237. towerGroupSelect=document.getElementById("towerGroup-list");
  238. departmentSelect.innerHTML='<option value=0>請選擇廠區</option>';
  239. let department_arr = new Array();
  240. let department_inner = '<option value=0>請選擇廠區</option>';
  241. for(var i=0;i<obj.length;i++){
  242. if( companySelect.value == obj[i].company && factorySelect.value == obj[i].factory){
  243. if(department_arr.indexOf(obj[i].department)==-1 && obj[i].able==1){
  244. department_inner=department_inner+'<option value="'+obj[i].department+'">廠區'+obj[i].department+'</option>';
  245. department_arr.push(obj[i].department);
  246. }
  247. }
  248. }
  249. document.getElementById("department-list").innerHTML=department_inner;
  250. }
  251. function onChangeColumn3() {
  252. companySelect=document.getElementById("company-list");
  253. factorySelect=document.getElementById("factory-list");
  254. departmentSelect=document.getElementById("department-list");
  255. towerGroupSelect=document.getElementById("towerGroup-list");
  256. towerGroupSelect.innerHTML='<option value=0>請選擇機組</option>';
  257. let towerGroup_inner = '<option value=0>請選擇機組</option>';
  258. for(var i=0;i<obj.length;i++){
  259. if( companySelect.value == obj[i].company && factorySelect.value == obj[i].factory && departmentSelect.value == obj[i].department){
  260. if( obj[i].able==1){
  261. for(var ii=0;ii<obj[i].group.length;ii++){
  262. towerGroup_inner=towerGroup_inner+'<option value="'+obj[i].group[ii]+'">機組'+obj[i].group[ii]+'</option>';
  263. }
  264. }
  265. }
  266. }
  267. document.getElementById("towerGroup-list").innerHTML= towerGroup_inner;
  268. }