diff --git a/Controllers/AuthApiController.cs b/Controllers/AuthApiController.cs index 293c57d..f24f99b 100644 --- a/Controllers/AuthApiController.cs +++ b/Controllers/AuthApiController.cs @@ -57,6 +57,80 @@ namespace Journeys_WantHome.Controllers 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(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("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(tmpItem); + } + + intOrder++; + } + + ret.ret = "yes"; + + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + [Route("addEditDelItem")] public ActionResult AddEditDelItem(IFormCollection obj) { optionItemResult ret = new optionItemResult(); diff --git a/Views/Home/OptionList.cshtml b/Views/Home/OptionList.cshtml index 6bc8027..797a441 100644 --- a/Views/Home/OptionList.cshtml +++ b/Views/Home/OptionList.cshtml @@ -12,7 +12,7 @@ @section Script { - + }
diff --git a/wwwroot/assets/javascript/custom/optionlist.js b/wwwroot/assets/javascript/custom/optionlist.js index 2780981..f02b74c 100644 --- a/wwwroot/assets/javascript/custom/optionlist.js +++ b/wwwroot/assets/javascript/custom/optionlist.js @@ -1,4 +1,5 @@ var tmpNestableObj; +var tmpNestableItem; $(document).ready(function () { 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) { - alert($(obj).attr("data-type")); - alert(window.JSON.stringify($(obj).nestable('serialize'))); + //alert($(obj).attr("data-type")); + //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() { var formData = { @@ -267,13 +338,13 @@ function optionItemHtml(item) { } 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 option_name = $(obj).parent().parent().parent().parent().parent().parent().find('.card-header.border-bottom-0').text(); $('#method').val('edit'); $('#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")); $('#optionItemModal').modal('toggle'); @@ -285,7 +356,44 @@ function editBtnClick(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) {