[後台][緊急應變] 硬體清單選單增加 | 增加硬體清單權限 | 硬體清單前端程序及介面調整 | 事件清單前端程序及介面調整 | 左邊選單順序程序調整

This commit is contained in:
dev01 2023-06-07 17:12:22 +08:00
parent 56e18cc5a1
commit f1f366aae8
11 changed files with 3564 additions and 147 deletions

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 105 KiB

View File

@ -0,0 +1,24 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace FrontendWebApi.Controllers
{
public class EmergencyHardwareMenuController : MyBaseController<EmergencyHardwareMenuController>
{
private readonly ILogger<EmergencyHardwareMenuController> _logger;
public EmergencyHardwareMenuController(ILogger<EmergencyHardwareMenuController> logger)
{
_logger = logger;
}
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,6 +1,6 @@
@{ @{
ViewData["MainNum"] = "4"; ViewData["MainNum"] = "4";
ViewData["SubNum"] = "2"; ViewData["SubNum"] = "3";
ViewData["Title"] = "聯絡清單"; ViewData["Title"] = "聯絡清單";
} }

View File

@ -15,23 +15,28 @@
<div class="col-xl-12"> <div class="col-xl-12">
<div id="panel-5" class="panel"> <div id="panel-5" class="panel">
<div class="panel-container show"> <div class="panel-container show">
<div class="panel-hdr"> @*<div class="panel-hdr">
<div class="col-auto">顯示類型</div> <div class="col-auto">顯示類型</div>
<div class="col" id="show-mode"> <div class="col" id="show-mode">
<button type="button" class="btn btn-success" onclick="ChangeMode('alarm', this)">事件清單</button> <button type="button" class="btn btn-success" onclick="ChangeMode('alarm', this)">事件清單</button>
<button type="button" class="btn btn-secondary" onclick="ChangeMode('normal', this)">緊急應變硬體清單</button> <button type="button" class="btn btn-secondary" onclick="ChangeMode('normal', this)">緊急應變硬體清單</button>
<button type="button" class="btn btn-secondary float-right" onclick="OnSimulationExercise('', '',1)">模擬演練</button> <button type="button" class="btn btn-secondary float-right" onclick="OnSimulationExercise('', '',1)">模擬演練</button>
</div> </div>
</div> </div>*@
<div class="panel-hdr"> <div class="panel-hdr">
<div class="col-auto">防災類別</div> <div class="col-auto">防災類別</div>
<div class="col" id="disaster">防災類別</div> <div class="col" id="disaster">防災類別
</div>
<div class="col-auto">
<button type="button" class="btn btn-secondary" onclick="OnSimulationExercise('', '',1)">模擬演練</button>
</div>
</div> </div>
<div class="panel-hdr"> <div class="panel-hdr">
<div class="col-auto">棟別</div> <div class="col-auto">棟別 </div>
<div class="col" id="building">棟別</div> <div class="col" id="building">棟別</div>
</div> </div>
<div class="panel-hdr"> @*<div class="panel-hdr">
<div class="col-auto">樓層</div> <div class="col-auto">樓層</div>
<div class="col" id="floors">棟別</div> <div class="col" id="floors">棟別</div>
</div> </div>
@ -42,7 +47,7 @@
<div class="panel-hdr"> <div class="panel-hdr">
<div class="col-auto">設備小類</div> <div class="col-auto">設備小類</div>
<div class="col" id="layer3">設備大類</div> <div class="col" id="layer3">設備大類</div>
</div> </div>*@
<div class="panel-container"> <div class="panel-container">
<div class="panel-content"> <div class="panel-content">
<div class="frame-wrap"> <div class="frame-wrap">
@ -322,7 +327,7 @@
temp_alarm_device = []; //暫存所有的報警設備 temp_alarm_device = []; //暫存所有的報警設備
var backfill_building_device_amount = [], backfill_layer2_device_amount = [], backfill_layer3_device_amount = []; var backfill_building_device_amount = [], backfill_layer2_device_amount = [], backfill_layer3_device_amount = [];
var backfill_building_alarm_device_amount = [], backfill_layer2_alarm_device_amount = [], backfill_layer3_alarm_device_amount = []; var backfill_building_alarm_device_amount = [], backfill_layer2_alarm_device_amount = [], backfill_layer3_alarm_device_amount = [];
var select_all_disaster = false, select_all_floor = false, var select_all_disaster = false, select_all_floor = false,select_all_building = false,
select_all_layer2 = false, select_all_layer3 = false; select_all_layer2 = false, select_all_layer3 = false;
var changeBuilding = ""; var changeBuilding = "";
@ -340,7 +345,7 @@
var SelectedFilter = var SelectedFilter =
{ {
disasters: [], disasters: [],
building_tag: '', building_tag: [],
floor_guids: [], floor_guids: [],
layer2: [], layer2: [],
layer3: [] layer3: []
@ -890,7 +895,7 @@
SelectedFilter.disasters.push(disaster); SelectedFilter.disasters.push(disaster);
$(e).removeClass('btn-outline-success').addClass('btn-success'); $(e).removeClass('btn-outline-success').addClass('btn-success');
} }
is_need_reload = true; is_need_reload = true;
ChangeFilterBuilding(); ChangeFilterBuilding();
UpdateDeviceAmount(); UpdateDeviceAmount();
@ -925,11 +930,11 @@
</div>`;*@ </div>`;*@
html += `<div class="btn-group ml-2" onclick="SelectBuilding('${building.tag}',this)"> html += `<div class="btn-group ml-2" onclick="SelectBuilding('${building.tag}',this)">
<button type="button" class="btn btn-secondary">${building.name}</button> <button type="button" class="btn btn-secondary" data-tag="${building.tag}" >${building.name}</button>
<button type="button" class="btn btn-secondary building_device_amount" id="${building.tag}_device_amount">0</button> <button type="button" class="btn btn-secondary building_device_amount" data-tag="${building.tag}" id="${building.tag}_device_amount">0</button>
</div>`; </div>`;
}); });
$('#building').append(`<button type="button" class="btn btn-secondary waves-effect waves-themed d-inline-block ml-2" onclick="AllBuilding()"> 全選 </button>`);
$('#building').append(html); $('#building').append(html);
$('#building').find('div').first().click(); $('#building').find('div').first().click();
@ -940,6 +945,7 @@
html += '<button type="button" class="btn btn-secondary ml-2" onclick="SelectBuilding(\'' + building.tag + '\',this)">' + building.name + '</button>'; html += '<button type="button" class="btn btn-secondary ml-2" onclick="SelectBuilding(\'' + building.tag + '\',this)">' + building.name + '</button>';
}); });
$('#building').append(`<button type="button" class="btn btn-secondary waves-effect waves-themed d-inline-block ml-2" onclick="AllBuilding()"> 全選 </button>`);
$('#building').append(html); $('#building').append(html);
$('#building').find('button').first().click(); $('#building').find('button').first().click();
@ -948,51 +954,71 @@
} }
//#endregion //#endregion
//#region 計算現有勾選棟別
function resetCalSelectBuilding(){
SelectedFilter.building_tag = [];
$('#building').find('button.btn-success').each((index,ele) => {
let ele_building_tag = $(ele).data("tag");
if(SelectedFilter.building_tag.indexOf(ele_building_tag) == -1){
SelectedFilter.building_tag.push(ele_building_tag);
}
})
console.log(SelectedFilter.building_tag)
}
//#endregion
//#region 選擇棟別 //#region 選擇棟別
function SelectBuilding(building_tag, e) { function SelectBuilding(building_tag, e) {
$('#building').find('button').removeClass('btn-success').addClass('btn-secondary') //$('#building').find('button').removeClass('btn-success').addClass('btn-secondary')
SelectedFilter.building_tag = building_tag;
if (show_mode == 'alarm') { if (show_mode == 'alarm') {
$(e).find('button').addClass('btn-success'); if($(e).find("button.btn-success").length > 0){
$(e).find('button').removeClass('btn-success').addClass('btn-secondary');
} else {
$(e).find('button').removeClass('btn-secondary').addClass('btn-success');
}
} else { } else {
$(e).addClass('btn-success'); $(e).addClass('btn-success');
} }
resetCalSelectBuilding();
is_need_reload = true; is_need_reload = true;
ChangeFilterFloor(); ChangeFilterFloor();
UpdateDeviceAmount(); UpdateDeviceAmount();
ResetDeviceTable();
@*console.log("SelectedFilter", SelectedFilter);*@ @*console.log("SelectedFilter", SelectedFilter);*@
} }
//#endregion //#endregion
//#region 修改過濾條件(樓層) //#region 修改過濾條件(樓層)
function ChangeFilterFloor() { function ChangeFilterFloor() {
temp_all_floor = []; //temp_all_floor = [];
all_device_group.forEach(function (disaster, disaster_index) { //all_device_group.forEach(function (disaster, disaster_index) {
if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取已選擇的防災類型的棟別內容 // if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取已選擇的防災類型的棟別內容
disaster.groupBuildings.forEach(function (building, building_index) { // disaster.groupBuildings.forEach(function (building, building_index) {
if (building.tag == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層 // if (building.tag == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層
building.groupFloors.forEach(function (floor, floor_index) { // building.groupFloors.forEach(function (floor, floor_index) {
if (temp_all_floor.findIndex(x => x.name == floor.name) < 0) { //表示未加入,需加入 // if (temp_all_floor.findIndex(x => x.name == floor.name) < 0) { //表示未加入,需加入
temp_all_floor.push(floor); // temp_all_floor.push(floor);
} // }
}); // });
} // }
}); // });
} // }
}); //});
$("#floors").empty(); //$("#floors").empty();
$("#floors").append(`<button type="button" class="btn btn-secondary ml-2 mb-2" onclick="AllFloor()">全選</button>`); //$("#floors").append(`<button type="button" class="btn btn-secondary ml-2 mb-2" onclick="AllFloor()">全選</button>`);
var html = ""; //var html = "";
temp_all_floor.forEach(function (floor, floor_index) { //temp_all_floor.forEach(function (floor, floor_index) {
html += '<button type="button" class="btn btn-outline-success ml-2 mb-2" onclick="SelectFloor(\'' + floor.name + '\',this)">' + floor.name + '</button>'; // html += '<button type="button" class="btn btn-outline-success ml-2 mb-2" onclick="SelectFloor(\'' + floor.name + '\',this)">' + floor.name + '</button>';
}); //});
$('#floors').append(html); //$('#floors').append(html);
select_all_floor = false; //select_all_floor = false;
$('#floors').find('button').first().click(); //$('#floors').find('button').first().click();
} }
//#endregion //#endregion
@ -1041,51 +1067,68 @@
//#region 修改過濾條件(大類) //#region 修改過濾條件(大類)
function ChangeFilterLayer2() { function ChangeFilterLayer2() {
temp_all_layer2 = []; //temp_all_layer2 = [];
all_device_group.forEach(function (disaster, disaster_index) { //all_device_group.forEach(function (disaster, disaster_index) {
if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取選擇防災類型的底下棟別 // if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取選擇防災類型的底下棟別
disaster.groupBuildings.forEach(function (building, building_index) { // disaster.groupBuildings.forEach(function (building, building_index) {
if (building.tag == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層 // if (building.tag == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層
building.groupFloors.forEach(function (floor, floor_index) { // building.groupFloors.forEach(function (floor, floor_index) {
if (SelectedFilter.floor_guids.findIndex(x => x == floor.name) > -1) { //抓取選擇樓層的底下大類 // if (SelectedFilter.floor_guids.findIndex(x => x == floor.name) > -1) { //抓取選擇樓層的底下大類
floor.groupLayer2s.forEach(function (layer2, layer2_index) { // floor.groupLayer2s.forEach(function (layer2, layer2_index) {
if (temp_all_layer2.findIndex(x => x.value == layer2.value) < 0) { // if (temp_all_layer2.findIndex(x => x.value == layer2.value) < 0) {
temp_all_layer2.push(layer2); // temp_all_layer2.push(layer2);
} // }
}); // });
} // }
}); // });
} // }
}); // });
} // }
}); //});
$("#layer2").empty(); //$("#layer2").empty();
$("#layer2").append(`<div class="ml-2 mb-2" style="position: relative; display: inline-flex; vertical-align: middle" onclick="AllLayer2()"> //$("#layer2").append(`<div class="ml-2 mb-2" style="position: relative; display: inline-flex; vertical-align: middle" onclick="AllLayer2()">
<button type="button" class="btn btn-secondary">全選</button> // <button type="button" class="btn btn-secondary">全選</button>
</div>`); // </div>`);
var html = ""; //var html = "";
temp_all_layer2.forEach(function (layer2, layer2_index) { //temp_all_layer2.forEach(function (layer2, layer2_index) {
var layer2_device_amount = backfill_layer2_device_amount.filter(x => x.value == layer2.value && x.building_tag == SelectedFilter.building_tag)[0]; // var layer2_device_amount = backfill_layer2_device_amount.filter(x => x.value == layer2.value && x.building_tag == SelectedFilter.building_tag)[0];
@*html += ` // @*html += `
<div class="btn-group ml-2 mb-2" onclick="SelectLayer2('${layer2.value}',this)"> // <div class="btn-group ml-2 mb-2" onclick="SelectLayer2('${layer2.value}',this)">
<button type="button" class="btn btn-outline-success">${layer2.name}</button> // <button type="button" class="btn btn-outline-success">${layer2.name}</button>
<button type="button" class="btn btn-outline-success device_amount" id="${layer2_device_amount.building_tag}_${layer2_device_amount.value}_device_amount">${layer2_device_amount.device_amount}</button> // <button type="button" class="btn btn-outline-success device_amount" id="${layer2_device_amount.building_tag}_${layer2_device_amount.value}_device_amount">${layer2_device_amount.device_amount}</button>
</div>`;*@ // </div>`;*@
html += ` // html += `
<div class="btn-group ml-2 mb-2" onclick="SelectLayer2('${layer2.value}',this)"> // <div class="btn-group ml-2 mb-2" onclick="SelectLayer2('${layer2.value}',this)">
<button type="button" class="btn btn-outline-success">${layer2.name}</button> // <button type="button" class="btn btn-outline-success">${layer2.name}</button>
<button type="button" class="btn btn-outline-success device_amount" id="${layer2_device_amount.building_tag}_${layer2_device_amount.value}_device_amount">0</button> // <button type="button" class="btn btn-outline-success device_amount" id="${layer2_device_amount.building_tag}_${layer2_device_amount.value}_device_amount">0</button>
</div>`; // </div>`;
}); //});
$('#layer2').append(html); //$('#layer2').append(html);
select_all_layer2 = false; //select_all_layer2 = false;
$('#layer2').find('div').first().click(); //$('#layer2').find('div').first().click();
}
//#endregion
//#region 全選棟別
function AllBuilding() {
if (select_all_building) { //全選 -> 取消全選
select_all_building = false;
$('#building').find('div > button.btn-success').removeClass('btn-success').addClass('btn-secondary');
} else { //取消全選 -> 全選
select_all_building = true;
$('#building').find('div > button.btn-secondary').removeClass('btn-secondary').addClass('btn-success');
}
resetCalSelectBuilding();
is_need_reload = true;
UpdateDeviceAmount();
@*console.log("SelectedFilter", SelectedFilter);*@
} }
//#endregion //#endregion
@ -1134,65 +1177,65 @@
//#region 修改過濾條件(小類) //#region 修改過濾條件(小類)
function ChangeFilterLayer3() { function ChangeFilterLayer3() {
temp_all_layer3 = []; //temp_all_layer3 = [];
all_device_group.forEach(function (disaster, disaster_index) { //all_device_group.forEach(function (disaster, disaster_index) {
if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取選擇防災類型的底下棟別 // if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取選擇防災類型的底下棟別
disaster.groupBuildings.forEach(function (building, building_index) { // disaster.groupBuildings.forEach(function (building, building_index) {
if (building.tag == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層 // if (building.tag == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層
building.groupFloors.forEach(function (floor, floor_index) { // building.groupFloors.forEach(function (floor, floor_index) {
if (SelectedFilter.floor_guids.findIndex(x => x == floor.name) > -1) { //抓取選擇樓層的底下大類 // if (SelectedFilter.floor_guids.findIndex(x => x == floor.name) > -1) { //抓取選擇樓層的底下大類
floor.groupLayer2s.forEach(function (layer2, layer2_index) { // floor.groupLayer2s.forEach(function (layer2, layer2_index) {
if (SelectedFilter.layer2.findIndex(x => x == layer2.value) > -1) { //抓取選擇大類的底下小類 // if (SelectedFilter.layer2.findIndex(x => x == layer2.value) > -1) { //抓取選擇大類的底下小類
layer2.groupLayer3s.forEach(function (layer3, layer3_index) { // layer2.groupLayer3s.forEach(function (layer3, layer3_index) {
var new_layer3 = { // var new_layer3 = {
name: layer3.name, // name: layer3.name,
value: layer3.value, // value: layer3.value,
device_amount: layer3.device_amount // device_amount: layer3.device_amount
} // }
var temp_device_amount = new_layer3.device_amount; // var temp_device_amount = new_layer3.device_amount;
var temp_layer3_index = temp_all_layer3.findIndex(x => x.value == layer3.value); // var temp_layer3_index = temp_all_layer3.findIndex(x => x.value == layer3.value);
if (temp_layer3_index < 0) { // if (temp_layer3_index < 0) {
temp_all_layer3.push(new_layer3); // temp_all_layer3.push(new_layer3);
} else { // } else {
temp_all_layer3[temp_layer3_index].device_amount += temp_device_amount; // temp_all_layer3[temp_layer3_index].device_amount += temp_device_amount;
} // }
}); // });
} // }
}); // });
} // }
}); // });
} // }
}); // });
} // }
}); //});
$("#layer3").empty(); //$("#layer3").empty();
$("#layer3").append(`<div class="ml-2 mb-2" style="position: relative; display: inline-flex; vertical-align: middle" onclick="AllLayer3()"> //$("#layer3").append(`<div class="ml-2 mb-2" style="position: relative; display: inline-flex; vertical-align: middle" onclick="AllLayer3()">
<button type="button" class="btn btn-secondary">全選</button> // <button type="button" class="btn btn-secondary">全選</button>
</div>`); // </div>`);
var html = ""; //var html = "";
temp_all_layer3.forEach(function (layer3, layer3_index) { //temp_all_layer3.forEach(function (layer3, layer3_index) {
var layer3_device_amount = backfill_layer3_device_amount.filter(x => x.layer3 == layer3.value && x.building_tag == SelectedFilter.building_tag)[0]; // var layer3_device_amount = backfill_layer3_device_amount.filter(x => x.layer3 == layer3.value && x.building_tag == SelectedFilter.building_tag)[0];
@*html += ` // @*html += `
<div class="btn-group ml-2 mb-2" onclick="SelectLayer3('${layer3.value}',this)"> // <div class="btn-group ml-2 mb-2" onclick="SelectLayer3('${layer3.value}',this)">
<button type="button" class="btn btn-outline-success">${layer3.name}</button> // <button type="button" class="btn btn-outline-success">${layer3.name}</button>
<button type="button" class="btn btn-outline-success device_amount" id="${layer3_device_amount.building_tag}_${layer3_device_amount.layer3}_device_amount">${layer3_device_amount.device_amount}</button> // <button type="button" class="btn btn-outline-success device_amount" id="${layer3_device_amount.building_tag}_${layer3_device_amount.layer3}_device_amount">${layer3_device_amount.device_amount}</button>
</div>`;*@ // </div>`;*@
html += ` // html += `
<div class="btn-group ml-2 mb-2" onclick="SelectLayer3('${layer3.value}',this)"> // <div class="btn-group ml-2 mb-2" onclick="SelectLayer3('${layer3.value}',this)">
<button type="button" class="btn btn-outline-success">${layer3.name}</button> // <button type="button" class="btn btn-outline-success">${layer3.name}</button>
<button type="button" class="btn btn-outline-success device_amount" id="${layer3_device_amount.building_tag}_${layer3_device_amount.layer3}_device_amount">0</button> // <button type="button" class="btn btn-outline-success device_amount" id="${layer3_device_amount.building_tag}_${layer3_device_amount.layer3}_device_amount">0</button>
</div>`; // </div>`;
}); //});
$('#layer3').append(html); //$('#layer3').append(html);
select_all_layer3 = false; //select_all_layer3 = false;
$('#layer3').find('div').first().click(); //$('#layer3').find('div').first().click();
} }
//#endregion //#endregion
@ -1241,9 +1284,7 @@
function ResetDeviceTable() { function ResetDeviceTable() {
if ((SelectedFilter.disasters == null || SelectedFilter.disasters.length <= 0) if ((SelectedFilter.disasters == null || SelectedFilter.disasters.length <= 0)
|| (SelectedFilter.building_tag == null || SelectedFilter.building_tag == "") || (SelectedFilter.building_tag == null || SelectedFilter.building_tag.length <= 0)
|| (SelectedFilter.floor_guids == null || SelectedFilter.floor_guids.length <= 0)
|| (SelectedFilter.layer3 == null || SelectedFilter.layer3.length <= 0)
) { ) {
return; return;
} }
@ -1327,7 +1368,7 @@
// de_number = $(e).parent().parent().attr('de-number'); // de_number = $(e).parent().parent().attr('de-number');
var url = "/api/EmergencyDevice/SaveAndOpenSimulationExercise"; var url = "/api/EmergencyDevice/SaveAndOpenSimulationExercise";
var send_data = { var send_data = {
build: SelectedFilter.building_tag, build: SelectedFilter.building_tag[0] ?? null,
disaster: disaster, disaster: disaster,
type: type, type: type,
device: guid device: guid

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
@{ @{
ViewData["MainNum"] = "4"; ViewData["MainNum"] = "4";
ViewData["SubNum"] = "3"; ViewData["SubNum"] = "4";
ViewData["Title"] = "紀錄查詢"; ViewData["Title"] = "紀錄查詢";
} }

View File

@ -1,6 +1,6 @@
@{ @{
ViewData["MainNum"] = "4"; ViewData["MainNum"] = "4";
ViewData["SubNum"] = "5"; ViewData["SubNum"] = "6";
ViewData["Title"] = "AED裝置設定"; ViewData["Title"] = "AED裝置設定";
} }

View File

@ -1,6 +1,6 @@
@{ @{
ViewData["MainNum"] = "4"; ViewData["MainNum"] = "4";
ViewData["SubNum"] = "4"; ViewData["SubNum"] = "5";
ViewData["Title"] = "滅火器設定"; ViewData["Title"] = "滅火器設定";
} }

View File

@ -89,14 +89,22 @@
@if (ViewBag.role.Contains("EmergencyDeviceMenuIndex")) @if (ViewBag.role.Contains("EmergencyDeviceMenuIndex"))
{ {
<li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "1" ? "active" : "")"> <li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "1" ? "active" : "")">
<a asp-controller="EmergencyDeviceMenu" asp-action="Index" title="設備總覽" data-filter-tags="utilities disabled item"> <a asp-controller="EmergencyDeviceMenu" asp-action="Index" title="事件清單" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">設備總覽</span> <span class="nav-link-text" data-i18n="nav.utilities_disabled_item">事件清單</span>
</a>
</li>
}
@if (ViewBag.role.Contains("EmergencyHardwareIndex"))
{
<li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "2" ? "active" : "")">
<a asp-controller="EmergencyHardwareMenu" asp-action="Index" title="緊急應變硬體清單" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">緊急應變硬體清單</span>
</a> </a>
</li> </li>
} }
@if (ViewBag.role.Contains("EmergencyContactIndex")) @if (ViewBag.role.Contains("EmergencyContactIndex"))
{ {
<li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "2" ? "active" : "")"> <li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "3" ? "active" : "")">
<a asp-controller="EmergencyContact" asp-action="Index" title="聯絡清單" data-filter-tags="utilities disabled item"> <a asp-controller="EmergencyContact" asp-action="Index" title="聯絡清單" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">聯絡清單</span> <span class="nav-link-text" data-i18n="nav.utilities_disabled_item">聯絡清單</span>
</a> </a>
@ -104,7 +112,7 @@
} }
@if (ViewBag.role.Contains("EmergencyRecordIndex")) @if (ViewBag.role.Contains("EmergencyRecordIndex"))
{ {
<li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "3" ? "active" : "")"> <li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "4" ? "active" : "")">
<a asp-controller="EmergencyRecord" asp-action="Index" title="紀錄查詢" data-filter-tags="utilities disabled item"> <a asp-controller="EmergencyRecord" asp-action="Index" title="紀錄查詢" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">紀錄查詢</span> <span class="nav-link-text" data-i18n="nav.utilities_disabled_item">紀錄查詢</span>
</a> </a>
@ -113,7 +121,7 @@
@if (ViewBag.role.Contains("RescueDeviceFireExtinguisher")) @if (ViewBag.role.Contains("RescueDeviceFireExtinguisher"))
{ {
<li class="@(ViewData["MainNum"] == "3" && ViewData["SubNum"] == "4" ? "active" : "")"> <li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "5" ? "active" : "")">
<a asp-controller="RescueDevice" asp-action="FireExtinguisher" title="滅火器設定" data-filter-tags="utilities disabled item"> <a asp-controller="RescueDevice" asp-action="FireExtinguisher" title="滅火器設定" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">滅火器設定</span> <span class="nav-link-text" data-i18n="nav.utilities_disabled_item">滅火器設定</span>
</a> </a>
@ -121,7 +129,7 @@
} }
@if (ViewBag.role.Contains("RescueDeviceAED")) @if (ViewBag.role.Contains("RescueDeviceAED"))
{ {
<li class="@(ViewData["MainNum"] == "3" && ViewData["SubNum"] == "5" ? "active" : "")"> <li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "6" ? "active" : "")">
<a asp-controller="RescueDevice" asp-action="AED" title="AED裝置設定" data-filter-tags="utilities disabled item"> <a asp-controller="RescueDevice" asp-action="AED" title="AED裝置設定" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">AED裝置設定</span> <span class="nav-link-text" data-i18n="nav.utilities_disabled_item">AED裝置設定</span>
</a> </a>

View File

@ -18,10 +18,10 @@
"Port": "js2LutKe+rdjzdxMPQUrvQ==", "Port": "js2LutKe+rdjzdxMPQUrvQ==",
//"Database": "VJB2XC+lAtzuHObDGMVOAA==", //30 //"Database": "VJB2XC+lAtzuHObDGMVOAA==", //30
//"Database": "IgYBsgG2VLKKxFb64j7LOA==", //wsp //"Database": "IgYBsgG2VLKKxFb64j7LOA==", //wsp
//"Database": "7gWfmZ28HGIJZbxEbK+0yg==", //tpe_dome_dome "Database": "7gWfmZ28HGIJZbxEbK+0yg==", //tpe_dome_dome
//"Database": "siTUcDaC/g2yGTMFWD72Kg==", //tpe_dome_hotel //"Database": "siTUcDaC/g2yGTMFWD72Kg==", //tpe_dome_hotel
//"Database": "iuaY0h0+TWkir44/eZLDqw==", //tpe_dome_office //"Database": "iuaY0h0+TWkir44/eZLDqw==", //tpe_dome_office
"Database": "Rq7Gn4x6LwBvVtl7GY8LbA==", //MCUT //"Database": "Rq7Gn4x6LwBvVtl7GY8LbA==", //MCUT
"Root": "SzdxEgaJJ7tcTCrUl2zKsA==", "Root": "SzdxEgaJJ7tcTCrUl2zKsA==",
"Password": "FVAPxztxpY4gJJKQ/se4bQ==" "Password": "FVAPxztxpY4gJJKQ/se4bQ=="
} }

