var mediaTr; var delMedia; $(document).ready(function () { delMedia = ''; loadMedia(); loadKolMakeupCheckboxItem(); loadKolStyleCheckboxItem(); loadKolFansTypeCheckboxItem(); $('#kolSaveBtn').on('click', function () { var method = $('#method').val(); var kol_uid = $('#kol_uid').val(); var kol_name = $('#kol_name').val(); var kol_descript = $('#kol_descript').val(); var kol_contact1 = $('#kol_contact1').val(); var kol_contact2 = $('#kol_contact2').val(); var kol_men_ratio = $('#kol_men_ratio').val(); var kol_women_ratio = $('#kol_women_ratio').val(); var kol_13_17 = $('#kol_13_17').val(); var kol_18_24 = $('#kol_18_24').val(); var kol_25_34 = $('#kol_25_34').val(); var kol_35_44 = $('#kol_35_44').val(); var kol_45_54 = $('#kol_45_54').val(); var kol_55_64 = $('#kol_55_64').val(); var kol_65 = $('#kol_65').val(); var kol_photo = "" var kolMakeupStr = ""; var kolStyleStr = ""; var kolFansType = ""; var mediaArray = []; var src = $('#fileupload-avatar').parent().children('img').prop('src'); var origin = location.origin; src = src.replace(origin, ''); kol_photo = src; $.each($('input[name="kolMakeup[]"]:checked'), function () { kolMakeupStr = kolMakeupStr + $(this).val() + ","; }); $.each($('input[name="kolStyle[]"]:checked'), function () { kolStyleStr = kolStyleStr + $(this).val() + ","; }); $.each($('input[name="fansType[]"]:checked'), function () { kolFansType = kolFansType + $(this).val() + ","; }); $('#media_table tbody tr').each(function () { var item = { kolMedia_uid: $(this).find('td').eq(5).children('button').eq(0).attr('data-uid'), option_uid: 'media', optionItem_uid: $(this).find('td').eq(5).children('button').eq(0).attr('media-uid'), kolMedia_url: $(this).find('td').eq(1).text().trim(), kolMedia_displayName: $(this).find('td').eq(3).text().trim(), kolMedia_accountName: $(this).find('td').eq(2).text().trim(), kolMedia_fansNum: $(this).find('td').eq(4).text().trim() } mediaArray.push(item); }); var err_msg = ""; if (kol_name == "") { err_msg += "KOL頻道名稱未填!\n"; } if (kolMakeupStr == "") { err_msg += "未勾選成員\n"; } if (kolStyleStr == "") { err_msg += "未勾選KOL 類型\n"; } if (kolFansType == "") { err_msg += "未勾選粉絲輪廓\n"; } if (mediaArray.length == 0) { err_msg += "無此KOL社群平台資料!"; } if (err_msg != "") { alert(err_msg); return; } var formData = { method: method, kol_uid: kol_uid, kol_name: kol_name, kol_descript: kol_descript, kol_contact1: kol_contact1, kol_contact2: kol_contact2, kol_men_ratio: kol_men_ratio, kol_women_ratio: kol_women_ratio, kol_13_17: kol_13_17, kol_18_24: kol_18_24, kol_25_34: kol_25_34, kol_35_44: kol_35_44, kol_45_54: kol_45_54, kol_55_64: kol_55_64, kol_65: kol_65, kol_photo: kol_photo, kolMakeupStr: kolMakeupStr, kolStyleStr: kolStyleStr, kolFansType: kolFansType, mediaArrayJson: JSON.stringify(mediaArray) } $.ajax({ url: "/Api/kolAddEditDelGet", 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('網路或伺服器發生錯誤,請稍後重試!'); } }); }); $('#optionItemDialogSaveBtn').on('click', function () { var method = $('#media_method').val(); var option_uid = 'media'; var kolMedia_name = $("#media_select option:selected").text(); var optionItem_uid = $("#media_select").val(); var media_uid = $('#media_select').val(); var kolMedia_url = $('#kolMedia_url').val(); var kolMedia_accountName = $('#kolMedia_accountName').val(); var kolMedia_displayName = $('#kolMedia_displayName').val(); var kolMedia_fansNum = $('#kolMedia_fansNum').val(); var err_msg = ""; if (optionItem_uid == "") { err_msg += "請選擇社群平台\n"; } if (kolMedia_url == "") { err_msg += "請填入KOL的社群平台網址!\n"; } if (checkUrl(kolMedia_url) == false) { err_msg += "請填入正確的社群平台網址!\n"; } if (kolMedia_fansNum.isNumber() == false) { kolMedia_fansNum = 0; } if (err_msg != "") { alert(err_msg); return; } if (method == "add") { var trHtml = ""; trHtml += ''; trHtml += ' ' + kolMedia_name + ' '; trHtml += ' ' + kolMedia_url + ' '; trHtml += ' ' + kolMedia_accountName + ' '; trHtml += ' ' + kolMedia_displayName + ' '; trHtml += ' ' + kolMedia_fansNum + ' '; trHtml += ' '; trHtml += ' '; trHtml += ' '; trHtml += ' '; trHtml += ''; $('#media_table tbody').append(trHtml); $('#socialItemModal').modal('toggle'); } if (method == "edit") { mediaTr.find('td').eq(0).text(kolMedia_name); mediaTr.find('td').eq(1).text(kolMedia_url); mediaTr.find('td').eq(2).text(kolMedia_accountName); mediaTr.find('td').eq(3).text(kolMedia_displayName); mediaTr.find('td').eq(4).text(kolMedia_fansNum); var method1 = mediaTr.find('td').eq(5).children('button').eq(0).attr('media-uid', optionItem_uid); var mehtod2 = mediaTr.find('td').eq(5).children('button').eq(1).attr('media-uid', optionItem_uid); $('#socialItemModal').modal('toggle'); } }); $('#socialNewBtn').on('click', function () { //var src = $('#fileupload-avatar').parent().children('img').prop('src'); //var origin = location.origin; //src = src.replace(origin, ''); //alert(src); $('#media_method').val('add'); $('#socialItemModal').modal('toggle'); }); $('#kolNewModal').on('click', function () { cleanModalData(); $('#method').val('add'); $('#clientNewModal').modal('toggle'); }); var url = "/Api/KolPhotoUpload"; // ============================================================= $('#fileupload-avatar').fileupload({ url: url, dropZone: null, dataType: 'json', autoUpload: true, acceptFileTypes: /(\.|\/)(jpe?g|png)$/i, maxFileSize: 5000000 }).on('fileuploadprocessalways', function (e, data) { var index = data.index; var file = data.files[index]; $('#avatar-warning-container').removeClass('show').text(''); if (file.error) { $('#avatar-warning-container').addClass('show').text(file.error); } }).on('fileuploadprogressall', function (e, data) { var progress = parseInt(data.loaded / data.total * 100, 10); $('#progress-avatar').addClass('show').children().css('width', progress + '%'); }).on('fileuploaddone', function (e, data) { var file = data.result.files[0]; var $img = $(this).parent().children('img'); var $old = $img.prop('src'); if (file.url) { $img.prop('src', file.url); } else if (file.error) { $('#avatar-warning-container').addClass('show').text(file.error); } $('#progress-avatar').removeClass('show').children().css('width', 0); }); // File upload using button // ============================================================= }); function buttonClick(obj) { mediaTr = $(obj).closest('tr'); var dataMethod = obj.getAttribute('data-method'); var dataUid = obj.getAttribute('data-uid'); var mediaUid = obj.getAttribute('media-uid'); var kolMedia_url = mediaTr.find('td').eq(1).text().trim(); var kolMedia_accountName = mediaTr.find('td').eq(2).text().trim(); var kolMedia_displayName = mediaTr.find('td').eq(3).text().trim(); var kolMedia_fansNum = mediaTr.find('td').eq(4).text().trim(); if (dataMethod == 'edit') { $('#media_method').val('edit'); $('#option_uid').val('media'); $('#optionItem_uid').val(mediaUid); $('#kolMedia_uid').val(dataUid); $('#media_select').val(mediaUid); $('#kolMedia_url').val(kolMedia_url).trigger('change'); $('#kolMedia_accountName').val(kolMedia_accountName).trigger('change'); $('#kolMedia_displayName').val(kolMedia_displayName).trigger('change'); $('#kolMedia_fansNum').val(kolMedia_fansNum).trigger('change'); $('#socialItemModal').modal('toggle'); } if (dataMethod == "del") { if (confirm('確定刪除此筆資料?')) { var kolMedia_uid = mediaTr.find('td').eq(5).children('button').eq(0).attr('data-uid'); if (kolMedia_uid != "") { delMedia += kolMedia_uid + ","; } mediaTr.remove(); } } } function cleanModalData() { $("#method").val(""); $("#kol_uid").val(""); $("#kol_name").val(""); $("#kol_descript").val(""); $("input[type=checkbox]").each(function (index, checkbox) { checkbox.checked = false; }); $('#fileupload-avatar').parent().children('img').prop('src', '/assets/images/avatars/unknown-profile.jpg'); $("input[type=text][data-toggle=touchspin]").each(function (index, input) { if ($(input).prop("id") == "kol_men_ratio" || $(input).prop("id") == "kol_women_ratio") { $(input).val("50").trigger("change"); } else { $(input).val("0").trigger("change"); } }); var trList = $("#media_table").find("tbody").find("tr"); $.each(trList, function (index, item) { $(item).remove(); }); } function loadMedia() { var formData = { option_uid: 'media' } $.ajax({ url: "/Api/optionItemList", type: "post", data: formData, success: function (data, textStatus, jqXHR) { if (data.ret == "yes") { var obj = data.optionItems; $.each(obj, function (i, item) { $("#media_select").append($("