diff --git a/Controllers/ApiController.cs b/Controllers/ApiController.cs index 62af7da..4196623 100644 --- a/Controllers/ApiController.cs +++ b/Controllers/ApiController.cs @@ -898,7 +898,174 @@ namespace Journeys_WantHome.Controllers return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); } - List kols = conn.Query("select * from kol order by kol_modifydate desc").ToList(); + string is_filiter = obj["is_filiter"].ToString(); + string kolMediaJson = obj["kolMediaJson"].ToString(); + string kolMakeupJson = obj["kolMakeupJson"].ToString(); + string kolStyleJson = obj["kolStyleJson"].ToString(); + string kolFansTypeJson = obj["kolFansTypeJson"].ToString(); + string kolTagsJson = obj["kolTagsJson"].ToString(); + + string SQLString = ""; + + if (is_filiter == "Y") + { + string whereString = ""; + + SQLString += "SELECT distinct kol.kol_sn, kol.kol_uid, kol.kol_name, kol.kol_photo, kol.kol_descript, kol.kol_men_ratio, "; + SQLString += " kol.kol_women_ratio, kol.kol_13_17, kol.kol_18_24, kol.kol_25_34, kol.kol_35_44, "; + SQLString += " kol.kol_45_54, kol.kol_55_64, kol.kol_65, kol.kol_contact1, kol.kol_contact2, "; + SQLString += " kol.kol_createdate, kol.kol_modifydate, kol.kol_create_userId, kol.kol_modify_userId "; + SQLString += "FROM kol LEFT OUTER JOIN "; + SQLString += " kolFansType ON kol.kol_uid = kolFansType.kol_uid LEFT OUTER JOIN "; + SQLString += " kolMakeup ON kol.kol_uid = kolMakeup.kol_uid LEFT OUTER JOIN "; + SQLString += " kolTag ON kol.kol_uid = kolTag.kol_uid LEFT OUTER JOIN "; + SQLString += " kolStyle ON kol.kol_uid = kolStyle.kol_uid LEFT OUTER JOIN "; + SQLString += " kolMedia ON kol.kol_uid = kolMedia.kol_uid "; + + if (kolMediaJson != "") { + dynamic kolMediaObj; + + try + { + kolMediaObj = JsonConvert.DeserializeObject(kolMediaJson); + } + catch (Exception ex) + { + ret.ret = "no"; + ret.err_code = "0003"; + ret.message = "media json error" + ex.Message; + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + + string filiterSql = ""; + + foreach (dynamic item in kolMediaObj) { + filiterSql += " kolMedia.optionItem_uid = '" + item.optionItem + "' Or"; + } + + filiterSql = " and (" + filiterSql.TrimEnd('r').TrimEnd('O') + ") "; + whereString += filiterSql; + } + + if (kolMakeupJson != "") + { + dynamic kolMakeupObj; + + try + { + kolMakeupObj = JsonConvert.DeserializeObject(kolMakeupJson); + } + catch (Exception ex) + { + ret.ret = "no"; + ret.err_code = "0003"; + ret.message = "media json error" + ex.Message; + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + + string filiterSql = ""; + + foreach (dynamic item in kolMakeupObj) + { + filiterSql += " kolMakeup.optionItem_uid = '" + item.optionItem + "' Or"; + } + + filiterSql = " and (" + filiterSql.TrimEnd('r').TrimEnd('O') + ") "; + whereString += filiterSql; + } + + if (kolStyleJson != "") + { + dynamic kolStyleObj; + + try + { + kolStyleObj = JsonConvert.DeserializeObject(kolStyleJson); + } + catch (Exception ex) + { + ret.ret = "no"; + ret.err_code = "0003"; + ret.message = "media json error" + ex.Message; + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + + string filiterSql = ""; + + foreach (dynamic item in kolStyleObj) + { + filiterSql += " kolStyle.optionItem_uid = '" + item.optionItem + "' Or"; + } + + filiterSql = " and (" + filiterSql.TrimEnd('r').TrimEnd('O') + ") "; + whereString += filiterSql; + } + + if (kolFansTypeJson != "") + { + dynamic kolFansTypeObj; + + try + { + kolFansTypeObj = JsonConvert.DeserializeObject(kolFansTypeJson); + } + catch (Exception ex) + { + ret.ret = "no"; + ret.err_code = "0003"; + ret.message = "media json error" + ex.Message; + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + + string filiterSql = ""; + + foreach (dynamic item in kolFansTypeObj) + { + filiterSql += " kolFansType.optionItem_uid = '" + item.optionItem + "' Or"; + } + + filiterSql = " and (" + filiterSql.TrimEnd('r').TrimEnd('O') + ") "; + whereString += filiterSql; + } + + if (kolTagsJson != "") + { + dynamic kolTagsObj; + + try + { + kolTagsObj = JsonConvert.DeserializeObject(kolTagsJson); + } + catch (Exception ex) + { + ret.ret = "no"; + ret.err_code = "0003"; + ret.message = "media json error" + ex.Message; + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + + string filiterSql = ""; + + foreach (dynamic item in kolTagsObj) + { + filiterSql += " kolTag.tag_uid = '" + item.tag_uid + "' Or"; + } + + filiterSql = " and (" + filiterSql.TrimEnd('r').TrimEnd('O') + ") "; + whereString += filiterSql; + } + + if (whereString != "") { + SQLString = SQLString + " where 1=1 " + whereString + " order by kol_modifydate desc"; + } + + + } + else { + SQLString = "select * from kol order by kol_modifydate desc"; + } + + List kols = conn.Query(SQLString).ToList(); foreach (kol kolItem in kols) { diff --git a/Views/Home/KolList.cshtml b/Views/Home/KolList.cshtml index 22e5707..f462f39 100644 --- a/Views/Home/KolList.cshtml +++ b/Views/Home/KolList.cshtml @@ -65,6 +65,10 @@ +
+ + +
diff --git a/wwwroot/assets/javascript/custom/kollist.js b/wwwroot/assets/javascript/custom/kollist.js index 2c8e287..f894630 100644 --- a/wwwroot/assets/javascript/custom/kollist.js +++ b/wwwroot/assets/javascript/custom/kollist.js @@ -591,6 +591,174 @@ $(document).ready(function () { }); + //重設鍵 + $('#resetBtn').on('click', function () { + + + $.ajax({ + url: "/Api/kolList", + type: "post", + data: null, + success: function (data, textStatus, jqXHR) { + var obj = data.kolList; + if (data.ret == "yes") { + $('#adv-search-btn').trigger('click'); + + $("#collapseOne1 input[type=checkbox]").each(function (index, checkbox) { + checkbox.checked = false; + }); + + $('#kol_tags2').empty(); + $('#kol_tags2').val(null).trigger('change'); + + $('#dt-responsive').dataTable().fnClearTable(); + if (data.kolList.length > 0) { + + $('#dt-responsive').dataTable().fnAddData(data.kolList); + + + } + } else { + alert(data.message); + + if (data.err_code == "99999") { + location.href = "/Root/Login"; + } + } + }, + error: function (jqXHR, textStatus, errorThrown) { + alert('網路或伺服器發生錯誤,請稍後重試!'); + } + }); + }); + + //篩選鍵 + $('#filiterBtn').on('click', function () { + var kolMedia = []; + var kolMakeup = []; + var kolStyle = []; + var kolFansType = []; + var kolTags = []; + var tags = $('#kol_tags2').val(); + var kolMediaJson = ""; + var kolMakeupJson = ""; + var kolStyleJson = ""; + var kolFansTypeJson = ""; + var kolTagsJson = ""; + + $.each($('input[name="media2[]"]:checked'), function () { + var item = { + 'optionItem': $(this).val() + } + + + kolMedia.push(item); + }); + + $.each($('input[name="kolMakeup2[]"]:checked'), function () { + var item = { + 'optionItem': $(this).val() + } + + + kolMakeup.push(item); + }); + + $.each($('input[name="kolStyle2[]"]:checked'), function () { + var item = { + 'optionItem': $(this).val() + } + + + kolStyle.push(item); + }); + + $.each($('input[name="fansType2[]"]:checked'), function () { + var item = { + 'optionItem': $(this).val() + } + + + kolFansType.push(item); + }); + + $.each(tags, function (key, value) { + var item = { + 'tag_uid': value + } + kolTags.push(item); + }); + + var hasFiliter = 'N'; + + if (kolMedia.length > 0) { + kolMediaJson = JSON.stringify(kolMedia); + hasFiliter = 'Y'; + } + + if (kolMakeup.length > 0) { + kolMakeupJson = JSON.stringify(kolMakeup); + hasFiliter = 'Y'; + } + + if (kolStyle.length > 0) { + kolStyleJson = JSON.stringify(kolStyle); + hasFiliter = 'Y'; + } + + if (kolFansType.length > 0) { + kolFansTypeJson = JSON.stringify(kolFansType); + hasFiliter = 'Y'; + } + + if (kolTags.length > 0) { + kolTagsJson = JSON.stringify(kolTags); + hasFiliter = 'Y'; + } + + if (hasFiliter == 'N') { + alert('請勾選想要篩選的條件!'); + return; + } + + var formData = { + is_filiter: 'Y', + kolMediaJson: kolMediaJson, + kolMakeupJson: kolMakeupJson, + kolStyleJson: kolStyleJson, + kolFansTypeJson: kolFansTypeJson, + kolTagsJson: kolTagsJson + } + + $.ajax({ + url: "/Api/kolList", + type: "post", + data: formData, + success: function (data, textStatus, jqXHR) { + var obj = data.kolList; + if (data.ret == "yes") { + + $('#dt-responsive').dataTable().fnClearTable(); + if (data.kolList.length > 0) { + + $('#dt-responsive').dataTable().fnAddData(data.kolList); + + + } + } else { + alert(data.message); + + if (data.err_code == "99999") { + location.href = "/Root/Login"; + } + } + }, + error: function (jqXHR, textStatus, errorThrown) { + alert('網路或伺服器發生錯誤,請稍後重試!'); + } + }); + }); + $("#project_year").on('change', function () { loadprojectList(); }); @@ -1687,7 +1855,7 @@ function cleanModalData() { $("#kol_uid").val(""); $("#kol_name").val(""); $("#kol_descript").val(""); - $("input[type=checkbox]").each(function (index, checkbox) { + $("#clientNewModal input[type=checkbox]").each(function (index, checkbox) { checkbox.checked = false; }); @@ -2004,7 +2172,7 @@ function clearKolProjectTable() { $(item).remove(); }); - $("input[type=checkbox]").each(function (index, checkbox) { + $("#clientNewKolProjectModal input[type=checkbox]").each(function (index, checkbox) { checkbox.checked = false; }); }