Commit 029404f0 authored by nickchen's avatar nickchen 🎨

up: 調整版本號位置

add: field刪除功能
parent 7eaaba2e
......@@ -25,6 +25,7 @@ using System.Dynamic;
using TokenVault_management.Models;
using Microsoft.Extensions.Localization;
using Microsoft.AspNetCore.Localization;
using DocumentFormat.OpenXml.Spreadsheet;
namespace backstage.Controllers
{
......@@ -2400,7 +2401,6 @@ namespace backstage.Controllers
}
/// <summary>
/// 備份vault ajax
/// </summary>
......@@ -2460,6 +2460,97 @@ namespace backstage.Controllers
}
}
/// <summary>
/// 刪除欄位 ajax
/// </summary>
/// <param name="vault_id"></param>
/// <param name="merchant_id"></param>
/// <param name="field_id"></param>
/// <returns></returns>
[Authorize(Policy = "AdminOnly")]
[HttpPost]
public async Task<ResultModel> DelField(int vault_id, int merchant_id, int field_id)
{
var result = new ResultModel();
// 取得使用者的 "token" Claim 值
//string token = User.FindFirstValue("token");
string msg;
var url = _config["IP"] + "/v2/vault";
var httpMethod = HttpMethod.Post;
var data = new[]{ new {
action = "DEL",
id = field_id,
}};
var parameters = new Dictionary<string, string>
{
{ "info", "FIELDS" },
{ "id", vault_id.ToString() },
{ "Merchant_id", merchant_id.ToString() },
{ "data", JsonConvert.SerializeObject(data)}
};
var apiResult = await _callApi.CallAPI(url, parameters, httpMethod);
if (apiResult.IsSuccess)
{
try
{
var response = JsonConvert.DeserializeObject<Response>(apiResult.Data.ToString());
if (response.r == 0)
{
result.IsSuccess = true;
}
else
{
result.IsSuccess = false;
}
}
catch (Exception ex)
{
result.IsSuccess = false;
}
}
else
{
result.IsSuccess = false;
}
if (result.IsSuccess)
{
switch (_currentLanguage)
{
case "en":
msg = "Delete field success.";
break;
case "zh":
msg = "欄位刪除成功";
break;
default:
msg = "欄位刪除成功";
break;
}
}
else
{
switch (_currentLanguage)
{
case "en":
msg = "Delete field Fail.";
break;
case "zh":
msg = "欄位刪除失敗";
break;
default:
msg = "欄位刪除失敗";
break;
}
}
result.Message = msg;
return result;
}
}
......
......@@ -91,6 +91,10 @@
<a class="dropdown-item" asp-controller="User" asp-action="Logout">
<i class="mdi mdi-logout mr-2 text-danger"></i>@Localizer["Logout"]
</a>
<div class="dropdown-divider"></div>
<div class="versionNo">
@Localizer["version"]: v2.34
</div>
</div>
}
......@@ -185,9 +189,9 @@
<div class="container-fluid page-body-wrapper">
<!-- partial:./partials/_sidebar.html -->
<nav class="sidebar sidebar-offcanvas" id="sidebar">
<div class="versionNo">
<!-- <div class="versionNo">
@Localizer["version"]: v2.34
</div>
</div> -->
<ul class="nav ">
<li class="nav-item">
<a class="nav-link" data-toggle="collapse" href="#Member" aria-expanded="false" aria-controls="Member">
......
......@@ -289,7 +289,8 @@
},
error: function (xhr, status, error) {
// 在發生錯誤時的處理邏輯
console.error(error);
console.log(xhr.responseText);
showAlert(false, "發生錯誤");
}
});
});
......@@ -362,7 +363,8 @@
},
error: function (xhr, status, error) {
// 在發生錯誤時的處理邏輯
console.error(error);
console.log(xhr.responseText);
showAlert(false, "發生錯誤");
}
});
};
......
......@@ -106,7 +106,7 @@
<th>@Localizer["Format"]</th>
<th>@Localizer["Enable"]</th>
<th>@Localizer["Manage"]</th>
<th>@Localizer["Delete"]</th>
</tr>
</thead>
<tbody id="tbody">
......@@ -127,6 +127,11 @@
<a class="btn btnPermission btn-sm masksBtn">@Localizer["Data Mask"]</a>
<a class="btn btnPermission btn-sm usersBtn">@Localizer["Users"] </a>
</td>
<td>
<a id="delFieldBtn" data-field_id="@i.id" data-field_name="@i.name" data-toggle="modal" data-target="#delete-field-modal" title="刪除">
<i class="fa-solid fa-trash-can"></i>
</a>
</td>
</tr>
}
}
......@@ -205,6 +210,34 @@
</div>
<!-- START delete field modal -->
<div class="modal fade " id="delete-field-modal" tabindex="-1" style=" padding-right: 17px;" aria-modal="true" role="dialog">
<div class="modal-dialog modal-md modalforMemberGo">
<div class="modal-content">
<div class="modal-header">
<h4>@Localizer["Delete field"] <span id="delFieldIdName"></span> </h4>
</div>
<div class="modal-body" style="padding-top:35px; padding-bottom: 35px">
<p>
@Localizer["Are you sure you want to delete the field?"]
</p>
<div class="SubmitBlock SubmitBlock_sm">
<button type="button" id="delFieldConfirmBtn" class="btn btn-mainblue-solid" style=""> @Localizer["Confirm"]</button>
<button type="button" class="btn btn-mainblue-hollow" data-dismiss="modal" style=""> @Localizer["Cancel"]</button>
</div>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
<!-- END delete field modal -->
@section Scripts{
......@@ -239,8 +272,48 @@
});
// 欄位刪除Modal被觸發時執行
$('#delete-field-modal').on('show.bs.modal', function (e) {
//show.bs.modal = BS內建,觸發時執行
let btn = $(e.relatedTarget);//抓取觸發按鈕的資料
let fId = btn.data('field_id');
let fName = btn.data('field_name');
let modal = $(this);//要修改的modal就是現在開啟的這個modal
modal.find('#delFieldIdName').text(fId + "_" + fName);
modal.find('#delFieldConfirmBtn').data('field_id', fId);
});
// 確認刪除欄位按鈕點擊
$('#delFieldConfirmBtn').click(function () {
let mId = parseInt('@ViewBag.Merchant_id');
let vId = parseInt('@ViewBag.vault_id');
let fId = $(this).data('field_id');
$.ajax({
url: '/TokenVault/DelField',
type: 'POST',
data: {
merchant_id: mId,
vault_id: vId,
field_id: fId
},
success: function (result) {
//console.log(data);
showAlert(result.isSuccess, result.message);
if (result.isSuccess) {
$('#delete-field-modal').modal('hide');
setTimeout(function () {
location.reload();
}, 2000);
}
},
error: function (xhr, status, error) {
console.log(xhr.responseText);
showAlert(false, "發生錯誤");
}
});
});
////Modal按鈕
//$("#createFieldBtn").on("click", function () {
......
......@@ -19293,9 +19293,9 @@ tbody {
/*版本號樣式*/
.versionNo {
color: #f2f2f2;
color: #abb8c3;
font-size: 0.825rem;
padding: 20px 16px 10px 16px
padding: 10px 16px 10px 16px
}
.floating-msg {
......@@ -19322,11 +19322,6 @@ tbody {
}
.versionNo {
color: #f2f2f2;
font-size: 0.825rem;
padding: 20px 16px 10px 16px
}
.custom-tooltip-width {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment