Merge branch 'master' of https://gitea.mjm-staging.developers-homelab.net/BIMS/BIMS
This commit is contained in:
		
						commit
						ccdc6e76c9
					
				@ -582,41 +582,41 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        var device_url = string.Empty;
 | 
					                        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);
 | 
					                                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);
 | 
					                                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);
 | 
					                                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);
 | 
					                                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);
 | 
					                                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);
 | 
					                                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;
 | 
					                            de.DeviceURL = device_url;
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -642,7 +642,7 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
                        //    priority = de.priority,
 | 
					                        //    priority = de.priority,
 | 
				
			||||||
                        //    status = de.status,
 | 
					                        //    status = de.status,
 | 
				
			||||||
                        //    DeviceURL = device_url,
 | 
					                        //    DeviceURL = device_url,
 | 
				
			||||||
                        //    icon_click = de.icon_click
 | 
					                        //    left_icon_click = de.left_icon_click
 | 
				
			||||||
                        //};
 | 
					                        //};
 | 
				
			||||||
                        //afloor.device.Add(device);
 | 
					                        //afloor.device.Add(device);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
				
			|||||||
@ -825,7 +825,7 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
                Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
 | 
					                Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
 | 
				
			||||||
                return Ok(apiResult);
 | 
					                return Ok(apiResult);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            apiResult.Code = "0000";
 | 
				
			||||||
            return Ok(apiResult);
 | 
					            return Ok(apiResult);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -186,10 +186,10 @@ namespace FrontendWebApi.Models
 | 
				
			|||||||
        public byte device_error_flashing { get; set; }
 | 
					        public byte device_error_flashing { get; set; }
 | 
				
			||||||
        public byte device_error_independent { get; set; }
 | 
					        public byte device_error_independent { get; set; }
 | 
				
			||||||
        public int priority { get; set; }
 | 
					        public int priority { get; set; }
 | 
				
			||||||
        public byte icon_click { get; set; }
 | 
					        public byte left_icon_click { get; set; }
 | 
				
			||||||
        public string icon_click_url { get; set; }
 | 
					        public string left_icon_click_url { get; set; }
 | 
				
			||||||
        public int icon_click_url_width { get; set; }
 | 
					        public int left_icon_click_url_width { get; set; }
 | 
				
			||||||
        public int icon_click_url_height { get; set; }
 | 
					        public int left_icon_click_url_height { get; set; }
 | 
				
			||||||
        public string DeviceURL { get; set; }
 | 
					        public string DeviceURL { get; set; }
 | 
				
			||||||
        public string point_name { get; set; }
 | 
					        public string point_name { get; set; }
 | 
				
			||||||
        public string points { get; set; }
 | 
					        public string points { get; set; }
 | 
				
			||||||
 | 
				
			|||||||
@ -282,20 +282,23 @@
 | 
				
			|||||||
                        </table>
 | 
					                        </table>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div class="col-6">
 | 
					                    <div class="col-6">
 | 
				
			||||||
                        <textarea class="form-control mt-3 mb-2" rows="5"></textarea>
 | 
					                        <textarea class="form-control mt-3 mb-2" rows="5" id="sms_messagebox"></textarea>
 | 
				
			||||||
                        <span>發訊人:</span>
 | 
					                        <span>發訊人:</span>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
                <div class="row justify-content-between">
 | 
					                <div class="row justify-content-between">
 | 
				
			||||||
                    <div class="col-auto">
 | 
					                    <div class="col-auto">
 | 
				
			||||||
                        <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
 | 
					                        <button type="button" class="btn btn-secondary" data-dismiss="modal" onclick="PassVerify(false)">取消</button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div class="col-auto row">
 | 
					                    <div class="col-auto row">
 | 
				
			||||||
                        <div class="col-auto">
 | 
					                        <div class="col-auto">
 | 
				
			||||||
                            <input class="form-control" type="text" placeholder="請輸入指揮官密碼" />
 | 
					                            <input class="form-control" type="password" id="sendSms_verify_input"  placeholder="請輸入指揮官密碼" />
 | 
				
			||||||
                        </div>
 | 
					                        </div>
 | 
				
			||||||
                        <div class="col-auto">
 | 
					                        <div class="col-auto">
 | 
				
			||||||
                            <button type="button" class="btn btn-primary" onclick="SaveSubSetting()">儲存</button>
 | 
					                            
 | 
				
			||||||
 | 
					                            <button type="button" class="btn btn-primary" onclick="PassVerify(true)">
 | 
				
			||||||
 | 
					                                <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true" id="smsSaveBtnLoading" style="display:none"></span>
 | 
				
			||||||
 | 
					                                儲存</button>
 | 
				
			||||||
                        </div>
 | 
					                        </div>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
