568 lines
24 KiB
Plaintext
568 lines
24 KiB
Plaintext
|
@{
|
||
|
ViewData["MainNum"] = "3";
|
||
|
ViewData["SubNum"] = "2";
|
||
|
ViewData["Title"] = "人員編組設定";
|
||
|
}
|
||
|
|
||
|
<ol class="breadcrumb page-breadcrumb">
|
||
|
<li class="breadcrumb-item"><a href="javascript:void(0);">首頁</a></li>
|
||
|
<li class="breadcrumb-item active">人員編組設定</li>
|
||
|
<li class="position-absolute pos-top pos-right d-none d-sm-block"><span class="js-get-date"></span></li>
|
||
|
</ol>
|
||
|
|
||
|
<div class="row">
|
||
|
<div class="col-12">
|
||
|
<div id="panel-5" class="panel">
|
||
|
<div class="panel-container show">
|
||
|
<div class="panel-content">
|
||
|
<div class="subheader">
|
||
|
<h1 class="subheader-title">
|
||
|
<span>人員編組設定</span>
|
||
|
</h1>
|
||
|
</div>
|
||
|
<div class="row mb-3 d-flex align-items-center px-3 justify-content-between">
|
||
|
<div class="pr-3 ">
|
||
|
<div class="btn-group btn-group-md" id="Disasterlist">
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="row mb-3 d-flex align-items-center px-3">
|
||
|
<div class="pr-3 ">
|
||
|
<button type="button" class="btn btn-outline-secondary waves-effect waves-themed mb-2" style="border: 1px dashed;" onclick="Addgrouping()"><span class="fal fa-plus mr-1"></span>新增</button>
|
||
|
</div>
|
||
|
<div class="pr-3 row col">
|
||
|
<div class="frame-wrap" id="groupinglist">
|
||
|
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="card border mb-g w-100 mb-5" id="Tablecard">
|
||
|
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap justify-content-between">
|
||
|
<div class="card-title font-weight-bold">人員清單</div>
|
||
|
<div class="text-right ">
|
||
|
<a href="javascript:;" class="btn btn-sm btn-success ml-auto waves-effect waves-themed" id="addUser-btn" onclick="AddMember()"><span class="fal fa-plus mr-1"></span>新增</a>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="card-body">
|
||
|
<div class="w-100">
|
||
|
<div class="col-12">
|
||
|
<table id="emergencyMember_Table" class="table table-bordered table-hover m-0 text-center">
|
||
|
<thead class="thead-themed">
|
||
|
<tr>
|
||
|
<th>序</th>
|
||
|
<th>組別</th>
|
||
|
<th>姓名</th>
|
||
|
<th>部門</th>
|
||
|
<th>電話</th>
|
||
|
<th>Line ID</th>
|
||
|
<th>email</th>
|
||
|
<th>功能</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
<tbody>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="modal fade" id="emergency-grouping-modal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" data-keyboard="false">
|
||
|
<div class="modal-dialog modal-dialog-centered " role="document">
|
||
|
<div class="modal-content">
|
||
|
<div class="modal-header">
|
||
|
<h4 class="modal-title">
|
||
|
編組設定
|
||
|
</h4>
|
||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||
|
<span aria-hidden="true"><i class="fal fa-times"></i></span>
|
||
|
</button>
|
||
|
</div>
|
||
|
<div class="modal-body">
|
||
|
<form id="emergency-grouping-form">
|
||
|
<div class="row">
|
||
|
<div class="form-group col-6">
|
||
|
<label class="form-label" for="emergency_grouping_priority"><span class="text-danger">*</span>排序號</label>
|
||
|
<input class="form-control" type="number" id="emergency_grouping_priority" min="1" />
|
||
|
</div>
|
||
|
<div class="form-group col-6">
|
||
|
<label class="form-label" for="emergency_grouping_name"><span class="text-danger">*</span>組別名稱</label>
|
||
|
<input class="form-control" type="text" id="emergency_grouping_name" />
|
||
|
</div>
|
||
|
</div>
|
||
|
</form>
|
||
|
</div>
|
||
|
<div class="row">
|
||
|
<div class="col-6">
|
||
|
<div class="align-items-center " style="display:flex;flex-wrap: wrap;padding:1rem; " id="deletebtn">
|
||
|
<button type="button" class="btn btn-danger" onclick="DeletedGrouping()">刪除</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col-6">
|
||
|
<div class="modal-footer">
|
||
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
|
||
|
<button type="button" class="btn btn-primary" onclick="SaveGrouping()">儲存</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="modal fade" id="emergency-member-modal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" data-keyboard="false">
|
||
|
<div class="modal-dialog modal-dialog-centered " role="document">
|
||
|
<div class="modal-content">
|
||
|
<div class="modal-header">
|
||
|
<h4 class="modal-title">
|
||
|
人員編組新增
|
||
|
</h4>
|
||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||
|
<span aria-hidden="true"><i class="fal fa-times"></i></span>
|
||
|
</button>
|
||
|
</div>
|
||
|
<div class="modal-body">
|
||
|
<form id="emergency-member-form">
|
||
|
<div class="row">
|
||
|
<div class="form-group col-6">
|
||
|
<label class="form-label" for="emergency_member_name"><span class="text-danger">*</span>姓名</label>
|
||
|
<input class="form-control" type="text" id="emergency_member_name" name="emergency_member_name">
|
||
|
</div>
|
||
|
<div class="form-group col-6">
|
||
|
<label class="form-label" for="emergency_member_dept"><span class="text-danger">*</span>部門</label>
|
||
|
<select class="form-control" id="emergency_member_dept">
|
||
|
|
||
|
</select>
|
||
|
</div>
|
||
|
<div class="form-group col-6">
|
||
|
<label class="form-label" for="emergency_member_phone"><span class="text-danger">*</span>電話</label>
|
||
|
<input class="form-control" type="text" id="emergency_member_phone" name="emergency_member_phone"/>
|
||
|
</div>
|
||
|
<div class="form-group col-6">
|
||
|
<label class="form-label" for="emergency_member_lineid"><span class="text-danger">*</span>LINE ID</label>
|
||
|
<input class="form-control" type="text" id="emergency_member_lineid" name="emergency_member_lineid"/>
|
||
|
</div>
|
||
|
<div class="form-group col-6">
|
||
|
<label class="form-label" for="emergency_member_email"><span class="text-danger">*</span>Email</label>
|
||
|
<input class="form-control" type="text" id="emergency_member_email" name="emergency_member_email"/>
|
||
|
</div>
|
||
|
</div>
|
||
|
</form>
|
||
|
</div>
|
||
|
<div class="modal-footer">
|
||
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
|
||
|
<button type="button" class="btn btn-primary" onclick="SaveMember()">儲存</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
@section Scripts{
|
||
|
<script>
|
||
|
var Selectadisaster;
|
||
|
var selectgroupid = 0;
|
||
|
var selectemergency_member_guid;
|
||
|
var emergencyMemberTable;
|
||
|
$(function () {
|
||
|
emergencyMemberTable = $("#emergencyMember_Table").DataTable({
|
||
|
"columns": [
|
||
|
{
|
||
|
"data": "emergency_member_guid",
|
||
|
"render": function (data, type, row, meta) {
|
||
|
return meta.row + 1;
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"data": "grouping_name"
|
||
|
},
|
||
|
{
|
||
|
"data": "full_name"
|
||
|
},
|
||
|
{
|
||
|
"data": "department_name"
|
||
|
},
|
||
|
{
|
||
|
"data": "phone"
|
||
|
},
|
||
|
{
|
||
|
"data": "lineid"
|
||
|
},
|
||
|
{
|
||
|
"data": "email"
|
||
|
},
|
||
|
{
|
||
|
"data": null,
|
||
|
"defaultContent": '<button class="btn btn-primary edit-btn">修改</button> <button class="btn btn-danger del-btn">刪除</button>'
|
||
|
}
|
||
|
],
|
||
|
'createdRow': function (row, data, dataIndex) {
|
||
|
$(row).attr('guid', data.emergency_member_guid);
|
||
|
},
|
||
|
"ajax": {
|
||
|
"url": "/EmergencyGrouping/Emergency_member_table",
|
||
|
"type": "POST",
|
||
|
"data": function (d) {
|
||
|
d.grouping = selectgroupid
|
||
|
},
|
||
|
"dataSrc": function (rel) {
|
||
|
if (rel.code == "9999") {
|
||
|
toast_error(rel.msg);
|
||
|
return;
|
||
|
}
|
||
|
data = rel.data.data;
|
||
|
if (data == null || data.length == 0) {
|
||
|
|
||
|
this.data = [];
|
||
|
} else {
|
||
|
}
|
||
|
if (selectgroupid == 0) {
|
||
|
$('#Tablecard').hide();
|
||
|
} else {
|
||
|
$('#Tablecard').show();
|
||
|
}
|
||
|
|
||
|
/*$('#floorcard').hide();*/
|
||
|
return data;
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
GetDisasterList();
|
||
|
Getdepartlist();
|
||
|
})
|
||
|
//新增人員驗證
|
||
|
var memberValidate = $("#emergency-member-form").validate({
|
||
|
rules: {
|
||
|
emergency_member_name: {
|
||
|
required: true,
|
||
|
},
|
||
|
emergency_member_phone: {
|
||
|
required: true,
|
||
|
},
|
||
|
emergency_member_lineid: {
|
||
|
required: true,
|
||
|
},
|
||
|
emergency_member_email: {
|
||
|
required: true,
|
||
|
email: true
|
||
|
},
|
||
|
}
|
||
|
});
|
||
|
//儲存人員
|
||
|
function SaveMember() {
|
||
|
if ($("#emergency-member-form").valid()) {
|
||
|
var url = "/EmergencyGrouping/SaveMember";
|
||
|
var send_data = {
|
||
|
emergency_member_guid: selectemergency_member_guid,
|
||
|
grouping: selectgroupid,
|
||
|
full_name: $('#emergency_member_name').val(),
|
||
|
department: $('#emergency_member_dept').val(),
|
||
|
phone: $('#emergency_member_phone').val(),
|
||
|
lineid: $('#emergency_member_lineid').val(),
|
||
|
email: $('#emergency_member_email').val()
|
||
|
};
|
||
|
SaveSpinner(1);
|
||
|
$.post(url, send_data, function (rel) {
|
||
|
if (rel.code != "0000") {
|
||
|
if (rel.code == "9999") {
|
||
|
toast_error(rel.msg);
|
||
|
}
|
||
|
SaveSpinner(0);
|
||
|
return;
|
||
|
}
|
||
|
else {
|
||
|
toast_ok(rel.msg);
|
||
|
emergencyMemberTable.ajax.reload();
|
||
|
$('#emergency-member-modal').modal('hide');
|
||
|
SaveSpinner(0);
|
||
|
return;
|
||
|
}
|
||
|
}, 'json');
|
||
|
}
|
||
|
}
|
||
|
//取得部門
|
||
|
function Getdepartlist() {
|
||
|
var url = "/EmergencyGrouping/Getdepartlist";
|
||
|
var send_data = {};
|
||
|
$.post(url, send_data, function (rel) {
|
||
|
if (rel.code != "0000") {
|
||
|
if (rel.code == "9999") {
|
||
|
toast_error(rel.msg);
|
||
|
}
|
||
|
return;
|
||
|
}
|
||
|
else {
|
||
|
//$('#Disasterlist').empty();
|
||
|
var Disasterstr = "";
|
||
|
$.each(rel.data, function (index, val) {
|
||
|
$('#emergency_member_dept').append($("<option />").val(val.value).text(val.name));
|
||
|
});
|
||
|
$('#emergency_member_dept').append(Disasterstr);
|
||
|
return;
|
||
|
}
|
||
|
}, 'json');
|
||
|
|
||
|
}
|
||
|
//新增人員
|
||
|
function AddMember() {
|
||
|
console.log($('#groupinglist').find('.btn-success').parent('div').attr('grouping'));
|
||
|
selectgroupid = $('#groupinglist').find('.btn-success').parent('div').attr('grouping');
|
||
|
$("#emergency-member-form").trigger("reset");
|
||
|
selectemergency_member_guid = "";
|
||
|
|
||
|
$('#emergency-member-modal').modal();
|
||
|
}
|
||
|
//取得災難類別
|
||
|
function GetDisasterList() {
|
||
|
var url = "/EmergencySetting/DisasterList";
|
||
|
var send_data = {};
|
||
|
$.post(url, send_data, function (rel) {
|
||
|
if (rel.code != "0000") {
|
||
|
if (rel.code == "9999") {
|
||
|
toast_error(rel.msg);
|
||
|
}
|
||
|
return;
|
||
|
}
|
||
|
else {
|
||
|
$('#Disasterlist').empty();
|
||
|
var Disasterstr = "";
|
||
|
$.each(rel.data, function (index, val) {
|
||
|
if (index == 0) {
|
||
|
Disasterstr += '<button type="button" class="btn btn-success waves-effect waves-themed" onclick = "SelectDisaster(' + val.value + ',this)">' + val.name + '</button>';
|
||
|
}
|
||
|
else {
|
||
|
Disasterstr += '<button type="button" class="btn btn-secondary waves-effect waves-themed" onclick = "SelectDisaster(' + val.value + ',this)">' + val.name + '</button>';
|
||
|
}
|
||
|
|
||
|
});
|
||
|
$('#Disasterlist').append(Disasterstr);
|
||
|
$('#Disasterlist').find('.btn-success').trigger('click');
|
||
|
return;
|
||
|
}
|
||
|
}, 'json');
|
||
|
}
|
||
|
//選擇災難類別
|
||
|
function SelectDisaster(Disaster, e) {
|
||
|
Selectadisaster = Disaster;
|
||
|
if ($("#Disasterlist").find('.btn').hasClass("btn-success")) {
|
||
|
$("#Disasterlist").find('.btn').removeClass("btn-success").addClass("btn-secondary");
|
||
|
}
|
||
|
$(e).removeClass("btn-secondary").addClass("btn-success");
|
||
|
GetGroupingList();
|
||
|
selectgroupid = 0;
|
||
|
emergencyMemberTable.ajax.reload();
|
||
|
}
|
||
|
//新增編組
|
||
|
function Addgrouping() {
|
||
|
/*var last = selectgroupid;*/
|
||
|
selectgroupid = 0;
|
||
|
$("#emergency-grouping-form").trigger("reset");
|
||
|
var a = $('#groupinglist').find('.btn-group').length;
|
||
|
$('#emergency_grouping_priority').val(a + 1);
|
||
|
$('#deletebtn').hide();
|
||
|
$('#emergency-grouping-modal').modal();
|
||
|
}
|
||
|
//儲存編組
|
||
|
function SaveGrouping() {
|
||
|
var url = "/EmergencyGrouping/SaveGrouping";
|
||
|
var send_data = {
|
||
|
id: selectgroupid,
|
||
|
priority: $('#emergency_grouping_priority').val(),
|
||
|
name: $('#emergency_grouping_name').val(),
|
||
|
disaster: Selectadisaster
|
||
|
};
|
||
|
SaveSpinner(1);
|
||
|
$.post(url, send_data, function (rel) {
|
||
|
if (rel.code != "0000") {
|
||
|
if (rel.code == "9999") {
|
||
|
toast_error(rel.msg);
|
||
|
}
|
||
|
SaveSpinner(0);
|
||
|
return;
|
||
|
}
|
||
|
else {
|
||
|
toast_ok(rel.msg);
|
||
|
GetGroupingList();
|
||
|
$('#emergency-grouping-modal').modal('hide');
|
||
|
SaveSpinner(0);
|
||
|
return;
|
||
|
}
|
||
|
}, 'json');
|
||
|
}
|
||
|
//取得編組列表
|
||
|
function GetGroupingList() {
|
||
|
var url = "/EmergencyGrouping/GetGroupingList";
|
||
|
var send_data = {
|
||
|
system_parent_id: Selectadisaster
|
||
|
};
|
||
|
$.post(url, send_data, function (rel) {
|
||
|
if (rel.code != "0000") {
|
||
|
if (rel.code == "9999") {
|
||
|
toast_error(rel.msg);
|
||
|
}
|
||
|
return;
|
||
|
}
|
||
|
else {
|
||
|
var grouping = "";
|
||
|
$('#groupinglist').empty();
|
||
|
$.each(rel.data, function (index, val) {
|
||
|
if (val.id == selectgroupid) {
|
||
|
grouping += '<div class="btn-group mb-2 mr-2" grouping = "' + val.id + '">';
|
||
|
grouping += '<button type="button" class="btn btn-success select" onclick="SelectGrouping(' + val.id + ',this)">' + val.name + '</button>';
|
||
|
grouping += '<button type="button" class="btn btn-success edit" ><i class="fal fa-pencil"></i></button>';
|
||
|
grouping += '</div>';
|
||
|
} else {
|
||
|
grouping += '<div class="btn-group mb-2 mr-2" grouping = "' + val.id + '">';
|
||
|
grouping += '<button type="button" class="btn btn-secondary select" onclick="SelectGrouping(' + val.id + ',this)">' + val.name + '</button>';
|
||
|
grouping += '<button type="button" class="btn btn-secondary edit" ><i class="fal fa-pencil"></i></button>';
|
||
|
grouping += '</div>';
|
||
|
}
|
||
|
});
|
||
|
$('#groupinglist').append(grouping);
|
||
|
return;
|
||
|
}
|
||
|
}, 'json');
|
||
|
}
|
||
|
//編輯編組列表單一資料
|
||
|
$('#groupinglist').on("click", "button.edit", function () {
|
||
|
$('#deletebtn').show();
|
||
|
selectgroupid = $(this).parents('div').attr('grouping');
|
||
|
if ($("#groupinglist").find('.btn').hasClass("btn-success")) {
|
||
|
$("#groupinglist").find('.btn').removeClass("btn-success").addClass("btn-secondary");
|
||
|
}
|
||
|
$(this).parent('div').find('.btn').removeClass("btn-secondary").addClass("btn-success");
|
||
|
var url = "/EmergencyGrouping/GetOneGrouping";
|
||
|
var send_data = {
|
||
|
selectgroupid: selectgroupid
|
||
|
};
|
||
|
$.post(url, send_data, function (rel) {
|
||
|
if (rel.code != "0000") {
|
||
|
if (rel.code == "9999") {
|
||
|
toast_error(rel.msg);
|
||
|
}
|
||
|
return;
|
||
|
}
|
||
|
else {
|
||
|
|
||
|
$('#emergency_grouping_priority').val(rel.data.priority);
|
||
|
$('#emergency_grouping_name').val(rel.data.name);
|
||
|
$('#emergency-grouping-modal').modal();
|
||
|
return;
|
||
|
}
|
||
|
}, 'json');
|
||
|
emergencyMemberTable.ajax.reload();
|
||
|
|
||
|
});
|
||
|
//刪除編組列表
|
||
|
function DeletedGrouping() {
|
||
|
var send_data = {
|
||
|
selectgroupid: selectgroupid
|
||
|
};
|
||
|
Swal.fire(
|
||
|
{
|
||
|
title: "刪除",
|
||
|
text: "你確定是否刪除此筆資料?",
|
||
|
type: "warning",
|
||
|
icon: 'warning',
|
||
|
showCancelButton: true,
|
||
|
confirmButtonText: "是",
|
||
|
cancelButtonText: "否"
|
||
|
}).then(function (result) {
|
||
|
if (result.value) {
|
||
|
if ($("#emergencyMember_Table").find(".dataTables_empty").length != 1) {
|
||
|
Swal.fire(
|
||
|
{
|
||
|
title: "刪除失敗",
|
||
|
icon: 'warning',
|
||
|
html: '需先刪除所有相關人員才可進行刪除',
|
||
|
});
|
||
|
return;
|
||
|
} else {
|
||
|
var url = "/EmergencyGrouping/DeleteOne/";
|
||
|
$.post(url, send_data, function (rel) {
|
||
|
if (rel.code == "9999") {
|
||
|
toast_error(rel.msg);
|
||
|
return;
|
||
|
}
|
||
|
toast_ok(rel.msg);
|
||
|
selectgroupid = 0;
|
||
|
$('#emergency-grouping-modal').modal('hide');
|
||
|
GetGroupingList();
|
||
|
}, 'json');
|
||
|
}
|
||
|
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
//選擇編組列表
|
||
|
function SelectGrouping(id, e) {
|
||
|
selectgroupid = id;
|
||
|
if ($("#groupinglist").find('.btn').hasClass("btn-success")) {
|
||
|
$("#groupinglist").find('.btn').removeClass("btn-success").addClass("btn-secondary");
|
||
|
}
|
||
|
$(e).parent('div').find('.btn').removeClass("btn-secondary").addClass("btn-success");
|
||
|
emergencyMemberTable.ajax.reload();
|
||
|
}
|
||
|
//編輯人員單一資料
|
||
|
$('#emergencyMember_Table').on("click", "button.edit-btn", function () {
|
||
|
var url = "/EmergencyGrouping/GetOneMember";
|
||
|
selectemergency_member_guid = $(this).parents('tr').attr('guid');
|
||
|
var send_data = {
|
||
|
guid: selectemergency_member_guid
|
||
|
};
|
||
|
$.post(url, send_data, function (rel) {
|
||
|
if (rel.code != "0000") {
|
||
|
toast_error(rel.msg);
|
||
|
}
|
||
|
else {
|
||
|
$('#emergency_member_name').val(rel.data.full_name);
|
||
|
$('#emergency_member_dept').val(rel.data.department);
|
||
|
$('#emergency_member_phone').val(rel.data.phone);
|
||
|
$('#emergency_member_lineid').val(rel.data.lineid);
|
||
|
$('#emergency_member_email').val(rel.data.email);
|
||
|
$('.modal-title').html("人員編組編輯");
|
||
|
$('#emergency-member-modal').modal();
|
||
|
}
|
||
|
}, 'json');
|
||
|
});
|
||
|
//刪除人員單一資料
|
||
|
$('#emergencyMember_Table').on("click", "button.del-btn", function () {
|
||
|
var url = "/EmergencyGrouping/DeletedOneMember";
|
||
|
selectemergency_member_guid = $(this).parents('tr').attr('guid');
|
||
|
var send_data = {
|
||
|
guid: selectemergency_member_guid
|
||
|
};
|
||
|
|
||
|
Swal.fire(
|
||
|
{
|
||
|
title: "刪除",
|
||
|
text: "你確定是否刪除此筆資料?",
|
||
|
type: "warning",
|
||
|
icon: 'warning',
|
||
|
showCancelButton: true,
|
||
|
confirmButtonText: "是",
|
||
|
cancelButtonText: "否"
|
||
|
}).then(function (result) {
|
||
|
if (result.value) {
|
||
|
$.post(url, send_data, function (rel) {
|
||
|
if (rel.code != "0000") {
|
||
|
toast_error(rel.msg);
|
||
|
}
|
||
|
else {
|
||
|
emergencyMemberTable.ajax.reload();
|
||
|
toast_ok(rel.msg);
|
||
|
}
|
||
|
}, 'json');
|
||
|
}
|
||
|
})
|
||
|
})
|
||
|
|
||
|
</script>
|
||
|
|
||
|
}
|