項目選項維護功能完成
parent
b845ec25e7
commit
6c66b16c2e
|
|
@ -57,6 +57,80 @@ namespace Journeys_WantHome.Controllers
|
||||||
this._httpContextAccessor = httpContextAccessor;
|
this._httpContextAccessor = httpContextAccessor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Route("optionItemOrder")]
|
||||||
|
public ActionResult OptionItemOrder(IFormCollection obj) {
|
||||||
|
signinResult ret = new signinResult();
|
||||||
|
|
||||||
|
authToken token = new authToken(this._httpContextAccessor);
|
||||||
|
if (token.user_isLogin == false)
|
||||||
|
{
|
||||||
|
HttpContext.Response.Cookies.Delete("token_key");
|
||||||
|
ret.ret = "no";
|
||||||
|
ret.err_code = "99999";
|
||||||
|
ret.message = "非登入狀態!";
|
||||||
|
return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (token.user_perm != "system")
|
||||||
|
{
|
||||||
|
ret.ret = "no";
|
||||||
|
ret.err_code = "90001";
|
||||||
|
ret.message = "此帳號無此api使用權限!";
|
||||||
|
return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8");
|
||||||
|
}
|
||||||
|
|
||||||
|
string option_uid = obj["option_uid"].ToString();
|
||||||
|
string orderJson = obj["order_json"].ToString();
|
||||||
|
|
||||||
|
if (option_uid == "")
|
||||||
|
{
|
||||||
|
ret.ret = "no";
|
||||||
|
ret.err_code = "00001";
|
||||||
|
ret.message = "無option_uid資料!";
|
||||||
|
return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (orderJson == "") {
|
||||||
|
ret.ret = "no";
|
||||||
|
ret.err_code = "00002";
|
||||||
|
ret.message = "無order_json資料!";
|
||||||
|
return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8");
|
||||||
|
}
|
||||||
|
|
||||||
|
dynamic orderObj;
|
||||||
|
|
||||||
|
try {
|
||||||
|
orderObj = JsonConvert.DeserializeObject<dynamic>(orderJson);
|
||||||
|
} catch (Exception ex)
|
||||||
|
{
|
||||||
|
ret.ret = "no";
|
||||||
|
ret.err_code = "00003";
|
||||||
|
ret.message = "json文字轉成物件失敗 " + ex.Message;
|
||||||
|
return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int intOrder = 1;
|
||||||
|
|
||||||
|
foreach (dynamic tmpObj in orderObj) {
|
||||||
|
string optionItem_uid = tmpObj.id;
|
||||||
|
|
||||||
|
optionItem tmpItem = conn.QueryFirstOrDefault<optionItem>("select * from optionItem where option_uid = @option_uid and optionItem_uid = @optionItem_uid", new { option_uid = option_uid, optionItem_uid = optionItem_uid});
|
||||||
|
|
||||||
|
if (tmpItem != null)
|
||||||
|
{
|
||||||
|
tmpItem.optionItem_order = intOrder;
|
||||||
|
conn.Update<optionItem>(tmpItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
intOrder++;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret.ret = "yes";
|
||||||
|
|
||||||
|
return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8");
|
||||||
|
}
|
||||||
|
|
||||||
[Route("addEditDelItem")]
|
[Route("addEditDelItem")]
|
||||||
public ActionResult AddEditDelItem(IFormCollection obj) {
|
public ActionResult AddEditDelItem(IFormCollection obj) {
|
||||||
optionItemResult ret = new optionItemResult();
|
optionItemResult ret = new optionItemResult();
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
@section Script {
|
@section Script {
|
||||||
<script src="~/assets/vendor/sortablejs/Sortable.min.js"></script>
|
<script src="~/assets/vendor/sortablejs/Sortable.min.js"></script>
|
||||||
<script src="~/assets/vendor/nestable2/jquery.nestable.min.js"></script>
|
<script src="~/assets/vendor/nestable2/jquery.nestable.min.js"></script>
|
||||||
<script src="~/assets/javascript/custom/optionlist.js?v=1"></script>
|
<script src="~/assets/javascript/custom/optionlist.js?v=3"></script>
|
||||||
}
|
}
|
||||||
<!-- .page-inner -->
|
<!-- .page-inner -->
|
||||||
<div class="page-inner">
|
<div class="page-inner">
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
var tmpNestableObj;
|
var tmpNestableObj;
|
||||||
|
var tmpNestableItem;
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
loadKolMakeupList();
|
loadKolMakeupList();
|
||||||
|
|
@ -50,6 +51,47 @@ $(document).ready(function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (method == 'edit') {
|
||||||
|
if (optionItem_name == '') {
|
||||||
|
alert('請輸入項目名稱!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var formData = {
|
||||||
|
option_uid: option_uid,
|
||||||
|
optionItem_uid: optionItem_uid,
|
||||||
|
optionItem_name: optionItem_name,
|
||||||
|
method: method
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/AuthApi/addEditDelItem",
|
||||||
|
type: "post",
|
||||||
|
data: formData,
|
||||||
|
success: function (data, textStatus, jqXHR) {
|
||||||
|
if (data.ret == "yes") {
|
||||||
|
var obj = data.optionItem;
|
||||||
|
|
||||||
|
tmpNestableItem.text(obj.optionItem_name);
|
||||||
|
|
||||||
|
$('#optionItemModal').modal('toggle');
|
||||||
|
|
||||||
|
} else {
|
||||||
|
alert(data.message);
|
||||||
|
|
||||||
|
if (data.err_code == "99999") {
|
||||||
|
location.href = "/Root/Login";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
|
alert('網路或伺服器發生錯誤,請稍後重試!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -218,8 +260,37 @@ function loadKolStyleList() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function nestableChange(obj) {
|
function nestableChange(obj) {
|
||||||
alert($(obj).attr("data-type"));
|
//alert($(obj).attr("data-type"));
|
||||||
alert(window.JSON.stringify($(obj).nestable('serialize')));
|
//alert(window.JSON.stringify($(obj).nestable('serialize')));
|
||||||
|
|
||||||
|
var option_uid = $(obj).attr("data-type");
|
||||||
|
var order_json = window.JSON.stringify($(obj).nestable('serialize'));
|
||||||
|
|
||||||
|
var formData = {
|
||||||
|
option_uid: option_uid,
|
||||||
|
order_json: order_json
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/AuthApi/optionItemOrder",
|
||||||
|
type: "post",
|
||||||
|
data: formData,
|
||||||
|
success: function (data, textStatus, jqXHR) {
|
||||||
|
if (data.ret == "yes") {
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
//alert(data.message);
|
||||||
|
|
||||||
|
if (data.err_code == "99999") {
|
||||||
|
location.href = "/Root/Login";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
|
alert('網路或伺服器發生錯誤,請稍後重試!');
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
function loadKolMakeupList() {
|
function loadKolMakeupList() {
|
||||||
var formData = {
|
var formData = {
|
||||||
|
|
@ -267,13 +338,13 @@ function optionItemHtml(item) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function editBtnClick(obj) {
|
function editBtnClick(obj) {
|
||||||
|
tmpNestableItem = $(obj).parent().parent().find("[data-name='option_name']");
|
||||||
var optionItem_name = $(obj).parent().parent().find("[data-name='option_name']").text();
|
var optionItem_name = $(obj).parent().parent().find("[data-name='option_name']").text();
|
||||||
var option_name = $(obj).parent().parent().parent().parent().parent().parent().find('.card-header.border-bottom-0').text();
|
var option_name = $(obj).parent().parent().parent().parent().parent().parent().find('.card-header.border-bottom-0').text();
|
||||||
|
|
||||||
$('#method').val('edit');
|
$('#method').val('edit');
|
||||||
$('#option_name').val();
|
$('#option_name').val();
|
||||||
$('#option_uid').val($(obj).attr("data-parent-type"));
|
$('#option_uid').val($(obj).attr("data-parent-uid"));
|
||||||
$('#optionItem_uid').val($(obj).attr("data-uid"));
|
$('#optionItem_uid').val($(obj).attr("data-uid"));
|
||||||
$('#optionItemModal').modal('toggle');
|
$('#optionItemModal').modal('toggle');
|
||||||
|
|
||||||
|
|
@ -285,7 +356,44 @@ function editBtnClick(obj) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function delBtnClick(obj) {
|
function delBtnClick(obj) {
|
||||||
alert($(obj).attr("data-parent-uid"));
|
|
||||||
|
|
||||||
|
if (confirm('確定刪除此筆資料? 刪掉後,網紅中有勾選此項目的此項目紀錄會消失,新增一筆相同名稱的項目也無法復原!')) {
|
||||||
|
if (confirm('再次確認要刪除此筆資料?')) {
|
||||||
|
tmpNestableItem = $(obj).parent().parent().find("[data-name='option_name']");
|
||||||
|
var optionItem_name = $(obj).parent().parent().find("[data-name='option_name']").text();
|
||||||
|
var option_name = $(obj).parent().parent().parent().parent().parent().parent().find('.card-header.border-bottom-0').text();
|
||||||
|
var option_uid = $(obj).attr("data-parent-uid");
|
||||||
|
var optionItem_uid = $(obj).attr("data-uid");
|
||||||
|
|
||||||
|
var formData = {
|
||||||
|
option_uid: option_uid,
|
||||||
|
optionItem_uid: optionItem_uid,
|
||||||
|
method: 'del'
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/AuthApi/addEditDelItem",
|
||||||
|
type: "post",
|
||||||
|
data: formData,
|
||||||
|
success: function (data, textStatus, jqXHR) {
|
||||||
|
if (data.ret == "yes") {
|
||||||
|
tmpNestableItem.parent().remove();
|
||||||
|
|
||||||
|
} else {
|
||||||
|
alert(data.message);
|
||||||
|
|
||||||
|
if (data.err_code == "99999") {
|
||||||
|
location.href = "/Root/Login";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
|
alert('網路或伺服器發生錯誤,請稍後重試!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function addItem(obj) {
|
function addItem(obj) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue