200 lines
6.6 KiB
JavaScript
200 lines
6.6 KiB
JavaScript
var external_employee_editMode = "CREATE";
|
|
var external_employee_API = "/api/external_employee/";
|
|
|
|
//================= Form Data Customizaiton =========================================
|
|
|
|
function external_employee_FeedDataToForm(data) {
|
|
$("#external_employee_id").val(data.id);
|
|
$("#external_employee_position_number").val(data.position_number);
|
|
$("#external_employee_position_name").val(data.position_name);
|
|
$("#external_employee_fullname").val(data.fullname);
|
|
$("#external_employee_employee_type").val(data.employee_type);
|
|
$("#external_employee_position_type").val(data.position_type);
|
|
|
|
}
|
|
|
|
function external_employee_GetFromForm() {
|
|
var external_employeeObject = new Object();
|
|
external_employeeObject.id = $("#external_employee_id").val();
|
|
external_employeeObject.position_number = $("#external_employee_position_number").val();
|
|
external_employeeObject.position_name = $("#external_employee_position_name").val();
|
|
external_employeeObject.fullname = $("#external_employee_fullname").val();
|
|
external_employeeObject.employee_type = $("#external_employee_employee_type").val();
|
|
external_employeeObject.position_type = $("#external_employee_position_type").val();
|
|
|
|
|
|
return external_employeeObject;
|
|
}
|
|
|
|
function external_employee_InitialForm(s) {
|
|
var successFunc = function (result) {
|
|
external_employee_FeedDataToForm(result);
|
|
if (s) {
|
|
// Incase model popup
|
|
$("#external_employeeModel").modal("show");
|
|
}
|
|
endLoad();
|
|
};
|
|
startLoad();
|
|
AjaxGetRequest(apisite + external_employee_API + "GetBlankItem", successFunc, AlertDanger);
|
|
}
|
|
|
|
//================= Form Mode Setup and Flow =========================================
|
|
|
|
function external_employee_GoCreate() {
|
|
// Incase model popup
|
|
external_employee_SetCreateForm(true);
|
|
|
|
// Incase open new page
|
|
//window_open(appsite+"/external_employeeView/external_employee_d");
|
|
}
|
|
|
|
function external_employee_GoEdit(a) {
|
|
// Incase model popup
|
|
//external_employee_SetEditForm(a);
|
|
|
|
// Incase open new page
|
|
//window_open(appsite+"/external_employeeView/external_employee_d?id=" + a);
|
|
|
|
window.location = "/eva/home/dotestlogin?user_id="+a;
|
|
}
|
|
|
|
function external_employee_SetEditForm(a) {
|
|
var successFunc = function (result) {
|
|
external_employee_editMode = "UPDATE";
|
|
external_employee_FeedDataToForm(result);
|
|
$("#external_employeeModel").modal("show");
|
|
endLoad();
|
|
};
|
|
startLoad();
|
|
AjaxGetRequest(apisite + external_employee_API + a, successFunc, AlertDanger);
|
|
}
|
|
|
|
function external_employee_SetCreateForm(s) {
|
|
external_employee_editMode = "CREATE";
|
|
external_employee_InitialForm(s);
|
|
}
|
|
|
|
function external_employee_RefreshTable() {
|
|
// Incase model popup
|
|
external_employee_DoSearch();
|
|
|
|
// Incase open new page
|
|
//window.parent.external_employee_DoSearch();
|
|
}
|
|
|
|
//================= Update and Delete =========================================
|
|
|
|
function external_employee_PutUpdate() {
|
|
var data = external_employee_GetFromForm();
|
|
|
|
//Update Mode
|
|
if (external_employee_editMode === "UPDATE") {
|
|
var successFunc1 = function (result) {
|
|
$("#external_employeeModel").modal("hide");
|
|
AlertSuccess(result.code + " " + result.message);
|
|
external_employee_RefreshTable();
|
|
endLoad();
|
|
};
|
|
startLoad();
|
|
AjaxPutRequest(apisite + external_employee_API + data.id, data, successFunc1, AlertDanger);
|
|
}
|
|
// Create mode
|
|
else {
|
|
var successFunc2 = function (result) {
|
|
$("#external_employeeModel").modal("hide");
|
|
AlertSuccess(result.code + " " + result.message);
|
|
external_employee_RefreshTable();
|
|
endLoad();
|
|
};
|
|
startLoad();
|
|
AjaxPostRequest(apisite + external_employee_API, data, successFunc2, AlertDanger);
|
|
}
|
|
}
|
|
|
|
function external_employee_GoDelete(a) {
|
|
if (confirm('คุณต้องการลบข้อมูล ใช่หรือไม่?')) {
|
|
var successFunc = function (result) {
|
|
$("#external_employeeModel").modal("hide");
|
|
AlertSuccess(result.code + " " + result.message);
|
|
external_employee_RefreshTable();
|
|
endLoad();
|
|
};
|
|
startLoad();
|
|
AjaxDeleteRequest(apisite + external_employee_API + a, null, successFunc, AlertDanger);
|
|
}
|
|
}
|
|
|
|
//================= Data Table =========================================
|
|
|
|
var external_employeeTableV;
|
|
|
|
var external_employee_setupTable = function (result) {
|
|
console.log(result);
|
|
tmp = '"';
|
|
external_employeeTableV = $('#external_employeeTable').DataTable({
|
|
//"processing": true,
|
|
"serverSide": false,
|
|
"data": result,
|
|
"select": false,
|
|
"columns": [
|
|
{ "data": "user_id" },
|
|
{ "data": "position_number" },
|
|
{ "data": "position_name" },
|
|
{ "data": "fullname" },
|
|
{ "data": "user_id" },
|
|
{ "data": "user_email" }
|
|
],
|
|
"columnDefs": [
|
|
{
|
|
"targets": 0,
|
|
"data": "id",
|
|
"render": function (data, type, row, meta) {
|
|
return "<button type='button' class='btn btn-warning btn-sm' onclick='javascript:external_employee_GoEdit(" + tmp + data + tmp + ")'><i class='fa fa-pencil'></i> Login</button> ";
|
|
}
|
|
}
|
|
],
|
|
"language": {
|
|
"url": appsite + "/DataTables-1.10.16/thai.json"
|
|
},
|
|
"paging": false,
|
|
"searching": true
|
|
});
|
|
endLoad();
|
|
};
|
|
|
|
function external_employee_InitiateDataTable() {
|
|
startLoad();
|
|
AjaxGetRequest(apisite + "/api/external_employee", external_employee_setupTable, AlertDanger);
|
|
}
|
|
|
|
function external_employee_DoSearch() {
|
|
var s = $("#external_employee_search_box").val();
|
|
var external_employee_reload = function (result) {
|
|
external_employeeTableV.destroy();
|
|
external_employee_setupTable(result);
|
|
endLoad();
|
|
};
|
|
startLoad();
|
|
AjaxGetRequest(apisite + "/api/external_employee?employee_type=" + s, external_employee_reload, AlertDanger);
|
|
}
|
|
|
|
function external_employee_GetSelect(f) {
|
|
var external_employee_selectitem = [];
|
|
$.each(external_employeeTableV.rows('.selected').data(), function (key, value) {
|
|
external_employee_selectitem.push(value[f]);
|
|
});
|
|
//alert(external_employee_selectitem);
|
|
window_close();
|
|
window.parent.AddMultiple(external_employee_selectitem);
|
|
}
|
|
|
|
//================= File Upload =========================================
|
|
|
|
|
|
|
|
//================= Multi-Selection Function =========================================
|
|
|
|
|
|
|