View File

@ -23,8 +23,9 @@
"Server": "FYlY+w0XDIz+jmF2rlZWJw==", //0.201 "Server": "FYlY+w0XDIz+jmF2rlZWJw==", //0.201
"Port": "js2LutKe+rdjzdxMPQUrvQ==", "Port": "js2LutKe+rdjzdxMPQUrvQ==",
//"Database": "VJB2XC+lAtzuHObDGMVOAA==", // //"Database": "VJB2XC+lAtzuHObDGMVOAA==", //
"Database": "IgYBsgG2VLKKxFb64j7LOA==", //wsp //"Database": "IgYBsgG2VLKKxFb64j7LOA==", //wsp
//"Database": "7gWfmZ28HGIJZbxEbK+0yg==", //tpe_dome_dome //"Database": "Rq7Gn4x6LwBvVtl7GY8LbA==", //MCUT
"Database": "7gWfmZ28HGIJZbxEbK+0yg==", //tpe_dome_dome
//"Database": "siTUcDaC/g2yGTMFWD72Kg==", //tpe_dome_hotel //"Database": "siTUcDaC/g2yGTMFWD72Kg==", //tpe_dome_hotel
//"Database": "iuaY0h0+TWkir44/eZLDqw==", //tpe_dome_office //"Database": "iuaY0h0+TWkir44/eZLDqw==", //tpe_dome_office
"Root": "SzdxEgaJJ7tcTCrUl2zKsA==", "Root": "SzdxEgaJJ7tcTCrUl2zKsA==",