@ -337,7 +340,7 @@
 | 
				
			|||||||
        var SelectedFilter =
 | 
					        var SelectedFilter =
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                disasters: [],
 | 
					                disasters: [],
 | 
				
			||||||
                building_guid: '',
 | 
					                building_tag: '',
 | 
				
			||||||
                floor_guids: [],
 | 
					                floor_guids: [],
 | 
				
			||||||
                layer2: [],
 | 
					                layer2: [],
 | 
				
			||||||
                layer3: []
 | 
					                layer3: []
 | 
				
			||||||
@ -393,7 +396,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                            $("#building").find(".building_device_amount").html(0);
 | 
					                            $("#building").find(".building_device_amount").html(0);
 | 
				
			||||||
                            rel.data.buildingAlarmDeviceAmount.forEach(function (item) {
 | 
					                            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();
 | 
					                            ResetDeviceTable();
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
@ -562,13 +565,13 @@
 | 
				
			|||||||
                        "data": "device_number",
 | 
					                        "data": "device_number",
 | 
				
			||||||
                        "render": function (data, type, row, meta) {
 | 
					                        "render": function (data, type, row, meta) {
 | 
				
			||||||
                            @*var html = `
 | 
					                            @*var html = `
 | 
				
			||||||
                                    <a href="javascript:void(0)" onclick="ChangeFloormap('${row.building_guid}', '${row.floorguid}', '${data}', '${row.layer3}')">
 | 
					                                    <a href="javascript:void(0)" onclick="ChangeFloormap('${row.building_tag}', '${row.floorguid}', '${data}', '${row.layer3}')">
 | 
				
			||||||
                                    ${data}
 | 
					                                    ${data}
 | 
				
			||||||
                                    </a>
 | 
					                                    </a>
 | 
				
			||||||
                                `;*@
 | 
					                                `;*@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            var html = `
 | 
					                            var html = `
 | 
				
			||||||
                                    <a href="http://${row.ip_address}/file/BajascriptTest/_FloorMap.html?building_guid=${row.building_guid}&floor_guid=${row.floorguid}&layer3=${row.layer3}&device_number=${data}&show_cctv=1&jwt=${localStorage.getItem('JWT-Authorization')}" target="_blank">
 | 
					                                    <a href="http://${row.ip_address}/file/BajascriptTest/_FloorMap.html?building_tag=${row.building_tag}&floor_guid=${row.floorguid}&layer3=${row.layer3}&device_number=${data}&show_cctv=1&jwt=${localStorage.getItem('JWT-Authorization')}" target="_blank">
 | 
				
			||||||
                                    ${data}
 | 
					                                    ${data}
 | 
				
			||||||
                                    </a>
 | 
					                                    </a>
 | 
				
			||||||
                                `;
 | 
					                                `;
 | 
				
			||||||
@ -620,7 +623,7 @@
 | 
				
			|||||||
                    "type": "POST",
 | 
					                    "type": "POST",
 | 
				
			||||||
                    "data": function (d) {
 | 
					                    "data": function (d) {
 | 
				
			||||||
                        d.select_disasters = SelectedFilter.disasters;
 | 
					                        d.select_disasters = SelectedFilter.disasters;
 | 
				
			||||||
                        d.selectbuilding = SelectedFilter.building_guid;
 | 
					                        d.selectbuilding = SelectedFilter.building_tag;
 | 
				
			||||||
                        d.select_Floors = SelectedFilter.floor_guids;
 | 
					                        d.select_Floors = SelectedFilter.floor_guids;
 | 
				
			||||||
                        d.select_Layer3 = SelectedFilter.layer3;
 | 
					                        d.select_Layer3 = SelectedFilter.layer3;
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
@ -656,7 +659,7 @@
 | 
				
			|||||||
                                        device_number: temp_device.device_number,
 | 
					                                        device_number: temp_device.device_number,
 | 
				
			||||||
                                        device_name: temp_device.device_name,
 | 
					                                        device_name: temp_device.device_name,
 | 
				
			||||||
                                        building_name: temp_device.building_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,
 | 
					                                        ip_address: temp_device.ip_address,
 | 
				
			||||||
                                        disaster: temp_device.disaster,
 | 
					                                        disaster: temp_device.disaster,
 | 
				
			||||||
                                        disaster_name: temp_device.disaster_name,
 | 
					                                        disaster_name: temp_device.disaster_name,
 | 
				
			||||||
@ -669,10 +672,10 @@
 | 
				
			|||||||
                                        alarm_timestamp: alarm_device.alarm_timestamp,
 | 
					                                        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) {
 | 
					                                    if (temp_building_index < 0) {
 | 
				
			||||||
                                        var building_obj = {
 | 
					                                        var building_obj = {
 | 
				
			||||||
                                            building_guid: temp_device.building_guid,
 | 
					                                            building_tag: temp_device.building_tag,
 | 
				
			||||||
                                            device_amount: 1
 | 
					                                            device_amount: 1
 | 
				
			||||||
                                        }
 | 
					                                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -681,10 +684,10 @@
 | 
				
			|||||||
                                        backfill_building_alarm_device_amount[temp_building_index].device_amount += 1;
 | 
					                                        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) {
 | 
					                                    if (temp_layer2_index < 0) {
 | 
				
			||||||
                                        var layer2_obj = {
 | 
					                                        var layer2_obj = {
 | 
				
			||||||
                                            building_guid: temp_device.building_guid,
 | 
					                                            building_tag: temp_device.building_tag,
 | 
				
			||||||
                                            value: temp_device.layer2,
 | 
					                                            value: temp_device.layer2,
 | 
				
			||||||
                                            device_amount: 1
 | 
					                                            device_amount: 1
 | 
				
			||||||
                                        }
 | 
					                                        }
 | 
				
			||||||
@ -694,10 +697,10 @@
 | 
				
			|||||||
                                        backfill_layer2_alarm_device_amount[temp_layer2_index].device_amount += 1;
 | 
					                                        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) {
 | 
					                                    if (temp_layer3_index < 0) {
 | 
				
			||||||
                                        var layer3_obj = {
 | 
					                                        var layer3_obj = {
 | 
				
			||||||
                                            building_guid: temp_device.building_guid,
 | 
					                                            building_tag: temp_device.building_tag,
 | 
				
			||||||
                                            layer2: temp_device.layer2,
 | 
					                                            layer2: temp_device.layer2,
 | 
				
			||||||
                                            layer3: temp_device.layer3,
 | 
					                                            layer3: temp_device.layer3,
 | 
				
			||||||
                                            device_amount: 1
 | 
					                                            device_amount: 1
 | 
				
			||||||
@ -764,10 +767,10 @@
 | 
				
			|||||||
                                            device_amount: layer3.device_amount
 | 
					                                            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) {
 | 
					                                        if (temp_building_index < 0) {
 | 
				
			||||||
                                            var building_obj = {
 | 
					                                            var building_obj = {
 | 
				
			||||||
                                                building_guid: building.guid,
 | 
					                                                building_tag: building.guid,
 | 
				
			||||||
                                                device_amount: new_layer3.device_amount
 | 
					                                                device_amount: new_layer3.device_amount
 | 
				
			||||||
                                            }
 | 
					                                            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -776,10 +779,10 @@
 | 
				
			|||||||
                                            backfill_building_device_amount[temp_building_index].device_amount += new_layer3.device_amount;
 | 
					                                            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) {
 | 
					                                        if (temp_layer2_index < 0) {
 | 
				
			||||||
                                            var layer2_obj = {
 | 
					                                            var layer2_obj = {
 | 
				
			||||||
                                                building_guid: building.guid,
 | 
					                                                building_tag: building.guid,
 | 
				
			||||||
                                                value: layer2.value,
 | 
					                                                value: layer2.value,
 | 
				
			||||||
                                                device_amount: new_layer3.device_amount
 | 
					                                                device_amount: new_layer3.device_amount
 | 
				
			||||||
                                            }
 | 
					                                            }
 | 
				
			||||||
@ -789,10 +792,10 @@
 | 
				
			|||||||
                                            backfill_layer2_device_amount[temp_layer2_index].device_amount += new_layer3.device_amount;
 | 
					                                            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) {
 | 
					                                        if (temp_layer3_index < 0) {
 | 
				
			||||||
                                            var layer3_obj = {
 | 
					                                            var layer3_obj = {
 | 
				
			||||||
                                                building_guid: building.guid,
 | 
					                                                building_tag: building.guid,
 | 
				
			||||||
                                                layer2: layer2.value,
 | 
					                                                layer2: layer2.value,
 | 
				
			||||||
                                                layer3: layer3.value,
 | 
					                                                layer3: layer3.value,
 | 
				
			||||||
                                                device_amount: new_layer3.device_amount
 | 
					                                                device_amount: new_layer3.device_amount
 | 
				
			||||||
@ -909,7 +912,7 @@
 | 
				
			|||||||
                var html = "";
 | 
					                var html = "";
 | 
				
			||||||
                temp_all_building.forEach(function (building, building_index) {
 | 
					                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 += `<div class="btn-group ml-2" onclick="SelectBuilding('${building.guid}',this)">
 | 
					                    @*html += `<div class="btn-group ml-2" onclick="SelectBuilding('${building.guid}',this)">
 | 
				
			||||||
                                <button type="button" class="btn btn-secondary">${building.name}</button>
 | 
					                                <button type="button" class="btn btn-secondary">${building.name}</button>
 | 
				
			||||||
@ -941,10 +944,10 @@
 | 
				
			|||||||
        //#endregion
 | 
					        //#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //#region 選擇棟別
 | 
					        //#region 選擇棟別
 | 
				
			||||||
        function SelectBuilding(building_guid, 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_guid = building_guid;
 | 
					            SelectedFilter.building_tag = building_tag;
 | 
				
			||||||
            if (show_mode == 'alarm') {
 | 
					            if (show_mode == 'alarm') {
 | 
				
			||||||
                $(e).find('button').addClass('btn-success');
 | 
					                $(e).find('button').addClass('btn-success');
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
@ -963,7 +966,7 @@
 | 
				
			|||||||
            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.guid == SelectedFilter.building_guid) { //抓取選擇棟別的底下樓層
 | 
					                        if (building.guid == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層
 | 
				
			||||||
                            building.groupFloors.forEach(function (floor, floor_index) {
 | 
					                            building.groupFloors.forEach(function (floor, floor_index) {
 | 
				
			||||||
                                if (temp_all_floor.findIndex(x => x.guid == floor.guid) < 0) { //表示未加入,需加入
 | 
					                                if (temp_all_floor.findIndex(x => x.guid == floor.guid) < 0) { //表示未加入,需加入
 | 
				
			||||||
                                    temp_all_floor.push(floor);
 | 
					                                    temp_all_floor.push(floor);
 | 
				
			||||||
@ -1034,7 +1037,7 @@
 | 
				
			|||||||
            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.guid == SelectedFilter.building_guid) { //抓取選擇棟別的底下樓層
 | 
					                        if (building.guid == 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.guid) > -1) { //抓取選擇樓層的底下大類
 | 
					                                if (SelectedFilter.floor_guids.findIndex(x => x == floor.guid) > -1) { //抓取選擇樓層的底下大類
 | 
				
			||||||
                                    floor.groupLayer2s.forEach(function (layer2, layer2_index) {
 | 
					                                    floor.groupLayer2s.forEach(function (layer2, layer2_index) {
 | 
				
			||||||
@ -1056,18 +1059,18 @@
 | 
				
			|||||||
            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_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 += `
 | 
				
			||||||
                        <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_guid}_${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_guid}_${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>`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
@ -1125,7 +1128,7 @@
 | 
				
			|||||||
            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.guid == SelectedFilter.building_guid) { //抓取選擇棟別的底下樓層
 | 
					                        if (building.guid == 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.guid) > -1) { //抓取選擇樓層的底下大類
 | 
					                                if (SelectedFilter.floor_guids.findIndex(x => x == floor.guid) > -1) { //抓取選擇樓層的底下大類
 | 
				
			||||||
                                    floor.groupLayer2s.forEach(function (layer2, layer2_index) {
 | 
					                                    floor.groupLayer2s.forEach(function (layer2, layer2_index) {
 | 
				
			||||||
@ -1161,18 +1164,18 @@
 | 
				
			|||||||
            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_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 += `
 | 
				
			||||||
                        <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_guid}_${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_guid}_${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>`;
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1226,20 +1229,20 @@
 | 
				
			|||||||
        function ResetDeviceTable() {
 | 
					        function ResetDeviceTable() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if ((SelectedFilter.disasters == null || SelectedFilter.disasters.length <= 0)
 | 
					            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.floor_guids == null || SelectedFilter.floor_guids.length <= 0)
 | 
				
			||||||
                || (SelectedFilter.layer3 == null || SelectedFilter.layer3.length <= 0)
 | 
					                || (SelectedFilter.layer3 == null || SelectedFilter.layer3.length <= 0)
 | 
				
			||||||
            ) {
 | 
					            ) {
 | 
				
			||||||
                return;
 | 
					                return;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (changeBuilding != "" && changeBuilding != SelectedFilter.building_guid) {
 | 
					            if (changeBuilding != "" && changeBuilding != SelectedFilter.building_tag) {
 | 
				
			||||||
                alarmDeviceTable.clear().draw();
 | 
					                alarmDeviceTable.clear().draw();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else {
 | 
					            else {
 | 
				
			||||||
                alarmDeviceTable.ajax.reload(null, false);
 | 
					                alarmDeviceTable.ajax.reload(null, false);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            changeBuilding = SelectedFilter.building_guid;
 | 
					            changeBuilding = SelectedFilter.building_tag;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        //#endregion
 | 
					        //#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1250,39 +1253,39 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if (show_mode == 'alarm') {
 | 
					            if (show_mode == 'alarm') {
 | 
				
			||||||
                backfill_building_alarm_device_amount.forEach(function (building, index) {
 | 
					                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) {
 | 
					                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) {
 | 
					                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 {
 | 
					            } else {
 | 
				
			||||||
                backfill_building_device_amount.forEach(function (building, index) {
 | 
					                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) {
 | 
					                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) {
 | 
					                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
 | 
					        //#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //#region 變更右方地圖(改為跳新分頁)
 | 
					        //#region 變更右方地圖(改為跳新分頁)
 | 
				
			||||||
        function ChangeFloormap(building_guid, floor_guid, device_number, layer3) {
 | 
					        function ChangeFloormap(building_tag, floor_guid, device_number, layer3) {
 | 
				
			||||||
            @*
 | 
					            @*
 | 
				
			||||||
            $("#iframe-floormap").empty();
 | 
					            $("#iframe-floormap").empty();
 | 
				
			||||||
            $("#iframe-floormap").append(
 | 
					            $("#iframe-floormap").append(
 | 
				
			||||||
                `<iframe src="http://60.251.164.125:8080/file/BajascriptTest/_FloorMap.html?building_guid=${building_guid}&floor_guid=${floor_guid}&layer3=${layer3}&device_number=${device_number}&show_cctv=1" width="100%" height="100%;" scrolling="no"></iframe>`
 | 
					                `<iframe src="http://60.251.164.125:8080/file/BajascriptTest/_FloorMap.html?building_tag=${building_tag}&floor_guid=${floor_guid}&layer3=${layer3}&device_number=${device_number}&show_cctv=1" width="100%" height="100%;" scrolling="no"></iframe>`
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
            *@
 | 
					            *@
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -1312,7 +1315,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_guid,
 | 
					                build: SelectedFilter.building_tag,
 | 
				
			||||||
                disaster: disaster,
 | 
					                disaster: disaster,
 | 
				
			||||||
                type: type,
 | 
					                type: type,
 | 
				
			||||||
                device: guid
 | 
					                device: guid
 | 
				
			||||||
@ -1418,6 +1421,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        //#region 模擬演練 / SOP modal 開啟發送簡訊Modal
 | 
					        //#region 模擬演練 / SOP modal 開啟發送簡訊Modal
 | 
				
			||||||
        function OpenSendSMSModal() {
 | 
					        function OpenSendSMSModal() {
 | 
				
			||||||
 | 
					            ToVerifyType = 2;
 | 
				
			||||||
            $('#send-sms-modal').modal();
 | 
					            $('#send-sms-modal').modal();
 | 
				
			||||||
            SmsMemberTable.ajax.reload();
 | 
					            SmsMemberTable.ajax.reload();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -1731,7 +1735,7 @@
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                    EmerLastsetting = $('#bigsetting').find('.active').attr('mas');
 | 
					                    EmerLastsetting = $('#bigsetting').find('.active').attr('mas');
 | 
				
			||||||
                    ToVerifyType = 0;
 | 
					                    ToVerifyType = 0;
 | 
				
			||||||
                    $('.modal-title').html("指揮官驗證");
 | 
					                    //$('.modal-title').html("指揮官驗證");
 | 
				
			||||||
                    $('#small_setting').hide();
 | 
					                    $('#small_setting').hide();
 | 
				
			||||||
                    $('#emergency_verify_input').val('');
 | 
					                    $('#emergency_verify_input').val('');
 | 
				
			||||||
                    $('#emergency-verify-modal').modal();
 | 
					                    $('#emergency-verify-modal').modal();
 | 
				
			||||||
@ -1747,6 +1751,7 @@
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        function PassVerify(Vbool) {
 | 
					        function PassVerify(Vbool) {
 | 
				
			||||||
 | 
					            console.log(SmsMemberTable.data().toArray())
 | 
				
			||||||
            if (ToVerifyType == 0) {
 | 
					            if (ToVerifyType == 0) {
 | 
				
			||||||
                if (Vbool) {
 | 
					                if (Vbool) {
 | 
				
			||||||
                    var url = "api/EmergencyDevice/CheckVerifybool";
 | 
					                    var url = "api/EmergencyDevice/CheckVerifybool";
 | 
				
			||||||
@ -1815,6 +1820,109 @@
 | 
				
			|||||||
                    $('#emergency-verify-modal').modal('hide');
 | 
					                    $('#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() {
 | 
					        function Closemodal() {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user