Tạo chức năng Edit
<!-- Nhúng file cấu hình để xác định được Tên và Tiêu đề của trang hiện tại người dùng đang truy cập -->
<?php include_once(__DIR__ . '/../../layouts/config.php'); ?>
<!DOCTYPE html>
<html>
<head>
<!-- Nhúng file quản lý phần HEAD -->
<?php include_once(__DIR__ . '/../../layouts/head.php'); ?>
</head>
<body class="d-flex flex-column h-100">
<!-- header -->
<?php include_once(__DIR__ . '/../../layouts/partials/header.php'); ?>
<!-- end header -->
<div class="container-fluid">
<div class="row">
<!-- sidebar -->
<?php include_once(__DIR__ . '/../../layouts/partials/sidebar.php'); ?>
<!-- end sidebar -->
<main role="main" class="col-md-10 ml-sm-auto px-4 mb-2">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
<h1 class="h2">Hiệu chỉnh chức vụ</h1>
</div>
<!-- Block content -->
<div id="noticeContainer" style="display: none;">
<div class="alert alert-primary" role="alert">
<div id="noticeMessage"></div>
</div>
</div>
<form name="frmEdit" id="frmEdit" method="post" action="">
<div class="form-group">
<label for="CV_MA">Mã chức vụ</label>
<input type="text" class="form-control" id="CV_MA" name="CV_MA" placeholder="Mã chức vụ" minlength="5" maxlength="5" readonly>
<small id="idHelp" class="form-text text-muted">Mã chức vụ không được phép hiệu chỉnh.</small>
</div>
<div class="form-group">
<label for="CV_TEN">Tên chức vụ</label>
<input type="text" class="form-control" id="CV_TEN" name="CV_TEN" placeholder="Tên chức vụ" value="" minlength="3" maxlength="150">
</div>
<div class="form-group">
<label for="CV_TILE">Tỉ lệ chức vụ</label>
<input type="number" class="form-control" id="CV_TILE" name="CV_TILE" placeholder="Tỉ lệ chức vụ" value="" min="0" max="100">
</div>
<div class="form-group">
<label for="CV_NAMAPDUNG">Năm áp dụng chức vụ</label>
<input type="number" class="form-control" id="CV_NAMAPDUNG" name="CV_NAMAPDUNG" placeholder="Năm áp dụng chức vụ" value="" min="0001" max="9999">
</div>
<div class="form-group">
<label for="CV_GHICHU">Ghi chú chức vụ</label>
<textarea class="form-control" id="CV_GHICHU" name="CV_GHICHU" placeholder="Mô tả chức vụ" minlength="3" maxlength="150"></textarea>
</div>
<button class="btn btn-primary" name="btnSave">Lưu dữ liệu</button>
<a href="index.php" class="btn btn-outline-primary">Quay về Danh sách</a>
</form>
<!-- End block content -->
</main>
</div>
</div>
<!-- footer -->
<?php include_once(__DIR__ . '/../../layouts/partials/footer.php'); ?>
<!-- end footer -->
<!-- Nhúng file quản lý phần SCRIPT JAVASCRIPT -->
<?php include_once(__DIR__ . '/../../layouts/scripts.php'); ?>
<!-- Các file Javascript sử dụng riêng cho trang này, liên kết tại đây -->
<!-- <script src="..."></script> -->
<script>
$(document).ready(function() {
function getDuLieuChucVuCanHieuChinh() {
let CV_MA = getUrlParameter('CV_MA');
$.ajax(`/api/chucvu/get.php?CV_MA=${CV_MA}`, {
success: function(data) {
var dataObj = JSON.parse(data);
console.log(dataObj);
var item = dataObj.data[0];
$('#CV_MA').val(item.CV_MA);
$('#CV_TEN').val(item.CV_TEN);
$('#CV_TILE').val(item.CV_TILE);
$('#CV_NAMAPDUNG').val(item.CV_NAMAPDUNG);
$('#CV_GHICHU').val(item.CV_GHICHU);
$('#noticeMessage').html(`<span>${dataObj.msg}. Thông tin ${item.CV_MA} đã được điền vào form nhập liệu.</span>`);
$('#noticeMessage').parent().removeClass().addClass('alert alert-primary');
$('#noticeContainer').css('display', 'block');
},
error: function() {
var htmlString = `<span>Không thể xử lý</span>`;
$('#noticeMessage').html(htmlString);
$('#noticeMessage').parent().removeClass().addClass('alert alert-danger');
$('#noticeContainer').css('display', 'block');
}
});
}
$("#frmEdit").validate({
rules: {
CV_MA: {
required: true,
minlength: 5,
maxlength: 5
},
CV_TEN: {
required: true,
minlength: 3,
maxlength: 150
},
CV_TILE: {
required: true,
number: true
},
CV_NAMAPDUNG: {
required: true,
minlength: 4,
maxlength: 4
},
CV_GHICHU: {
required: false,
minlength: 3,
maxlength: 150
}
},
messages: {
CV_MA: {
required: "Vui lòng nhập mã chức vụ",
minlength: "Tên chức vụ phải có ít nhất 5 ký tự",
maxlength: "Tên chức vụ không được vượt quá 5 ký tự"
},
CV_TEN: {
required: "Vui lòng nhập tên chức vụ",
minlength: "Tên chức vụ phải có ít nhất 3 ký tự",
maxlength: "Tên chức vụ không được vượt quá 150 ký tự"
},
CV_TILE: {
required: "Vui lòng nhập tỉ lệ chức vụ",
number: "Tỉ lệ chức vụ phải là số"
},
CV_NAMAPDUNG: {
required: "Vui lòng nhập năm áp dụng chức vụ",
minlength: "Năm áp dụng chức vụ phải có ít nhất 4 ký tự",
maxlength: "Năm áp dụng chức vụ không được vượt quá 4 ký tự",
number: "Năm áp dụng chức vụ phải là số"
},
CV_GHICHU: {
required: "Vui lòng nhập ghi chú cho chức vụ",
minlength: "Ghi chú cho chức vụ phải có ít nhất 3 ký tự",
maxlength: "Ghi chú cho chức vụ không được vượt quá 150 ký tự"
},
},
errorElement: "em",
errorPlacement: function(error, element) {
// Thêm class `invalid-feedback` cho field đang có lỗi
error.addClass("invalid-feedback");
if (element.prop("type") === "checkbox") {
error.insertAfter(element.parent("label"));
} else {
error.insertAfter(element);
}
},
success: function(label, element) {},
highlight: function(element, errorClass, validClass) {
$(element).addClass("is-invalid").removeClass("is-valid");
},
unhighlight: function(element, errorClass, validClass) {
$(element).addClass("is-valid").removeClass("is-invalid");
},
submitHandler: function(form) {
var sendData = {
CV_MA: $('#CV_MA').val(),
CV_TEN: $('#CV_TEN').val(),
CV_TILE: $('#CV_TILE').val(),
CV_NAMAPDUNG: $('#CV_NAMAPDUNG').val(),
CV_GHICHU: $('#CV_GHICHU').val(),
};
$.ajax({
url: '/api/chucvu/update.php',
type: 'post',
data: sendData,
success: function(data) {
var dataObj = JSON.parse(data);
console.log(dataObj);
var htmlString = `<span>${dataObj.msg}</span>`;
$('#noticeMessage').html(htmlString + ". Sẽ chuyển hướng về trang Danh sách trong 3s...");
$('#noticeContainer').css('display', 'block');
if(dataObj.statusCode === 200) {
// Điều hướng về trang danh sách trong vòng 3s
setTimeout(() => {
location.href = "index.php";
}, 3000);
$('#noticeMessage').parent().removeClass().addClass('alert alert-success');
} else {
$('#noticeMessage').parent().removeClass().addClass('alert alert-danger');
}
},
error: function() {
var htmlString = `<span>Không thể xử lý</span>`;
$('#noticeMessage').html(htmlString);
$('#noticeMessage').parent().removeClass().addClass('alert alert-danger');
$('#noticeContainer').css('display', 'block');
}
});
}
});
// Init
getDuLieuChucVuCanHieuChinh();
});
</script>
</body>
</html>
|