add crud dictTubes
This commit is contained in:
parent
da67dda940
commit
5d5a296f1f
@ -51,6 +51,11 @@ $routes->POST('api/dictTests/save', 'API_DictTests::save');
|
||||
$routes->get('api/dictTests/index', 'API_DictTests::index');
|
||||
$routes->get('api/dictTests/detail/(:any)', 'API_DictTests::detail/$1');
|
||||
|
||||
// API - DictTubes
|
||||
$routes->POST('api/dictTubes/save', 'API_DictTubes::save');
|
||||
$routes->get('api/dictTubes/index', 'API_DictTubes::index');
|
||||
$routes->get('api/dictTubes/detail/(:any)', 'API_DictTubes::detail/$1');
|
||||
|
||||
// API - DictMappings
|
||||
$routes->get('api/dictMappings/index', 'API_DictMappings::index');
|
||||
$routes->POST('api/dictMappings/saveSingle', 'API_DictMappings::saveSingle');
|
||||
@ -90,6 +95,7 @@ $routes->group('admin', ['filter' => 'role:admin'], static function ($routes) {
|
||||
$routes->get('dictTests/', 'AdminController::dictTests_index');
|
||||
$routes->get('dictChapters/', 'AdminController::dictChapters_index');
|
||||
$routes->get('dictMappings/', 'AdminController::dictMappings_index');
|
||||
$routes->get('dictTubes/', 'AdminController::dictTubes_index');
|
||||
});
|
||||
|
||||
// user
|
||||
|
||||
50
app/Controllers/API_DictTubes.php
Normal file
50
app/Controllers/API_DictTubes.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
namespace App\Controllers;
|
||||
|
||||
use CodeIgniter\RESTful\ResourceController;
|
||||
|
||||
class API_DictTubes extends ResourceController {
|
||||
protected $format = 'json';
|
||||
|
||||
public function index() {
|
||||
$db = \Config\Database::connect();
|
||||
$sql = "select * from cmod.dbo.CM_DICT_TUBES";
|
||||
$query = $db->query($sql);
|
||||
$results = $query->getResultArray();
|
||||
$data['dictTubes'] = $results;
|
||||
|
||||
return $this->respond($data, 200);
|
||||
}
|
||||
|
||||
public function detail($tubeid) {
|
||||
$data = array();
|
||||
$db = \Config\Database::connect();
|
||||
$sql = "select TUBECODE, TUBENAME from cmod.dbo.CM_DICT_TUBES where TUBEID='$tubeid'";
|
||||
$query = $db->query($sql);
|
||||
$results = $query->getResultArray();
|
||||
if(isset($results[0])) { $data = $results[0]; }
|
||||
return $this->respond($data, 200);
|
||||
}
|
||||
|
||||
public function save() {
|
||||
$tubecode = $this->request->getPost('tubecode');
|
||||
$tubename = $this->request->getPost('tubename');
|
||||
$tubeid = $this->request->getPost('tubeid');
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
if($tubeid == 0) {
|
||||
$sql = "insert into cmod.dbo.CM_DICT_TUBES (TUBECODE, TUBENAME) VALUES ( '$tubecode', '$tubename' )";
|
||||
} else {
|
||||
$sql = "update cmod.dbo.CM_DICT_TUBES set TUBECODE='$tubecode', TUBENAME='$tubename' where TUBEID='$tubeid'";
|
||||
}
|
||||
if( $db->query($sql) ) {
|
||||
return $this->respond(['message' => 'Save Success'],201);
|
||||
} else {
|
||||
$response = [
|
||||
'errors' => $db->errors(),
|
||||
'message' => 'Invalid Inputs'
|
||||
];
|
||||
return $this->fail($response , 409);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -86,6 +86,10 @@ class AdminController extends BaseController {
|
||||
return view('admin/dictChapters_index');
|
||||
}
|
||||
|
||||
public function dictTubes_index() {
|
||||
return view('admin/dictTubes_index');
|
||||
}
|
||||
|
||||
public function dictMappings_index() {
|
||||
$db = \Config\Database::connect();
|
||||
$sql = "select TESTCODE from DICT_TESTS where ENDVALIDDATE is null";
|
||||
|
||||
131
app/Views/admin/dictTubes_index.php
Normal file
131
app/Views/admin/dictTubes_index.php
Normal file
@ -0,0 +1,131 @@
|
||||
<?= $this->extend('admin/layout/main.php') ?>
|
||||
|
||||
<?= $this->section('content') ?>
|
||||
<div class="card border-0 m-1">
|
||||
<div class="card-body">
|
||||
<div class="card-header bg-success text-white">
|
||||
<div class='card-title m-0'><b>Dictionary Tubes</b></div>
|
||||
</div>
|
||||
<button class='btn btn-sm btn-success m-3' onclick="create()"><i class="bi bi-plus-circle"></i> Create</button>
|
||||
<div class="table-responsive">
|
||||
<table id="myTable" class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Tube code</th>
|
||||
<th>Tube name</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id='table-body'>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="modal_crud" aria-hidden="true" tabindex="-1">
|
||||
<div class="modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title fs-5" id="exampleModalToggleLabel">Edit Tube</h1>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" ></button>
|
||||
</div>
|
||||
<div class="modal-body" style='background-color:#F4F6FF'>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<table class="table table-sm table-borderless">
|
||||
<input type='hidden' id='tubeid' value='0' />
|
||||
<tr class="align-middle"> <th>Tubecode</th> <th>:</th> <td><input class='form-control' type='text' id='tubecode' oninput='this.value = this.value.toUpperCase();' /></td> </tr>
|
||||
<tr class="align-middle"> <th>Tubename</th> <th>:</th> <td><input class='form-control' type='text' id='tubename' /></td> </tr>
|
||||
</table>
|
||||
<button class='btn btn-sm btn-primary' onclick='save()'>Save</button>
|
||||
<button class='btn btn-sm btn-secondary' data-bs-dismiss="modal">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
<?= $this->section('script') ?>
|
||||
<script>
|
||||
index();
|
||||
function index() {
|
||||
let url = '<?=base_url('');?>api/dictTubes/index';
|
||||
$.ajax({
|
||||
url: url,
|
||||
method: 'GET',
|
||||
success: function(response) {
|
||||
$("#table-body").html("");
|
||||
var data = response['dictTubes'];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
tubeid = data[i].TUBEID;
|
||||
tubecode = data[i].TUBECODE;
|
||||
tubename = data[i].TUBENAME;
|
||||
let editBtn = '<button class="btn btn-sm btn-success" ' + ' onclick="edit(\'' + tubeid + '\')">Edit' + '</button> ';
|
||||
let datarow = '<tr class="align-middle">' +
|
||||
'<td>' + tubecode + '</td>' + '<td>' + tubename+ '</td> ' + '<td>' + editBtn + '</td>' +
|
||||
'</tr>';
|
||||
$("#table-body").append(datarow);
|
||||
}
|
||||
},
|
||||
error: function(response) { console.log(response.responseJSON); }
|
||||
});
|
||||
}
|
||||
|
||||
function create() {
|
||||
$("#alertSingle").html();
|
||||
$("#tubeid").val("0");
|
||||
$("#tubecode").val("");
|
||||
$("#tubename").val("");
|
||||
$("#modal_crud").modal('show');
|
||||
}
|
||||
|
||||
function edit(tubeid) {
|
||||
let url = '<?=base_url('');?>api/dictTubes/detail/'+tubeid;
|
||||
$.ajax({
|
||||
url: url,
|
||||
method: "GET",
|
||||
success: function(response) {
|
||||
let data = response;
|
||||
$("#alert-div").html("");
|
||||
$("#error-div").html("");
|
||||
$("#tubeid").val(tubeid);
|
||||
$("#tubecode").val(data.TUBECODE);
|
||||
$("#tubename").val(data.TUBENAME);
|
||||
$("#modal_crud").modal('show');
|
||||
},
|
||||
error: function(response) {
|
||||
console.log(response.responseJSON)
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function save() {
|
||||
let url = '<?=base_url('');?>api/dictTubes/save';
|
||||
var tubeid = $("#tubeid").val();
|
||||
var tubecode = $("#tubecode").val();
|
||||
var tubename = $("#tubename").val();
|
||||
let data = { tubeid: tubeid, tubecode:tubecode, tubename:tubename };
|
||||
$.ajax({
|
||||
url: url,
|
||||
method: "POST",
|
||||
data: data,
|
||||
success: function(response) {
|
||||
$("#alert-div").html("");
|
||||
$("#error-div").html("");
|
||||
$("#tubeid").val('');
|
||||
$("#tubecode").val('');
|
||||
$("#tubename").val('');
|
||||
$("#modal_crud").modal('hide');
|
||||
index();
|
||||
},
|
||||
error: function(response) {
|
||||
console.log(response.responseJSON)
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<?= $this->endSection() ?>
|
||||
@ -11,6 +11,7 @@
|
||||
<a class="nav-link" href="#" onclick='createOrder()'><div class="sb-nav-link-icon"><i class="bi bi-clipboard-plus"></i></div>Create Order</a>
|
||||
<div class="sb-sidenav-menu-heading">Administration</div>
|
||||
<a class="nav-link" href="<?=base_url();?>admin/dictMappings/"> <div class="sb-nav-link-icon"><i class="bi bi-diagram-2"></i></div> Dict. Mapping Order </a>
|
||||
<a class="nav-link" href="<?=base_url();?>admin/dictTubes/"> <div class="sb-nav-link-icon"><i class="bi bi-eyedropper"></i></div> Dict. Tubes </a>
|
||||
<a class="nav-link" href="<?=base_url();?>admin/dictChapters/"> <div class="sb-nav-link-icon"><i class="bi bi-journal-medical"></i></div> Dict. Chapter</a>
|
||||
<a class="nav-link" href="<?=base_url();?>admin/dictTests/"> <div class="sb-nav-link-icon"><i class="bi bi-file-medical"></i></div> Dict. Test </a>
|
||||
<a class="nav-link" href="<?=base_url();?>admin/users/"> <div class="sb-nav-link-icon"><i class="bi bi-person-circle"></i></div> Users </a>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user