From e77715fb0e552c2c63fba47b21303ba57aafff22 Mon Sep 17 00:00:00 2001 From: dev01 Date: Fri, 19 May 2023 14:26:54 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[=E5=89=8D=E5=8F=B0][=E7=B7=8A=E6=80=A5?= =?UTF-8?q?=E6=87=89=E8=AE=8A]=20=E5=89=8D=E7=AB=AF=E4=BA=94=E6=AE=B5?= =?UTF-8?q?=E6=94=B9=E5=85=AB=E6=AE=B5=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Views/EmergencyDeviceMenu/Index.cshtml | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/FrontendWebApi/Views/EmergencyDeviceMenu/Index.cshtml b/FrontendWebApi/Views/EmergencyDeviceMenu/Index.cshtml index 9d69c45..19ef091 100644 --- a/FrontendWebApi/Views/EmergencyDeviceMenu/Index.cshtml +++ b/FrontendWebApi/Views/EmergencyDeviceMenu/Index.cshtml @@ -337,7 +337,7 @@ var SelectedFilter = { disasters: [], - building_guid: '', + building_tag: '', floor_guids: [], layer2: [], layer3: [] @@ -393,7 +393,7 @@ $("#building").find(".building_device_amount").html(0); rel.data.buildingAlarmDeviceAmount.forEach(function (item) { - $(`#${item.building_guid}_device_amount`).html(item.device_amount); + $(`#${item.building_tag}_device_amount`).html(item.device_amount); }); ResetDeviceTable(); } @@ -562,13 +562,13 @@ "data": "device_number", "render": function (data, type, row, meta) { @*var html = ` - + ${data} `;*@ var html = ` - + ${data} `; @@ -620,7 +620,7 @@ "type": "POST", "data": function (d) { d.select_disasters = SelectedFilter.disasters; - d.selectbuilding = SelectedFilter.building_guid; + d.selectbuilding = SelectedFilter.building_tag; d.select_Floors = SelectedFilter.floor_guids; d.select_Layer3 = SelectedFilter.layer3; }, @@ -656,7 +656,7 @@ device_number: temp_device.device_number, device_name: temp_device.device_name, building_name: temp_device.building_name, - building_guid: temp_device.building_guid, + building_tag: temp_device.building_tag, ip_address: temp_device.ip_address, disaster: temp_device.disaster, disaster_name: temp_device.disaster_name, @@ -669,10 +669,10 @@ alarm_timestamp: alarm_device.alarm_timestamp, } - var temp_building_index = backfill_building_alarm_device_amount.findIndex(x => x.building_guid == temp_device.building_guid); + var temp_building_index = backfill_building_alarm_device_amount.findIndex(x => x.building_tag == temp_device.building_tag); if (temp_building_index < 0) { var building_obj = { - building_guid: temp_device.building_guid, + building_tag: temp_device.building_tag, device_amount: 1 } @@ -681,10 +681,10 @@ backfill_building_alarm_device_amount[temp_building_index].device_amount += 1; } - var temp_layer2_index = backfill_layer2_alarm_device_amount.findIndex(x => x.value == temp_device.layer2 && x.building_guid == temp_device.building_guid) + var temp_layer2_index = backfill_layer2_alarm_device_amount.findIndex(x => x.value == temp_device.layer2 && x.building_tag == temp_device.building_tag) if (temp_layer2_index < 0) { var layer2_obj = { - building_guid: temp_device.building_guid, + building_tag: temp_device.building_tag, value: temp_device.layer2, device_amount: 1 } @@ -694,10 +694,10 @@ backfill_layer2_alarm_device_amount[temp_layer2_index].device_amount += 1; } - var temp_layer3_index = backfill_layer3_alarm_device_amount.findIndex(x => x.layer3 == temp_device.layer3 && x.layer2 == temp_device.layer2 && x.building_guid == temp_device.building_guid) + var temp_layer3_index = backfill_layer3_alarm_device_amount.findIndex(x => x.layer3 == temp_device.layer3 && x.layer2 == temp_device.layer2 && x.building_tag == temp_device.building_tag) if (temp_layer3_index < 0) { var layer3_obj = { - building_guid: temp_device.building_guid, + building_tag: temp_device.building_tag, layer2: temp_device.layer2, layer3: temp_device.layer3, device_amount: 1 @@ -764,10 +764,10 @@ device_amount: layer3.device_amount } - var temp_building_index = backfill_building_device_amount.findIndex(x => x.building_guid == building.guid); + var temp_building_index = backfill_building_device_amount.findIndex(x => x.building_tag == building.guid); if (temp_building_index < 0) { var building_obj = { - building_guid: building.guid, + building_tag: building.guid, device_amount: new_layer3.device_amount } @@ -776,10 +776,10 @@ backfill_building_device_amount[temp_building_index].device_amount += new_layer3.device_amount; } - var temp_layer2_index = backfill_layer2_device_amount.findIndex(x => x.value == layer2.value && x.building_guid == building.guid) + var temp_layer2_index = backfill_layer2_device_amount.findIndex(x => x.value == layer2.value && x.building_tag == building.guid) if (temp_layer2_index < 0) { var layer2_obj = { - building_guid: building.guid, + building_tag: building.guid, value: layer2.value, device_amount: new_layer3.device_amount } @@ -789,10 +789,10 @@ backfill_layer2_device_amount[temp_layer2_index].device_amount += new_layer3.device_amount; } - var temp_layer3_index = backfill_layer3_device_amount.findIndex(x => x.layer3 == layer3.value && x.layer2 == layer2.value && x.building_guid == building.guid) + var temp_layer3_index = backfill_layer3_device_amount.findIndex(x => x.layer3 == layer3.value && x.layer2 == layer2.value && x.building_tag == building.guid) if (temp_layer3_index < 0) { var layer3_obj = { - building_guid: building.guid, + building_tag: building.guid, layer2: layer2.value, layer3: layer3.value, device_amount: new_layer3.device_amount @@ -909,7 +909,7 @@ var html = ""; temp_all_building.forEach(function (building, building_index) { - var building_device_amount = backfill_building_device_amount.filter(x => x.building_guid == building.guid)[0]; + var building_device_amount = backfill_building_device_amount.filter(x => x.building_tag == building.guid)[0]; @*html += `
@@ -941,10 +941,10 @@ //#endregion //#region 選擇棟別 - function SelectBuilding(building_guid, e) { + function SelectBuilding(building_tag, e) { $('#building').find('button').removeClass('btn-success').addClass('btn-secondary') - SelectedFilter.building_guid = building_guid; + SelectedFilter.building_tag = building_tag; if (show_mode == 'alarm') { $(e).find('button').addClass('btn-success'); } else { @@ -963,7 +963,7 @@ all_device_group.forEach(function (disaster, disaster_index) { if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取已選擇的防災類型的棟別內容 disaster.groupBuildings.forEach(function (building, building_index) { - if (building.guid == SelectedFilter.building_guid) { //抓取選擇棟別的底下樓層 + if (building.guid == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層 building.groupFloors.forEach(function (floor, floor_index) { if (temp_all_floor.findIndex(x => x.guid == floor.guid) < 0) { //表示未加入,需加入 temp_all_floor.push(floor); @@ -1034,7 +1034,7 @@ all_device_group.forEach(function (disaster, disaster_index) { if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取選擇防災類型的底下棟別 disaster.groupBuildings.forEach(function (building, building_index) { - if (building.guid == SelectedFilter.building_guid) { //抓取選擇棟別的底下樓層 + if (building.guid == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層 building.groupFloors.forEach(function (floor, floor_index) { if (SelectedFilter.floor_guids.findIndex(x => x == floor.guid) > -1) { //抓取選擇樓層的底下大類 floor.groupLayer2s.forEach(function (layer2, layer2_index) { @@ -1056,18 +1056,18 @@ var html = ""; temp_all_layer2.forEach(function (layer2, layer2_index) { - var layer2_device_amount = backfill_layer2_device_amount.filter(x => x.value == layer2.value && x.building_guid == SelectedFilter.building_guid)[0]; + var layer2_device_amount = backfill_layer2_device_amount.filter(x => x.value == layer2.value && x.building_tag == SelectedFilter.building_tag)[0]; @*html += `
- +
`;*@ html += `
- +
`; }); @@ -1125,7 +1125,7 @@ all_device_group.forEach(function (disaster, disaster_index) { if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取選擇防災類型的底下棟別 disaster.groupBuildings.forEach(function (building, building_index) { - if (building.guid == SelectedFilter.building_guid) { //抓取選擇棟別的底下樓層 + if (building.guid == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層 building.groupFloors.forEach(function (floor, floor_index) { if (SelectedFilter.floor_guids.findIndex(x => x == floor.guid) > -1) { //抓取選擇樓層的底下大類 floor.groupLayer2s.forEach(function (layer2, layer2_index) { @@ -1161,18 +1161,18 @@ var html = ""; temp_all_layer3.forEach(function (layer3, layer3_index) { - var layer3_device_amount = backfill_layer3_device_amount.filter(x => x.layer3 == layer3.value && x.building_guid == SelectedFilter.building_guid)[0]; + var layer3_device_amount = backfill_layer3_device_amount.filter(x => x.layer3 == layer3.value && x.building_tag == SelectedFilter.building_tag)[0]; @*html += `
- +
`;*@ html += `
- +
`; }); @@ -1226,20 +1226,20 @@ function ResetDeviceTable() { if ((SelectedFilter.disasters == null || SelectedFilter.disasters.length <= 0) - || (SelectedFilter.building_guid == null || SelectedFilter.building_guid == "") + || (SelectedFilter.building_tag == null || SelectedFilter.building_tag == "") || (SelectedFilter.floor_guids == null || SelectedFilter.floor_guids.length <= 0) || (SelectedFilter.layer3 == null || SelectedFilter.layer3.length <= 0) ) { return; } - if (changeBuilding != "" && changeBuilding != SelectedFilter.building_guid) { + if (changeBuilding != "" && changeBuilding != SelectedFilter.building_tag) { alarmDeviceTable.clear().draw(); } else { alarmDeviceTable.ajax.reload(null, false); } - changeBuilding = SelectedFilter.building_guid; + changeBuilding = SelectedFilter.building_tag; } //#endregion @@ -1250,39 +1250,39 @@ if (show_mode == 'alarm') { backfill_building_alarm_device_amount.forEach(function (building, index) { - $(`#${building.building_guid}_device_amount`).html(building.device_amount); + $(`#${building.building_tag}_device_amount`).html(building.device_amount); }); backfill_layer2_alarm_device_amount.forEach(function (layer2, index) { - $(`#${layer2.building_guid}_${layer2.value}_device_amount`).html(layer2.device_amount); + $(`#${layer2.building_tag}_${layer2.value}_device_amount`).html(layer2.device_amount); }); backfill_layer3_alarm_device_amount.forEach(function (layer3, index) { - $(`#${layer3.building_guid}_${layer3.layer3}_device_amount`).html(layer3.device_amount); + $(`#${layer3.building_tag}_${layer3.layer3}_device_amount`).html(layer3.device_amount); }); } else { backfill_building_device_amount.forEach(function (building, index) { - $(`#${building.building_guid}_device_amount`).html(building.device_amount); + $(`#${building.building_tag}_device_amount`).html(building.device_amount); }); backfill_layer2_device_amount.forEach(function (layer2, index) { - $(`#${layer2.building_guid}_${layer2.value}_device_amount`).html(layer2.device_amount); + $(`#${layer2.building_tag}_${layer2.value}_device_amount`).html(layer2.device_amount); }); backfill_layer3_device_amount.forEach(function (layer3, index) { - $(`#${layer3.building_guid}_${layer3.layer3}_device_amount`).html(layer3.device_amount); + $(`#${layer3.building_tag}_${layer3.layer3}_device_amount`).html(layer3.device_amount); }); } } //#endregion //#region 變更右方地圖(改為跳新分頁) - function ChangeFloormap(building_guid, floor_guid, device_number, layer3) { + function ChangeFloormap(building_tag, floor_guid, device_number, layer3) { @* $("#iframe-floormap").empty(); $("#iframe-floormap").append( - `` + `` ) *@ } @@ -1312,7 +1312,7 @@ // de_number = $(e).parent().parent().attr('de-number'); var url = "/api/EmergencyDevice/SaveAndOpenSimulationExercise"; var send_data = { - build: SelectedFilter.building_guid, + build: SelectedFilter.building_tag, disaster: disaster, type: type, device: guid From 8a2ac8e3931f00c0684f9c09fb48e0ae3ef38cec Mon Sep 17 00:00:00 2001 From: dev01 Date: Fri, 19 May 2023 18:47:45 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[=E7=B7=8A=E6=80=A5=E6=87=89=E8=AE=8A]=20?= =?UTF-8?q?=E7=B0=A1=E8=A8=8A=E7=99=BC=E9=80=81=E7=A8=8B=E5=BA=8F=E5=BB=BA?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ApiControllers/BuildController.cs | 20 +-- .../ApiControllers/HiNetController.cs | 2 +- FrontendWebApi/Models/Build.cs | 8 +- .../Views/EmergencyDeviceMenu/Index.cshtml | 118 +++++++++++++++++- 4 files changed, 128 insertions(+), 20 deletions(-) diff --git a/FrontendWebApi/ApiControllers/BuildController.cs b/FrontendWebApi/ApiControllers/BuildController.cs index 5fa1457..0e73864 100644 --- a/FrontendWebApi/ApiControllers/BuildController.cs +++ b/FrontendWebApi/ApiControllers/BuildController.cs @@ -582,41 +582,41 @@ namespace FrontendWebApi.ApiControllers { var device_url = string.Empty; - if (((de.icon_click & 1) > 0) && !string.IsNullOrEmpty(de.icon_click_url)) + if (((de.left_icon_click & 1) > 0) && !string.IsNullOrEmpty(de.left_icon_click_url)) { - device_url = de.icon_click_url; + device_url = de.left_icon_click_url; //點擊顯示系統圖 - if (de.icon_click_url.Contains("[device_building_tag]")) + if (de.left_icon_click_url.Contains("[device_building_tag]")) { device_url = device_url.Replace("[device_building_tag]", de.device_building_tag); } - if (de.icon_click_url.Contains("[device_system_tag]")) + if (de.left_icon_click_url.Contains("[device_system_tag]")) { device_url = device_url.Replace("[device_system_tag]", de.device_system_tag); } - if (de.icon_click_url.Contains("[device_floor_tag]")) + if (de.left_icon_click_url.Contains("[device_floor_tag]")) { device_url = device_url.Replace("[device_floor_tag]", de.device_floor_tag); } - if (de.icon_click_url.Contains("[device_name_tag]")) + if (de.left_icon_click_url.Contains("[device_name_tag]")) { device_url = device_url.Replace("[device_name_tag]", de.device_name_tag); } - if (de.icon_click_url.Contains("[device_serial_tag]")) + if (de.left_icon_click_url.Contains("[device_serial_tag]")) { device_url = device_url.Replace("[device_serial_tag]", de.device_serial_tag); } - if (de.icon_click_url.Contains("[tag_name]")) + if (de.left_icon_click_url.Contains("[tag_name]")) { device_url = device_url.Replace("[tag_name]", de.device_number); } - de.icon_click_url = null; + de.left_icon_click_url = null; de.DeviceURL = device_url; } @@ -642,7 +642,7 @@ namespace FrontendWebApi.ApiControllers // priority = de.priority, // status = de.status, // DeviceURL = device_url, - // icon_click = de.icon_click + // left_icon_click = de.left_icon_click //}; //afloor.device.Add(device); } diff --git a/FrontendWebApi/ApiControllers/HiNetController.cs b/FrontendWebApi/ApiControllers/HiNetController.cs index a5cc095..1285703 100644 --- a/FrontendWebApi/ApiControllers/HiNetController.cs +++ b/FrontendWebApi/ApiControllers/HiNetController.cs @@ -825,7 +825,7 @@ namespace FrontendWebApi.ApiControllers Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message); return Ok(apiResult); } - + apiResult.Code = "0000"; return Ok(apiResult); } } diff --git a/FrontendWebApi/Models/Build.cs b/FrontendWebApi/Models/Build.cs index d072fd8..a5b5174 100644 --- a/FrontendWebApi/Models/Build.cs +++ b/FrontendWebApi/Models/Build.cs @@ -186,10 +186,10 @@ namespace FrontendWebApi.Models public byte device_error_flashing { get; set; } public byte device_error_independent { get; set; } public int priority { get; set; } - public byte icon_click { get; set; } - public string icon_click_url { get; set; } - public int icon_click_url_width { get; set; } - public int icon_click_url_height { get; set; } + public byte left_icon_click { get; set; } + public string left_icon_click_url { get; set; } + public int left_icon_click_url_width { get; set; } + public int left_icon_click_url_height { get; set; } public string DeviceURL { get; set; } public string point_name { get; set; } public string points { get; set; } diff --git a/FrontendWebApi/Views/EmergencyDeviceMenu/Index.cshtml b/FrontendWebApi/Views/EmergencyDeviceMenu/Index.cshtml index 19ef091..677339f 100644 --- a/FrontendWebApi/Views/EmergencyDeviceMenu/Index.cshtml +++ b/FrontendWebApi/Views/EmergencyDeviceMenu/Index.cshtml @@ -282,20 +282,23 @@
- + 發訊人:
- +
- +
- + +
@@ -1418,6 +1421,7 @@ //#region 模擬演練 / SOP modal 開啟發送簡訊Modal function OpenSendSMSModal() { + ToVerifyType = 2; $('#send-sms-modal').modal(); SmsMemberTable.ajax.reload(); } @@ -1731,7 +1735,7 @@ { EmerLastsetting = $('#bigsetting').find('.active').attr('mas'); ToVerifyType = 0; - $('.modal-title').html("指揮官驗證"); + //$('.modal-title').html("指揮官驗證"); $('#small_setting').hide(); $('#emergency_verify_input').val(''); $('#emergency-verify-modal').modal(); @@ -1747,6 +1751,7 @@ } function PassVerify(Vbool) { + console.log(SmsMemberTable.data().toArray()) if (ToVerifyType == 0) { if (Vbool) { var url = "api/EmergencyDevice/CheckVerifybool"; @@ -1815,6 +1820,109 @@ $('#emergency-verify-modal').modal('hide'); } } + + if(ToVerifyType == 2) { + if (Vbool) { + if(!$("#sms_messagebox").val()){ + toast_warning('請輸入簡訊內容'); + return; + } + controlSmsSaveBtnLoading(true); + var url = "api/EmergencyDevice/CheckVerifybool"; + var send_data = { + pass: $('#sendSms_verify_input').val() + }; + + $.post(url, send_data, function (rel) { + if (rel.code != "0000") { + if (rel.code == "9999") { + toast_error(rel.msg); + } + return; + } else { + if (rel.data) { + Verifybool = true; + sendSmsMessage(); + } else { + toast_warning('密碼驗證失敗,請重新驗證'); + } + } + controlSmsSaveBtnLoading(false); + }) + } else {//取消驗證 + if (EmerLastsetting == 0) { + + } else { + $('#small_setting').show(); + $('#bigsetting').find('.active').removeClass('active'); + $(`#t${EmerLastsetting}_tab`).addClass('active'); + + $('#small_setting').find('.show').removeClass('active show') + $(`#t${EmerLastsetting}_modal`).addClass('active show'); + + $('#list_' + EmerLastsetting).find('.active').children().trigger('click'); + $('#emergency-verify-modal').modal('hide'); + } + + + + } + } + } + + function controlSmsSaveBtnLoading(isShow = true) { + if(isShow){ + $("#smsSaveBtnLoading").parent("button").prop("disabled",true); + $("#smsSaveBtnLoading").fadeIn(200); + } else { + $("#smsSaveBtnLoading").fadeOut(200); + $("#smsSaveBtnLoading").parent("button").prop("disabled",false); + } + + } + + function sendSmsMessage() { + if(Verifybool){ + const members = SmsMemberTable.data().toArray(); + const url = "api/HiNetMsg"; + controlSmsSaveBtnLoading(true); + members.forEach(m => { + const send_data = { + Number:m.phone, + Msg:$("#sms_messagebox").val(), + }; + $.ajax({ + method:"POST", + url:url, + data:JSON.stringify(send_data), + contentType:"application/json;charset=utf-8", + success:(rel) => { + if (rel.code != "0000") { + if (rel.code == "9999") { + toast_error(rel.msg); + } + return; + } else { + if (rel.data) { + toast_ok("簡訊發送成功"); + $("#send-sms-modal").modal("hide"); + } else { + toast_warning('簡訊發送失敗,請重新操作'); + } + } + }, + complete:() => { + controlSmsSaveBtnLoading(false); + } + }) + //$.post(url, JSON.stringify(send_data),{contentType:"applicaiton/json;charset=utf-8"}, function (rel) { + + //}) + }) + } else { + toast_warning('密碼驗證失敗,請重新驗證'); + } + } function Closemodal() {