var oTable; var aPos; $(document).ready(function () { var dataTables = { init: function init() { this.bindUIActions(); }, bindUIActions: function bindUIActions() { this.table = this.handleDataTables(); }, handleDataTables: function handleDataTables() { return $('#myTable').DataTable({ language: { paginate: { previous: '', next: '' } }, autoWidth: false, ajax: { url: 'api/usersList.ashx', dataSrc: 'userlist' }, rowId: 'user_uid', deferRender: true, initComplete: function () { $('#myTable').on('click', 'a', function () { buttonClick(this); }); $('#myTable').on('change', 'input[name="selectedRow[]"]', function () { checkboxClick(this); }); }, columns: [{ data: 'user_name', className: 'align-middle' }, { data: 'user_id', className: 'align-middle' }, { data: 'user_email', className: 'align-middle' }, { data: 'user_lastlogin', className: 'align-middle' }, { data: 'user_uid', className: 'align-middle text-right', orderable: false, searchable: false }], columnDefs: [{ targets: 0, render: function render(data, type, row, meta) { return '\n Card image cap\n \n ' + row.user_name + ''; } }, { targets: 4, render: function render(data, type, row, meta) { return '\n '; } }] }); } }; dataTables.init(); function buttonClick(obj) { $("#elab_select option").remove(); $.ajax({ url: "api/elab-userslist.ashx", type: "POST", data: null, success: function (data, textStatus, jqXHR) { if (data.ret === "yes") { $("#elab_select").append($("").attr("value", "").text("請選擇要加入的E白板帳號... ")); $.each(data.userslist, function (i, item) { $("#elab_select").append($("").attr("value", item.userid).text(item.username + ' (' + item.mail + ')')); }); } }, error: function (jqXHR, textStatus, errorThrown) { alert('网絡或伺服器发生错误,请稍后重试!'); } }); oTable = $('#myTable').dataTable(); var type = obj.getAttribute('data-method'); var uid = obj.getAttribute('data-uid'); aPos = oTable.fnGetPosition($('#' + uid)[0]); $("#user_uid").val(uid); $("#method").val(type); if (type === 'del') { if (confirm('確定刪除此筆資料?')) { var formData = { uid: uid, method: 'delete' }; $.ajax({ url: "api/userData.ashx", type: "POST", data: formData, success: function (data, textStatus, jqXHR) { if (data.ret == "yes") { var row = oTable.api().row($("#" + uid)).remove().draw(false); alert('刪除成功'); } else { alert(data.message); } }, error: function (jqXHR, textStatus, errorThrown) { alert('网絡或伺服器发生错误,请稍后重试!'); } }); } } if (type === 'edit') { var formData = { method: 'get', uid: uid }; $.ajax({ url: "api/userData.ashx", type: "POST", data: formData, success: function (data, textStatus, jqXHR) { if (data.ret === "yes") { if (data.data.user_type === "N") { $("input[name=user_type][value='N']").prop("checked", true); $("#sys").hide(); $("#elab").show(); $("#elab_select").append($("").attr("value", data.data.user_id).text(data.data.user_name + ' (' + data.data.user_email + ')')); $("#elab_select").val(data.data.user_id); $("#elab_select").prop('disabled', true); } else { $("input[name=user_type][value='Y']").prop("checked", true); $("#sys").show(); $("#elab").hide(); $("#sys_name").val(data.data.user_name); $("#sys_id").val(data.data.user_id); $("#sys_email").val(data.data.user_email); $("#sys_pwd").val(data.data.user_pwd); $('#sys_name').prop('readonly', true); $('#sys_id').prop('readonly', true); } $("input[name=user_type]").prop("disabled", true); $('#user_perm').val(data.data.user_perm); $('#myModal').modal('toggle'); } else { alert(data.message); } }, error: function (jqXHR, textStatus, errorThrown) { alert('网絡或伺服器发生错误,请稍后重试!'); } }); } } $('#btn-add').click(function () { $("#elab_select option").remove(); $.ajax({ url: "api/elab-userslist.ashx", type: "POST", data: null, success: function (data, textStatus, jqXHR) { if (data.ret == "yes") { $("#elab_select").append($("").attr("value", "").text("請選擇要加入的E白板帳號... ")); $.each(data.userslist, function (i, item) { $("#elab_select").append($("").attr("value", item.userid).text(item.username + ' (' + item.mail + ')')); }); } }, error: function (jqXHR, textStatus, errorThrown) { alert('网絡或伺服器发生错误,请稍后重试!'); } }); oTable = $('#myTable').dataTable(); $("#method").val("add"); $("#sys").hide(); $("input[name=user_type][value='N']").prop("checked", true); $('#myModal').modal('toggle'); $('#sys_name').prop('readonly', false); $('#sys_id').prop('readonly', false); $("#elab_select").prop('disabled', false); $("input[name=user_type]").prop("disabled", false); $("input[name=user_type][value='Y']").prop("checked", true).trigger("change"); $("input[name=user_type][value='N']").prop("disabled", true); $("#sys_id").val('').trigger('change'); $("#sys_pwd").val('').trigger('change'); $("#sys_email").val('').trigger('change'); }); $("#myModal").on("hidden.bs.modal", function () { clearChildren(document.getElementById('myModal')); $('#sys_name').prop('readonly', false); $('#sys_id').prop('readonly', false); $("#elab_select").prop('disabled', false); $("input[name=user_type]").prop("disabled", false); }); function clearChildren(element) { for (var i = 0; i < element.childNodes.length; i++) { var e = element.childNodes[i]; if (e.tagName) switch (e.tagName.toLowerCase()) { case 'input': switch (e.type) { case "radio": case "checkbox": e.checked = false; break; case "button": case "submit": case "image": break; default: if (e.type !== "checkbox") { e.value = ''; } break; } break; case 'select': e.selectedIndex = 0; break; case 'textarea': e.innerHTML = ''; break; default: clearChildren(e); } } $(element).children().find('textarea').each(function () { $(this).val(''); }); $(element).children().find('select').each(function () { $(this).prop('selectedIndex', 0); }); } $('input[type=radio][name=user_type]').change(function () { if (this.value === 'N') { $("#sys").hide(); $("#elab").show(); } else if (this.value === 'Y') { $("#sys").show(); $("#elab").hide(); } }); $('#saveBtn').click(function () { var errmsg = ""; if ($('input:radio:checked[name="user_type"]').val() === 'N' && $('select[name="elab_select"]').val() === '') { errmsg += "請選擇要加入的E白板帳號! \n"; } if ($('input:radio:checked[name="user_type"]').val() === 'Y' && $('#sys_name').val() === '') { errmsg += "請輸入姓名! \n"; } if ($('input:radio:checked[name="user_type"]').val() === 'Y' && $('#sys_id').val() === '') { errmsg += "請輸入帳號! \n"; } var emailRule = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z]+$/; if ($('input:radio:checked[name="user_type"]').val() === 'Y' && $('#sys_email').val().search(emailRule) === -1) { errmsg += "請輸入正確的Email! \n"; } if ($('input:radio:checked[name="user_type"]').val() === 'Y' && $('#sys_pwd').val() === '' && $('#method').val() === 'add') { errmsg += "請輸入密碼! \n"; } if ($('#user_perm').val() === "") { errmsg += "請選擇帳號的權限! \n"; } if (errmsg.length > 0) { alert(errmsg); return; } var method = $('#method').val(); var user_type = $('input:radio:checked[name="user_type"]').val(); var elab_select = $('select[name="elab_select"]').val(); var sys_name = $('#sys_name').val(); var sys_id = $('#sys_id').val(); var sys_email = $('#sys_email').val(); var sys_pwd = $('#sys_pwd').val(); var user_perm = $('#user_perm').val(); var user_uid = $('#user_uid').val(); var formData = { method: method, type: user_type, elab_select: elab_select, sys_name: sys_name, sys_id: sys_id, sys_email: sys_email, sys_pwd: sys_pwd, user_perm: user_perm, uid: user_uid }; $.ajax({ url: "api/userData.ashx", type: "POST", data: formData, success: function (data, textStatus, jqXHR) { if (data.ret == "yes") { alert("儲存成功"); if (method == "add") { var obj = { 'user_name': data.data.user_name, 'user_id': data.data.user_id, 'user_email': data.data.user_email, 'user_lastlogin': '尚未登入', 'user_uid': data.data.user_uid, 'user_picurl': data.data.user_picurl } oTable.fnAddData(obj); $('#myModal').modal('toggle'); } if (method === "edit") { oTable.fnUpdate(data.data.user_email, aPos, 2); $('#myModal').modal('toggle'); } //if (data_method == "edit") { // oTable.fnUpdate(data.data.class_name, aPos, 2); // oTable.fnUpdate(data.data.classArea_name, aPos, 3); // oTable.fnUpdate(data.data.class_credit, aPos, 4); // oTable.fnUpdate(data.data.class_instructor, aPos, 5); // oTable.fnUpdate(data.data.class_fee, aPos, 6); // //oTable.fnUpdate(data.data.class_signuprange, aPos, 7); //} //if (data_method == "add") { // var obj = { 'DT_RowId': data.data.DT_RowId, 'class_edit': data.data.class_edit, 'class_no': data.data.class_no, 'class_name': data.data.class_name, 'classArea_name': data.data.classArea_name, 'class_credit': data.data.class_credit, 'class_instructor': data.data.class_instructor, 'class_fee': data.data.class_fee, 'class_signuprange': data.data.class_signuprange } // var rowIndex = oTable.fnAddData(obj); // var val = '
'; // var chkbtn = $(val); // chkbtn.appendTo('#chooseCompulsory'); //} //$('#myModal').modal('toggle'); //clearChildren(document.getElementById('myModal')); } else { alert(data.message); } }, error: function (jqXHR, textStatus, errorThrown) { alert('网絡或伺服器发生错误,请稍后重试!'); } }); }); });