|
|
|
var toolsModal = $('#modal-tools > .modal-dialog > .modal-content');
|
|
|
|
|
|
|
|
function resetFormAssignTools() {
|
|
|
|
$('#select-tools').val(null).trigger("change");
|
|
|
|
$('#select-tools').find('option').remove();
|
|
|
|
$('#select-tools').val("");
|
|
|
|
// $("#form-assign-tools").hide();
|
|
|
|
$('#form-assign-tools').trigger("reset");
|
|
|
|
$('#btn-assign-tools').html('Assign');
|
|
|
|
$('#btn-assign-tools').prop("disabled",false);
|
|
|
|
};
|
|
|
|
|
|
|
|
$(document).ready(function () {
|
|
|
|
var tableTools = $("#table-tools").DataTable({
|
|
|
|
"processing": true,
|
|
|
|
"serverSide": true,
|
|
|
|
"ajax": {
|
|
|
|
"url": `${base_url}assign-tools/datatables`,
|
|
|
|
"data": function ( d ) {
|
|
|
|
d.idact = activityId;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"columns": [
|
|
|
|
{data: 'tools_name', name: 'tools_name'},
|
|
|
|
{data: 'qty_planning', name: 'qty_planning'},
|
|
|
|
{data: 'uom', name: 'uom'},
|
|
|
|
]
|
|
|
|
});
|
|
|
|
|
|
|
|
function deleteToolsAssign(id)
|
|
|
|
{
|
|
|
|
$.ajax({
|
|
|
|
url: `${base_url}assign-tools/delete/${id}`,
|
|
|
|
type:"DELETE",
|
|
|
|
success: function (data) {
|
|
|
|
actionHappen = true;
|
|
|
|
gantt.alert("Delete Tools Assign Success!");
|
|
|
|
tableTools.draw();
|
|
|
|
},
|
|
|
|
error: function (data) {
|
|
|
|
gantt.alert("Delete Tools Assign Failed, try again later!");
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
$("#modal-tools").on("click", "#show-form-tools", function(){
|
|
|
|
$(this).hide();
|
|
|
|
$("#hide-form-tools").show();
|
|
|
|
$("#form-assign-tools").show();
|
|
|
|
});
|
|
|
|
|
|
|
|
$("#modal-tools").on("click", "#hide-form-tools", function(){
|
|
|
|
$(this).hide();
|
|
|
|
resetFormAssignTools()
|
|
|
|
$("#show-form-tools").show();
|
|
|
|
});
|
|
|
|
|
|
|
|
$('#modal-tools').on('show.bs.modal', function (event) {
|
|
|
|
console.log('activityId', activityId);
|
|
|
|
tableTools.draw();
|
|
|
|
});
|
|
|
|
|
|
|
|
$('#modal-tools').on('hide.bs.modal', function (event) {
|
|
|
|
$("#hide-form-tools").hide();
|
|
|
|
$("#show-form-tools").show();
|
|
|
|
if(actionHappen){
|
|
|
|
updateActivity(activityId);
|
|
|
|
}
|
|
|
|
resetFormAssignTools();
|
|
|
|
});
|
|
|
|
|
|
|
|
$('#select-tools').select2({
|
|
|
|
dropdownParent: toolsModal,
|
|
|
|
placeholder: 'Pilih tools resource',
|
|
|
|
allowClear:true,
|
|
|
|
ajax: {
|
|
|
|
url: `${base_url}tools-resource/select`,
|
|
|
|
dataType: 'json',
|
|
|
|
data: function (params) {
|
|
|
|
var query = {
|
|
|
|
search: params.term,
|
|
|
|
type: 'public',
|
|
|
|
idact:activityId
|
|
|
|
}
|
|
|
|
return query;
|
|
|
|
},
|
|
|
|
processResults: function (result) {
|
|
|
|
return {
|
|
|
|
results: $.map(result, function (item) {
|
|
|
|
// console.log("cek item", item)
|
|
|
|
return {
|
|
|
|
text: item.name,
|
|
|
|
id: item.id
|
|
|
|
}
|
|
|
|
})
|
|
|
|
};
|
|
|
|
},
|
|
|
|
cache: false
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
// click submit to add
|
|
|
|
$("#form-assign-tools").on('submit', function (e) {
|
|
|
|
e.preventDefault();
|
|
|
|
|
|
|
|
$('#btn-assign-tools').html('Assign...');
|
|
|
|
$('#btn-assign-tools').prop("disabled",true);
|
|
|
|
|
|
|
|
let tools_id = $("#select-tools").val();
|
|
|
|
let qty_planning = $("#select-tools-qty").val();
|
|
|
|
|
|
|
|
if(!tools_id || tools_id < 0){
|
|
|
|
gantt.alert("Please choose tools to assign!");
|
|
|
|
$('#btn-assign-tools').html('Assign');
|
|
|
|
$('#btn-assign-tools').prop("disabled",false);
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
if(!qty_planning || qty_planning < 0){
|
|
|
|
gantt.alert("Please input qty tools!");
|
|
|
|
$('#btn-assign-tools').html('Assign');
|
|
|
|
$('#btn-assign-tools').prop("disabled",false);
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
let payload = {
|
|
|
|
proyek_id: proyekId,
|
|
|
|
activity_id: activityId,
|
|
|
|
tools_id: tools_id,
|
|
|
|
qty_planning: qty_planning
|
|
|
|
}
|
|
|
|
$.ajax({
|
|
|
|
data: JSON.stringify(payload),
|
|
|
|
url: `${base_url}assign-tools/add`,
|
|
|
|
type: "POST",
|
|
|
|
processData: false,
|
|
|
|
contentType: false,
|
|
|
|
success: function (data) {
|
|
|
|
console.log('response data', data);
|
|
|
|
if (data && data.code === 200) {
|
|
|
|
actionHappen = true;
|
|
|
|
gantt.alert("Tools Assign Success!");
|
|
|
|
tableTools.draw();
|
|
|
|
resetFormAssignTools();
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
gantt.alert({type: "error", text: data.message});
|
|
|
|
$('#btn-assign-tools').html('Assign');
|
|
|
|
$('#btn-assign-tools').prop("disabled",false);
|
|
|
|
}
|
|
|
|
|
|
|
|
resetFormAssignTools();
|
|
|
|
},
|
|
|
|
error: function (data) {
|
|
|
|
gantt.alert("Tools Assign Failed, try again later!");
|
|
|
|
resetFormAssignTools();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
// delete from row
|
|
|
|
$("#table-tools").on("click", ".btn-tools-delete", function() {
|
|
|
|
let id = $(this).data('id');
|
|
|
|
var box = gantt.confirm({
|
|
|
|
text: "Tools resource will be deleted from activity, continue?",
|
|
|
|
ok:"Delete",
|
|
|
|
cancel:"Cancel",
|
|
|
|
callback: function(result){
|
|
|
|
if(result){
|
|
|
|
deleteToolsAssign(id);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|