|
@@ -1,8 +1,8 @@
|
|
var xhr = new XMLHttpRequest();
|
|
var xhr = new XMLHttpRequest();
|
|
var url = "tower/org";
|
|
var url = "tower/org";
|
|
-obj="";
|
|
|
|
-xhr.open("GET",url);
|
|
|
|
-xhr.onload = function(){
|
|
|
|
|
|
+obj = "";
|
|
|
|
+xhr.open("GET", url);
|
|
|
|
+xhr.onload = function () {
|
|
obj = JSON.parse(xhr.responseText);
|
|
obj = JSON.parse(xhr.responseText);
|
|
//insertHTML();
|
|
//insertHTML();
|
|
start();
|
|
start();
|
|
@@ -15,52 +15,52 @@ xhr.onload = function(){
|
|
};
|
|
};
|
|
xhr.send();
|
|
xhr.send();
|
|
|
|
|
|
-function insertHTML(data){
|
|
|
|
-
|
|
|
|
|
|
+function insertHTML(data) {
|
|
|
|
+
|
|
var tower_select = document.getElementById('tower');
|
|
var tower_select = document.getElementById('tower');
|
|
//aria.innerHTML=data[0].tower_name;
|
|
//aria.innerHTML=data[0].tower_name;
|
|
- var inner='';
|
|
|
|
- for(var i=0;i<data.length;i++){
|
|
|
|
- if(i>=3){
|
|
|
|
- inner=inner+'<button type="button" class="btn btn-primary m-1" onclick="tower_info(\''+data[0].tower_name+'\');">'+data[i].tower_name+'</button>';
|
|
|
|
|
|
+ var inner = '';
|
|
|
|
+ for (var i = 0; i < data.length; i++) {
|
|
|
|
+ if (i >= 3) {
|
|
|
|
+ inner = inner + '<button type="button" class="btn btn-primary m-1" onclick="tower_info(\'' + data[0].tower_name + '\');">' + data[i].tower_name + '</button>';
|
|
}
|
|
}
|
|
- else{
|
|
|
|
- inner=inner+'<button type="button" class="btn btn-primary m-1" onclick="tower_info(\''+data[i].tower_name+'\');">'+data[i].tower_name+'</button>';
|
|
|
|
|
|
+ else {
|
|
|
|
+ inner = inner + '<button type="button" class="btn btn-primary m-1" onclick="tower_info(\'' + data[i].tower_name + '\');">' + data[i].tower_name + '</button>';
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
console.log(inner);
|
|
console.log(inner);
|
|
}
|
|
}
|
|
- tower_select.innerHTML=inner;
|
|
|
|
|
|
+ tower_select.innerHTML = inner;
|
|
}
|
|
}
|
|
obj2 = "";
|
|
obj2 = "";
|
|
function click_button() {
|
|
function click_button() {
|
|
//alert("click");
|
|
//alert("click");
|
|
- companySelect=document.getElementById("company-list");
|
|
|
|
- factorySelect=document.getElementById("factory-list");
|
|
|
|
- departmentSelect=document.getElementById("department-list");
|
|
|
|
- towerGroupSelect=document.getElementById("towerGroup-list");
|
|
|
|
- if(companySelect.value!=0 && factorySelect.value!=0 && departmentSelect.value!=0 && towerGroupSelect.value!=0){
|
|
|
|
- var url2 = "tower/?company="+ companySelect.value + "&factory=" + factorySelect.value + "&department=" +departmentSelect.value + "&towerGroup=" +towerGroupSelect.value ;
|
|
|
|
|
|
+ companySelect = document.getElementById("company-list");
|
|
|
|
+ factorySelect = document.getElementById("factory-list");
|
|
|
|
+ departmentSelect = document.getElementById("department-list");
|
|
|
|
+ towerGroupSelect = document.getElementById("towerGroup-list");
|
|
|
|
+ if (companySelect.value != 0 && factorySelect.value != 0 && departmentSelect.value != 0 && towerGroupSelect.value != 0) {
|
|
|
|
+ var url2 = "tower/?company=" + companySelect.value + "&factory=" + factorySelect.value + "&department=" + departmentSelect.value + "&towerGroup=" + towerGroupSelect.value;
|
|
var xhr2 = new XMLHttpRequest();
|
|
var xhr2 = new XMLHttpRequest();
|
|
- xhr2.open("GET",url2);
|
|
|
|
- xhr2.onload = function(){
|
|
|
|
|
|
+ xhr2.open("GET", url2);
|
|
|
|
+ xhr2.onload = function () {
|
|
obj2 = JSON.parse(xhr2.responseText);
|
|
obj2 = JSON.parse(xhr2.responseText);
|
|
insertHTML(obj2);
|
|
insertHTML(obj2);
|
|
tower_info(obj2[0].tower_name);
|
|
tower_info(obj2[0].tower_name);
|
|
};
|
|
};
|
|
xhr2.send();
|
|
xhr2.send();
|
|
}
|
|
}
|
|
-
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
-function tower_info(tower_str){
|
|
|
|
|
|
+function tower_info(tower_str) {
|
|
tower = tower_str;
|
|
tower = tower_str;
|
|
console.log(tower);
|
|
console.log(tower);
|
|
inner = "";
|
|
inner = "";
|
|
- for(var i=0;i<obj2.length;i++){
|
|
|
|
- if(obj2[i].tower_name == tower){
|
|
|
|
|
|
+ for (var i = 0; i < obj2.length; i++) {
|
|
|
|
+ if (obj2[i].tower_name == tower) {
|
|
// inner = '<p> DCS </P> '+
|
|
// inner = '<p> DCS </P> '+
|
|
// '<p> 入水溫度 = '+ obj2[i].tower_data.DCS.hotTemp + ' </P> ' +
|
|
// '<p> 入水溫度 = '+ obj2[i].tower_data.DCS.hotTemp + ' </P> ' +
|
|
// '<p> 出水溫度 = '+ obj2[i].tower_data.DCS.coldTemp + ' </P> ' +
|
|
// '<p> 出水溫度 = '+ obj2[i].tower_data.DCS.coldTemp + ' </P> ' +
|
|
@@ -79,13 +79,13 @@ function tower_info(tower_str){
|
|
// '<p> ch001,通道1'+ obj2[i].tower_data.Moter.ch01.Vrms + ',' + obj2[i].tower_data.Moter.ch01.CV+' </P> ' +
|
|
// '<p> ch001,通道1'+ obj2[i].tower_data.Moter.ch01.Vrms + ',' + obj2[i].tower_data.Moter.ch01.CV+' </P> ' +
|
|
// '<p> ch002,通道2'+ obj2[i].tower_data.Moter.ch02.Vrms + ',' + obj2[i].tower_data.Moter.ch02.CV+' </P> '
|
|
// '<p> ch002,通道2'+ obj2[i].tower_data.Moter.ch02.Vrms + ',' + obj2[i].tower_data.Moter.ch02.CV+' </P> '
|
|
// ;
|
|
// ;
|
|
-
|
|
|
|
- inner =' <h1 class="ms-3"><i style="color:#0174c7;" class="fas fa-file-signature me-1"></i>中控室DSC訊號</h1>\
|
|
|
|
|
|
+
|
|
|
|
+ inner = ' <h1 class="ms-3"><i style="color:#0174c7;" class="fas fa-file-signature me-1"></i>中控室DSC訊號</h1>\
|
|
<div class="row px-0 mx-0">\
|
|
<div class="row px-0 mx-0">\
|
|
<div class="card col-lg-2">\
|
|
<div class="card col-lg-2">\
|
|
<p class="data-title fw-bold">入水溫度</p>\
|
|
<p class="data-title fw-bold">入水溫度</p>\
|
|
<div>\
|
|
<div>\
|
|
- <h2 class="text-center">'+ obj2[i].tower_data.DCS.hotTemp +'</h2>\
|
|
|
|
|
|
+ <h2 class="text-center">'+ obj2[i].tower_data.DCS.hotTemp + '</h2>\
|
|
<P class="unit text-end">°C</P>\
|
|
<P class="unit text-end">°C</P>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
@@ -130,7 +130,7 @@ function tower_info(tower_str){
|
|
<div>\
|
|
<div>\
|
|
<div class="row px-0 mx-0">\
|
|
<div class="row px-0 mx-0">\
|
|
<div class="col-lg-6">\
|
|
<div class="col-lg-6">\
|
|
- <table class="table">\
|
|
|
|
|
|
+ <table style="font-size:16px;" class="table">\
|
|
<thead>\
|
|
<thead>\
|
|
<tr>\
|
|
<tr>\
|
|
<th scope="col">數據名稱</th>\
|
|
<th scope="col">數據名稱</th>\
|
|
@@ -182,25 +182,25 @@ function tower_info(tower_str){
|
|
<div class="card col-lg-5">\
|
|
<div class="card col-lg-5">\
|
|
<p class="fw-bold ">ch001,通道1</p>\
|
|
<p class="fw-bold ">ch001,通道1</p>\
|
|
<div>\
|
|
<div>\
|
|
- <p class="text-center">'+ obj2[i].tower_data.Moter[0].Vrms + ',' + obj2[i].tower_data.Moter[0].CV+'</p>\
|
|
|
|
|
|
+ <p class="text-center">'+ obj2[i].tower_data.Moter[0].Vrms + ',' + obj2[i].tower_data.Moter[0].CV + '</p>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
<div class="card col-lg-5">\
|
|
<div class="card col-lg-5">\
|
|
<p class="fw-bold ">ch002,通道2</p>\
|
|
<p class="fw-bold ">ch002,通道2</p>\
|
|
<div>\
|
|
<div>\
|
|
- <p class="text-center">'+ obj2[i].tower_data.Moter[1].Vrms + ',' + obj2[i].tower_data.Moter[1].CV+'</p>\
|
|
|
|
|
|
+ <p class="text-center">'+ obj2[i].tower_data.Moter[1].Vrms + ',' + obj2[i].tower_data.Moter[1].CV + '</p>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
<div class="card col-lg-5">\
|
|
<div class="card col-lg-5">\
|
|
<p class="fw-bold ">ch003,通道3</p>\
|
|
<p class="fw-bold ">ch003,通道3</p>\
|
|
<div>\
|
|
<div>\
|
|
- <p class="text-center">'+ obj2[i].tower_data.Moter[2].Vrms + ',' + obj2[i].tower_data.Moter[2].CV+'</p>\
|
|
|
|
|
|
+ <p class="text-center">'+ obj2[i].tower_data.Moter[2].Vrms + ',' + obj2[i].tower_data.Moter[2].CV + '</p>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
<div class="card col-lg-5">\
|
|
<div class="card col-lg-5">\
|
|
<p class="fw-bold ">ch004,通道4</p>\
|
|
<p class="fw-bold ">ch004,通道4</p>\
|
|
<div>\
|
|
<div>\
|
|
- <p class="text-center">'+ obj2[i].tower_data.Moter[3].Vrms + ',' + obj2[i].tower_data.Moter[3].CV+'</p>\
|
|
|
|
|
|
+ <p class="text-center">'+ obj2[i].tower_data.Moter[3].Vrms + ',' + obj2[i].tower_data.Moter[3].CV + '</p>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
@@ -208,13 +208,13 @@ function tower_info(tower_str){
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
</div>';
|
|
</div>';
|
|
- console.log(obj2[i].tower_data.Moter[3].Vrms);
|
|
|
|
|
|
+ console.log(obj2[i].tower_data.Moter[3].Vrms);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
document.getElementById("tower_info").innerHTML = inner;
|
|
document.getElementById("tower_info").innerHTML = inner;
|
|
console.log(inner);
|
|
console.log(inner);
|
|
get_tower_perfrom('dev001');
|
|
get_tower_perfrom('dev001');
|
|
-
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
//document就是這html文件。
|
|
//document就是這html文件。
|
|
@@ -222,100 +222,100 @@ function tower_info(tower_str){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-function start(){
|
|
|
|
- companySelect=document.getElementById("company-list");
|
|
|
|
- factorySelect=document.getElementById("factory-list");
|
|
|
|
- departmentSelect=document.getElementById("department-list");
|
|
|
|
- towerGroupSelect=document.getElementById("towerGroup-list");
|
|
|
|
- var inner='';
|
|
|
|
|
|
+function start() {
|
|
|
|
+ companySelect = document.getElementById("company-list");
|
|
|
|
+ factorySelect = document.getElementById("factory-list");
|
|
|
|
+ departmentSelect = document.getElementById("department-list");
|
|
|
|
+ towerGroupSelect = document.getElementById("towerGroup-list");
|
|
|
|
+ var inner = '';
|
|
var company_arr = new Array();
|
|
var company_arr = new Array();
|
|
-
|
|
|
|
- for(var i=0;i<obj.length;i++){
|
|
|
|
- if(company_arr.indexOf(obj[i].company)==-1 && obj[i].able==1){
|
|
|
|
- inner=inner+'<option value="'+obj[i].company+'">公司'+obj[i].company+'</option>';
|
|
|
|
|
|
+
|
|
|
|
+ for (var i = 0; i < obj.length; i++) {
|
|
|
|
+ if (company_arr.indexOf(obj[i].company) == -1 && obj[i].able == 1) {
|
|
|
|
+ inner = inner + '<option value="' + obj[i].company + '">公司' + obj[i].company + '</option>';
|
|
company_arr.push(obj[i].company);
|
|
company_arr.push(obj[i].company);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
//innerHTML 賦值inner給這element屬性
|
|
//innerHTML 賦值inner給這element屬性
|
|
- companySelect.innerHTML=inner;
|
|
|
|
|
|
+ companySelect.innerHTML = inner;
|
|
}
|
|
}
|
|
//製造一個字串,以html的語法填入院的陣列
|
|
//製造一個字串,以html的語法填入院的陣列
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function onChangeColumn1() {
|
|
function onChangeColumn1() {
|
|
- companySelect=document.getElementById("company-list");
|
|
|
|
- factorySelect=document.getElementById("factory-list");
|
|
|
|
- departmentSelect=document.getElementById("department-list");
|
|
|
|
- towerGroupSelect=document.getElementById("towerGroup-list");
|
|
|
|
- factorySelect.innerHTML='';
|
|
|
|
|
|
+ companySelect = document.getElementById("company-list");
|
|
|
|
+ factorySelect = document.getElementById("factory-list");
|
|
|
|
+ departmentSelect = document.getElementById("department-list");
|
|
|
|
+ towerGroupSelect = document.getElementById("towerGroup-list");
|
|
|
|
+ factorySelect.innerHTML = '';
|
|
let factory_arr = new Array();
|
|
let factory_arr = new Array();
|
|
let factory_inner = '';
|
|
let factory_inner = '';
|
|
- for(var i=0;i<obj.length;i++){
|
|
|
|
-
|
|
|
|
- if( companySelect.value == obj[i].company){
|
|
|
|
- if(factory_arr.indexOf(obj[i].factory)==-1 && obj[i].able==1){
|
|
|
|
- factory_inner=factory_inner+'<option value="'+obj[i].factory+'">廠區'+obj[i].factory+'</option>';
|
|
|
|
|
|
+ for (var i = 0; i < obj.length; i++) {
|
|
|
|
+
|
|
|
|
+ if (companySelect.value == obj[i].company) {
|
|
|
|
+ if (factory_arr.indexOf(obj[i].factory) == -1 && obj[i].able == 1) {
|
|
|
|
+ factory_inner = factory_inner + '<option value="' + obj[i].factory + '">廠區' + obj[i].factory + '</option>';
|
|
factory_arr.push(obj[i].factory);
|
|
factory_arr.push(obj[i].factory);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//alert(companySelect.value);
|
|
//alert(companySelect.value);
|
|
}
|
|
}
|
|
-
|
|
|
|
- factorySelect.innerHTML=factory_inner;
|
|
|
|
|
|
+
|
|
|
|
+ factorySelect.innerHTML = factory_inner;
|
|
}
|
|
}
|
|
|
|
|
|
function onChangeColumn2() {
|
|
function onChangeColumn2() {
|
|
- companySelect=document.getElementById("company-list");
|
|
|
|
- factorySelect=document.getElementById("factory-list");
|
|
|
|
- departmentSelect=document.getElementById("department-list");
|
|
|
|
- towerGroupSelect=document.getElementById("towerGroup-list");
|
|
|
|
- departmentSelect.innerHTML='';
|
|
|
|
|
|
+ companySelect = document.getElementById("company-list");
|
|
|
|
+ factorySelect = document.getElementById("factory-list");
|
|
|
|
+ departmentSelect = document.getElementById("department-list");
|
|
|
|
+ towerGroupSelect = document.getElementById("towerGroup-list");
|
|
|
|
+ departmentSelect.innerHTML = '';
|
|
let department_arr = new Array();
|
|
let department_arr = new Array();
|
|
let department_inner = '';
|
|
let department_inner = '';
|
|
- for(var i=0;i<obj.length;i++){
|
|
|
|
- if( companySelect.value == obj[i].company && factorySelect.value == obj[i].factory){
|
|
|
|
- if(department_arr.indexOf(obj[i].department)==-1 && obj[i].able==1){
|
|
|
|
- department_inner=department_inner+'<option value="'+obj[i].department+'">課'+obj[i].department+'</option>';
|
|
|
|
|
|
+ for (var i = 0; i < obj.length; i++) {
|
|
|
|
+ if (companySelect.value == obj[i].company && factorySelect.value == obj[i].factory) {
|
|
|
|
+ if (department_arr.indexOf(obj[i].department) == -1 && obj[i].able == 1) {
|
|
|
|
+ department_inner = department_inner + '<option value="' + obj[i].department + '">課' + obj[i].department + '</option>';
|
|
department_arr.push(obj[i].department);
|
|
department_arr.push(obj[i].department);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
- document.getElementById("department-list").innerHTML=department_inner;
|
|
|
|
|
|
+ document.getElementById("department-list").innerHTML = department_inner;
|
|
}
|
|
}
|
|
|
|
|
|
function onChangeColumn3() {
|
|
function onChangeColumn3() {
|
|
- companySelect=document.getElementById("company-list");
|
|
|
|
- factorySelect=document.getElementById("factory-list");
|
|
|
|
- departmentSelect=document.getElementById("department-list");
|
|
|
|
- towerGroupSelect=document.getElementById("towerGroup-list");
|
|
|
|
- towerGroupSelect.innerHTML='';
|
|
|
|
|
|
+ companySelect = document.getElementById("company-list");
|
|
|
|
+ factorySelect = document.getElementById("factory-list");
|
|
|
|
+ departmentSelect = document.getElementById("department-list");
|
|
|
|
+ towerGroupSelect = document.getElementById("towerGroup-list");
|
|
|
|
+ towerGroupSelect.innerHTML = '';
|
|
let towerGroup_inner = '';
|
|
let towerGroup_inner = '';
|
|
- for(var i=0;i<obj.length;i++){
|
|
|
|
- if( companySelect.value == obj[i].company && factorySelect.value == obj[i].factory && departmentSelect.value == obj[i].department){
|
|
|
|
- if( obj[i].able==1){
|
|
|
|
- for(var ii=0;ii<obj[i].group.length;ii++){
|
|
|
|
- towerGroup_inner=towerGroup_inner+'<option value="'+obj[i].group[ii]+'">機組'+obj[i].group[ii]+'</option>';
|
|
|
|
|
|
+ for (var i = 0; i < obj.length; i++) {
|
|
|
|
+ if (companySelect.value == obj[i].company && factorySelect.value == obj[i].factory && departmentSelect.value == obj[i].department) {
|
|
|
|
+ if (obj[i].able == 1) {
|
|
|
|
+ for (var ii = 0; ii < obj[i].group.length; ii++) {
|
|
|
|
+ towerGroup_inner = towerGroup_inner + '<option value="' + obj[i].group[ii] + '">機組' + obj[i].group[ii] + '</option>';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
- document.getElementById("towerGroup-list").innerHTML= towerGroup_inner;
|
|
|
|
|
|
+ document.getElementById("towerGroup-list").innerHTML = towerGroup_inner;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-function get_tower_perfrom(tower_id){
|
|
|
|
|
|
+function get_tower_perfrom(tower_id) {
|
|
|
|
|
|
var xhr3 = new XMLHttpRequest();
|
|
var xhr3 = new XMLHttpRequest();
|
|
- var url3 = "tower/performance/"+tower_id;
|
|
|
|
|
|
+ var url3 = "tower/performance/" + tower_id;
|
|
console.log("sss");
|
|
console.log("sss");
|
|
- obj3="";
|
|
|
|
- xhr3.open("GET",url3);
|
|
|
|
- xhr3.onload = function(){
|
|
|
|
|
|
+ obj3 = "";
|
|
|
|
+ xhr3.open("GET", url3);
|
|
|
|
+ xhr3.onload = function () {
|
|
obj3 = JSON.parse(xhr3.responseText);
|
|
obj3 = JSON.parse(xhr3.responseText);
|
|
console.log(obj3);
|
|
console.log(obj3);
|
|
tower_perform_show(obj3);
|
|
tower_perform_show(obj3);
|
|
@@ -324,42 +324,182 @@ function get_tower_perfrom(tower_id){
|
|
xhr3.send();
|
|
xhr3.send();
|
|
}
|
|
}
|
|
|
|
|
|
-function tower_perform_show(obj_tmp){
|
|
|
|
- inner = "設計條件<br>" +
|
|
|
|
- "水流量: " + obj_tmp[0].designWFR + "<br>" +
|
|
|
|
- "風車馬力: " + obj_tmp[0].designHP + "<br>" +
|
|
|
|
- "額定電流: " + obj_tmp[0].designCurrent + "<br>" +
|
|
|
|
- "入水溫度: " + obj_tmp[0].designHWT + "<br>" +
|
|
|
|
- "出水溫度: " + obj_tmp[0].designCWT + "<br>" +
|
|
|
|
- "濕求溫度: " + obj_tmp[0].designWBT + "<br>" +
|
|
|
|
- "測試狀態<br> " +
|
|
|
|
- "水流量: " + obj_tmp[0].testWFR + "<br>" +
|
|
|
|
- "風車馬力: " + obj_tmp[0].testBHP + "<br>" +
|
|
|
|
- "運轉電流: " + obj_tmp[0].testCurrent + "<br>" +
|
|
|
|
- "入水溫度: " + obj_tmp[0].testHWT + "<br>" +
|
|
|
|
- "出水溫度: " + obj_tmp[0].testCorrectCWT + "<br>" +
|
|
|
|
- "濕球溫度: " + obj_tmp[0].testWBT + "<br>" +
|
|
|
|
- "風速: " + obj_tmp[0].testWindSpeed + "<br>" +
|
|
|
|
- "補充水量: " + obj_tmp[0].testMakeupWFR + "<br>" +
|
|
|
|
- "補充水溫: " + obj_tmp[0].testMakeupCWT + "<br>" +
|
|
|
|
- "CORRECT CWT: " + obj_tmp[0].testCorrectCWT + "<br>" +
|
|
|
|
- "COLLING RANGE: " + obj_tmp[0].testCoolingRange + "<br>" ;
|
|
|
|
-
|
|
|
|
- document.getElementById('tower_perfrom').innerHTML=inner;
|
|
|
|
|
|
+function tower_perform_show(obj_tmp) {
|
|
|
|
+ inner = "<div class='card mt-5'><div class='row'>\
|
|
|
|
+ <div class='col-lg-6'>\
|
|
|
|
+ <h1><i style='color:#0174c7;' class='fas fa-tachometer-alt me-2'></i>設計條件</h1>\
|
|
|
|
+ </div>\
|
|
|
|
+ <div class='col-lg-6'>\
|
|
|
|
+ <h1><i style='color:#0174c7;' class='fas fa-cogs me-2'></i>測試狀態</h1>\
|
|
|
|
+ </div>\
|
|
|
|
+ <div>\
|
|
|
|
+ <div class='row px-0 mx-0'>\
|
|
|
|
+ <div class='col-lg-6'>\
|
|
|
|
+ <table style='font-size:16px;' class='table'>\
|
|
|
|
+ <thead>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <th scope='col'>數據名稱</th>\
|
|
|
|
+ <th scope='col'>值</th>\
|
|
|
|
+ <th scope='col'>單位</th>\
|
|
|
|
+ </tr>\
|
|
|
|
+ </thead>\
|
|
|
|
+ <tbody>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>水流量</td>\
|
|
|
|
+ <td>" + obj_tmp[0].designWFR + "</td>\
|
|
|
|
+ <td>M³/H</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>風車馬力</td>\
|
|
|
|
+ <td>" + obj_tmp[0].designHP + "</td>\
|
|
|
|
+ <td>mm/s</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>額定電流</td>\
|
|
|
|
+ <td>" + obj_tmp[0].designCurrent + "</td>\
|
|
|
|
+ <td>A</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>入水溫度</td>\
|
|
|
|
+ <td>" + obj_tmp[0].designHWT + "</td>\
|
|
|
|
+ <td>°C</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>出水溫度</td>\
|
|
|
|
+ <td>" + obj_tmp[0].designCWT + "</td>\
|
|
|
|
+ <td>°C</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>濕求溫度</td>\
|
|
|
|
+ <td>" + obj_tmp[0].designWBT + "</td>\
|
|
|
|
+ <td>°C</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ </tbody>\
|
|
|
|
+ </table>\
|
|
|
|
+ </div>\
|
|
|
|
+ <div class='col-lg-6'>\
|
|
|
|
+ <table style='font-size:16px;' class='table'>\
|
|
|
|
+ <thead>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <th scope='col'>數據名稱</th>\
|
|
|
|
+ <th scope='col'>值</th>\
|
|
|
|
+ <th scope='col'>單位</th>\
|
|
|
|
+ </tr>\
|
|
|
|
+ </thead>\
|
|
|
|
+ <tbody>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>水流量</td>\
|
|
|
|
+ <td>" + obj_tmp[0].testWFR + "</td>\
|
|
|
|
+ <td>M³/H</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>風車馬力</td>\
|
|
|
|
+ <td> " + obj_tmp[0].testBHP + "</td>\
|
|
|
|
+ <td>mm/s</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>運轉電流</td>\
|
|
|
|
+ <td>" + obj_tmp[0].testCurrent + "</td>\
|
|
|
|
+ <td>A</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>入水溫度</td>\
|
|
|
|
+ <td>" + obj_tmp[0].testHWT + "</td>\
|
|
|
|
+ <td>°C</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>出水溫度</td>\
|
|
|
|
+ <td>" + obj_tmp[0].testCorrectCWT + "</td>\
|
|
|
|
+ <td>°C</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>濕求溫度</td>\
|
|
|
|
+ <td>" + obj_tmp[0].testWBT + "</td>\
|
|
|
|
+ <td>°C</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>風速</td>\
|
|
|
|
+ <td>" + obj_tmp[0].testWindSpeed + "</td>\
|
|
|
|
+ <td>°C</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>補充水量</td>\
|
|
|
|
+ <td>" + obj_tmp[0].testMakeupWFR + "</td>\
|
|
|
|
+ <td>°C</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>補充水溫</td>\
|
|
|
|
+ <td>" + obj_tmp[0].testMakeupCWT + "</td>\
|
|
|
|
+ <td>°C</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>CORRECT CWT</td>\
|
|
|
|
+ <td> " + obj_tmp[0].testCorrectCWT + "</td>\
|
|
|
|
+ <td>°C</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ <tr>\
|
|
|
|
+ <td>COLLING RANGE</td>\
|
|
|
|
+ <td> " + obj_tmp[0].testCoolingRange + "</td>\
|
|
|
|
+ <td>°C</td>\
|
|
|
|
+ </tr>\
|
|
|
|
+ </tbody>\
|
|
|
|
+ </table>\
|
|
|
|
+ </div>\
|
|
|
|
+ </div>\
|
|
|
|
+ </div>\
|
|
|
|
+ </div>" ;
|
|
|
|
+ // "測試狀態<br> " +
|
|
|
|
+ // "水流量: " + obj_tmp[0].testWFR + "<br>" +
|
|
|
|
+ // "風車馬力: " + obj_tmp[0].testBHP + "<br>" +
|
|
|
|
+ // "運轉電流: " + obj_tmp[0].testCurrent + "<br>" +
|
|
|
|
+ // "入水溫度: " + obj_tmp[0].testHWT + "<br>" +
|
|
|
|
+ // "出水溫度: " + obj_tmp[0].testCorrectCWT + "<br>" +
|
|
|
|
+ // "濕球溫度: " + obj_tmp[0].testWBT + "<br>" +
|
|
|
|
+ // "風速: " + obj_tmp[0].testWindSpeed + "<br>" +
|
|
|
|
+ // "補充水量: " + obj_tmp[0].testMakeupWFR + "<br>" +
|
|
|
|
+ // "補充水溫: " + obj_tmp[0].testMakeupCWT + "<br>" +
|
|
|
|
+ // "CORRECT CWT: " + obj_tmp[0].testCorrectCWT + "<br>" +
|
|
|
|
+ // "COLLING RANGE: " + obj_tmp[0].testCoolingRange + "<br>";
|
|
|
|
+
|
|
|
|
+ document.getElementById('tower_perfrom').innerHTML = inner;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+// function tower_perform_show(obj_tmp){
|
|
|
|
+// inner = "設計條件<br>" +
|
|
|
|
+// "水流量: " + obj_tmp[0].designWFR + "<br>" +
|
|
|
|
+// "風車馬力: " + obj_tmp[0].designHP + "<br>" +
|
|
|
|
+// "額定電流: " + obj_tmp[0].designCurrent + "<br>" +
|
|
|
|
+// "入水溫度: " + obj_tmp[0].designHWT + "<br>" +
|
|
|
|
+// "出水溫度: " + obj_tmp[0].designCWT + "<br>" +
|
|
|
|
+// "濕求溫度: " + obj_tmp[0].designWBT + "<br>" +
|
|
|
|
+// "測試狀態<br> " +
|
|
|
|
+// "水流量: " + obj_tmp[0].testWFR + "<br>" +
|
|
|
|
+// "風車馬力: " + obj_tmp[0].testBHP + "<br>" +
|
|
|
|
+// "運轉電流: " + obj_tmp[0].testCurrent + "<br>" +
|
|
|
|
+// "入水溫度: " + obj_tmp[0].testHWT + "<br>" +
|
|
|
|
+// "出水溫度: " + obj_tmp[0].testCorrectCWT + "<br>" +
|
|
|
|
+// "濕球溫度: " + obj_tmp[0].testWBT + "<br>" +
|
|
|
|
+// "風速: " + obj_tmp[0].testWindSpeed + "<br>" +
|
|
|
|
+// "補充水量: " + obj_tmp[0].testMakeupWFR + "<br>" +
|
|
|
|
+// "補充水溫: " + obj_tmp[0].testMakeupCWT + "<br>" +
|
|
|
|
+// "CORRECT CWT: " + obj_tmp[0].testCorrectCWT + "<br>" +
|
|
|
|
+// "COLLING RANGE: " + obj_tmp[0].testCoolingRange + "<br>" ;
|
|
|
|
+
|
|
|
|
+// document.getElementById('tower_perfrom').innerHTML=inner;
|
|
|
|
+
|
|
|
|
+// }
|
|
|
|
|
|
get_predict();
|
|
get_predict();
|
|
-function get_predict(){
|
|
|
|
|
|
+function get_predict() {
|
|
var xhr = new XMLHttpRequest();
|
|
var xhr = new XMLHttpRequest();
|
|
var url = "channel_predict/dev001/ch01";
|
|
var url = "channel_predict/dev001/ch01";
|
|
- obj3="";
|
|
|
|
|
|
+ obj3 = "";
|
|
|
|
|
|
- xhr.open("GET",url);
|
|
|
|
- xhr.onload = function(){
|
|
|
|
|
|
+ xhr.open("GET", url);
|
|
|
|
+ xhr.onload = function () {
|
|
obj3 = JSON.parse(xhr.responseText);
|
|
obj3 = JSON.parse(xhr.responseText);
|
|
labels = new Array();
|
|
labels = new Array();
|
|
- for(var i=0;i<obj3.data.length;i++){
|
|
|
|
|
|
+ for (var i = 0; i < obj3.data.length; i++) {
|
|
labels.push(i);
|
|
labels.push(i);
|
|
}
|
|
}
|
|
console.log(obj3)
|
|
console.log(obj3)
|
|
@@ -371,35 +511,36 @@ function get_predict(){
|
|
backgroundColor: "#ea464d",
|
|
backgroundColor: "#ea464d",
|
|
borderColor: "#ea464d",
|
|
borderColor: "#ea464d",
|
|
borderWidth: 5,
|
|
borderWidth: 5,
|
|
- data:obj3.data, // 資料
|
|
|
|
|
|
+ data: obj3.data, // 資料
|
|
fill: false, // 是否填滿色彩
|
|
fill: false, // 是否填滿色彩
|
|
},]
|
|
},]
|
|
};
|
|
};
|
|
var ctx = document.getElementById("channel_predict").getContext("2d");
|
|
var ctx = document.getElementById("channel_predict").getContext("2d");
|
|
- drawLineCanvas(ctx,Data);
|
|
|
|
|
|
+ drawLineCanvas(ctx, Data);
|
|
};
|
|
};
|
|
xhr.send();
|
|
xhr.send();
|
|
}
|
|
}
|
|
-function drawLineCanvas(ctx,data) {
|
|
|
|
|
|
+function drawLineCanvas(ctx, data) {
|
|
window.myLine = new Chart(ctx, { //先建立一個 chart
|
|
window.myLine = new Chart(ctx, { //先建立一個 chart
|
|
type: 'line', // 型態
|
|
type: 'line', // 型態
|
|
data: data,
|
|
data: data,
|
|
|
|
+ showSymbol:false,
|
|
options: {
|
|
options: {
|
|
- responsive: true,
|
|
|
|
- legend: { //是否要顯示圖示
|
|
|
|
- display: true,
|
|
|
|
- },
|
|
|
|
- tooltips: { //是否要顯示 tooltip
|
|
|
|
- enabled: true
|
|
|
|
- },
|
|
|
|
- scales: { //是否要顯示 x、y 軸
|
|
|
|
- xAxes: [{
|
|
|
|
- display: true
|
|
|
|
- }],
|
|
|
|
- yAxes: [{
|
|
|
|
- display: true
|
|
|
|
- }]
|
|
|
|
- },
|
|
|
|
- }
|
|
|
|
|
|
+ responsive: true,
|
|
|
|
+ legend: { //是否要顯示圖示
|
|
|
|
+ display: true,
|
|
|
|
+ },
|
|
|
|
+ tooltips: { //是否要顯示 tooltip
|
|
|
|
+ enabled: true
|
|
|
|
+ },
|
|
|
|
+ scales: { //是否要顯示 x、y 軸
|
|
|
|
+ xAxes: [{
|
|
|
|
+ display: true
|
|
|
|
+ }],
|
|
|
|
+ yAxes: [{
|
|
|
|
+ display: true
|
|
|
|
+ }]
|
|
|
|
+ },
|
|
|
|
+ }
|
|
});
|
|
});
|
|
};
|
|
};
|