MCUT_Supervisor/N4JS/js/Device_menu.js
2025-03-26 10:38:33 +08:00

1034 lines
40 KiB
JavaScript

var buildtofloor;
var AllFloorsBool = false;//全選按鈕狀態
//var Disaster;
var selectdisaster;//選擇的防災
var selectbuilding;//選擇的棟別
var SelectFloorArray = new Array(0);//選擇的樓層
var AllSelectFloorArray = new Array(0);//全選的樓層
var SelectAlarm = false;
var table;
var reldata;
// = JSON.parse(localStorage.getItem('emergency_alarm_device_number'));
var Allgroupidlist = new Array(0);
var Allgroupingbool = false;
var EmergencyContact;
var EmerNowsetting;
var Historytable;
var SimulationExerciseGuid;
var SelectMemberDepart = new Array(0);
var de_number;
var current_devices = new Array(0);
var GetDeviceGroupResult;//Api打回來的結果
var GetBuildings;//Building
var GetFloors;
var Setsystem = new Array(0);
var SetLayer3 = new Array(0);
var Selectsys;//選擇的大類
var SelectLayer3;//選擇的小類
var newdata = new Array(0);
var datatable;
var myBaja;
$(function () {
//myBaja = new MyBaja();
//myBaja.setMyUserAccount(myUser);
//myBaja.setEmergencyCallBack(calljson);
setInterval(function () { makeTable() }, 3000);
$('#mainTitle').html('<div class="subheader">'+'<h1 class="subheader-title"><span class="fal fa-bell mr-1"></span> 緊急應變 - 設備總覽</h1> </div>' );
//棟別
$.ajax({
url: baseApiUrl + 'api/EmergencyDevice/GetDeviceGroup',
data: "",
type: 'POST',
dataType: 'json',
success: function (rel, statut) {
console.log(rel);
GetDeviceGroupResult = rel.data;
$('#disaster').empty();
var html = "防災類別 ";
GetDeviceGroupResult.forEach(function (element, i) {
if (i == 0) {
html += '<button type="button" class="btn btn-success ml-2" onclick="SelectDisaster(' + element.value + ',this)">' + element.name + '</button>';
}
else {
html += '<button type="button" class="btn btn-secondary ml-2" onclick="SelectDisaster(' + element.value + ',this)">' + element.name + '</button>';
}
})
html += '<button type="button" class="btn btn-secondary ml-auto" onclick="OnSimulationExercise(``,1)">' + '模擬演練' + '</button>';
$('#disaster').append(html);
$('#disaster').find('.btn-success').click();
}
});
})
function myUser(account){
}
function calljson(jsonlist = [] ) {
// json = new Array(0);
// json = JSON.parse(localStorage.getItem('emergency_alarm_device_number'));
json = jsonlist;
console.log(jsonlist);
makeTable();
}
function EmergencyContact() {
var send_data = {
selectgroupidlist: SelectMemberDepart
};
$.ajax({
url: baseApiUrl + "api/EmergencyDevice/EmergencyContactTable",
data: send_data,
type: 'POST',
dataType: 'json',
success: function (rel, statut) {
if (rel.code == "9999") {
console.log(rel.msg);
return;
}
var data = rel.data.data;
if (data == null || data.length == 0) {
data = [];
}
var tablehtml = "";
tablehtml += '<table class="table table-bordered m-0" id="membertable">';
tablehtml += '<thead class="thead-themed">';
tablehtml += '<tr>';
tablehtml += '<th>姓名</th><th>部門</th><th>電話</th><th>LineID</th><th>Email</th></tr></thead><tbody></tbody></table>';
console.log(data);
$('#membertablediv').empty();
$('#membertablediv').append(tablehtml);
var newda = new Array(0);
data.forEach(function (element, i) {
var newoneda = new Array(0);
newoneda.push(element.full_name);
newoneda.push(element.departmentName);
newoneda.push(element.phone);
newoneda.push(element.lineid);
newoneda.push(element.email);
newda.push(newoneda);
})
var membertable = new simpleDatatables.DataTable('#membertable', {
searchable: false,
perPage: 5,
data: {
"data": newda
}
});
$('#membertablediv').parent().parent().find('.dataTable-top').empty();
}
});
}
//取樓層
function SetFloors(buildguid, e) {
selectbuilding = buildguid
AllFloorsBool = false;
SelectFloorArray = [];
AllSelectFloorArray = [];
$(e).parent().find('.btn-success').removeClass('btn-success').addClass('btn-secondary');
$(e).removeClass('btn-secondary').addClass('btn-success');
$('#floors').empty();
var html = "樓層 ";
html += '<button type="button" class="btn btn-secondary ml-2 allbutton" onclick="AllFloors()">全選</button>';
html += '<div class="col-10 pl-2">';
console.log(GetBuildings);
GetBuildings.groupBuildings.filter(function (n, i) {
if (String(n.guid) === String(buildguid)) {
GetFloors = n;
//GetBuildings = n;
n.groupFloors.forEach(function (element, i) {
AllSelectFloorArray.push(element.guid);
html += '<button type="button" class="col-1 btn btn-outline-success ml-2 mb-2" onclick="SelectFloors(\'' + element.guid + '\',this)">' + element.name + '</button>';
});
}
});
html += '</div >';
$('#floors').append(html);
$('#floors').find('.allbutton').click();
//table.ajax.reload();
}
function HistoryTable() {
var send_data = {
eventguid: SimulationExerciseGuid
};
$.ajax({
url: baseApiUrl + "api/EmergencyDevice/Dohistorytotable",
data: send_data,
type: 'POST',
dataType: 'json',
success: function (rel, statut) {
if (rel.code == "9999") {
console.log(rel.msg);
return;
}
var data = rel.data.data;
if (data == null || data.length == 0) {
data = [];
} else {
$.each(data, function (index, value) {
if (value.finished == 0) {
value.finished = "未執行";
} else if (value.finished == 1) {
value.finished = "完成";
} else if (value.finished == 2) {
value.finished = "不執行";
if (value.reason != null) {
value.finished += "-" + value.reason;
}
}
if (value.updated_at == "0001-01-01 00:00:00") {
value.updated_at = "";
}
})
};
var tablehtml = "";
tablehtml += '<table class="table table-bordered m-0" id="dohistorytable">';
tablehtml += '<thead class="thead-themed">';
tablehtml += '<tr>';
tablehtml += '<th>項目</th><th>步驟</th><th>結果</th><th>時間</th></tr></thead><tbody></tbody></table>';
$('#dohistorytablediv').empty();
$('#dohistorytablediv').append(tablehtml);
var newda = new Array(0);
data.forEach(function (element, i) {
var newoneda = new Array(0);
newoneda.push(element.big_setting);
newoneda.push(element.step_setting);
newoneda.push(element.finished);
newoneda.push(element.updated_at);
newda.push(newoneda);
})
var hisdatatable = new simpleDatatables.DataTable('#dohistorytable', {
searchable: false,
perPage: 5,
columns: [{
select: 3,
sort: "desc",
}],
data: {
"data": newda
}
});
$('#dohistorytablediv').parent().parent().find('.dataTable-top').empty();
}
});
}
//樓層全選
function AllFloors() {
newdata = new Array(0);
if (AllFloorsBool) {
$('#floors').find('.btn-success').removeClass('btn-success').addClass('btn-outline-success');
SelectFloorArray = [];
AllFloorsBool = false;
}
else {
$('#floors').find('.btn-outline-success').removeClass('btn-outline-success').addClass('btn-success');
SelectFloorArray = AllSelectFloorArray;
AllFloorsBool = true;
}
Devicetable();
FloortoMakeSys();
//table.ajax.reload();
}
//選擇災害
function SelectDisaster(disaster, e) {
$(e).parent().find('.btn-success').removeClass('btn-success').addClass('btn-secondary');
$(e).removeClass('btn-secondary').addClass('btn-success');
selectdisaster = disaster;
$('#building').empty();
var html = "棟別 ";
GetDeviceGroupResult.filter(function (n, i) {
if (String(n.value) === String(disaster)) {
GetBuildings = n;
n.groupBuildings.forEach(function (element, i) {
if (i == 0) {
html += '<button type="button" class="btn btn-success ml-2" onclick="SetFloors(\'' + element.guid + '\',this)">' + element.name + '</button>';
} else {
html += '<button type="button" class="btn btn-secondary ml-2 " onclick="SetFloors(\'' + element.guid + '\',this)">' + element.name + '</button>';
}
});
}
});
$('#building').append(html);
$('#building').find('.btn-success').click();
//table.ajax.reload();
}
//選擇樓層
function SelectFloors(floorguid, e) {
newdata = new Array(0);
if ($(e).hasClass("btn-outline-success")) {
$(e).removeClass("btn-outline-success").addClass("btn-success");
SelectFloorArray.push(floorguid);
} else if ($(e).hasClass("btn-success")) {
$(e).removeClass("btn-success").addClass("btn-outline-success");
var a = SelectFloorArray.filter(function (n, i) {
if (n === floorguid) {
SelectFloorArray.splice(i, 1);
}
});
}
Devicetable();
FloortoMakeSys();
//table.ajax.reload();
}
function FloortoMakeSys() {
Setsystem = [];
$('#system').empty();
$('#layer3').empty();
var html = "設備小類 ";
$('#layer3').append(html);
html = "設備大類 ";
html += '<a href="javascript:void(0);" onclick="GetAlarm(this)">'
html += '<div class="btn-group mb-2 mr-2">';
html += '<button type="button" class="btn btn-success ml-2 " >報警設備</button>';
html += '<button type="button" class="btn btn-success edit jsonlenght" >0</button>';
html += '</div>';
html += '</a>';
SelectFloorArray.forEach(function (element, i) {
GetFloors.groupFloors.filter(function (n, fi) {
if (String(element) === String(n.guid)) {
n.groupLayer2s.forEach(function (elements, is) {
var count = 0;
elements.groupLayer3s.forEach(function name(el, index) {
count += el.device_amount;
})
var onesys =
{
name: elements.name,
value: elements.value,
count: count
};
var booly = true;
Setsystem.findIndex(function ($el) {
if (onesys.value === $el.value) {
$el.count += onesys.count
booly = false;
}
})
if (booly) {
Setsystem.push(onesys);
}
});
};
})
})
Setsystem.forEach(function (element, i) {
if (i == 0) {
html += '<a href="javascript:void(0);" onclick="Setlayer3(\'' + element.value + '\',this)">'
html += '<div class="btn-group mb-2 mr-2">';
html += '<button type="button" class="btn btn-success ml-2 btfirst" >' + element.name + '</button>';
html += '<button type="button" class="btn btn-success edit" >' + element.count + '</button>';
html += '</div>';
html += '</a>';
}
else {
html += '<a href="javascript:void(0);" onclick="Setlayer3(\'' + element.value + '\',this)">'
html += '<div class="btn-group mb-2 mr-2">';
html += '<button type="button" class="btn btn-secondary ml-2 " >' + element.name + '</button>';
html += '<button type="button" class="btn btn-secondary edit" >' + element.count + '</button>';
html += '</div>';
html += '</a>';
}
});
$('#system').append(html);
$('#system').find('.btfirst').first().parent().parent().click();
}
function Setlayer3(systemValue, e) {
Selectsys = systemValue;
$(e).parent().find('.btn-success').removeClass('btn-success').addClass('btn-secondary');
$(e).find('.btn-secondary').removeClass('btn-secondary').addClass('btn-success');
//$(e).find('.btn-secondary').removeClass('btn-success')
$('#layer3').empty();
SetLayer3 = [];
SelectFloorArray.forEach(function (element, i) {
GetFloors.groupFloors.filter(function (n, fi) {
if (String(element) === String(n.guid)) {
n.groupLayer2s.filter(
function (el, fi) {
if (el.value === systemValue) {
el.groupLayer3s.forEach(function (layer3ele, layerind) {
var layer3one =
{
name: layer3ele.name,
value: layer3ele.value,
count: layer3ele.device_amount
};
var booly = true;
SetLayer3.findIndex(function ($el) {
if (layer3one.value === $el.value) {
$el.count += layer3one.count
booly = false;
}
})
if (booly) {
SetLayer3.push(layer3one);
}
})
}
}
)
}
})
})
var html = '設備小類 ';
SetLayer3.forEach(function (element, i) {
if (i == 0) {
html += '<a href="javascript:void(0);" onclick="SelectL3(\'' + element.value + '\',this)">'
html += '<div class="btn-group mb-2 mr-2">';
html += '<button type="button" class="btn btn-success ml-2 " >' + element.name + '</button>';
html += '<button type="button" class="btn btn-success edit" >' + element.count + '</button>';
html += '</div>';
html += '</a>';
}
else {
html += '<a href="javascript:void(0);" onclick="SelectL3(\'' + element.value + '\',this)">'
html += '<div class="btn-group mb-2 mr-2">';
html += '<button type="button" class="btn btn-secondary ml-2 " >' + element.name + '</button>';
html += '<button type="button" class="btn btn-secondary edit" >' + element.count + '</button>';
html += '</div>';
html += '</a>';
}
});
$('#layer3').append(html);
$('#layer3').find('.btn-success').first().parent().parent().click();
}
function SelectL3(lay, e) {
SelectLayer3 = lay;
$(e).parent().find('.btn-success').removeClass('btn-success').addClass('btn-secondary');
$(e).find('.btn-secondary').removeClass('btn-secondary').addClass('btn-success');
makeTable();
}
function makeTable() {
var send_data = {
selectdisaster: selectdisaster,
selectbuilding: selectbuilding,
selectFloorArray: SelectFloorArray,
Layer3: SelectLayer3
};
//var cast =
//$('#system').find('.jsonlenght').html(0);
$.ajax({
url: baseApiUrl + 'api/EmergencyDevice',
data: send_data,
type: 'POST',
dataType: 'json',
success: function (rel, statut) {
if (rel.code == "9999") {
console.log(rel);
return;
}
var data = rel.data;
var reldata = [];
var current_devices = [];
if (data == null || data.length == 0) {
this.data = [];
this.reldata = [];
} else {
var cas = 0;
//reldata = data;
data.forEach(element => {
var send_device = {
device_number: element.device_number
};
current_devices.push(send_device);
if(json.length == 0)
{
if(!SelectAlarm)
{
reldata = data;
}
else
{
reldata = [];
}
}
else
{
//reldata = [];
json.filter(function (n, i) {
if(n.device_number === element.device_number)
{
console.log(n.device_number,element.device_number);
cas++;
console.log(cas);
if(n.finish == 1)
{
////console.log(element);
element.alarm_timestamp = n.alarm_timestamp;
element.function = '<button type="button" class="btn btn-danger ml-2 popup-btn" href="#SimulationExercisemodal" onclick="OnSimulationExercise(\''+element.device_guid+'\',0)">啟動SOP</button>'
if(!SelectAlarm)
{
reldata = data;
}
else
{
reldata.push(element);
}
}
else
{
if(!SelectAlarm)
{
reldata = data;
}
}
}
if(i == json.length-1)
{
if(!SelectAlarm && reldata.length==0 )
{
reldata = data;
}
$('#system').find('.jsonlenght').text(cas);
}
})
}
})
}
newdata = new Array(0);
//console.log(data);
var html = '';
reldata.forEach(function (element, i) {
var newonedata = new Array(0);
newonedata.push(element.device_number);
newonedata.push(element.system_key);
newonedata.push(element.floorguid);
newonedata.push(element.floorname);
newonedata.push(element.alarm_timestamp);
newonedata.push(element.function);
newdata.push(newonedata);
})
Devicetable();
}
});
}
function Devicetable() {
var tablehtml = "";
tablehtml += '<table class="table table-bordered table-hover m-0 text-center" id="Device_menu_table">';
tablehtml += '<thead class="thead-themed">';
tablehtml += '<tr>';
tablehtml += '<th>設備編號</th><th>設備類別</th><th>樓層guid</th><th>樓層</th><th>異常時間</th><th>功能</th></tr></thead><tbody></tbody></table>';
$('#datatablediv').empty();
$('#datatablediv').append(tablehtml);
datatable = new simpleDatatables.DataTable('#Device_menu_table', {
searchable: false,
perPage: 10,
columns: [
{ select: 0, render: renderDeviceNumber },
{ select: 2, hidden: true },
{ select: 4, sort: "desc", },
],
headings: ["device_number", "system_key", "floorguid", "floorname", "alarm_timestamp", "function"],
data: {
"data": newdata
}
});
$('#Device_menu_table').parent().parent().find('.dataTable-top').empty();
}
function renderDeviceNumber(data, cell, row) {
return `<a href="javascript:void(0)" data-row-index="${row.dataIndex}" onclick="ChangeFloormap('${data}', '${row.cells[2].data}')">${data}</a>`
}
function ChangeFloormap(device_number, floor_guid) {
$("#iframe-floormap").empty();
$("#iframe-floormap").append(
`<iframe src="./_FloorMap.html?building_guid=${selectbuilding}&floor_guid=${floor_guid}&layer3=${SelectLayer3}&device_number=${device_number}&show_cctv=1" width="100%" height="100%;" scrolling="no"></iframe>`
)
//&device_disaster=${selectdisaster}
}
//全選或是報警
function GetAlarm(e){
if($(e).find('.btn').first().hasClass("btn-success"))
{
SelectAlarm = false;
$(e).find('.btn').removeClass('btn-success').addClass('btn-secondary');
}
else if($(e).find('.btn').first().hasClass("btn-secondary"))
{
SelectAlarm = true;
$(e).find('.btn').removeClass('btn-secondary').addClass('btn-success');
}
makeTable();
}
//SOP
function OnSimulationExercise(guid,type) {
GetbuttonList();
$('#closemodal').attr('disabled', true);
// de_number = $(e).parent().parent().attr('de-number');
var url = baseApiUrl + "api/EmergencyDevice/SaveAndOpenSimulationExercise";
var send_data = {
build: selectbuilding,
disaster: selectdisaster,
type: type,
device: guid
};
$.ajax({
url: url,
data: send_data,
type: 'POST',
dataType: 'json',
success: function (rel, statut) {
if (rel.code != "0000") {
if (rel.code == "9999") {
toast_error(rel.msg);
}
return;
}
else {
SimulationExerciseGuid = rel.data;
$('#tab_content').find('.allbtn').click();
GetBigsetting();
return;
}
}
});
}
//組成頁面
function GetBigsetting() {
var url = baseApiUrl + "api/EmergencyDevice/GetBigsetting";
var send_data = {
disaster: selectdisaster
};
$.ajax({
url: url,
data: send_data,
type: 'POST',
dataType: 'json',
success: function (rel, statut) {
if (rel.code != "0000") {
if (rel.code == "9999") {
toast_error(rel.msg);
}
return;
}
else {
var bigsetting = "";
var smallsetting = "";
$('#bigsetting').empty();
$.each(rel.data, function (index, val) {
//<li class="nav-item"> <a class="nav-link fs-xl py-3 px-5" data-toggle="tab" href="#" role="tab"> <i class="fal fa-check text-success"></i> <span class="hidden-sm-down ml-1 text-secondary">確認與通報</span> </a> </li>
if (index == 0) {
bigsetting += '<li class="nav-item">';
bigsetting += '<a class="nav-link fs-xl py-3 px-5 active" data-toggle="tab" href="#t' + val.value + '_modal" id="t' + val.value + '_tab" onclick="ChangeBigSetting(' + val.value + ')" role="tab">';
bigsetting += '<span class="hidden-sm-down ml-1 text-secondary">';
bigsetting += val.name + '</span > </a > </li >';
smallsetting += '<div class="tab-pane fade show active" id="t' + val.value + '_modal" role="tabpanel" aria-labelledby="' + val.value + '_modal">';
smallsetting += '<div class="row">';
smallsetting += '<div class="pr-2" style="width:38.5%">';
smallsetting += '<div id="panel-1" class="panel">';
smallsetting += '<div class="panel-container show">';
smallsetting += '<div class="panel-content">';
smallsetting += '<ul class="list-group" id="list_' + val.value + '">';
smallsetting += '</ul>';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '<div class="" style="width:61.5%">';
smallsetting += '<div class="panel">';
smallsetting += '<div class="panel-hdr" id="hbr_' + val.value + '">';
smallsetting += '</div>';
smallsetting += '<div class="panel-container show">';
smallsetting += '<div class="panel-content">';
smallsetting += '<div class="panel-tag" id="tag_' + val.value + '">';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '<div class="panel-content py-2 border-faded border-left-0 border-right-0 border-bottom-0 text-muted d-flex justify-content-between" id="button_' + val.value + '">';
smallsetting += '<div class=""><button type="button" class="btn btn-danger waves-effect waves-themed mr-2"> 不通報 </button><input type="text" class=""></div>';
smallsetting += '<div><button type="button" class="btn btn-success waves-effect waves-themed"> 下一步 </button></div>';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '</div>';
} else {
bigsetting += '<li class="nav-item">';
bigsetting += '<a class="nav-link fs-xl py-3 px-5" data-toggle="tab" href="#t' + val.value + '_modal" id="t' + val.value + '_tab" onclick="ChangeBigSetting(' + val.value + ')" role="tab">';
bigsetting += '<span class="hidden-sm-down ml-1 text-secondary">';
bigsetting += val.name + '</span > </a > </li >';
smallsetting += '<div class="tab-pane fade" id="t' + val.value + '_modal" role="tabpanel" aria-labelledby="' + val.value + '_modal">';
smallsetting += '<div class="row">';
smallsetting += '<div class="pr-2" style="width:38.5%">';
smallsetting += '<div id="panel-1" class="panel">';
smallsetting += '<div class="panel-container show">';
smallsetting += '<div class="panel-content">';
smallsetting += '<ul class="list-group" id="list_' + val.value + '">';
smallsetting += '</ul>';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '<div class="" style="width:61.5%">';
smallsetting += '<div class="panel">';
smallsetting += '<div class="panel-hdr" id="hbr_' + val.value + '">';
smallsetting += '</div>';
smallsetting += '<div class="panel-container show">';
smallsetting += '<div class="panel-content">';
smallsetting += '<div class="panel-tag" id="tag_' + val.value + '">';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '<div class="panel-content py-2 border-faded border-left-0 border-right-0 border-bottom-0 text-muted d-flex justify-content-between" id="button_' + val.value + '">';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '</div>';
smallsetting += '</div>';
}
});
//console.log(smallsetting);
$('#bigsetting').append(bigsetting);
$('#small_setting').empty();
$('#small_setting').append(smallsetting);
$.each(rel.data, function (index, val) {
if (index == 0) {
GetEmergencySetting(val.value, true);
} else {
GetEmergencySetting(val.value, false);
}
})
EmergencyContact();
$('#SimulationExercisemodal').show();
// $('#SimulationExercisemodal').modal();
return;
}
}
});
}
//生成左邊按鈕
function GetEmergencySetting(setting, bool) {
var url = baseApiUrl + "api/EmergencyDevice/GetEmergencySetting";
var send_data = {
selectsetting: setting
};
$.ajax({
url: url,
data: send_data,
type: 'POST',
dataType: 'json',
success: function (rel, statut) {
if (rel.code != "0000") {
if (rel.code == "9999") {
toast_error(rel.msg);
}
return;
}
else {
var includeli = "";
$.each(rel.data, function (index, val) {
if (index == 0) {
includeli += '<li class="list-group-item active" id="li_' + val.emergency_guid + '" > <a class="abc" onclick="GetContentAndMakeItem(\'' + val.emergency_guid + '\',this,' + setting + ')" >' + val.full_name + '</a></li>';
} else {
includeli += '<li class="list-group-item" id="li_' + val.emergency_guid + '"> <a class="abc" onclick="GetContentAndMakeItem(\'' + val.emergency_guid + '\',this,' + setting + ')" >' + val.full_name + '</a></li>';
}
});
$('#list_' + setting).append(includeli);
if (bool) {
$('#bigsetting').find('.active').children().trigger('click');
}
}
}
});
}
//小項目,按鈕,大項目 //點選左邊按鈕
function GetContentAndMakeItem(smallsetting, e, setting) {
var FirstNotSend = $('#list_' + EmerNowsetting).children().not('.send').first().attr('id'); //當前要執行的步驟
var touch = $(e).parent().attr('id');//觸碰的按鈕
var has;
if (FirstNotSend == touch) {
has = 1; //true
} else {
has = 0; //false
}
$(e).parent().parent().find('.active').removeClass('active');
$(e).parent().addClass('active');
var url = baseApiUrl + "api/EmergencyDevice/GetContentAndMakeItem";
var send_data = {
emergency_guid: smallsetting,
big_setting: $('#li_' + smallsetting).find('.abc').html(),
step_setting: $('#t' + setting + '_tab').find('.text-secondary').html(),
event_guid: SimulationExerciseGuid,
make_item: has
};
$.ajax({
url: url,
data: send_data,
type: 'POST',
dataType: 'json',
success: function (rel, statut) {
if (rel.code != "0000") {
if (rel.code == "9999") {
toast_error(rel.msg);
}
return;
}
else {
//console.log(rel);
var buttonstr = "";
if (rel.data.not_answer == 1) {
buttonstr += '<div><button type="button" class="btn btn-danger waves-effect waves-themed mr-2" onclick="NextStep(\'' + rel.data.emergency_item_guid + '\',1)"> 不執行 </button>';
buttonstr += '<input type="text" id="text_' + rel.data.emergency_item_guid + '" />';
} else {
buttonstr += '<div><button type="button" class="btn btn-danger waves-effect waves-themed mr-2" onclick="NextStep(\'' + rel.data.emergency_item_guid + '\',2)"> 不執行 </button>';
}
buttonstr += '</div>';
buttonstr += '<div><button type="button" class="btn btn-success waves-effect waves-themed" onclick="NextStep(\'' + rel.data.emergency_item_guid + '\',0)"> 執行 </button></div>';
$('#button_' + setting).empty();
$('#button_' + setting).append(buttonstr);
if (has == 0) {
$('#button_' + setting).find('button').attr('disabled', true);
}
$('#hbr_' + setting).empty();
$('#hbr_' + setting).append('<h2>' + rel.data.full_name + '</h2>');
$('#tag_' + setting).empty();
$('#tag_' + setting).append(rel.data.set_doing);
HistoryTable()
}
}
});
}
//choose:選擇 0:下一步 1:不通報(需要原因) 2:不通報(不用原因)
function NextStep(eventguid, choose) {
var url = baseApiUrl + "api/EmergencyDevice/NextStep";
var send_data = {
eventguid: eventguid,
choose: choose,
reason: $('#text_' + eventguid).val()
};
$.ajax({
url: url,
data: send_data,
type: 'POST',
dataType: 'json',
success: function (rel, statut) {
if (rel.code != "0000") {
if (rel.code == "9999") {
toast_error(rel.msg);
}
return;
}
else {
$('#list_' + EmerNowsetting).find('.active').addClass('send');
//給予完成勾勾
var strnow = $('#list_' + EmerNowsetting).find('.active').find('.abc').html();
$('#list_' + EmerNowsetting).find('.active').find('.abc').html('<i class="fal fa-check text-success"></i>' + strnow);
//找下一個沒有的做動作
var a = $('#list_' + EmerNowsetting).children().not('.send').not('.active').first().attr('id');
//如果沒下一個動作則到下一格大步驟
if (a == undefined) {
strnow = $('#t' + EmerNowsetting + '_tab').find('.text-secondary').html();
$('#t' + EmerNowsetting + '_tab').find('.text-secondary').html('<i class="fal fa-check text-success"></i>' + strnow);
$('#t' + EmerNowsetting + '_tab').addClass('send');
var tablist = $('#t' + EmerNowsetting + '_tab').parent().parent().children().children().not('.send').not('.active').first().attr('id');
//console.log(tablist);
if (tablist == undefined) {
$('#button_' + EmerNowsetting).find('button').attr('disabled', true);
$('#closemodal').attr('disabled', false);
} else {
var lists = '#' + tablist;
//console.log( $(`#bigsetting ${lists}`));
// $(lists).hide();
$('#bigsetting').find('.nav-link').removeClass('active');
$(lists).addClass('active');
var long = lists.length - 3;
var tabname = lists.substring(0, long);
//console.log(tabname);
$('#small_setting').find('.tab-pane').removeClass('show').removeClass('active');
$(tabname + 'modal').addClass('show').addClass('active');
//console.log(Number(tabname.substring(2, tabname.length - 1)));
ChangeBigSetting(Number(tabname.substring(2, tabname.length - 1)));
// $(`#bigsetting ${lists}`).trigger('click');
// $(`#bigsetting ${lists}`).tab('show')
// $(lists)
}
}
else {
$('#' + a).find('.abc').trigger('click');
}
}
}
});
HistoryTable()
}
function ChangeBigSetting(setting) {
EmerNowsetting = setting;
$('#list_' + EmerNowsetting).find('.active').children().trigger('click');
}
function GetbuttonList() {
var url = baseApiUrl + "api/EmergencyDevice/GetGroupingList";
var send_data = {
system_parent_id: selectdisaster
};
$.ajax({
url: url,
data: send_data,
type: 'POST',
dataType: 'json',
success: function (rel, statut) {
if (rel.code != "0000") {
if (rel.code == "9999") {
toast_error(rel.msg);
}
return;
}
else {
//console.log(rel);
var grouping = "";
$('#button_grouping').empty();
Allgroupidlist = [];
$.each(rel.data, function (index, val) {
Allgroupidlist.push(val.id);
grouping += '<div class="btn-group mb-2 mr-2">';
grouping += '<button type="button" class="btn btn-outline-success select" onclick="SelectGrouping(' + val.id + ',this)">' + val.name + '</button>';
grouping += '</div>';
});
$('#button_grouping').append(grouping);
return;
//$('#button_grouping').empty();
}
}
});
}
function SelectGrouping(grouping, e) {
if ($(e).hasClass("btn-outline-success")) {
$(e).removeClass("btn-outline-success").addClass("btn-success");
SelectMemberDepart.push(grouping);
} else if ($(e).hasClass("btn-success")) {
$(e).removeClass("btn-success").addClass("btn-outline-success");
var a = SelectMemberDepart.filter(function (n, i) {
if (n === grouping) {
SelectMemberDepart.splice(i, 1);
}
});
}
EmergencyContact()
}
//全選所有組別
function Allgroupingselect() {
if (Allgroupingbool) {
$('#button_grouping').find(".btn-success").removeClass("btn-success").addClass("btn-outline-success");
SelectMemberDepart = [];
Allgroupingbool = false;
}
else {
$('#button_grouping').find(".btn-outline-success").removeClass("btn-outline-success").addClass("btn-success");
SelectMemberDepart = Allgroupidlist;
Allgroupingbool = true;
}
EmergencyContact()
}
function Closemodal() {
// json.filter(function (n, i) {
// if(n.device_number === de_number)
// {
// n.finish = 0;
// }
// })
// console.log(json);
// table.ajax.reload();
$('#SimulationExercisemodal').hide();
// $('#SimulationExercisemodal').modal('hide');
}
// function emergencycontactiframe() {
// $('#js-page-content').empty();
// var jwt = localStorage.getItem('JWT-Authorization');
// var src = 'https://localhost:5001/Jump/Index?post=' + jwt;
// // window.open(src);
// var html = '<iframe id="alarm-table" class="embed-responsive-item" width="100%" height="100%" src="'+src+'"></iframe>';
// $('#js-page-content').append(html);
// }
// function emergencyrecodeiframe() {
// $('#js-page-content').empty();
// var html = '<iframe id="alarm-table" class="embed-responsive-item" width="100%" height="100%" src="https://www.google.com/"></iframe>';
// $('#js-page-content').append(html);
// }